IP Library Granted Patent US 9,323,950
Granted Patent B2
US 9,323,950 · App. 13/553,388 · Granted Apr 26, 2016

Generating signatures using a secure device

Inventors: Kerry Maletsky (Monument, CO); David Durant (Colorado Springs, CO); Balaji Badam (Colorado Springs, CO); Michael Seymour (Colorado Springs, CO)
Assignee: Atmel Corporation
G06F21/64G06F21/57G06F21/72H04L9/3247H04L9/3271H04L9/0877H04L9/3268H04L63/0823
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,323,950
App. No.
13/553,388
Granted
Apr 26, 2016
Kind
B2
Abstract

An integrated circuit device comprises a processor and a secure protection zone with security properties that can be verified by a remote device communicating with the integrated circuit device. The secure protection zone includes a persistent storage that is configured for storing cryptographic keys and data. The secure protection zone also includes instructions that are configured for causing the processor to perform cryptographic operations using the cryptographic keys. In addition, the secure protection zone includes an ephemeral memory that is configured for storing information associated with the cryptographic operations. The instructions are configured for causing the processor to perform the cryptographic operations on the data stored in the persistent storage and the information in the ephemeral memory as part of a secure communication exchange with the remote device.

Claims (72)

1. A method comprising:

storing, in persistent storage included in a first device, a parent public key, a certificate corresponding to the parent public key and a parent private key corresponding to the parent public key, wherein the first device is associated with a client device and wherein the parent public key and the corresponding certificate are sent to a host device that is in communication with the client device;

generating, by the first device, a child private key based on a random number produced within the first device, and a child public key corresponding to the child private key, the child private and public keys being generated within the first device;

combining, by the first device, a nonce with the child public key and configuration information corresponding to the first device to generate a hashed digest, wherein the nonce is generated by the first device;

generating, by the first device, a first signature by performing signature computation on the hashed digest, the first signature being generated within the first device, wherein generating the first signature comprises:

determining, by the first device, that the hashed digest is generated internally by the first device;

in response to determining that the hashed digest is generated internally by the first device, signing, by the first device, the hashed digest using a first cryptographic operation that is configured to be performed on data generated internally by the first device,

wherein the first device is configured to use a second cryptographic operation different from the first cryptographic operation to operate on data generated external to first device; and

sending the child public key and the first signature to the host device.

2. The method of claim 1 , wherein generating the first signature comprises:

generating, by the first device, the first signature by performing signature computation on the hashed digest using the parent private key.

3. The method of claim 2 , wherein the nonce is generated by a random number generator included in the first device.

4. The method of claim 2 , wherein combining the nonce with the child public key and the configuration information corresponding to the first device to generate the hashed digest comprises:

combining, by the first device, the nonce with the child public key to generate a first hashed digest;

combining, by the first device, the first hashed digest with the configuration information corresponding to the first device to generate a second hashed digest; and

generating, by the first device, the first signature by performing signature computation on the second hashed digest using the parent private key.

5. The method of claim 1 , wherein the configuration information corresponding to the first device includes at least one of key storage configuration information, key storage state information or command parameters.

6. The method of claim 1 , wherein generating the first signature further comprises:

tracking, by the first device, state information associated with data values stored in memory included in the first device;

based on tracking the state information, determining, by the first device, whether a hashed digest to be signed is generated by the first device; and

in response to determining that the hashed digest is generated by the first device, signing, by the first device, the hashed digest using one of the parent private key or the child private key.

7. The method of claim 1 , comprising:

receiving, at the first device, a random challenge from the host device in response to sending the child public key and the first signature to the host device;

generating, by the first device, a second signature based on the random challenge using the child private key; and

sending the second signature to the host device.

8. The method of claim 7 , wherein at least one of the first signature or the second signature is generated using a hardware cryptographic engine included in the first device.

9. The method of claim 7 , wherein generating the second signature comprises using the second cryptographic operation to generate the second signature.

10. The method of claim 1 , further comprising:

receiving, by the host device, the parent public key and the corresponding certificate from the client device;

authenticating, by the host device, the parent public key based on the corresponding certificate;

receiving, by the host device, the child public key and the first signature from the client device;

verifying, by the host device, the first signature using the authenticated parent public key, wherein verifying the first signature includes verifying the configuration information corresponding to the first device; and

authenticating, by the host device, the child public key based on verifying the first signature.

11. The method of claim 1 , wherein the certificate corresponding to the parent public key is generated by a certificate authority at a time of manufacture of the first device, the certificate authority being trusted by the host device and the client device.

12. The method of claim 1 , wherein the configuration information corresponding to the first device includes information associated with a state of a physical input pin of the first device.

13. The method of claim 1 , wherein the configuration information corresponding to the first device includes data generated by a sensor that is coupled to the first device.

14. The method of claim 13 , wherein the sensor is selected from the group consisting of a temperature sensor, a pressure sensor and a voltage sensor.

15. An apparatus comprising:

a processor;

a first device;

a persistent storage included in the first device; and

a storage medium coupled to the processor and configured for storing instructions, which, when executed by the processor, are configured to cause the processor to perform operations comprising:

storing, in the persistent storage, a parent public key, a certificate corresponding to the parent public key and a parent private key corresponding to the parent public key, wherein the first device is associated with a client device and wherein the parent public key and the corresponding certificate are sent to a host device that is in communication with the client device;

generating, by the first device, a child private key based on a random number produced within the first device, and a child public key corresponding to the child private key, the child private and public keys being generated within the first device;

combining, by the first device, a nonce with the child public key and configuration information corresponding to the first device to generate a hashed digest, wherein the nonce is generated by the first device;

generating, by the first device, a first signature by performing signature computation on the hashed digest, the first signature being generated within the first device, wherein generating the first signature comprises:

determining, by the first device, that the hashed digest is generated internally by the first device;

in response to determining that the hashed digest is generated internally by the first device, signing, by the first device the hashed digest using a first cryptographic operation that is configured to be performed on data generated internally by the first device,

wherein the first device is configured to use a second cryptographic operation different from the first cryptographic operation to operate on data generated external to first device; and

sending the child public key and the first signature to the host device.

16. The apparatus of claim 15 , wherein generating the first signature comprises:

generating, by the first device, the first signature by performing signature computation on the hashed digest using the parent private key.

17. The apparatus of claim 16 , wherein the nonce is generated by a random number generator included in the first device.

18. The apparatus of claim 16 , wherein combining the nonce with the child public key and the configuration information corresponding to the first device to generate the hashed digest comprises:

combining, by the first device, the nonce with the child public key to generate a first hashed digest;

combining, by the first device, the first hashed digest with the configuration information corresponding to the first device to generate a second hashed digest; and

generating, by the first device, the first signature by performing signature computation on the second hashed digest using the parent private key.

19. The apparatus of claim 15 , wherein the configuration information corresponding to the first device includes at least one of key storage configuration information, key storage state information or command parameters.

20. The apparatus of claim 15 , wherein generating the first signature further comprises:

tracking, by the first device, state information associated with data values stored in memory included in the first device;

based on tracking the state information, determining, by the first device, whether a hashed digest to be signed is generated by the first device; and

in response to determining that the hashed digest is generated by the first device, signing, by the first device, the hashed digest using one of the parent private key or the child private key.

21. The apparatus of claim 15 , wherein the instructions are configured to cause the processor to perform operations further comprising:

receiving, at the first device, a random challenge from the host device in response to sending the child public key and the first signature to the host device;

generating, by the first device, a second signature based on the random challenge using the child private key; and

sending the second signature to the host device.

22. The apparatus of claim 21 , wherein at least one of the first signature or the second signature is generated using a hardware cryptographic engine included in the first device.

23. The apparatus of claim 21 , wherein generating the second signature comprises using the second cryptographic operation to generate the second signature.

24. The apparatus of claim 15 , wherein the certificate corresponding to the parent public key is generated by a certificate authority at a time of manufacture of the first device, the certificate authority being trusted by the host device and the client device.

25. The apparatus of claim 15 , wherein the configuration information corresponding to the first device includes information associated with a state of a physical input pin of the first device.

26. The apparatus of claim 15 , wherein the configuration information corresponding to the first device includes data generated by a sensor that is coupled to the first device.

27. The apparatus of claim 26 , wherein the sensor is selected from the group consisting of a temperature sensor, a pressure sensor and a voltage sensor.

Assignments (18)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ATMEL CORPORATION
Reel/Frame 059262/0105 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL CORPORATION
Reel/Frame 038376/0001 →
PATENT SECURITY AGREEMENT Recorded Jan 3, 2014
From: ATMEL CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
Reel/Frame 031912/0173 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SERIAL NUMBER OF THE APPLICATION FROM 13/293,198 TO 13/553,388 AND THE FILING DATE FROM 11/10/2011 TO 07/19/2012 PREVIOUSLY RECORDED ON REEL 028591 FRAME 0087. ASSIGNOR(S) HEREBY CONFIRMS THE THE APPLICATION WAS FILED JULY 19, 2012 AND ASSIGNED U.S. SERIAL NO. 13/553,388. Recorded Jul 23, 2012
From: MALETSKY, KERRY; DURANT, DAVID; BADAM, BALAJI; SEYMOUR, MICHAEL
To: ATMEL CORPORATION
Reel/Frame 028610/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2012
From: MALETSKY, KERRY; DURANT, DAVID; BADAM, BALAJI; SEYMOUR, MICHAEL
To: ATMEL CORPORATION
Reel/Frame 028591/0087 →
Continuity (1)
Related Publication 20140025944A1 · Jan 23, 2014