IP Library Granted Patent US 9,225,999
Granted Patent B2
US 9,225,999 · App. 13/772,662 · Granted Dec 29, 2015

Virtualized security processor

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,225,999
App. No.
13/772,662
Granted
Dec 29, 2015
Kind
B2
Abstract

Aspects of a virtualized security processor are described herein. In various embodiments, one or more virtual security modules may be instantiated at a port interface between a security module and a processing environment of a host device. In one embodiment, a virtual security module is instantiated for each service of the host device. Each virtual security module is configured for at least one command supported by the security module for an associated service of the host device. After being configured, a virtual security module may receive a security command request from an associated service and, before submitting the security command request to the security module, verify and prioritize the security command request. In certain aspects, the use of virtual security modules assists the host device to interface multiple services with the security module, while prioritizing tasks for and offloading certain tasks from the security module.

Claims (53)

1. A method, comprising:

initializing, with a host device, an interface between the host device and a security module;

instantiating, for one or more services of the host device, one or more virtual security modules of the interface, the one or more virtual security modules instantiated by and hosted within the host device;

configuring, for at least one command supported by the security module for the one or more services of the host device, a command for the one or more virtual security modules;

receiving, by the one or more virtual security modules, a plurality of security command requests from the one or more services;

before submitting the security command requests to the security module, verifying and prioritizing the security command requests with the one or more virtual security modules, wherein prioritizing the security command requests comprises determining a priority level for each of the security command requests for determining an order in which the security command requests are addressed by the security module; and

for each security command request, when the security command request is verified with one of the virtual security modules, submitting the security command request to the security module.

2. The method of claim 1 , wherein, for each security command request, verifying the security command request comprises:

determining whether the security command request comprises a duplicate request; and

checking the integrity of the security command request.

3. The method of claim 1 , wherein:

instantiating the one or more virtual security modules comprises instantiating a virtual security module for each of a plurality of services of the host device; and

configuring a command for the one or more virtual security modules comprises configuring at least one command for each of a plurality of virtual security modules of the host device according to commands supported by the security module for the plurality of services.

4. The method of claim 3 , wherein each of the plurality of services of the host device comprises a respective conditional access or digital rights management service.

5. The method of claim 3 , wherein:

receiving a security command request comprises receiving, by the plurality of virtual security modules, a plurality of security command requests from one or more of the plurality of services of the host device; and

verifying and prioritizing the security command request comprises verifying and prioritizing the plurality of security command requests among the plurality of virtual security modules.

6. The method of claim 5 , wherein prioritizing the plurality of security command requests among the plurality of virtual security modules comprises:

prioritizing the plurality of virtual security modules; and

prioritizing the security command requests of each of the plurality of virtual security modules.

7. The method of claim 6 , wherein submitting the security command request to the security module comprises submitting the plurality of security command requests to the security module based on the respective priorities of the plurality of virtual security modules and the security command requests.

8. The method of claim 1 , wherein initializing an interface comprises exchanging, by the host device, operational profile information with the security module, the operational profile information comprising at least hardware or software version information of the host device or the security module.

9. The method of claim 1 , wherein instantiating a virtual security module comprises:

transmitting, to the security module, an instantiation inquiry comprising a service identifier; and

receiving, from the security module, an instantiation confirmation reply indicating whether the security module supports a service associated with the service identifier.

10. A host device, comprising:

a security module that supports security requirements of the host device; and

a security port interface manager including circuitry configured to:

instantiate one or more virtual security modules for one or more services of the host device and configures at least one command for the one or more virtual security modules, the one or more virtual security modules instantiated by and hosted within the host device;

verify and prioritize, by the one or more virtual security modules, a plurality of security command requests received from the one or more services, before the plurality of security command requests are communicated to the security module, wherein the security port interface manager is configured to determine a priority level for each of the security command requests for determining an order in which the security command requests are addressed by the security module; and

communicate the security command requests to the security module after the security command requests are verified and prioritized.

11. The device of claim 10 , wherein, for each of the security command requests, the security port interface manager further:

determines whether the security command request comprises a duplicate request; and

checks the integrity of the security command request.

12. The device of claim 10 , wherein the security port interface manager further:

instantiates a virtual security module for each of a plurality of services of the host device; and

configures at least one command for each of a plurality of virtual security modules.

13. The device of claim 10 , wherein the security port interface manager further exchanges operational profile information with the security module, the operational profile information comprising at least hardware or software version information of the host device or the security processor.

14. A method, comprising:

instantiating, for one or more services of the host device, one or more virtual security modules of an interface between the host device and a security module, the one or more virtual security modules instantiated by and hosted within the host device;

configuring a command for the one or more virtual security modules;

receiving, by the one or more virtual security modules, a plurality of security command requests from the one or more services;

before submitting the security command requests to the security module, verifying and prioritizing the security command requests with the one or more virtual security modules, wherein prioritizing the security command requests comprises determining a priority level for each of the security command requests for determining an order in which the security command requests are addressed by the security module; and

for each security command request, when the security command request is verified with one of the virtual security modules, submitting the security command request to the security module.

15. The method of claim 14 , further comprising, for each of the security command requests,

when the security command request is not verified with one of the virtual security modules, ignoring the security command request.

16. The method of claim 14 , wherein verifying the security command requests comprises, for each of the security command requests:

determining whether the security command request comprises a duplicate request; and

checking the integrity of the security command request.

17. The method of claim 14 , wherein:

instantiating the one or more virtual security modules comprises instantiating a virtual security module for each of a plurality of services of the host device; and

configuring a command for the one or more virtual security modules comprises configuring at least one command for each of a plurality of virtual security modules of the host device according to commands supported by the security module for the plurality of services.

18. The method of claim 17 , wherein each of the plurality of services of the host device comprises a respective conditional access or digital rights management service.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
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 Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
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 Apr 22, 2013
From: LIANG, VICTOR
To: BROADCOM CORPORATION
Reel/Frame 030257/0717 →