Page 273 - 《软件学报》2021年第9期
P. 273

康步荣  等:抗随机数后门攻击的密码算法                                                             2897


         概率性密码算法免受算法替代攻击的威胁.抗盗密密码学借鉴了模块化的设计思想,即原密码算法可划分成不
         同的算法组件(子模块),每个算法组件可独立执行.此外,抗盗密密码学采用有威慑力的可信第三方实体——看
         门狗”(watchdog)来检测每个算法组件是否遭受算法替代攻击.抗盗密密码学的关键在于如何划分算法组件,文
         献[28]中的“split-program”模块化方法根据算法执行过程中是否需要使用随机数而将整个算法分成两个模块:
         确定性算法组件(例如确定性加密算法)和概率性算法组件(例如随机数生成算法、密钥生成算法).两个模块独
         立执行,具体的,先执行概率性算法组件,并将执行结果输入到一个散列函数中,再将经过该函数作用过的结果
         输入到确定性算法组件去执行.由于原算法被分为多个独立组件,因此攻击者需对所有组件一一替换.模块化设
         计的思想在于增加了攻击者替换原算法的难度,散列函数的作用则在于增加随机数的熵值和不确定性.此
         外,Alexander 等人在文献[28]基础上提出了“double-split”方法      [31,32] .该方法在“split-program”划分的基础上,将概
         率性算法组件分为两个子组件.子组件独立且并发执行,执行结果级联后输入散列函数.后续执行过程与文献
         [28]类似.
             目前,抗盗密密码学只是初具雏形,有关的潜在应用场景还值得进一步研究,譬如利用该方法构造一个
         collusion-free 的协议 [33] .此外,该方法主要考虑无状态算法      [34] .在一些实践中,算法可能是有状态的          [28] ,例如计数
         器模式加密.如何扩展到有状态的算法,还值得深入研究.
         4.3   逆向防火墙
             传统防火墙用于内网和外网的隔离,它按照系统管理员预先定义好的规则来控制数据包的进出,以阻挡来
         自外网的入侵,保障内网的安全.密码逆向防火墙(cryptographic reverse firewalls,简称 CRF)的概念最初是由
         Mironov 等人在 2015 年的欧密会上提出的        [35] .密码逆向防火墙旨在防止机密信息从内网遭受入侵(密码算法存
         在算法替代攻击)的主机中泄露出去,其基本思想在于重随机化                       [36,37−39] .密码逆向防火墙的关键在于设计/找到
         合适的加密算法,该算法能确保公钥/密钥或是密文被重随机化后,接收方仍能正确解密.例如:在公钥密码体制
         中,发送者用公钥加密生成的密文从内网发出时,为防止加密算法被替换为植入后门信息的算法而破环算法安
         全性,密文会被密码逆向防火墙重随机化后发给接收者,接收者可直接解密该密文.密码逆向防火墙也可基于公
         钥/密钥重随机化      [40] ,该类方法旨在抵抗攻击者在公钥中植入后门信息.此时要求选择的加密算法具有密钥可延
         展性(key malleable),即,接收者可把使用重随机后的公钥加密的密文映射到用原始公钥加密的密文                            [41,42] .找到
         拥有这样的可重随机化特性的加密算法并设计相应的密码逆向防火墙,是当下的主要研究内容.
             目前为止,密码逆向防火墙仍有一些问题亟待解决,其中包括文献[35]中提到的缺少前向安全性以及相对
         低效(当下的方案需要对整个明文进行加密).所以,寻找前向安全的高效密码逆向防火墙方案,将成为日后的研
         究方向之一.
         5    总结与展望


             抗随机数后门攻击密码算法经过几年的研究,已经取得了一些有意义的成果.本文全方位地就其中的主要
         成果进行梳理总结,包括抗随机数后门攻击的对称加密算法、对冲公钥加密算法、基于随机性强化的方法以及
         其他相关技术目前的研究现状,分析了相关构造的特点,并指出目前相关技术研究过程中所面临的问题.总体来
         说,现有成果大多是从理论层面分析了抗随机数后门攻击的解决方案,而可实现的抗随机数后门攻击的密码算
         法仍然是需要进一步研究的主要方向.
             现有的密码算法大多采用静态密码组件(如密钥生成器、PRNG 等)设计,这增加了算法在实现过程中被植
         入随机数后门的可能性.动态密码组件的使用,将能更有效地防止攻击者在算法中植入后门.例如,研究动态与
         交叉动态技术是未来抗随机数后门密码算法的一个研究方向:前者的基本思想在于对消息用多个动态变化的
         密码算法作用于该消息,并且其中的随机数生成算法使用不同的算法;后者的基本思想在于对多个动态变化的
         随机数生成算法产生的随机数进行一些运算(如异或等),将运算后的结果用于理论上安全的密码算法中.直观
         上,这两种技术可有效抵抗随机数后门攻击,然而如何对他们的安全性进行形式化分析还有待探讨.另外,目前
         抗随机数后门攻击密码算法的研究成果主要集中在加密算法方面,而在密钥协商协议、签名算法、签密算法等
   268   269   270   271   272   273   274   275   276   277   278