白盒攻击是指攻击者对设备终端拥有完全的控制能力,能够观测和更改程序运行时的内部数据。这种攻击环境称为白盒攻击环境,而大多智能终端环境(Android、iOS等)在很多情况下就是一个白盒攻击环境。所以,为了保证智能终端数据安全,白盒密码技术就应运而生。

白盒密码技术简介

白盒密码技术(White-Box Cryptography)是能够抵抗白盒攻击的加解密方法,以实现对密钥的安全保护。

白盒密码的一般构造方法通常基于标准密码算法的白盒化策略,通过将标准密码算法中的密钥与算法实现融合和混淆,使得密钥与加密程序不可区分,即使攻击者掌握了对白盒密码系统的控制能力,也无法进一步获取原始的密钥信息。

白盒密码技术

白盒密码技术的分类

白盒密码技术从实现方式上可以分为两类:

静态白盒

指密码算法结合特定的密钥经过白盒密码技术处理后形成特定的密码算法库,称为白盒库,白盒库具备特定的密码功能(加密、解密以及加解密),并能在白盒攻击环境下有效保护原有密钥的安全。静态白盒更新密钥,需要重新生成白盒库。

动态白盒

指白盒库生成后就不需要再更新,原始密钥经过同样的白盒密码技术转化为白盒密钥。白盒密钥传入相匹配的白盒库可以进行正常的加密或解密功能。白盒密钥是安全的,攻击者不能通过分析白盒密钥得到任何关于原始密钥的信息。

白盒密码技术

白盒密码技术的优缺点

优点

白盒密码技术使得密钥信息可充分隐藏、防止窥探,极大提升了安全性。并且白盒密码技术提供了一种在完全透明环境中进行加密的方法,使用者完全感知不到。尽管是完全透明的,但加密和解密程序依旧可保护敏感数据不泄露。

缺点

白盒密码技术由于需要将加密和解密的算法固化到表格中,需要增加空间的消耗。在实际实现过程中,往往会将大表分解成若干个小表,以减少空间占用,但却增加了查表的次数,在一定程度上降低了算法执行效率。

白盒密码技术

白盒密码技术的应用

终端数据安全

对于代码中的字符串,可以采取常规加密措施,并在实际运行时使用白盒密码进行解密,避免攻击者通过静态分析字符串轻易分析出业务逻辑,并在一定程度上增加攻击者动态分析难度。

对于动态库或其他文件中的核心代码,可以采用标准加密保护,在动态加载和还原时使用白盒密码解密。

数据传输安全

在客户端用白盒密码加密需要传输的数据,在服务端用标准密码进行解密;在服务端用标准密码加密需要传输的数据,在客户端用白盒密码进行解密。以此来保住数据传输安全。

物联网(IOT)

随着物联网产品的普及,其安全性受到了广泛重视。针对低性能、低存储空间的 IOT 设备,白盒密钥算法也能满足白盒加密需求,对需要更新的固件进行白盒加密保护。

免责声明:素材源于网络,如有侵权,请联系删稿。