Enabling E-Commerce Through PKI

3
feature 14 The low end of the PKI market is represented by B2C communication characterized by credit card transactions using SSL-enabled Web browser and server. The high end is where true E- business is performed between trading partners and is characterized by the use of Directories and certificate revocation mechanisms. This article examines the technology requirements for each type of market. Certification Authority All PKIs require a Root Certificate Authority (CA), which digitally signs a supplied public key and creates an X.509 certificate. The signature process is performed using the Root CA’s private key and verified using the Root CA’s public key. By securely distributing the Root CA’s public key to any PKI component, it is possible to verify that the certificate was generated by the Root CA simply by verifying the certificate’s digital signature. A Subordinate CA or a user’s workstation would normally generate the public key supplied to the Root CA. An optional component is a subordinate CA — optional, as small PKIs only require a single CA. Nonetheless, many of the Internet online CAs, such as VeriSign, have subordinate CAs. A Subordinate CA has a public/private key, with the public key having been certified by the Root CA to generate a Subordinate CA certificate. A Root CA could have a number of Subordinate CAs under it and a Subordinate CA could itself have a number of Subordinate CAs under it. Subordinate CAs are the means by which a ‘CA hierarchy’ is built. The complexity of this needs only to be understood by those Enterprises wishing to build their own PKI. Typically, neither the consumer nor the supplier in a B2C environment needs be involved in this area. An alternative to the hierarchical typology is cross-certification. Cross- certification involves two peer CAs that certify each other — but neither CA dominates the other. A certificate produced by one of the peer CAs is called a cross-certificate. Cross-certificates are used to validate a certificate chain to one of the CA’s trusted root certificates. In general, hierarchical typologies suit and match a typical Enterprise’s organiz- ational structure, thus having the root CA at the corporate HQ and subordinate CAs at each international/country affiliate. A cross-certification typology tends to suit Extranet or trading party relationships where neither CA dominates the other. This type of arrangement therefore tends only to be useful in B2B environments. Token The user needs to store two items of information securely on his/her desktop — the ‘trusted’ Root CA public key (used to verify certificates) and the user’s private key (used for cryptographic operations such as digitally signing a transaction). Tokens are of two types — software and hardware — although, typically, hardware tokens are smart cards. The token can be thought of as a secure repository for the above information. The token can also contain additional information on PKI policy, for instance minimum key length and how to communicate with the ‘home’ CA. Whether you require deployment of Soft Tokens or smart cards is a balance between security (smart cards are more secure) and cost. Of course a PKI could have a hybrid solution with those users requiring more security could be provided with smart cards. Historically only B2B has used smart cards, but recently American Express has launched their ‘Amex Blue’ product that combines a credit card with smart card technology to be used in B2C environments. Directory A Directory is used to store X.509 certificates so they can be made generally available. When a CA produces a certificate it is pushed to the Certificate Repository, the ‘key’ under which the certificate is stored typically being the name of the owner of the public key in the certificate. Applications within the PKI can automatically fetch certificates on a repository — so if A. Smith’s certificate is stored on the repository then B. Brown could call up A. Smith’s certificate. Having a repository in a PKI where there is many-to-many communication occurring (like secure E- mail) is vital. The alternative is that B. Brown contacts A. Smith and asks him to send his certificate to him, although this is hardly a transparent automatic mechanism. The Certificate Repository can also be used to hold Certificate Revocation Lists (CRLs). Directories are typically LDAP servers that in large corporate environments use X.500 behind the LDAP interface. Most B2C transactions use SSL and in such situations the Directory is not required. However, Directories can be used to propagate certificate revocation information (see below). Enabling E-Commerce Through PKI John Hughes Entegrity Solutions [email protected] There are two main segments of the E-commerce marketplace: Business-to-Business (B2B) and the Business-to-Consumer (B2C). Whilst most transactions in both segments are protected using some type of Public Key Infrastructure (PKI)-based technology [such as Secure Sockets Layer (SSL)], their trust infrastructures are built upon completely different principles.

Transcript of Enabling E-Commerce Through PKI

Page 1: Enabling E-Commerce Through PKI

feature

14

The low end of the PKI market isrepresented by B2C communicationcharacterized by credit card transactionsusing SSL-enabled Web browser andserver. The high end is where true E-business is performed between tradingpartners and is characterized by the use ofDirectories and certificate revocationmechanisms.

This article examines the technologyrequirements for each type of market.

Certification Authority

All PKIs require a Root CertificateAuthority (CA), which digitally signs asupplied public key and creates an X.509certificate. The signature process isperformed using the Root CA’s private keyand verified using the Root CA’s publickey. By securely distributing the Root CA’spublic key to any PKI component, it ispossible to verify that the certificate wasgenerated by the Root CA simply byverifying the certificate’s digital signature.A Subordinate CA or a user’s workstationwould normally generate the public keysupplied to the Root CA.

An optional component is asubordinate CA — optional, as smallPKIs only require a single CA.Nonetheless, many of the Internet onlineCAs, such as VeriSign, have subordinateCAs. A Subordinate CA has apublic/private key, with the public keyhaving been certified by the Root CA togenerate a Subordinate CA certificate. ARoot CA could have a number of

Subordinate CAs under it and aSubordinate CA could itself have anumber of Subordinate CAs under it.Subordinate CAs are the means by whicha ‘CA hierarchy’ is built. The complexityof this needs only to be understood bythose Enterprises wishing to build theirown PKI. Typically, neither the consumernor the supplier in a B2C environmentneeds be involved in this area.

An alternative to the hierarchicaltypology is cross-certification. Cross-certification involves two peer CAs thatcertify each other — but neither CAdominates the other. A certificateproduced by one of the peer CAs is calleda cross-certificate. Cross-certificates areused to validate a certificate chain to oneof the CA’s trusted root certificates. Ingeneral, hierarchical typologies suit andmatch a typical Enterprise’s organiz-ational structure, thus having the root CAat the corporate HQ and subordinateCAs at each international/countryaffiliate. A cross-certification typologytends to suit Extranet or trading partyrelationships where neither CAdominates the other. This type ofarrangement therefore tends only to beuseful in B2B environments.

Token

The user needs to store two items ofinformation securely on his/her desktop —the ‘trusted’ Root CA public key (used toverify certificates) and the user’s private key(used for cryptographic operations such as

digitally signing a transaction). Tokens areof two types — software and hardware —although, typically, hardware tokens aresmart cards. The token can be thought of asa secure repository for the aboveinformation. The token can also containadditional information on PKI policy, forinstance minimum key length and how tocommunicate with the ‘home’ CA.

Whether you require deployment ofSoft Tokens or smart cards is a balancebetween security (smart cards are moresecure) and cost. Of course a PKI couldhave a hybrid solution with those usersrequiring more security could be providedwith smart cards. Historically only B2Bhas used smart cards, but recentlyAmerican Express has launched their‘Amex Blue’ product that combines acredit card with smart card technology tobe used in B2C environments.

Directory

A Directory is used to store X.509certificates so they can be made generallyavailable. When a CA produces acertificate it is pushed to the CertificateRepository, the ‘key’ under which thecertificate is stored typically being thename of the owner of the public key inthe certificate. Applications within thePKI can automatically fetch certificateson a repository — so if A. Smith’scertificate is stored on the repository thenB. Brown could call up A. Smith’scertificate. Having a repository in a PKIwhere there is many-to-manycommunication occurring (like secure E-mail) is vital. The alternative is that B.Brown contacts A. Smith and asks him tosend his certificate to him, although thisis hardly a transparent automaticmechanism. The Certificate Repositorycan also be used to hold CertificateRevocation Lists (CRLs).

Directories are typically LDAP serversthat in large corporate environments useX.500 behind the LDAP interface.

Most B2C transactions use SSL and insuch situations the Directory is notrequired. However, Directories can beused to propagate certificate revocationinformation (see below).

Enabling E-CommerceThrough PKIJohn HughesEntegrity Solutions

[email protected]

There are two main segments of the E-commerce marketplace: Business-to-Business(B2B) and the Business-to-Consumer (B2C). Whilst most transactions in bothsegments are protected using some type of Public Key Infrastructure (PKI)-basedtechnology [such as Secure Sockets Layer (SSL)], their trust infrastructures are builtupon completely different principles.

Page 2: Enabling E-Commerce Through PKI

feature

15

Key generation andcertification

A PKI is an infrastructure that providesfull life-cycle management of key materialusing public key cryptography. Asexplained previously, public keys arewrapped up inside X.509 certificates.There are a variety of ways to generatepublic and private keys (a ‘key pair’) andthe X.509 certificates and to certify thepublic key:• Face-to-Face: The private/public key

pairs are generated at a RegistrationAuthority (RA), and then sent to theCA for certificate creation. The keysare placed on some type of Tokenand then securely provided to theuser by physical or electronic means.A Token could take the form of asmart card protected by a PIN and/ora second factor biometricauthentication. If it is a soft token,then typically the token is encryptedusing a PIN/Pass-phrase.

• Client generation: In this scheme thekeys are generated at the workstationand the public key sent to the CA forcertification. Submission of thecertification request is normallyperformed using HTTP, whichtransports the actual certificationrequest. Whilst the response willusually be obtained via HTTP, anintermediate E-mail step is verycommon. The identity of the usercreating the key pair has to beidentified to the CA, which should beauthenticated by one of twoapproaches:

• Back-end validation is the mostcommon approach and used by CAsthat do not support the issuing ofTokens. When the CA receives acertification request it will validate,manually or automatically, theidentity of the public key owneragainst a database of values. Theidentity information provided couldinclude details of the user notpublicly known, e.g. mother’smaiden name or date of birth. Thisinformation is then checked against

a database, perhaps generated froma human resources database. Analternative approach is for the CAoperator to manually supply theuser with a secret pass-phrase that issupplied along with the identityduring the certification request.This pass-phrase can then bevalidated by the CA.

• Tokens. For those products thatimplement a token-issuing scheme,the user’s identity is placed withinthe token. The token can alsocontain a secret pass-phrase that isautomatically passed to the CAduring the certification request. Thesecret pass-phrase can be derivedfrom some unique information inthe token and permit the CA toidentify and authenticate the user ofthe certification request. Thisapproach does not require a back-end database. Of course there is a third alternative— that of no authentication. In thiscase the supplied user’s identity isnot verified and any name can besupplied. Therefore the certificaterequestor could masquerade asanyone.

• Split Keys: It is possible to combineboth the face-to-face and clientschemes to produce a ‘split-key’scheme. In this case, one set of keys isgenerated at the client for a particularset of purposes and another setgenerated at the CA. Normally splitkeys will require some sort of token-issuing scheme. The split-key approachis usually the preferred architecture forEnterprises. It permits the key pairused to support confidentiality services(i.e. encryption) which are generatedand backed-up at the CA, with theability to recover a key should adocument require decryption if theuser loses the key (or changes affiliationor is ‘run over by a bus’). Theauthentication keys are then generatedat the client workstation, which thensupports the non-repudiation case byonly having one copy of a signing key— whose safe keeping is entrusted withthe end-user.

B2C usually only involves client keygeneration with no-authentication —that is, the user’s certificate is basicallyworthless. The B2C Web server, however,would normally have a certificate wherethe server identity has been authent-

icated. Having clients with no clientidentity authentication could be classifiedas weak-B2C. The typical credit-card SSLtransaction is secured by a combinationof the credit card company taking the riskand the credit card details sent by the userbeing validated by the goods supplier(although this is not always the case).There are some B2C situations, but notmany, when the client certificates havebeen generated following someauthentication, in which case this isstrong-B2C.

B2B will always require identityauthentication for certificate generation,as the credit card companies are nottaking the risk. If an enterprise isdeploying secure E-mail, then theynormally would use a split-key scheme toenable key recovery.

Revocation mechanism

Certificate Revocation Lists (CRLs) arenot the only technique available todetermine whether a certificate is stillvalid and has not been revoked. A newstandard and technology called OnlineCertificate Status Protocol (OCSP) hasbeen developed and OCSP-enabledproducts provide the ability to requeststatus information from a ValidationServer (i.e. an OCSP responder) on agiven certificate. This can provide nearreal-time certificate status information.CRLs by their very nature produce a time

“Cross-certificates are usedto validate a certificatechain to one of the CA’strusted root certificates”

“The token can be thoughtof as a secure repository for

the above information”

Page 3: Enabling E-Commerce Through PKI

feature

16

lag between a CRL being published and itbeing fetched. CRL update periods ofbetween one day to one week are notuncommon. Although performance andscalability comparisons between CRLsand OCSP are hard to come by, it isreasonable to assume that bothtechnologies will co-exist and individualenterprises can decide which one suitstheir business model. As a means forcomparing CRLs and OCSP, imagine thetechniques used for checking credit cards.Historically, lists of stolen credit cardnumbers were supplied to a shop. Whenaccepting a card, the shop assistant wouldensure that the card number was not onthe list. This is the equivalent of the CRLmechanism. What is more common nowis for the assistant to swipe the cardthrough a reader and as part of thetransaction the status of the card ischecked online — the equivalent ofOCSP.

The main areas that typicallydistinguish B2B and B2C are that the

latter does not support RevocationMechanisms or Certificate Repositories.

Applications

To date, B2C transactions have beenalmost totally based on Web technologyusing SSL to provide some limitedsecurity functions. SSL providesconfidentiality, integrity andauthentication security, but in a situationwhere no authenticated certificates arebeing used, the authentication service isuseless (as explained previously). SecureE-mail is not deployed in the B2Cenvironment currently, although there is agrowing demand. However, withoutaccess to global directories there willalways be a usability problem.

B2B transactions will use either SSL orsecure E-mail. Increasingly there are newapproaches to achieve B2B over andabove the usual Web purchasing model.These models permit online auctioningand catalogue purchasing. Systems to

achieve this are being developed now andsome deployments have already started.They all use SSL and/or secure E-mail,but the applications are moresophisticated in the way they use theunderlying security technology. Oneapproach is for the SSL to be used tocarry digitally signed transactions, whichuse a sub-set of the technology used in

secure E-mail. In this case the goodssupplier can verify that the individualand/or the organization did actually sendthe transaction. Identrus is one suchorganization that is developing anddeploying a system to use this technologyfor its customers, which include many ofthe leading financial institutions in theworld (see www.indentrus.com for moredetails).

Conclusion

This analysis of the security buildingblocks for B2B and B2C has shown thatB2C actually only requires support for alightweight PKI. However, B2B andintra-enterprise environments require afull PKI. Table 1 summarizes the featuresand requirements of B2B and B2C E-commerce.

About the author

John Hughes, Director of World WidePartner Development at EntegritySolutions, has over 22 years experience in ITsecurity. Since joining Entegrity in 1997,John has been responsible for developing thePKI marketplace in Europe. He has boththeoretical and practical knowledge of PKIand cryptography, regularly developingsolutions for clients using EntegritySolutions technology. John can be contactedvia E-mail at [email protected].

Feature B2B B2CCertificate Authorities 4 4

Registration Authority 4 7

Hierarchical Topology 4 4

Cross-certification Topology 4 7

Smart card Token 4 Ô

Directories 4 7

Face-to-face registration 4 7

Client Generation 4 4

Client identity authentication 4 7

Server identity authentication 4 4

Split Keys 4 7

Key backup 4 7

Certificate Revocation Lists (CRL) 4 7

Online Certificate Status Protocol (OCSP) 4 7

SSL 4 4

Secure E-mail 4 Ô

Digital Signature transactions 4 7

Key: 4 Used extensively 7 Not a requirementÔ Emerging requirement

Table 1: The features and requirements of B2B and B2C E-commerce.

“SSL providesconfidentiality, integrity

and authenticationsecurity”