问:
如何选择真正有效的加密芯片
答:
选择有效的加密芯片需要考虑以下几个方面:
1. 加密算法和密钥长度。目前主流的加密算法有AES,RSA,ECC等。AES对称加密算法密钥至少128bit,RSA非对称加密算法密钥至少2048bit,ECC非对称加密算法密钥至少256bit。密钥长度越长越安全。
2. 硬件随机数生成器。高质量的随机数是加密的基石,要选择带有确定性随机数生成器(DRNG)或真随机数生成器(TRNG)的芯片。
3. 密码模块与其它模块的物理隔离。密码模块需要与CPU,RAM,I/O等模块物理隔离,防止侧信道攻击获取密钥。
4. 防物理攻击。选择有防探测线(probing attack)、防长时间功耗分析(power analysis attack)和防冷启动攻击(cold boot attack)能力的芯片。
5. 证书和标准。选择通过FIPS 140-2级别3或更高认证,或Common Criteria EAL5+或更高认证的加密芯片。这些标准验证加密模块抵抗物理攻击的能力。
6. 随机数质量测试。高质量的随机数生成器需要通过NIST SP800-22或Dieharder随机数测试套件测试。
7. 安全密钥存储。密钥需要保存在芯片内部的安全存储器中,阻止外部获取。
8. 加密算法的安全性。主流加密算法如AES,RSA目前还没有实用的破解方法,ECC由于更短的密钥也同样安全。但不能使用SHA-1,MD5等老旧的算法。
所以,真正有效的加密芯片,需要以上所有条件具备,特别是硬件随机数生成器,防物理攻击能力和安全算法等更为重要。市面上像Infineon,NXP,STMicroelectronics,Microchip等厂商出品的安全芯片都是不错的选择。