智能密码钥匙的应用体系由设备层、驱动层和应用层组成。
设备层包括智能密码钥匙硬件及内置的片载操作系统。该层通过硬件接口与上层进行数据通信,完成智能密码钥匙的相关功能。
驱动层包括系统驱动和设备访问接口。该层在操作系统的支撑下实现上层软件与设备层之间的数据通信。
应用层实现智能密码钥匙应用,包括应用接口与应用软件。应用接口对智能密码钥匙及其内部对象进行逻辑抽象形成逻辑对象,提供应用软件访问和使用逻辑对象的编程接口。此外还包括控件/插件子层,用于特定应用软件(如浏览器)与应用与接口之间的对接。
智能密码钥匙可分为硬件、片内操作系统(COS)、软件(中间件)三部分。COS存储和运行于硬件,软件安装和运行于主机,为方便描述,把内置COS的智能密码钥匙硬件叫做智能密码钥匙设备。
智能密码钥匙的硬件构成以安全芯片为核心。具体功能模块包括:
微处理器(MPU):是安全芯片乃至智能密码钥匙的运算核心,负责(在协处理器的帮助下)完成所有运算和数据交换功能。
密码协处理器(CAU):是安全芯片内部针对特定运算优化、用于实现和加速密码运算的协处理器。
随机数发生器(RNG):负责生成随机数。
存储器:用于存储数据,包括易失性存储器和非易失性存储器。随机访问存储器(RAM)是典型的易失存储器,而常见的非易失性存储器包括只读存储器(ROM)、快闪存储器以及电可擦除编程只读存储器(EEPROM)。易失性存储器类似于PC上的内存,用作运算时的临时存储空间,掉电后数据自动丢失。非易失性存储器类似于PC上的硬盘,用于存储程序和密钥等静态数据。安全芯片通常内置一定容量的存储器(空间从几KB到几十KB),也有部分存储器位于安全芯片范围之外的情况。
I/O接口:是安全芯片与外界联系的通道,提供安全芯片与其他设备之间传送数据必需的状态与控制信息。
外部通信接口:是控制智能密码钥匙与主机间的数据传输的硬件部件。当前的安全芯片普遍内置USB控制器作为外部通信接口,对于非USB接口的智能密码钥匙,需要搭配相应的外部通信接口。
安全访问逻辑(SAL):是预置于智能密码钥匙安全芯片内部的固件,用于提供硬件防护机制,包括各存储的访问控制、外部异常光电信号的检测等。这些机制对于片内操作系统是透明的。
除此之外,智能密码钥匙还包括电源管理芯片、时钟信号发生器、内置电源、显示屏、按键、指示灯等配套元器件。