Loading internal applications on a smartcard
First Claim
1. ) A portable smartcard device for executing program code upon receipt of a command from a host system, the smartcard device comprising:
- a) at least one interface for presenting smartcard functionality to the host system and for receiving the command from the host system;
b) a non-volatile memory for storing the program code before program execution;
c) an executable memory for storing at least a portion of the program code during program execution; and
d) an internal copying mechanism for copying said at least a portion of the program code to said executable memory.
4 Assignments
0 Petitions
Accused Products
Abstract
Portable smartcard devices, methods of executing program code using smartcard devices, and computer readable storage media including instructions for smartcard devices are provided. According to some embodiments, the presently disclosed smartcard device includes an interface for presenting smartcard functionality to a host system and for receiving a program execution command from the host system, non-volatile memory, executable memory, a copying mechanism such as an internal copying mechanism for copying program code from the non-volatile memory to the executable memory, and a program execution mechanism for executing the program code. Appropriate interfaces include but are not limited to ISO 7816 compatible interfaces, USB interfaces, and MMC interfaces. In some embodiments, the smartcard functionality includes SIM functionality and/or USIM functionality. Optionally, execution of the program code commences when only a portion of the copied executable code resides in the executable memory. A method of delivering pre-loaded protected executable code to smartcard users is disclosed.
25 Citations
32 Claims
-
1. ) A portable smartcard device for executing program code upon receipt of a command from a host system, the smartcard device comprising:
-
a) at least one interface for presenting smartcard functionality to the host system and for receiving the command from the host system;
b) a non-volatile memory for storing the program code before program execution;
c) an executable memory for storing at least a portion of the program code during program execution; and
d) an internal copying mechanism for copying said at least a portion of the program code to said executable memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. ) A portable smartcard device for executing program code upon receipt of a command from a host system, the smartcard device comprising:
-
a) at least one interface for presenting smartcard functionality to the host system and for receiving the command from the host system;
b) a non-volatile memory for storing the program code before program execution;
c) an executable memory for storing at least a portion of the program code during program execution;
d) a copying mechanism for effecting a copying of said at least a portion of the program code to said executable memory; and
e) a program execution mechanism for commencing execution of said copied portion of the program code when only a first subportion of said copied portion resides in said executable memory. - View Dependent Claims (12, 13, 14)
-
-
15. ) A method of executing program code the method comprising:
-
a) including within a smartcard device an internal copying mechanism;
b) using said internal copying mechanism, copying at least a portion of the program code from non-volatile memory of said smartcard device to executable memory of said smartcard device; and
c) upon receipt of an execution command through an interface of said smartcard device, executing said copied portion of the program code. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. ) A method of delivering pre-loaded protected executable code, the method comprising the steps of:
-
a) providing to at least one smartcard user a respective smartcard device having the pre-loaded protected executable code stored in non-volatile memory and a copying mechanism for copying the pre-loaded protected executable code;
b) after said providing, receiving from each said smartcard user valid user authentication credentials and an execution command through an interface of said respective smartcard device;
c) using said copying mechanism of said respective smartcard device, copying at least a portion of the pre-loaded protected executable code from said non-volatile memory of said respective smartcard device to executable memory of said respective smartcard device; and
d) using said respective smartcard device, executing said portion of the program code. - View Dependent Claims (25, 26)
-
-
27. ) A method of executing program code comprising:
-
a) including within a smartcard device a copying mechanism;
b) using said copying mechanism copying at least a portion of the program code from non-volatile memory of said smartcard device to executable memory of said smartcard device; and
c) upon receipt of an execution command through an interface of said smartcard device, commencing execution of said portion of the program code when only a first subportion of said portion resides in said executable memory. - View Dependent Claims (28, 29, 30)
-
-
31. ) A computer readable storage medium having computer readable code embodied in said computer readable storage medium, said computer readable code for
a) receiving a command to execute program code stored in a non-volatile memory of a smartcard device; -
b) internally copying at least a portion of said executable program code from said non-volatile memory of said smartcard device to executable memory of said smartcard device; and
c) executing by said smartcard device said portion of said program code.
-
-
32. ) A computer readable storage medium having computer readable code embodied in said computer readable storage medium, said computer readable code for
a) receiving a command to execute program code stored in a non-volatile memory of a smartcard device; -
b) copying at least a portion of said executable program code from said non-volatile memory of said smartcard device to executable memory of said smartcard device; and
c) commencing executing by said smartcard device of said portion of said program code when only a subportion of said portion resides in said executable memory.
-
Specification