Unit 4 Network Security: C Tgs KC Tgs
Unit 4 Network Security: C Tgs KC Tgs
Unit 4 Network Security: C Tgs KC Tgs
NETWORK SECURITY
Authentication applications
1. Kerberos
2. X.509 authentication service
3. Electronic mail security
4. PGP
5. S/MIME
6. IP security
7. Web security
Kerberos
Kerberos is an authentication service developed as part of Project Athena at MIT.
Kerberos provides a centralized authentication server whose function is to authenticate users to servers and
servers to users.
Kerberos relies exclusively on symmetric encryption, making no use of public-key encryption.
Two versions of Kerberos are in common use.
1. Version 4
2. Version 5
The first published report on Kerberos listed the following requirements:
1. Secure
2. Reliable
3. Transparent
4. Scalable
Kerberos Version 4:
Version 4 of Kerberos makes use of DES to provide authentication service.
More Secure Authentication Dialogue:
Two problems remain in the above scenario.
1. First, we would like to minimize the number of times that a user has to enter a password.
2. The second problem is that the earlier scenario involved a plaintext transmission of the password. An
eavesdropper could capture the password and use any service accessible to the victim.
To solve these problems, a new scheme has been introduced for avoiding plaintext passwords and a new server,
known as the ticket-granting server (TGS).
Once per user logon session:
(1) C AS: ID C || ID tgs
(2) AS C: EKc [Ticket tgs ]
Once per type of service:
(3) C TGS: ID C || ID V|| Ticket tgs
(4) TGS C: Ticket v
Once per service session:
(5) C V: ID C || Ticket v
Ticket tgs = EKtgs [ ID C || AD C || ID tgs || TS 1 || Lifetime 1 ]
Ticket v = EKv [ ID C || AD C || ID v || TS 2 || Lifetime 2 ]
TGS:
The new service, TGS, issues tickets to users who have been authenticated to AS.
Thus, the user first requests a ticket-granting ticket (Ticket tgs) from the AS.
The client module in the user workstation saves this ticket.
The TGS then grants a ticket for the particular service.
The client saves each service-granting ticket and uses it to authenticate its user to a server each time a
particular service is requested.
The authentication steps are as follows:
1. The client requests a ticket-granting ticket on behalf of the user by sending its user's ID and password to
the AS, together with the TGS ID, indicating a request to use the TGS service.
2. The AS responds with a ticket that is encrypted with a key that is derived from the user's password.
3. The client requests the TGS for a service-granting ticket on behalf of the user.
4. The TGS decrypts the incoming ticket and verifies the success of the decryption by the presence of its ID.
Then after verification by the TGS, the TGS issues a ticket to grant access to the requested service.
5. The client requests the server for accessing a service on behalf of the user. The server authenticates by
using the contents of the ticket.
Realm:
A Kerberos realm is a set of managed nodes that share the same Kerberos database.
The read only copy of the Kerberos database resides on the Kerberos master computer system, which
should be kept in a physically secure room.
All changes to the database must be made on the master computer system.
Changing or accessing the contents of a Kerberos database requires the Kerberos master password.
Kerberos provides a mechanism for supporting such interrealm authentication. For two realms to support
interrealm authentication, a third requirement is added:
o The Kerberos server in each interoperating realm shares a secret key with the server in the other
realm. The two Kerberos servers are registered with each other.
The mechanism is as follows:
1. A user wishing service on a server in another realm needs a ticket for that server.
2. The user's client follows the usual procedures to gain access to the local TGS and then requests a ticket-
granting ticket for a remote TGS.
3. The client can then apply to the remote TGS for a service-granting ticket for the desired server in the realm
of the remote TGS.
Request for Service in Another Realm
(1) C AS: ID c || ID tgs|| TS 1
(2) AS C: E( K c , [ K c,tgs|| ID tgs ||TS 2 ||Lifetime 2 ||Ticket tgs ])
(3) C TGS: ID tgsrem ||Ticket tgs ||Authenticator c
(4) TGS C: E( K c,tgs , [ K c,tgsrem ||ID tgsrem ||TS 4|| Ticket tgsrem ])
(5) C TGS rem : ID vrem ||Ticket tgsrem ||Authenticator c
(6) TGS rem C: E( K c,tgsrem , [ K c,vrem ||ID vrem ||TS 6 ||Ticket vrem ])
(7) C V rem : Ticket vrem ||Authenticator c
The ticket presented to the remote server (Vrem ) indicates the realm in which the user was originally
authenticated. The server chooses whether to honor the remote request.
Kerberos Version 5:
Kerberos Version 5 provides a number of improvements over version 4.
X.509 Hierarchy:
The connected circles indicate the hierarchical relationship among the CAs; the associated boxes indicate
certificates maintained in the directory for each CA entry. The directory entry for each CA includes two types of
certificates:
Forward certificates: Certificates of X generated by other CAs
Reverse certificates: Certificates generated by X that are the certificates of other CAs
Revocation of Certificates:
Each certificate includes a period of validity.
A new certificate is issued just before the expiration of the old one.
In addition, it may be desirable to revoke a certificate before it expires, for one of the following reasons:
1. The user's private key is assumed to be compromised.
2. The user is no longer certified by this CA.
3. The CA's certificate is assumed to be compromised.
Each CA must maintain a list consisting of all revoked but not expired certificates issued by that CA.
Authentication Procedures:
X.509 also includes three alternative authentication procedures that are intended for use across a variety of
applications.
One-Way Authentication:
One way authentication involves a single transfer of information from one user (A) to another (B), and establishes
the following:
1. The identity of A and that the message was generated by A
2. That the message was intended for B
3. The integrity and originality of the message
Two-Way Authentication:
In addition to the three elements just listed, two-way authentication establishes the following elements:
1. The identity of B and that the reply message was generated by B
2. That the message was intended for A
3. The integrity and originality of the reply
Three-Way Authentication:
In three-way authentication, a final message from A to B is included, which contains a signed copy of the
nonce rB.
The intent of this design is that timestamps need not be checked
IP Security
IPSec provides the capability to secure communications across a LAN, across private and public WANs,
and across the Internet.
The principal feature of IPSec is that it can encrypt and/or authenticate all traffic at the IP level.
Benefits of IPSec:
When IPSec is implemented in a firewall or router, it provides strong security.
There is no need to change software on a user or server system when IPSec is implemented in the firewall
or router.
There is no need to train users on security mechanisms when users leave the organization.
IPSec can provide security for individual users if needed.
Routing Applications:
IPSec can assure that
A router advertisement comes from an authorized router
A neighbor advertisement comes from an authorized router.
A redirect message comes from the router to which the initial packet was sent.
A routing update is not forged.
IP Security Architecture:
1. Architecture: Covers the general concepts, security requirements, definitions, and mechanisms
defining IPSec technology.
2. Encapsulating Security Payload (ESP): provides encryption and, optionally, authentication.
3. Authentication Header (AH): provides packet authentication.
4. Encryption Algorithm: describes various encryption algorithms
5. Authentication Algorithm: describes various authentication algorithms
6. Key Management: describes key management schemes.
7. Domain of Interpretation (DOI): Contains values needed for the other documents to relate to each other.
IPSec Document Overview
IPSec Services:
IPSec provides security services at the IP layer by enabling a system to select required security protocols, determine
the algorithms to use for the services and put in place any cryptographic keys required to provide the requested
services.
Two protocols are used to provide security:
1. Authentication Header (AH) authentication protocol designated by the header of the protocol
2. Encapsulating Security Payload (ESP) combined encryption/authentication protocol designated by the
format of the packet for that protocol
The services are
Access control
Connectionless integrity
Data origin authentication
Rejection of replayed packets (a form of partial sequence integrity)
Confidentiality (encryption)
Limited traffic flow confidentiality
IPSec Services
SA Parameters:
A security association is normally defined by the following parameters:
1. Sequence Number Counter
2. Sequence Counter Overflow
3. Anti-Replay Window
4. AH Information
5. ESP Information
6. Lifetime of This Security Association
7. IPSec Protocol Mode
8. Path MTU
SA Selectors:
IPSec provides the user with considerable flexibility in the way in which IPSec services are applied to IP traffic.
1. Security Policy Database (SPD) Is related to specific SAs
Each SPD entry is defined by a set of IP and upper-layer protocol field values, called selectors.
Outbound processing obeys the following general sequence for each IP packet:
o Compare the values of the appropriate fields in the packet against the SPD to find a matching
SPD entry,
o Determine the SA if any for this packet and its associated SPI.
o Do the required IPSec processing
2. Source and Destination IP Address determines an SPD entry
May a single IP address, an enumerated list or range of addresses, or a wildcard (mask) address
3. UserID: A user identifier from the operating system
4. Data Sensitivity Level: Used for systems providing information flow security
5. Transport Layer Protocol: Obtained from the IPv4 Protocol or IPv6 Next Header field.
6. Source and Destination Ports: These may be individual TCP or UDP port values, an enumerated list of
ports, or a wildcard port.
Tunnel Mode
Tunnel mode provides protection to the entire IP packet.
The entire original packet travels through a "tunnel" from one point of an IP network to another.
Tunnel mode is used for router- router or firewall - firewall communication.
ESP in tunnel mode encrypts and optionally authenticates the entire inner IP packet, including the inner IP
header. AH in tunnel mode authenticates the entire inner IP packet and selected portions of the outer IP
header.
Authentication Header
The Authentication Header provides support for data integrity and authentication of IP packets.
Prevents the address spoofing attacks
Detects malicious modifications
Detect replays via sequence numbers
Authentication is based on the use of a message authentication code (MAC)two parties must share a secret key.
Fields of AH:
1. Next Header (8 bits): Identifies the type of header immediately following this header.
2. Payload Length (8 bits): Length of Authentication Header in 32-bit words, minus 2.
3. Reserved (16 bits): For future use.
4. Security Parameters Index (32 bits): Identifies a security association.
5. Sequence Number (32 bits): A monotonically increasing counter value
6. Authentication Data (variable): Variable-length field that contains Integrity Check Value (ICV), or MAC.
IPSec Authentication Header
Anti-Replay Service:
Detection of duplicate packets
A replay attack is one in which an attacker obtains a copy of an authenticated packet and later transmits it to
the intended destination.
The Sequence Number field is designed to thwart such attacks.
Sequence numbers:
Associated with SA
32 bit value
When a new SA is established, the sender initializes a sequence number counter to 0.
If anti-replay is enabled (the default), the sender must not allow the sequence number to cycle past 2 32 -1
back to zero.
If the limit of 232 -1 is reached, the sender should terminate this SA and negotiate a new SA with a new key.
Problem:
IP is a connectionless, unreliable service, the protocol does not guarantee that packets will be delivered in order and
does not guarantee that all packets will be delivered.
Solution:
Window based mechanism implemented at the receiver side with a default of W = 64.
The right edge of the window represents the highest sequence number N.
If the received packet falls within the window
o If authenticated and unmarked, mark it
o If marked, then replay
If the received packet is > N
o If authenticated, the window is advanced so that this sequence number is the right edge and marked.
If the received packet is < = N-W
o If authentication fails, the packet is discarded
Anti-replay Mechanism
Integrity Check Value (ICV):
ICV is a MAC or a truncated version of a code produced by a MAC algorithm.
Supports HMAC
The current specification dictates that a compliant implementation must support
o MD5
o SHA-1
Full HMAC value is calculated but then truncated by using the first 96 bits, which is the default length for
the Authentication Data field.
Scope of AH Authentication
1. For transport mode AH using IPv4, the AH is inserted after the original IP header and before the
IP payload
Authentication covers the entire packet, excluding mutable fields in the IPv4 header
In the context of IPv6, AH is viewed as an end-to-end payload and it is not examined or processed
by intermediate routers.
Therefore, the AH appears after the IPv6 base header and the hop-by-hop , routing, and fragment extension
headers.
Authentication covers the entire packet, excluding mutable fields that are set to zero for MAC calculation.
2. For tunnel mode AH, the entire original IP packet is authenticated, and the AH is inserted between the
original IP header and a new outer IP header.
With tunnel mode, the entire inner IP packet, including the entire inner IP header is protected by AH.
The outer IP header (and in the case of IPv6, the outer IP extension headers) is protected except for mutable
and unpredictable fields.
Encapsulating Security Payload
The Encapsulating Security Payload provides confidentiality services
1. Confidentiality of message contents
2. Limited traffic flow confidentiality
3. Optionally authentication service.
Supports range of encryption modes:
RC5, IDEA, Three-key triple IDEA, CAST and Blowfish
ESP Format:
1. Security Parameters Index (32 bits): Identifies a security association.
2. Sequence Number (32 bits): Increasing counter value
3. Payload Data (variable): This is a transport-level segment (transport mode) or IP packet (tunnel mode) that
is protected by encryption.
4. Padding (0255 bytes): The purpose of this field is discussed later.
5. Pad Length (8 bits): Indicates the number of pad bytes immediately preceding this field.
6. Next Header (8 bits): Identifies the type of data contained in the payload data field by identifying the first
header.
7. Authentication Data (variable): A variable-length field
Padding:
The Padding field serves several purposes:
Encryption algorithm requires that the plaintext to be expanded to the required length
The ESP format requires 32-bit word
Additional padding may be added to provide partial traffic flow confidentiality by concealing the actual
length of the payload.
Transport Mode ESP:
Transport mode ESP is used to encrypt and optionally authenticate the data carried by IP.
Transport mode operation provides data confidentiality but left the IP header in clear.
One drawback to this mode is that it is possible to do traffic analysis on the transmitted packets.
Used mostly for end-end traffic
Key Management
IPSec Architecture document mandates support for two types of key management:
1. Manual: A system administrator manually configures each system with its own keys.
2. Automated: An automated system enables the on-demand creation of keys for SAs.
The default automated key management protocol for IPSec is referred to as
1. ISAKMP
2. Oakley
Oakley Key Determination Protocol:
Oakley is a refinement of the Diffie-Hellman key exchange algorithm.
The Diffie-Hellman algorithm has two attractive features:
Secret keys are created only when needed.
The exchange requires no preexisting infrastructure other than an agreement on the global parameters.
Weaknesses to Diffie-Hellman:
It is subject to a man-in-the-middle attack
Features of Oakley
The Oakley algorithm is characterized by five important features:
1. It employs a mechanism known as cookies to thwart clogging(denial of service) attacks.
2. It enables the two parties to negotiate a group
3. It uses nonces to ensure against replay attacks.
4. It enables the exchange of Diffie-Hellman public key values.
5. It authenticates the Diffie-Hellman exchange to thwart man-in-the-middle attacks using symmetric or
asymmetric encryption.
ISAKMP:
Internet Security Association and Key Management Protocol defines procedures and packet formats to
establish, negotiate, modify, and delete security associations.
It is not a key exchange protocol.
ISAKMP Header Format:
An ISAKMP message consists of an ISAKMP header followed by one or more payloads.
Based on the concept of DOI (Domain of Interpretation)
It consists of the following fields:
1. Initiator Cookie (64 bits): Cookie of entity that initiated SA establishment, SA notification, or SA deletion.
2. Responder Cookie (64 bits): Cookie of responding entity; null in first message from initiator.
3. Next Payload (8 bits): Indicates the type of the first payload in the message; payloads are discussed in the
next subsection.
4. Major Version (4 bits): Indicates major version of ISAKMP in use.
5. Minor Version (4 bits): Indicates minor version in use.
6. Exchange Type (8 bits): Indicates the type of exchange; these are discussed later in this section.
7. Flags (8 bits): Indicates specific options set for this ISAKMP exchange.
8. Message ID (32 bits): Unique ID for this message.
9. Length (32 bits): Length of total message (header plus all payloads) in octets.
ISAKMP Exchanges:
ISAKMP provides a framework for message exchange, with the payload types serving as the building blocks.
The specification identifies five default exchange types that should be supported.
1. The Base Exchange allows key exchange and authentication material to be transmitted together. This
minimizes the number of exchanges.
2. The Identity Protection Exchange expands the Base Exchange to protect the users' identities.
3. The Authentication Only Exchange is used to perform mutual authentication, without a key exchange.
4. The Aggressive Exchange minimizes the number of exchanges at the expense of not providing identity
protection.
5. The Informational Exchange is used for one-way transmittal of information for SA management.
S/MIME
S/MIME (Secure/ Multipurpose Internet Mail Extension) is a security enhancement to the MIME- Internet
e-mail format standard, based on technology from RSA Data Security.
Five message header fields: The next two subsections deal with content formats and transfer encodings.
1. MIME-Version: Must have the parameter value 1.0.
2. Content-Type: Describes the data contained in the body with sufficient detail.
3. Content-Transfer-Encoding: Indicates the type of transformation.
4. Content-ID: Used to identify MIME entities.
5. Content-Description: A text description of the object with the body.
S/MIME Functionality:
S/MIME provides the following functions:
1. Enveloped data: This consists of encrypted content of any type and encrypted-content encryption keys for
one or more recipients.
2. Signed data: A digital signature is formed by taking the message digest of the content to be signed.
3. Clear-signed data: As with signed data, a digital signature of the content is formed.
4. Signed and enveloped data: Signed-only and encrypted-only entities may be nested.
Cryptographic Algorithms
S/MIME uses the following terminology, taken from RFC 2119 to specify the requirement level:
1. Must: The definition is an absolute requirement of the specification. An implementation must include this
feature or function to be in conformance with the specification.
2. Should: There may exist valid reasons in particular circumstances to ignore this feature or function. But it
is recommended that an implementation include the feature or function.
Cryptographic Algorithms Used in S/MIME:
SHA-1
MD5
RSA
Diffie-Hellman and HMAC
3. For each recipient, prepare a block known as RecipientInfo that contains an identifier of the recipient's public-
key certificate, an identifier of the algorithm used to encrypt the session key, and the encrypted session key.
4. Encrypt the message content with the session key.
SignedData:
The signedData smime-type can actually be used with one or more signers.
The steps for preparing a signedData MIME entity are as follows:
1. Select a message digest algorithm (SHA or MD5).
2. Compute the message digest, or hash function, of the content to be signed.
3. Encrypt the message digest with the signer's private key.
4. Prepare a block known as SignerInfo that contains the signer's public-key certificate, an identifier of the
message digest algorithm,
Clear Signing:
Clear signing is achieved using the multipart content type with a signed subtype.
This signing process does not involve transforming the message to be signed, so that the message is sent "in
the clear."
Thus, recipients with MIME capability but not S/MIME capability are able to read the incoming message.
Registration Request:
The certification request includes certificationRequestInfo block, followed by an identifier of the public-key
encryption algorithm, followed by the signature of the certificationRequestInfo block, made using the
sender's private key.
The certificationRequestInfo block includes a name of the certificate subject and a bit-string representation
of the user's public key.
Operational Description:
The actual operation of PGP consists of five services:
1. Authentication
2. Confidentiality
3. Compression
4. E-mail compatibility
5. Segmentation
1. Authentication:
The sequence is as follows:
The sender creates a message. SHA-1 is used to generate a 160-bit hash code of the message.
The hash code is encrypted with RSA using the sender's private key, and the result is prepended to the
message.
The receiver uses RSA with the sender's public key to decrypt and recover the hash code.
The receiver generates a new hash code for the message and compares it with the decrypted hash code. If
the two match, the message is accepted as authentic.
As an alternative, signatures can be generated using DSS/SHA-1.
Detached signatures are supported. A detached signature may be stored and transmitted separately from the
message it signs.
2. Confidentiality:
Confidentiality is provided by encrypting messages to be transmitted or to be stored locally as files.
Symmetric encryption algorithm CAST-128 may be used.
As an alternative PGP provides an option referred to as Diffie-Hellman.
3. Compression:
PGP compresses the message after applying the signature but before encryption. The placement of the
compression algorithm, indicated by Z for compression and Z -1 for decompression. The signature is
generated before compression or after compression.
Message encryption after compression:
Message encryption is applied after compression to strengthen cryptographic security.
Because the compressed message has less redundancy than the original plaintext, cryptanalysis is more
difficult. The compression algorithm used is ZIP.
4. E-mail Compatibility:
When PGP is used, at least part of the block to be transmitted is encrypted.
If only the signature service is used, then the message digest is encrypted.
If the confidentiality service is used, the message plus signature are encrypted.
Radix-64:
The scheme used for this purpose is radix-64 conversion. Each group of three octets of binary data is
mapped into four ASCII characters. The use of radix 64 expands a message by 33%.
Key Identifiers:
The technique adopted by PGP is to assign a key ID to each public key that is unique within a user ID.
The key ID associated with each public key consists of its least significant 64 bits. That is, the key ID of
public PUa is ( PUa mod 2 64 ).
A key ID is also required for the PGP digital signature.
Key Rings:
The scheme used in PGP is to store and organize the key is a pair of data structures at each node.
These data structures are referred to, respectively, as the private-key ring and the public-key ring.
We can view the ring as a table, in which each row represents one of the public/private key pairs owned by this user.
Each row contains the following entries:
1. Timestamp
2. Key ID
3. Public key
4. Private key
Private key ring:
The private-key ring can be indexed by either User ID or Key ID.
It is intended that the private-key ring be stored only on the machine of the user that created and owns the
key pairs, and that it be accessible only to that user.
Public key ring:
The public-key ring can be indexed by either User ID or Key ID
This data structure is used to store public keys of other users that are known to this user. This table includes the
following fields:
1. Timestamp
2. Key ID
3. Public Key
4. User ID
Usage of key rings in message transmission and reception:
First consider message transmission and assume that the message is to be both signed and encrypted. The sending
PGP entity performs the following steps:
Web Security
Secure Socket Layer and Transport Layer Security:
Netscape originated SSL.
SSL Architecture:
SSL is designed to make use of TCP to provide a reliable end-to-end secure service.
SSL is not a single protocol but rather two layers of protocols.
4.2 SSL Protocol Stack
Connection:
A connection is a transport that provides a suitable type of service.
Such connections are peer-to-peer relationships.
The connections are transient.
Every connection is associated with one session.
Session:
A session is an association between a client and a server.
Sessions are created by the Handshake Protocol.
Sessions define a set of cryptographic security parameters, which can be shared among multiple
connections.
A session state is defined by the following parameters:
Session identifier, Peer certificate, Compression method, Cipher spec, Master secret and Is resumable
A connection state is defined by the following parameters:
Server and client random, Server write MAC secret, Client write MAC secret, Server write key, Client write
key, Initialization vectors and Sequence numbers
Alert Protocol:
The Alert Protocol is used to convey SSL- related alerts to the peer entity.
Alert messages are compressed and encrypted, as specified by the current state.
Each message in this protocol consists of two bytes.
The first byte takes the value warning (1) or fatal (2) to convey the severity of the message.
The second byte contains a code that indicates the specific alert.
Handshake Protocol:
This protocol allows the server and client to authenticate each other
The Handshake Protocol is used before any application data is transmitted.
The Handshake Protocol consists of a series of messages exchanged by client and server.
Each message has three fields:
Type (1 byte): Indicates one of 10 messages.
Length (3 bytes): The length of the message in bytes.
Content ( 0 bytes): The parameters associated with this message.
Version Number:
The TLS Record Format is the same as that of the SSL Record Format, and the fields in the header have the
same meanings.
The one difference is in version values.
For the current version of TLS, the Major Version is 3 and the Minor Version is 1.
Alert Codes:
TLS supports all of the alert codes defined in SSLv3 with the exception of no_certificate.
A number of additional codes are defined in TLS; of these, the following are always fatal:
1. decryption_failed
2. record_overflow
3. unknown_CA
4. access_denied
5. decode_error
6. protocol_version
7. internal_error
SET Participants:
Participants in the SET system, which include the following:
Cardholder
Merchant
Issuer
Acquirer
Payment gateway
Certification authority
Sequence of events that are required for a transaction:
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 requests payment authorization.
8. The merchant confirms the order.
9. The merchant provides the goods or service.
10. The merchant requests payment.
Dual Signature
The purpose of the dual signature is to link two messages that are intended for two different recipients.
In this case, the customer creates dual signature
1. Order information (OI) to the merchant
2. Payment information (PI) to the bank.
Construction of digital signature:
1. The customer takes the hash (using SHA-1) of the PI and the hash of the OI.
2. These two hashes are then concatenated
3. Again the result is subjected to hash.
4. Finally, the customer encrypts the final hash with his private signature key, creating the dual
signature.
The operation can be summarized as
DS = E( PR c , [H(H(PI) || H(OI))])
Where PR c is the customer's private signature key.
Payment Processing:
Transaction types supported by SET.
Purchase request
Payment authorization
Payment capture
Purchase Request:
The purchase request exchange consists of four messages:
1. Initiate Request
2. Initiate Response
3. Purchase Request
4. Purchase Response
1. The customer requests the certificates in the Initiate Request message, sent to the merchant.
2. The merchant generates a response and signs it with its private signature key.
3. The cardholder prepares the Purchase Request message.
4. The Purchase Response message includes a response block that acknowledges the order and references the
corresponding transaction number.
This block is signed by the merchant using its private signature key.
The block and its signature are sent to the customer, along with the merchant's signature certificate.
When the cardholder software receives the purchase response message, it verifies the merchant's
certificate and then verifies the signature on the response block.
Finally, it takes some action based on the response, such as displaying a message to the user or updating
a database with the status of the order.
Payment Authorization:
This authorization guarantees that the merchant will receive payment; the merchant can therefore
provide the services or goods to the customer.
The payment authorization exchange consists of two messages:
1. Authorization Request
2. Authorization response.
Authorization Request
The merchant sends an Authorization Request message to the payment gateway consisting of the following:
Purchase-related information: This information was obtained from the customer and consists of
PI
Dual Signature
OI message digest (OIMD)
Digital Envelope
Authorization-related information: This information is generated by the merchant and consists of
An authorization block that includes the transaction ID
Digital Envelope
Certificates
Authorization Response
Then payment gateway returns an Authorization Response message to the merchant. It includes the following
elements:
Authorization-related information which includes an
Authorization block
Digital envelope
Capture token information this information will be used to effect payment later. This block is a signed,
encrypted capture token together with a digital envelope. This token is not processed by the merchant.
Payment Capture:
To obtain payment, the merchant engages the payment gateway in a payment capture transaction, consisting
of
1. Capture request
2. Capture response message
For the Capture Request message, the merchant generates, signs, and encrypts a capture request block, which
includes the payment amount and the transaction ID.
o When the payment gateway receives the capture request message, it decrypts and verifies the
capture request block capture token block.
o It then creates a clearing request that is sent to the issuer over the private payment network.
o This request causes funds to be transferred to the merchant's account.
The gateway then notifies the merchant of payment in a Capture Response message.
o The message includes a capture response block that the gateway signs and encrypts.
o The message also includes the gateway's signature key certificate.