System and method for secure code downloading
AssigneeBroadcom Corporation
InventorsSherman (Xuemin) Chen, Steve W. Rodgers
Life of this patent
Estimating the term…
Abstract
Systems and methods that support secure code downloading are provided. In one embodiment, a method that securely downloads code may include, for example, one or more of the following: receiving a command in a security processor; loading an encryption or decryption key based on the received command; configuring the security processor with a selected scrambling type and a selected signature type based on the received command; and processing incoming code using the loaded encryption or decryption key and the configured security processor.
Claims41
A method for secure code downloading, comprising:
- (a) receiving, via a bus, a host command in a security processor from a host processor, wherein the host processor, the security processor and the bus are part of a system on a chip in a set-top box, the host command having a data structure that is independent of command type and number of operations, wherein the security processor swizzles a one-time programmable key stored in the security processor and uses the swizzled one-time programmable key to decrypt an encrypted loading key of the received command, wherein the security processor uses a key signature of the received command, the decrypted loading key and the swizzled one-time programmable key to verify the decrypted loading key before loading into the security processor;
- (b) loading the decrypted loading key based on the received command;
- (c) configuring the security processor with a selected scrambling type and a selected signature type based on the received command, wherein the security processor outputs a status command of a status of the configuring of the security processor;
- and
- (d) processing incoming code using the loaded key and the configured security processor.
A system for secure code downloading, comprising:
- a host processor;
- and
- a security processor operatively coupled to the host processor via a bus,
- wherein the host processor, the security processor and the bus are part of a system on a chip,
- wherein the security processor operates as a master device and as a slave device,
- wherein security processor receives a first command from the host processor,
- wherein, while the security processor is executing the first command, a command interface of the security processor is disabled,
- wherein the first command comprises information that the security processor uses to select a cryptographic key and to configure the security processor for a selected type of decryption and a selected type of authentication,
- wherein the security processor swizzles a one-time programmable key stored in the security processor and uses the swizzled one-time programmable key to decrypt an encrypted loading key of the first command,
- wherein the security processor uses a key signature of the first command, the decrypted loading key and the swizzled one-time programmable key to verify the decrypted loading key before loading into the security processor, and
- wherein the configured security processor decrypts and authenticates a subsequently received command from the host processor, the subsequently received command comprising executable code.
A system for secure code downloading, comprising:
- a security processor receiving, via a bus, a first command from a host processor that instructs the security processor on how to configure one or more code loaders of the security processor,
- wherein the host processor, the security processor and the bus are part of a system on a chip,
- wherein the security processor swizzles a one-time programmable key stored in the security processor and uses the swizzled one-time programmable key to decrypt an encrypted loading key of the first command,
- wherein the security processor uses a key signature of the first command, the decrypted loading key and the swizzled one-time programmable key to verify the decrypted loading key before loading into the security processor,
- wherein the decrypted and authenticated command comprises information that the security processor uses to select a cryptographic key and to configure the security processor for a selected type of decryption and a selected type of authentication,
- wherein the decrypted and authenticated command is locked by a field-programmable one-time-programmable bit, and
- wherein the configured security processor decrypts and authenticates a subsequently received command, the subsequently received command comprising executable code.
Dependencies are inferred from the claim text.