其中假设攻击者无法访问加密密钥,也就是说,他只能访问结果(密文)。人们长期以来一直认为智能卡等硬件设备也是如此,但利用黑匣子“泄露”信息的恶意攻击(如差分电位分析攻击,也称为 DPS)已经发展起来,允许攻击者获取所谓黑匣子使用的秘密加密密钥。因此,我们实际上并不是黑盒子,而是灰色盒子。
流行的加密机制,例如 AES [1],并没有被设计为在可以观察其执行情况的环境中运行;此类模型假设端点(如个人电脑或数字播放器)上的保护令牌是值得信赖的。如果这些端点位于潜在的恶意环境中,那么当攻击者试图从内存中提取附加到应用程序或由应用程序生成的密钥时,加密密钥可能会直接被监视应用程序执行的攻击者看到。这是在 PC、IPTV 机顶盒和其他数据消耗设备上运行的基于软件的应用程序在尝试应用 DRM 时遇到的常见问题。通过主动监视标准加密 API 或内存转储,攻击者可以在使用密钥时提取密钥。例如,BackupHDDVD 程序使用此机制复制受保护的 DVD 的内容,从而删除 DRM。
在完全透明的环境中操作时隐藏许可证和其他公司机密等有价值的信息的 开曼群岛 WhatsApp 号码列表 想法引发了几个难题:我们如何在不直接泄露密钥或数据任何部分的情况下加密和解密内容?我们如何在知道攻击者可以在执行期间观察和更改代码的情况下实现强大的加密机制?这就是所谓的白盒加密的背景。
白盒加密技术旨在保护加密算法的软件实现免遭密钥恢复,即使攻击者完全控制执行加密的机器;这在 DRM 领域尤其有用。白盒加密使用允许以某种方式执行加密的技术,使得攻击者无法访问密钥,即使攻击者能够自由观察动态代码的执行并知道所用算法的细节。