IP Library Granted Patent US 8,181,034
Granted Patent B2
US 8,181,034 · App. 12/450,214 · Granted May 15, 2012

Secure data utilization

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,181,034
App. No.
12/450,214
Granted
May 15, 2012
Kind
B2
Abstract

A system, comprising an external memory operative to store data therein, the data including a plurality of sections, each of the sections being associated with a signature, and an internal memory operationally connected to the external memory, and a processor arrangement operationally connected to the internal memory, the processor arrangement including a transfer module to transfer one section from the external to the internal memory, an authentication module to authenticate the signature of the section transferred from the external memory, a validity status module to identify the section as valid if the signature is authentic, and an execution module to utilize the section of the data only if the section is valid, wherein the validity status module is operative to invalidate the section, if the content of the section is changed while stored in the internal memory. Related apparatus and methods are also described.

Claims (54)

1. A system, comprising:

an external memory operative to store data therein, the data including a plurality of sections, the data including an executable computer program, at least part of the data being signed with a primary RSA asymmetric signature, the at least part of the data including at least some of the sections;

an internal memory operationally connected to the external memory;

a processor arrangement operationally connected to the internal memory, the processor arrangement includes a transfer module, an authentication module, and a signature module; and

an integrated circuit having disposed thereon the internal memory and the processor arrangement, the integrated circuit being operationally connected to the external memory, the external memory not being on the integrated circuit,

wherein during a preliminary procedure:

the transfer module is operative to transfer the sections from the external memory to the internal memory;

the signature module is operative to: create a symmetric signature for each of the sections based on a first secret; to encrypt the symmetric signature of the cached section using a second secret, yielding a result; to output the result of the encryption for each of the sections to the external memory; and to output the second secret to the external memory, only after the primary RSA asymmetric signature has been positively authenticated by the authentication module; and

the transfer module is operative to transfer the at least some sections from the external memory to the internal memory only once during the preliminary procedure, so that while a cached one of the sections is in the internal memory: the authentication module is operative to calculate a hash based on the content of the cached section; the authentication module is operative to update a value for use in authenticating the primary RSA asymmetric signature based on the hash of the cached section; and the signature module is operative to create the symmetric signature for the cached section; and

the authentication module is operative to authenticate the primary RSA asymmetric signature based on the value which has been updated based on the at least some sections and,

wherein, prior to utilizing a selected one of the sections of the data: the transfer module is operative to transfer the selected section from the external memory to the internal memory; and the authentication module is operative to authenticate the symmetric signature of the selected section using the first secret and,

wherein the processor arrangement includes: a validity status module to identify the selected section as valid if the symmetric signature of the selected section is authentic; and an execution module to utilize the selected section of the data only if the selected section is valid, the validity status module being operative to invalidate the selected section, if the content of the selected section is changed while stored in the internal memory.

2. A system, comprising:

an external memory operative to store data therein, the data including a plurality of sections, at least part of the data being signed with a primary signature, the at least part of the data including at least some of the sections; and

an internal memory operationally connected to the external memory; and

a processor arrangement operationally connected to the internal memory, the processor arrangement includes a transfer module, an authentication module, and a signature module,

wherein during a preliminary procedure:

the transfer module is operative to transfer the sections from the external memory to the internal memory;

the authentication module is operative to authenticate the primary signature; and

the signature module is operative to create a symmetric signature for each one of the sections while each said one of the sections is cached in the internal memory, respectively, and where each of the symmetric signatures is based on a first secret;

the signature module is operative to encrypt the symmetric signature of the cached section using a second secret, yielding a result; and

the signature module is operative to output the result of the encryption for each of the sections to the external memory;

wherein the signature module is operative to output the second secret to the external memory, only after the primary signature has been positively authenticated by the authentication module; and

wherein, prior to utilizing a selected one of the sections of the data:

the transfer module is operative to transfer the selected section from the external memory to the internal memory; and

the authentication module is operative to authenticate the symmetric signature of the selected section using the first secret.

3. The system according to claim 2 , wherein:

the transfer module is operative to transfer the at least some sections from the external memory to the internal memory only once during the preliminary procedure, so that the authentication module is operative to update a value for use in authenticating the primary signature based on a cached section, while said cached one of the sections is in the internal memory; and

the authentication module is operative to authenticate the primary signature based on the value which has been updated based on the at least some sections.

4. The system according to claim 3 , wherein the authentication module is operative to: calculate a hash based on the content of the cached section; and update the value based on the hash of the cached section.

5. The system according to claim 2 , further comprising an integrated circuit having disposed thereon the internal memory and the processor arrangement, the integrated circuit being operationally connected to the external memory, the external memory not being on the integrated circuit.

6. The system according to claim 2 , wherein the primary signature is an asymmetric signature.

7. The system according to claim 6 , wherein the asymmetric signature is an RSA signature.

8. The system according to claim 2 , wherein the data includes an executable computer program.

9. The system according to claim 2 , wherein:

the processor arrangement includes:

a validity status module to identify the selected section as valid if the symmetric signature of the selected section is authentic; and

an execution module to utilize the selected section of the data only if the selected section is valid; and

the validity status module is operative to invalidate the selected section, if the content of the selected section is changed while stored in the internal memory.

10. A method, comprising:

performing, using physical computing machinery, a preliminary procedure including:

transferring a plurality of sections of data from an external memory to an internal memory;

authenticating a primary signature of the at least part of the data, the at least part of the data including at least some of the sections; and

creating a symmetric signature for each of the sections based while each said one of the sections is cached in the internal memory, respectively, and where each of the symmetric signatures is based on a first secret;

encrypting the symmetric signature of the cached section using a second secret, yielding a result; and

outputting the result of the encryption for each of the sections to the external memory;

outputting the second secret to the external memory, only after the primary signature has been positively authenticated; and

performing, using physical computing machinery, an authentication procedure for a selected one of the sections of the data, prior to utilizing the selected section, the authentication procedure including:

transferring the selected section from the external memory to the internal memory; and

authenticating the symmetric signature of the selected section using the first secret.

11. The method according to claim 10 , further comprising:

identifying the selected section as valid if the symmetric signature of the selected section is authentic;

utilizing the selected section of the data only if the selected section is valid; and

invalidating the selected section, if the content of the selected section is changed while stored in the internal memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2013
From: NDS LIMITED
To: CISCO TECHNOLOGY, INC.
Reel/Frame 030258/0465 →