Secure communications system for remotely located computers
First Claim
1. A security system for validating the authority of a remote user to communicate with a host device, said system comprising:
- means at the host device for storing user ID and personal identification number (PIN) information;
means for sending the ID information across a communications channel from the remote user to the host device;
means at the host device for providing a non-predetermined signature value;
means at the host device for ciphering the signature value under a first key value which is dependent upon at least a portion of the stored ID and PIN information;
means for sending the ciphered signature value across the communications channel to the remote user;
means at the remote user location for deciphering the ciphered signature value received from the host device under a second key value which is equal to said first key value and derived from the same information as said first key value;
means at the remote user location for ciphering the deciphered signature value under a third key value and for sending the ciphered signature value to the host device; and
validation means at the host device for deciphering the ciphered signature value received from the remote user location and for determining if the deciphered signature value is equal to the signature value originally provided by the host device.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for determining when a remote computer user is authorized to communicate with a host computer and to establish a ciphering key to be used for the communications session. A random number is generated at the host computer, ciphered under the user'"'"'s PIN, and sent to the remote user where it is deciphered under the PIN to provide a session key. In one embodiment, this key is reciphered under the PIN, sent to the host computer, and deciphered under the PIN. The deciphered value is equal to the generated random number when the correct PIN'"'"'s are used, thereby validating the user. In another embodiment, the deciphered random number at the remote user location is used as a key to cipher the PIN which is sent to the host, deciphered under the random number, and compared with the PIN existing at the host. Subsequent, ciphering can use the determined session key as a ciphering key. Additional security can be realized by adding random digits to the PIN, masking some of the developed keys, and sending the user ID to the host in ciphered form. This system does not require a stored key in the remote computer or the transfer in the clear of the PIN between computers.
169 Citations
49 Claims
-
1. A security system for validating the authority of a remote user to communicate with a host device, said system comprising:
-
means at the host device for storing user ID and personal identification number (PIN) information; means for sending the ID information across a communications channel from the remote user to the host device; means at the host device for providing a non-predetermined signature value; means at the host device for ciphering the signature value under a first key value which is dependent upon at least a portion of the stored ID and PIN information; means for sending the ciphered signature value across the communications channel to the remote user; means at the remote user location for deciphering the ciphered signature value received from the host device under a second key value which is equal to said first key value and derived from the same information as said first key value; means at the remote user location for ciphering the deciphered signature value under a third key value and for sending the ciphered signature value to the host device; and validation means at the host device for deciphering the ciphered signature value received from the remote user location and for determining if the deciphered signature value is equal to the signature value originally provided by the host device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A security system for validating the authority of a remote user to communicate with a host device, said system comprising:
-
means at the host device for storing user ID and personal identification number (PIN) information; means at the host device for receiving ciphered user ID information and locating the corresponding user ID and PIN information in the storing means; means at the host device for providing a random number; means at the host device for adding randomness and masking information to the random number to provide a signature value, said randomness information specifying the degree of random digits to be added to the PIN at the location of the remote user and said masking information specifying a mask for processing a key value at the remote user location; means at the host device for ciphering the signature value under a first key value which is dependent upon a combination of the stored user ID and PIN information; means for sending the ciphered signature value across a communications channel to the remote user; means at the remote user location for deciphering the ciphered signature value received from the host device under a second key value which is equal to said first key value and derived from similar information as said first key value, said deciphering being accomplished with a Message Authentication Code (MAC) function; means at the remote user location for creating modified PIN information based on randomness information incorporated into the signature value by the masking and randomness information means, the modified PIN information having at least one random digit incorporated therein in addition to the PIN information; means at the remote user location for ciphering the signature value with a MAC function under a third key value, said third key value being formed from a concatenated combination of the user ID and the PIN; means at the remote user location for creating modified PIN information based upon masking information incorporated into the signature value by the masking and randomness information means; means for sending the ciphered signature value to the host device; means at the host device for deciphering the ciphered signature value received from the remote user location under a fourth key having a plurality of possible values, with the number of possible values being dependent upon the degree of randomness applied to the PIN at the remote user location; and means for comparing the provided and deciphered-reciphered signature values to determine is they are equal when using one of the possible fourth key values for deciphering and, if an equality is determined, validating the authority of the user to communicate with the host device and using the signature value existing at both locations as a ciphering session key for the remainder of the communications session.
-
-
17. A method of establishing a common ciphering key at two different communicating locations, said method including the steps of:
-
generating a non-predetermined number at a first of said locations which is used to establish a session key at the location; ciphering the session key at said first location under a first key dependent at least upon a confidential user code known at said first location; transferring the ciphered session key to the second location; deciphering the ciphered session key under a second key which is dependent at least upon said confidential user code which is also known at said second location; reciphering the session key at the second location under a third key dependent at least upon the confidential user code known at said second location; transferring the reciphered session key to the first location; deciphering the reciphered session key under a fourth key dependent at least upon said confidential user code known at said first location; and comparing the deciphered session key at the first location with the established session key at the same location and, when they are equal, using the session key existing at both locations as a common ciphering key in any subsequent ciphering functions during the remainder of the session. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method of establishing a common ciphering key at two different communicating locations, said method including the steps of:
-
generating a random number at a first of said locations; adding masking and randomness information to the random number to establish a session key at said first location; ciphering an ID at the second location and sending the ciphered ID to the first location; locating a corresponding ID and confidential user code in storage at the first location by using the ciphered ID received from the second location; ciphering the session key at said first location under a first key dependent upon the located ID and confidential user code; transferring the ciphered session key to the second location; deciphering the ciphered session key at the second location with a Message Authentication Code (MAC) function under a second key which is dependent upon said ID and confidential user code which is also known at said second location; creating a randomized confidential user code at said second location which includes generating and adding at least one additional digit to the confidential user code; reciphering the session key with a MAC function at the second location under a third key dependent upon the ID and the randomized confidential user code; transferring the reciphered session key to the first location; deciphering the reciphered session key under a fourth key having a plurality of possible values, said values being dependent, at least in part, upon said confidential user code known at said first location and the degree of randomness specified in the established session key; and comparing the deciphered session key at the first location with the established session key at the same location and, when there is an equality under one of the possible fourth keys, using the session key existing at both locations as a common ciphering key in any subsequent ciphering functions during the remainder of the session.
-
-
32. A method for a remote user to establish secure communications with a host device, said method including the steps of:
-
receiving a ciphered session key from the host device; deciphering the ciphered session key to provide a session key, said deciphering being under a key formed from at least a confidential user code known by the remote user; reciphering the session key under another key formed from at least the confidential user code; and sending the reciphered session key to the host device for validation. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
-
39. A method for a remote user to establish secure communications with a host device, said method including the steps of:
-
ciphering a user ID according to a one-way ciphering function; sending the ciphered user ID to the host device; receiving a ciphered session key from the host device; deciphering the ciphered session key using a Message Authentication Code (MAC) function to provide a session key, confidential user code which is also known at said second location; creating a randomized confidential user code at said second location which includes generating and adding at least one additional digit to the confidential user code; reciphering the session key with a MAC function at the second location under a third key dependent upon the ID and the randomized confidential user code; transferring the reciphered session key to the first location; deciphering the reciphered session key under a fourth key having a plurality of possible values, said values being dependent, at least in part, upon said confidential user code known at said first location and the degree of randomness specified in the established session key; and comparing the deciphered session key at the first location with the established session key at the same location and, when there is an equality under one of the possible fourth keys, using the session key existing at both locations as a common ciphering key in any subsequent ciphering functions during the remainder of the session.
-
-
40. A method for a host device to establish secure communications with a remote user, said method including the steps of:
-
generating a non-predetermined number which is used in forming a session key for the secure communications; ciphering the session key under a key which is formed from at least a confidential user code for the remote user, said user code being known by the host device; sending the ciphered session key to the remote user for processing; receiving a reciphered session key from the remote user; deciphering the reciphered session key under another key formed from at least said confidential user code known by the host device; and determining if the formed and the deciphered-reciphered session key are equal. - View Dependent Claims (41, 42, 43, 44, 45, 46)
-
-
47. A method for a host device to establish secure communications with a remote user, said method including the steps of:
-
generating a random number; adding randomness and masking information to the random number to form a session key for the secure communications, said information defining to the remote user parameters for forming a ciphering key; receiving a ciphered user ID from the remote user and locating a corresponding user ID and confidential user code stored in memory at the host device; ciphering the session key under a key which is formed from at least the confidential user code and the user ID for the remote user; sending the ciphered session key to the remote user for processing said ciphered session key into a reciphered session key dependent in part upon said randomness and masking information; receiving the reciphered session key from the remote user; generating a plurality of possible trial keys to decipher the reciphered session key, said trail keys being dependent at least upon the confidential user code known by the host device, and with the number of possible trial keys being dependent upon the random information added to the generated random number; deciphering the reciphered session key under a trial key; determining if the formed and the deciphered-reciphered session key are equal for one of the possible trial keys; and if an equality exists, using the formed session key for subsequent ciphering functions at the host device during the remainder of the session.
-
-
48. A security system for validating the authority of a remote user to communicate with a host device, said system comprising:
-
means at the host device for storing user ID and personal identification number (PIN) information; means at the host device for providing a non-predetermined random number; means at the host device for ciphering the random number under a first key value which is dependent upon at least a portion of the stored ID and PIN information; means for sending the ciphered random number across a communications channel to the remote user; means at the remote user location for deciphering the ciphered random number received from the host device under a second key value which is equal to said first key value and derived from the same information as said first key value; means at the remote user location for ciphering at least the PIN under the deciphered random number and for sending the ciphered PIN to the host device; and validation means at the host device for deciphering, under the random number, the ciphered PIN received from the remote user location and for determining if the deciphered PIN is equal to the PIN stored at the host device for the corresponding user ID.
-
-
49. A method of establishing a common ciphering key at two different communicating locations, said method including the steps of:
-
generating a non-predetermined number at a first of said locations which is used to establish a session key at that location; ciphering the session key at said first location under a first key dependent at least upon a confidential user code known at said first location; transferring the ciphered session key to the second location; deciphering the ciphered session key under a second key which is dependent at least upon said confidential user code which is also known at said second location; ciphering the confidential user code at the second location under a key dependent upon the session key available at said second location; transferring the ciphered confidential user code to the first location; deciphering the ciphered confidential user code under the established session key known at said first location; and comparing the deciphered confidential user code at the first location with the stored confidential user code at the same location and, when they are equal, using the session key existing at both locations as a common ciphering key in any subsequent ciphering functions during the remainder of the session.
-
Specification