在智能卡中,进行密钥生成、数字签名、身份认证等应用都通过随机数发生器获取随机数。现在的密码模块或会遭到各种安全攻击,研发技术人需要考虑到应付各种安全攻击的防护措施。安全攻击有以下五种:侵入式攻击、功耗分析攻击、时序分析攻击、错误注入攻击、电磁波泄漏攻击。
侵入式攻击利用物理方法对密码模块所在的智能卡芯片进行探测、观察。盗取密钥, 比如利用电子显微镜扫描存储器或芯片内部其他逻辑,进行分析读取; 通过测试探头读取存储器内容;通过光学成像来探测芯片内部结构等等。
功耗分析攻击即智能卡芯片多用CMOS门组成,在CMOS 门运行时存在数据功耗相关性,攻击者可通过监测智能卡加密部分的功耗等物理泄漏信号,对其进行分析可减小密钥穷举空间, 达到功耗分析攻击的目的。
时序分析攻击利用测量密码模块运行与加密算法相关的指定步骤在运算时所需的时间来进行分析。分析收集的时序信息可决定密码模块的输入与运行的加密算法或加密过程所使用的密钥之间的关系,获取密钥或安全参数。对加密算法或加密过程的操作进行处理来减少时序波动是降低该危害的办法之一。
错误引入攻击是指利用外部力量,比方微波,极限温度,电压控制来引起密码模块内部的处置错误,对这些错误及其形式的分析可用来对密码模块进行逆向工程, 以得出加密算法的某些特性和实例,真随机数发生器的外部情况在集成电路阶段便设定在一定的范围内,再通过诸如容差分析的办法对元器件的实际工作范围进行确认,以核实真随机数发生器实际的情况阈值能否符合计划要求。假如外部情况的变化超越了设定的阈值,将会引起电路性能与设计值发生偏差,乃至导致无法正常工作的状况,进而获取密钥。
电磁波泄漏攻击是指在密码模块加解密过程中对密码模块和设备发出的电磁波信号进行远程或外部探测及收集, 再对收集到的信息进行分析获取安全信息的一类攻击。该攻击所获取的电磁波信号并非攻击者人为引起的泄漏,而是一种无意的可用于获取比方键盘敲击信息,能够是屏幕信息,或其他方式的安全信息。针对整个密码模块组建的防护罩或改动网络布线,是一种减低该类安全威胁的有效机制。