Secure communication between a hardware device and a computer
Abstract
A group of secret sets is provided, each set including a key and an assigned identifier. The sets are stored in a secure hardware device that can retrieve the key of any of the sets using the key's corresponding identifier. A set is stored in an application, and the application is executed on a computer coupled to the secure device. The application defines a session key, encrypts the session key using the key from the set stored in the application, generates session data including the stored set's identifier and the encrypted session key, and sends the session data to the secure device. The secure device obtains from the session data the encrypted session key and the identifier, retrieves the key corresponding to the identifier, and uses the retrieved key to decrypt the session key. The session key is then used to encrypt and decrypt communications between the secure device and the computer.
Claims
exact text as granted — not AI-modified1 . A method for secure communication between a secure hardware device connected to a computer and said computer, said method comprising:
defining a group of secret sets including at least two secret sets, each of which includes a secret and a corresponding assigned identifier, storing the group of secret sets in a secure hardware device, storing a first one of said secret sets in a first application, and executing the first application on a computer connected to the secure hardware device, determining a first session key, and encrypting the first session key using the secret from the first secret set stored in the first application to form an encrypted first session key, generating first session key indication data including the encrypted first session key and the identifier of the first secret, and transmitting said first session key indication data from the computer to the secure hardware device, obtaining from the first session key indication data the encrypted first session key and the identifier of the first secret, retrieving the first secret using the obtained identifier, decrypting the encrypted first session key using the retrieved first secret, and using the first session key for encrypting and decrypting data transmitted between the secure hardware device and the computer.
2 . The method of claim 1 , comprising the steps of:
storing a second one of said secret sets in a second application, executing the second application on a computer connected to the secure hardware device, determining a second session key and encrypting the second session key using the secret from the second secret set stored in the second application to form an encrypted second session key. generating second session key indication data including the encrypted second session key and the identifier of the second secret, transmitting said second session key indication data from the computer to the secure hardware device, obtaining from the second session key indication data the encrypted second session key and the identifier of the second secret; retrieving the second secret using the obtained identifier, decrypting the encrypted second session key using the retrieved second secret, and using the second session key for encrypting and decrypting data transmitted between the secure hardware device and the computer.
3 . The method of claim 1 , wherein the first application performs the steps of determining and encrypting the first session key and generating the first session key indication data, and
the secure hardware device performs the steps of obtaining from the first session key indication data the encrypted first session key and the identifier of the first secret, retrieving the first secret using the identifier, and decrypting the encrypted first session key using the retrieved first secret.
4 . The method of claim 2 , wherein the second application performs the steps of determining and encrypting the second session key and generating the second session key indication data, and
the secure hardware device performs the steps of obtaining from the second session key indication data the encrypted second session key and the identifier of the second secret, retrieving the second secret using the identifier, and decrypting the encrypted second session key using the retrieved second secret.
5 . The method of claim 1 , wherein
the group of secret sets is defined by encrypting each of a group of identifiers with a master key using a symmetrical encryption method, and the master key is stored, and the symmetrical encryption method is implemented, in the secure hardware device.
6 . The method of claim 2 , wherein the second application is an update for the first application.
7 . The method of claim 1 , wherein the secret sets are assigned to different levels., and once the secure hardware device has retrieved the first secret using the obtained identifier the secure hardware device does not accept secrets based on identifiers of secret sets of a level lower than that of the first secret set.
8 . The method of claim 1 , wherein the secret sets arc assigned to different levels and the secure hardware device only accepts secrets of secret sets of a level higher than a set first level.
9 . The method of claim 1 , wherein the first application generates said first session key based on a first random value.
10 . The method of claim 2 , wherein the second application generates said second session key based on a second random value.
11 . The method of claim 1 , wherein
the secure hardware device transmits an authentication value to the first application, the first application encrypts the authentication value using the secret of said first secret set and transmits the encrypted authentication value to the secure hardware device, the secure hardware device decrypts the encrypted authentication value using the retrieved secret of the first secret set and compares the decrypted authentication value with the generated authentication value and, only if both authentication values are identical, the secure hardware device uses the first session key for encrypting and decrypting.
12 . The method of claim 2 , wherein the secure hardware device generates a second authentication value and transmits said second authentication value to the second application,
the second application encrypts the received second authentication value with the secret of the second secret set and transmits the encrypted second authentication value to the secure hardware device, the secure hardware device decrypts the encrypted second authentication value with the retrieved secret of the second secret set and compares the decrypted second authentication value with the generated second authentication value and, only if both authentication values are identical, the secure hardware device uses the second session key for encrypting and decrypting.
13 . The method of claim 1 , wherein the group of secret sets is defined such that it is impossible to derive a secret from a secret set if only the identifier of said secret set is known.
14 . The method of claim 1 , wherein the secure hardware device is used to prevent unauthorized use of said first application.
15 . A method of establishing a secure communication channel in a renewable manner between a secure hardware device connected to a computer and said computer, wherein a group of secret sets including at least two secret sets, each of which includes a secret and a corresponding assigned identifier, is stored in the secure hardware device, and a first one of said secret sets is stored in a first application running on said computer, said method comprising:
said first application determining a first session key, and encrypting the first session key using the secret from the first secret set stored in the first application to form an encrypted first session key, generating first session key indication data including the encrypted first session key and the identifier of the first secret, and transmitting said first session key indication data to the secure hardware device, and said secure hardware device obtaining from the first session key indication data the encrypted first session key and the identifier of the first secret, retrieving the first secret using the obtained identifier, decrypting the encrypted first session key using the retrieved first secret, and using the first session key for encrypting and decrypting data transmitted between the secure hardware device and the computer, wherein, for renewing the session key, a second application with a second one of said secret sets is executed on a computer connected to the secure hardware device, said second application determining a second session key and encrypting the second session key using the secret from the second secret set stored in the second application to form an encrypted second session key, generating second session key indication data including the encrypted second session key and the identifier of the second secret, and transmitting said second session key indication data to the secure hardware device, said secure hardware device obtaining from the second session key indication data the encrypted second session key and the identifier of the second secret; retrieving the second secret using the obtained identifier, decrypting the encrypted second session key using the retrieved second secret, and using the second session key for encrypting and decrypting data transmitted between the secure hardware device and the computer.
16 . An apparatus for changing a session key for secure communication between a secure hardware device connected to a computer and said computer, said apparatus comprising:
a key generator which generates a group of secret sets including at least two secret sets, each of which includes a secret and a corresponding assigned identifier, a processor which stores the group of secret sets in the secure hardware device, and a selector which stores a first one of said secret sets in a first application, wherein the first application which includes the first secret set executes on a computer connected to the secure hardware device, and determines a first session key, encrypts the first session key using the secret from the first secret set stored in the first application to form an encrypted first session key, and generates first session key indication data including the encrypted first session key and the identifier of said first secret and transmits said first session key indication data to the secure hardware device, and wherein the secure hardware device obtains from the first session key indication data the encrypted first session key and the identifier of the first secret, retrieves the first secret using the obtained identifier, and decrypts the encrypted first session key using the retrieved secret, wherein the first session key is used for encrypting and decrypting data transmitted between the secure hardware device and the computer, and wherein the selector stores a second one of said secret sets in a second application, which is executed on a computer connected to the secure hardware device, wherein the second application determines a second session key, encrypts the second session key using the secret from the second secret set stored in the second application to form an encrypted second session key, and generates second session key indication data including the encrypted second session key and the identifier of the second secret, and transmits said second session key indication data to the secure hardware device, which obtains from the second session key indication data the encrypted second session key and the identifier of the second secret, retrieves the second secret using the obtained identifier, decrypts the encrypted second session key using the retrieved second secret, and uses the second session key for encrypting and decrypting data transmitted between the secure hardware device and the computer.
17 . The method of claim 1 , further comprising:
determining a new session key, and encrypting the new session key using the secret from the first secret set stored in the first application to form an encrypted new session key, generating new session key indication data including the encrypted new session key and the identifier of the first secret, and transmitting said new session key indication data from the computer to the secure hardware device, obtaining from the new session key indication data the encrypted new session key and the identifier of the first secret, retrieving the first secret using the obtained identifier, decrypting the encrypted new session key using the retrieved first secret, and using the new session key for encrypting and decrypting data transmitted between the secure hardware device and the computer.Join the waitlist — get patent alerts
Track US2011029774A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.