Claims
- 1. A method of loading an application copy onto an integrated circuit card, wherein said application cop'y comprises application code and application data and a portion of said application data comprises units of value that may be exchanged for goods or services, andwherein said application copy is one of a plurality of copies of an application, said application copy having an associated application identifier that uniquely identifies said application from other applications and an application copy number that is unique for each copy of said application, said integrated circuit card comprising a microprocessor and memory coupled to said microprocessor, said memory comprising an application history list area for storing application identifiers and application copy numbers of applications that have been previously loaded onto said integrated circuit card, said method comprising: receiving by said integrated circuit card said application copy, said application identifier, and said application copy number; determining by said integrated circuit card whether said application identifier and said application copy number are contained in said application history list area; and failing to load said application copy by said integrated circuit card if said application identifier and said application copy number are contained in said application history list area; transmitting said application copy, said application identifier, and said application copy number to said integrated circuit card by an application provider; encrypting by said application provider at least a portion of said application copy before transmitting said application copy to said integrated circuit card; transmitting by said application provider a key transformation unit comprising information relating to the encryption of said portion of said application copy; wherein said integrated circuit card has a first public key pair, and further comprising the steps of: encrypting said key transformation unit by said application provider with the public key of said first public key pair before transmitting said key transformation unit to said integrated circuit card; decrypting by said integrated circuit card said encrypted key transformation unit with the secret key of said first public key pair; and decrypting said application copy using the information contained in said decrypted key transformation unit; wherein said application provider has a second public key pair, and further comprising the steps of: forming a signed application copy by said application provider by encrypting said application copy with the secret key of said second public key pair; and transmitting by said application provider said signed application copy to said integrated circuit card; registering the public key of said second public key pair with a certification authority, which has a third public key pair; providing a certificate by said certification authority to said application provider by encrypting the public key of said second public key pair with the secret key of said third public key pair; and transmitting said certificate by said application provider to said integrated circuit card; obtaining the public key of said second key pair by said integrated circuit card by decrypting said certificate using the public key of said third public key pair; verifying by said integrated circuit card said signed application copy using the public key of said second public key pair; and failing to load said application copy by said integrated circuit card if said signed application copy is not verified.
- 2. The method of claim 1, further comprising the steps of:allocating a predetermined portion of said memory for said application history list area; determining by said integrated circuit card whether said application history list area is full; and failing to load said application copy if said application history list is full.
- 3. The method of claim 1, further comprising the step of:adding said application identifier and said application copy number to said application history list area if said application identifier and said application copy number are not contained in said application history list area.
- 4. The method of claim 1, further including the step of:adding said application identifier and said application copy number to said application history list area if said application identifier and said application copy number are not contained in said application history list area and said application copy number is not zero.
- 5. The method of claim 1, wherein said application copy comprises application code and application data and wherein said application identifier and said application copy number are contained in said application data.
CROSS-REFERENCE TO PRIORITY APPLICATIONS
This application claims the priority of United States Provisional Application No. 60/046,514, filed on May 15, 1997, entitled “Design for a Multi Application Smart Card,” and United States Provisional Application No. 60/046,543, filed on May 15, 1997, entitled “Virtual Machine for a Multi Application Smart Card,” which are incorporated by reference herein in their entireties.
US Referenced Citations (150)
Foreign Referenced Citations (46)
Number |
Date |
Country |
0152024 |
Aug 1985 |
EP |
0157303 |
Oct 1985 |
EP |
0190733 |
Aug 1986 |
EP |
0218176 |
Apr 1987 |
EP |
0261030 |
Mar 1988 |
EP |
0275510 |
Jul 1988 |
EP |
0292248 |
Nov 1988 |
EP |
0325506 |
Jan 1989 |
EP |
0328289 |
Aug 1989 |
EP |
0354793 |
Feb 1990 |
EP |
0451936 |
Oct 1991 |
EP |
WO9116691 |
Oct 1991 |
EP |
0466969 |
Jan 1992 |
EP |
0475837 |
Mar 1992 |
EP |
0547741 |
Sep 1992 |
EP |
0537756 |
Apr 1993 |
EP |
0540095 |
May 1993 |
EP |
0559205 |
Aug 1993 |
EP |
0588339 |
Mar 1994 |
EP |
0594493 |
Apr 1994 |
EP |
0636998 |
Feb 1995 |
EP |
0647902 |
Apr 1995 |
EP |
0666550 |
Aug 1995 |
EP |
0707290 |
Sep 1995 |
EP |
0686947 |
Dec 1995 |
EP |
0751460 |
Jan 1997 |
EP |
2536928 |
Jun 1984 |
FR |
2667171 |
Dec 1992 |
FR |
2687816 |
Aug 1993 |
FR |
2284689 |
Jun 1995 |
GB |
64-81084 |
Mar 1989 |
JP |
2592856 |
Dec 1996 |
JP |
WO8707062 |
Nov 1987 |
WO |
WO8809019 |
Nov 1988 |
WO |
WO9005960 |
May 1990 |
WO |
WO9213322 |
Aug 1992 |
WO |
WO9320538 |
Oct 1993 |
WO |
WO9321612 |
Oct 1993 |
WO |
WO9522810 |
Aug 1995 |
WO |
WO9619771 |
Jun 1996 |
WO |
WO9628795 |
Sep 1996 |
WO |
WO9638825 |
Dec 1996 |
WO |
WO9843212 |
Oct 1998 |
WO |
WO9101538 |
Feb 1999 |
WO |
WO9910824 |
Mar 1999 |
WO |
WO9916031 |
Apr 1999 |
WO |
Non-Patent Literature Citations (1)
Entry |
Davies et al., “Security for Computer Networks: An Introduction to Data Security in Teleprocessing and Electronic Funds Transfer,” John Wiley & Sons 1984. |
Provisional Applications (2)
|
Number |
Date |
Country |
|
60/046514 |
May 1997 |
US |
|
60/046543 |
May 1997 |
US |