APPARATUS AND METHOD FOR MULTI-STATE CODE SIGNING
First Claim
1. An electronic device, comprising:
- a memory configured to store a lab certificate, a code authentication certificate and an executable code; and
a processor associated with a unique device identifier, wherein, for a first operational condition of a plurality of operational conditions, the processor is configured to;
retrieve the code authentication certificate associated with the executable code;
determine that a valid lab certificate is present in the memory;
authenticate the code authentication certificate by determining that the code authentication certificate is signed with a private developer key and that the signature is valid, andexecute the executable code on the electronic device responsive to determining that the lab certificate is valid and authenticating the code authentication certificate.
1 Assignment
0 Petitions
Accused Products
Abstract
An electronic device includes a memory configured to store a lab certificate, a code authentication certificate and the executable code. The electronic device also includes a processor associated with a unique device identifier. For a first operational condition of the plurality of operational conditions, the processor is configured to: retrieve the code authentication certificate associated with the executable code; determine that a valid lab certificate is present in the memory; authenticate the code authentication certificate by determining that the code authentication certificate is signed with a private developer key and that the signature is valid; and execute the executable code on the electronic device responsive to determining that the lab certificate is valid and authenticating the code authentication certificate.
-
Citations
22 Claims
-
1. An electronic device, comprising:
-
a memory configured to store a lab certificate, a code authentication certificate and an executable code; and a processor associated with a unique device identifier, wherein, for a first operational condition of a plurality of operational conditions, the processor is configured to; retrieve the code authentication certificate associated with the executable code; determine that a valid lab certificate is present in the memory; authenticate the code authentication certificate by determining that the code authentication certificate is signed with a private developer key and that the signature is valid, and execute the executable code on the electronic device responsive to determining that the lab certificate is valid and authenticating the code authentication certificate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for an electronic device to execute code, the method comprising:
-
maintaining, by the electronic device, a unique device identifier; retrieving, by the electronic device, a code authentication certificate associated with an executable code to be executed on the electronic device; determining, by the electronic device, whether a lab certificate is present in the electronic device; in response to determining that a lab certificate is present, executing, by the electronic device, the executable code on the electronic device responsive to determining that the lab certificate is valid and that the code authentication certificate is signed with a private developer key and that the signature is valid. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for an electronic device to execute code, the method comprising:
-
maintaining, by the electronic device, a unique device identifier; identifying, by the electronic device, a key that can be utilized to verify a code authentication certificate associated with the code; determining, by the electronic device, that the code authentication certificate is valid by verifying a signature of the code authentication certificate using the key; determining whether the key is a public release key or a public developer key rooted by a trust anchor of the electronic device; in response to determining that the key is a release key and to determining that the code authentication certificate is valid, executing, by the electronic device, the code; in response to determining that the key is a public developer key, determining whether a valid lab certificate is present on the electronic device; in response to determining that the key is a public developer key, determining that the code authentication certificate is valid and that a valid lab certificate is present on the electronic device, executing, by the electronic device, the code. - View Dependent Claims (21, 22)
-
Specification