Page 272 - 《软件学报》2021年第9期
P. 272
2896 Journal of Software 软件学报 Vol.32, No.9, September 2021
3.4 需要进一步研究的问题
基于随机性强化的抗随机数后门攻击方法本质上是一种门限机制,即随机数的生成依赖多个密码组件.当
单个或若干个密码组件存在后门时,只要某个密码组件是安全可靠的,仍然可以得到安全的随机数.虽然门限机
制可有效解决后门攻击问题,然而现有方案还存在如下问题.
1) 在 nonce-based 公钥加密算法中,一个新的密码组件 HE 被用于增强随机性.然而,根据文献[1]中所给
HE 的定义可以看出,HE 的实例化依赖于随机预言机 RO 或者依赖于 AXUHF 和 PRF.而 RO 是密码
学中的一个假设,现实世界并不存在.此外,作者并没给出随机预言模型下,HE 的具体构造.因此在实际
应用中,如何实现该类 HE 还需进一步研究.在标准模型下,HE 的实例化依赖于 AXUHF 和 PRF,而现
有已实现的 AXUHF,PRF 等密码学工具中是否存在类似于 Dual EC PRNG 随机数后门攻击,也还有待
研究;
2) 第 3.3 节所述的“免疫”函数的实现也存在上述类似的问题.现有“免疫”函数的实现依赖于 RO,UCE 或
PRF.RO 和 UCE 都在密码学中的一个假设,而已实现的 PRF 中是否存在随机数后门攻击等问题,还有
待研究.此外,作者也未给出具体的免疫函数;
3) 在文献[3]中,作者考虑了对冲公钥加密算法在标准模型下的构造,并提出了 NtD 对冲公钥加密算法
(详见第 3.3 节).该算法的安全性依赖于完全适应性 CCA 安全的确定性加密算法,然而如何构造适应
[3]
性 CCA 安全的确定性加密算法,目前还是一个开放问题 .
4 其他相关技术
上述抗随机数后门攻击密码算法侧重于算法层面的安全性.在实际应用中,攻击者可在算法实现时设计后
门来破坏密码系统的安全性,其中最典型的为算法替代攻击.本节首先阐述算法替代攻击基本原理,随后介绍现
有抵抗算法替代的方法.
4.1 算法替代攻击
算法替代攻击(algorithm substitution attacks,简称 ASA)最早由 Young 等人在 1997 年欧密会(EUROCRYPT)
上提出 [23] ,该攻击也称为颠覆攻击(substitution attacks,简称 SA).相较于在算法中设计后门,算法替代攻击着重
于在密码算法实现过程中插入后门.通常来说,密码系统中使用的密码算法的安全性是经过严格的安全性分析
的.然而在实际应用中,这些密码系统的使用模式是“黑盒”模式 [24] ,即用户并不知晓其内部构造.这使得攻击者
可恶意设计算法的使用模式,在特殊情况下,用新算法覆盖掉原有算法,同时,新算法即使面对相当密集的黑盒
测试也会看起来完全安全.在文献[25]中,作者指出,所有依赖第三方软件库或硬件设备的密码系统均可能遭受
算法替代攻击.
算法替代攻击的基本原理是:攻击者在密码算法从理论转化为现实过程中,将原诚实可靠的实现算法替换
成一个已被植入秘密信息的替代算法 [26] .植入的秘密信息只有敌手可见,通常称为后门信息.攻击者可利用该后
门信息与输出结果的联系来恢复系统的秘密信息(如密钥、随机数等),从而破坏系统的安全性.ASA 攻击要求对
于除攻击者以外的任意用户来说,替代算法与诚实算法的输出分布结果是不可区分的.随着对算法替代攻击的
不断研究,如何有效抵御算法替代攻击也成为一个新的问题.最简单的防算法替代攻击的策略是采用确定性密
[8]
码算法 ,如文献[8,25−27]中所建议的加密方案、本文第 2.1 节中所介绍的确定性加密算法等.因确定性加密算
法具有唯一密文属性,攻击者若在算法实现时插入后门,其攻击行为将很容易被检测到.然后,如第 2.1 节所述,为
保证算法的安全性,确定性加密算法要求明文空间足够大,并且具有高的最小熵.
近年来,针对概率性密码算法的 ASA 防御策略的研究也取得了一定的进展,目前大致分为两类:第 1 类被称
作为抗盗密密码学(cliptography) [28] ,详见第 4.2 节;第 2 类被称为逆向防火墙 [29,30] ,详见第 4.3 节.
4.2 抗盗密密码学
抗盗密密码学的概念最初是由 Alexander 和 Tang 等人 [25] 提出的,旨在防止盗密攻击(kleptographic)下 [20] ,