An edited version of this paper appeared with the title "Time to Spend Electronic Money" in the August, 1997 issue of Network VAR.
For the last several years, attempts to define electronic commerce have born a remarkable resemblance to Congress's attempts to define pornography during the final (and often frustrating) hearings on the Communications Act of 1996. While debating issues surrounding the identification and control of questionable programming on cable Television, one Congressional member observed that "We can't define it, but we know it when we see it." And while e-commerce is often mistaken for a mirage on the horizon, it has finally gained enough critical market mass that it is being taken seriously as a viable option to traditional commerce techniques. It is not a trivial undertaking: its successful implementation demands that companies look long and hard at their own business models.
As companies move to consider whether electronic commerce should be a part of their corporate game plan, they find themselves faced with three principal areas that they must consider if their foray into e-commerce is to succeed. These include general corporate issues, infrastructure issues, and security issues. Corporate and infrastructure issues are the most rigidly defined of the three; companies behave the way companies behave, and their supporting infrastructure (which may or may not include an electronic commerce sub-infrastructure) is built around and reflects that behavior. Security, then, must often wait for the dust to settle from the construction of the first two, then follow up with a protection mechanism tailored to the unique nature of each company.
Corporate Issues derive from the nature of the company's "business fabric," and of the three, are probably the hardest to change if deemed necessary. Taking into account such factors as market position, nature of the principal customer base, and corporate direction, corporate issues are rooted deep in the matrix of beliefs and behaviors that define a company. They include such things as:
Infrastructure Issues are closely related to their corporate cousins, and generally provide the underpinnings of corporate function. From the point-of-view of e-commerce implementation, infrastructure includes everything from physical network topology to details such as ordering, tracking, billing, and payment, as well as:
Security Issues distill from the resolution of corporate and infrastructure concerns. Once the organization has reconciled itself to the fact that e-commerce is a reality and that its arrival will force cultural and business process changes and has put into place the necessary infrastructure improvements and modifications to ensure its success, then the security front line can be created. Security personnel must consider password protection, digital signature management, and deployment of smart cards (if merited), as well as logical and procedural considerations such as firewall permeability, the relative responsibilities and liabilities of partners (including network providers and ISPs).
In the real world, there are just a few ways of exchanging money; namely, cash, checks, credit cards, or debit cards. In cyberspace, however, there are well over a dozen different payment mechanisms, some commonly employed, others still experimental.
But there is another fundamental difference between commerce in the real world and in the cyber world; specifically, the element of trust. When I go to a store to purchase goods, I present myself and my payment method. Repeat business is rewarded by less hassle and fewer questions when I use a personal check. Even mail-order houses learn more about me as I place more orders. In cyberspace, however, both the customer and the vendor have difficulty identifying themselves to each other with certainty, particularly during a first transaction. How does the buyer securely transmit sensitive information to the seller? How does the seller know that this is a legitimate purchase order? How do both parties know that a nefarious third-party hasn't copied and/or altered the transaction information?
These questions, and others, describe the problems affecting business transactions over the Internet, or any public network. Customers (clients) need to be sure that:
On the other side, vendors (servers) need to be sure that:
The cryptographic algorithms and protocols to perform these functions have existed have been employed for years. What is needed specifically for Internet-based electronic commerce is the end-to-end, international infrastructure to support secure electronic communication. The next sections will discuss this topic in more detail.
Cryptography is the science of writing in secret code. For purposes of telecommunications and electronic commerce, cryptography is necessary when communicating over any untrusted medium, such as the Internet. Cryptography not only protects data from theft or alteration, but can also be used for message integrity and authentication.
When describing cryptographic schemes, the initial data is referred to as plaintext and the encrypted plaintext is called ciphertext; some form of key is usually employed to transform the plaintext into ciphertext. In general, there are three basic types of cryptographic schemes, categorized by the number of keys: secret key (or symmetric), public-key (or asymmetric), and hash functions.
key key
plaintext -----------------> ciphertext -----------------> plaintext
a) Secret key (symmetric) cryptography using a single key for both encryption and decryption.
one key other key
plaintext -----------------> ciphertext -----------------> plaintext
b) Public key (asymmetric) cryptography using two keys, one for encryption and the other for decryption.
hash function
plaintext -----------------> ciphertext
c) Hash functions have no key since the plaintext is not recoverable from the ciphertext.
FIGURE 1. Three different types of cryptographic algorithms. |
In secret key cryptography, a single key is used for both encryption and decryption. The sender applies the key, or a set of rules, to the plaintext to create the ciphertext, transmits the encrypted message, and the receiver applies the same key to decode the message (Figure 1a). Because a single key is used for both functions, secret key cryptography is also called symmetric encryption. The biggest difficulty with this approach, in fact, is the distribution of the key since both sender and receiver must share it.
There are several widely used secret key cryptography schemes, categorized as either block ciphers or stream ciphers. A block cipher is so-called because it encrypts blocks of data at a time; the same plaintext block will always be encrypted into the same ciphertext. Stream ciphers operate on a single bit, byte, or word at a time, and implement a feedback mechanism so that the same plaintext will yield different ciphertext every time it is encrypted.
The most common secret-key encryption scheme used today is the Data Encryption Standard (DES), designed by IBM in the 1970s and adopted by the National Bureau of Standards (NBS; now the National Institute for Standards and Technology, or NIST) in 1977 for commercial and unclassified government applications. DES is a block-cipher that works on 64-bit data blocks and uses a 56-bit key. A 128-bit key was also proposed but rejected at the time by the government, although the use of 128-bit keys is under consideration at this time. Other secret-key cryptography schemes in use today include Triple-DES (variants of DES that use either two or three keys), International Data Encryption Algorithm (IDEA), Kerberos, RC4, and RC5.
Public-key cryptography was invented in 1976 by Martin Hellman and Whitfield Diffie of Stanford University to solve the key exchange problem associated with secret-key cryptography. This scheme requires two keys, where one key is used to encrypt the data and the other key is used to decrypt the ciphertext. It does not matter which key is applied first, but both keys are required for the process to work (Figure 1b). Because a pair of keys are required, this approach is also called asymmetric cryptography. One of the keys is designated the public key and may be advertised as widely as necessary. The other key is designated the private key and is never revealed to another party. It is straight forward to send messages under this scheme. A sender can encrypt their data using their own private key and the receiver can decrypt the ciphertext using the sender's public key (this presumes that a mechanism is in place so that the receiver can identify the sender).
The most commonly used public-key algorithm today is RSA, named for its inventors Ronald Rivest, Adi Shamir, and Leonard Adleman. The RSA scheme can be used for key exchange, as well as encryption. The RSA key-pair is derived from a large number, n, which may be several hundred digits in length, that is the product of two prime numbers chosen according to special rules. The "public key" includes n and a derivative of one of n's factors; this information is sufficient to encrypt a message but not to derive the private key.
In 1991, NIST proposed a new public-key scheme, called the Digital Signature Standard (DSS), which happens to be incompatible with RSA. At this time, it appears that the commercial market will continue to use RSA and unclassified government systems will migrate to DSA.
Finally, hash functions are encryption algorithms that use no key. Instead, hash functions, also called message digests and one-way encryption, apply an irreversible mathematical transformation to the original data so that (Figure 1c) the plaintext is not recoverable from the ciphertext, there is a very low probability that two different plaintext messages will result in the same ciphertext, and the length of the ciphertext is fixed so that even the size of the plaintext cannot be derived.
Hash algorithms are typically used to provide a digital fingerprint of a file's contents, often used as part of a service that ensures that the file has not been altered. They are also commonly employed by many operating systems to store passwords, so that the password is never kept on a system in plaintext form. Common hash functions in use today include the Internet Engineering Task Force's Message Digests (MD2, MD4, MD5) and NIST's Secure Hash Algorithm (SHA).
A public key infrastructure (PKI) will provide the set of cryptographic services and procedures to support secure communication, using international standards and the public Internet. Specific tasks necessary to support secure transactions include:
===================
| |
---------- ------------ | ----------- |
|Sender's| |Asymmetric| | | Digital | |
|Private |--------->|Encryption|------------|-->|Signature| |
| Key | | Process | | | | |
---------- ------------ | ----------- |
^ | |
| | |
---------- ------------ | |
|SENDER'S| | Hash | | |
|MESSAGE |----+---->| Function | | |
| | | | | | Digital |
---------- | ------------ | Envelope |===========>
| | +++++++++++++++ | Sent to
--------- | ------------ | + ----------- + | receiver
|Random | ----->|Symmetric | | + |ENCRYPTED| + |
|Session| |Encryption|------------|-->| MESSAGE | + |
| Key |------+--->| Process | | + | | + |
--------- | ------------ | + ----------- + |
| | + + |
------------ | ------------ | + ----------- + |
|Receiver's| ---->|Asymmetric| | + |Encrypted| + |
| Public | |Encryption|------------|-->| Session | + |
| Key |------->| Process | | + | Key | + |
------------ ------------ | + ----------- + |
| +++++++++++++++ |
| |
===================
FIGURE 2. Sample application of the three cryptographic techniques for secure communication. |
Figure 2 shows how these different cryptographic schemes might be used together to create a secure message. The scenario shown here is only an example; not all of these steps are performed in all cryptographic environments:
| Name | Description |
|---|---|
| Capstone | U.S. government scheme for public cryptography that can be implemented in one or more tamper-proof computer chips, and comprises a bulk encryption algorithm (Skipjack), digital signature algorithm (DSS), and hash algorithm (SHS). |
| PCT (Private Communication Technology) | Developed by Microsoft and Visa; supports Diffie-Hellman, Fortezza, and RSA for key establishment; DES, RC2, RC4, and triple-DES for encryption; and DSA and RSA message signatures. A companion to SET. |
| SET (Secure Electronic Transactions) | Based on SEPP (Secure Electronic Payment Protocol), an open specification for secure bank card transactions over the Internet, developed by CyberCash, GTE, IBM, MasterCard, and Netscape, and STT (Secure Transaction Technology), a secure payment protocol developed by Microsoft and Visa International; supports DES and RC4 for encryption, and RSA for signatures, key exchange, and public-key encryption of bank card numbers. SET is a companion to the PCT protocol. |
| S-HTTP (Secure Hypertext Transfer Protocol) | An extension to HTTP for secure communication over the World Wide Web; supported algorithms include RSA and Kerberos for key exchange, DES, IDEA, RC2, and Triple-DES for encryption. |
| SSL (Secure Sockets Layer) | Developed by Netscape Communications to provide application-independent secure Internet communication; uses RSA is during negotiation to exchange keys and identify the actual cryptographic algorithm (DES, IDEA, RC2, RC4, or RSA) for the session and MD5 for message digests. |
There are a number of cryptosystems in use today that provide this breadth of function (Table 1). It is important to observe that secrecy is not the essence to good cryptography. In fact, the best algorithms are those that are well-publicized because they are also the ones most scrutinized. Consumers, in fact, should be wary of products that use proprietary cryptography schemes; security through obscurity is almost always destined to fail.
Cryptography can solve the business-related issues described above, but they do not alone address the trust relationship that must exist between a customer and vendor. How, for example, does one site obtain another party's public key? How does a recipient determine if a public key really belongs to the sender? How does the recipient know that the sender is using their public key for a legitimate purpose for which they are authorized? When does a public key expire? How can a key be revoked in case of compromise or loss?
Communicating parties cannot have a comfortable electronic relationship unless they both have confidence that they both know who they are talking to, what each is authorized to do, what is being said, when it is being said, and that the conversation is private. The PKI approach to resolve these issues involves certificates.
The basic concept of a certificate is one that is familiar to all of us. A driver's license, credit card, or pilot's license, for example, identify us to others, indicate something that we are authorized to do, have an expiration date, and identify the authority that granted the certificate.
For purposes of electronic transactions, certificates are digital documents. The specific functions of the certificate include:
FIGURE 3. BBN-issued certificate as viewed by Netscape Navigator. |
Typically, a certificate contains a public key, a name, an expiration date, the name of the authority that issued the certificate (and, therefore, is vouching for the identity of the user), a serial number, any pertinent policies describing how the certificate was issued and/or how the certificate may be used, the digital signature of the certificate issuer, and perhaps other information. A sample abbreviated certificate is shown in Figure 3.
version number certificate serial number signature algorithm identifier issuer's name and unique identifier validity (or operational) period subject's name and unique identifier subject public key information standard extensions certificate appropriate use definition key usage limitation definition certificate policy information other extensions Application-specific CA-specific |
The most widely accepted certificate format is defined in Recommendation X.509 from the International Telecommunication Union Telecommunication Standardization Sector (ITU-T). Rec. X.509 is a specification used around the world and any applications complying with X.509 can share certificates. Most certificates today comply with X.509 Version 3 and contain the information listed in Table 2.
A certificate authority (CA), then, is any agency that issues certificates. A company, for example, may issue certificates to its employees, a university to its students, a retailer to its customers, an Internet service provider to its users, or a government to its constituents. Major trusted third-party CAs today include AT&T, BBN, Canada Post Corp., CommerceNet, GTE CyberTrust, MCI, U.S. Postal Service, and VeriSign; this list is not exhaustive and is sure to grow over time.
One major feature to look for in a CA is their identification policies and procedures. When a user generates a key pair and forwards the public key to a CA, the CA has to check the sender's identification and takes any steps necessary to assure itself that the request is really coming from the advertised sender. Different CAs have different identification policies and will, therefore, be trusted differently by other CAs. Verification of identity is just of many issues that are part of a CA's Certification Practice Statement (CPS) and policies; other issues include how the CA protects the public keys in its care, how lost or compromised keys are revoked, and how the CA protects its own private keys.
While certificates and the benefits of a PKI are most often associated with electronic commerce, that term itself begs for a formal definition. While electronic commerce, and commerce over the Internet in particular, is a motivating factor for PKI and CA work, the applications for PKI are much broader, and include secure electronic mail, payments and electronic checks, Electronic Data Interchange (EDI), secure transfer of Domain Name System (DNS) and routing information, electronic forms, and digitally signed documents.
While a single "global PKI" is still many years away, that is the ultimate goal of today's work as international electronic commerce changes the way in which we do business in a similar way in which the Internet has changed the way in which we communicate.
Because of the enormous visibility that companies have on the Internet economic stage, it is incumbent upon them to exercise significant responsibility to educate their immediate customers specifically and the market in general. There is a great deal of hysteria, hype, and myth associated with electronic commerce, just as there always is with something new, especially something new that involves money. The ultimate goal must be to replace hysteria, hype and myth with reasonable concern, trust, and knowledge. Then and only then will e-commerce become a force to be reckoned with.