INS-Lecture14-TLS-SSL-HTTPS-SET
INS-Lecture14-TLS-SSL-HTTPS-SET
4
TLS Fundamentals
“Transport Layer Security” protocol
Standard protocol for encrypting
Internet traffic Previously known as SSL
(Secure Sockets Layer)
TLS replaced SSL in 1999
Used for HTTPS (HTTP Secure) traffic
Supported by nearly every web browser
5
Purposes for TLS
Data integrity
Server (and client) authentication
Confidentiality
6
TCP/IP Protocol Suite
The TCP/IP governs the transport and
routing of data over the Internet.
Other protocols, such as the HyperText
Transport Protocol (HTTP), Lightweight
Directory Access Protocol (LDAP), or
Internet Messaging Access Protocol (IMAP),
run "on top of" TCP/IP in the sense that
they all use TCP/IP to support typical
application tasks such as displaying web
pages or running email servers.
7
TCP/IP Protocol Suite and
Security
8
Services Provided by TLS
TLS encrypts data so that no one who
intercepts is able to read it.
TLS can assure a client that they are
dealing with the real server they
intended to connect to.
TLS can prevent any unauthorized
clients from connecting to the server.
TLS prevents anyone from interfering
with data going to or coming from the
server.
9
Services Provided by TLS
10
TLS Server Authentication
TLS server authentication allows a user to
confirm a server's identity.
TLS-enabled client software can use standard
techniques of public-key cryptography to check
that a server's certificate and public ID are
valid and have been issued by a certificate
authority (CA) listed in the client's list of
trusted CAs.
This confirmation might be important if the
user, for example, is sending a credit card
number over the network and wants to check
the receiving server's identity.
11
TLS Client Authentication
TLS client authentication allows a server to
confirm a user's identity.
Using the same techniques as those used for
server authentication, SSL-enabled server
software can check that a client's certificate
and public ID are valid and have been issued
by a certificate authority (CA) listed in the
server's list of trusted CAs.
This confirmation might be important if the
server, for example, is a bank sending
confidential financial information to a
customer and wants to check the recipient's
identity.
12
An encrypted TLS connection
An encrypted TLS connection requires all
information sent between a client and a
server to be encrypted by the sending
software and decrypted by the receiving
software, thus providing a high degree of
confidentiality.
Confidentiality is important for both parties
to any private transaction.
13
TLS Sub-protocols
The TLS
protocol
includes two
major sub-
protocols:
the TLS record
protocol
the TLS
handshake
protocol
14
The TLS Record Protocol
The TLS record protocol defines the
format used to transmit data
The TLS record protocols provides two
services for SSL connections:
Confidentiality: The Handshake Protocol
defines a shared secret key that is used for
conventional encryption of TLS payloads
Message Integrity: The Handshake Protocol
also defines a shared secret key that is used
to form a message authentication code
(MAC)
15
The TLS Handshake protocol
The most complex part of TLS is the Handshake
Protocol.
This protocol allows the server and client to
authenticate each other and to negotiate an
encryption and MAC algorithm and
cryptographic keys to be used to protect data
sent in a TLS record.
The Handshake Protocol is used before any
application data is transmitted.
16
17
HTTPS
HTTPS (HTTP over SSL)
combination of HTTP & SSL/TLS to secure
communications between browser & server
• documented in RFC2818
• no fundamental change using either SSL or TLS
use https:// URL rather than http://
and port 443 rather than 80
encrypts
URL, document contents, form data, cookies,
HTTP headers
HTTPS Use
• connection initiation
– TLS handshake then HTTP request(s)
• connection closure
– have “Connection: close” in HTTP record
– TLS level exchange close_notify alerts
– can then close TCP connection
– must handle TCP close before alert exchange
Secure Shell (SSH)
protocol for secure network communications
designed to be simple & inexpensive
SSH1 provided secure remote logon facility
replace TELNET & other insecure schemes
also has more general client/server capability
SSH2 fixes a number of security flaws
SSH clients & servers are widely available
method of choice for remote login/ X tunnels
SSH Protocol Stack
SSH Transport Layer Protocol
• server authentication occurs at transport
layer, based on server/host key pair(s)
– server authentication requires clients to know
host keys in advance
• packet exchange
– establish TCP connection
– can then exchange data
• identification string exchange, algorithm
negotiation, key exchange, end of key exchange,
service request
– using specified packet format
Secure Electronic Transactions
(SET)
• open encryption & security specification
• to protect Internet credit card transactions
• developed in 1996 by Mastercard, Visa etc
• not a payment system
• rather a set of security protocols & formats
Participants in Electronic
transaction
•Cardholder
•Merchant
•Issuer (e.g. bank )
•Acquirer
•Payment gateway (function of acquirer or third party)
•Certificate Authority
Now we can set the security requirements
Key features of SET
• Confidentiality of information
-cardholder account & payment info
• Integrity of data
-payment info & instruction, personal data
• Card holder account authentication
• Merchant authentication
SET Components
SET Transaction
1. customer opens account
2. customer receives a certificate
3. merchants have their own certificates (2 keys
signing message & key exchange)
4. customer places an order
5. merchant is verified (customer verify merchants
certificate)
6. order and payment are sent
7. merchant requests payment authorization
8. merchant confirms order
9. merchant provides goods or service
10. merchant requests payment to payment gateway
SET services
SET provide three major services
• Secure communication channel among all
parties during transaction
• Provide trust by use of X.509v3 certificate
• Ensures privacy of participants
Dual Signature
• customer creates dual messages
– order information (OI) for merchant
– payment information (PI) for bank
• neither party needs details of other
• but must know they are linked
• use a dual signature for this
– signed concatenated hashes of OI & PI
Dual signature construction
Major SET Transactions
Some of the major transactions in SET are
as follows
• Purchase Request
• Payment Authorization
• Payment Capture
Purchase Request – Customer