Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec 05 Secure Connection The topic to be covered this week is secure connection. Apparently, the.

Slides:



Advertisements
Similar presentations
CP3397 ECommerce.
Advertisements

Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
1 Lecture 17: SSL/TLS history, architecture basic handshake session initiation/resumption key computation negotiating cipher suites application: SET.
CS470, A.SelcukSSL/TLS & SET1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Cryptography and Network Security
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
Public Key Management and X.509 Certificates
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
An Introduction to Security Concepts and Public Key Infrastructure (PKI) Mary Thompson.
Cryptography and Network Security Chapter 17
CERTIFICATES “a document containing a certified statement, especially as to the truth of something ”
Chapter 8 Web Security.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
E-Commerce Security Professor: Morteza Anvari Student: Xiaoli Li Student ID: March 10, 2001.
Cryptography and Network Security (CS435) Part Fourteen (Web Security)
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Web Security : Secure Socket Layer Secure Electronic Transaction.
CERTIFICATES. What is a Digital Certificate? Electronic counterpart to a drive licenses or a passport. Enable individuals and organizations to secure.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
SMUCSE 5349/7349 SSL/TLS. SMUCSE 5349/7349 Layers of Security.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
Apr 1, 2003Mårten Trolin1 Previous lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
SSL: Secure Socket Layer By: Mike Weissert. Overview Definition History & Background SSL Assurances SSL Session Problems Attacks & Defenses.
PRESENTATION ON SECURE SOCKET LAYER (SSL) BY: ARZOO THAKUR M.E. C.S.E (REGULAR) BATCH
1 Internet data security (HTTPS and SSL) Ruiwu Chen.
Network security Presentation AFZAAL AHMAD ABDUL RAZAQ AHMAD SHAKIR MUHAMMD ADNAN WEB SECURITY, THREADS & SSL.
Secure HTTP (HTTPS) Pat Morin COMP 2405.
Computer and Network Security
The Secure Sockets Layer (SSL) Protocol
Key management issues in PGP
TOPIC: HTTPS (Security protocol)
Web Security CS-431.
Public Key Infrastructure (PKI)
SSL Certificates for Secure Websites
Cryptography and Network Security
Cryptography and Network Security
Secure Sockets Layer (SSL)
BINF 711 Amr El Mougy Sherif Ismail
Introduction to PKI Novell BrainShare 2002 Tammy Green
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
CSE 4095 Transport Layer Security TLS, Part II
IS3230 Access Security Unit 9 PKI and Encryption
Information Security message M one-way hash fingerprint f = H(M)
Using SSL – Secure Socket Layer
Cryptography and Network Security
Pooja programmer,cse department
Cryptography and Network Security
SSL (Secure Socket Layer)
Digital Certificates and X.509
CS 465 Certificates Last Updated: Oct 14, 2017.
Lecture 4 - Cryptography
The Secure Sockets Layer (SSL) Protocol
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
A Programmer’s Guide to Secure Connections
Lecture 10: Network Security.
CS – E-commerce Technologies – Lecture 07
Transport Layer Security (TLS)
Kai Bu 03 Cryptanalysis Kai Bu
Unit 8 Network Security.
Advanced Computer Networks
Electronic Payment Security Technologies
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography and Network Security
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec 05 Secure Connection The topic to be covered this week is secure connection. Apparently, the goal is build a secure channel between two communication entities such that data transmission on this secure channel keeps private from attackers. Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec

insecure at first Insecure at first mrj jzk txh hello, txh Without such a secure channel, Whenever you send a message to the other, the message has to stay in a plaintext form, which can be easily eavesdropped by the attacker. mrj jzk txh hello, txh

secure communication against adversaries crypto as savior secure communication against adversaries shared secret key mrj ??? jzk txh hello, txh hello, txh asdfghjkl enc dec

secure communication against adversaries insecure still… secure communication against adversaries shared secret key But the question is, we are given with only an insecure channel; When we share the secret key through this channel, the attacker can still overhear it; mrj !!! jzk txh

secure communication against adversaries insecure still… secure communication against adversaries shared secret key With the overheard secret key, the attacker can still crack subsequent messages even though they might be encrypted. mrj !!! hello, txh dec jzk txh hello, txh hello, txh asdfghjkl enc dec

secure communication against adversaries insecure still… secure communication against adversaries shared secret key how to securely share it? Now the question becomes, how to securely share the secret key? mrj !!! hello, txh dec jzk txh hello, txh hello, txh asdfghjkl enc dec

public key cryptography secure communication against adversaries Remember that now we can turn to public key cryptography mrj jzk txh

public key cryptography secure communication against adversaries pub priv In this case, the receiver owns a pair of public key and private key mrj jzk txh

public key cryptography secure communication against adversaries pub priv Since public key is allowed to be known by everyone by design, The receiver can simply send it to the sender over the insecure channel without any concern. mrj jzk txh

public key cryptography secure communication against adversaries shared secret key protected from attacker pub priv mrj jzk txh asdfghjkl enc dec

secure communication against adversaries symmetric crypto it is secure communication against adversaries shared secret key protected from attacker mrj ??? jzk txh hello, txh hello, txh asdfghjkl enc dec

wow

private communication over public internet protect their data during transfer by creating a uniquely encrypted channel for private communications over the public Internet.

private communication Secure Connection private communication over public internet This is exactly what secure connection assures us.

Secure Connection Protocol: SSL/TLS Application: HTTPS https://docs.aws.amazon.com/cloudhsm/latest/userguide/ssl-offload-overview.html 1. The client sends a hello message to the server. 2. The server responds with a hello message and sends the server's certificate. 3. The client performs the following actions: Verifies that the SSL/TLS server certificate is signed by a root certificate that the client trusts. Extracts the public key from the server certificate. Generates a premaster secret and encrypts it with the server's public key. Sends the encrypted premaster secret to the server. 4. To decrypt the client's premaster secret, the server sends it to the HSM. The HSM uses the private key in the HSM to decrypt the premaster secret and then it sends the premaster secret to the server. Independently, the client and server each use the premaster secret and some information from the hello messages to calculate a master secret. 5. The handshake process ends. For the rest of the session, all messages sent between the client and the server are encrypted with derivatives of the master secret.

HTTPS Use HTTPS as an example to walk through SSL/TLS principles

hyper text transfer secure HTTPS hyper text transfer secure Use HTTPS as an example to walk through SSL/TLS principles

Threats Eavesdropping Manipulation Impersonation SSL stands for

Solutions Eavesdropping Encryption Manipulation Integrity (MAC) Impersonation Signature SSL stands for

Protocol FIN FIN, ACK ACK

Protocol TCP handshake TLS handshake connection termination FIN FIN, ACK ACK

Protocol TCP handshake TLS handshake connection termination FIN FIN, ACK ACK

HTTPS step by step Use HTTPS as an example to walk through SSL/TLS principles

step 1: connection request HTTPS step 1: connection request

https://www.votefor.com asdf User types a link in the address bar

https://www.votefor.com where is votefor? asdf User types a link in the address bar

https://www.votefor.com what’s votefor’s IP? asdf User types a link in the address bar

https://www.votefor.com votefor  IP DNS: Domain Name System asdf User types a link in the address bar

DNS Hierarchy

DNS Resolution DNS resolution. Each web server (and indeed any host connected to the internet) has a unique IP address in textual form, translating it to an IP address (in this case, 207.142.131.248) is a process known asDNS resolution or DNS lookup; here DNS stands forDomain Name Service.

DNS Hijacking

https://www.votefor.com avoid link camouflage: www.vote4.com asdf www.votef0r.com asdf Now make sure that you have correctly typed the address you want to connect in the address bar;

Connection Request CLIENT HELLO SSL Protocol version Session ID List of Cipher Suites CLIENT HELLO Extensions Given the secure DNS resolution process and correct input of the website address, Users sends a CLIENT HELLO message to the server

HTTPS step 2: sever response

Server Response SERVER HELLO SSL Protocol version Session ID Selected Cipher Server Certificate SERVER HELLO Extensions Client Certificate Request (optional)

Server Response SERVER HELLO SSL Protocol version Session ID Selected Cipher Server Certificate Public Key? SERVER HELLO Extensions Client Certificate Request (optional)

Server Response SERVER HELLO SSL Protocol version Session ID Selected Cipher Server Certificate Public Key? SERVER HELLO Extensions Client Certificate Request (optional)

why not directly transfer SERVER HELLO Extensions Client Certificate Request (optional) SERVER HELLO SSL Protocol version Session ID Selected Cipher Server Certificate Public Key? SERVER HELLO Extensions Client Certificate Request (optional)

what if the attacker hijacks key-channel? mrj jzk txh hello, txh

Man-In-The-Middle Attack what if the attacker hijacks key-channel? key1 key2 mrj jzk txh hello, txh

SERVER HELLO SSL Protocol version Session ID Selected Cipher Server Certificate Public Key? SERVER HELLO Extensions Client Certificate Request (optional)

Certificate Issued by a trusted third party Certificate Authority (CA) VeriSign, GeoTrust, Digicert, etc.

Certificate Goal: vouch for server public key Principle: signed by CA’s private key verifiable by CA’s public key

step 3: certificate verification HTTPS step 3: certificate verification

What to Verify? Certificate Authority

What to Verify? Certificate Authority trusted? certificate integrity?

What to Verify? Certificate Authority trusted? certificate integrity? Certificate Date

What to Verify? Certificate Authority trusted? certificate integrity? Certificate Date expired?

What to Verify? Certificate Authority trusted? certificate integrity? Certificate Date expired? Certificate Revocation List

What to Verify? Certificate Authority trusted? certificate integrity? Certificate Date expired? Certificate Revocation List valid?

What to Verify? Certificate Authority trusted? certificate integrity? Certificate Date expired? Certificate Revocation List valid? Domain Name

What to Verify? Certificate Authority trusted? certificate integrity? Certificate Date expired? Certificate Revocation List valid? Domain Name intended?

How to Verify? Domain Name Public Key CA Name CA Signature

How to Verify? Domain Name Public Key CA Name CA Signature should I trust the CA?

How to Verify? Domain Name Public Key CA Name CA Signature should I trust the CA? query locally built-in certificate store CA Name Public Key CA Signature

How to Verify? Domain Name Public Key CA Name CA Signature I trust the CA? query locally built-in certificate store CA Name Public Key verify integrity and authenticity CA Signature

How to Verify? Domain Name Public Key CA Name CA Signature I trust the CA? query locally built-in certificate store CA Name Public Key verify integrity and authenticity CA Signature

How to Verify? Domain Name Public Key CA Name CA Signature I trust the CA? query locally built-in certificate store CA Name Public Key verify integrity and authenticity CA Signature

How to Verify? Domain Name Public Key CA Name I trust the Public Key? CA Signature CA Name Public Key verify integrity and authenticity CA Signature

How to Verify? Domain Name Public Key CA Name I trust the Public Key? CA Signature Root CA? CA Name Public Key verify integrity and authenticity CA Signature

hmm, what if signed by “branch” CA?

Certificate Chain https://developer.okta.com/books/api-security/tls/certificate-verification

wait, is a valid certificate still valid?

wait, is a valid certificate still valid? enable CRL check

Certificate Revocation List Certificates that have been revoked by the issuing CA before their scheduled expiration date and should no longer be trusted Two states revoked: irreversibly revoked hold: only temporary invalidity, reversible Revoked: A certificate is irreversibly revoked if, for example, it is discovered that the certificate authority (CA) had improperly issued a certificate, or if a private-key is thought to have been compromised. Certificates may also be revoked for failure of the identified entity to adhere to policy requirements, such as publication of false documents, misrepresentation of software behaviour, or violation of any other policy specified by the CA operator or its customer. The most common reason for revocation is the user no longer being in sole possession of the private key (e.g., the token containing the private key has been lost or stolen). Hold: This reversible status can be used to note the temporary invalidity of the certificate (e.g., if the user is unsure if the private key has been lost). If, in this example, the private key was found and nobody had access to it, the status could be reinstated, and the certificate is valid again, thus removing the certificate from future CRLs.

Certificate Revocation List Periodically issued by a CRL issuer CA per se, or some other trusted third parties Query supported as well Tradeoff between security and efficiency

Certificate Revocation List Periodically issued by a CRL issuer CA per se, or some other trusted third parties Query supported as well Tradeoff between security and efficiency Always a time gap between when a certificate is revoked AND when its revocation approaches a client

nitpicking: do I have to trust Root CA?

HTTPS step 4: key exchange

step 5: secure communication HTTPS step 5: secure communication

HTTPS step 6: bye

?

Readings SSL and HTTPS by Nickolai Zeldovich Everything About HTTPS and SSL (Java) by Akhil Raj

Thank You be on the road Run your own race.