CS – E-commerce Technologies – Lecture 07

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.
SECURITY IN E-COMMERCE VARNA FREE UNIVERSITY Prof. Teodora Bakardjieva.
Digital Signatures. Anononymity and the Internet.
Mar 19, 2002Mårten Trolin1 This lecture On the assignment Certificates and key management SSL/TLS –Introduction –Phases –Commands.
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
6/3/2015topic1 Web Security Qiang Yang Simon Fraser University Thanks: Francis Lau (HKU)
Mar 4, 2003Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
Topic 11: Key Distribution and Agreement 1 Information Security CS 526 Topic 11: Key Distribution & Agreement, Secure Communication.
Computer Science Public Key Management Lecture 5.
Cryptography 101 Frank Hecker
How HTTPS Works J. David Giese. Hyper Text Transfer Protocol BrowserHTTP Server GET / HTTP/1.1 HOST: edge-effect.github.io HEADERS BODY HTTP/ OK.
Digital Certificates Made Easy Sam Lutgring Director of Informational Technology Services Calhoun Intermediate School District.
Networks Management and Security Lecture 3.
Digital Envelopes, Secure Socket Layer and Digital Certificates By: Anthony and James.
Cryptography (2) University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Symmetric Cryptography, Asymmetric Cryptography, and Digital Signatures.
Encryption Questions answered in this lecture: How does encryption provide privacy? How does encryption provide authentication? What is public key encryption?
Topic 14: Secure Communication1 Information Security CS 526 Topic 14: Key Distribution & Agreement, Secure Communication.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Secure Socket Layer SSL and TLS. SSL Protocol Peer negotiation for algorithm support Public key encryptionPublic key encryption -based key exchange and.
SSL: Secure Socket Layer By: Mike Weissert. Overview Definition History & Background SSL Assurances SSL Session Problems Attacks & Defenses.
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
Web Security.
The Secure Sockets Layer (SSL) Protocol
TOPIC: HTTPS (Security protocol)
Digital Signatures.
Virtual Private Network (VPN)
SSL Certificates for Secure Websites
Cryptography and Network Security
Cryptography Reference: Network Security
Cryptography Reference: Network Security
Secure Sockets Layer (SSL)
BINF 711 Amr El Mougy Sherif Ismail
How to Check if a site's connection is secure ?
S/MIME T ANANDHAN.
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
E-Commerce Security.
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
Using SSL – Secure Socket Layer
Keys Campbell R. Harvey Duke University, NBER and
Campbell R. Harvey Duke University and NBER
Cryptography and Network Security
Created by : Ashish Shah, J.M. PATEL COLLEGE OF COMMERCE
Campbell R. Harvey Duke University and NBER
Secure Electronic Transaction (SET) University of Windsor
Digital Certificates and X.509
TLS and DLP Behind the green lock.
The Secure Sockets Layer (SSL) Protocol
Protocol ap1.0: Alice says “I am Alice”
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
CS2911 Week 9, Class 1 Today Discussion on RSA Video Eavesdropping
A Programmer’s Guide to Secure Connections
Created by : Ashish Shah, J.M. PATEL COLLEGE OF COMMERCE
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Lecture 6: Digital Signature
Lecture 10: Network Security.
Public-Key, Digital Signatures, Management, Security
Advanced Computer Networks
Electronic Payment Security Technologies
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography and Network Security
LAB 3: Digital Signature
Presentation transcript:

CS 090.3 – E-commerce Technologies – Lecture 07 HTTPS

Security Primer All concepts related to security are discussed in a high level context. For actual implementation consult RFC 2818 : HTTP Over TLS

Problems with HTTP End User Web Server

Steal Data End User Web Server

Redirect Spoof/Websites Using "HTTP" any middle-man between you and the website can serve you ANY content they want. Your home router (possibly compromised) Your ISP Your Local Government Upside-down-ternet www.ex-parrot.com/pete/upside-down-ternet.html

Impersonate Website End User Web Server

Impersonate Users End User Web Server

Solution: HTTPS HTTP over SSL (Before 1999) / HTTP over Transport Layer Security (After 1999) HTTPS = HTTP + TLS TLS (Transport Layer Security) The name was changed from SSL to avoid any legal issues with Netscape so that the protocol could be open and free

HTTPS Overview Certificate Validation Public Key Encryption of a Symmetric Key (Slow) Symmetric Key encryption of messages. (Fast)

Key Exchange Algorithm

Key Exchange Algorithm The above video explains a key exchange algorithm called Diffie–Hellman key exchange. (D-H) HTTPS uses a another key exchange algorithm called Rivest-Shamir-Adleman (RSA) mainly because RSA is more widely supported. D-H uses the discrete logarithm problem in its encryption. RSA uses the integer factorization problem in its encryption.

Public Key Encryption Public Key Used ONLY to encrypt Private key Used ONLY to decrypt

Symmetric Key Encryption One keys for both encryption and decryption. Symmetric key encryption is used when you have already established keys beforehand. It is orders of magnitude faster than public key encryption. Limited in Scope To get the best of both technologies, HTTPS uses public key encryption to agree on a symmetric key. The symmetric key is then used to encrypt all further communications.

Encryption (Two types) Public Key Symmetric Lock + Key Anyone with the public key (lock) can ONLY encrypt messages. Anyone with the private key (key) can ONLY decrypt messages. You share your public key so anyone can send you secrets. Examples: D-H, RSA Key Anyone with the key can encrypt and decrypt messages. They can also duplicate the key. Examples: AES, 3DES

Man In the Middle Attacks Problem: The person in the middle is not just listening on our communications like Eve, they can actively participate. Not just an insecure channel— It is a hostile channel Hi, I am google.com Let's exchange keys End User google.com

Certificate Authority (CA) On your computer is a set of certificates that were installed at the same time as the OS. These are called Root Certificates, your operating system trusts these providers.

Digital Certificate/Signature Certificates and Signatures work as reversed lock+key encryption. Signatures are private. (encrypt) Certificates are public. (decrypt) Anyone can read the contents of a certificate, but only a person with the private key can write a message. Signatures prevent impersonation.

Certificate Authority can be trusted Hi, I am verisign. Here's my public key so you can send me encrypted messages. –versign.com verisign.com using TLS please Open Copy End User verisign.com Image Credits: Certificate - Sarah Abraham https://thenounproject.com/term/certificate/100644/ CC 3.0 License: http://creativecommons.org/licenses/by/3.0/us/ Key – MisterMatt~commonswiki https://commons.wikimedia.org/wiki/File:Key-crypto-sideways.png CC BY-SA 3.0: https://creativecommons.org/licenses/by-sa/3.0/deed.en

Signatures Prevent Impersonation Hi, I am verisign. Here's my public key so you can send me encrypted messages. –versign.com verisign.com using TLS please End User verisign.com

CA's can vouch for other servers Hi, I am google.com. Here's my public key so you can send me encrypted messages. It is signed by [CA] –google.com [CA] google.com using TLS please End User google.com

How did the public key get signed? To validate ownership of google.com: 1. Put this message "2336" on google.com/2403. 2. Send a copy of your signed public key, and 3. Sign this message "7e50cs0". Can you vouch for me? google.com [CA] Checks google.com/2403 7e50cs0

Server's can vouch recursively Hi, I am ?????.com. Here's my public key. It is signed by [CA3]. [CA2] has signed for [CA3]. [CA] has signed for [CA2]. I've also include certificates from [CA3] and [CA2] [CA] ?????.com using TLS please End User ?????.com

Signed Public Keys are TLS Certificates A TLS Certificate and a signed public key contain the same information. CA signature server CA's public key expiration public key for website certificate authority

Revisit the first example verisign.com using TLS please End User verisign.com

Extended Validation Certificate Most websites that implement SSL look like this Some websites may pay extra money annually to Certificate Authority's to get Extended Validation. This involves having the CA verify your legal entity exists annually. You get a cool upgrade on the address bar though

TLS Resources SSL Diagram https://github.com/ychaouche/SSL-diagram The First Few Milliseconds of an HTTPS Connection http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html TLS 1.2 RFC https://tools.ietf.org/html/rfc5246 HTTPS RFC https://tools.ietf.org/html/rfc2818

Lets Encrypt Let's Encrypt is a certificate authority that launched in 2016 that provides free certificates for TLS.

Extra Notes SSH (Secure Shell) does not use TLS, it uses its own technology under the hood.