ch-7 PPT
ch-7 PPT
Web Security
Secure Socket Layer(SSL)-
Introduction-
• The SSL protocol is an Internet protocol for secure exchange of information between a Web browser and a Web server.
• It provides two basics security services- authentication and confidentiality.
• Logically, it provides a secure pipe between the Web browser and the Web server.
• The handshake protocol is actually made up of four phases as shown in fig. These phases are –
1. Establish security capabilities
2. Server authentication and key exchange
3. Client authentication and key exchange
4. Finish
Phase 1: Establish Security Capabilities-
• This first phase of the SSL handshake is used to initiate a logical connection and establish the security capabilities
associated with that connection.
• This consists of two messages,- the client hello and the server hello, as shown in fig.
• As shown in fig, the process starts with a client hello message from the client to the server.
• It consists of the following parameters-
• Version: This field identifies the highest version of SSL that the client can support. This can be 2,3 or 3.1.
• Random: This field is useful for the later, actual communication between the client and the server. It contains two
sub-fields-
1. A 32-bit date-time field that identifies the current system date and time on the client computer.
2. A 28-byte random number generated by the random number generator software built inside the client computer.
• Session id: This is a variable length session identifier. If this field contains a non-zero value, it means that there is
already a connection between the client and the server, and the client wishes to update the parameters of that connection.
A zero value in this field indicates that the client wants to create a new connection with the server.
• Cipher suite: This list contains a list of the cryptographic algorithms supported by the client (e.g. RSA, Diffie-Hellman,
etc.), in the decreasing order of preference.
• Compression method: This field contains a list of the compression algorithms supported by the client.
• The first two messages are from the client : Change cipher specs, Finished.
• The server responds back with two identical messages : Change cipher specs, Finished.
✔ The Record Protocol-
• The Record Protocol in SSL comes into picture after a successful handshake is completed between the client and the
server.
• This protocol provides two services to an SSL connection, as follows-
1. Confidentiality: This is achieved by using the secret key that is defined by the handshake protocol.
2. Integrity: The handshake protocol also defines a shared secret key (MAC) that is used for assuring the message
integrity.
• The operation of the record protocol is shown in fig-
1. Fragmentation: The original application message is broken into blocks, so that the size of each block is less than or equal
to 214 bytes(16,384 bytes).
2. Compression: The fragmented blocks are optionally compressed. The compression process must not result into the loss of
the original data, which means that this must be loss-less compression mechanism.
3. Addition of MAC: Using the shared secret key established previously in the handshake protocol, the Message
Authentication Code(MAC) for each block is calculated.
4. Encryption: Using the symmetric key established previously in the handshake protocol, the output of the previous step is
now encrypted. This encryption may not increase the overall size of the block by more than 1024 bytes.
• Following table lists the permitted encryption algorithms-
5. Append header: Finally, a header is added to the encrypted block. The header contains the following fields-
a. Content type (8 bits)-Specifies the protocol used for processing the record in the next higher level .
b. Major version (8 bits)- Specifies the major version of the SSL protocol in use. For instance, if SSL version 3.1 is in use ,
this field contains 3.
c. Minor version (8 bits)- Specifies the minor version of the SSL protocol in use. For instance, if SSL version 3.0 in use,
this field contains 0.
d. Compressed length (16 bits)- Specifies the length in bytes of the original plain text block ( or the compressed block, if
compression is used)
SET Participants-
• Cardholder- Using the Internet, consumers and corporate purchases interact with merchants for buying goods and
services. A Cardholder is an authorized holder of a payment card such as MasterCard or Visa that has been issued by an
Issuer.
• Merchant- A merchant is a person or an organization that wants to sell goods or services to cardholders. A merchant must
have a relationship with an Acquirer for accepting payments on the Internet.
• Issuer- The issuer is a financial institution (such as bank) that provides a payment card to a cardholder. The most critical
point is that issuer is the ultimately responsible for the payment of the cardholder’s debt.
• Acquirer-This is a financial institution that has a relationship with merchants for processing payment card authorizations
and payments. The reason for having acquires is that merchants accept credit cards of more than one brand, but are not
interested in dealing with so many bankcard organizations or issuers. Instead, an acquirer provides the merchant an
assurance( with the help of issuer) that a particular cardholder account is active and that the purchase amount does not
exceed the credit limits ,etc. The acquirer also provides electronic funds transfer to the merchant account. Later, the issuer
reimburses the acquirer using some payment network.
• Payment Gateway- This can be taken up by the acquirer or an organization as a dedicated function. The payment
gateway processes the payment messages on behalf of the merchant. Specifically in SET, the payment gateway acts as an
interface between SET and the existing card payment networks for payment authorizations. The merchant exchanges SET
messages with the payment gateway over the Internet. The payment gateway, in turn, connects to the acquirer’s systems
using a dedicated network line in most cases.
• Certification Authority (CA)- This is an authority that is trusted to provide public key certificates to cardholders,
merchant and payment gateways.