Top Banner
WEB Security
41
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web Security

WEB Security

Page 2: Web Security

Web Security Considerations

• WWW is Client server application over Internet and TCP/IP intranets

• Web is vulnerable to attacks on web servers over the Internet

• The WEB is visible outlet for corporates• Web servers are easy to configure and manage.• Complex software hide many security flaws.• Subverted servers will provide access to

intranet systems• Users are not aware of the risks.

Page 3: Web Security

Security facilities in the TCP/IP protocol stack

Page 4: Web Security

SSL and TLS• SSL was originated by Netscape• TLS working group was formed

within IETF• First version of TLS can be viewed

as an SSLv3.1

Page 5: Web Security

SSL• Make use of TCP• Provide reliable end to end secure

communication• Two layers of protocols

– Higher layer• Handshake• change cipher spec• Alert

– Lower layer• Record

Page 6: Web Security

SSL Architecture

Page 7: Web Security

SSL connection• A logical client/server link• A peer-to-peer connection with two

network nodes. • Transient.• Every connection associated with

one session.

Page 8: Web Security

SSL session• An association between a client and a server• Defines a set of parameters such as  algorithms used,

session number etc. • An SSL session is created by the Handshake Protocol

– that allows parameters to be shared among the connections made between the server and the client

– Sessions are used to avoid negotiation of new parameters for each connection.

• A single session is shared among multiple SSL connections between the client and the server.

• In theory, it may also be possible that multiple sessions are shared by a single connection, but this feature is not used in practice.

Page 9: Web Security

SSL session state• A session state is defined by the following parameters:

– session identifier: this is an identifier generated by the server to identify a session with a chosen client,

– Peer certificate: X.509 certificate of the peer, – compression method: a method used to compress data

prior to encryption,  – CipherSpec: specifies the bulk data encryption algorithm

(for example DES) and the hash algorithm (for example MD5) used during the session,

– Master secret: 48-byte data being a secret shared between the client and server

– “is resumable”: this is a flag indicating whether the session can be used to initiate new connections.

Page 10: Web Security

SSL connection state• The SSL connection state is defined by the following

parameters: – Server and client random: random data generated by both

the client and server for each connection, – Server write MAC secret: the secret key used for data

written by the server,  – Client write MAC secret: the secret used for data written by

the client, – Server write key: the bulk cipher key for data encrypted by

the server and decrypted by the client, – Client write key: the bulk cipher key for data encrypted by

the client and decrypted by the server, – Initialisation vectors: for CBC mode of block cipher– Sequence number: sequence numbers maintained

separately by the server for messages transmitted and received during the data session.

Page 11: Web Security

Record protocol• Services provided

– Confidentiality•Encryption of payloads using

shared secret key obtained from handshake protocol

– Message Integrity•MAC using shared secret key

obtained from handshake protocol

Page 12: Web Security

SSL Record Protocol Operation

Page 13: Web Security

SSL Record Format

Page 14: Web Security

Change cipher spec protocol

• Payload of record protocol• Consist of single message

– Single byte value = 1• Purpose of message

– Cause copy of pending state to current state

– Updates cipher suite to be used on the current connection

Page 15: Web Security

Alert protocol• Conveys SSL alerts to peer• Payload of record• Consists of two bytes

– 1st byte : warning or fatal– 2nd byte: code for specific alerts

Page 16: Web Security

SSL Record Protocol Payload

Page 17: Web Security

Handshake Protocol• The most complex part of SSL.• Allows the server and client to

authenticate each other.• Negotiate encryption, MAC

algorithm and cryptographic keys.• Used before any application data

are transmitted.

Page 18: Web Security

handshake protocol phases

• 1st phase– Establish security capabilities

• 2nd phase– Server authentication and key exchange

• 3rd phase– Client authentication and key exchange

• 4th phase– finish

Page 19: Web Security

Handshake Protocol Action

Page 20: Web Security

Full handshake

Page 21: Web Security

Re-establish old session

Page 22: Web Security

Cryptographic computations

• Shared master secret : 48 byte • Creation in 2 stages

– Pre-master secret exchanged • RSA• Diffie Hellman

– Master secret calculated at both ends• Use of master secret at client end

– Client write MAC secret– Client write key– Client write IV

• Use of master secret at client end– Server write MAC secret– Server write key– Client write IV

Page 23: Web Security

Transport Layer Security

• The same record format as the SSL record format.• Defined in RFC 2246.• Similar to SSLv3.• Differences in the:

– version number (3.1)– message authentication code (HMAC, TLScomressed.version)– pseudorandom function ( different from SSL)– alert codes ( more in TSL)– cipher suites ( fortezza dropped)– client certificate types ( fortezza schemes not included)– certificate_verify and finished message ( calculation different)– cryptographic computations ( different from SSL)– Padding ( any amount for total length = Xblock length upto max

255 bytes )

Page 24: Web Security
Page 25: Web Security

Master secret in SSLMaster secret =

MD5(pre_master_secret||SHA(“A”||pre_master_secret||ClientHello.random||serverHello.random))||MD5(pre_master_secret||SHA(“BB”||pre_master_secret||ClientHello.random||serverHello.random))||MD5(pre_master_secret||SHA(“CCC”||pre_master_secret||ClientHello.random||serverHello.random))||

Page 26: Web Security

Key block in SSLKey block =

MD5(master_secret||SHA(“A”||master_secret||serverHello.random||ClientHello.random))||MD5(master_secret||SHA(“BB”||pre_master_secret|| serverHello.random||ClientHello.random))||MD5(master_secret||SHA(“CCC”||pre_master_secret|| serverHello.random||ClientHello.random))||…..

Page 27: Web Security

Master secret and Key block in TLS

Master secret =PRF(pre_master_secret, “master secret”, ClientHello.random||serverHello.random)

Key block = PRF(master_secret, “key expansion”, Security Parameters.server_random||SecurityParameters.client_random)

PRF(secret,label,seed) = P_MD5(S1,label||seed)XOR P_SHA-1(S2,label||seed)

Page 28: Web Security

Secure Electronic Transactions

• An open encryption and security specification.

• Protect credit card transaction on the Internet.

• Companies involved:– MasterCard, Visa, IBM, Microsoft,

Netscape, RSA, Terisa and Verisign• Not a payment system.• Set of security protocols and formats.

Page 29: Web Security

SET Services• Provides a secure communication

channel in a transaction.• Provides tust by the use of

X.509v3 digital certificates.• Ensures privacy.

Page 30: Web Security

SET Overview• Key Features of SET:

– Confidentiality of information– Integrity of data– Cardholder account

authentication– Merchant authentication

Page 31: Web Security

SET Participants

Page 32: Web Security

SET participants• Cardholder: authorised holder of credit card

issued by issuer. Interacts with merchants over internet

• Merchant : Seller of goods over internet• Issuer : Bank which issues credit card to card

holder.• Acquirer : Fin institution which has an account

with a merchant, processes card authorisation and payments.

• Payment gateway: Interfaces between SET and Payment network

• CA: Issues X.509 certificates to All players

Page 33: Web Security

Sequence of events for transactions

1. The customer opens an account.2. The customer receives a certificate.3. Merchants have their own certificates.4. The customer places an order.5. The merchant is verified.6. The order and payment are sent.7. The merchant request payment authorization.8. The merchant confirm the order.9. The merchant provides the goods or service.10.The merchant requests payments.

Page 34: Web Security

Dual SignatureH(OI))]||)(([ PIHHEDS

cKR

Page 35: Web Security

Payment processing

Cardholder sends Purchase Request

Page 36: Web Security

Payment processing

Merchant Verifies Customer Purchase Request

Page 37: Web Security

Payment processing• Payment Request:

– Initiate request– Initiate response– Purchase request– Purchase response

• Payment Authorization:– Authorization Request– Authorization Response

• Payment Capture:– Capture Request– Capture Response

Page 38: Web Security

Payment Request• Initiate request from card holder

– Request certificates to merchant– Incl: Brand of cc, ID req/resp, nonce

• Initiate response by merchant– Response signed by Kr of merchant– Incl: Cust nonce, new nonce, trans ID, merchant’s

signature certificate, payment gateways key exchange certificate

Cardholder– verifies merchant and gateway’s certificates– Generates

• OI- ref to order• PI – card number, value etc

Page 39: Web Security

Payment Request• Purchase request by card holder

– Forwarded to payment gateway• Incl: EKs[PI+Dual sig+OIMD], EKUch[Ks]

– To merchant• OI+dual sig+PIMD, CH certificate

• Purchase response by merchant– Incl: Trans ID, response block with order ack

signed by merchant using Kr, merchant’s signature certificate

Card holder– Verifies merchant’s signature on response

block

Page 40: Web Security

Payment Authorization• Authorization Request to payment gateway from merchant

– forwarded• PI+dual sig+OIMD+EKUch[Ks]

– Generated• Auth block: EKms[SignKrm[Trans ID]]• EKUpg[EKms]

– Certificates• Card holder signature key, merchant signature key and merchant key exchange

certificatesPayment gateway

– Verifies all certificates, obtains EKms, decrypts auth block, verifies merchant’s sign, verifies dual sign, verifies trans ID, requests and receives an auth from issuer

• Authorisation response by payment gateway to merchant– Auth block:

• EKpgs[SignKrpg[authorisation]]• EKUm[EKpgs]

– Capture token info:• EKpgs[SignKrpg[capture token]]

– Certificate• Gateway’s signature key certifixcate

Page 41: Web Security

Payment capture• Capture Request by merchant to

payment gateway– Capture req block

•Amount+Trand ID+token signed and encrypted by merchant

This is verified by payment gateway. Req issuer to release payment

• Capture Response by payment gateway to merchant confirmation of payment