Skip to content
On this page

首先声明,这是我个人阅读上海交大林婷婷的博士论文的笔记.

白盒密码学研究的是什么

现代密码学所描述的密码系统的模型,有一个基本的假设,就是密码算法程序的执行环境是可信的,无论是对称的AES,DES,还是非对称的RSA,ECC. 而攻击者只能在通信的信道上进行观测,干扰,修改,重发等. 这种假设可以称之为黑盒模型. 而白盒密码学则假定密码算法执行的环境是不可信的,攻击者可以完全掌控整个密码算法的运行环境,不仅可以对算法进行静态分析,还可以调试,修改算法的每一条指令.

黑盒攻击

image-20220728103724334

灰盒攻击

image-20220728103800047

白盒攻击

image-20220728103821349

白盒密码学的应用场景

    1. 云计算

      大家对于公有云提供商的环境是否足够信任呢,是否担心你运行在上面的程序,存储在上面的数据会被云服务商监控,盗窃,修改? 如果可以证明我的算法,就算是云服务商可以监控,可以修改也不能获取到我的机密信息,那么云服务商岂不是高兴坏了.

    2. 无线传感器网络

      比如在军事领域应用的无线传感器网络,节点很容易落入敌方之手,被反编译,被调试,被修改,那么怎么能保证机密信息不被窃取呢? 怎么阻止敌方分析后,伪装成合法节点干扰传感器网络的运行?

白盒密码学现在有可行的方案么?

简单来说,没有. 因为如果有了以后,现在大家正在研究的难题,都将不再是问题:

  • 软件防篡改
  • 同态加密
  • 安全多方计算MPC
  • 零知识证明

白盒密码学的现状

  1. Saxena 等人通过“白盒性”这个概念提出了一个白盒密码 的基本模型。在这个模型下,他们证明了对于一个程序,不存在能够满足所有安全概念的混淆器(否定结论)。从另一方面,他们证明了确实存在能够满足某些 安全概念的混淆器(肯定结论)
  2. 2009年肖雅莹等人提出了SMS4算法的白盒实现,但是被作者以低于O(247)O(2^{47})复杂度,找出了秘钥
  3. 白盒密码算法需要额外的存储空间来存储查找表,从几百KB到20GB不等.

密码学的其他知识

CIA三原则

  • 机密性 Confidentiality
  • 完整性 Integirity
  • 可认证性 Authentication 还是可用性 Availability?

常见的安全性要求

  • 完全攻破 可以恢复出完整的秘钥
  • 全局推导 攻击者构造出一个与原算法功能等价的替代算法,不使用密钥也可以恢复出与密文相对应的明文
  • 实例推导 攻击者仅从锁获得的密文中恢复相应的明文
  • 信息推导 攻击者仅能恢复不符密钥的信息或者目标明文的信息

攻击手段的分类

  • 仅密文攻击 攻击者只能在信道上截获到密文
  • 已知明文攻击 攻击者拥有一定数量的密文以及某些密文对应的明文
  • 选择明文攻击 攻击者可以指定明文,也能获取到这些明文对应的密文
  • 选择密文攻击 攻击者可以获得其指定密文对应的明文,可以通过试验不同特征的密文,分析节后的结果.

以上四种方式,攻击者的能力是逐渐递增的,如果一个密码系统能够抵御后一级的攻击,一定可以抵御前面所有级别的攻击.