提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
密钥安全需求
提示:这里可以添加本文要记录的大概内容:
当前,移动端常见的几种不安全的密钥存储方式:1. 直接硬编码在代码中,很容易被逆向分析;2. 存储在私有目录的文件中,有最高权限的终端可以导出查看;3. 将密钥分段,分别存储在代码和文件中,最终在内存中拼接起来,由于内存中还是出现了完整的原始密钥,所以攻击者只需要花点时间,也可以逆向分析出来;4. 将密钥存储在动态库中,同时加解密也都在动态库中进行,这在一定程度上增大了分析难度,但是有经验的攻击者并不难将其逆向出来;5. 用另外一个密钥B加密这个密钥A,将密钥A的密文存储在文件或代码中,在实际使用时进行解密,虽然增加了静态分析难度,但可以使用动态调试的方法,对加解密方法进行插桩,即 Hook,也可以分析出密钥 A 。一般而言,将密码软件的执行对攻击者完全可见的环境称为白盒攻击环境。有最高权限的移动端环境就是白盒攻击环境。在白盒攻击环境中,攻击者通过观察或者执行密码软件,可以轻而易举地获得密钥信息。为了抵