Abstract:
A method and apparatus are provided for improving the security of data transmissions between stations. The method obviates the need for transmitting user-identification information such as personal identification number (PIN) from station to station, e.g., from the station utilized by the user to enter his PIN and initiate a transaction, to the station that processes the transaction. Also, for added security, the method provides for encryption (encoding) and decryption (decoding) of data during a transaction using encryption and decryption keys produced from different (independent) PINs. The apparatus includes at least one irreversible algorithm module, a random number generator and at least one data file (e.g., disc or magnetic tape storage). The apparatus also includes a comparator or, alternatively, an encoding algorithm module and a matching decoding algorithm module.

Description:
BACKGROUND OF THE INVENTION 
     Numerous methods and apparatus have been developed for transmitting messages in a secure manner between stations. Many of the methods and apparatus provide for coding of the message prior to transmission and for decoding of the message at its destination subsequent to transmission. Two such methods and apparatus are described, for example, in U.S. Pat. No. 3,711,645 issued Jan. 16, 1973 to Kurt Ehrat, entitled Method and Apparatus for Coding Messages, and in U.S. Pat. No. 3,956,615 issued May 11, 1976 to Thomas G. Anderson, William A. Boothroyd and Richard C. Frey, entitled Transaction Execution System with Secure Data Storage and Communications. A third method and apparatus is described, for example, in U.S. Pat. No. 3,938,091 issued Feb. 10, 1976 to Martin M. Atalla, entitled Personal Verification System. 
     A common feature of such apparatus is the use of fixed, predetermined encoding-decoding keys to encode and decode data, or the use of variable encoding keys transmitted with the encoded message to a destination station for processing (the variable encoding keys being supplied by the user, or generated by the apparatus from user-supplied information). At the destination station, the transmitted variable-key is utilized by a decoder of the apparatus to decode the encoded message. 
     Whereas the use of variable rather than fixed encoding-decoding keys would seem to provide a greater measure of security in message transmission than do fixed keys (especially variable keys supplied by a user or generated by the apparatus from user-supplied information), the practice of transmitting a variable key so that it can be used in the decoding process reduces the security of the operation because unauthorized users could conceivably gain access to the key during the transmission of the key. It would be desirable, therefore, in improving the security of such data transmission operations (especially bank transaction operations or the like which require not only secure transmission of data but also accurate identification of users) to use a technique which provides for secure transmission of data without requiring transmission of matching encoding-decoding keys or of user-identification information. 
     SUMMARY OF THE INVENTION 
     In accordance with the illustrated preferred embodiment of the present invention, a method and apparatus are provided for improving security of data transmission between stations by making it unnecessary to transmit user-identification information between the stations. Also, to further improve security, an alternative method provides for encoding and decoding the data during each transaction, using encoding and decoding keys produced from different PINs (Personal Identification Number entered into the apparatus by a user to initiate a transaction such as a bank deposit or withdrawal transaction). The apparatus includes at least one irreversible algorithm module, a random number generator, and at least one data file. One embodiment of the apparatus also includes a comparator; another embodiment of the invention also includes an encoding algorithm module and a matching decoding algorithm module. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1A and 1B are block diagrams showing, respectively, the apparatus and method of the present invention. 
     FIGS. 2A and 2B are block diagrams showing, respectively, alternative embodiments of the apparatus and method of the present invention. 
     FIGS. 3A and 3B are block diagrams showing, respectively, other alternative embodiments of the apparatus and method of the present invention. 
     FIGS. 4A and 4B are block diagrams showing, respectively, still other alternative embodiments of the apparatus and method of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring now to FIGS. 1A and 1B, there are shown an apparatus and a method for improving the security of transmitted data between stations. The apparatus and method offer improved security by not requiring the transmission of PIN data from the originating or user station to the destination or processing station. The apparatus comprises at a transmitting location 23 a random number generator 13, and an irreversible algorithm module (I.A.M.) 15 (for example, of the type disclosed in U.S. Pat. No. 3,938,091 issued on Feb. 10, 1976 to M. M. Atalla and A. F. Liu), and further comprises a storage file 17, another irreversible algorithm module 19, and a comparator 21 at a receiving location 25. In response to PIN data entered by a user and in response to a random number (RN) produced by random number generator 13, algorithm module 15 produces a user identifier code (ID) which may be transmitted and applied to comparator 21 at the receiving location. The RN produced by random number generator 13 is also transmitted to an I.A.M. 19 in the receiving station 25. A predetermined authentic PIN (pre-stored in a selected register of storage file 17) may be accessed and applied to algorithm module 19 along with the received RN to produce a new user identifier code (ID&#39;). The algorith module 19 encrypts or encodes the signals applied thereto in a manner which is identical to module 15. The previously produced user identifier code (ID) is then compared with the newly produced user identifier code (ID&#39;) by comparator 21. If a match occurs (i.e., if ID and ID&#39; are found to be the same), an output data value is produced (or internal flag is set) indicating that the transaction (e.g., user withdrawal of money from a bank) should proceed. If no match occurs, comparator 21 produces an output value indicating that the transaction should not proceed. 
     From the above-described apparatus and method of FIGS. 1A and 1B, therefore, it is seen that no personal identification number of the user (PIN) is transmitted from the originating or user location 23 to the destination or receiving location 25. 
     Another embodiment of the present invention is shown in FIGS. 2A and 2B. In this embodiment, the user identifier code (ID) is produced in response to RN and to entered PIN data in a manner similar to that shown in FIGS. 1A and 1B. However, only RN and ID are transmitted from user station 37 to file storage 31, 33 at processing station 39. In this embodiment, no PIN is transmitted between stations, nor is the PIN stored in the file 31, 33 where it may be susceptible to unauthorized access. 
     In this embodiment, the present apparatus operates, as shown in FIG. 2B, to update the identifier code ID and the random number RN in storage files each time a proper verification of user is established. Thus, a user&#39;s initial entry of a PIN is combined with an RN via an irreversible algorithm module of the type previously described to produce an ID which, with the associated RN, may be transmitted and stored in files 31, 33 at the receiver station 39 (and optionally at a local file 38). 
     Thereafter, the authorized user again enters his PIN (referred to herein as PIN&#39;), and the RN is accessed from the file 31 (or optionally from the local file 38). The PIN&#39; and the retrieved RN (RN x  herein) are encrypted by the algorithm module 29 to produce the ID (which should be identical to the ID in file 33) for transmission to comparator 35 at the receiving station 39. There, the comparison is made with the ID retrieved from file 33. If the match is detected, the output from comparator 35 provides the indication that the present transaction may proceed, and also initiates the generation of a new random number RN y . This new random number is encrypted by the algorithm module 29 along with the PIN&#39; which was entered in the present transaction to yield the new ID y . The new RN y  and new ID y  are then transmitted to files 31, 33 (and optionally to local file 38) to supplant RN x  and ID x  previously stored therein. In this manner, a user identifier code is dynamically stored and updated each time an authorized user is verified. More importantly, however, no PIN need be stored or transmitted in order to verify the authorized user. 
     Referring now to the embodiment of the present invention, as illustrated in FIGS. 3A and 3B, a PIN in storage 47 is used with a random number RN to produce a KEY code by which data may be encrypted (encoded). However, the KEY code used to encrypt data is not transmitted. In response to a PIN entered by a user and a random number (RN) generated by a random number generator 41, irreversible algorithm module 43 of the type previously described produces an encryption key (KEY) which is applied to encoding algorithm module 45 (e.g., an encoder such as The Bureau of Standards Chip incorporating the National Bureau of Standards&#39; encryption-decryption algorithm which is the Federal Information Processing Standard approved by the U.S. Department of Commerce). In response to applied data, encoding module 45 encodes the data in accordance with the encryption key (KEY). The encoded data, together with the associated random number (RN) is then transmitted from user station 53 to processing station 55. The random number (RN) thus received by station 55 and the pre-stored authentic PIN which is accessed from file 47 are applied to algorithm module 49 which produces an encryption key (KEY&#39;) that should be identical to the KEY, and this KEY&#39; is applied to decoding module 51. Decoding module 51 operates in accordance with the same National Bureau of Standards encoding scheme as module 45 and produces the desired decrypted (decoded) data. It should be noted that as long as the entered PIN matches the pre-stored PIN, KEY will match KEY&#39;, and the decrypted data will match the entered data. This embodiment of the present invention thus obviates the need to transmit the generated KEY between stations and eliminates risk of disclosure of the KEY during such transmission. Also, it should be noted that in this embodiment, the KEY is determined and the PIN is verified simultaneously under the control of the user. That is, the encryption and decryption of data is solely under the control of the user by virtue of his own entered PIN. Also, the user who entered the PIN is verified in response to the encrypted data being received and decrypted at the receiver station 55 using the corresponding PIN that is retained in file 47. Further, the information which is transmitted between stations includes a random number which changes after each transaction and the encrypted data which also changes from after each transaction, even for the same data entered at station 53. 
     In the embodiment of the present invention shown in FIGS. 4A and 4B, there is no need to transmit the PIN from user station 73 to processing station 75, and no need to store PIN information in a file. As shown in FIGS. 4A and 4B, the system is first initialized in preparation for user transactions. The PIN is entered by the user during initialization and random number generator 61 generates a random number (RN 1 ) and applies the RN 1  to irreversible algorithm module 63 of the type previously described. Module 63 combines the PIN and RN 1  information and produces therefrom a first encryption key (KEY 1 ) to be used in later encryption of data. The RN 1  and KEY 1  are then stored for later retrieval in a storage file 65 at the processing station 75 (and optionally the random number may also be stored in a local file 72). 
     In commencing a transaction, the user first enters his PIN into the algorithm module 63. In response to the entered PIN, and in response to RN 1  which is accessed from file 65 (or optionally from local file 72), the module 63 reproduces the encryption key (KEY 1 ) which is applied to the control input of the encryption module 67 (say, of the National Bureau of Standards type previously described). With the encryption module 67 set to encode in accordance with KEY 1 , another random number (RN 2 ) is generated by random number generator 61, and is applied to modules 63 and 67. The module 63 is able to produce an encryption key (KEY 2 ) from the applied RN 2  and from the PIN that is available during the present user transaction. KEY 2  and RN 2  which was associated with KEY 2  are included with the applied data (which data may include a fixed alphanumeric reference) for encoding by module 67 under the control of KEY 1  to produce the encrypted message &#34;DATA+RN 2  KEY 2  &#34;. This encrypted message is then transmitted from user station 73 to processing station 75 where decryption module 69 (matching encoding module 67) decrypts or decodes the encrypted message in accordance with KEY 1  which is accessed from the file 65 where it was originally entered during the initialization operation previously described. The DATA is thus retrieved in clear text and the RN 2  and the KEY 2  are also separately available for updating file 65 (and optionally local file 72) with RN 2  and KEY 2  in place of RN 1  and KEY 1 , respectively. 
     In a subsequent transaction, the user again enters his PIN into the algorithm module 63. In response to the entered PIN, and in response to the updated RN 2  accessed from file 65 (or from local file 72), the module 63 reproduces the encryption key (KEY 2 ). With the encryption module 67 set to encode applied data in accordance with KEY 2 , the random number generator 61 produces another random number RN 3  which is applied to the algorithm module 63 along with the PIN that is available during the present transaction to produce another encryption key (KEY 3 ). KEY 3  and RN 3  are included with the DATA that is applied to the encoding module 67 which produces the encrypted message &#34;DATA+RN 3  +KEY 3  &#34; when encrypted under the control of KEY 2 . This encrypted message is then transmitted from user station 73 to processing station 75, where decoding module 69 decrypts the encrypted message in accordance with the KEY 2  which is accessed as the updated entry from file 65. The DATA is thus retrieved in clear text and the RN 3  and KEY 3  are again available to update the file 65 (and local file 72) for use in subsequent transactions. 
     The reference data previously referred to as being included with the input DATA may simply be a standard code word which must be extracted at the output of module 69 as an indication that the user inserted the proper PIN. In this way, the encrypted message transmitted to and received by the processing station 75 can be promptly decrypted to verify the PIN before the file 65 (or local file 72) is updated with keys and random numbers which would not relate to the authorized PIN. 
     Thus, it can be seen from FIGS. 4A and 4B that not only is PIN information not stored or transmitted from user station 73 to user station 75 but, for added security, the key used to encrypt data in response to a given user transaction is not the same key that is used to decrypt the encrypted data during such transaction. Also, it should be noted that the stored coded words are updated in each transaction and that these code words are under the control of the user. 
     It should be understood that in each of the embodiments of the present invention described above sequential numbers may be used in place of the random numbers used in the identification or encoding schemes. This permits the systems to exclude the repeating of the same data or information in subsequent transactions by enabling a check for parity of sequential numbers at the receiving stations.