Secure Electronic Transaction (Set Protocol) : Yang Li & Yun Wang
Secure Electronic Transaction (Set Protocol) : Yang Li & Yun Wang
(SET protocol)
Yang Li &
Yun Wang
1
1. Introduction
Secure payment systems are critical to the success of E-commerce. There are
four essential security requirements for safe electronic payments (Authentication,
Encryption, Integrity and Non-repudiation). Encryption is the key security
schemes adopted for electronic payment systems, which is used in protocols like
SSL and SET.
The SSL protocol, widely deployed today on the Internet, has helped create a
basic level of security sufficient for some hearty souls to begin conducting
business over the Web. SSL is implemented in most major Web browsers used
by consumers, as well as in merchant server software, which supports the
seller's virtual storefront in cyberspace. Hundreds of millions of dollars are
already changing hands when cybershoppers enter their credit card numbers on
Web pages secured with SSL technology.
In this sense, SSL provides a secure channel to between the consumer and the
merchant for exchanging payment information. This means any data sent
through this channel is encrypted, so that no one other than these two parties will
be able to read it. In other words, SSL can give us confidential communications,
it also introduces huge risks:
! The cardholder is protected from eavesdroppers but not from the merchant.
Some merchants are dishonest: pornographers have charged more than
advertised price, expecting their customers to be too embarrassed to
complain. Some others are just hackers who put up a snazzy illegal Web site
and profess to be the XYZ Corp., or impersonate the XYZ Corp. and
collecting credit card numbers for personal use.
2
! The merchant has not protected from dishonest customers who supply an
invalid credit card number or who claim a refund from their bank without
cause. Contrary to popular belief, it is not the cardholder but the merchant
who has the most to lose from fraud. Legislation in most countries protects
the consumer.
What we want here is a protocol very similar to credit card transactions at a local
store, something SSL doesn’t mimic in functionality. SET is the one.
Purpose
The purpose of the SET protocol is to establish payment transactions that
! provide confidentiality of information;
! ensure the integrity of payment instructions for goods and services
order data;
! authenticate both the cardholder and the merchant .
Main Entities
There are four main entities in SET:
! Cardholder (customer)
! Merchant (web server)
! Merchant’s Bank (payment gateway, acquirer): payment gateway is a
device operated by an acquirer. Sometime, separate these two
entities.
! Issuer (cardholder’s bank)
3
7. Merchant completes the order and sends confirmation to the
customer
8. Merchant captures the transaction from their bank
9. Issuer prints credit card bill (invoice) to customer
3. SET Cryptography
3.1. Overview
4
consumer to send a secure message to that merchant. This is why SET uses
both methods in its encryption process. The secret-key cryptography used in
SET is the well-known Data Encryption Standard (DES), which is used by
financial institutions to encrypt PINs (personal identification numbers). And the
public-key cryptography used in SET is RSA. In the following section, the usage
of symmetric (secret-key) and asymmetric (public-key) key encryption in SET will
be discussed.
This level of encryption, using DES, can be easily cracked using modern
hardware. In 1993, a brute-force DES cracking machine was designed by
Michael Wiener – one which was massively parallel. For less than a million
dollars, a 56-bit DES key could be cracked in average time of 3.5 hours. For a
billion dollars, a parallel machine can be constructed that cracks 56-bit DES in a
second (Schneier, 1996). Obviously, this is of great concern since DES encrypts
the majority of a SET transaction.
In SET, the public key cryptography is only used to encrypt DES keys and for
authentication (digital signature) but not for the main body of the transaction. In
SET, the RSA modulus is 1024 bits in length (Using the latest factoring results it
appears that factoring a 1024-bit modulus would require over 100,000,000,000
MY of computational effort). To generate the digital signature, SET uses a
distinct public/private key. Each SET participant possesses two asymmetric key
pairs: a “key exchange” pair, which is used in the process of section key
encryption and decryption, and a “signature” pair for the creation and verification
of digital signatures (160-bit message digests).
The algorithm is such that changing a single bit in the message will change, on
average, half of the bits in the message digest. Approximately, the possibility of
two messages having the same message digest is one in
1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000, which
means it is computationally unfeasible to generate two different messages that
have the same message digest.
5
Figure 1- Cardholder Sends Purchase Request / Merchant Verifies
Customer Purchase Request
3.4. RSA-OAEP
RSA-OAEP (RSA Encryption Scheme - Optimal Asymmetric Encryption Padding)
was proposed by Bel-lare and Rogaway in 1994 which is one of the innovations
of SET. RSA-OAEP public-key encryption scheme combines the encoding
method of OAEP with the encryption primitive RSA. RSA-OAEP takes a plaintext
as input, transforms it into an encoded message via OAEP and apply RSAEP
(RSA encryption primitive) to the result (interpreted as an integer) using an RSA
public key. RSA-OAEP is intended to be both efficient and secure and is
designed to encrypt only short messages--typically secret keys for symmetric
6
encryption or MAC algorithms. OAEP ties the security of RSA encryption closely
to that of the basic RSA operation. The version of OAEP used in SET is a more
advanced version of the original scheme. While existing message formatting
methods for RSA encryption have no known flaw, the provable security aspects
of OAEP are very appealing. OAEP is very new but already it is a part of the
IEEE P1363 standards effort.
7
In SET, dual signatures are used to link an order message sent to the merchant
with the payment instructions containing account information sent to the acquirer
(merchant bank). When the merchant sends an authorization request to the
acquirer, it includes the payment instructions sent to it by the cardholder and the
message digest of the order information. The acquirer uses the message digest
from the merchant and computes the message digest of the payment instructions
to check the dual signatures.
4. SET Process
8
Table 1- Fields in Payment Initialization
Field Information
RRPID Request/Response Pair ID
Language Customer’s Language
LID_C Customer’s Local ID
[LID_M] Merchant’s Local ID
Chall_C Customer’s challenge salt to Merchant’s signature freshness
BrandID Card Brand (VISA, Master etc.)
BIN Bank ID Number
Thumbs Thumbnails (hashes) of of certificates known to Customer
5. Certificates Insurance
9
Before two parties use public-key cryptography to conduct business, each wants
to be sure that the other party is authenticated. One way to be sure that the
public key belongs to the right party is to receive it over a secure channel directly
from the same place. However, in most circumstances this solution is not
practical.
10
multiple certificate pairs per merchant. A merchant will have a pair of certificates
for each payment card brand that it accepts.
Root Signaute
Brand Signaure
Geo-Political Signature
(Optional)
11
Figure 3- Hierarchy of Trust
5.2. Registration
5.2.1. Participants Registration
As described in section 1, both the cardholder and the merchant have to register
with a CA before they can do transactions. And the registration processes have
to be secure enough, since these two processes involve sensitive details.
Cardholder Registration
This process comprised 6 messages between two parties: cardholder and Issuer
(CA).
1. The cardholder initiates request to the CA.
2. After the CA receives message 1 from the cardholder, the CA replies. The
message includes the CA’s public key-exchange key certification signed by
root CA, CA’s signature certificate and the initial request encrypted using
CA’s private key.
3. The cardholder request a registration form in this message. He randomly
generates a symmetric key K1, which is used to encrypt the request, and
sends this along with a digital envelop including key K1 and his credit card
number.
4. The CA determines the cardholder’s issuing bank by the credit card number
and returns the appropriate the form, which is signed by the CA and along
with CA’s signature certificate.
5. The cardholder generates a public/private signature key pair, two symmetric
keys K2, K3 and a random number S1. He creates a message with his filled
registration form, public key, and K2, and its digital signature. This message
is encrypted using K3 and sent with a digital envelop including K3 and card
number.
6. The CA verifies the information, then issue a digital ID to CA. The CA
generates a secret value using the random number S2 generated by the CA
and S1. This secret value, the account number and the expiration date
further feed into a one-way hashing to generate a secret number. The CA
signs the certificate includes this secret number and the cardholder’s public
signature key. Then, CA sends this certificate encrypted using K2 along with
and its signature certificate.
This registration process includes 3 steps. The first two messages are about to
get CA’s public key. Once the cardholder has CA’s key-exchange key, he can
request a registration form in message 3 and 4. The certificate is in the last 2
messages.
Merchant Registration
12
The Merchant’ registration is simpler than cardholder’s, which include 4
messages. The first two messages are almost same as cardholder’s, except in
the second message the registration form has been sent. The merchant has to
generate two public/private key pairs – one is for signature, the other is for key-
exchange—instead of one pair compared to the cardholder.
The registration protocol has been proved to be secure [3]. But there are two
risks to cause insecure. The first is that the cardholder is not required to generate
a fresh signature key pair, but may register an old one. There is a risk that the
old one could be compromised. And another problem is that the secret value
generation mentioned above which is the exclusive-OR of numbers (S1, S2)
chosen by two parties. Since exclusive-OR is invertible, a criminal working for a
CA can give every cardholder the same secret value. This combination
introduces some risk that a criminal can impersonate the cardholder.
These two problems are fixable. The first insecurity can be repaired in the
cardholder’s implementation. The second one can be fixed by replacing
exclusive-OR by one-way hashing.
6. Security of SET
! Symmetric encryption
– DES (Data Encryption Standard) : 56bit key, protect financial data
– CDMF (Commercial Data Masking Facility) : 40 bit key, protect acquire-to
cardholder message
! Asymmetric encryption and digital signature : RSA
! Hash function : SHA-1
! Message Authentication Code : HMAC (based on SHA-1)
! Certificates (5 kinds)
–Cardholder, Merchant, Acquirer, Issuer, Payment Gateway
13
! Hardware cryptographic modules (for high security)
7. Future of SET
SET can work in Real Time or be a store and forward transfer, and is industry
backed by the major credit card companies and banks. Its transaction can be
accomplished over the WEB or via email. It provides confidentiality, integrity,
authentication, and, or non-repudiation.
Confidentiality
! payment info is secure
! but order info is not secure
Data Integrity
! Uses mathematical techniques to minimize corruption or detect malicious
tamper
Client Authentication
14
! Digital ID (certificate) used to identify costumer
! Digital ID (certificate) checked via the card’s Issuer
Merchant Authentication
! Digital certificate again used as a back check for confirming the merchant
is valid
! The check generally against a dB held by the issuer of the card
Interoperability
! Has not been achieved
! IBM and VeriFone(Hewlett-Packard) are working together to make their
individual products interoperable.
! Results in many different “interoperable” versions of SET, instead a single
protocol
SET is safe since it addresses all the parties involved in typical credit card
transactions: consumers, merchants, and the banks. Besides the interoperability
problem, it has difficulties to spread since it needs all the participants to have
some part of the software, even very expensive hardware. It may be clearly in
the interests of the credit card companies and banks, but it looks quite different
from the perspective of merchants and consumers. In order to process SET
transactions, the merchants have to spend several million dollars in equipment
and services when they already have what are arguably sufficient security
provisions in SSL. To consumers, they have to install software, “Anything that
requires consumers to take an extra step deters them from adopting it,” Vernon
Keenan, a senior analyst at Zona Research argues.
15
References:
[1] Nikki Goth Itoi. PROMISES, PROMISES What ever happened to SET?
http://www.herring.com/mag/issue51/promises.html
16