and Web Security

Similar documents
and Web Security

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

Chapter 4: Securing TCP connections

Transport Layer Security

Transport Level Security

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

CSE 565 Computer Security Fall 2018

Cryptography SSL/TLS. Network Security Workshop. 3-5 October 2017 Port Moresby, Papua New Guinea

Chapter 8 Web Security

Information Security CS 526

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

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

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

Overview of SSL/TLS. Luke Anderson. 12 th May University Of Sydney.

Key Management and Distribution

Introduction and Overview. Why CSCI 454/554?

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

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

Public Key Infrastructure

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

Overview. SSL Cryptography Overview CHAPTER 1

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

Princess Nora Bint Abdulrahman University College of computer and information sciences Networks department Networks Security (NET 536)

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

Datasäkerhetsmetoder föreläsning 7

Securing Internet Communication: TLS

Crypto meets Web Security: Certificates and SSL/TLS

Public-Key Infrastructure NETS E2008

6 Public Key Infrastructure 6.1 Certificates Structure of an X.509 certificate X.500 Distinguished Name and X.509v3 subjectalternativename

Internet security and privacy

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

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

Digital Certificates Demystified

Distributed Systems. 25. Authentication Paul Krzyzanowski. Rutgers University. Fall 2018

TLS. RFC2246: The TLS Protocol. (c) A. Mariën -

Protocols II. Computer Security Lecture 12. David Aspinall. 17th February School of Informatics University of Edinburgh

ICS 180 May 4th, Guest Lecturer: Einar Mykletun

Universität Hamburg. SSL & Company. Fachbereich Informatik SVS Sicherheit in Verteilten Systemen. Security in TCP/IP. UH, FB Inf, SVS, 18-Okt-04 2

Public Key Infrastructure. What can it do for you?

Secure Socket Layer. Security Threat Classifications

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

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

CS Computer Networks 1: Authentication

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

Lecture 13. Public Key Distribution (certification) PK-based Needham-Schroeder TTP. 3. [N a, A] PKb 6. [N a, N b ] PKa. 7.

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

Cryptography (Overview)

CSCE 715: Network Systems Security

CS November 2018

14. Internet Security (J. Kurose)

Security: Focus of Control. Authentication

Public Key Cryptography, OpenPGP, and Enigmail. 31/5/ Geek Girls Carrffots GVA

Security issues: Encryption algorithms. Threats Methods of attack. Secret-key Public-key Hybrid protocols. CS550: Distributed OS.

Security Protocols. Professor Patrick McDaniel CSE545 - Advanced Network Security Spring CSE545 - Advanced Network Security - Professor McDaniel

Cryptography and Network Security. Sixth Edition by William Stallings

Information Security & Privacy

Understand the TLS handshake Understand client/server authentication in TLS. Understand session resumption Understand the limitations of TLS

Cryptography and Network Security

Chapter 8 Network Security

INF3510 Information Security University of Oslo Spring Lecture 3 Key Management and PKI. Audun Jøsang

Encryption. INST 346, Section 0201 April 3, 2018

Lecture 4: Cryptography III; Security. Course Administration

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

Principles of Information Security, Fourth Edition. Chapter 8 Cryptography

Securing Internet Communication

COSC 301 Network Management. Lecture 15: SSL/TLS and HTTPS

Security: Focus of Control

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

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

Lecture 15 Public Key Distribution (certification)

Key management. Pretty Good Privacy

Pretty Good Privacy (PGP

Cryptography and Network Security

key distribution requirements for public key algorithms asymmetric (or public) key algorithms

Introduction to Network Security Missouri S&T University CPE 5420 Key Management and Distribution

CS 356 Internet Security Protocols. Fall 2013

Glenda Whitbeck Global Computing Security Architect Spirit AeroSystems

Telemetry Data Sharing Using S/MIME

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

Acknowledgments. CSE565: Computer Security Lectures 16 & 17 Authentication & Applications

Kurose & Ross, Chapters (5 th ed.)

INF3510 Information Security University of Oslo Spring Lecture 9 Communication Security. Audun Jøsang

ECE 646 Lecture 3. Key management

User Authentication Principles and Methods

Configuring SSL. SSL Overview CHAPTER

Configuring SSL CHAPTER

Network Security. Chapter 8. MYcsvtu Notes.

Configuring SSL. SSL Overview CHAPTER

SEEM4540 Open Systems for E-Commerce Lecture 03 Internet Security

SSL/TLS. Pehr Söderman Natsak08/DD2495

Cryptography & Key Exchange Protocols. Faculty of Computer Science & Engineering HCMC University of Technology

Modern cryptography 2. CSCI 470: Web Science Keith Vertanen

Course Administration

Network Security Chapter 8

TLS1.2 IS DEAD BE READY FOR TLS1.3

IBM i Version 7.2. Security Digital Certificate Manager IBM

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

Acronyms. International Organization for Standardization International Telecommunication Union ITU Telecommunication Standardization Sector

Security Digital Certificate Manager

COMPUTER SECURITY. Computer Security Secure Communication Channels (2)

Transcription:

Email and Web Security Computer Security Lecture 15 David Aspinall School of Informatics University of Edinburgh 3rd March 2008

Outline Secure Email: PGP and S/MIME Issues of trust Web security: transport X.509

Outline Secure Email: PGP and S/MIME Issues of trust Web security: transport X.509

Email infrastructure security Email, the first widely available Internet service, has a very simple backbone. SMTP (Simple Mail Transport Protocol) uses plain-text commands in a telnet session, with little or no authentication.

Email infrastructure security Email, the first widely available Internet service, has a very simple backbone. SMTP (Simple Mail Transport Protocol) uses plain-text commands in a telnet session, with little or no authentication. This is the reason that email is trivially forgeable. Moreover, most email is sent as plaintext which provides no confidentiality.

Email infrastructure security Email, the first widely available Internet service, has a very simple backbone. SMTP (Simple Mail Transport Protocol) uses plain-text commands in a telnet session, with little or no authentication. This is the reason that email is trivially forgeable. Moreover, most email is sent as plaintext which provides no confidentiality. Server attacks. Sending spam through open relays (accept mail from anywhere), also gaining access to systems. Most infamous is sendmail, which allowed command execution: exploited by Morris Internet Worm in 1988.

Email infrastructure security Email, the first widely available Internet service, has a very simple backbone. SMTP (Simple Mail Transport Protocol) uses plain-text commands in a telnet session, with little or no authentication. This is the reason that email is trivially forgeable. Moreover, most email is sent as plaintext which provides no confidentiality. Server attacks. Sending spam through open relays (accept mail from anywhere), also gaining access to systems. Most infamous is sendmail, which allowed command execution: exploited by Morris Internet Worm in 1988.

Email infrastructure security Email, the first widely available Internet service, has a very simple backbone. SMTP (Simple Mail Transport Protocol) uses plain-text commands in a telnet session, with little or no authentication. This is the reason that email is trivially forgeable. Moreover, most email is sent as plaintext which provides no confidentiality. Server attacks. Sending spam through open relays (accept mail from anywhere), also gaining access to systems. Most infamous is sendmail, which allowed command execution: exploited by Morris Internet Worm in 1988. Solutions: run server in restricted environment; use application gateway. Client attacks. Plain text poses no direct threat. Many virus warnings (e.g., Good Times ) are hoaxes or themselves the virus. But macro languages and active content have led to

Secure Email Two good PK models supported by email applications: S/MIME (Secure Multipurpose Internet Mail Extension) and PGP (Pretty Good Privacy). Many less-good mechanisms.

Secure Email Two good PK models supported by email applications: S/MIME (Secure Multipurpose Internet Mail Extension) and PGP (Pretty Good Privacy). Many less-good mechanisms. Same general technique: A B : { M } K, }{{} encrypted message { K } Kb, }{{} encrypted session key S A (h(m)) }{{} digital signature Alice makes one-time session key K and encrypts email M with it. She encrypts the session key with Bob s public key K b (sometimes called a digital envelope). Optionally, she includes a signature, by signing a hash of the message h(m) and a timestamp T. Sometimes { M, T } K is sent (replay).

Secure Email Two good PK models supported by email applications: S/MIME (Secure Multipurpose Internet Mail Extension) and PGP (Pretty Good Privacy). Many less-good mechanisms. Same general technique: A B : { M } K, }{{} encrypted message { K } Kb, }{{} encrypted session key S A (h(m)) }{{} digital signature Alice makes one-time session key K and encrypts email M with it. She encrypts the session key with Bob s public key K b (sometimes called a digital envelope). Optionally, she includes a signature, by signing a hash of the message h(m) and a timestamp T. Sometimes { M, T } K is sent (replay). For multiple recipients include multiple envelopes.

S/MIME Newer than PGP, but standardization began sooner, in RSA labs. Built into email clients of Netscape and Microsoft, amongst others.

S/MIME Newer than PGP, but standardization began sooner, in RSA labs. Built into email clients of Netscape and Microsoft, amongst others. S/MIME uses X.509 personal certificates, signed by a certification authority, using a trust hierarchy model. Usually certs cost money.

S/MIME Newer than PGP, but standardization began sooner, in RSA labs. Built into email clients of Netscape and Microsoft, amongst others. S/MIME uses X.509 personal certificates, signed by a certification authority, using a trust hierarchy model. Usually certs cost money. S/MIME uses the same PKI (Public Key Infrastructure) as SSL. Integrated email clients of web browsers implement it hand-in-hand.

S/MIME Newer than PGP, but standardization began sooner, in RSA labs. Built into email clients of Netscape and Microsoft, amongst others. S/MIME uses X.509 personal certificates, signed by a certification authority, using a trust hierarchy model. Usually certs cost money. S/MIME uses the same PKI (Public Key Infrastructure) as SSL. Integrated email clients of web browsers implement it hand-in-hand. Organisations can implement their own internal private, or better, closed PKIs.

S/MIME Newer than PGP, but standardization began sooner, in RSA labs. Built into email clients of Netscape and Microsoft, amongst others. S/MIME uses X.509 personal certificates, signed by a certification authority, using a trust hierarchy model. Usually certs cost money. S/MIME uses the same PKI (Public Key Infrastructure) as SSL. Integrated email clients of web browsers implement it hand-in-hand. Organisations can implement their own internal private, or better, closed PKIs. Pros: same infrastructure as SSL, use of hierarchical trust model more appropriate in some circumstances. Cons: implementations less scrutinized than PGP; files perhaps larger.

S/MIME Newer than PGP, but standardization began sooner, in RSA labs. Built into email clients of Netscape and Microsoft, amongst others. S/MIME uses X.509 personal certificates, signed by a certification authority, using a trust hierarchy model. Usually certs cost money. S/MIME uses the same PKI (Public Key Infrastructure) as SSL. Integrated email clients of web browsers implement it hand-in-hand. Organisations can implement their own internal private, or better, closed PKIs. Pros: same infrastructure as SSL, use of hierarchical trust model more appropriate in some circumstances. Cons: implementations less scrutinized than PGP; files perhaps larger. Has open source implementation in the OpenSSL Project. See Mozilla s PKI page for details of other open-source PKI software.

PGP PGP has a venerable history. Invented by Phil Zimmerman in 1991, strong believer in privacy rights. Made available as freeware. Source code published in a book in 1995 to circumvent US export restrictions: a team used OCR to reconstruct an international version of the program, PGPI.

PGP PGP has a venerable history. Invented by Phil Zimmerman in 1991, strong believer in privacy rights. Made available as freeware. Source code published in a book in 1995 to circumvent US export restrictions: a team used OCR to reconstruct an international version of the program, PGPI. PGP has plugins for Outlook Express and other email clients. Crypto specs and file formats are now standardised in OpenPGP, a developer consortium and IETF Working Group [RFC 2440].

PGP PGP has a venerable history. Invented by Phil Zimmerman in 1991, strong believer in privacy rights. Made available as freeware. Source code published in a book in 1995 to circumvent US export restrictions: a team used OCR to reconstruct an international version of the program, PGPI. PGP has plugins for Outlook Express and other email clients. Crypto specs and file formats are now standardised in OpenPGP, a developer consortium and IETF Working Group [RFC 2440]. OpenPGP public keys are hosted on a network of PGP keyservers, and can be countersigned, using PGP s web-of-trust model, without TTPs.

PGP PGP has a venerable history. Invented by Phil Zimmerman in 1991, strong believer in privacy rights. Made available as freeware. Source code published in a book in 1995 to circumvent US export restrictions: a team used OCR to reconstruct an international version of the program, PGPI. PGP has plugins for Outlook Express and other email clients. Crypto specs and file formats are now standardised in OpenPGP, a developer consortium and IETF Working Group [RFC 2440]. OpenPGP public keys are hosted on a network of PGP keyservers, and can be countersigned, using PGP s web-of-trust model, without TTPs. Messages in OpenPGP (ASCII) and PGP/MIME.

PGP PGP has a venerable history. Invented by Phil Zimmerman in 1991, strong believer in privacy rights. Made available as freeware. Source code published in a book in 1995 to circumvent US export restrictions: a team used OCR to reconstruct an international version of the program, PGPI. PGP has plugins for Outlook Express and other email clients. Crypto specs and file formats are now standardised in OpenPGP, a developer consortium and IETF Working Group [RFC 2440]. OpenPGP public keys are hosted on a network of PGP keyservers, and can be countersigned, using PGP s web-of-trust model, without TTPs. Messages in OpenPGP (ASCII) and PGP/MIME. Pros: open source code scrutinized for years; not limited to email. Some PGP products have NIST security certification. Cons: trust model not suited to commercial application.

Outline Secure Email: PGP and S/MIME Issues of trust Web security: transport X.509

Trust Structures Hieararchy of trust

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in. Revocation is by CA-supplied Certificate Revocation Lists (CRLs), cf. credit card hot-lists. Emerging alternative is Online Certificate Status Protocol (OCSP) for real-time checks.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in. Revocation is by CA-supplied Certificate Revocation Lists (CRLs), cf. credit card hot-lists. Emerging alternative is Online Certificate Status Protocol (OCSP) for real-time checks.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in. Revocation is by CA-supplied Certificate Revocation Lists (CRLs), cf. credit card hot-lists. Emerging alternative is Online Certificate Status Protocol (OCSP) for real-time checks. PGP Web of Trust Individuals assign trust values to public keys by signing them.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in. Revocation is by CA-supplied Certificate Revocation Lists (CRLs), cf. credit card hot-lists. Emerging alternative is Online Certificate Status Protocol (OCSP) for real-time checks. PGP Web of Trust Individuals assign trust values to public keys by signing them. Should users allow transitive trust? Maybe yes, maybe no: global advantage in trust spread widely, but risk as it gets further away.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in. Revocation is by CA-supplied Certificate Revocation Lists (CRLs), cf. credit card hot-lists. Emerging alternative is Online Certificate Status Protocol (OCSP) for real-time checks. PGP Web of Trust Individuals assign trust values to public keys by signing them. Should users allow transitive trust? Maybe yes, maybe no: global advantage in trust spread widely, but risk as it gets further away. Signing: social contract and PGP signing parties.

Trust Structures Hieararchy of trust Original PEM (Privacy Enhanced Mail) project planned a single hierarchy with the (Internet Policy Registration Authority) at its root. This didn t happen. Instead, a forest of CAs evolved. Browsers have certificates of many root CAs built-in. Revocation is by CA-supplied Certificate Revocation Lists (CRLs), cf. credit card hot-lists. Emerging alternative is Online Certificate Status Protocol (OCSP) for real-time checks. PGP Web of Trust Individuals assign trust values to public keys by signing them. Should users allow transitive trust? Maybe yes, maybe no: global advantage in trust spread widely, but risk as it gets further away. Signing: social contract and PGP signing parties. Revocation is by owner issuing a revocation certificate, to revoke a signature on a key.

Hierarchy of Trust

Web of Trust See http://www.rubin.ch/pgp/weboftrust.en.html

Other points of trust Many interface issues.

Other points of trust Many interface issues. Is your sent (or received) encrypted mail stored locally unencrypted or encrypted? (If the latter, you must be on the recipient list to decrypt it!)

Other points of trust Many interface issues. Is your sent (or received) encrypted mail stored locally unencrypted or encrypted? (If the latter, you must be on the recipient list to decrypt it!) How are your private keys stored? Are they protected? Can they be extracted and shared with other applications?

Other points of trust Many interface issues. Is your sent (or received) encrypted mail stored locally unencrypted or encrypted? (If the latter, you must be on the recipient list to decrypt it!) How are your private keys stored? Are they protected? Can they be extracted and shared with other applications? The browser and mail client implementations are critical: they are trusted to invoke the crypto operations securely, as claimed.

Other points of trust Many interface issues. Is your sent (or received) encrypted mail stored locally unencrypted or encrypted? (If the latter, you must be on the recipient list to decrypt it!) How are your private keys stored? Are they protected? Can they be extracted and shared with other applications? The browser and mail client implementations are critical: they are trusted to invoke the crypto operations securely, as claimed. Revocation check: ideally, email client ought to allow CRL or key-server check to see if a public key has been revoked.

Outline Secure Email: PGP and S/MIME Issues of trust Web security: transport X.509

SSL/TLS The SSL (Secure Sockets Layer) protocol provides security on top of the TCP/IP transport layer, below application-specific protocols. Each connection needs a dedicated TCP/IP socket. But each SSL session can allow multiple underlying connections (reduces keying overhead).

SSL/TLS The SSL (Secure Sockets Layer) protocol provides security on top of the TCP/IP transport layer, below application-specific protocols. Each connection needs a dedicated TCP/IP socket. But each SSL session can allow multiple underlying connections (reduces keying overhead). Provides authentication, confidentiality, integrity. Also has built-in data compression. Layers: handshake protocol and record protocol.

SSL/TLS The SSL (Secure Sockets Layer) protocol provides security on top of the TCP/IP transport layer, below application-specific protocols. Each connection needs a dedicated TCP/IP socket. But each SSL session can allow multiple underlying connections (reduces keying overhead). Provides authentication, confidentiality, integrity. Also has built-in data compression. Layers: handshake protocol and record protocol. Commonly used on web for secure communications with a web server, in the http-over-ssl https protocol. Usually TCP port 443 on the server.

SSL/TLS The SSL (Secure Sockets Layer) protocol provides security on top of the TCP/IP transport layer, below application-specific protocols. Each connection needs a dedicated TCP/IP socket. But each SSL session can allow multiple underlying connections (reduces keying overhead). Provides authentication, confidentiality, integrity. Also has built-in data compression. Layers: handshake protocol and record protocol. Commonly used on web for secure communications with a web server, in the http-over-ssl https protocol. Usually TCP port 443 on the server. In https, everything is encrypted (URL requested, HTTP header, form contents, cookies, as well as web page itself). Only thing undisguised is connection to particular server.

SSL/TLS The SSL (Secure Sockets Layer) protocol provides security on top of the TCP/IP transport layer, below application-specific protocols. Each connection needs a dedicated TCP/IP socket. But each SSL session can allow multiple underlying connections (reduces keying overhead). Provides authentication, confidentiality, integrity. Also has built-in data compression. Layers: handshake protocol and record protocol. Commonly used on web for secure communications with a web server, in the http-over-ssl https protocol. Usually TCP port 443 on the server. In https, everything is encrypted (URL requested, HTTP header, form contents, cookies, as well as web page itself). Only thing undisguised is connection to particular server. Numerous other SSL-enhanced protocols also take advantage of SSL (SSLtelnet, SSLftp, stunnel).

SSL History Introduced 1994 by Netscape Navigator (major selling point).

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk.

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk. Microsoft s competing attempt PCT was introduced in first version of Internet Explorer. MS backed down after release of SSLv3.

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk. Microsoft s competing attempt PCT was introduced in first version of Internet Explorer. MS backed down after release of SSLv3. Versions of SSL:

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk. Microsoft s competing attempt PCT was introduced in first version of Internet Explorer. MS backed down after release of SSLv3. Versions of SSL: SSL v1 used internally in Netscape (flawed)

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk. Microsoft s competing attempt PCT was introduced in first version of Internet Explorer. MS backed down after release of SSLv3. Versions of SSL: SSL v1 used internally in Netscape (flawed) SSL v2 in Navigator 1.0 2.x. Had MIM attacks, buggy random number generators. 40-bit encryption was broken.

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk. Microsoft s competing attempt PCT was introduced in first version of Internet Explorer. MS backed down after release of SSLv3. Versions of SSL: SSL v1 used internally in Netscape (flawed) SSL v2 in Navigator 1.0 2.x. Had MIM attacks, buggy random number generators. 40-bit encryption was broken. SSL v3, 1996. Navigator 3.0, IE 3.0. Added fixes and more features, including Diffie-Hellman anonymous key-exchange.

SSL History Introduced 1994 by Netscape Navigator (major selling point). Competing S-HTTP launched at same time by CommerceNet group. S-HTTP designed to work with Web only. Initially had to be purchased in modified NCSA Mosaic. S-HTTP sunk. Microsoft s competing attempt PCT was introduced in first version of Internet Explorer. MS backed down after release of SSLv3. Versions of SSL: SSL v1 used internally in Netscape (flawed) SSL v2 in Navigator 1.0 2.x. Had MIM attacks, buggy random number generators. 40-bit encryption was broken. SSL v3, 1996. Navigator 3.0, IE 3.0. Added fixes and more features, including Diffie-Hellman anonymous key-exchange. TLS v1, 1999. Close to SSLv3.

SSL cipher suites Client and server negotiate a cipher suite. Details of possibilities depend on version of SSL, as well as which suites supported by client or server. Authentication v2 RSA public keys & X.509 certificates v3 anonymous Diffie-Hellman key-exchange Encryption v2 40-bit RC2, RC4 ( export grade ) v3 56-bit DES-CBC, 128-bit RC2, RC4, 3DES CBC 168-bit MAC v2 MD5 v3 SHA Some browsers let you specify which of their supported cipher suites you re willing to use. The IETF working group are looking at future extensions for TLS, including supporting the use of OpenPGP keys as well as X.509 certificates.

SSL handshake protocol outline I Three phases: hello, key agreement, authentication. 1. Client hello. A S: A, A#, N a, CipherPreferences 2. Server hello. S A: S, S#, N s, CipherChoice 3. Server certificate. S A: S, CS 4. Pre-master secret. A S: { K 0 } Ks 5. Client finished. A S: { Finished, MAC(K 1, DataSoFar) } Kas 6. Server finished. S A: { Finished, MAC(K 1, DataSoFar) } Ksa Commentary: 1. Client hello: Alice sends name, session ID, nonce, cipher prefs.

SSL handshake protocol outline I Three phases: hello, key agreement, authentication. 1. Client hello. A S: A, A#, N a, CipherPreferences 2. Server hello. S A: S, S#, N s, CipherChoice 3. Server certificate. S A: S, CS 4. Pre-master secret. A S: { K 0 } Ks 5. Client finished. A S: { Finished, MAC(K 1, DataSoFar) } Kas 6. Server finished. S A: { Finished, MAC(K 1, DataSoFar) } Ksa Commentary: 1. Client hello: Alice sends name, session ID, nonce, cipher prefs. 2. Server hello: server choose best cipher suite, sends own data.

SSL handshake protocol outline I Three phases: hello, key agreement, authentication. 1. Client hello. A S: A, A#, N a, CipherPreferences 2. Server hello. S A: S, S#, N s, CipherChoice 3. Server certificate. S A: S, CS 4. Pre-master secret. A S: { K 0 } Ks 5. Client finished. A S: { Finished, MAC(K 1, DataSoFar) } Kas 6. Server finished. S A: { Finished, MAC(K 1, DataSoFar) } Ksa Commentary: 1. Client hello: Alice sends name, session ID, nonce, cipher prefs. 2. Server hello: server choose best cipher suite, sends own data. 3. Server sends certificate CS with public key, which Alice can check. (Server may ask Alice for certificate here, or may choose anonymity)

SSL handshake protocol outline II Three phases: hello, key agreement, authentication. 1. Client hello. A S: A, A#, N a, CipherPreferences 2. Server hello. S A: S, S#, N s, CipherChoice 3. Server certificate. S A: S, CS 4. Pre-master secret. A S: { K 0 } Ks 5. Client finished. A S: { Finished, MAC(K 1, DataSoFar) } Kas 6. Server finished. S A: { Finished, MAC(K 1, DataSoFar) } Ksa Commentary: 4 Alice computes a 48-byte pre-master secret key K 0, which sends to the server encrypted under the server s public key.

SSL handshake protocol outline II Three phases: hello, key agreement, authentication. 1. Client hello. A S: A, A#, N a, CipherPreferences 2. Server hello. S A: S, S#, N s, CipherChoice 3. Server certificate. S A: S, CS 4. Pre-master secret. A S: { K 0 } Ks 5. Client finished. A S: { Finished, MAC(K 1, DataSoFar) } Kas 6. Server finished. S A: { Finished, MAC(K 1, DataSoFar) } Ksa Commentary: 4 Alice computes a 48-byte pre-master secret key K 0, which sends to the server encrypted under the server s public key. 5,6 Alice and server each compute six shared secrets, 3 for each direction. First, K 1 = h(k 0, N a, N s ) is the master secret. Then K as and K sa are the symmetric cipher secret keys (e.g., DES keys) used for encryption thereafter. The second key is used for the MAC. The third key is an IV used to initialize the symmetric cipher.

SSL handshake protocol outline III The handshake protocol establishes an SSL session; Alternatively, it allows resumption of an on-going session in the first step, if Alice s session id A# is non-zero and the server agrees to resume the session by responding with the same value. This allows both resuming an SSL communication and opening another connection without undergoing key-exchange and authentication again.

Outline Secure Email: PGP and S/MIME Issues of trust Web security: transport X.509

X.509 Standard X.509 is an ITU standard (International Telecoms Union, formerly the CCITT), part of the X.500 series which specifies a directory service. X.509 specifies a PKI. Version 3 published 1997.

X.509 Standard X.509 is an ITU standard (International Telecoms Union, formerly the CCITT), part of the X.500 series which specifies a directory service. Recommendation X.509 OSI The Directory: Authentication Framework. X.509 specifies a PKI. Version 3 published 1997.

X.509 Standard X.509 is an ITU standard (International Telecoms Union, formerly the CCITT), part of the X.500 series which specifies a directory service. Recommendation X.509 OSI The Directory: Authentication Framework. X.509 specifies a PKI. Version 3 published 1997. X.509 certificates have a specification in ASN.1, but it s open to some interpretation. This has lead to various profiles which pin down some of the choices.

X.509 Standard X.509 is an ITU standard (International Telecoms Union, formerly the CCITT), part of the X.500 series which specifies a directory service. Recommendation X.509 OSI The Directory: Authentication Framework. X.509 specifies a PKI. Version 3 published 1997. X.509 certificates have a specification in ASN.1, but it s open to some interpretation. This has lead to various profiles which pin down some of the choices. Examples of profiles: US Federal PKI, various other governments, and IETF PKIX.

X.509 Standard X.509 is an ITU standard (International Telecoms Union, formerly the CCITT), part of the X.500 series which specifies a directory service. Recommendation X.509 OSI The Directory: Authentication Framework. X.509 specifies a PKI. Version 3 published 1997. X.509 certificates have a specification in ASN.1, but it s open to some interpretation. This has lead to various profiles which pin down some of the choices. Examples of profiles: US Federal PKI, various other governments, and IETF PKIX. PKIX is used for S/MIME and SSL. See

X.509 Standard X.509 is an ITU standard (International Telecoms Union, formerly the CCITT), part of the X.500 series which specifies a directory service. Recommendation X.509 OSI The Directory: Authentication Framework. X.509 specifies a PKI. Version 3 published 1997. X.509 certificates have a specification in ASN.1, but it s open to some interpretation. This has lead to various profiles which pin down some of the choices. Examples of profiles: US Federal PKI, various other governments, and IETF PKIX. PKIX is used for S/MIME and SSL. See http://www.ietf.org/html.charters/ pkix-charter.html

PKIX Distinguished names An X.500 distinguished name (DN) is a list of specific names each with an attribute, which specifies a path through an X.500 directory.

PKIX Distinguished names An X.500 distinguished name (DN) is a list of specific names each with an attribute, which specifies a path through an X.500 directory. X.500 presumed every subject in the world would have a globally unique DN. Not practical in reality: no single entity is trusted by everybody (one of the reasons PEM failed). In PKIX, names have local scope (like DNS names and IP numbers).

PKIX Distinguished names An X.500 distinguished name (DN) is a list of specific names each with an attribute, which specifies a path through an X.500 directory. X.500 presumed every subject in the world would have a globally unique DN. Not practical in reality: no single entity is trusted by everybody (one of the reasons PEM failed). In PKIX, names have local scope (like DNS names and IP numbers). Standard attribute types are defined in X.520, PKIX requires that implementations handle some, e.g.: common name organizational unit organization state or province name country I am represented as CN=David Aspinall, OU=School of Informatics, O=University of Edinburgh, C=Scotland UK.

X.509 Certificates X.509 certificates have 10 fields: version v1, v2, or v3 serial number unique amongst certificates issued by a CA signature alg ID identifies signature algorithm issuer X.500 DN validity [start,end] times in UTC (2 digit yr) / generalised time. subject X.500 DN PK info algorithm, parameters and key material issuer ID bitstream added in v2 to uniquify names (in case of DN reuse) subject ID ditto extensions added in v3, various extra information signature value the signature proper: signed hash of fields 1 to 10 Official field name of signature value is Encrypted

RSA PKCS Proto-Standards In an effort to foster interoperability of cryptographic software, and push for standardizations, RSA Labs instigated their own series of standards, mostly concerned with file formats for cryptographic information. Some of these are now internet drafts. PKCS #6 PKCS #7 PKCS #10 PKCS #9 Extended Certificate Syntax Standard a superset of X.509 format Cryptographic Message Syntax Standard message formats including digitally signed messages derived from PEM and S/MIME. Certification Request Syntax Standard Selected Object Classes & Attribute Types Lists the X.509 extensions used in PKCS #6, #10 These formats are widely used, e.g., for the interchange representations of certificates, certificate requests used by web browsers.

Future: Identifier-based PKs? PKIs of either trust model involve vast and unwieldy chains of trust and certifications. Big expense to set up and maintain, effort to retrieve certificates before communications, and verify trust chains.

Future: Identifier-based PKs? PKIs of either trust model involve vast and unwieldy chains of trust and certifications. Big expense to set up and maintain, effort to retrieve certificates before communications, and verify trust chains. Dream future: Identifier-based PKC. A public key is derived from a user s identifying information: Bob s public key is derived from his e-mail address, for example. Certification implicit.

Future: Identifier-based PKs? PKIs of either trust model involve vast and unwieldy chains of trust and certifications. Big expense to set up and maintain, effort to retrieve certificates before communications, and verify trust chains. Dream future: Identifier-based PKC. A public key is derived from a user s identifying information: Bob s public key is derived from his e-mail address, for example. Certification implicit. To read messages, Bob must verify his identity (once) to an authority to obtain the private key corresponding to his public key.

Future: Identifier-based PKs? PKIs of either trust model involve vast and unwieldy chains of trust and certifications. Big expense to set up and maintain, effort to retrieve certificates before communications, and verify trust chains. Dream future: Identifier-based PKC. A public key is derived from a user s identifying information: Bob s public key is derived from his e-mail address, for example. Certification implicit. To read messages, Bob must verify his identity (once) to an authority to obtain the private key corresponding to his public key. Big advantage: no need to fetch public key securely or check a trust chain. The relationship between public-private key pairs is based on a secret held by the authority that issues private keys.

Future: Identifier-based PKs? PKIs of either trust model involve vast and unwieldy chains of trust and certifications. Big expense to set up and maintain, effort to retrieve certificates before communications, and verify trust chains. Dream future: Identifier-based PKC. A public key is derived from a user s identifying information: Bob s public key is derived from his e-mail address, for example. Certification implicit. To read messages, Bob must verify his identity (once) to an authority to obtain the private key corresponding to his public key. Big advantage: no need to fetch public key securely or check a trust chain. The relationship between public-private key pairs is based on a secret held by the authority that issues private keys. For more, see CESG s ideas on ID-PKC at: along with their pilot for HMG PKI...

Future: Identifier-based PKs? PKIs of either trust model involve vast and unwieldy chains of trust and certifications. Big expense to set up and maintain, effort to retrieve certificates before communications, and verify trust chains. Dream future: Identifier-based PKC. A public key is derived from a user s identifying information: Bob s public key is derived from his e-mail address, for example. Certification implicit. To read messages, Bob must verify his identity (once) to an authority to obtain the private key corresponding to his public key. Big advantage: no need to fetch public key securely or check a trust chain. The relationship between public-private key pairs is based on a secret held by the authority that issues private keys. For more, see CESG s ideas on ID-PKC at: http://www.cesg.gov.uk/site/ast along with their pilot for HMG PKI...

References Jalal Feghhi, Jalil Feghhi, and Peter Williams. Digital Certificates Applied Internet Security. Addison-Wesley, 1999. Aviel Rubin, Daniel Geer, and Marcus J Ranum. Web Security Sourcebook. John Wiley & Sons, 1997. Lincoln D Stein. Web Security A Step-by-Step Reference Guide. Addison-Wesley, 1998.