Abstract:
A cryptographic communication system is disclosed which permits computer users to authenticate themselves to a computer system without requiring that the computer system keep confidential the password files used to authenticate the respective user&#39;s identities. The invention is useful in that it prevents a compromised password file from being leveraged by crafty hackers to penetrate the computer system.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     Allowed U.S. patent application Ser. Number 07/770,064, entitled &#34;A Cryptographic Protocol for Secure Communications&#34; by Steven M. Bellovin and Michael J. Merritt, filed Oct. 2, 1991, and assigned to the assignee of the instant application, is hereby incorporated herein as if set forth in its entirety. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to cryptographic communications in general and, more particularly, to methods and apparatus for private communications and remote authentication. 
     2.Description of the Related Art 
     Parties often wish to conduct private and authenticated communications. While privacy can be sought through physical means it is often more efficient and effective to employ cryptographic means. And while authentication can be sought through physically secure and dedicated facilities, it too can be accomplished more easily with cryptographic techniques. 
     In the prior art, this required that both parties to the communications kept a cryptographic key in their respective possession so as to be able to decrypt and/or authenticate the communications from the other party. When, for example, one of the parties is a computer system, it is inadvisable for the computer to store the cryptographic key either in clear form or in a reversibly-encrypted form. See R. H. Morris and K. Thompson, &#34;UNIX Password Security,&#34; Communications of the ACM, Vol. 22, pp. 594 (Nov. 1979). 
     SUMMARY OF THE INVENTION 
     The present invention provides a mechanism for establishing private and authenticated communications between parties who share only a relatively insecure secret by using an approach different from the prior art, and while avoiding many of the costs and restrictions of prior cryptographic protocols. The communications conducted pursuant to the present invention are more secure than those established with the prior art and protect the shared secret (e.g., a password) from being revealed to an eavesdropper. Furthermore, one of the parties need not store the shared secret in a clear form or a reversibly-encrypted form; the advantage being that the shared secret cannot be stolen from them. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIGURE 1 depicts a flowchart of the operation of an illustrative embodiment of the present invention as between a computer system user, an intelligent terminal (&#34;Alice&#34;), and a computer system (&#34;Bob&#34;). 
    
    
     DETAILED DESCRIPTION 
     FIGURE 1 depicts a flowchart of the operation of an illustrative embodiment of the present invention. The illustrative embodiment involves an exchange of signals between a computer system user (&#34;the User&#34;), a terminal with local computing capabilities to which the User has access (&#34;Alice&#34;), and a remote computer system (&#34;Bob&#34;). In the illustrative embodiment, the exchange of signals uses a public key distribution system (e.g., the Diffie-Hellman technique) and techniques taught in co-pending U.S. patent application Ser. No. 07/770,064. For the purposes of the illustrative embodiment, it is assumed that both Alice and Bob have access to a common set of Diffie-Hellman parameters, α and β, which can be distributed in well-known fashion. 
     In the illustrative embodiment, Bob is a multi-user computer system with a plurality of users, that uses password based techniques to authenticate those who attempt to gain access to Bob&#39;s resources. As shown in FIGURE 1 at 101, the User preferably generates an authentication signal (i.e., a password), D A , such as a private key to a digital signature system or public key cryptosystem. Furthermore, the User also preferably generates a signal, E A , which is a function of the authentication signal. While the signal, E A , can be a hash function, or a one-way function of the authentication signal, it is preferred that it be the public key corresponding to the private key (i.e., the authentication signal) according to some digital signature system or public key cryptosystem, and that the public key, E A , be derivable from the private key, D A . It will be clear to those skilled in the art how to generate the authentication signal and its counterpart signal. 
     As shown at 103, the User transmits the public key, E A , to Bob, which Bob maintains for later reference, at 105. It is preferred that Bob maintain the public key E A  in confidence. Whenever the User desires access to Bob&#39;s resources, the User, at 107, provides the private key D A  to Alice. Upon receipt of the private key, D A , Alice derives, at 111, the public key, E A , in well known fashion. 
     Next, at 112, Alice advantageously chooses a random number R A , and with the Diffie-Hellman parameters α and β, forms an excitation signal: 
     
         α.sup.R.sbsp.A modβ 
    
     in well known fashion. 
     Next, at 113, Alice advantageously, although not necessarily, encrypts at least a portion of the excitation signal with a first symmetric key cryptosystem and a key based on E A , to form the outgoing message E A  (α R .sbsp.A modβ), which is transmitted to Bob. Alice may also transmit the User&#39;s identity to Bob. 
     As shown at 115, Bob receives the encrypted excitation signal (i.e., the outgoing signal), and having access to E A, advantageously decrypts it, if it is encrypted, to recover α R .sbsp.A modβ. Bob, as shown at 117, next advantageously chooses a random number R B , forms the response signal, Q: 
     
         Q=α.sup.R.sbsp.B modβ 
    
     in well known fashion. Next, at 119, Bob advantageously, although not necessarily, encrypts at least a portion of the response signal, Q, with a second symmetric key cryptosystem and a key based on E A , to form the incoming message E A  (Q), which is transmitted to Alice. Having both R B  and the excitation signal, α R .sbsp.A modβ, Bob preferably generates, at 125, a cryptographic key, K, in well known fashion. 
     At 121, Alice receives the incoming message, and knowing E A , decrypts it, if it is encrypted, to recover the response signal, Q. As shown at 123, Alice preferably uses R A  and the response signal, Q, to form the cryptographic key, K: 
     
         K=Q.sup.R.sbsp.A modβ 
    
     in well known fashion. 
     Alice, at 127, preferably performs a second function (e.g., a hash function, a digital signature) on the authentication signal D A  and the newly created cryptographic key K, to form a validation signal F 2  (D A ,K ). It is preferred that public key technology be employed such that the second function uses the authentication signal D A  to &#34;sign&#34; the cryptographic key K, in well known fashion, to form D A  (K). As shown at 129, at least a portion of the validation signal, F 2  (D A ,K), is preferably encrypted with a third symmetric key cryptosystem and a key based on the cryptographic key, K, in well known fashion, to form the encrypted validation signal. The encrypted validation signal is then transmitted to Bob. 
     At 131, Bob receives and, knowing K, decrypts the validation signal, in well known fashion. At 133, Bob verifies that the validation signal F 2  (D A ,K) originates from an entity having possession of both the authentication signal D A  and the newly formed cryptographic key K. Preferably, Bob, using the signal E A , verifies the validation signal by ensuring that D A  (K) is the correct signature of the cryptographic key, K, (i.e., checking to make sure that E A  (D A  (K))=K). When the check at 133 succeeds, Bob is assured of the User&#39;s authenticity and can thereafter communicate with Alice using the cryptographic key K. Alice, at 137, advantageously uses the cryptographic key K to decrypt messages from Bob and passes the plaintext message to the User. Preferably, any two, or all three of the first, second and third symmetric key cryptosystems are the same.