技术领域 本实用新型涉及一种多用途安全智能卡,属于信息安全技术领 域,特别适合于一卡多用、允许多个用户下载命令的场合。 背景技术 智能卡正朝着安全、高速、方便的方向迅速发展。随着一卡多用 需求的不断增加,现有的智能卡及其芯片操作系统就暴露出一些安全 缺陷。它们或者不提供用户下载功能,即给所有用户提供固定不变的 操作系统,或者允许用户下载,但无法对用户及其程序进行保护,特 定用户下载的程序可以对其他用户的程序和数据进行访问。现有的大 多数智能卡硬件设计不能安全地实现多个用户区的隔离保护,即限制 特定用户命令的访问范围。专利号为US006003134A的美国专利中提 出使用硬件隔离的方法实现多个应用程序的隔离,但是仍然存在安全 隐患。首先,上述专利对堆栈的使用未作详细说明,若系统和用户在 任何情况下都使用相同的堆栈,则会造成系统崩溃。其次,从系统模 式到应用模式的模式切换中断指令与从应用模式到系统模式的模式 切换中断指令使用的是相同的指令码,仅使用的参数不同,这样指令 分析会变得较复杂,从而使得效率较低。由于用户可以使用从应用模 式到系统模式的模式切换中断指令,若上述两条指令的指令码相同, 则会在某种程度上降低安全性。 发明内容 本实用新型的目的在于克服现有技术缺点,特别是针对 US006003134A美国专利进行改进,提供一种多用途安全智能卡,允 许多个用户在智能卡中下载其特殊命令,并安全地实现多个应用的 隔离。每一应用只能访问其自身的数据或用户命令,不能访问其他 应用的数据或命令;因此,本实用新型还具有指令分析简捷,效率 高,信息安全可靠的技术目的。 本实用新型的技术方案是:多用途安全智能卡,它包括中央处 理器、随机存储器、非易失性存储器和比较寄存器、以及中断控制逻 辑单元;所述的中央处理器是一个控制系统,采用双模式并且是可以 阻止应用程序访问比较寄存器的中央处理器,所述的双模式为系统模 式和应用模式;其特征在于,所述的随机存储器包括有工作单元,还 至少有两类独立的堆栈,其中一类是模式切换中断指令、模式切换中 断返回指令所使用的安全栈,另一类是普通栈;中央处理器中还至少 有模式切换中断指令、模式切换中断返回指令、以及加载比较寄存器 指令。 本实用新型的技术效果是:用于支持多用途IC卡中的单片机控 制系统。在IC卡中可以同时有多个应用,每一应用可以下载其用户 命令。指令分为普通指令和安全指令。用户命令只能使用普通指令, 系统程序可使用普通指令和安全指令。用户必须通过操作系统执行从 系统模式到应用模式的模式切换中断指令来执行用户命令,系统为特 定用户设置相应的比较寄存器的值,若应用程序试图访问比较寄存器 或比较寄存器范围以外的地址空间,则程序被异常终止,并引起硬件 中断。从用户命令返回时必须使用模式切换中断返回指令。用户命令 调用系统例程时必须通过应用模式到系统模式的模式切换中断来完 成,从系统例程返回到用户命令时必须使用模式中断切换返回指令。 系统分为用户模式和系统模式,由模式标志决定是用户模式还是系统 模式。因此本实用新型具有数据指令分析简捷、快速、信息安全可靠 的优点。 附图说明 图1是本实用新型多用途安全智能卡机构逻辑框图。 图2是本实用新型多用途安全智能卡外形结构图。 图1中“系统程序”包括芯片操作系统;“用户程序”包括用户下 载的用户命令;“用户数据”为普通数据和特殊数据,其中特殊数据 包括用户的密钥数据和权限数据。 图1图2中:C1:电源电压(VCC), C2:复位信号(RST), C3:时钟信(CLK), C4:RFU(保留将来使用), C5:接地(GND), C6:编程电压(VPP) C7:输入/输出(I/O) C8:RFU(保留将来使用) 其中GND和I/O是必需的,VPP则是可选的。 具体实施方式 如图1图2所示是本实用新型的一种实施例: 本实用新型多用途安全智能卡,它包括中央处理器、随机存储器、 非易失性存储器和比较寄存器、以及中断控制逻辑单元;所述的中央 处理器是一个控制系统,采用双模式并且是可以阻止应用程序访问比 较寄存器的中央处理器,所述的双模式为系统模式和应用模式;其特 征在于,所述的随机存储器包括有工作单元,还有两类独立的堆栈, 其中一类是模式切换中断指令、模式切换中断返回指令所使用的安全 栈,另一类是普通栈;中央处理器中还有模式切换中断指令、模式切 换中断返回指令、以及加载比较寄存器指令。 所述的模式切换中断指令是从系统模式到应用模式的模式切换 中断指令与从应用模式到系统模式的模式切换中断指令。从系统模式 到应用模式的模式切换中断指令和从应用模式到系统模式的模式切 换中断指令是不同的指令,所使用的指令码是不相同的指令码。比较 寄存器是工作内存比较寄存器、程序地址比较寄存器和数据地址比较 寄存器;比较寄存器的值是由中央处理器来设置的,若应用程序试图 访问比较寄存器范围以外的地址空间,则程序被异常终止,并引起硬 件中断。比较寄存器只能在系统模式下进行加载,用户模式下不允许 访问比较寄存器,若应用程序试图访问比较寄存器,则程序被异常终 止,并引起硬件中断。所述的模式切换中断返回指令是为安全地实现 从系统模式返回到应用模式或从应用模式返回到系统模式,以及从模 式切换中断返回时必须使用的模式切换中断返回指令。中央处理器是 使用不同的指令对安全栈和普通栈进行访问的中央处理器;从系统模 式到用户模式的模式切换中断指令、从应用模式到系统模式的模式切 换中断指令、从模式切换指令返回的返回指令使用安全栈。所述的比 较寄存器保护随机存储器和非易失性存储器。非易失性存储器是 MROM(Mask ROM)和flash EEPROM(flash Electronic Erasable Programmable ROM),还可以是EEPROM,用于存放芯片操作系统、用 户命令、用户数据。 结合附图对本实用新型的原理、实施例及使用方法作进一步说明 如下: 1、应用初始化时首先应在系统模式下识别该用户命令,然后通 过从系统模式到应用模式的模式切换中断指令从系统模式切换到用 户模式,将应用程序的地址和必要的参数存于寄存器中,清除所有其 它未使用的寄存器和工作内存,将操作标志和返回地址压入安全栈, 改变状态标志,执行应用程序;通过软件中断实现用户对系统例程的 调用。 2、从系统模式到应用模式的模式切换中断指令与从应用模式到 系统模式的模式切换中断指令使用的指令码是不相同的。 3、应用程序不能访问比较寄存器,在应用模式下试图访问比较 寄存器,则CPU将产生硬件中断;比较寄存器包括允许访问的地址上 界寄存器和下界寄存器;比较寄存器可以是一张索引表,它指明允许 访问的存储区域,对这些存储区域以外的访问将引起硬件中断,使操 作异常终止。 4、在应用模式下申请调用系统例程时,应使用从应用模式到系 统模式的模式切换中断指令将操作标志和应用程序返回地址压入安 全栈并改变操作标志;在应用模式下申请调用系统例程时,从应用模 式到系统模式的模式切换中断指令执行后,执行系统例程并将执行结 果存于寄存器和工作内存中。 5、在应用模式调用系统例程结束,从系统例程返回时,将清除 除返回结果外的所有不必要的寄存器和工作内存,并从安全栈中取出 操作标志和返回地址以返回到应用程序。 6、应用程序试图访问比较寄存器时,将产生硬件中断,执行硬 件中断服务程序,该中断服务程序负责将出错信息存于状态字中并传 送给外部接口设备,同时复位CPU,从而清除所有的寄存器和工作内 存。 7、应用程序成功执行完后,应将结果存于寄存器和工作内存中, 清除所有其它不必要的寄存器和工作内存,返回到系统模式,将存于 寄存器中的结果传送给外部接口设备。