SECURED MESSAGE TRANSFER SYSTEM AND METHOD USING UPDATED SESSION CODE

Abstract: The system and method for tranferring secured mes­ sages between spaced locations uses a pair of encryption/­ decryption keys for the data-transfer session that are in­ dependently generated at each location from information that is in storage at each location. After each data-transfer session, selected information in storage at each location is changed so that the storage medium may not be duplicated and used by another user without the essential information from the authorized user.

Description: The invention relates to a method for securing data communications between the remote location of an individual user who has an assigned account number and a host location, the invention further relates to a system for use by an authorized user having an account number for securely transferring data from one remote location to a host location at which selected information about such users is stored. Numerous encoding schemes and interactive message procedures are known which can be used to a substantially assure faithful transmission of unaltered messages between computer locations. For instance, GB-A 2,050,021 discloses a data-handling apparatus for securing the transmission of data under control of an authorized individual from one location having an identification number to data processing means having memory means with the identification number stored therein at a remote location, wherein during an initialization procedure code numbers are produced at a host location and at a remote location, which code numbers are encrypted and then compared, so that in response to favourable comparison an authorized user can be identified, whereafter a session can be started and encoding is carried out by using encrypted session keys which are generated in an encryption module. Such apparatus and schemes are very successful, if stationary host and remote locations can be used, however, are typically inadequate to secure against unauthorized interceptions over voice-grade telephone lines and are typically not suitable for use by a great many individuals having their own general-purpose, computer-based terminals. It is the object of the present invention to provide a method for securing data communications between a remote location and a host location which is suitable to be used with public data lines. This object is achieved by a method according to claim 1, a system for carrying out such method is given in claim 7. Method and system according to the present invention validate the claimed identity of an individual user who is identified during an initial sign-on procedure, and then enable a user to transmit in secured manner selected messages to a remotely-located host computer using unsecured communication channels such as telephone, mail, telegram and the like. The techniques of the present invention employ selectively encrypted messages which assure privacy over unsecured communication channels and which avoid revealing the true identity of the user or the activities of the host computer, under the control of session encoding keys which are different for each authorized user and for each communication session of such user. The session encoding keys are established at both ends of a communication link based upon the claimed identity of a user, internal key codes, personal identification numbers, a synchronizing code, and other unique inputs, and encrypted messages may then be sent bidirectionally over the established communication link, and at the conclusion of the session, an updated synchronizing code is stored at both locations as the basis for establishing a new session encoding key for a subsequent session. Additional levels of security can be introduced conveniently, and intermediate host data terminals can be interposed in the communication scheme between two remote terminals. The security of the system according to the present invention is based upon a security module which may be physically and logically isolated from the host computer near its location for storing the identifying and verifying data about authorized users, and upon a processing module near the user's data terminal that controls the secured sequence of exchange procedures and for which no particular security safeguards need be taken. Duplication of the information available at one user's processing module is inconsequential because it is unusable by another user without essential information available only from such one authorized user. Figure 1 is a block diagram illustrating one embodiment of a host computer that is operable with a remote terminal according to the present invention; and Figure 2 is a flow chart illustrating the initialization operation of the present invention; Figure 3 is a flow chart illustrating the session operation of a host computer with an initialized remote terminal; and Figures 4a and 4b are signal diagrams illustrating another embodiment of the present invention. Referring now to the pictorial block diagram of Figure 1, there is shown a remote data terminal 9 which includes a microprocessor 11 centrally connected to operate with a keyboard 13, a display unit 15, a memory unit 19, and a mass storage module 21, for example, of the floppy disc type. The terminal 9 may include data port apparatus 20 such as a modem for data communications with the host computer 29 over voice-grade telephone communication channel 22. Alternatively, an unsecured communication channel 22 may be of any type for transmitting transaction information to the host computer 29, for example, by mail, telegram, or the like. The host computer 29 may include similar elements as previously set forth in connection with terminal 9, and in addition includes a security module 28 which may be physically secured against unauthorized intrusions by the operators of the host computer and which contains selected codes for encrypting and decrypting the data that is required to verify the identities of authorized users. Such data may be stored in the security module 28, or elsewhere, in encrypted form. The host computer also includes a generator 23 of synchronous index numbers (which may be sequential or random, etc.) for operation in the data transfer operation, as later described. Of course, the generation of S ynchronization I ndex N umbers (SIN) may be performed in conventional manner by the microprocessor-controlled selection of feedback paths around successive logic cells of a shift register, as described in the literature. Also, the host computer 29 includes a module 25 for generating a floppy disc, or other appropriate program-storage media, which is suitably encoded during the initialization session for the specific user and which is then transferred 27 to such user as his personalized mass program-storage medium for use in module 21 at the location of the remote terminal 9. In this way, the controls for the procedures that preserve the security and privacy of a data-exchanging session may be conveniently transferred to the authorized user along with an "initial" synchronizing number, as later described, without compromising the security of the system. As illustrated in Figures 1 and 2, an individual user first signs on via an initialization procedure. This generates the key codes required to encrypt and decrypt the data stored in encrypted form outside the security module 28 in order later to verify the identity and authority of the user to engage in a data-exchanging session with the host computer. An individual user, who may simply present his name as the basis for his claimed identity, is initially authorized to operate the secured communication system by assigning to him an account number and by allowing him to select, without revealing to anyone, his own secret P ersonal I dentification N umber (PIN) 33. Thus, the account number 31, the user's secret PIN 33, and the host computer identification or key number 34 are all encrypted 35 using an irreversible algorithm of the type described in the literature to produce a P ersonal V erification N umber (PVN) 37 that is suitably stored 39 for the named user, along with his account number, call-back information 41 about the named user and a generated S ynch I ndex N umber (SIN) 43. The PVN's may be stored in encrypted form (e.g., using key codes that are stored in the security module 28) along with other associated data for the named users who are authorized to use the system, thereby enhancing the security of the system against unauthorized intrusions. Of course, the C entral P rocessor U nit 36 of the host computer controls the encryption process 35, the generation of Synch Index Numbers 43, the entry and limited access to the secured storage module 28, 39, and the generation of a mass-storage, floppy disc-type program-storage medium containing the Synch Index Number (which may be random) as the initial Sync hronizing N umber 45 and other program information for use by the authorized individual at the location of his remote terminal. After the storage medium is thus initialized, the authorized individual may now operate the secured communication system, as illustrated in the flow diagram of Figure 3 or Figure 4. With respect to the embodiment of the invention that is illustrated in Figure 3, the authorized user of the terminal 9, operating with the program information from the floppy-disc, program-storage medium in the storage module 21 as specially prepared for him in the initialization process, now calls 49 the host computer 29 via the communication network 22 and enters 51 his name or other form of claimed identity via keyboard 13. After the name or claimed identity is communicated to the host computer 29 via the communication network 22, the user may, optionally, disconnect and wait to be called back by the host computer 29. The communicated name or other claimed identity is the basis for accessing 53 from storage 39 the data about the authorized user that is on file at the host computer 29 resulting from the initialization procedure. Thus, the user can be called back 53 and sent a new Synch Index Number at the network (telephone) number that is in storage 39. Additionally, the user is prompted 55 to enter his PIN and optionally may be prompted to enter his account number (if it is not stored 21 on the floppy-disc, program-storage medium operating in storage module 21). The host computer 29 and the remote user may now proceed to establish a session key for controlling encryption and decryption of messages over the communication network 22. First, at the host computer 29, additional information about the user identified by the claimed identity is accessed from storage 39 to yield the PVN and the last synchronizing number SN in storage. If the previous transaction was initialization, then the SN is the initial Synch Index Number SIN₁. If the previous transaction was a data transfer session, then the SN is the S ession K ey (SK) used during that previous session, as later described. Similarly, at the remote terminal 9, the SN is accessed from storage module 21 and is either the SIN from the previous initialization procedure or the SK used in the previous data transfer session, and should be identical to the SN accessed from storage 39 at the host computer 29. At the remote terminal 9, the PIN entered by the user is irreversibly encrypted 59 with his account number (entered manually or accessed from the storage module 21) and the host I.D. or key number accessed from the storage module 21 (if such was used during initialization to generate the PVN) to yield the PVN that should be identical to the PVN stored upon initialization at the host computer. This PVN generated (not stored) at the user's location is then encrypted 61 with the last SN accessed from storage to yield the K ey- E xchange K ey (KEK). Similarly, at the host computer 29, the accessed PVN and last SN from storage are encrypted 63 to yield the corresponding KEK 65. The SIN available at the host computer 29 and communicated to the remote terminal 9 may now be encrypted 67, 69 with the KEK at each location to yield corresponding S ession K eys 71, 73. Data pertaining to the intended transaction may now be encrypted 75 with SK at the remote location (along with security-checking data such as SIN or other data such as PVN commonly codable at both locations) and sent in encrypted form 77 over the network 22 to the host computer 29. The encrypted data 77 as received at the host computer 29 is decrypted 79 using the SK 73 generated at that location to yield the SIN and the transaction data. The SIN as decrypted may be compared 81 with the SIN generated at the host computer to provide indication 80 that the authorized user is communicating the transaction data and that such data is faithfully received in unaltered form. The transaction data may be acted upon and the session key may be used to update the synchronizing number (SN) in storage 39 in response to favorable comparison 80 of the SIN's. In addition, any reply data resulting from implementation of the transaction 83, or a basic acknowledgment may be encrypted with SK (along with such security-checking code as SIN or other data such as PVN commonly codable at both locations) and sent 87 to the remote terminal 9 via network 22. The encrypted reply data 87 is decrypted 89 at the remote terminal 9 using the SK generated at that location to yield the reply data and SIN. The decrypted SIN is compared 91 with the SIN originally sent for the session and, upon favorable comparison 93, the reply data may be displayed 95 and the SN in storage module 21 is updated with the SK of this session. The SN at the host computer 29 therefore remains in synchronism with the SN at the remote terminal 9 for use in subsequent data-transfer sessions in the manner previously described. With respect to the embodiment of the invention illustrated in Figures 4a and 4b, the individual user must be initially processed to establish his authority to use the system. The user is assigned an account number 101 and an initial Sync hronizing Index Number₁ 103, and he may select and retain secretly his own PIN 105. The account number 101 and PIN 105 are encrypted 107 to yield P ersonal V erification N umber 1 which is stored 109 at the host computer location (preferably in encrypted form). Similarly, the user's account number 101 and initial Sync Index₁ 103 are encrypted 111 using a host sync key 113 to yield SYNC₁ code 115. The account number 101 and sync key 113 are stored 116, 118 at the host computer along with the user's PVN₁. Additionally, SYNC₁ is also stored 117 on a portable memory medium such as a floppy disc-type diskette, or the like, along with the user's account number and initial Sync Index₁. In operation, a user communicates his claimed identity (e.g., name) over communication network 119 to the host computer which generates new Sync Index₂ 121 and accesses 123 the account number, the PVN₁ and the SYNC₁ stored for the named user. The SYNC₁ and PVN₁ are encrypted 125 to yield the K ey- E xchange K ey. Also, the account number and the Sync Index₂ are encrypted 127 using the host sync key to yield SYNC₂ which is now encrypted 129 with KEK and sent in encrypted form over communication network 119 to the user. At the user's location, the user's PIN 105 and account number 101 are encrypted 131 to yield PVN₁ which is encrypted 133 with SYNC₁ accessed 135 from the diskette storage medium to yield the KEK. The SYNC₂ encrypted 129 by KEK at the host computer location and received at the user's location may now be decrypted 137 using KEK to yield SYNC₂ at the user's location. SYNC₂ is encrypted 141 with PVN₁ to yield the W orking K ey 139 for the session. However, to verify the user's authority and identity the WK is encrypted 143 with SYNC₂ and sent to the host computer for comparison. There, SYNC₂ is encrypted 145 with PVN₁ to yield WK at the host. WK is used to decrypt 147 the received encryption from the user to yield the user's SYNC₂ which is compared 149 with the host's SYNC₂. Favorable comparison of these SYNC₂ codes thus verifies that the user's PIN is the valid one for the named user, that diskette storage medium is being operated by the authorized user, that the new Sync Index₂ may be updated into storage 151 in place of the initial (or previous) Sync Index₁, and that the WK codes at both ends are identical and available for encrypting and decrypting messages exchanged between host and user throughout the data-exchanging session. It should be understood that "transaction data" as used herein generally includes myriad possible interactions between a host computer and a remote terminal. For example, subscription information services such as stock quotation services may furnish stock quotes as the "reply data" in response to a request message. Also, electronic banking or funds-transfers may be implemented in reply to request to disburse or transfer funds as directed. In addition, electronic mail may be transferred between two remote terminals with the aid of the host computer 29. In this type of transaction, the first authorized user 9 operates the system as described to "deposit" the mail message in an account number or "mailbox" for a second authorized user who then operates the system as described in connection with Figure 3 (using his own name, account number, PIN, last SN, etc.) to access the "mailbox" in response to his request. Therefore, the system and method of the present invention are operable on standard computers operating as remote terminals using inexpensive floppy-disc mass storage media, or the like, which are initialized for individual users and which are updated in synchronism with the responding host computer. In this way, the inexpensive medium cannot be duplicated to be useful to another individual with a different account number, or to be useful on the same account number without the secret PIN of the authorized user. In addition, the messages which are transmitted between locations over unsecured communication networks are merely the names of users, random numbers and encrypted messages with no discernible logical correlation between them available for unauthorized interception and use of the messages. Finally, KEK's, Session Keys, and Working Keys can be used not only to protect transactions from attack as discussed above, but also provide the full range of cryptographic modes of operation which can be utilized to generate Message Authentication Codes (MAC), Transaction Signatures, and the like, in order to protect against fraudulent Host Applications.

Claims: Method for securing data communication between the remote location (9) of an individual user who has an assigned account number (31;101) and a host location (29), the method comprising the initializiation steps of; producing a validation number (37; PVN) that is unique to the user as a first encryption function of the user's account number (31;101) and a code information (33;105;PIN) received from the user; generating two numbers termed respectively the sync key (113) and the sync index (43;103), and producing a sync number in accordance with a second encryption function of the sync key, the sync index (43;103) and the user's account number (31;101); storing the sync index (43;103) and the sync number (45;115) for access at the user's remote location (9); and storing (116,118) the validation number (37;PVN), the account number (31;101) and the sync key (113) for access at the host location (29), and further comprising the transaction steps of: encrypting (59;107;131) the account number (31;101) and a user's personal identification number (33;105;PIN) using said first encryption function to generate the user's validation number (PVN) and accessing the sync number at the user's remote location (9); producing (61) at the user's remote location (9) an exchange key (KEK) as a third encryption function of the validation number (37;PVN) and sync number (45;115); accessing (53) from storage at the host location (29) the validation number (37;PVN) and sync number (45;115) of an identified user; producing (63) at the host location (29) an exchange key (KEK) as said third encryption function of the accessed validation number (37;PVN) and sync number (45;115) of said identified user; generating (121) a second sync index at the host location (29); accessing from storage at said host location (29) the sync key, the account number (31;101), and the validation number (37;PVN) for the identified user; producing at said host location (29) a second sync number as a fourth encryption function of said accessed sync key and account number and the generated second sync index; producing at said host location (29) a working key (WK) as a fifth encryption function of the second sync number (SYNC₂) and the accessed validation number (PVN ); encrypting at said host location (29) said second sync number using said exchange key in accordance with a sixth encryption function thereof to produce an encoded output for transmission to the user's remote location; decrypting in accordance with said sixth encryption function said encrypted output received at the user's remote location using said exchange key produced thereat to provide said second sync number (SYNC₂) at the user's remote location (9); encrypting (143) at the user's remote location (9) in accordance with said fifth encryption function said decrypted second sync number (SYNC₂) and user's validation number (PVN₁) to produce a working key (WK;139) and transmitting between the user's remote location (9) and host location (29) selected data that is encrypted and decrypted at respective locations (9;29) in accordance with the same encryption function of the working keys (WK) which are produced at the respective locations (9:29). Method according to claim 1, wherein one or more further transactions using the transaction steps may be carried out in favour of an identified user. Method according to claim 1 or claim 2, comprising the additional steps of: encrypting (143) at one of said user's remote and host locations (9;29) in accordance with a seventh encryption function the working key (WK) and second sync number (SYNC₂) available thereat to produce a second encrypted output for transmission to the other of said user's remote and host locations (9;29); decrypting (137) at said other location in accordance with said seventh encryption function the second encrypted output received thereat to produce the second sync number (SYNC₂) therefrom; and comparing (149) the second sync number produced by said decryption with the second sync number produced thereat to provide indications of valid communications between said locations by the authorized user. Method as in claim 3 comprising the additional step of communicating to the user's remote location (9) said second sync index produced at said host location (29) for selectively superseding said sync index in storage at the user's remote location (9). Method as in claim 3 for securing data communications between first and second users at separated remote locations via said host location, the method comprising the additional steps of: performing the recited steps with respect to a first user's remote location (9) and the host location (29) and with respect to a second user's remote location and the host location (29) to produce a first working key at the first user's remote location (9) and at the host location (29), and to produce a second working key at the second user's remote location and at the host location (29); and wherein in said transmitting step said first user transmits to the host location (29) selected data encrypted using the first working key for decryption at the host location using the first working key and for encryption thereat using the second working key for transmission to the remote location of the second user for decryption thereat using the second working key. Method according to claim 3 wherein in the transmitting step, selected data is encrypted and decrypted along with the sync index number and working key available at the respective location; and comprising the additional step of comparing the received and decrypted sync index number at the respective location with the sync index number present thereat. System for use by an authorized user having an account number for securely transferring data from one remote location (9) to a host location (29) at which selected information about such user is stored, the system comprising: means (36) for producing a validation number that is unique to the user as a first encryption function of the user's account number and code information received from the user; means (36) for generating two numbers termed respectively the sync key and the sync index, and for producing a sync number in accordance with a second encryption function of the sync key, the sync index and the user's account number; first storage means (28) at said host location (29) for storing a signal corresponding to said sync key and a signal corresponding to said account number and a signal corresponding to said validation number; second storage means (21) at the user's remote location (9) for storing a sync index signal and a sync signal as a logical combination of said account number signal, sync index signal and sync key signal; means at said host location (29) for selectively accessing from said first storage means the sync signal, validation number signal of an identified user, and the sync key signal; means at said host location (29) for encrypting said accessed sync signal and validation number signal to produce an exchange key signal as the third encryption function of the sync number and validation number signals applied thereto; means (23) at said host location for generating a second sync index signal; means at said host location for encrypting the sync key signal, the account number signal and the second sync index signal for producing a second sync signal therefrom as the fourth encryption function of said signals applied thereto; means at said host location for encrypting the second sync signal and accessed validation number signal as the fifth encryption function of signals applied thereto to provide a working key signal; means at said host location for encrypting the second sync signal and exchange key signal to produce as the sixth encryption function thereof a coded output for transmission to the user's remote location (9); means (11) at said user's remote location (9) for providing the validation number signal; means (11) at said user's remote location (9) for selectively accessing sold second storage means to provide said sync signal; means (11) at said user's remote location (9) for encrypting said validation number signal and said sync signal in accordance with said third encryption function of said signals to produce an exchange key signal; means (11) at said user's remote location (9) for decrypting the coded output received at the user's remote location (9) with said exchange key signal in accordance with said sixth encryption function to provide said second sync signal at the user's remote location (9); means (11) at said user's remote location (9) for encrypting said validation number signal and said decrypted second sync signal in accordance with said fifth encryption function thereof to provide a working key signal; and means at the user's remote and host locations (9;29) for encrypting and decrypting data in accordance with a common logical combination thereof with said working key signals at each location for transfer in encrypted form therebetween.

Inventors: ATALLA, MARTIN M., MARACCHINI, DAVID J.
Applicants: TANDEM COMPUTERS INCORPORATED
Application year: 1985
Main classification: G07F7
IPC codes: G06Q40, G07D9, G07D1, G07F7, G09C1, H04L9