The previous page examined illicit methods of transmitting key information to someone who has tampered with an encryption program or device. This section looks at methods where key information is overtly provided to supervisory personnel or retained for future recovery use. The most well-known real-world proposal will be very briefly examined here. There are more sophisticated approaches based on extending public-key encrypton concepts as well.
Some of the systems examined here are intended to allow the government access to keys for law-enforcement purposes. This is, of course, a highly controversial subject; questions of the politics of cryptography will be examined in the next section.
The notorious "Clipper chip" is said to operate as follows:
A secured voice conversation is set up with an 80-bit session key, possibly by the use of public-key techniques. (If the Clipper chip can not execute any cryptographic algorithm other than the Skipjack algorithm, which is, like DES, a block cipher acting on 64-bit blocks, but with an 80-bit key, then the chip designers will necessarily have at least the potential of eavesdropping on all Clipper-protected messages without use of the LEAF.)
The Clipper chip encrypts only voice, not data. According to Applied Cryptography by Bruce Schneier it does so by means of output-feedback (OFB) mode. This is noted as a potential threat to the evidentiary value of wiretapped conversations, due to the possibility of a bit-flipping attack. The Clipper Chip, however, performs the conversion of speech to a bitstream internally; if the apparatus for carrying out authorized wiretaps also does not provide the decrypted bitstream, but only the spoken conversation, this criticism is mitigated.
Each Clipper-encrypted message is accompanied by a 128 bit Law Enforcement Access Field (LEAF), which is the element which provides key escrow.
The precise makeup of that field is secret, but it is made up of the following: the 80-bit session key, a 32-bit unit ID, and a 16-bit checksum. The 16-bit checksum and the 32-bit unit ID are only encrypted using a "Family key" which all Clipper chips in a particular network, thus capable of interoperation, share. Thus, the recieving Clipper chip checks the checksum for validity to enforce the presence of the LEAF.
The 80-bit session key is additionally encrypted by a secret "Unit key". The 32-bit unit ID indicates which unit key is used.
Two separate government agencies, such as the FBI and the Department of Justice, are each issued lists of 80-bit quantities associated with each 32-bit unit ID. One list is a one-time-pad, the other the keys encrypted by that one-time-pad, so that neither list alone is enough to intercept communications.
When a request for an authorized wiretap is made and accepted, however, the unit key for the telephone to be tapped is not given out directly, but only as part of an encrypted authorization message which also includes information about the period of time for which the wiretap is authorized. (Since a wiretap may involve incoming calls to a telephone, note that the recieving telephone also must transmit a LEAF of its own when a connection is made.) Then, special tamper-proof devices would use these authorization messages on behalf of police departments. Presumably, the two lists of unit key "halves" are also protected by additional encryption, despite the fact that each one is composed solely of useless random numbers, to prevent a unit key from being obtained by simple collusion.
If the validity of the LEAF is determined solely by the 16-bit checksum, then there is a one chance in 2^64 probability of establishing a connection even with a scrambled LEAF; this was verified experimentally by Matt Blaze. A simple cure would be obtaining authorization to wiretap the other telephone, as scrambling both LEAFs would square the difficulty of obtaining a connection. However, the Clipper design could have included a precaution to avoid this danger: after the normal key-exchange method leads to agreement on an 80-bit key, and that key is included in the LEAFs from both units, the actual 80-bit key used to encrypt the telephone conversation could have been the XOR of the following three quantities: the 80-bit agreed key, the 80-bit agreed key enciphered using the unit key of the first telephone, and the 80-bit agreed key enciphered using the unit key of the second telephone. This would ensure that both LEAF fields would have to be intact, since a modified LEAF field with a valid 16-bit checksum would still not have its correct 80-bit contribution to the actual session key.
In Diffie-Hellman, two communicating parties each generate random numbers, one generating x, the other generating y. They keep those numbers secret, but make A^x mod P and A^y mod P public, where A and P are public parameters.
In the GCHQ proposal, parties communicating by escrowed encryption use Diffie-Hellman, but they recieve their secret numbers from their local escrow agent and key certifying authority.
For local communications, and for transmitting to a party belonging to another escrow agent, x is simply a function of the users ID known to the local escrow agent. (It could be random, if the local escrow agent could store all the keys; making x fixed was noted as a problem with this proposal.)
For recieving a message from a party belonging to an escrow agent, x is the current date, encrypted by a key. This key is the recieving user's ID, encrypted by a key shared between the two escrow agents involved.
The session key produced by Diffie-Hellman is only used by the parties to encrypt the real session key; this way, messages can be broadcast to several parties while only having their entire text encrypted once.
The escrow agents communicate these shared keys between themselves using the same method, if they have an escrow agent above them. Thus, the number of escrow agents, and the number of keys each one must handle, merely grows logarithmically as the number of users increases. (This seems to answer another objection made to the proposal.) This method allows international communications, since only escrow agents directly above the two parties in a communication can decode it.
A third objection to this proposal was that, since the keys are known to the escrow agents, why are public-key methods used; Kerberos was noted as an alternative. However, an advantage is either gained or at least is hoped for from the existing proposal: the escrow authorities do not have to be directly involved in every encrypted communication, only a fraction of them.
A proprietary technique, invented by Silvio Micali, uses Diffie-Hellman to allow any number of escrow agents to share the information needed jointly to reconstruct a key.
It makes use of Diffie-Hellman. In Diffie-Hellman, a party generates a random number, x, and keeps it secret, but makes A^x (modulo P, since discrete log is hard, but regular log isn't) public.
If, instead, a party generates several separate random numbers, and uses the sum of them as x, then for each random number r, he can disclose to an escrow agent both r and A^r. The escrow agents keep r private unless an escrowed key is to be used, but A^r is public from the beginning.
Each escrow agent can verify that the number r is correct, since they can calculate A^r themselves. Every escrow agent can verify that the A^r values must be correct, since their product must equal the public A^x.
Skip to Next Section
Table of Contents