这个HSM实际上与POS以及ATM中的安全模块非常类似。
正好我的工作就是这个方面有关的。
如果有兴趣,下面是我的几点建议:
1. 物理安全必须考虑,典型的设计就是防拆保护,这一点可以通过电路和结构上的设计,以及适当的嵌入式CPU选型达到目的。
目前支持物理防护的安全芯片还是不少的,比如 NXP的K81系列已经早点的K21系列,美信的MAX32550、32555等,国产的也有不少比如国民技术Z32,兆讯的MH1902等,这些芯片提供了物理防拆技术
2. 逻辑安全,也就是软件安全上的设计考虑,比如:密钥不能导出,提供涉及到访问密钥的算法,检测到防拆被触发时需要销毁密钥,另外还需要确保设备中的固件(也就是软件)不能被随意替换,典型的方式是必须进行签名验证和安全启动,这几个通常也需要CPU本身支持。
3. 数据安全,需要有妥善的方法能安全的备份数据,比如将密钥加密后导出,加密的密码是由多人控制的等等,这些也与管理有关。
4. 如果设备提供了IP访问,需要考虑协议安全,如果使用了openssl这样的开源库,需要考虑安全补丁的管理
最后,业内其实有这方面的规范以及组织,国内的是 商用密码产品认证,银行系统的是叫银联安全认证(UPTS),国际上对应的是叫PCI。
特别建议去了解下PCI的标准,里面设计到了支付终端,运营机构,HSM等需要做到的安全要求,非常详细。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/document_library