KSG navigation to KSG and Harvard



 Method
 Privacy

 Technology

 Scenarios

 Registration
 Reference
 Home

 

Print-friendly version

IMPLICATIONS WITH IDENTITY IN PKI
Carl Ellison as edited by Jean Camp

Background

A Public Key Infrastructure (PKI) is the set of data structures, network protocols and human procedures that enables the creation, dissemination and revocation of both public keys and their empowerment, often through certificates. In full generality, there are three kinds of certificates or corresponding protected database entries.[1] A general definition of a certificate is "two or more facts represented in a machine-interpretable form that is digitally signed by a key belonging to some authority on the stated relationships among those facts".

However, PKI is generally taken only to refer to what are known as Identity (or ID) Certificates. From the name alone, one might assume that identity certificates bear a strong relation to matters of identity, identification and privacy. The proponents and opponents of ID certificates are often equally guilty of taking the name "identity certificate" too literally. The correlation is only casual.

This section gives an introduction to the concept of public keys and Public key infrastructures, a brief summary of PKI and then addresses matters of utility and privacy of various PKI visions.

Entity, Identity, Identifier and Name

The way we are using the terms, the world consists of entities. Each entity is a person or thing that has persistence. It is in one place at a time and can not clone itself. It might die or be destroyed and it was created or born at some time, but in between birth and death, there is just one entity.

The definitions used here can be found in the introduction and appendix. However, it is useful to add a couple of examples and reminders.

Recall that an identity is a set of facts about an entity. The particular collection depends on the person doing the collecting. For example, imagine a traveling salesman named John Smith, 6'2", blond, blue-eyed, 207 pounds, married to a woman named Jane and living in Cleveland. Then imagine a traveling salesman named John Smith, 6'2", blond, blue-eyed, 207 pounds, married to a woman named Mary and living in Buffalo. These could be two different men or one bigamist. From the point of view of the women, these are two different men. Only the men (man) know(s) for sure. In general, there is one identity for each pair of people: John's identity from Mary's point of view, John's identity from Jane's POV, John's identity from his own POV, John's identity from his employer's POV, etc. From this perspective each individual has his or her own namespace, in which people are defined relative to their relationship.

An identifier is some string of characters (or digits or bits) that is used to refer to an identity. Since an identity depends on the person whose eyes formed the identity, so does the identifier. For example, I use the name "Jim" to refer to my brother, but the name "Jim" spoken by you might refer to someone else entirely, assuming you even use that name alone to refer to someone. Any identifier is associated with at lease one specific namespace, but can be used across multiple namespaces.

A name is a string given to someone and used to address that person or to speak about that person. This can be a given name, typically created and assigned by the person's parents, or it can be a nickname, typically assigned through use. A name is a particular class of identifier, but not all identifiers are names. There is nothing special about a name, from a security point of view, except that people feel a special attachment to names, and names, used as identifiers, are subject to ambiguity and therefore introduce a security weakness.

An inescapable unique identifier is a permanent identifier that stays with a person for life, that is, unique over the whole population (past, present and future) and that some other party can establish without the cooperation of the identified party. A Social Security Number requires registration and can be changed. A fingerprint cannot be altered but must be entered into a reference database(in some form, perhaps with a one-way function) to be useful.

If John in the example above had an inescapable unique identifier, then one could know easily whether there were two John Smiths or one bigamist. One could also do voter registration, welfare monitoring, etc. Such an identifier has very desirable properties. However, it is difficult to achieve (e.g., might require a full genome map) and may constitute a violation of privacy all by itself.

It is important to keep these concepts straight in spite of the fact that there are many who confuse them. For example, an ID Certificate binds a name to a public key. That is, the Certificate Authority (CA) that generates the certificate and digitally signs it asserts that the name and the public key belong to the same person.

If Mary and Jane both issued public keys in their namespaces that John could identify himself uniquely in each namespace would not clarify the issue of the legality of the two marriages.

There are those who treat the name assigned to an ID Certificate as an inescapable unique identifier - not by actually considering it to be one but by assigning the properties of the inescapable identifier to the certified name. For example, they want people to use certified names so that they can't misbehave under one (key, name) association and get another name for a new key. This is a behavior of an inescapable name, not a normal CA-assigned name.

There are those who speak of a certificate "binding a public key to a person,  that is, to an entity, not even an identity, when what it binds a key to is a name and therefore an identifier. Any system design using PKI should be examined for consistency with these definitions. Systems designed by metaphor are particularly prone to logical conceptual errors that can doom the entire project.

The Participants in a PKI

The participants in a PKI have been given generally accepted names.

The end entity is the entity that is referred to by a given ID certificate. This entity is also called the keyholder, because he, she or it controls a private key corresponding to the public key in the certificate. The keyholder uses that private key to sign a message, either the individual message of interest or a message that is part of opening a secured channel.

The certificate authority is a person or corporate entity that issues a certificate binding an ID to a public key (or, more generally, binding any combination of things together).

The relying party is the person or program that examines the certificate, verifies its signature, extracts the ID and tries to make sense of it.

A certificate authority creates its own namespace. The relying party chooses to enter that space by verifying themselves and sending certificates to be verified.

There might also be an authorization database or central directory where the relying party can go to learn the kind of information that could be carried in a certificate.

Conflicting Concepts of the Purpose of PKI

There are two basic views of the purpose of PKI. One view offers to enable the distribution of public keys as an end of itself. Before the creation of public key, secure key distribution was a critical problem in cryptography. If a key is compromised the entire system is compromised; therefore the requirement that shared keys be transmitted before the communication was a chronic problem.

The other view of public key infrastructures put the focus on infrastructure as opposed to keys. In that view, the PKI is a tool that enables entities to assert an certain claim: membership in a club or willingness to pay.

The original paper by Diffie and Hellman (see "A Brief History" below) focused on the concepts of keys rather than infrastructures. They wanted to make sure that everyone in the world would have access to the public keys of everyone else in the world. All authorization decisions are left to the user and are not part of the PKI. With this kind of PKI, one can encrypt e-mail or telephone conversations to anyone in the world. This helps frustrate eavesdroppers, especially national intelligence services.

This configuration does not prevent what is called the Man In The Middle (MITM) attack. A MITM attack is implemented by the relying party connecting to the wrong entity with an encrypted channel or message and that entity then relays the channel or message on to the correct entity re-encrypted for that entity, while first having read the channel or message. 

An MITM attack works like this:  A nefarious party situates himself between two parties, Bob and Alice, that might attempt to communicate.  The MITM pretends to be Bob and forwards messages to Alice, and pretends to be Alice in communicating with Bob. Both parties believe they are engaging in a bona fide discussion.  The linking of the key to the identity is subverted while the encryption itself remains strong. The ability of a PKI to thwart a MITM attack depends on the quality of the information included in the certificate or database entry that makes up the PKI and on the relying party's ability and desire to use it.

HTTPS using SSL in web browsers employs a PKI built according to this vision. If a web page is displayed with a closed padlock, then one knows that the page was served from a machine possessing a private key whose public key was associated with the domain name from which that page was served. This does not mean that the page was served from the company the user imagines it came from or that the company behind the web page can be trusted for any particular business purpose. However, users have been trained to make their security decision based on the closed padlock rather than on an investigation of the certificate that enabled the closed padlock or any other information. Thus, users perceive PKI as performing the infrastructure operation of binding while in fact it is performing the key distribution operation. This mismatch of expectations and functions is a chronic problem in Internet commerce. This led to a comment by the respected cryptographer Matt Blaze in January of 2000, that "a commercial CA will protect you from anyone whose money it refuses to take."

Matt's comment reflects the second view of a PKI - that it should communicate authorization information and be very selective. Any given security decision should find that only the few correctly authorized entities are certified by the PKI. In this view, there are as many different PKIs (different, independent Certificate Authorities (CAs)) as there are different resources to protect. This is the approach taken by more modern PKI efforts (see "PKI Efforts for the Second Goal" below).

If your goal is security enforcement, systems designed simply to provide universal key access are unacceptable by definition, and need to be augmented. If your goal is to disseminate keys nationally or globally via a single PKI, then systems designed to meet the second goal are unacceptable as they will exclude those about whom there is limited authorization information. Definition of organizational goals must be aligned with the PKI for the system to be effective.

Security Decisions: Authorization

There is a model of security decision established in the 1960's with multi-user time sharing systems that goes by the name of IAA: Identification, Authentication and Authorization.n a time-sharing computer system, one would perform these steps as follows: 

1. Identification: On approach to the time sharing terminal, the user would be prompted for a Username. The name supplied is the user's identification. 

2. Authentication: Identification is just a claim. Authentication is a proof that the person at the keyboard is allowed to use that identification. In time sharing systems, this was done by the user's typing a secret password known only to the user and the computer system.

3. Authorization: The user's authenticated ID was carried by the time sharing system in protected system storage, from then on. Whenever the user wanted to do some operation that required specific authorization, the user's authenticated ID was used to check against a list of permissions, usually in the form of an Access Control List (ACL). The ACL would be associated with a given resource (such as a disk file or directory) and would list users and what they were allowed to do (e.g., an entry in a file ACL might be [cme, read] meaning that user 'cme' is allowed to read this file but not modify it, delete it, etc.).

When a system is distributed, with components connected by network, each message that asks for some access to a protected resource needs a security decision and therefore its own IAA. In a distributed system, there may be a user logged in on one component, but not on all components. In very large distributed systems it is practically impossible for a user to log onto all components simultaneously.

An access control list is, in fact, a list that gives privileges that correspond to the authorization. For example, it may be as simple as this: Name Authorization Access Resource Access Right Joe Smith project: strategy1 M: strategy read, write Maria Gonzalez project: finance M: finance read, write Wei Zeng travel coordinator M: finance/accounts read.

As public keys enable more complex forms of interactions with respect to access, more features, such as delegation of access rights, are made possible.

For a component without a user, IAA takes a slightly different form: 

1. Identification: The incoming message (or connection setup) is digitally signed and that signature includes a public key by which the message signature is verified. That key identifies the private key that signed the message.

2. Authentication: The signature on the incoming message (or connection setup) verifies that it has not been tampered with since the private key signed it. 

3. Authorization: Each signed message or each message arriving over a channel whose setup was signed came from a given key, but you need to make a security decision. Instead of asking if some user is allowed to do the requested action, one needs to ask if the key (that is, the keyholder) is allowed to do the requested action. As with the user on a time-sharing system, this requires an ACL. In this case, that ACL is sometimes called a list of root keys (or, in the browsers, a list of root certificates). [Note: when root keys are contained in certificates, the certificate adds no value except as a vehicle for carrying the public key. The security of the root key store depends on how that storage is protected on the relying party's computer.] 

4. Delegation: With public keys as the authorized identifier in an ACL, you have the opportunity to delegate that authorization via certificate. For example, in SSL for encrypted web browsing, the ACL contains the keys of a certificate issuer but the web pages that are allowed to display the closed padlock icon do not belong to those issuers. Rather, they belong to keyholders who are certified by those issuers. For another example, UPnP Security allows home users to delegate access (e.g., from a parent to a teen child and from there to the child's friends).

A Brief History of PKI

The concept of binding information to a public key is over 25 years old. In spite of the age of this concept, the idea has not found general use, as is discussed above. This section deals only with the history of the development of the ideas involved in PKI.

Diffie and Hellman

In 1976, Diffie and Hellman published their seminal paper on public key cryptography 3. In that paper, they introduced the concept of the Public File. This was a directory meant to be available to all relying parties, either by distribution of printed copies (like a telephone book) or as an online database. It was intended to solve the problem of key distribution. That is, if you are encrypting a message intended for my eyes only, you need to use a key that you share with me and me alone. If you have received a message claiming to be from me, then you need to verify that it was authenticated by a key that only I possess.

"Given a system of this kind, the problem of key distribution is vastly simplified. Each user generates a pair of inverse transformations, E and D, at his terminal. The deciphering transformation, D, must be kept secret but need never be communicated on any channel. The enciphering key, E, can be made public by placing it in a public directory along with the user's name and address. Anyone can then encrypt messages and send them to the user, but no one else can decipher messages intended for him." 3  

The implied process in the last sentence of that quote is that anyone can find the intended recipient in that public directory, get that person's public key, and encipher a message for that person's eyes only.

In our terminology, this directory kept an association between a public key and a portion of the keyholder's identity (name and address). As we note below, this idea suffers from confusion between identity and entity. The identity information (name and address) is associated with some entity, but is not the same as the entity. There can be two entities with the same name and address (father and son, for example, or two students in a large college dorm). There can be one entity with more than one name and address. But the most serious problem is that the selection of identity information given in the Public File might not be part of the identity information that the relying party knows about the entity. More specifically, the intersection of the information known about the keyholder by the relying party and the information in the directory needs to be enough to specify that entity uniquely. A possible solution to this last problem is to add more information to the directory entry, until that intersection is large enough. As we discuss further, this would turn that directory entry into a privacy violation.

Kohnfelder

The Public File was an interesting concept for the reader, to help put across the power and novelty of public-key cryptography, but it had problems. Loren Kohnfelder addressed some of those in his 1978 Bachelor's thesis from MIT 4.

One of the first problems, assuming this directory is global and online, is one of performance, especially in the face of network partitions. With everyone in the world going to the same directory to look up associations between names and public keys, that directory would suffer massive network congestion and the resulting poor performance. This problem would be much worse during those times when the Public File was in a portion of the network that you could not reach at the moment (a different network partition).

Kohnfelder's solution was to use public key authentication. Each line item in the Public File could be digitally signed by the private key of the publisher of that Public File. That would make that one entry invulnerable to tampering and immediately verifiable, without requiring it to be specially protected. It is protected by its digital signature. Therefore, this signed line item could be held by the person who cares the most about it: the one whose key is being referred to.

This person could then submit this signed line item to his or her communication partner to allow that other party to know with whom it was dealing. This could happen even if the Public File was unavailable. In fact, the central directory would not need to exist as such, given these signed line items in the hands of those who cared about them.

Kohnfelder needed a name for this new construct. He chose the word 'certificate'.

X.500 and X.509

The concept of a global directory of people (and other communicating things) was a natural for the CCITT. The International Telegraph and Telephone Consultative Committee (CCITT) [now called the ITU Telecommunication Standardization Sector (ITU-T)] is a technical study body chartered by the United Nations. The International Organization for Standardization (ISO) is the corresponding standards body, also chartered by the UN. ITU-T/ISO created the X.500 standard in the 1980's. X.500 was to be a global directory of everything that could have a telecommunications connection (phone number or network address). This included computers, computer peripherals and, of course, people. X.500 included the specification of a so-called Distinguished Name (DN) that could be used to specify someone or something uniquely. The DN is a hierarchical name that could be assigned by some central global naming authority. This naming authority could be distributed to subordinate entities, with the bulk of the work of name assignment being done by organizations to which the central authority delegated responsibility for a sub-tree of the DN space.

X.509 was a subordinate standard to X.500 and it specified digital certificates to bind the DN of a person (or device) to its public key.

The first attempt to use X.509 certificates in a widespread set of products was the Privacy Enhanced Mail (PEM) project of the Internet Engineering Task Force (IETF), circa 1990. PEM was an e-mail encryption and signing tool that used public key methods for both confidentiality and authentication and relied on X.509 certificates for binding public keys to individuals (via their DNs). PEM failed, primarily because of the choice of using X.509. In 1990, there was no source for X.509 certificates.

Perhaps more serious was the association between X.509 and legal liability that was being discussed even in 1990. For example, one company (Stratus Computer) refused to choose a Distinguished Name for itself and thereby join the X.509 hierarchy because the claim was being made that a digital signature by key bound to the company might make the company liable. This issue, now called non-repudiation, is still a danger associated with X.509, retarding the adoption of X.509 certificates 5.

Certification Practice Statements

For those who want to believe that a certificate binds a key to a person, via the DN in the certificate, a certificate issuer must publish a Certification Practices Statement (CPS). This statement often describes the process by which the Certificate Authority (CA) attempts to establish that the keyholder really is the named person. This statement often becomes a legal disclaimer. The CPS rarely if ever addresses the fact that having one identifier for a person is inappropriate, as noted in the previous section.

Bridge CAs

Since there are individual, independent CAs, rather than a global CA hierarchy as envisioned by some early theorists (as in PEM), there is a need to form a bridge between these independent CAs. This presumes that the purpose of a PKI is to give certificates to everyone on the earth such that everyone else on earth can verify them.

PGP

In the early 1990's, while PEM was failing, an independent effort, not tied to X.509 certificates, was developed to provide for e-mail and file encryption. This was called Pretty Good Privacy or PGP for short. PGP used what was called the Web of Trust to certify keys 6. The resulting certificates differed from X.509 in two fundamental ways: 

1. They used a keyholder's common name plus e-mail DNS name instead of an X.500 DN as the identifier. 

2. They were signed by multiple independent parties instead of one especially hardened Certificate Authority. Each independent party was a normal user, but an attacker would have to subvert (or steal the keys of) a large number of such signers in order to falsify a certificate.

PGP suffered from the same problem as X.509, however, in that it used a single identifier to represent a person. This identifier was chosen by the keyholder rather than some third party and also included a unique name (the e-mail address) that the relying parties were likely to know, so it offered a security advantage over X.509. Nevertheless, the use of a single name for an entity falls into the trap of assuming that identity and identifiers are associated with the end entity rather than the pair (end entity, relying party).

PKI Efforts for the Second Goal

All of the PKI efforts described above are based on the first goal of PKI: that keys are to be distributed to all entities in the world. All other entities would then be able to verify an ID of any other key. This assumes that the identifier is adequate to allow the relying party to make a security decision.

The PKI efforts following the second goal address the problem of making security decisions. These efforts capture authorization information, not just an ID (and often not an ID at all).

In all of these cases except the attribute certificate, key management must be done by some non-PKI process. However, the authorization management is being performed at the same time. Therefore, the work to do key management for those PKIs not using an ID PKI is the same amount of work as the authorization management would have been, and the former is often more accurate (because there is no name confusion inherent in indirecting through a name). In the case of attribute certificates, there is extra work.

X9 Attribute Certificate

The ANSI X9 committee (dealing with banking) first defined an attribute certificate to attempt to address the problem discussed in section on authorization, that knowing some keyholder's identifier does not allow you to make a security decision (authorization decision). Other information is needed. The attribute certificate was designed to bind this additional information to an X.509 DN and therefore indirectly to the public key of the keyholder. This attribute certificate was to give the information needed for the security decision.

As discussed in more detail elsewhere1, this opens up a security problem. In cases where the issuer of the attribute certificate has authority to bind that attribute to the keyholder but the issuer of the ID certificate does not, this gives that authority indirectly to the issuer of the ID certificate.

SSH and X9.59

SSH and X9.59 avoided the pitfalls of X.509 by keeping public keys in the relying party's protected storage 7. In SSH, this is the file .ssh/authorized_keys. In X9.59, it is a bank's account records. These keys are authorized to perform specific actions. In the case of SSH, the keyholder is allowed to log into that account or transfer files in and out via the SCP command. In the case of X9.59, the keyholder is allowed to manipulate that one bank account. 

SDSI

SDSI (Simple Distributed Security Infrastructure) addressed the problem of identity and identifiers belonging to the pair (end entity, relying party) rather than just to the end entity. At this time, it is the only ID PKI design that recognizes this fact and accommodates it 8.

SDSI is used to define groups of precisely those entities that should have a particular kind of access. In this sense, although SDSI is an ID PKI, it provides for authorization information.

SPKI, PolicyMaker and KeyNote

Starting in 1995, two independent efforts addressed the problem that an ID PKI fails to communicate the information necessary for a security decision by defining certificates that bound that information directly to a public key. This simplified the system using these certificates and improved on the security of the resulting system, since the issuer of the ID certificate was not used and therefore was no longer in a position to circumvent the authorization grant. These efforts were SPKI and PolicyMaker (which has since spun off KeyNote ) 9, 10, 11. These differ primarily in how authorization information is expressed. SPKI uses a restricted language expressed in canonical S-expression  form, and defines an intersection of authorizations expressed in that language 12. PolicyMaker uses an executable language for expressing authorization decisions and carries the actual decision code (yielding a "yes" or "no" answer) in the body of the certificate. KeyNote uses what looks like an executable conditional expression to express authorization. For more details, consult their respective web sites 2.

Usefulness of a PKI

There are a number of companies that have purchased and deployed a PKI, only to discover that it cost a great deal of money, involved considerable time and effort and yet gave them no advantage. Part of this problem can be traced to a confusion of terms, as defined and elaborated previously. Part of it is the result of the fact that a PKI is only part of the solution and worthless by itself, as described above. In general they are likely discovering that to have a security effect, one needs a PKI meeting the second goal, whereas they had bought a PKI meeting the original goal.

Even when an ID PKI is augmented by some auxiliary authorization data, there are security problems.

Too much power for the ID CA

The use of an ID PKI gives the ID CA the power to get any authorization that any ID has been granted and give that authorization to any other keyholder, by issuing a certificate to that second (improper) keyholder under the ID of someone who has been authorized. This is too much power for an ID CA, in many cases. 

The John Wilson Problem

This is one name for the general problem that results when one ignores the definitions in the first section. A man named John Wilson known to a number of us keeps getting corporate mail intended for other employees named John Wilson, because the company he works for has 8 men named John Wilson.

Sometimes this mail is nonsense, but sometimes it is very sensitive. At one time, he received the renewed passport of one of the other John Wilsons. At another time, he was in one of his doctor's examining rooms waiting a long time for the doctor, who had gone to the wrong examining room and was discussing our friend's medical history with another John Wilson. At another time, he was about to board an airplane with the wrong boarding pass, because his boarding pass had been given to another John Wilson on the same flight.

A large PKI exacerbates this problem. SDSI defines names that are much more useful than names from a large PKI, but even those names can cause trouble 8. SDSI names would not have prevented the misuse of names by John's doctor, for example.

The fundamental problem here is that people have a habit of using names as if they were unique identifiers correlated 1:1 with entities. A well designed system will avoid using names to identify people. Of course, we can't buy such systems today, but there are some in development.

PKI versus Privacy

There are those who worry about an ID PKI because it binds a person's name (worse, Distinguished Name, in some cases) to a public key. This appears to be a violation of privacy. There are possible violations of privacy with any PKI, but the name in an ID certificate is not the worst problem.

Distinguished Name versus Key

If our friend John Wilson gets an ID certificate binding his name to his public key, and if the relying party validates this certificate and keeps a record of the name while throwing away the key, John's privacy might be damaged but it would be damaged more if the relying party were to keep the public key and throw away the name.

A public key, besides being a cryptographic quantity that is useful in computations, is a string of bytes. It is also globally unique. It is also provably associated with the person who sent the signed transaction message or opened the authenticated channel over which the transaction in question was delivered. This makes the public key an ideal identifier for someone who is building a dossier of activities of the keyholder.

The name "John Wilson", on the other hand, is quite ambiguous.

A Distinguished Name is supposed to be unique. Under the original X.500 thinking, there would be one (distributed, hierarchical) name service in the world so that everyone would have a unique name. However, since the global X.500 has never come about and is unlikely ever to, there are instead independent CAs, each assigning independent DNs to end entities. Therefore, it is possible (perhaps even likely) for two different entities to have the same DN. This isn't anonymity, but it is less invasive (after the model of the U.S. Census Bureau) than guaranteed global uniqueness of ID.

X.509 was designed to treat the DN as a unique quantity. Therefore, it is likely to be stored as a stand-alone unit in some relying party's transaction log. This is a privacy advantage over storage of the public key because it restores some ambiguity.

A public key is large. One can use the cryptographic hash of the public key as another globally unique ID for the keyholder. Either the key or its hash is more of a privacy violation than the DN.

However, this suggests that all use of public key technology threatens privacy. In fact, any authentication at all threatens privacy, if the same authentication key (or name and password or biometric, etc.) is used for more than one transaction. The alternative is authentication and authorization by zero-knowledge proof methods, but that is a topic for a different technical report.

X.500 Directory

A Distinguished Name in X.509 is an index (path name) into an X.500 directory. At the indicated directory entry, one will find information about the keyholder. Recall that for a relying party to know who a given keyholder is, that relying party must intersect what he or she knows about the keyholder with the X.500 directory entry (or the contents of the ID certificate) and that intersection must be enough to specify that individual uniquely 13. It is best if the intersection is much more than enough, in order to provide added security (e.g., if you are just about to e-mail a very sensitive document to someone for his or her eyes only).

It is possible to make a directory entry that is rather small, if each relying party builds and uses his or her own directory, after the manner of SDSI. However, if one wants to have a single directory (or single certificate with all directory information contained inside) that will be usable by every possible relying party, then that directory entry needs to contain the union of all information any relying party would need to see to verify the identity of the keyholder. This union of that information would probably be a complete dossier on the keyholder and almost certainly a violation of privacy.

Commercial Certificates

Commercial certificate authorities are often optimized for use within a single organization. The assumption is that this organization has complete knowledge and authority to have this knowledge over employees. In contrast the government and citizen relationship is different in a way that has technical design implications.

As noted previously, if one uses a public key in a non-zero-knowledge protocol, that key becomes an ID that allows a party bent on violating the keyholder's privacy to link together the keyholder's actions. Therefore, for maximum privacy, a keyholder needs a large number of public keys.

The very assumption that may be optimal in digital government runs against the normal mode of operation of commercial certificates for many reasons. First, these certificates often cost money. A user will be disinclined to purchase a new certificate for each different transaction (in the extreme limit). Second, the commercial CA will doubtless attempt to keep enough identity information with each certificate issued to allow it to link together the various public keys of the keyholder, thus allowing it to violate that user's privacy. Third, commercial CAs often have the policy of one certificate per user. Finally, commercial certificates are all (at present) of the ID form and that ID alone would link all these certificates together to some extent. There is interesting work on a PKI that preserves anonymity, but this has not been deployed yet.

In summary, PKI is a powerful and potent tool. PKIs can be used to arbitrarily implement a binding between a key holder and an attribute. The implications of a PKI as used in digital government are not now completely understood.

REFERENCES

1 Ellison, "Improvements on Conventional PKI Wisdom ", 1st Annual PKI Research Workshop, April 2002. http://www.cs.dartmouth.edu/~pki02/Ellison/

2 Ellison, C. M., "Home Network Security." Intel Technology Journal. http://developer.intel.com/technology/itj/2002/volume06issue04/ (November 2002).

3 Whitfield Diffie and Martin Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, November 1976, pp. 644-654.

4 Kohnfelder, Loren M., "Towards a Practical Public-key Cryptosystem", MIT S.B. Thesis, May. 1978.

5 Cem Kaner, "The Insecurity fo the Digital Signature", 1997, http://www.badsoftware.com/digsig.htm

6 Ellison, "SPKI/SDSI and the Web of Trust", http://world.std.com/~cme/html/web.html

7 Secure Shell: http://www.ietf.org/html.charters/secsh-charter.html and http://www.ssh.com/

8 SDSI home page: http://theory.lcs.mit.edu/~cis/sdsi.html

9 SPKI home page: http://theworld.com/~cme/html/spki.html

10 Blaze, Feigenbaum and Lacy, "Decentralized Trust Management", IEEE Symposium on Security and Privacy, Oakland, CA. May 1996. http://crypto.com/papers/policymaker.pdf

11 Matt Blaze, "Using the KeyNote Trust Management System", http://crypto.com/trustmgt/kn.html

12 Ron Rivest, "SEXP - (S-expressions)", http://theory.lcs.mit.edu/~rivest/sexp.html

13 Dohrmann and Ellison, "Public-key Support for Collaborative Groups", http://www.cs.dartmouth.edu/~pki02/Dohrmann/

14 Stefan Brands, Rethinking Public Key Infrastructures and Digital Certificates; Building in Privacy, The MIT Press, August 2000, ISBN 0-262-02491-8.