Key transformation unit for a tamper resistant module
First Claim
1. A method for securely transporting a software application onto a tamper resistant module (TRM) by using an individualized key set for said TRM, said method comprising the steps of:
- storing a key pair unique to said TRM in a memory located on said TRM, said key pair comprising a TRM public key and a TRM private key;
retrieving said TRM public key from said TRM;
encrypting at least a portion of said software application using said TRM public key;
transmitting said portion of said software application to said TRM; and
decrypting said portion of said software application using said TRM private key to recover said portion of said software application.
4 Assignments
0 Petitions
Accused Products
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).
112 Citations
83 Claims
-
1. A method for securely transporting a software application onto a tamper resistant module (TRM) by using an individualized key set for said TRM, said method comprising the steps of:
-
storing a key pair unique to said TRM in a memory located on said TRM, said key pair comprising a TRM public key and a TRM private key;
retrieving said TRM public key from said TRM;
encrypting at least a portion of said software application using said TRM public key;
transmitting said portion of said software application to said TRM; and
decrypting said portion of said software application using said TRM private key to recover said portion of said software application. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method performed by a tamper resistant module (TRM) for processing an incoming transmission of a software application to said TRM by using an individualized key set for the TRM, the method comprising the steps of:
-
receiving said incoming transmission, said incoming transmission comprising at least a portion of the software application encrypted with a TRM public key stored on said TRM, said TRM public key being part of said individualized key set;
retrieving a unique TRM private key for said TRM, said TRM private key being part of said individualized key set; and
decrypting said portion of said software application with said TRM private key to recover said portion of said software application. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. Apparatus located on a tamper resistant module (TRM) for processing an incoming transmission by using an individualized key set for said TRM, the apparatus comprising:
-
means for receiving said incoming transmission, said incoming transmission comprising at least a portion of a secure software application encrypted with a TRM public key, said TRM public key being also stored on said TRM, and said TRM public key forming part of said individualized key set;
means for retrieving a unique TRM private key for said TRM, said TRM private key being part of said individualized key set; and
means for decrypting said portion of said software application with said TRM private key to recover said portion of the software application. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method for securely transporting data onto a tamper resistant module (TRM) by using an individualized key set for the TRM, the method comprising the steps of:
-
providing a certification authority (CA) with a CA private key and a CA public key;
storing a TRM private key and a TRM public key which form said individualized key set for said TRM, in a memory located on said TRM;
encrypting said TRM public key with said first CA private key to form a public key certificate;
storing said public key certificate on said TRM;
retrieving said stored public key certificate from said TRM;
verifying said public key certificate with said CA public key to ensure that said public key certificate is valid;
encrypting at least a portion of said data using said TRM public key;
transporting said portion of said data to said TRM; and
decrypting said portion of said data using said TRM private key to retrieve said data. - View Dependent Claims (20)
-
-
21. A method for securely transporting a software application onto a personal computer (PC) having at least one multiple application tamper resistant module (TRM), by using a key set individualized for each PC and TRM combination (PC/TRM), said method comprising the steps of:
-
storing a key pair unique to each said PC/TRM in a memory located on said PC/TRM, said key pair comprising a PC/TRM public key and a PC/TRM private key;
retrieving said PC/TRM public key from said PC/TRM;
encrypting a portion of said software application using said PC/TRM public key;
transmitting said portion of said software application to said PC/TRM; and
decrypting said portion of said software application using said PC/TRM private key to recover said portion of said software application.
-
-
22. A method, performed by a personal computer (PC) having at least one multiple application tamper resistant module (TRM), each combination of PC and TRM being referred to as a PC/TRM, for processing an incoming transmission of a software application to a PC/TRM by using an individualized key set for the PC/TRM, the method comprising the steps of:
-
receiving said incoming transmission, said incoming transmission comprising at least a portion of the software application encrypted with a PC/TRM public key stored on said PC/TRM, said PC/TRM public key being part of said individualized key set;
retrieving a unique PC/TRM private key for said PC/TRM, said PC/TRM private key being part of said individualized key set; and
decrypting said portion of said software application with said PC/TRM private key to recover said portion of said software application.
-
-
23. Apparatus located on a personal computer (PC) having at least one multiple application tamper resistant module (TRM), each combination of PC and TRM being referred to as a PC/TRM, for processing an incoming transmission by using an individualized key set for a PC/TRM, the apparatus comprising:
-
means for receiving said incoming transmission, said incoming transmission comprising at least a portion of a secure software application encrypted with a PC/TRM public key, said PC/TRM public key being also stored on said PC/TRM, and said PC/TRM public key forming part of said individualized key set;
means for retrieving a unique PC/TRM private key for said PC/TRM, said PC/TRM private key being part of said individualized key set; and
means for decrypting said portion of said software application with said PC/TRM private key to recover said portion of said software application.
-
-
24. A method for securely transporting data onto a personal computer (PC) having at least one multiple application tamper resistant module (TRM), each combination of PC and TRM being referred to as a PC/TRM, by using an individualized key set for each PC/TRM, the method comprising the steps of:
-
providing a certification authority (CA) with a CA private key and a CA public key;
storing a PC/TRM private key and a PC/TRM public key, which form said individualized key set for said PC/TRM, in a memory located on said PC/TRM;
encrypting said PC/TRM public key with said first CA private key to form a public key certificate;
storing said public key certificate on said PC/TRM;
retrieving said stored public key certificate from said PC/TRM;
verifying said public key certificate with said CA public key to ensure that said public key certificate is valid;
encrypting at least a portion of said data using said PC/TRM public key;
transporting said portion of said data to said PC/TRM; and
decrypting said portion of said data using said PC/TRM private key to retrieve said data.
-
-
25. 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. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. 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. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A method for processing a data transmission, said method comprising the steps of:
-
receiving said data transmission, said data transmission comprising an executable software application encrypted with a first key, and a key transformation unit (KTU) encrypted with a second key, wherein said executable software application comprises at least one encrypted portion having an associated location, and said KTU comprises said first key and a location indicator for said associated location;
decrypting said KTU onto a tamper resistant module (TRM) to recover said first key and said location indicator;
identifying said encrypted portion associated with said associated location;
decrypting said encrypted portion of said executable software application onto said TRM using said first key for each encrypted portion; and
storing said decrypted executable software application in memory of said TRM for subsequent execution. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
-
69. Apparatus for processing a data transmission, said apparatus comprising:
-
means for receiving said data transmission, said data transmission comprising an executable software application encrypted with a first key, and a key transformation unit (KTU) encrypted with a second key, wherein said executable software application comprises an encrypted portion having an associated location, and said KTU comprises said first key and a location indicator for said associated location;
means for decrypting said KTU onto a tamper resistant module (TRM) to recover said first key and said location indicator;
means for identifying said encrypted portion;
means for decrypting said encrypted portion onto said TRM using said first key for said encrypted portion; and
means for storing said decrypted executable software application in memory of said TRM for subsequent execution. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76, 77, 78, 79)
-
-
80. 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.
-
-
81. 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.
-
-
82. A method for processing a data transmission, said method comprising the steps of:
-
receiving said data transmission, said data transmission comprising an executable software application encrypted with a first key, and a key transformation unit (KTU) encrypted with a second key, wherein said executable software application comprises an encrypted portion having an associated location, and said KTU comprises said first key and a location indicator for said associated location;
decrypting said KTU onto a personal computer (PC) having at least one tamper resistant module (TRM) to recover said first key and said location indicator;
identifying said encrypted portion;
decrypting said encrypted portion of said executable software application onto a combination of PC and TRM (PC/TRM) using said first key for said encrypted portion; and
storing said decrypted executable software application in memory of said PC/TRM for subsequent execution.
-
-
83. Apparatus for processing a data transmission, said apparatus comprising:
-
means for receiving said data transmission, said data transmission comprising an executable software application encrypted with a first key, and a key transformation unit (KTU) encrypted with a second key, wherein said executable software application comprises an encrypted portion having an associated location, and said KTU comprises said first key and a location indicator for said associated location;
means for decrypting said KTU onto a personal computer (PC) having at least one tamper resistant module (TRM), a PC and TRM combination (PC/TRM) being operable to recover said first key and said location indicator;
means for identifying said encrypted portion;
means for decrypting said encrypted portion onto said PC/TRM using said first key for said encrypted portion; and
means for storing said decrypted portion in memory of said PC/TRM for subsequent execution.
-
Specification