2 INTRODUCTION TO CRYPTOGRAPHY
2.1 PREFACE
2.2 BASIC TERMINOLOGY
2.3 BASIC CRYPTOGRAPHIC ALGORITHMS
2.4 DIGITAL SIGNATURES
2.5 CRYPTOGRAPHIC HASH FUNCTIONS
2.6 CRYPTOGRAPHIC RANDOM NUMBER GENERATORS
2.7 STRENGTH OF CRYPTOGRAPHIC ALGORITHMS
2.8 CRYPTANALYSIS AND ATTACKS ON CRYPTOSYSTEMS
2.9 A SAMPLE CRYPTOGRAPHIC ALGORITHM:
3.1 HOW DOES IT WORK?
3.2 PAYMENT VERIFICATION/ACCESS CONTROL
3.3 A TYPICAL CREDIT CARD TRANSACTION ON THE NET (IBILL
EXAMPLE)
3.4 THE BENEFITS OF CREDIT CARDS AS A MODE OF PAYMENT IN
THE EPS
3.5 MAGNETIC STRIPE CARDS
3.6 THE SMART CARDS
4. ELECTRONIC CASH PAYMENT SYSTEMS
4.1 INTRODUCTION
4.2 THE ECASH CONCEPT
4.3 ECASH TODAY
4.4 THE EASE OF USING ECASH
5.1 BACKGROUND
5.2 WHAT ARE MICRO PAYMENTS
5.3 PROBLEMS WITH EXISTING OPTIONS FOR ELECTRONIC PAYMENTS
5.4 PROTOCOLS FOR MICRO PAYMENTS
5.5 MILLICENT PROTOCOL
5.5.1 SECURITY AND TRUST
5.5.2 SCRIP
5.5.3 VALIDATION AND EXPIRATION
5.5.4 PROPERTIES
5.5.5 VARIOUS MILLICENT PROTOCOLS
5.5.6 BROKERS
5.5.7 SCRIP WAREHOUSE
5.5.8 LICENSED SCRIP PRODUCTION
5.5.9 MULTIPLE BROKERS
5.5.10 CUSTOMER, BROKER, AND VENDOR INTERACTIONS
5.6 PRESENT STATUS OF MILLICENT
5.7 OTHER PROTOCOLS
5.7.1 IBM’S IKP
5.7.2 MPTP
5.7.3 NETBILL
6. EPS - PROSPECTS FOR THE FUTURE
6.1 SECURITY
6.2 ACCOUNTING FOR LARGE NUMBER OF SMALL TRANSACTIONS
6.3 STANDARDIZATION AND COMPATIBILITY
6.4 POLICY AND REGULATORY ISSUES
6.5 DESIRED FEATURES
The earliest human societies did not need money. Instead, goods were bartered or swapped. In other words, if you grew some corn, but wanted a new shear, you could exchange some of your corn for a new shear from the blacksmith. You would have to haggle over the value of the shear to you, as would the blacksmith. Bartering is primitive, but it only works if both parties want the goods on offer for exchange. What if the blacksmith didn't want your corn, but your cow? Could you afford to lose the animal? What if you needed the shear now but couldn't part with the corn or the cow until the next summer?
The oldest written records of money are from Ancient Mesopotamia (now
in southern Iraq) about 4,500 years ago. About 3,500 years ago tiny Cowrie
shells from the Indian Ocean were used in China as a means of exchange.
Even the Chinese symbols for buying, bartering and selling incorporate
the symbol for the Cowrie shell. The shells were still being used as currency
in parts of Africa as late as the 19th Century. Ancient Mesopotamian inscriptions
describe payments being made with weighed amounts of silver. Since then,
weighed amounts of metal have been used as money in many parts of the world,
and this practice led to the invention of coins. Then came intrinsic value
need not be equal to the face value. Coins are just pieces of metal marked
with a special design that indicates its use as money. Unlike precious
metals, however, coins do not need to have any value in themselves. They
only represent value. True coinage developed in Asia Minor during the 7th
century BC in what is now Turkey. Weighed lumps of ‘electrum’ (a mixture
of gold and silver) were used by the Lydians as money, and were stamped
with pictures, a practice known as minting, as a guarantee of their purity.
These irregular lumps were eventually standardized in shape and weight.
The same idea was developed elsewhere to standardize other forms of metal
money: copper lumps in southern USSR and Italy, bronze tools and shells
in China, silver rings in Thailand, and gold and silver bars in Japan.
As soon as coins were commonplace, however, people realised their limitations
- chiefly their weight and bulk, and a new type of money was needed which
made larger transactions easier.
During the 10th century, the Chinese started to leave their heavy iron coins with merchants and to use hand written receipts instead. The government, who issued the coins, adopted this idea in the early 11th century, when receipts were printed which were given fixed values. This practice evolved and spread, with gold and silver being deposited in exchange for receipts (often with Goldsmiths), as well as coins. The goldsmiths profited from the gold and silver by charging interest on new loans, and eventually Banks emerged which assured the value of their notes and people no longer exchanged them for the original cash deposit. The notes became currency.
The first official printed notes were issued in 1661 - by the Swedish Stockholm Bank. The exchanges of notes for coins and precious metal took place on benches, hence the term "Bank", from "banco" - the Italian for bench.
Forgery, and the frequency of issuers going out of business, led to governments often taking over the issue of notes and coins, storing the gold or silver reserves to back them up in places such as the Tower of London, in England. Even banknotes had their limits. Although you may have money in the bank, to get to it requires your having banknotes to hand. This is expensive (money has to be printed and circulated), as well as risky (the money could be stolen or forged). Banks sought a way of exchanging their customers money without the medium of notes. Cheques, printed by Banks, allowed their customers to write "exchange" notes to their other customers, or customers of other banks. Money could then change hands without involving any notes or coins.
Despite the popularity of credit and debit cards, the vast majority
of all transactions worldwide are still carried out with cash. Cash remains
the only universally acceptable form of payment - even when a retailer
doesn't accept a particular credit card, cash will be taken. When it is,
the exchange of value is immediate. No clearing or processing is needed,
no signatures and no electronic transfers. Smart cards have been used as
cash substitutes for a decade, in phone cards, vending cards and transit
cards. However, the value stored on these cards has already been paid,
and cannot usually be exchanged for other goods and services. A true cash
alternative, replicating the core features of notes and coins, would have
to be universally recognised and acceptable. Like cash, transactions would
have to offer immediate transfers of value. Finally, like hard cash, electronic
cash has to enable easy person to person payments. Electronic cash also
has to be able to work in different currencies. And it would have to be
secure from forgery.
1. Secure
· ensure positive identity of customer
· safeguard against breaches of personal privacy
· data not altered as it is sent
2. Scaleable
· number of users rapidly rising
3. Allow anonymity
· untraceable i.e. who spends - how much -where
4. Incur low transaction costs
5. Compatible and interchangeable
6. Reliable and accurate accountability
As we move into an information society, the technological means for
global surveillance of millions of individual people are becoming available
to major governments. Cryptography has become one of the main tools for
privacy, trust, access control, electronic payments, corporate security,
and countless other fields. Cryptography is no longer a military
thing that should not be messed with. It is time to demystify cryptography
and make full use of the advantages it provides for the modern society.
Widespread cryptography is also one of the few defenses people have against
suddenly finding themselves in a totalitarian surveillance society that
can monitor and control everything they do.
Cryptography is the art or science of keeping messages secret. Cryptanalysis is the art of breaking ciphers, i.e. retrieving the plaintext without knowing the proper key. People who do cryptography are cryptographers, and practitioners of cryptanalysis are cryptanalysts.
Cryptography deals with all aspects of secure messaging, authentication,
digital signatures, electronic money, and other applications. Cryptology
is the branch of mathematics that studies the mathematical foundations
of cryptographic methods.
Modern cryptographic algorithms cannot really be executed by humans.
Strong cryptographic algorithms are designed to be executed by computers
or specialized hardware devices. In most applications, cryptography is
done in computer software, and numerous cryptographic software packages
are available. Generally, symmetric algorithms are much faster to
execute on a computer than asymmetric ones. In practice
they are often used together, so that a public-key algorithm is used
to encrypt a randomly generated encryption key, and the random key is used
to encrypt the actual message using a symmetric algorithm. Many good
cryptographic algorithms are widely and publicly available in any major
bookstore, scientific library, or patent office, and on the Internet. Well-known
symmetric functions include DES and IDEA. RSA is probably the best known
asymmetric algorithm.
Digital signatures can also be used to testify (or certify) that a public
key belongs to a particular person. This is done by signing the combination
of the key and the information about its owner by a trusted key. The reason
for trusting that key may again be that it was signed by another trusted
key. Eventually some key must be a root of the trust hierarchy (that is,
it is not trusted because it was signed by somebody, but because you believe
a priori that the key can be trusted). In a centralized key infrastructure
there are very few roots in the trust network (e.g., trusted government
agencies; such roots are also called certification authorities).
In a distributed infrastructure there need not be any universally accepted
roots, and each party may have different trusted roots (such of the party's
own key and any keys signed by it). This is the web of trust concept used
e.g. in PGP. A digital signature of an arbitrary document is
typically created by computing a message digest from the document, and
concatenating it with information about the signer, a timestamp, etc. The
resulting string is then encrypted using the private key of the signer
using a suitable algorithm. The resulting encrypted block of bits is the
signature. It is often distributed together with information about the
public key that was used to sign it. To verify a signature, the recipient
first determines whether it trusts that the key belongs to the person
it is supposed to belong to (using the web of trust or a priori knowledge),
and then decrypts the signature using the public key of the person. If
the signature decrypts properly and the information matches that of the
message (proper message digest etc.), the signature is accepted as valid.
Several methods for making and verifying digital signatures are freely
available. The most widely known algorithm is RSA.
Many good cryptographic hash functions are freely available. Well-known
ones include MD5 and SHA.
It should be emphasized that the strength of a cryptographic system
is usually equal to its weakest point. No aspect of the system design should
be overlooked, from the choice algorithms to the key distribution and usage
policies.
Ciphertext-only attack:
This is the situation where the attacker does not know anything about the contents of the message, and must work from ciphertext only. In practice it is quite often possible to make guesses about the plaintext, as many types of messages have fixed format headers. Even ordinary letters and documents begin in a very predictable way. It may also be possible to guess that some ciphertext block contains a common word.
Known-plaintext attack:
The attacker knows or can guess the plaintext for some parts of the ciphertext. The task is to decrypt the rest of the ciphertext blocks using this information. This may be done by determining the key used to encrypt the data, or via some shortcut.
Chosen-plaintext attack:
The attacker is able to have any text he likes encrypted with the unknown key. The task is to determine the key used for encryption. Some encryption methods, particularly RSA, are extremely vulnerable to chosen-plaintext attacks. When such algorithms are used, extreme care must be taken to design the entire system so that an attacker can never have chosen plaintext encrypted.
Man-in-the-middle attack:
This attack is relevant for cryptographic communication and key exchange protocols. The idea is that when two parties are exchanging keys for secure communications (e.g., using Diffie-Hellman), an adversary puts himself between the parties on the communication line. The adversary then performs a separate key exchange with each party. The parties will end up using a different key, each of which is known to the adversary. The adversary will then decrypt any communications with the proper key, and encrypt them with the other key for ending to the other party. The parties will think that they are communicating securely, but in fact the adversary is hearing everything. One way to prevent man-in-the-middle attacks is that both sides compute a cryptographic hash function of the key exchange (or at least the encryption keys), sign it using a digital signature algorithm, and send the signature to the other side. The recipient then verifies that the signature came from the desired other party, and that the hash in the signature matches that computed locally. This method is used e.g. in Photuris.
Timing Attack:
This very recent attack is based on repeatedly measuring the exact execution
times of modular exponentiation operations. It is relevant to at
least RSA.
V[0] = 2
V[1] = P
V[n+1] = P*V[n] - Q*V[n-1]
The ciphertext P' = V[e](P,1) mod N.
The plaintext P = V[d](P',1) mod N.
The public key component is [N, e]. The secret component is d,
which is computed based on e and the prime factorization of N.
The author, who is also the inventor of the LUC algorithm, claims that
it is at least as fast as RSA and is more secure because it is more resistant
to adaptive chosen-message forgery.
•Remote mode - Remote transactions take place on Credit Card Network's servers. The merchant directs customers to a script on the CCN server. The customer processes their card (fills out and submits an order) and then returns to the merchant's web site.
•Local mode - Local transactions take place on the merchant's server.
PGP (Pretty Good Privacy) is required. You can get this from http://www.pgp.com.
(Note: Credit Card Network will not install it's software e on any server
running a non-commercial version of PGP for obvious reasons.) The customer
is directed to a script on the merchant's site that connects invisibly
and securely via secure sockets to CCN and processes their card. The customer
never leaves the merchant's site.
1) The PIN Code method: Unique username and password after payment verification. Used where repeated transactions are required (e.g. service based products).
2) The Hardcode method: Used generally for one time transactions. Generic
username & password.
There are two basic kinds of smart cards.
Intelligent Smart Card. An "intelligent" smart card contains a central processing unit that actually has the ability to store and secure information, and "make decisions," as required by the card issuer’s specific applications needs. Because intelligent cards offer a "read/write" capability, new information can be added and processed. For example, monetary value can be added and decremented as a particular application might require.
Memory Card. The second type of card is often called a memory card. Memory cards are primarily information storage cards that contain stored value which the user can "spend" in a pay phone, retail, vending or related transaction.
The intelligence of the integrated circuit chip in both types of cards allows them to protect the information being stored from damage or theft. For this reason, smart cards are much more secure than magnetic stripe cards, which carry information on the outside of the card and can be easily copied. Smart cards are an effective way of ensuring secure access to open interactive systems, such as encryption key mobility, secure single signatures and electronic digital signatures.
While it is anticipated that smart card technology applications in North America will continue to grow quickly, and in the not too distant future approach European acceptance levels there are two key issues that must be addressed. Before wide-scale, public usage is possible, the public and private sectors must reach a consensus on creating a technological standard that can be adopted for use by consumers and merchants everywhere. Second, industry and government players face the challenge of charting a technology migration path that will allow smart card technology to co-exist with established technology investments, such as magnetic stripe technology.
Hybrid Cards. In fact, card technology experts from the
Smart Card Forum, a multi-industry group formed to explore the use of smart
cards in various applications, predict the development of so-called hybrid
cards. Such cards may contain not only an embedded microprocessor chip
or memory module, but also a mag stripe and bar coding. Thus, a single
card can access different hardware systems, such as merchant card readers,
ATM machines and bar code applications. Adding the card-holder's photograph,
printed name and signature would further enhance the hybrid card's already
significant security features.
Ecash and security
When using ecash, your cash flows to its destination over the Internet
(or any other computer network). The open architecture of the Internet
requires security measures to be taken against attempts by unfriendly third
parties to intercept the digital money. Ecash provides the highest security
possible by applying public key digital signature techniques.
Additional security features of ecash include the protection of ecash
withdrawals from your account with a password that is only known to you;
not even to your bank.
Ecash and privacy
One of the unique features of ecash is payer anonymity. When paying with ecash the identity of the payer is not revealed automatically. This way the payer stays in control of information about himself. During a payment a payer can of course identify himself, but only when he chooses so. Ecash offers one-sided anonymity; when clearing a transaction the payee is identified by the bank.
Ecash and crime
It may seem that the privacy offered by ecash can be misused by criminal
elements. However, because the privacy is only one-sided and a set of regulatory
measures can be taken, ecash is not the ideal tool for criminals. The ecash
client software Ecash works on all major platforms (MS Windows, Macintosh
and UNIX). The graphic user interface in cash. A text mode version is available
for people without a graphical operating systems.
If an on-line ecash accepting shop requires payment, depending on user
settings, the client will handle the transaction completely by itself,
or prompt the user for authorization. For the current version of
ecash a network connection is required, but a version that will work through
Email will be available in the near future.
Accepting ecash
Part of the ecash concept is a very low threshold for shops to start
accepting ecash. In our view the Internet is the ideal infrastructure for
big players as well as numerous small shops offering a wide variety of
specialized goods and services. In fact, any user can accept ecash payments
sent on- or off-line.
Today, almost 30.000 people are using ecash in our world wide trial. The digital money used in the trial, the Cyberbuck, can not be exchanged for real money, but valuable goods and services can be purchased in more than one hundred shops that have joined the trial and accept ecash cyberbucks. The trial, which started in October 1994 and was closed for new testers a year later, introduced cash in cyberspace and created an enormous amount of interest from users, shops and banks as well as the media. The ecash trial shop software is available for free, and full support is given to new on-line shops. With the introduction of the remote shop server, starting a shop has become even easier.
Although DigiCash is running an ecash bank in the trial, it does
not intend to start an exchange between Cyberbucks and other currencies.
A growing number of banks, financial institutions and other organizations
are very interested in issuing ecash, and we have sold several ecash licenses.
DigiCash currently follows a non-exclusive licensing policy, allowing multiple
parties to issue ecash with their own, competitive, pricing structure.
Overview
Ecash has been designed to be easy to use. Consumers are given a simple 'point-and-click' graphical user interface that is simpler to use than many bank ATMs. To demonstrate how easy you will find it to use ecash, various transactions involving two ecash Account-holders, Alice and Bob, are explained below.
Startup and Background Operation
Once Alice starts her ecash program, it runs on her PC in the background,
much like a memory monitor or clock program.
Figure 1 - ecash status window
Withdrawing ecash from the account
In order to use ecash to purchase goods or services, ecash must first be available on the Alice's hard drive, in the same way that cash is needed in your wallet before you can pay for goods or services in the physical world. Withdrawing ecash is as simple as withdrawing regular cash from an ATM.
The screen below shows the actual dialog box used to withdraw ecash
(Version 2.1 of the actual MS Windows ecash client is shown throughout).
This window appears when the Mint icon has been clicked on the toolbar.
Alice simply enters the amount to be withdrawn from her account and clicks
the 'OK' button. This amount of ecash is then downloaded from her ecash
account at the Mint to her hard disk.
Figure 2 - Alice withdrawing ecash
There are two ways to spend ecash. Alice can decide to send a payment herself, or she can answer a request for payment.
Responding to a Payment Request
Bob has sent a payment request to Alice because she has asked to buy something from him. (The merchants' Purse software will generate and send such requests). For example, in the dialog box below, Alice is being asked to make a payment of $14.95 to buy a CD. If she agrees to make the payment, she just clicks on the 'Yes' button. Similarly, clicking the 'No' button will refuse the payment.
Figure 3 - Alice gets an incoming payment request
According to her preferences, Alice may also instruct her system to respond automatically to similar payment requests in the future. When the Policy button is clicked (see window above), the dialog box is extended downwards (see window below). Alice can now set the policy under which payment requests are to be answered automatically. These extra settings can be used to simplify certain repetitive payments.
Initiating a Payment
To make an unsolicited payment directly, Alice brings up the payment dialog box from the toolbar and fills in the blanks, much like writing a personal check.
Receiving ecash
When Alice has sent ecash to John in return for a lunch, , he may want to deposit it in his ecash account or have ecash coins returned to his hard drive for future use. The dialog box shown below will appear on Bob's screen.
Figure 4 - John gets an incoming payment
Just as Alice could set a policy for payment requests, John can also set a simple policy which automatically accepts subsequent incoming payments.
Depositing ecash in/ from a Mint account
Ecash can, of course, be deposited in the user's ecash account. Again a simple dialog box is used. (Actually this is done with the same box used for withdrawals; see Figure 2 above).
Figure 5 - Alice deposits some ecash from mint to bank account
Receipts and Records
Ecash tracks withdrawals, payments, receipts, and deposits, and can provide Alice with various statements of her account.
Figure 6 - Alice's digital statement
Cancel Payment
If the Merchant has not deposited the payment yet, (i.e. the status is not marked 'OK' in the payment log) then it is still possible to cancel the payment by clicking on the 'Cancel Payment' button.
Recovery
If the Purse-Holder's computer crashes and stored ecash coins are lost
(along with records of recent transactions), then execution of the recovery
procedure (using the special Recovery Key) will restore the account to
its correct state using the Mint's records from the Transaction Log.
How ecash Works Inside
Overview
Like banknotes, ecash can be withdrawn from and deposited to transaction demand deposit accounts. And like banknotes, one person can transfer possession of a given amount of ecash to another person. But unlike cash, when a customer pays another customer an electronic bank will play an unobtrusive but essential role.
To show how it all works we'll explain how a withdrawal works, then follow the ecash in a payment to a merchant. Combining these two transactions, we can then understand why the customer perceives that ecash is paid from person to person without involving any bank. Finally the withdrawal is explained in greater detail to illustrate the 'blind signature' concept, which is the foundation of the privacy feature, and explain why the bank cannot trace it's own money!
Simple Withdrawal of ecash
Figure 7 shows the two participants in the withdrawal transaction: the bank and customer, Alice. The digital coins that have been withdrawn from Alice's account at the bank are on their way to her PC. When they arrive, they will be stored along with some coins she already has on her hard disk.
Figure 7 - Alice withdraws ecash from her bank account
No physical coins are involved in the actual system of course, but the messages include strings of digits, and each string corresponds to a different digital coin. Each coin has a denomination, or value, so that a purse of digital coins is managed automatically by Alice's ecash software. It decides which denominations to withdraw and which to spend in particular payments. (The ecash software keeps plenty of 'small change', but will prompt the user to contact the bank in the rare event that more change is needed before the next payment, to restructure its purse of coin denominations.)
An ecash Purchase
Now that Alice has some ecash on her hard drive, she can buy things from Bob's shop (as shown below). Having received a payment request from Bob, she agrees by ticking the 'Yes' box. Her ecash software chooses coins with the desired total value from the purse on her hard disk. Then it removes these coins and sends them over the network to Bob's shop. When it receives the coins, Bob's software automatically sends them on to the bank and waits for acceptance before sending the goods to Alice along with a receipt.
Figure 8 - Alice buys something from Bob
To ensure that each coin is used only once, the bank records the serial number of each coin in its spent coin database. If the coin serial number is already recorded, the bank has detected someone trying to spend the coin more than once and informs Bob that it is a worthless copy. If, as will be the usual case, no such serial number has been recorded, the bank stores it at that position and informs Bob that the coin is valid and the deposit is accepted.
Person-to-Person Cash
When a consumer receives a payment, the process could be the same. But some people may prefer that when they receive money, it be made available on their hard disk immediately, ready for spending; just like when someone hands them a five dollar bill. This user preference can be realized as depicted in Figure 9
The only difference between this payment from Alice to another consumer,
Cindy, and the one Alice paid to Bob's shop in Figure 8, is what happens
after the bank accepts the cash. In Figure 9, Cindy has configured her
software to request the bank to withdraw the ecash she has just deposited
and send it back to her PC as soon as the coins are accepted. (Actually
Cindy's bank will check with Alice's bank to make sure that the coins deposited
are good.) Now when Alice sends Cindy five dollars, new coins are immediately
available to spend from Cindy's PC.
Figure 9 - person-to-person payment
How Privacy Is Protected
In the simple withdrawal of Figure 7, the bank created unique blank digital coins, validated them with its special digital stamp, and supplied them to Alice. This would normally allow the bank (at least in principle) to recognize the particular coins when they are later accepted in a payment. And this would tell the bank exactly which payments were made by Alice.
By using 'blind signatures, a feature unique to ecash, the bank can
be prevented from recognizing the coins as having come from a particular
account. The idea is shown in Figure 10. Instead of the bank creating a
blank coin, Alice's computer creates the coin itself at random. Then it
hides the coin in a special digital envelope and sends it off to the bank.
The bank withdraws one dollar from Alice's account and makes its special
'worth-one-dollar' digital validation like an embossed stamp on the envelope
before returning it to Alice's computer.
Figure 10 - Alice sends her coin for signature by the bank
Like an emboss, the blind signature mechanism lets the validating signature be applied through the envelope. When Alice's computer removes the envelope, it has obtained a coin of its own choice, validated by the bank's stamp. When she spends the coin, the bank must honor it and accept it as a valid payment because of the stamp. But because the bank is unable to recognize the coin, since it was hidden in the envelope when it was stamped, the bank cannot tell who made the payment. The bank which signed can verify that it made the signature, but it cannot link it back to a particular object or owner.
How It All Works with Numbers
When Alice's computer creates a blank coin it chooses a random number.
The bank's validating stamp on the coin is a public key digital signature
encoded by the bank with the random coin number serving as the message
to be coded. Checking the validity of a coin involves the verification
of the digital signature using the bank's corresponding public key. The
blinding operation is a special kind of encryption designed so that it
can only be removed by the party who placed it there. It can be reversed
using the public key digital
signature process, and can thus be removed without disturbing the signature.
How Funds Flow
Although ecash works just like cash in the hands of a consumer, for a bank its properties are somewhat different.
The first step in each case occurs when value comes out of a customer's account. In an ATM transaction, the cash given to the consumer constitutes a reduction in vault cash. In an ecash withdrawal, however, the value is moved within the bank and becomes an ecash liability that will be reversed when the ecash is presented for deposit.
The second step is the spending of the value, where cash and ecash are
very similar. In each case the merchant (or other party receiving it) can
choose to be issued with new cash coins or can make a deposit to an ecash
account. When the merchant takes the final step and deposits the
traditional cash, it constitutes an increase in vault cash, whereas deposit
of ecash reduces the ecash liability and increases deposit liability. While
the main difference is invisible to the consumer, it is vitally necessary
to protect the integrity of ecash. When a digital coin is received as payment
it must be surrendered to the bank who will exchange it for an account
credit or for freshly minted ecash.
|
|
|
|
|
|
|
|
|
|
|
|
There are mainly four Internet options
· Accounts,
· Aggregation
· Credit Cards
· Digital Cash
Why these are not suitable for micro payments are described below:
Accounts
The simplest model for electronic commerce is for customers to establish accounts with vendors. When a customer wants to perform a transaction with the vendor, the customer identifies himself (securely) and the vendor adds the cost of the transaction to the customer's account. Vendors maintain the account information and bill the customers periodically. With accounts, transaction costs and prices can be fairly low, but there is a fair amount of overhead. An account may need to be established ahead of time and maintained over an extended period. This makes sense only when assuming a relatively long-standing relationship between a customer and a vendor. There is often a minimum monthly charge associated with each account. The customer has separate accounts for each vendor, and the vendor needs to maintain accounts for every customer. All this overhead discourages casual users from making spur-of-the-moment purchases.
Aggregation
Aggregation amortizes billing charges over a sequence of less expensive transactions by accumulating transactions at the vendor until they exceed some threshold. Aggregation is another form of accounts and shares some of the problems of accounts. Although account setup is somewhat simplified, the vendor still has the problem of maintaining the accounts, accumulating enough transactions for a reasonable sized charge, and keeping transaction records for dispute resolution. Also, the customer must deal with separate charges from each vendor, minimum account charges, and the difficulty of contesting fraudulent charges.
Credit cards
Another simple model for electronic commerce
is to use a credit card to pay for the purchase. Customers have credit
cards; vendors register with credit card companies; customers give their
credit card number to vendors; vendors contact their credit card companies
for payment; the credit card companies handle the accounting and billing.
There are established methods (like Netscape's SSL based on RSA's public
key encryption) for ensuring secure transmission of the client's credit
card number to the vendor. Unfortunately, credit card transactions are
(relatively) expensive since every purchase involves communication to a
centralized credit card transaction service. In addition, credit card companies
offer various features like individual item accounting, insurance, and
fraud protection that add to the cost and aren't needed when purchasing
inexpensive items.
Finally, customers may be unwilling to provide
a credit card number to a vendor they don't know well. Although the
credit card company insures the customer against any loss, there is still
the inconvenience of clearing up any problems.
Digital cash
Digital cash is normally issued by a central
trusted entity (like a bank). The integrity of digital cash is guaranteed
by the digital signature of the issuer, so that counterfeiting digital
cash is extremely hard. However, it is trivial to duplicate the bit pattern
of the digital cash to produce and spend identical (and equally authentic)
cash. In an on-line digital cash scheme, when a vendor receives digital
cash, he must contact the issuer to see if it is valid and not already
spent. This extra communication makes the central site a bottleneck and
adds cost to the transaction.
In an off-line scheme (like one proposed by
DigiCash), the vendor authenticates the digital cash during the transaction
and then later transmits it to the issuer to check for double spending.
This scheme adds computational costs to the vendor for authenticating
the digital cash, and adds messages and encryption to the protocol for
pinpointing the source of the double spending.
Of all these protocols Millicent is the most popular protocol and most
of other protocols are inspired from it.
Millicent reduces the overhead of accounts in a number of ways:
· Communication costs are reduced by verifying the scrip locally at the vendor's site; there are almost no Millicent-specific communication costs during a normal transaction. There is also no need for a centralized server or an expensive transaction-processing protocol.
· In a centralized scheme, the central site is a bottleneck;
the provider must have sufficient computing power to handle the peak
transaction rate. In Millicent, there is no central server; there can be
many brokers, a broker is only involved in a fraction of the transactions
between a customer and a vendor, and the transactions involving a broker
are lightweight.
· Cryptographic costs are reduced to keep them in line with
the scale of transactions; we don't need strong or expensive cryptographic
schemes because the value of the scrip is relatively low. We need only
make the cost of breaking the protocol greater than the value of
the scrip itself.
· Accounting costs are reduced by using brokers to handle accounts
and billing. The customer establishes an account with a broker; the broker
establishes its own accounts with the vendors. Using brokers allows us
to split a customer-vendor account into two accounts: one between the customer
and broker, and another between the broker and the vendor. This reduces
the total number of accounts. Instead of many separate accounts for every
customer-vendor combination, each customer has only one account with a
broker (or, at most, a couple of brokers); and each vendor has long-standing
accounts with just a few brokers.
· In most account-based schemes, the vendor maintains the account
balance. In Millicent, the customer maintains the account balance
-- it is encoded in the scrip held by the customer. There is no risk for
the vendor because a digital signature prevents the customer from modifying
the scrip's value. Since the scrip contains the account balance and a proof
of correctness for that value, the vendor does not need to look up the
customer's balance, saving disk activity.
The minimum monthly charges are not as much of a problem because they are amortized over more activity. The single customer-broker account supports transactions with all vendors and so it is likely to have enough activity to cover a minimum charge. By pre-paying the broker, even the monthly accumulation of charges can be avoided.
Millicent is best suited for a series of inexpensive, casual transactions.
We will rely on other protocols for initial account establishment between
brokers and customers, and brokers and vendors. Other higher-value protocols
are also used for the funds transfers that occur when accounts are periodically
settled.
Trust model
Millicent assumes asymmetric trust relationships among the three entities
- customers, brokers, and vendors. Brokers are assumed to be the most trustworthy,
then vendors, and, finally, customers. The only time customers need to
be trusted is when they complain about service problems.
It is believed that brokers will tend to be large, well-known,
and reputable financial institutions (like Visa, MasterCard, and banks)
or major Internet or on-line service providers (like CompuServe, NETCOM,
or AOL). We expect there to be many vendors covering a full spectrum of
size and trustworthiness, as in the real world. Finally, there will be
large number of customers who are as trustworthy as people are in general.
Three factors make broker fraud unprofitable. First, customer and vendor
software can independently check the scrip and maintain account balances,
so any fraud by the broker can be detected. Second, customers do not hold
much scrip at any one time, so a broker would have to commit many fraudulent
transactions to make much of a gain and this makes them likelier to be
caught. Finally, the reputation of a broker is important for attracting
customers and a broker would quickly lose its reputation if customers have
troubles with the broker. The repeat business of active customers is more
valuable to a broker than the scrip that it could steal. Vendor fraud consists
of not providing goods for valid scrip. If this happens, customers will
complain to their broker, and brokers will drop vendors who cause too many
complaints. This acts as an effective policing mechanism, because vendors
need a broker to easily conduct business in Millicent. As a result, the
Millicent protocol is skewed to prevent customer fraud (forgery and double
spending) while providing indirect detection of broker and vendor fraud.
Security
The security of Millicent transactions comes from several aspects.
· All transactions are protected
· Every Millicent transaction requires that the customer knows
the secret associated with the scrip. The protocol never sends the secret
in the clear, so there is no risk due to eavesdropping.
· No piece of scrip can be reused, so a replay attack will fail.
Each request is signed with the secret, so there is no way to intercept
scrip and use the scrip to make a different request.
· Inexpensive transactions limit the value of fraud
· Inexpensive transactions can rely on inexpensive security:
it's not worth using expensive computer resources to steal inexpensive
scrip. In addition, it would take many illegal uses of scrip to acquire
much money, and that raises the probability of getting caught.
· Fraud is detectable and eventually traceable
· Fraud is detected when the customer doesn't obtain the desired
goods from the vendor, or when the balance returned to the customer doesn't
match the balance due. If the customer is cheating, then the vendor's only
loss is the cost of detecting the bad scrip and denying service. If the
vendor is cheating, the customer will report a problem to the broker.
· When a broker notices a pattern of complaints from many customers
against a vendor, it can pinpoint the fraud and cut off all dealings with
the vendor. If a broker is cheating, the vendor will notice bad scrip coming
from many customers, all originating from a single broker. The vendor can
then publicize its complaint in an appropriate venue.
· It has value at a specific vendor.
· It can be spent only once.
It is tamper resistant and hard to counterfeit.
· It can be spent only by its rightful owner.
· It can be efficiently produced and validated.
The next sections give more detail about scrip and its use, but the
basic techniques to achieve these properties are outlined here:
· The text of the scrip gives its value and identifies the vendor.
· The scrip has a serial number to prevent double spending.
· There is a digital signature to prevent tampering and counterfeiting.
· The customer signs each use of scrip with a secret that is
associated with the scrip.
· The signatures can be efficiently created and checked using
a fast one-way hash function (like MD5 or SHA).
Scrip structure
There are three secrets involved in producing, validating, and spending
scrip. The customer is sent one secret, the customer_secret, to prove ownership
of the scrip. The vendor uses one secret, the master_customer_secret, to
derive the customer_secret from customer information in the scrip. The
third secret, the master_scrip_secret, is used by the vendor to prevent
tampering and counterfeiting.
The secrets are all used in a way that shows knowledge of the secret
without revealing the secret. To attest to a message, the secret is appended
to the message, and the result is hashed to produce a signature. The message
(without the secret) and the signature prove - due to the one-way nature
of the hash function - knowledge of the secret, because the correct signature
can only be derived if you know the secret.
Scrip has the following fields:
· Vendor identifies the vendor for the scrip. Value gives the
value of the scrip.
· ID# is the unique identifier of the scrip. Some portion of
it is used to select the master_scrip_secret used for the certificate.
Cust_ID# is used to produce the customer secret. A portion of
Cust_ID# is used to select the master_customer_secret which is also used
in producing the customer secret.
· Expires is the expiration time for the scrip.
· Props are extra data describing customer properties (age,
state of residence, etc.) to the vendor.
· Certificate is the signature of the scrip.
Customers are responsible for renewing or cashing in scrip before it
expires. The old scrip is submitted to the vendor, who returns new scrip
with a later expiration time (and a new serial number). Vendors may choose
to charge a small fee for this service, discouraging users from obtaining
more scrip than they will need in the near future.
Scrip in the clear
In the simplest possible Millicent protocol, the customer just sends
an unspent piece of scrip in the clear (i.e., not encrypted or protected
in any way) along with each request to the vendor. The vendor returns the
desired result along with a new piece of scrip (also in the clear)
as change.
This protocol offers almost no security: an eavesdropping third party
can intercept the scrip being returned as change and use it himself. When
the rightful owner later attempted to spend the scrip, the vendor would
have a record of it being previously spent, and would refuse the request.
Private and secure
To add security and privacy to the Millicent protocol, we establish a shared secret between the two parties and then use the secret to set up a secure communications channel using an efficient, symmetric encryption method (such as DES, RC4, or IDEA). In Millicent, scrip can be used to establish this shared key. When a customer buys an initial piece of scrip for a vendor, a secret is generated based on the customer identifier, and returned securely with the scrip. This requires either that the transaction be performed using some secure non-Millicent protocol, or that the scrip be purchased using a secure Millicent transaction.
The vendor does not directly record the secret associated with the piece of scrip. Instead, the customer identifier (Cust_ID#) field of the scrip allows rapid recalculation of the secret. The customer identifier must be unique whenever scrip is transmitted to a new customer, but it need not have any connection to the identity of the customer. When the vendor receives the request, he derives the customer secret from the customer identifier in the scrip, derives the message key from the customer secret, and uses the message key to decrypt the request. The change scrip can be returned in the clear, while the response and any new secrets are returned to the customer encrypted by the message key.
In this protocol the request and the response are kept totally private; unless an eavesdropper knows the customer secret, he can't decrypt the messages. In addition, an eavesdropper can't steal the scrip because it can't be spent without knowing the customer secret. The customer secret is generated by hashing the customer identifier with a secret. The secret is selected using a portion of the customer identifier.
Secure without encryption
The previous section describes how the secret shared by the customer and vendor can be exploited to achieve security and privacy. But a full-blown encrypted channel may be overkill for some Millicent applications. In this, our third variant of the protocol, we give up the privacy of the request and response to eliminate the use of encryption.
As in the previous protocol, the customer securely gets an initial piece of scrip and customer secret. To make a purchase, the customer sends the request, scrip, and a "signature" of the request to the vendor. The signature is produced in the same way that the certificate of the scrip is produced. The scrip and request are concatenated with the customer secret. The customer runs an efficient cryptographic one-way hash function over this string and sends the resulting hash as the signature.
When the vendor receives the request, he derives the customer secret
from the scrip and regenerates the signature for the request. If the scrip
or request have been tampered with in any way, the signature will not match.The
request is validated by re-generating the request signature and comparing
to the transmitted signature. If they match, the request is valid. The
vendor now handles the request and returns a fresh piece of scrip as change.
The change scrip shares the same customer identifier as the scrip submitted
with the request, so that the original customer secret can be used to spend
the change. There is no need to encrypt any of the response; an eavesdropper
can't steal the scrip because the signature of the request can't be made
without knowing the customer secret. The vendor may sign the response with
the customer secret in order to prove authenticity to the customer. Thus,
with only a few hashes, Millicent provides a lightweight and secure protocol.
When a customer wants to make a purchase, the customer contacts the broker to obtain the necessary vendor scrip. The customer uses his broker scrip to pay for the vendor scrip using the Millicent protocol. The broker returns the new vendor scrip along with change in broker scrip.
We will examine three ways in which the broker gets the vendor scrip.
The "scrip warehouse" model assumes a casual relationship between the broker
and vendor. The "licensed scrip producer" model assumes a substantial and
long-lasting relationship between the broker and vendor. The "multiple
broker" model assumes a relationship between brokers, but requires no relationship
between the vendor and broker.
This model assumes no special relationship between the vendor and broker.
It works best when the broker's customers have a light to moderate demand
for that vendor's scrip. The broker uses the Millicent protocol to buy
the scrip from the vendor in the same way a customer would. Selling scrip
in large blocks is more efficient for the vendor since the communication
and financial transaction costs are amortized over all the pieces of scrip.
We presume that the vendor offers some sort of volume discount to encourage
brokers to buy large blocks of scrip. The broker makes a profit when it
resells the scrip to customers at full price. The vendor depends on the
broker to ensure any customer properties encoded in the scrip.
A license covers a specific series (unique range of identifiers - ID#'s)
of scrip for a given period of time, and the secrets shared between
the broker and vendor only apply to that series. A vendor can issue licenses
to different brokers by giving out different series and secrets to each
one. Of course, a vendor can produce its own scrip using its own private
series and secrets. Licensing scrip production is more efficient for the
vendor and broker than the scrip warehouse model. There is less communication
because the license is smaller to transmit than a few pieces of scrip.
The vendor does less computation since it does not have to generate the
scrip itself. The broker does not have to store large blocks of scrip,
since it can generate the scrip on demand. Additionally, it allows the
broker to encode specific user properties into each piece of scrip it generates.
The idea of licensed scrip production can be extended so that brokers
can generate broker scrip for other brokers.
Work is also being done on Millicent-based world wide web (WWW) services.
A local pseudo-proxy that intercepts all requests from the client's WWW
browser and modifies the HTTP header to add scrip as necessary has been
developed. The WWW server checks the HTTP request for sufficient scrip
to buy the page and returns the page with change in the HTTP response.
The pseudo-proxy extracts the change before forwarding the response to
the browser. When Millicent becomes popular, the functionality of the pseudo-proxy
can be integrated in with the browser.
Digital Signature
· Not only the card holder, but also the shop and the acquirer
are identified with digital Signature.
Public Key Cryptography
· Credit Card number is encrypted with the acquirer's public
key. Shops and traffic monitor can not see the plain credit card number.
Hash
· The acquirer receives the hash of purchase order both from
the cardholder and the shop. He/She just know only that the cardholder
and the shop agree what they are paying. There is no way that the acquirer
know about the purchase order itself.
The fact that the protocol is transaction-atomic means it is also non-repudiable, since the protocol makes it impossible for payment to be received unless the merchandise is delivered, and vice versa. The cost of a Netbill transaction is very low. It varies with purchase amount, but is optimized to have a cost on the order of 1 cent on transactions on the order of 10 cents. Much of the cost savings is gained by ensuring that both the payer and payee of a transaction have accounts with Netbill, so the internal workings of a payment are all local to the server.
The potential for Netbill is based on the growth of pay-per-use systems,
in which instead of buying a blanket subscription to a service, articles
are bought on an individual basis for a low price. Few merchants use this
system now, primarily out of unfamiliarity, but should be a booming method
of payment in the future.
At present most payment schemes operate in a closed-loop system, and are geared towards large payments. Most of these systems are operated by large banks or multinational corporations. It is probably not feasible to expand these networks into multipurpose systems since almost all are incompatible with each other, and each has been designed solely around the needs of its owner.
Most business transactions are concerned with three types of security.
First, they wish to ensure the positive identity of the customer, and that
all transactions are sent to the right customer. Second, they want to protect
sensitive customer information, such as credit card numbers, bank account
numbers, or other personal and financial data. And third, they want
to make sure that the data is not altered or changed as it is transmitted
across the Internet.
MacKie-Mason and Varian argue that as the Internet develops there will
be increasing pressure for usage-based charges. Current free Internet services
like e-mail, file transfers, the Internet telephone, and teleconferencing
will have to be paid for. At the lowest level, they estimate that the cost
of transmitting one packet on the Internet backbone is one six-hundredth
of a cent.
.
Since many people still fear or simply don't understand technology, any new payment systems must be easy to use and understand. In order for the Internet to become the universal form of business and communication that many people envision, it must be accepted by everyone. Today, despite its tremendous growth, only about one third of all U.S. households have Internet access. A recent Business Week article, estimates that only 11% of U.S. households now access the Internet directly or through on-line services. To get those people to use and accept the new technology, designers and programmers must work to make the technology as simply to use as possible.
All the new electronic payment systems being designed or proposed must
also be compatible with each other. Consumers will not put up with the
hassle and inconvenience of keeping track of which stores will accept which
type of payment. The market will probably only support a few different
networks, similar to VISA, Discover, and American Express in the credit
card market today.
Another debate is taking place as to whether the availability of electronic
payment systems, especially anonymous ones, would make money laundering
easier or harder. Since most money laundering currently involves transfers
of cash, a strong argument can be made that the increased amount of information
available with electronic payments would make laundering harder.
These, as well as other issues such as protection of copyrights and
trademarks, must be addressed and resolved shortly so that uncertainties
can be removed and development pushed forward.
Customers will also demand that any payment system be easy to use. People are reluctant to try something they don't or can't understand, so simplicity is paramount to any electronic payment system hoping for wide spread acceptance.
Commercial business will also demand that transaction costs be low.
The value of individual transactions will continue to decline as it becomes
economical to transact for specific articles. Companies will only conduct
this business if they have a reasonable chance of making profits. Different
MicroPayment protocols like Millicent, Netbill etc. have been introduced
but still a lot more is desired in this field.
As more and more business is transacted over the Internet, the reliability
and accuracy of payment systems is also important. Companies will become
more vulnerable to system outages as a larger percentage of their revenues,
and in some cases all, come from Internet transactions.