[go: up one dir, main page]

WO2001028152A1 - Method for secure key distribution over a nonsecure communications network - Google Patents

Method for secure key distribution over a nonsecure communications network Download PDF

Info

Publication number
WO2001028152A1
WO2001028152A1 PCT/US1999/031182 US9931182W WO0128152A1 WO 2001028152 A1 WO2001028152 A1 WO 2001028152A1 US 9931182 W US9931182 W US 9931182W WO 0128152 A1 WO0128152 A1 WO 0128152A1
Authority
WO
WIPO (PCT)
Prior art keywords
subscriber
password
provider
key
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US1999/031182
Other languages
French (fr)
Inventor
Robert G. Field
Michael W. Layne
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Signals Inc
Original Assignee
Signals Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Signals Inc filed Critical Signals Inc
Priority to AU28457/00A priority Critical patent/AU2845700A/en
Publication of WO2001028152A1 publication Critical patent/WO2001028152A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping

Definitions

  • the present invention generally relates to secure key cryptography, and in particular to methods for distributing key material in a secure manner over a nonsecure network.
  • FIG. 1A shows a Provider of services and a potential Subscriber to those services connected to a nonsecure network in accordance with the foregoing assumptions.
  • Figure IB shows message traffic when a potential Subscriber and a service Provider try to establish a session in the presence of an Interloper on the network.
  • An encryption method is said to be a public key encryption scheme when, for each associated encryption/decryption pair, one key (the public key) is made publicly available, while the other key (the private key) is kept secret.
  • the following attributes characterize public key encryption: (i) keys are generated in pairs, consisting of a public key and a private key; (ii) there is always a mathematical relationship between the two keys, but this relationship is based on some "hard” problem (i.e.
  • U.S. Patent No. 3,962,539 to Ehrsam et al sets forth the algorithm for generating block ciphers, outlining how key bits are used, regarding the nonlinear transformation within S-boxes, and regarding a particular permutation.
  • the DES cipher although an improvement on the preexisting cipher put forth in the Feistel patent (U.S. Patent No. 3,798,359), does not address a protocol for secure transmission of a cipher key between two parties, via an electronic, real-time medium, where neither party has any a priori knowledge of the other.
  • U.S. Patent No. 4,200,770 to Hellman et al sets forth the algorithm for generating block ciphers, outlining how key bits are used, regarding the nonlinear transformation within S-boxes, and regarding a particular permutation.
  • the DES cipher although an improvement on the preexisting cipher put forth in the Feistel patent (U.S. Patent No. 3,798,359), does not address
  • the RSA public-key encryption and signature system (described in U.S. Patent No. 4,405,829 to Rivest et al . ) outlines the current accepted state of the art for public-key technology.
  • the RSA system represents practical application and derivations of the ideas set forth in the original Diffie-Hellman key agreement patent.
  • the methods set forth in this patent provide adequate security for electronic communications, the problem of establishing initial secure electronic contact and transporting keys without a priori shared keys persists.
  • the "hard" problem involved in encrypting and decrypting also places undesired strain on the average user equipped with a standard personal computer system of today's computational limitations.
  • Perhaps the most relevant example of prior art is a no-key protocol which is attributed to Shamir by Konheim [A.G.
  • This protocol allows users A and B to transfer a secret key K with privacy, but no authentication, over a public channel within three passes. This is achieved by first publishing a prime number p chosen such that computation of discrete logarithms modulo p is infeasible. A and B then choose respective secret random numbers a ,b and each performs parallel but separate computations of a "1 and b '1 mod p-1. A then chooses a random key K, computes F? mod p and transports it to B .
  • Another object of the invention is to permit a Subscriber to securely receive a key from a Provider over a nonsecure network without depending upon key creation capabilities in the hands of the Subscriber.
  • Another object of the invention is to permit a Subscriber to securely receive a key from a Provider over a nonsecure network without depending upon the Subscriber already having a private key corresponding to a public key which could be made available to the Provider.
  • a Provider in return over the nonsecure network supplies the Subscriber with a public key and retains the corresponding private key.
  • the Subscriber uses this public key to encrypt a password known only to the Subscriber.
  • the password is decrypted by the Provider using the corresponding private key, so that both Subscriber and Provider know the Subscriber's password.
  • the password is then used to securely transfer to the Subscriber a key determined by the Provider, thereby enabling the Subscriber to decrypt messages encrypted by the Provider and transmitted over the nonsecure network.
  • the Subscriber While the Provider has facilities to create keys and perform complex calculations, the Subscriber is unsophisticated and can only operate off-the-shelf communications programs (such as a browser) and programs which can be supplied by the Provider over the nonsecure network.
  • This password dependent secure transmission of a key to an unsophisticated Subscriber may be accomplished, in accordance with the invention, by hashing, key lookup, Wizard protocol or Warlock procedure methods. Since all methods described herein are based on a one-time use of a password, they all provide authentication approaching strong authentication [Menezes, et al., Handbook of Applied Cryptography, CRC Press, Boca Raton, 1997, p.395].
  • the hashing method requires a complementary pair of hashing algorithms, hi and h2. That is, hashing algorithm h2 is uniquely related to hashing algorithm hi so that when hi is applied to a public key with a password as a parameter, its output acts as a decryption key for the encryption key output of the complementary application of hashing algorithm h2 on a private key (corresponding to the aforesaid public key) when the same password is used as a parameter.
  • Algorithm hi along with a public key is transmitted in the clear by the Provider to the Subscriber. The Subscriber applies this algorithm hi to the public key, using the password as a parameter, thereby generating Subscriber Key H.
  • the Provider applies algorithm h2 to the corresponding private key, using the same password as a parameter, thereby generating Provider Key H.
  • Algorithms hi and h2 are such that messages encrypted by the Provider using Provider Key H may be decrypted by the Subscriber using Subscriber Key H.
  • the Provider uses Provider Key H only once, to encrypt Subscriber Key F which the Subscriber decrypts using Subscriber Key H.
  • the Provider sends a suitably long table of private keys to the Subscriber over the nonsecure network, together with a lookup algorithm usable with the password as a parameter to select a key from the table.
  • a lookup algorithm usable with the password as a parameter to select a key from the table.
  • the Subscriber selects Subscriber Key L and the Provider selects the corresponding Provider Key L.
  • the Wizard protocol is an iterative guessing technique which uses the password as the initial guess of a final Subscriber Key F.
  • the final Subscriber Key F would be the same length as the password.
  • the Provider wants to use a key of a particular length, he could ask the Subscriber to supply a password of the desired length.
  • the Provider compares each character of the initial guess with the corresponding character of the desired Subscriber Key F, using the numeric equivalent of the binary representation of the ASCII characters to determine whether the next "guess" of the Subscriber needs to be lower, higher, or should remain the same.
  • the Provider transmits an unencrypted response to the Subscriber indicating how each character in the password should be changed to improve the guess.
  • the Subscriber uses the Provider's response to make another "guess” and again encrypts the new guess using the public key earlier supplied by the Provider. The process is repeated until the correct key is determined.
  • a maximum of eight guesses will be required for the Subscriber to determine the final Subscriber Key F.
  • the Warlock procedure is a comparison technique in which the Provider compares the password to the final Subscriber Key F and then relays a single set of detailed instructions on how the password can be altered to become identical to the final Subscriber Key F.
  • the final Subscriber Key F would be the same length as the password.
  • the Provider asks the Subscriber to submit a password with no unique syntax and having the same length as the desired final Subscriber
  • the Provider compares each character of the password with each corresponding character of the desired Subscriber Key F, using the numeric equivalent of the binary representation of the characters to determine exact differences between each set of corresponding characters. Using suitable numeric directions that represent the differences between the corresponding sets of characters, the Provider sends an unencrypted response to the Subscriber explicitly indicating how to change the password so that it becomes identical to the desired Subscriber Key F.
  • the Warlock procedure can also be used to transmit entire messages without the Subscriber ever having to possess a Subscriber Key F for decryption purposes.
  • the Provider simply asks the Subscriber to send him a string of characters equal in length to the entire desired message that the Provider wishes to send the Subscriber.
  • the exact same procedure is used as stated previously when transmitting the final Subscriber Key F via the Warlock procedure .
  • Figures 1A and IB show the components of the problem space: a Subscriber and a Provider who wish to establish a secure communications link over a Network in the presence of an Interloper, as well as the initial contact which is intercepted by an Interloper.
  • Figures 2A and 2B show a sequence of communication steps for secure transmission of the Subscriber's password to the Provider in accordance with the invention .
  • Figure 3 is a flow chart showing use of a hashing algorithm to securely generate a public/private key pair for use by the Provider to securely transfer a key to the Subscriber .
  • Figure 4 is a flow chart showing use of a key lookup method to securely select a public/private key pair for use by the Provider to securely transfer a key to the Subscriber .
  • Figure 5 is a flow chart showing use of an iterative guessing technique to securely transfer a key from the Provider to the Subscriber.
  • Figure 6 is a flow chart showing use of a character alteration technique to securely transfer a key from the Provider to the Subscriber.
  • FIG. 1A there is shown a diagram of the problem which is to be solved by the present invention.
  • a Subscriber 11 and a Provider 12 wish to establish a secure communications link over a nonsecure Network 10 where an Interloper 13 on the Network 10 has every facility of the Subscriber 11.
  • Figure IB shows a call 14 from Subscriber 11 which is sent through Network 10 and received by Provider 12 being intercepted by Interloper 13.
  • Figure IB also shows an answer 15 from Provider 12 to Subscriber 11 also being intercepted by Interloper 13.
  • FIGS 2A - 2B we will show how a password known to Subscriber 11 can be transmitted to Provider 12 in such a fashion that Interloper 13 will not know what the password is.
  • the first step is for Provider 12 to generate a key pair in accordance with a public key encryption scheme. Subscriber 11 is unsophisticated and therefore lacks this capability.
  • Provider 12 sends 21 the public key to Subscriber 11, as shown in Figure 2A, but retains the private key.
  • the Interloper 13 intercepts the public key 21. Up to this point, Subscriber 11 and Interloper 13 are identical with respect to the information they share with Provider 12.
  • Subscriber 11 After receiving the public key, Subscriber 11 generates an initial password (P : ) that is unknown to
  • Subscriber Key F a key (Subscriber Key F) must now be obtained in a secure manner by Subscriber 11 so that Subscriber 11 will be able to decrypt future transmissions from Provider 12 to Subscriber 11.
  • the present invention accomplishes this by using the password (Pj) which both Subscriber 11 and Provider 12 now possess, and which Interloper 13 does not possess.
  • Provider 12 is able to encrypt 27 a message M and securely transmit 28 that message to Subscriber 11 over nonsecure network 10, whereupon Subscriber 11 is able to decrypt 29 the message using Subscriber Key F, which has been obtained securely over the nonsecure network from Provider 12.
  • Subscriber Key F will not require intensive computation by Subscriber 11 and will therefore be usable in a wide variety of message traffic scenarios between Subscriber 11 and Provider 12.
  • Subscriber Key F can also be used to securely receive a new encryption key of a simpler type to be used for further transmissions.
  • Subscriber Key H can successfully decrypt messages sent with Provider Key H.
  • Provider 12 transmits 31 hashing algorithm hi to
  • Subscriber 11 who then uses it on the public key with the password (P z ) as a parameter to generate 32 Subscriber Key H.
  • Provider 12 also uses h2 on the private key with password (P ⁇ ) as a parameter to generate 30B Provider Key H. Then Provider 12 uses Provider Key H to encrypt 33 Subscriber Key F, which is then securely transmitted 34 to Subscriber 11. Subscriber 11 then decrypts 35 subscriber key F using Subscriber Key H. Subscriber 11 is now in possession 36 of Subscriber Key F.
  • the hashing algorithm hi can be public information and sent in the clear to Subscriber 11, since, without Subscriber 11 's password, the Interloper 13 cannot replicate this hashing process, and therefore cannot deduce Subscriber Key H.
  • the Interloper 13 has no way of independently creating Subscriber Key H and Provider Key H since, even if he possesses the appropriate algorithms, he never possesses the Subscriber 11 's password used in the hashing procedures. The best that the Interloper 13 can do is to take over the entire session and become the Subscriber. If he were to do that, then Subscriber 11 would be barred from the session and would be unable to communicate any sensitive information to the Provider 12.
  • Subscriber Key H and Subscriber Key H are used only once, to transmit Subscriber Key F (uninterceptable by the Interloper 13) to Subscriber 11 for use in a simpler system such as a symmetric key system.
  • Subscriber Key F can also be used to securely receive a new encryption key of a simpler type to replace the function of the previously used public key used to initially transmit the password (P ⁇ ) to the Provider 12.
  • a key table, generated by Provider 12 can also be used to facilitate the secure determination of a suitable Subscriber Key L by the Subscriber 11. This table would have to be acceptably long and have the following structure :
  • the entire column of Private Keys is sent 41 from Provider 12 to Subscriber 11, together with a lookup algorithm usable with the password (P j ) as a parameter to select a key from the table.
  • this sending 41 of the column of Private Keys can be combined with the initial transmission 21 of the public key.
  • Subscriber 11 and Provider 12 then can use the Subscriber 11 's password (Pj-) (once it is common knowledge to Provider 12 and Subscriber 11) as a lookup parameter.
  • Provider 12 uses 40 password (Pj)as a lookup parameter on his list of Public Keys to determine Provider Key L, while Subscriber 11 uses 42 password (Pj)as a lookup parameter on his list of Private Keys to determine Subscriber Key L.
  • the Wizard protocol is a transfer process easily used to transfer a Subscriber Key F of an arbitrary length and type from Provider 12 to the Subscriber 11.
  • a key of any length and type can be sent, but considering the computational difficulty of decrypting messages on a continual basis using public key algorithms, in the best mode of practice of the invention Subscriber Key F will be a symmetric key or a key from another computationally easy key system.
  • Subscriber Key F will be a symmetric key or a key from another computationally easy key system.
  • a sixty-four (64) bit key, held and created by Provider 12 needs to be "known” by Subscriber 11 so that Subscriber 11 can decrypt messages sent from Provider 12 on a continuing basis.
  • the word "known” is used instead of "sent” because, using the Wizard protocol, Subscriber 11 actually converges on the
  • Subscriber 11 After Subscriber 11 makes the initial network contact 20 with Provider 12, Subscriber 11 creates a password (P : ) of the desired length with no discernible syntax and then sends 22 Provider 12 the password (P ⁇ ), encrypted 24 with the Public Key which has been sent 21 by Provider 12 along with the desired length for the password. Provider 12 uses the retained Private Key to decrypt 25 the password. Both Provider 12 and Subscriber 11 now share Subscriber 11 's password (P ⁇ ) . The Interloper 13, with no way to decrypt the password (P x ), has no usable information.
  • Provider 12 compares 50 each character of the password (P x ) with the respective character of the
  • Subscriber Key F he wishes Subscriber 11 to possess.
  • the comparison is shown as follows:
  • this password (P z ) is represented by the octet 71, 37, 83, 64, 87, 34, 82, 36.
  • the Subscriber Key F is represented by 33, 35, 97, 83, 64, 100, 82, 102, respectively .
  • provider 12 then sends
  • the Provider 12 ' s response takes the following form or some comparable form that relays the guessing advice:
  • Subscriber 11 continues to send 54 the correct guesses along with the revised guesses for the other characters until all characters of Subscriber Key F are discovered 56. Doing this helps minimize the computational strain on Subscriber 11.
  • n would correspond to the number of bits used to encode that alphabet.
  • the EBCDIC alphabet contains 64 characters and therefore requires 6 bits to encode each letter and 6 iterations to guess the Subscriber Key F.
  • This technique could also be used to encode entire words rather than characters. If the Wizard Protocol were expanded to include 16 guesses, messages created from a dictionary of 65,536 words could be transmitted.
  • the Warlock procedure is a transfer process easily used to transfer a Subscriber Key F of an arbitrary length and type from Provider 12 to the Subscriber 11.
  • a key of any length and type can be sent, but considering the computational difficulty of decrypting messages on a continual basis using public key algorithms, in the best mode of practice of the invention Subscriber Key F will be a symmetric key or a key from another computationally easy key system.
  • Subscriber Key F will be a symmetric key or a key from another computationally easy key system.
  • a sixty-four (64) bit key (8 ASCII characters) held and created by Provider 12 needs to be "known" by Subscriber 11 so that Subscriber 11 can decrypt messages sent from Provider 12 on a continuing basis.
  • Provider 12 compares 60 each element of the password (P z ) with the respective element of the Subscriber Key F he wishes Subscriber 11 to possess. For an illustrative case of a sixty-four bit key (shown as 8 ASCII characters for illustrative purposes) , the comparison is shown as follows:
  • this password (P z ) is represented by the octet 71, 37, 83, 64, 87, 34, 82, 36.
  • the Subscriber Key F is represented by 33, 35, 97, 83, 64, 100, 82, 102, respectively .
  • Provider 12 then sends 62 an unencrypted response that tells the Subscriber 11, character-by-character (in the case illustrated above, for each of eight ASCII characters), what action he should take to alter the password (P : ) so that it becomes the Subscriber Key F.
  • the Provider 12 ' s response takes the following form or some comparable form that relays the required changes:
  • Subscriber 11 evaluates 63 the response from Provider 12 and changes the password (P z ) into the Subscriber Key F.
  • the complete process for these postulated values is shown in Table 3.
  • This technique could also be used to encode entire messages if the Provider 12 were to tell the Subscriber 11 how many elements (characters or words) the desired message contains (counting spaces for breaks between elements) .
  • the Subscriber 11, for example, asks for a complete account statement from the Provider 12.
  • the Provider 12 in turn sends back (in the clear) that the information the Subscriber 11 requested contains a certain number of elements (e.g., 1,345 characters or 230 words) .
  • the Subscriber 11 then sends a random set of elements of the same number of characters to the Provider 12 encrypted with the Provider 12' s Public Key.
  • the Provider 12 sends back a message (in the clear) that tells the Subscriber 11 how to modify each element of the Subscriber 11' s original, random set of elements to arrive at the final Subscriber Key F. While the invention has been described in terms of several embodiments, including a preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims, and specifically, can be used to transmit secure keys, certificates, tokens and other user keying material of any length in general.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

In response to an inquiry (20) by an unsophisticated Subscriber (11) over a nonsecure network (10), a Provider (12) returns (21) a public key and retains the corresponding private key. The Subscriber (11) encrypts (24) a password using the public key, which is decrypted (25) by the Provider (12). The password is then used to securely transfer (62) to the Subscriber (11) a key determined by the Provider (12), thereby enabling the Subscriber (11) to decrypt messages encrypted (27) by the Provider (12) and transmitted (28) over the nonsecure network (10). This password dependent secure transmission of a key to an unsophisticated Subscriber (11) may be accomplished by several methods, including hashing, key lookup, Wizard protocol, and Warlock procedure. In each method the password is used by the Subscriber (11) and the Provider (12) in correlated operations ending in secure receipt by the Subscriber (11) of a key determined by the Provider (12).

Description

METHOD FOR SECURE KEY DISTRIBUTION OVER A NONSECURE COMMUNICATIONS NETWORK
DESCRIPTION
BACKGROUND OF THE INVENTION
This application is a Continuation in Part of application serial Numbers: 08/956,720 filed on October 23, 1997 and 09/017,891 filed on February 3, 1998, each having the same title.
Field of the Invention
The present invention generally relates to secure key cryptography, and in particular to methods for distributing key material in a secure manner over a nonsecure network.
Background Description
Currently, there is no acceptable way to distribute key material over a telecommunications network in a secure manner, without the separate distribution of a password, key, certificate or token (either through the mail, or a physical third party interaction) . The network is nonsecure and subject to compromise by a skilled Interloper. The difficulty of secure communications under the prior art may be understood by reference to the following assumptions: (1) an Interloper on the network can intercept all communications between a Subscriber and a Provider; (2) the Interloper has all the facilities of the Subscriber, but does not have the facilities of the Provider; (3) the Subscriber (hitherto unknown to the Provider) is responding to the Provider's solicitation, but has no material provided by the Provider; and (4) the Subscriber will attempt to set up a secure account on his first digital contact with the Provider using commercially available software (e.g., off-the-shelf web browser, etc . ) . Figure 1A shows a Provider of services and a potential Subscriber to those services connected to a nonsecure network in accordance with the foregoing assumptions. Figure IB shows message traffic when a potential Subscriber and a service Provider try to establish a session in the presence of an Interloper on the network.
A number of prior art solutions require the use of several open or "public" keys. An encryption method is said to be a public key encryption scheme when, for each associated encryption/decryption pair, one key (the public key) is made publicly available, while the other key (the private key) is kept secret. The following attributes characterize public key encryption: (i) keys are generated in pairs, consisting of a public key and a private key; (ii) there is always a mathematical relationship between the two keys, but this relationship is based on some "hard" problem (i.e. one that cannot be solved in a reasonable amount of time using any computer system currently available) ; (iii) the private key cannot be derived from its corresponding public key; and (iv) information encrypted in the public key can only be decrypted by its corresponding private key There are several key patents and established protocols that are applicable and serve in their own ways as predecessors for the methods of passing electronic keys in accordance with the present invention, as will be described hereafter.
U.S. Patent No. 3,962,539 to Ehrsam et al . sets forth the algorithm for generating block ciphers, outlining how key bits are used, regarding the nonlinear transformation within S-boxes, and regarding a particular permutation. The DES cipher, although an improvement on the preexisting cipher put forth in the Feistel patent (U.S. Patent No. 3,798,359), does not address a protocol for secure transmission of a cipher key between two parties, via an electronic, real-time medium, where neither party has any a priori knowledge of the other. U.S. Patent No. 4,200,770 to Hellman et al . is the first public-key patent issued and offers a solution for communicating securely over a nonsecure channel without a priori shared keys. Security rests on the intractability of the Diffie-Hellman problem and the related problems of computing discrete logarithms. This method provides protection from passive adversaries (eavesdroppers), but not from active adversaries capable of intercepting, modifying, or injecting messages. The weaknesses in this system spring from neither party having any assurance of the source identity of incoming messages or the identity of the party which may know the resulting key, i.e., there is no entity authentication or key authentication. The general class of attacks that this solution is vulnerable to may be prevented by authenticating the exchanged exponentials, e.g., by a digital signature. A solution offered in a later derivation of the Diffie- Hellman patent by El Gamal relies upon a fixed public exponential of the recipient which has verifiable authenticity (e.g. is embedded in a certificate). This solution relies on a physical passing of the certificate from one party to the other by a trusted third party.
The RSA public-key encryption and signature system (described in U.S. Patent No. 4,405,829 to Rivest et al . ) outlines the current accepted state of the art for public-key technology. The RSA system represents practical application and derivations of the ideas set forth in the original Diffie-Hellman key agreement patent. Although the methods set forth in this patent provide adequate security for electronic communications, the problem of establishing initial secure electronic contact and transporting keys without a priori shared keys persists. The "hard" problem involved in encrypting and decrypting also places undesired strain on the average user equipped with a standard personal computer system of today's computational limitations. Perhaps the most relevant example of prior art is a no-key protocol which is attributed to Shamir by Konheim [A.G. Konheim, Cryptography, A Primer, John Wiley and Sons, New York, 1981, p.345]. This protocol allows users A and B to transfer a secret key K with privacy, but no authentication, over a public channel within three passes. This is achieved by first publishing a prime number p chosen such that computation of discrete logarithms modulo p is infeasible. A and B then choose respective secret random numbers a ,b and each performs parallel but separate computations of a"1 and b'1 mod p-1. A then chooses a random key K, computes F? mod p and transports it to B . It is then modified exponentially by B, and then sent back to A, who effectively undoes its previous exponentiation and yields K as altered by B . A then sends back a message, containing the value of fP mod p to B, who exponentiates the value using his originally generated b'1 mod p-1, thus yielding the newly shared key K mod p.
Although this protocol does describe a method that theoretically passes a previously unknown key to a user, it has not been put into practical commercial use because of the impractical computational strain on the average user who would be in need of establishing an immediate secure communications link with a Provider.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to provide a secure key transfer method that is practical to use for a Subscriber who wants to immediately establish a secure link with a Provider with whom the Subscriber has had no prior dealings .
It is a further object of the invention to provide a secure exchange of keys between a Subscriber and a
Provider, where an Interloper has every facility of the Subscriber but does not have the facilities of the Provider .
It is also an object of the invention to provide a secure transmission of a key from a Provider to a Subscriber, where the Subscriber has only limited computation and communications capabilities.
Another object of the invention is to permit a Subscriber to securely receive a key from a Provider over a nonsecure network without depending upon key creation capabilities in the hands of the Subscriber.
Another object of the invention is to permit a Subscriber to securely receive a key from a Provider over a nonsecure network without depending upon the Subscriber already having a private key corresponding to a public key which could be made available to the Provider.
In accordance with the invention, in response to an inquiry by a Subscriber over a nonsecure network, a Provider in return over the nonsecure network supplies the Subscriber with a public key and retains the corresponding private key. The Subscriber uses this public key to encrypt a password known only to the Subscriber. The password is decrypted by the Provider using the corresponding private key, so that both Subscriber and Provider know the Subscriber's password. The password is then used to securely transfer to the Subscriber a key determined by the Provider, thereby enabling the Subscriber to decrypt messages encrypted by the Provider and transmitted over the nonsecure network. While the Provider has facilities to create keys and perform complex calculations, the Subscriber is unsophisticated and can only operate off-the-shelf communications programs (such as a browser) and programs which can be supplied by the Provider over the nonsecure network. This password dependent secure transmission of a key to an unsophisticated Subscriber may be accomplished, in accordance with the invention, by hashing, key lookup, Wizard protocol or Warlock procedure methods. Since all methods described herein are based on a one-time use of a password, they all provide authentication approaching strong authentication [Menezes, et al., Handbook of Applied Cryptography, CRC Press, Boca Raton, 1997, p.395].
The hashing method requires a complementary pair of hashing algorithms, hi and h2. That is, hashing algorithm h2 is uniquely related to hashing algorithm hi so that when hi is applied to a public key with a password as a parameter, its output acts as a decryption key for the encryption key output of the complementary application of hashing algorithm h2 on a private key (corresponding to the aforesaid public key) when the same password is used as a parameter. Algorithm hi along with a public key is transmitted in the clear by the Provider to the Subscriber. The Subscriber applies this algorithm hi to the public key, using the password as a parameter, thereby generating Subscriber Key H. Similarly, the Provider applies algorithm h2 to the corresponding private key, using the same password as a parameter, thereby generating Provider Key H. Algorithms hi and h2 are such that messages encrypted by the Provider using Provider Key H may be decrypted by the Subscriber using Subscriber Key H. The Provider uses Provider Key H only once, to encrypt Subscriber Key F which the Subscriber decrypts using Subscriber Key H.
Under the key lookup method, the Provider sends a suitably long table of private keys to the Subscriber over the nonsecure network, together with a lookup algorithm usable with the password as a parameter to select a key from the table. Using the password as a parameter in the lookup algorithm, the Subscriber selects Subscriber Key L and the Provider selects the corresponding Provider Key L. These keys are used only once, by the Provider to encrypt (using Provider Key L) and by the Subscriber to decrypt (using Subscriber Key L) the Subscriber Key F.
The Wizard protocol is an iterative guessing technique which uses the password as the initial guess of a final Subscriber Key F. In the simplest implementation of the Wizard protocol, the final Subscriber Key F would be the same length as the password. As a practical matter, if the Provider wants to use a key of a particular length, he could ask the Subscriber to supply a password of the desired length. In this simple implementation, the Provider compares each character of the initial guess with the corresponding character of the desired Subscriber Key F, using the numeric equivalent of the binary representation of the ASCII characters to determine whether the next "guess" of the Subscriber needs to be lower, higher, or should remain the same.
Using suitable characters for these three possibilities (e.g. -1 for lower, +1 for higher, and 0 for remain the same) , the Provider transmits an unencrypted response to the Subscriber indicating how each character in the password should be changed to improve the guess. The Subscriber then uses the Provider's response to make another "guess" and again encrypts the new guess using the public key earlier supplied by the Provider. The process is repeated until the correct key is determined. In the 8-bit ASCII representation, a maximum of eight guesses will be required for the Subscriber to determine the final Subscriber Key F.
The Warlock procedure is a comparison technique in which the Provider compares the password to the final Subscriber Key F and then relays a single set of detailed instructions on how the password can be altered to become identical to the final Subscriber Key F. In the simplest implementation of the Warlock procedure, the final Subscriber Key F would be the same length as the password. As a practical matter, the Provider asks the Subscriber to submit a password with no unique syntax and having the same length as the desired final Subscriber
Key F. This is done using the Provider's Public Key. In this simple implementation, the Provider compares each character of the password with each corresponding character of the desired Subscriber Key F, using the numeric equivalent of the binary representation of the characters to determine exact differences between each set of corresponding characters. Using suitable numeric directions that represent the differences between the corresponding sets of characters, the Provider sends an unencrypted response to the Subscriber explicitly indicating how to change the password so that it becomes identical to the desired Subscriber Key F.
Although this explanation of the simplest implementation of the Warlock procedure explains how the procedure can be used to transmit a desired Final Key F, the Warlock procedure can also be used to transmit entire messages without the Subscriber ever having to possess a Subscriber Key F for decryption purposes. In this case, the Provider simply asks the Subscriber to send him a string of characters equal in length to the entire desired message that the Provider wishes to send the Subscriber. Aside from the length of the messages to be sent between the Provider and the Subscriber, the exact same procedure is used as stated previously when transmitting the final Subscriber Key F via the Warlock procedure . BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Figures 1A and IB show the components of the problem space: a Subscriber and a Provider who wish to establish a secure communications link over a Network in the presence of an Interloper, as well as the initial contact which is intercepted by an Interloper.
Figures 2A and 2B show a sequence of communication steps for secure transmission of the Subscriber's password to the Provider in accordance with the invention . Figure 3 is a flow chart showing use of a hashing algorithm to securely generate a public/private key pair for use by the Provider to securely transfer a key to the Subscriber .
Figure 4 is a flow chart showing use of a key lookup method to securely select a public/private key pair for use by the Provider to securely transfer a key to the Subscriber .
Figure 5 is a flow chart showing use of an iterative guessing technique to securely transfer a key from the Provider to the Subscriber.
Figure 6 is a flow chart showing use of a character alteration technique to securely transfer a key from the Provider to the Subscriber.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION Referring now to the drawings, and more particularly to Figure 1A, there is shown a diagram of the problem which is to be solved by the present invention. A Subscriber 11 and a Provider 12 wish to establish a secure communications link over a nonsecure Network 10 where an Interloper 13 on the Network 10 has every facility of the Subscriber 11. Figure IB shows a call 14 from Subscriber 11 which is sent through Network 10 and received by Provider 12 being intercepted by Interloper 13. Figure IB also shows an answer 15 from Provider 12 to Subscriber 11 also being intercepted by Interloper 13.
It is normal for a Subscriber 11 to be asked to provide a password when setting up an account on a secure server. If that password can be denied to the Interloper 13, then it can be used as the basis for providing a secure key to the Subscriber 11. Turning now to Figures 2A - 2B we will show how a password known to Subscriber 11 can be transmitted to Provider 12 in such a fashion that Interloper 13 will not know what the password is. The first step is for Provider 12 to generate a key pair in accordance with a public key encryption scheme. Subscriber 11 is unsophisticated and therefore lacks this capability. Then Provider 12 sends 21 the public key to Subscriber 11, as shown in Figure 2A, but retains the private key. The Interloper 13 intercepts the public key 21. Up to this point, Subscriber 11 and Interloper 13 are identical with respect to the information they share with Provider 12.
After receiving the public key, Subscriber 11 generates an initial password (P:) that is unknown to
Interloper 13 and Provider 12. At this point Subscriber 11 has distinguished himself from Interloper 13. Subscriber 11 now encrypts his initial password (PΣ) using the public key and sends 22 the encrypted password to Provider 12, as shown in Figure 2B. Since the corresponding key of the pair (i.e. the private key) has been retained by Provider 12, Provider 12 is able to decrypt the password (Pz) of Subscriber 11. Because the private key is unknown to Interloper 13, Interloper 13 cannot decrypt the password (P- . At this point, both Provider 12 and Subscriber 11 possess the Subscriber's password (Px) .
Secure transmissions from Subscriber 11 to Provider 12 are never a problem, since Subscriber 11 can always use the public key to send encrypted messages to Provider 12, who can decrypt these messages using the corresponding private key, which has been retained by
Provider 12 and is not available to Interloper 13. This is how Subscriber 11 is able to transmit password (Px) securely to Provider 12.
However, a key (Subscriber Key F) must now be obtained in a secure manner by Subscriber 11 so that Subscriber 11 will be able to decrypt future transmissions from Provider 12 to Subscriber 11. The present invention accomplishes this by using the password (Pj) which both Subscriber 11 and Provider 12 now possess, and which Interloper 13 does not possess.
The mechanisms of the present invention will now be described with reference to Figures 3, 4, 5 and 6. In each of these figures, the initial step of secure transmission of a password from Subscriber 11 to Provider 12 over nonsecure network 10 is the same. In response to an initial contact 20 from Subscriber 11, Provider 12 selects 23 a public/private key pair and transmits 21 the public key in the clear to Subscriber 11. Subscriber 11 then uses the public key to encrypt 24 a password and securely transmits 22 the password to Provider 12, who is then able to decrypt 25 the password using the retained private key.
The desired end result of practice of the invention is also shown in each of Figures 3, 4, 5 and 6. Provider 12 is able to encrypt 27 a message M and securely transmit 28 that message to Subscriber 11 over nonsecure network 10, whereupon Subscriber 11 is able to decrypt 29 the message using Subscriber Key F, which has been obtained securely over the nonsecure network from Provider 12. In the best mode implementation of the invention, using Subscriber Key F will not require intensive computation by Subscriber 11 and will therefore be usable in a wide variety of message traffic scenarios between Subscriber 11 and Provider 12. Subscriber Key F can also be used to securely receive a new encryption key of a simpler type to be used for further transmissions.
Hashing
Turning now to Figure 3, Provider 12 generates 30A a pair of algorithms hλ and h2 such that, if: hx (Password; Public Key) = Subscriber Key H
Then: h2 (Password; Private Key) = Provider Key H where Subscriber Key H can successfully decrypt messages sent with Provider Key H. Provider 12 transmits 31 hashing algorithm hi to
Subscriber 11, who then uses it on the public key with the password (Pz) as a parameter to generate 32 Subscriber Key H. Provider 12 also uses h2 on the private key with password (PΣ) as a parameter to generate 30B Provider Key H. Then Provider 12 uses Provider Key H to encrypt 33 Subscriber Key F, which is then securely transmitted 34 to Subscriber 11. Subscriber 11 then decrypts 35 subscriber key F using Subscriber Key H. Subscriber 11 is now in possession 36 of Subscriber Key F.
The hashing algorithm hi can be public information and sent in the clear to Subscriber 11, since, without Subscriber 11 's password, the Interloper 13 cannot replicate this hashing process, and therefore cannot deduce Subscriber Key H. The Interloper 13 has no way of independently creating Subscriber Key H and Provider Key H since, even if he possesses the appropriate algorithms, he never possesses the Subscriber 11 's password used in the hashing procedures. The best that the Interloper 13 can do is to take over the entire session and become the Subscriber. If he were to do that, then Subscriber 11 would be barred from the session and would be unable to communicate any sensitive information to the Provider 12. Because of the computational intensity of public key algorithms, Provider Key H and Subscriber Key H are used only once, to transmit Subscriber Key F (uninterceptable by the Interloper 13) to Subscriber 11 for use in a simpler system such as a symmetric key system. Subscriber Key F can also be used to securely receive a new encryption key of a simpler type to replace the function of the previously used public key used to initially transmit the password (PΣ) to the Provider 12.
Key Lookup
A key table, generated by Provider 12 can also be used to facilitate the secure determination of a suitable Subscriber Key L by the Subscriber 11. This table would have to be acceptably long and have the following structure :
'ublic Private
Keys Keys
KU1 KR1
KU2 KR2
KU3 KR3
Figure imgf000017_0001
KUn KRn
Turning now to Figure 4, the entire column of Private Keys is sent 41 from Provider 12 to Subscriber 11, together with a lookup algorithm usable with the password (Pj) as a parameter to select a key from the table. As a practical matter this sending 41 of the column of Private Keys can be combined with the initial transmission 21 of the public key. Subscriber 11 and Provider 12 then can use the Subscriber 11 's password (Pj-) (once it is common knowledge to Provider 12 and Subscriber 11) as a lookup parameter. Provider 12 uses 40 password (Pj)as a lookup parameter on his list of Public Keys to determine Provider Key L, while Subscriber 11 uses 42 password (Pj)as a lookup parameter on his list of Private Keys to determine Subscriber Key L. Since both Provider 12 and Subscriber 11 use the same password as a lookup parameter on corresponding key columns, Subscriber 11 and Provider 12 will select corresponding keys. With Subscriber Key L, Subscriber 11 will be able to decrypt a message from Provider 12 encrypted with Provider Key L. Not knowing the password prevents the Interloper 13 from looking up the correct Subscriber Key L from his column of private keys, except through an unrealistically "hard" process of trial and error.
This situation leaves the Interloper 13 with the strategy of trying all of the keys in real-time to determine the correct one. The Interloper 13 ' s only viable approach is an exhaustive search over the entire key space. If the length of the key lookup table is sufficiently large, and periodic rekeying is enforced, the resulting threat is reduced to an acceptable level, because Subscriber Key L is used for only a single transmission (in order to send Subscriber Key F, preferably a simple type of key which is easy for the subscriber to use, for continued future transmissions) and can then be erased. Even if the Interloper 13 were to systematically try each private key in the key table to decrypt the message that contains Subscriber Key F, because Subscriber Key F has no discernible syntax, the Interloper 13 is unable to distinguish the correct key string from the large number of other strings his search would produce. This reduces the probability of statistical cryptanalysis by the Interloper 13 to virtually zero.
Wizard Protocol
The Wizard protocol is a transfer process easily used to transfer a Subscriber Key F of an arbitrary length and type from Provider 12 to the Subscriber 11. A key of any length and type can be sent, but considering the computational difficulty of decrypting messages on a continual basis using public key algorithms, in the best mode of practice of the invention Subscriber Key F will be a symmetric key or a key from another computationally easy key system. For the sake of discussing this solution, assume that a sixty-four (64) bit key, held and created by Provider 12, needs to be "known" by Subscriber 11 so that Subscriber 11 can decrypt messages sent from Provider 12 on a continuing basis. The word "known" is used instead of "sent" because, using the Wizard protocol, Subscriber 11 actually converges on the
Subscriber Key F using his unique password (Px) as the starting point for his approximations.
Turning now to Figure 5, after Subscriber 11 makes the initial network contact 20 with Provider 12, Subscriber 11 creates a password (P:) of the desired length with no discernible syntax and then sends 22 Provider 12 the password (PΣ), encrypted 24 with the Public Key which has been sent 21 by Provider 12 along with the desired length for the password. Provider 12 uses the retained Private Key to decrypt 25 the password. Both Provider 12 and Subscriber 11 now share Subscriber 11 's password (PΣ) . The Interloper 13, with no way to decrypt the password (Px), has no usable information.
Provider 12 then compares 50 each character of the password (Px) with the respective character of the
Subscriber Key F he wishes Subscriber 11 to possess. For an illustrative case of a sixty-four bit key (shown as 8 ASCII characters for illustrative purposes), the comparison is shown as follows:
Figure imgf000019_0001
Figure imgf000020_0001
In ASCII this password (Pz) is represented by the octet 71, 37, 83, 64, 87, 34, 82, 36. The Subscriber Key F is represented by 33, 35, 97, 83, 64, 100, 82, 102, respectively .
Again referring to Figure 5, provider 12 then sends
51 an unencrypted response that tells the Subscriber 11, character-by-character (in the case illustrated above, for each of eight ASCII characters), what action he should take for his next guess. The Provider 12 ' s response takes the following form or some comparable form that relays the guessing advice:
1, -1, +1, +1, -1, +1, 0, +1
where -1 = Guess Lower, 0 = You've Guessed the Character Correctly, and +1 = Guess Higher.
Subscriber 11 evaluates 52 the response from Provider 12 and, unless all characters have been guessed correctly, constructs 53A a new guess. Each guess for each character not correctly guessed on the prior guessing cycle is decremented or incremented by 2 i n~^> ) , where n is the number of bits used to encode each character (For ASCII, n = 8) and j is the guess number. Subscriber 11 then encrypts 53B the revised password (P^-, using the public key and sends it 54 to Provider 12. Provider 12 decrypts 55 using the private key and again compares 50 the revised password to Subscriber Key F. This cycle is repeated until Subscriber 11 correctly guesses Subscriber Key F. Using an 8-bit alphabet, it may not take a full 8 guesses to ascertain the Subscriber Key F, but it will take no more than 8 guesses. Although an eight character key has been used for purposes of illustration, the length of the key does not affect the number of guesses required. As each character is guessed correctly,
Subscriber 11 continues to send 54 the correct guesses along with the revised guesses for the other characters until all characters of Subscriber Key F are discovered 56. Doing this helps minimize the computational strain on Subscriber 11.
The complete process for these postulated values is shown in table 2.
Figure imgf000021_0001
Figure imgf000021_0002
Table 2 If this technique were used to encode a different alphabet, n would correspond to the number of bits used to encode that alphabet. For example, the EBCDIC alphabet contains 64 characters and therefore requires 6 bits to encode each letter and 6 iterations to guess the Subscriber Key F. This technique could also be used to encode entire words rather than characters. If the Wizard Protocol were expanded to include 16 guesses, messages created from a dictionary of 65,536 words could be transmitted.
Warlock Procedure
The Warlock procedure is a transfer process easily used to transfer a Subscriber Key F of an arbitrary length and type from Provider 12 to the Subscriber 11. A key of any length and type can be sent, but considering the computational difficulty of decrypting messages on a continual basis using public key algorithms, in the best mode of practice of the invention Subscriber Key F will be a symmetric key or a key from another computationally easy key system. For the sake of discussing this solution, assume that a sixty-four (64) bit key (8 ASCII characters), held and created by Provider 12, needs to be "known" by Subscriber 11 so that Subscriber 11 can decrypt messages sent from Provider 12 on a continuing basis. The word "known" is used instead of "sent" because, using the Warlock procedure, Subscriber 11 actually alters his unique password (Pz) to become the Subscriber Key F, based on exact guidance from the Provider 12. This way of transporting a key to a Subscriber 11 represents a preferred embodiment and best mode of practicing the present invention. Turning now to Figure 6, after Subscriber 11 makes the initial network contact 20 with Provider 12, Subscriber 11 creates a password (Pz) of the desired length with no discernible syntax and then sends 22 Provider 12 the password (Pz) , encrypted 24 with the Public Key which has been sent 21 by Provider 12 along with the desired length for the password. Provider 12 uses the retained Private Key to decrypt 25 the password. Both Provider 12 and Subscriber 11 now share Subscriber 11 's password (Pz) . The Interloper 13, with no way to decrypt the password (Pz) , has no usable information.
Provider 12 then compares 60 each element of the password (Pz) with the respective element of the Subscriber Key F he wishes Subscriber 11 to possess. For an illustrative case of a sixty-four bit key (shown as 8 ASCII characters for illustrative purposes) , the comparison is shown as follows:
Figure imgf000023_0001
In ASCII this password (Pz) is represented by the octet 71, 37, 83, 64, 87, 34, 82, 36. The Subscriber Key F is represented by 33, 35, 97, 83, 64, 100, 82, 102, respectively . Again referring to Figure 6, Provider 12 then sends 62 an unencrypted response that tells the Subscriber 11, character-by-character (in the case illustrated above, for each of eight ASCII characters), what action he should take to alter the password (P:) so that it becomes the Subscriber Key F. The Provider 12 ' s response takes the following form or some comparable form that relays the required changes:
-38, -2, +14, +19, -23, +66, 0, +66
where the numbers tell the Subscriber 11 how many characters away from the correct Subscriber Key F ASCII character each element is.
Subscriber 11 evaluates 63 the response from Provider 12 and changes the password (Pz) into the Subscriber Key F. The complete process for these postulated values is shown in Table 3.
Provider
Response -38, -2, +14, +19, -23, +66, 0, +66
Figure imgf000024_0001
Table 3
This technique could also be used to encode entire messages if the Provider 12 were to tell the Subscriber 11 how many elements (characters or words) the desired message contains (counting spaces for breaks between elements) . The Subscriber 11, for example, asks for a complete account statement from the Provider 12. The Provider 12 in turn sends back (in the clear) that the information the Subscriber 11 requested contains a certain number of elements (e.g., 1,345 characters or 230 words) . The Subscriber 11 then sends a random set of elements of the same number of characters to the Provider 12 encrypted with the Provider 12' s Public Key. The Provider 12 sends back a message (in the clear) that tells the Subscriber 11 how to modify each element of the Subscriber 11' s original, random set of elements to arrive at the final Subscriber Key F. While the invention has been described in terms of several embodiments, including a preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims, and specifically, can be used to transmit secure keys, certificates, tokens and other user keying material of any length in general.

Claims

CLAIMSHaving thus described our invention, what we claim as new and desire to secure by Letters Patent is as follows :
1. A method of secure key distribution on a nonsecure network, comprising the steps of: securely transmitting a password generated by an unsophisticated Subscriber to a Provider over said network; and using a method dependent upon said password to securely transfer a decryption key from said Provider to said Subscriber over said network, said decryption key being usable by said Subscriber to securely decrypt subsequent messages encrypted by said Provider and transmitted over said network.
2. The method of claim 1, wherein said secure transmission of a password comprises the steps of: Provider generation of a public key and a corresponding private key in accordance with a public key encryption scheme; Provider transmission of said public key to said Subscriber over said network; Subscriber encryption of said password using said public key; and Provider decryption of said password using said private key.
3. The method of claim 1, wherein said password dependent method comprises the steps of: Provider transmission of a first hashing algorithm to said Subscriber over said network; Subscriber use of said first hashing algorithm with said password as a distinguishing parameter to transpose said public key into a derived decryption key; Provider use of a second hashing algorithm with said password as a distinguishing parameter to transpose said private key into a derived encryption key, said second hashing algorithm being complementary to said first hashing algorithm; Provider encryption of said decryption key using said derived encryption key; and Subscriber decryption of said decryption key using said derived decryption key.
4. The method of claim 1, wherein said password dependent method comprises the steps of: Provider transmission of a table of private keys and a lookup algorithm to said Subscriber over said network; Subscriber selection of a selected private key from said table using said password as a parameter in said lookup algorithm; Provider selection of a selected public key from a table of public keys corresponding to said table of private keys, using said password as a parameter in said lookup algorithm; Provider encryption of said decryption key using said selected public key; and Subscriber decryption of said decryption key using said selected private key.
5. The method of claim 1, wherein said password dependent method comprises the steps of: Provider parsing of said password in relation to said decryption key, said password and said decryption key having the same number of corresponding elements, determining for each of said elements whether the password element should be increased, should be decreased, or should remain the same in order to be equal to said corresponding decryption key element; Provider transmission of said parsing determination to said Subscriber over said network; Subscriber modification of said password using said parsing determination as a parameter; Subscriber secure transmission of said modified password to said Provider over said network; repetition of the foregoing steps until said parsing determination indicates that all password elements should remain the same in order to be equal to said corresponding decryption key elements .
6. The method of claim 5, wherein each said corresponding element is an eight bit binary representation of an ASCII character and wherein the number of said repetitions necessary for said Subscriber to guess said decryption key is no more than eight, wherein said Subscriber modification of each said element to be increased or decreased, respectively, comprises the step of adding or subtracting, respectively, 2 { n'J ) to said eight bit binary representation where n = 8 and j = the repetition number wherein the modification is made.
7. The method of claim 4, wherein said table of private keys is sufficiently large that the risk of cryptanalysis by an Interloper on said network is acceptably small.
8. An apparatus for secure key distribution on a nonsecure network, comprising: means for securely transmitting a password generated by an unsophisticated Subscriber to a Provider over said network; and password dependent means for securely transferring a decryption key from said Provider to said Subscriber over said network, said decryption key being usable by said Subscriber to securely decrypt subsequent messages encrypted by said Provider and transmitted over said network.
9. The apparatus of claim 8, wherein said secure transmission means comprises: , means for Provider generation of a public key and a corresponding private key in accordance with a public key encryption scheme; means for Provider transmission of said public key to said Subscriber over said network; means for Subscriber encryption of said password using said public key; and means for Provider decryption of said password using said private key.
10. The apparatus of claim 8, wherein said password dependent means comprises: means for Provider transmission of a first hashing algorithm to said Subscriber over said network; means for Subscriber use of said first hashing algorithm with said password as a distinguishing parameter to transpose said public key into a derived decryption key; means for Provider use of a second hashing algorithm with said password as a distinguishing parameter to transpose said private key into a derived encryption key, said second hashing algorithm being complementary to said first hashing algorithm; means for Provider encryption of said decryption key using said derived encryption key; and means for Subscriber decryption of said decryption key using said derived decryption key.
11. The apparatus of claim 8, wherein said password dependent means comprises: means for Provider transmission of a table of private keys and a lookup algorithm to said Subscriber over said network; means for Subscriber selection of a selected private key from said table using said password as a parameter in said lookup algorithm; means for Provider selection of a selected public key from a table of public keys corresponding to said table of private keys, using said password as a parameter in said lookup algorithm; means for Provider encryption of said decryption key using said selected public key; and means for Subscriber decryption of said decryption key using said selected private key.
12. The apparatus of claim 9, wherein said password dependent means comprises: means for Provider parsing of said password in relation to said decryption key, said password and said decryption key having the same number of corresponding elements, determining for each of said elements whether the password element should be increased, should be decreased, or should remain the same in order to be equal to said corresponding decryption key element; means for Provider transmission of said parsing determination to said Subscriber over said network; means for Subscriber modification of said password using said parsing determination as a parameter; means for Subscriber secure transmission of said modified password to said Provider over said network; and means for repeating said Provider parsing means, said Provider transmission means, said Subscriber modification means and said Subscriber secure transmission means until said parsing determination indicates that all password elements should remain the same in order to be equal to said corresponding decryption key elements.
13. The apparatus of claim 12, wherein each said corresponding element is an eight bit binary representation of an ASCII character and wherein the number of said repetitions necessary for said Subscriber to guess said decryption key is no more than eight, wherein said Subscriber modification of each said element to be increased or decreased, respectively, comprises the step of adding or subtracting, respectively, 2(n~j) to said eight bit binary representation where n = 8 and j = the repetition number wherein the modification is made.
14. The apparatus of claim 11, wherein said table of private keys is sufficiently large that the risk of cryptanalysis by an Interloper on said network is acceptably small.
15. The method of claim 1, wherein said password dependent method comprises the steps of: Provider parsing of said password in relation to said decryption key, said password and said decryption key having the same number of corresponding elements, determining for each of said elements the amount which should be added or subtracted in order to make the password element equal to said corresponding decryption key element; Provider transmission of said parsing determination to said Subscriber over said network; Subscriber modification of said password using said parsing determination as a parameter; Subscriber secure transmission of said modified password to said Provider over said network.
16. The apparatus of claim 9, wherein said password dependent means comprises: means for Provider parsing of said password in relation to said decryption key, said password and said decryption key having the same number of corresponding elements, determining for each of said elements the amount which should be added or subtracted in order to make the password element equal to said corresponding decryption key element; means for Provider transmission of said parsing determination to said Subscriber over said network; means for Subscriber modification of said password using said parsing determination as a parameter; and means for Subscriber secure transmission of said modified password to said Provider over said network.
PCT/US1999/031182 1999-10-14 1999-12-31 Method for secure key distribution over a nonsecure communications network Ceased WO2001028152A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU28457/00A AU2845700A (en) 1999-10-14 1999-12-31 Method for secure key distribution over a nonsecure communications network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41759599A 1999-10-14 1999-10-14
US09/417,595 1999-10-14

Publications (1)

Publication Number Publication Date
WO2001028152A1 true WO2001028152A1 (en) 2001-04-19

Family

ID=23654613

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/031182 Ceased WO2001028152A1 (en) 1999-10-14 1999-12-31 Method for secure key distribution over a nonsecure communications network

Country Status (2)

Country Link
AU (1) AU2845700A (en)
WO (1) WO2001028152A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3825255A (en) * 1973-02-14 1974-07-23 T Kennard Number guessing game device
US4375666A (en) * 1981-01-02 1983-03-01 Mattel, Inc. Electronic guessing game
US5046092A (en) * 1990-03-29 1991-09-03 Gte Laboratories Incorporated Video control system for transmitted programs
US5425102A (en) * 1994-06-09 1995-06-13 Datasonix Corporation Computer security apparatus with password hints

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3825255A (en) * 1973-02-14 1974-07-23 T Kennard Number guessing game device
US4375666A (en) * 1981-01-02 1983-03-01 Mattel, Inc. Electronic guessing game
US5046092A (en) * 1990-03-29 1991-09-03 Gte Laboratories Incorporated Video control system for transmitted programs
US5425102A (en) * 1994-06-09 1995-06-13 Datasonix Corporation Computer security apparatus with password hints

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BELLARE, M. ET. AL.: "Pseudorandum Functions Revisited: The Cascade Construction and its Concrete Security", IEEE, 1996, pages 514 - 523, XP002928941 *
SCHNEIER B.: "Applied cryptography : protocols, algorithms and source code in C", 1 January 1996, JOHN WILEY & SONS, New York [u.a.], ISBN: 978-0-471-11709-4, article "BASIC PROTOCOLS", pages: 48 - 50 + 01, XP002928940, 021893 *

Also Published As

Publication number Publication date
AU2845700A (en) 2001-04-23

Similar Documents

Publication Publication Date Title
US6111956A (en) Method for secure key distribution over a nonsecure communications network
US6047072A (en) Method for secure key distribution over a nonsecure communications network
EP3987711B1 (en) Authenticated lattice-based key agreement or key encapsulation
US9106410B2 (en) Identity based authenticated key agreement protocol
US6535980B1 (en) Keyless encryption of messages using challenge response
Tseng et al. A chaotic maps-based key agreement protocol that preserves user anonymity
US6487661B2 (en) Key agreement and transport protocol
US9008312B2 (en) System and method of creating and sending broadcast and multicast data
AU648433B2 (en) A cryptographic protocol for secure communications
US6826686B1 (en) Method and apparatus for secure password transmission and password changes
US6226383B1 (en) Cryptographic methods for remote authentication
US7716482B2 (en) Conference session key distribution method in an ID-based cryptographic system
US7424615B1 (en) Mutually authenticated secure key exchange (MASKE)
JP4105339B2 (en) Method and password protocol for establishing a key using air communication and password
US20050182936A1 (en) Key agreement and transport protocol with implicit signatures
US20030115452A1 (en) One time password entry to access multiple network sites
Peyravian et al. Secure remote user access over insecure networks
JP2001313634A (en) Method for communication
JP2001060947A (en) Mutual network authentication method
US20030149876A1 (en) Method and system for performing perfectly secure key exchange and authenticated messaging
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
Shim Cryptanalysis of mutual authentication and key exchange for low power wireless communications
Di Pietro et al. A two-factor mobile authentication scheme for secure financial transactions
Harn et al. General logic-operation-based lightweight group-key distribution schemes for Internet of Vehicles
Yeh et al. Password authenticated key exchange protocols among diverse network domains

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase