密码设备指的是以硬件形式存在的密码模块。
该模式下,私钥保存在密码设备中,具体包括以下几个方面。
1.密码设备分类
①基于IC卡技术的密码设备。主要包括IC卡、USB Key。IC卡通过串口与主机连接,用ISO7816协议通信;USB Key通过USB与主机连接,通过USB协议通信。
②密码卡。通过主机主板上的扩展槽与主机连接,采用PC1、PCI-E等协议通信。
③密码机。通过网络接口与主机连接,用TCP/P协议通信。
2.私钥存储方式
私钥在不同密码设备内部可能有以下形式。如IC卡或USB Key中,私钥以EF形式存在。在加密机或加密卡中,私钥可能存储在EPROM芯片或专用密码芯片中。
3.私钥存储安全性
密码设备有很好的安全性,能有效安全存储私钥,具体措施包括:
①不让私钥以明文形式导出密码设备。
②密码设备能有效防止非法强制入侵或破坏。如密码机硬件被非法强制打开时,将自动销毁全部密钥。
③不允许远程配置管理密码设备,只允许通过密码机自带的管理屏幕操作。
④配置管理时用高强度的身份认证手段,如口令、指纹、密钥卡。有些配置管理还需要多人一起操作。
4.私钥访问方式
因私钥保存在密码设备中,为保证安全性,应用系统不让直接从密码设备中取出私钥后再解密或签名,而是向密码设备发送解密或签名请求,委托密码设备间接调用私钥实现解密或签名。
应用系统可通过以下几种方式访问私钥:
①报文方式。应用系统直接把待解密或签名的数据组成请求包,发给密码设备,密码设备完成解密或签名后,将响应包返回给应用系统。报文协议可用APDU、XML、TLV等;APDU适用于IC类密码设备,XML、TLV等适用于密码机或密码卡。通信协议可用TPDU(T=0或T=1)、USB、串口、PCI或PCIE、TCP/P、HTTP、FTP等。TPDU、USB、串口等适用于IC类密码设备,PCI或PCIE等适用于密码卡,TCP/IP、HTTP、FTP等适用于密码机。
②API方式。应用系统直接把待解密或签名的数据提交给本地API接口模块,由API接口模块作为代理,将待解密或签名的数据组成请求包,采用报文方式发送给密码设备,密码设备完成解密或签名操作后,把响应包返回给API接口模块,由API接口模块解析响应包后,将结果数据返回给应用系统。常用的API规范有PKCS#11、CrptoAPI、CAPICom、JCE、PCSC、国密接口等
5.私钥访问安全性
密码设备有很好的安全性,能有效保护私钥访问的安全性,具体措施包括:
①应用系统不直接访问私钥,而是通过密码设备间接访问。
②应用系统访问密码设备得进行身份认证。常用的认证方式有IP地址、口令、数字证书方式等。
③应用系统与密码设备间通信时,可对传输数据加密保护。