IP Library Granted Patent US 7,669,055
Granted Patent B2
US 7,669,055 · App. 11/977,914 · Granted Feb 23, 2010

Key transformation unit for a tamper resistant module

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 7,669,055
App. No.
11/977,914
Granted
Feb 23, 2010
Kind
B2
Abstract

Methods, apparati, and computer-readable media for securely transporting a software application onto a tamper resistant module (TRM) ( 103 ) by using an individualized TRM key set. A method embodiment of the present invention comprises: storing a key pair unique to the TRM ( 103 ) in a memory located on the TRM ( 103 ), where the key pair comprises a TRM public key ( 150 ) and a TRM private key ( 190 ); retrieving the TRM public key from the TRM; encrypting a portion of the software application using the TRM public key ( 150 ); transmitting the encrypted software application to the TRM ( 103 ); and recovering and decrypting the encrypted software application using the TRM private key ( 190 ).

Claims (72)

1. A method for securely loading an executable software application from an application provider onto a tamper resistant module (TRM) having a memory over a communications network, said method comprising the steps of:

providing a TRM private key and a TRM public key for said TRM;

encrypting at least one portion of said executable software application using an associated transport key, each said portion also having an associated location;

creating an application unit which comprises said portion of said executable software application;

encrypting said associated transport key and an indicator of said associated location using said TRM public key;

forming a key transformation unit (KTU), said KTU comprising said associated transport key and said indicator;

transmitting said application unit and said KTU to said TRM;

decrypting said KTU using said TRM private key to recover said associated transport key and said indicator;

identifying said portion of said executable software application;

decrypting said portion of said executable software application using said associated transport key; and

storing said portion of said executable software application in said memory on said TRM for subsequent execution.

2. The method of claim 1 , wherein said step of encrypting at least one portion of said executable software application comprises using a symmetric technique.

3. The method of claim 2 , wherein said symmetric technique is DES.

4. The method of claim 1 , wherein said TRM public key and said TRM private key are provided using an asymmetric technique.

5. The method of claim 4 , wherein said asymmetric technique is RSA.

6. The method of claim 1 , wherein said KTU further indicates an encryption technique used to encrypt said portion of said executable software application.

7. The method of claim 1 , further comprising the step of enciphering a second portion of said executable software application exclusive of said at least one portion of said executable software application that is encrypted.

8. The method of claim 7 , wherein said second portion is encrypted using at least one of a second encryption technique and a second key, and said KTU indicates at least one of said second encryption technique and said second key.

9. The method of claim 8 , wherein said KTU comprises a location indicator for said second portion.

10. The method of claim 1 , wherein said at least one portion of said executable software application comprises a quantity of portions, and said KTU comprises an indicator identifying the quantity of portions.

11. Tamper resistant module (TRM) apparatus, comprising:

at least one TRM having a memory;

an executable software application provided by a software application provider to said TRM;

a communications link coupled to said TRM and to said software application provider;

a TRM public key and a TRM private key for said TRM; and

an arrangement; wherein:

a portion of said executable software application is encrypted by said software application provider using an associated transport key, each said portion having an associated location;

an application unit is created, said application unit comprising said portion of said executable software application;

said associated transport key and an indicator of said associated location are encrypted using said TRM public key;

a key transformation unit (KTU) is formed, said KTU comprising said associated transport key and said indicator;

said application unit and said KTU are transmitted to said TRM over said communications link;

said KTU is decrypted on said TRM using said TRM private key to recover said associated transport key and said indicator;

said portion of said executable software application is identified;

said portion of said executable software application is decrypted on said TRM using said associated transport key for each said portion to recover said executable software application; and

said executable software application is stored on said TRM for subsequent execution.

12. The apparatus of claim 11 , wherein said executable software application is encrypted using a symmetric technique.

13. The apparatus of claim 12 , wherein said symmetric technique is DES.

14. The apparatus of claim 11 , wherein said TRM public key and said TRM private key are provided using an asymmetric technique.

15. The apparatus of claim 14 , wherein said asymmetric technique is RSA.

16. The apparatus of claim 11 , wherein said KTU further indicates an encryption technique used to encrypt said portion of said executable software application.

17. The apparatus of claim 11 , wherein said arrangement further comprises enciphering a second portion of said executable software application exclusive of said portion of said executable software application that is encrypted.

18. The apparatus of claim 17 , wherein said second portion is encrypted using a second encryption technique, and said KTU indicates said second encryption technique.

19. The apparatus of claim 17 , wherein said second portion is encrypted using a second key, and said KTU indicates said second key.

20. The apparatus of claim 17 , wherein said KTU comprises a location indicator for said second portion of said executable software application.

21. The apparatus of claim 11 , wherein said KTU indicates an associated location of each portion of said executable application.

22. The apparatus of claim 11 , wherein said portion of said executable software application comprises a quantity of portions, and said KTU comprises an indicator identifying the quantity of portions.

23. A method for securely loading an executable software application over a communications network from an application provider onto a personal computer (PC) having at least one tamper resistant module (TRM), said method comprising the steps of:

providing a PC and TRM combination (PC/TRM) with a PC/TRM private key and a PC/TRM public key;

encrypting a portion of said executable software application using an associated transport key, said portion also having an associated location;

creating an application unit comprising said encrypted portion;

encrypting said associated transport key and an indicator of said associated location using said PC/TRM public key;

forming a key transformation unit (KTU) comprising said encrypted associated transport key and said indicator;

transmitting said application unit and said KTU to said PC/TRM;

decrypting said KTU using said PC/TRM private key to recover said associated transport key and said indicator;

identifying said portion of said executable software application;

decrypting said portion using said associated transport key; and

storing said portion of said executable software application in said PC/TRM for subsequent execution.

24. Apparatus comprising:

a personal computer (PC) having at least one tamper resistant module (TRM), each PC and TRM combination (PC/TRM) having a memory;

an executable software application provided by a software application provider to said PC/TRM;

a communications link coupled to said PC/TRM and to said software application provider;

a PC/TRM public key and a PC/TRM private key for said PC/TRM; and

an arrangement; wherein:

a portion of said executable software application is encrypted by said software application provider using an associated transport key, said portion having an associated location;

an application unit is created, said application unit comprising said encrypted portion of said executable software application;

said associated transport key and an indicator of said associated location are encrypted using said PC/TRM public key;

a key transformation unit (KTU) is formed, said KTU comprising said associated transport key and said indicator;

said application unit and said KTU are transmitted to said PC/TRM over said communications link;

said KTU is decrypted on said PC/TRM using said PC/TRM private key to recover said associated transport key and said indicator;

said portion of said executable software application is identified;

said portion of said executable software application is decrypted on said PC/TRM using said associated transport key for said portion to recover said executable software application; and

said executable software application is stored on said TRM for subsequent execution.

Assignments (4)
MERGER Recorded Sep 19, 2008
From: STEPNEXUS HOLDINGS
To: MULTOS LIMITED
Reel/Frame 021547/0494 →
CHANGE OF NAME Recorded Jan 10, 2008
From: BAMBOO HOLDINGS
To: STEPNEXUS HOLDINGS
Reel/Frame 020348/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2008
From: EVERETT, DAVID BARRINGTON; MILLER, STUART JAMES; PEACHAM, ANTHONY DAVID; SIMMONS, IAN STEPHEN; RICHARDS, TIMOTHY PHILIP; VINER, JOHN CHARLES
To: MONDEX INTERNATIONAL LIMITED
Reel/Frame 020345/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2008
From: MONDEX INTERNATIONAL LIMITED
To: BAMBOO HOLDINGS
Reel/Frame 020322/0944 →