Authentication and Secure Communication. Exhibit A. The First Axiom of Security. Trusted vs. Trustworthy (NSA) technology. people

Similar documents
Authentication and Secure Communication. Jeff Chase Duke University

Today. Security Technologies and Hierarchical Trust. What you really need to know, Part 1. A Short Quiz. What you really need to know, Part 2

From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design. Edition 4 Pearson Education 2005

Information Security CS 526

Data Security and Privacy. Topic 14: Authentication and Key Establishment

Overview. SSL Cryptography Overview CHAPTER 1

Chapter 4: Securing TCP connections

Cristina Nita-Rotaru. CS355: Cryptography. Lecture 17: X509. PGP. Authentication protocols. Key establishment.

Security: Focus of Control. Authentication

L13. Reviews. Rocky K. C. Chang, April 10, 2015

Lecture 30. Cryptography. Symmetric Key Cryptography. Key Exchange. Advanced Encryption Standard (AES) DES. Security April 11, 2005

Encryption. INST 346, Section 0201 April 3, 2018

Security: Focus of Control

UNIT - IV Cryptographic Hash Function 31.1

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

Cryptography (Overview)

Cryptographic Protocols 1

Security Technologies and Hierarchical Trust

CS Computer Networks 1: Authentication

Background. Network Security - Certificates, Keys and Signatures - Digital Signatures. Digital Signatures. Dr. John Keeney 3BA33

Computer Networking. What is network security? Chapter 7: Network security. Symmetric key cryptography. The language of cryptography

CS 470 Spring Security. Mike Lam, Professor. a.k.a. Why on earth do Alice and Bob need to talk so much?!? Content taken from the following:

Chapter 8. Network Security. Cryptography. Need for Security. An Introduction to Cryptography 10/7/2010

Fall 2010/Lecture 32 1

Transport Layer Security

Computer Security. 08r. Pre-exam 2 Last-minute Review Cryptography. Paul Krzyzanowski. Rutgers University. Spring 2018

CS 470 Spring Security. Mike Lam, Professor. a.k.a. Why on earth do Alice and Bob need to share so many secrets?!?

Cryptography CS 555. Topic 16: Key Management and The Need for Public Key Cryptography. CS555 Spring 2012/Topic 16 1

David Wetherall, with some slides from Radia Perlman s security lectures.

Datasäkerhetsmetoder föreläsning 7

14. Internet Security (J. Kurose)

Modern cryptography 2. CSCI 470: Web Science Keith Vertanen

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Cryptographic Checksums

CS 425 / ECE 428 Distributed Systems Fall 2017

Digital Signatures. Secure Digest Functions

Network Security Chapter 8

CS 494/594 Computer and Network Security

Crypto meets Web Security: Certificates and SSL/TLS

Chapter 8. Network Security. Need for Security. An Introduction to Cryptography. Transposition Ciphers One-Time Pads

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2010

Lecture Nov. 21 st 2006 Dan Wendlandt ISP D ISP B ISP C ISP A. Bob. Alice. Denial-of-Service. Password Cracking. Traffic.

Key Management. Digital signatures: classical and public key Classic and Public Key exchange. Handwritten Signature

Auth. Key Exchange. Dan Boneh

Computer Networks. Wenzhong Li. Nanjing University

Lecture 19: cryptographic algorithms

Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

CS 356 Internet Security Protocols. Fall 2013

CSE 3461/5461: Introduction to Computer Networking and Internet Technologies. Network Security. Presentation L

Information Security. message M. fingerprint f = H(M) one-way hash. 4/19/2006 Information Security 1

Computer Security. 10r. Recitation assignment & concept review. Paul Krzyzanowski. Rutgers University. Spring 2018

E-commerce security: SSL/TLS, SET and others. 4.1

Network Security. Chapter 8. MYcsvtu Notes.

Chapter 9: Key Management

WAP Security. Helsinki University of Technology S Security of Communication Protocols

Module: Cryptographic Protocols. Professor Patrick McDaniel Spring CMPSC443 - Introduction to Computer and Network Security

Introduction and Overview. Why CSCI 454/554?

Digital Signatures. Public-Key Signatures. Arbitrated Signatures. Digital Signatures With Encryption. Terminology. Message Authentication Code (MAC)

7.3. Cryptographic algorithms

Kurose & Ross, Chapters (5 th ed.)

Today. Security Technologies and Hierarchical Trust. Crypto Summary. The Underpinnings of Security: Encryption

Lecture 1: Course Introduction

Spring 2010: CS419 Computer Security

Real-time protocol. Chapter 16: Real-Time Communication Security

Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls

APNIC elearning: Cryptography Basics

CSCE 715: Network Systems Security

Authentication Handshakes

Issues. Separation of. Distributed system security. Security services. Security policies. Security mechanism

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2014

T Cryptography and Data Security

CSC 474/574 Information Systems Security

Internet security and privacy

Securing Internet Communication: TLS

Ref:

SEEM4540 Open Systems for E-Commerce Lecture 03 Internet Security

CSC 482/582: Computer Security. Security Protocols

Protocols, Technologies and Standards Secure network protocols for the OSI stack P2.1 WLAN Security WPA, WPA2, IEEE i, IEEE 802.1X P2.

CS 393 Network Security. Nasir Memon Polytechnic University Module 12 SSL

The World Wide Web is widely used by businesses, government agencies, and many individuals. But the Internet and the Web are extremely vulnerable to

Internet and Intranet Protocols and Applications

ח'/סיון/תשע "א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms

Security & Privacy. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents. Erik Wilde, UC Berkeley School of

Course Administration

BCA III Network security and Cryptography Examination-2016 Model Paper 1

Diffie-Hellman. Part 1 Cryptography 136

Lecture 2 Applied Cryptography (Part 2)

(2½ hours) Total Marks: 75

But where'd that extra "s" come from, and what does it mean?

CIS 6930/4930 Computer and Network Security. Topic 6.2 Authentication Protocols

CSC 774 Network Security

Transport Level Security

CIS 4360 Secure Computer Systems Applied Cryptography

Authentication and Key Distribution

Using Cryptography CMSC 414. October 16, 2017

Key Management and Distribution

Public Key Algorithms

SSL/TLS & 3D Secure. CS 470 Introduction to Applied Cryptography. Ali Aydın Selçuk. CS470, A.A.Selçuk SSL/TLS & 3DSec 1

CPSC 467b: Cryptography and Computer Security

CT30A8800 Secured communications

Transcription:

Authentication and Secure Communication Jeff Chase Duke University people technology Where are the boundaries of the system that you would like to secure? Where is the weakest link? What happens when the weakest link fails? The First Axiom of Security Security is at least as much a social problem as it is a technical problem. Translation: humans are the weak link. We will focus on the technical elements, but do not lose sight of the social dimension. Keys left in lock Phishing Executable attachments Trojan software Post-it passwords Bribes, torture, etc. Etc. Exhibit A This is a picture of a $2.5B move in the value of Emulex Corporation, in response to a fraudulent press release by short-sellers through InternetWire in 2000. The release was widely disseminated by news media as a statement from Emulex management, but media failed to authenticate it. EMLX [reproduced from clearstation.com] Humans are incapable of securely storing high-quality cryptographic keys, and they have unacceptable speed and accuracy when performing cryptographic operations. (They are also large, expensive to maintain, difficult to manage, and they pollute the environment.) It is astonishing that these devices continue to be manufactured and deployed. But they are sufficiently pervasive that we must design our protocols around their limitations. As quoted in: - Kaufman, Perlman, and Speciner Trusted vs. Trustworthy (NSA) Trusted A component that can break the security policy if it fails. ( It has power. ) Integrity cannot be verified by external observation. ( You can t tell if it breaks.) Trustworthy A component that is unlikely to fail. Trusted Computing Base (TCB) The minimal core of a computer system that is trusted, and so must be trustworthy if the system is to remain safe. 1

Questions and Answers #1 Who is the sender? Authentication Is the sender allowed to do this? Authorization Is this really what the sender said? Integrity Could anyone else have intercepted it? Privacy Questions and Answers #2 Authentication? Challenge/response: passwords, certificates A subject bound to a strong identity is a principal. Authorization? Access control lists or capabilities (ticket/token) Integrity? Message digests and digital signatures Privacy Encryption(provides integrity too) All of these require some form of a shared secret or shared trust in a third party, or both. Cryptography algorithms Security Security services Familiar names for the protagonists in security protocols Secret key (e.g., DES) Public key (e.g., RSA) Message digest (e.g., MD5) Privacy Authentication Message integrity Alice Bob Carol Dave Eve Mallory Sara First participant Second participant Participant in three- and four-party protocols Participant in four-party protocols Eavesdropper Malicious attacker A server Cryptography for Busy People Encrypt and Decrypt functions M = Decrypt(Encrypt(M) Standard and efficient enough to be practical. Crypto functions are parameterized by keys. Fixed-width random value. Everybody has their own key(s) or key pair(s). Computationally infeasible to decrypt without the key. Key length really matters. Two fundamental variants: Public-key or asymmetric crypto (e.g., RSA) Secret-key, private-key, symmetric crypto (e.g., DES) Foundation of many/all security mechanisms. Using Crypto: the Basics Privacy Attacker cannot read encrypted data. Integrity Encrypt a hash/checksum/digest of the message. Authentication Challenge-response with a nonce number used once Receiver encrypts the nonce and sends it back. Proves it possesses the matching key. Nonces can be timestamps, serial numbers, etc. to prevent replay attacks. 2

Symmetric Crypto Secret key or private key cryptography. DES, 3DES, DESX, IDEA, AES Sender and receiver must possess a shared secret Shared key K Message M, Key K {M} K = Encrypt(M, K) M = Decrypt({M} K, K) Asymmetric Crypto Sometimes called public key cryptography. Each subject/principal possesses a keypair: K -1 and K Decrypt(K, Encrypt(K -1, M)) = M Given Encrypt(K -1, M), cannot compute M without K. Given M and Encrypt(K -1, M), cannot compute K or K -1 Given x, cannot compute y such that Decrypt(K, y) = x, unless you know K -1. Each principal keeps one key private. The inverse key may be public. Either key can be used to encrypt/decrypt. Pros and Cons Symmetric crypto (DES, AES, ) Pro: cheap and easily supported by hardware Con: need a shared secret. Shared secrets are harder to keep secret. key distribution problem Asymmetric crypto (Diffie-Hellman, RSA) Con: expensive Pro: no need for a shared secret The recipient just needs to know sender s public key. Multicast or broadcast? Message storage? No problem. Solves the private-key distribution problem Con: introduces a new public-key distribution problem Figure 7.3 Cryptography notations K A K B K AB K Apriv K Apub {M}K [M] K Alice s secret key Bob s secret key Secret key shared between Alice and Bob Alice s private key (known only to Alice) Alice s public key (published by Alice for all to read) Message Mencrypted with key K Message Msigned with keyk Performance of encryption and secure digest algorithms Key size/hash size (bits) ExtrapolatedPRB optimized speed (kbytes/s) (kbytes/sec.) TEA 128 700 - DES 56 350 7746 Triple-DES 112 120 2842 IDEA 128 700 4469 RSA 512 7 - RSA 2048 1 - MD5 128 1740 62425 SHA 160 750 25162 Better Together, Part 1 Use asymmetric crypto just to handshake and establish a secret session key. Converse with the efficiency of symmetric crypto. Example: Secure Sockets Layer (SSL) or Transport-Layer Security (TLS), used in HTTPS. End-to-end security above TCP. Client SYN, etc. My public key is K. Let s establish a session key: {S} K. {M} S Server 3

SSL is not so simple How do we know who we are talking to? Do we care? Somebody does How do we prevent replays of encrypted content? SSL/TLS uses this basic handshake protocol, but there are many other aspects: Nonces, serial numbers, timestamps Hashes and MACs Certificates More on this later Secure Hash / Message Digest Well-known, standard, hash functions digest = h(m). MD5, SHA1 Very efficient to compute. Digest is a small, fixed-width quantity: i.e., it is a hash. Often called a fingerprint or cryptographic checksum. Collision-resistant There exist distinct M 1 and M 2 such that h(m 1 ) == h(m 2 ). Such collisions are hard to find. One way Given digest, cannot generate an M with h(m) == digest. Secure The digest does not help to discover any part of M. Messages with both Authenticity and Secrecy How does A send a message x to B with: Authenticity (B knows that only A could have sent it) Secrecy (A knows that only B can read the message) 1. A Transmits the following message x {{x}k A -1 }K B 2. What if x is large (performance concerns)? A transmits K A to B, B transmits K B to A A picks J A, transmits {J A }K B to B B picks J B, transmits {J B }K A to A Each computes secret key, K sk = Hash(J A, J B ) A transmits {x}k sk to B [Vahdat] Digital Signatures How can the sender/writer A of M allow any receiver to verify or prove that A sent/stored M? authenticity Digital signature using asymmetric crypto, e.g., RSA. A computes digest h(m) A computes signature {h(m)} K and appends to M. Encrypted with A s private key K. Receiver decrypts digest using A s public key K -1 Receiver computes h(m) and compares to digest. Digital signatures are unforgeable and non-repudiable. Unlike physical signatures, they are bound to a particular message or document. Legally binding in the US. Digital signatures with public keys M signed doc H(M) {h} Signing h E(K pri, h) Kpri 128 bits M {h} Kpri D(K pub,{h}) h' Verifying M h = h'? H(doc) h Low-cost signatures with a shared secret key Signing Verifying M K M K H(M+K) H(M+K) signed doc h M h h' h = h'? Message authentication code (MAC) Pro: fast Con: repudiable Con: shared secret 4

Public Key Distribution The key challenge today is public key distribution (and revocation). Approach #1: trust e-mail/web (i.e., assume DNS and IP really go where you want, and authenticate the source.) Example: PGP, GPG, pretty good or do it in person. Approach #2 : use a Public Key Infrastructure (PKI) Requires everyone to agree on a central point of trust (Certifying Authority or CA). Difficult to understand and deploy. Hierarchy helps. Approach #3: web of trust in which parties establish pairwise trust and endorse public keys of third parties. Local example: SHARP. Involves transitive trust. Certifying Public Keys Digital signatures enable any entity to endorse the (public key, identity) binding of another entity. A certificate is a special type of digitally signed document: I certify that the public key in this document belongs to the entity named in this document, signed X. Recipient must trust the issuer X, and must know the public key of X. E.g., X may be a widely trusted certifying authority (CA) whose public key is widely available. The public key of Verisign is wired into every browser. Figure 7.13 X509 Certificate format Subject Issuer Period of validity Administrativeinformation Extended Information Distinguished Name, PublicKey Distinguished Name, Signature Not BeforeDate, Not AfterDate Version, Serial Number Certificate Hierarchy or Web of Trust Chain of Trust If X certifies that a certain public key belongs to Y, and Y certifies that another public key belongs to Z, then there exists a chain of certificates from X to Z Someone that wants to verify Z s public key has to know X s public key and follow the chain X forms the root of a tree (web?) Certificate Revocation List What happens when a private key is compromised? [Vahdat] PKI Public Key Infrastructure Everyone trusts some root CAs. Sure. Institutions/organizations set up their own CAs, and the root CAs endorse them to issue certificates for their members. $$$ And so on, recursively, to form a hierarchy like DNS. Network applications will have access to the keypairs and certificates of their users, and will validate the certificates of servers. Any day now What happens https://www.consumefest.com/shop.html 5

Secure HTTP Uses SSL/TLS over TCP. Browser has some set of public keys for root CAs wired into it. Browser always authenticates the server. Server presents certificate signed by root CA. Domain name must match the certificate, etc. Server optionally requests to authenticate the browser. Browser presents certificate. Passwords authentication is much more common. Browser and server negotiate a bulk cipher and secret session key. A Short Quiz 1. What is the most important advantage of symmetric crypto (DES) relative to asymmetric crypto (RSA)? 2. What is the most important advantage of asymmetric crypto relative to symmetric crypto? 3. What is the most important limitation/challenge for asymmetric crypto with respect to security? 4. Why does SSL change ciphers during the handshake? 5. How does SSL solve the key distribution problem for symmetric crypto? 6. Is key exchange vulnerable to man-in-the-middle attacks? Handshake Protocol Structure C ClientHello [Certificate], ClientKeyExchange, [CertificateVerify] switch to negotiated cipher Finished ServerHello, [Certificate], [ServerKeyExchange], [CertificateRequest], ServerHelloDone switch to negotiated cipher Finished S Figure 7.18 SSL handshake protocol Establish protocol version, session ID, ClientHello cipher suite, compression method, ServerHello exchange random values Certificate Optionally send server certificate and Certificate Request request client certificate ServerHelloDone Client Certificate Server Send client certificate response if Certificate Verify requested Change Cipher Spec Change cipher suite and finish Finished handshake Change Cipher Spec Finished Figure 7.17 SSL protocol stack SSL Handshake SSL Change SSL Alert Cipher Spec Protocol protocol SSL protocols: HTTP SSL Record Protocol Telnet Transport layer (usually TCP) Network layer (usually IP) Other protocols: Figure 7.19 SSL handshake configuration options Component Description Example Key exchange method Cipher for data transfer Message digest function the method to be used for exchange of a session key the block or stream cipher to beidea used for data for creating message authentication codes (MACs) RSA with public-key certificates SHA 6

OpenSSH Uses SSL User s public key installed on host side Host s public key installed on client side Or Kerberos SSL Questions How do SSL endpoints verify the integrity of certificates (IDs)? Does s-http guarantee non-repudiation for electronic transactions? Why/how or why not? Does SSL guarantee security of (say) credit numbers in electronic commerce? More PKI "Using encryption on the Internet is the equivalent of arranging an armored car to deliver credit-card information from someone living in a cardboard box to someone living on a park bench" - Gene Spafford, CERIAS @ Purdue (Public key) infrastructures Many organizations now have set up their own Many have not (e.g., Duke) Public (key infrastructure) Still elusive Failure of Secure Electronic Transactions (SET) 7

PGP Pretty Good Privacy Each user has an asymmetric keypair Secure e-mail, possibly with multiple receivers Digitally sign message with your private key. Encrypt message and signature with random session key. Append session key encrypted with public key of each intended recipient. Users may sign/endorse each other s public keys and endorsements. Should this be illegal? Zimmerman case, 1993 What happens https://www.library.duke.edu Kerberos 101 Secure end-to-end communication (like SSL) But always authenticates both ends Trusted authentication server (like SSL) But requires synchronous interaction with AS Symmetric crypto only No RSA, no certificates, no PKI. (Actually, webauth uses a certificate to authenticate the authentication server.) A form of single sign-on Only have to type your password to the AS Based on Needham-Schroeder key distribution Simple shared-secret based cryptographic authentication Add mutual authentication Problems with this scheme Generalizing the model for m users and n services, requires a priori distribution of m x n shared keys Possible improvement: Use trusted 3rd party, with which each user and service shares a secret key: m + n keys Also has important security advantages 8

Mediated Authentication A trusted third party mediates authentication Called the Key Distribution Center (KDC) akaauthentication Server Each user and service shares a secret key with the KDC KDC generates a session key, and securely distributes it to communicating parties Communicating parties prove to each other that they know the session key Mediated Authentication Mediated Authentication Kerberos (almost) Kerberos (roughly) 9

Kerberos (detailed) Needham-Schroeder Protocol Each user and service registers a secret key with the KDC Everyone trusts the KDC Put all your eggs in one basket, and then watch that basket very carefully - Anonymous Mark Twain The user s key is derived from a password, by applying a hash function The service key is a large random number, and stored on the server [Provided for completeness] Mediated Authentication Don t Forget Nomenclature: K a = Master key for alice, shared by alice and the KDC K ab = Session key shared by alice and bob T b = Ticket to use bob K{data} = data encrypted with key K 1. All of this relies on various fragile assumptions about people and communities. Security technology only works if people use it. Find the weakest link in the end-to-end chain. Compromised key? All bets are off. Beware false sense of security! (E.g., WEP) 2. Design for easy, incremental, organic deployment. What layer? IPSEC or VPN vs. TLS 3. Understand full range of potential attacks. Man-in-middle, replays and nonces, challenge/response Useful model to guide analysis: logic of belief (BAN) Figure 7.20 SSL record protocol Application data abcdefghi Fragment/combine Record protocol units abc def ghi Compressed units MAC Encrypted TCP packet Compress Hash Encrypt Transmit [Provided for completeness] PKI: The Concept Verisign duke washington unc cs mc cs env cs Etc. chase Verisign (or Thawte, etc.) issues certificate signing keys to organizations. 10