Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
First Claim
1. A control system for a microprocessor, intended for use within an IC card that supporting multiple applications, each said application is associated with a particular custom command, said control system comprising:
- bi-modal CPU operation means, changing operation modes between system mode and application mode;
the operation modes of said bi-modal CPU operation means being determined by an operation flag, wherein the changing of the operation flag is dependent upon an interrupt instruction function;
issued by an operating system, an interrupt instruction function effecting a mode change from system mode to application mode places a return address for system mode and an original operation flag for system mode in stack, and clears all registers and working memory unnecessary for the next step in the application mode;
wherein a mode change interrupt instruction function from application mode to system mode restores the operation flag placed in stack for system mode, returns to system with the stacked system address, and clears all working memory and all registers except that holding parameters to be used in said system mode;
application initialization means for initializing in system mode, said initializing including verification of a utilized custom command and setting of memory boundaries in a comparison register as corresponding to a particular application program given authorized access;
verification means for verifying authorized access to both system and application memories requested by the application program given authorized access using said interrupt function, whereby said comparison register corresponding to the particular application program set with the application initialization means is utilized to verify authorized access to the memory requested prior to return to the application program with the requested memory;
wherein any invalid access attempt results in abnormal termination of operation, which effects a hardware interrupt that causes all working memory and all registers which are not required for forwarding of an error signal to be cleared;
wherein said verification means ensure that only memory verified as having authorized access is accessible from a particular application held in said IC card, said application initialization means having ensured said particular application as corresponding to a valid custom command, which together with said bi-modal CPU operation means dependent upon an operation flag changed by said mode change interrupt function associated with clearing of all working memory and all registers unnecessary in the next mode, ensure that comparison registers can not be accessed by any application, thereby securing each of the multiple applications upon an IC card.
0 Assignments
0 Petitions
Accused Products
Abstract
Multiple applications upon an IC microprocessor are protected with bi-modal CPU operation, either in application mode or system mode, using an operation flag determining the mode and a functional interrupt with each mode change. Direct subroutine calling is replaced by a software interrupt which clears all working memory and registers except those holding parameters including the return address placed in stack. Access authorization utilizing a comparison register containing application and system memory boundaries according to the particular custom command utilized is associated with a mode change interrupt in application initialization. System subroutine running involves two mode change interrupts, from application to system and back, and includes access authorization. Request of an address beyond the territory assigned to the custom command utilized results in a hardware interrupt which clears all working memory and registers in the system mode and except that necessary to forward a status word indicating abnormal termination. Application completion forwards the result with a status word indicating successful completion. Hard-wired bi-modal CPU operation utilizing a mode change interrupt which saves parameters in stack but clears all other registers and working memory and utilizes a comparison register to authorize the system address prior to return to application mode with the return address held in stack ensures that operation in the application authorized by the custom command utilized will result either in successful completion or abnormal termination without possible access of any other application contained upon the IC card.
109 Citations
20 Claims
-
1. A control system for a microprocessor, intended for use within an IC card that supporting multiple applications, each said application is associated with a particular custom command, said control system comprising:
-
bi-modal CPU operation means, changing operation modes between system mode and application mode;
the operation modes of said bi-modal CPU operation means being determined by an operation flag, wherein the changing of the operation flag is dependent upon an interrupt instruction function;
issued by an operating system, an interrupt instruction function effecting a mode change from system mode to application mode places a return address for system mode and an original operation flag for system mode in stack, and clears all registers and working memory unnecessary for the next step in the application mode;
wherein a mode change interrupt instruction function from application mode to system mode restores the operation flag placed in stack for system mode, returns to system with the stacked system address, and clears all working memory and all registers except that holding parameters to be used in said system mode;application initialization means for initializing in system mode, said initializing including verification of a utilized custom command and setting of memory boundaries in a comparison register as corresponding to a particular application program given authorized access; verification means for verifying authorized access to both system and application memories requested by the application program given authorized access using said interrupt function, whereby said comparison register corresponding to the particular application program set with the application initialization means is utilized to verify authorized access to the memory requested prior to return to the application program with the requested memory;
wherein any invalid access attempt results in abnormal termination of operation, which effects a hardware interrupt that causes all working memory and all registers which are not required for forwarding of an error signal to be cleared;wherein said verification means ensure that only memory verified as having authorized access is accessible from a particular application held in said IC card, said application initialization means having ensured said particular application as corresponding to a valid custom command, which together with said bi-modal CPU operation means dependent upon an operation flag changed by said mode change interrupt function associated with clearing of all working memory and all registers unnecessary in the next mode, ensure that comparison registers can not be accessed by any application, thereby securing each of the multiple applications upon an IC card. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification