IP Library Granted Patent US 8,683,215
Granted Patent B2
US 8,683,215 · App. 13/184,791 · Granted Mar 25, 2014

Programmable security platform

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 8,683,215
App. No.
13/184,791
Granted
Mar 25, 2014
Kind
B2
Abstract

A dynamically programmable security device. The device includes: a secure nonvolatile read only memory (NVMROM) for securely storing a unique device cipher key; a secure interface for dynamically loading authenticated application code; a cryptographic engine for encrypting, decrypting data and authenticating the application code; a secure random access memory (RAM) for storing the authenticated application code and application data; and a processor for executing the authenticated application code.

Claims (48)

1. A security device having dynamically programmable security, comprising:

a system memory; and

a security module, comprising:

a secure memory, and

a processor configured to:

receive a message including first configuration information and first secure application code,

configure a hardware component of the security module based on the first configuration information,

transition to an execution mode,

execute the first secure application code in the execution mode after the hardware component of the security module has been configured, wherein the hardware component cannot be reconfigured by the first secure application code, and wherein the first secure application code is configured to initiate loading of second secure application code into the security module by writing to a storage location of the security module, and

configure the hardware component based on second configuration information, wherein the second configuration information is different from the first configuration information.

2. The security device of claim 1 , wherein the security device is a cable set top box.

3. The security device of claim 1 , wherein the security device is a mobile phone.

4. The security device of claim 1 , wherein the security module is configured to provide a conditional access system for the security device, and wherein the first secure application code is configured to change functionality of the conditional access system.

5. The security device of claim 1 , wherein the storage location is a secure application code key register of the security module.

6. The security device of claim 1 , wherein the security module is configured to change instruction and scratch space within the security module based on the first configuration information.

7. The security device of claim 1 , wherein the security module is configured to limit access to secure peripherals within the security module to specified secure applications based on the first configuration information.

8. The security device of claim 7 , wherein the security module is configured to securely execute the first secure application code after limiting access to the secure peripherals, and wherein access rights to the secure peripherals cannot be changed by the executing first secure application code.

9. The security device of claim 1 , wherein the processor is further configured to:

receive a second message including third configuration information and third secure application code,

configure the hardware component of the security module based on the third configuration information, and

execute the third secure application code in the execution mode after the hardware component of the security module has been configured based on the third configuration information.

10. The security device of claim 1 , wherein the processor is further configured to:

authenticate the first secure application code; and

dynamically load the authenticated first secure application code into the secure memory.

11. The security device of claim 1 , wherein the hardware component is a memory including an execution space and a data space, and wherein the security module is configured to securely separate the data space from the execution space.

12. A security device having dynamically programmable security functionality, the security device comprising:

a system processor;

a system memory; and

a security module coupled to the system memory, wherein the security module comprises:

a secure memory, and

a secure processor configured to:

receive a secure application program message including first configuration information and first secure application code,

dynamically configure a security functionality of the security module so that the security functionality is changed from a first security functionality to a second security functionality that corresponds to the first secure application code based on the first configuration information, wherein the security functionality cannot be reconfigured by the first secure application code, and wherein the first secure application code is configured to initiate loading of second secure application code into the security module by writing to a storage location of the security module, and

dynamically configure the security functionality based on second configuration information, wherein the second configuration information is different from the first configuration information.

13. The security device of claim 12 , wherein the first security functionality is security functionality for a secure financial transaction application.

14. The security device of claim 12 , wherein the first security functionality is security functionality for a secure credit card application.

15. The security device of claim 12 , wherein the first security functionality is security functionality for a trusted platform module.

16. The security device of claim 12 , wherein the secure processor is further configured to:

execute the first secure application code after a hardware component of the security module has been reconfigured, to perform the second security functionality.

17. A method for dynamically changing the security functionality of a security module, comprising:

receiving, at the security module, a message including first configuration information and first secure application code;

configuring a hardware component of the security module based on the first configuration information;

transitioning to an execution mode, wherein transitioning to the execution mode comprises preventing further configuration of the hardware component by the first secure application code;

executing the first secure application code after the hardware component has been configured, wherein the first secure application code is configured to initiate loading of second secure application code into the security module by writing to a storage location of the security module; and

configuring the hardware component based on second configuration information, wherein the second configuration information is different from the first configuration information.

18. The method of claim 17 , wherein the security module is configured to provide a conditional access system for a security device, and wherein the first secure application code is configured to change the conditional access system.

19. The method of claim 17 , further comprising limiting access to secure peripherals within the security module to specified secure applications, wherein the specified secure applications are determined based on the first configuration information.

20. The method of claim 19 , further comprising securely executing the first secure application code after limiting access to the secure peripherals, wherein access rights to the secure peripherals cannot be changed by the executing first secure application code.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: BROADCOM CORPORATION
To: NXP B.V.
Reel/Frame 039901/0237 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 10, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 039646/0092 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2011
From: BUER, MARK L
To: BROADCOM CORPORATION
Reel/Frame 026606/0705 →