引言
密码学具有极为源远流长的发展历史,不同于现代密码学中密码体制安全性对于密钥安全性的依赖,密码学在发展早期受限于密钥空间的规模,安全性更依赖的是加密机制的安全性,而对于该怎样分析并证明一个密码体制是安全的这个问题,直到1949年香农发表的信息论之前都没有一个完善的回答。香农信息论中基于概率理论完整的给出了通信系统安全性的相关描述,在此基础上经过1976年Hellman等人发表的《密码学新方向》一文的补充,密码学正式成为了一门科学,对于如何分析密码算法与协议的安全性开始逐渐建立起了完整的模型。
现代密码学中主要有三种描述密码体制安全性的标准,分别是计算安全、可证明安全和无条件安全,这三种标准出发的角度虽然不同,但都是从攻击者的角度出发刻画的安全性分析模型。无条件安全假设攻击者在拥有无限的计算能力和计算资源的前提下仍然无法攻破密码体制,这更偏向于一种理想化的安全。计算安全则是通过分析当前技术条件下攻击者在攻击密码体制时能使用的最优算法,通过研究其中必要操作的执行次数与攻击效率的关系刻画密码的安全性,但是受限于攻击算法的多样性和密码实例的变化,实际上很难得出一个稳定的结论。
目前最广泛接受和应用的密码分析技术主要是基于可证明安全性理论。可证明安全中通过刻画攻击者的攻击能力建立安全模型,利用安全规约的技术将攻击者对密码算法的攻击转化为对数学困难问题的攻击,通过数学困难问题的不可破解性来证明密码算法的安全性,其中安全模型则直接影响到安全规约的实现逻辑,换言之,攻击者的攻击能力直接影响到密码算法的构造路线以及安全性的强度。
可证明安全中基于攻击者的不同攻击能力,主要有唯密文攻击、已知明文攻击、选择明文攻击和选择密文攻击几种攻击模型,这几种模型中都假设了攻击者具有有限的计算能力和计算资源,各自之间的不同在于攻击者可以访问的信息差异。
本文将从攻击者的不同攻击能力出发,对可证明安全中几种主要的攻击模型进行简要介绍。
1
唯密文攻击
唯密文攻击(Ciphertext Only Attack, COA)是指攻击者在仅仅知道密文的情况下进行攻击求解密钥,攻击者可以利用密码算法的特点以及明文空间的统计特性等,通过对密文进行分析从而发起攻击。
图 1 英文字母频率表
大多数的古典密码算法在唯密文攻击下都是不安全的,如凯撒密码、仿射密码等,其根本原因在于这些算法都是确定性算法,在相同密钥下加密同一个明文得到的密文始终是相同的,因此密文空间和明文空间保持了相同的统计特性。例如在凯撒密码中,明文空间和密文空间都是26个英文字母,经过统计语言规律可以总结出明文中每个字母出现的频率表如图 1,攻击者可以收集大量密文分析其中每个字母出现的频率,由于E在明文空间中的统计概率是最高的,攻击者就可以猜测密文中出现频率最高的字母对应的是E的加密,从而确定出密钥。对于更复杂的维吉尼亚密码,则可以使用Kasiski测试法和指数重合法分析密文,其本质仍然是利用确定性算法带来的相同明文对应的密文不变特点和明文空间的统计特性实现的。
在香农的信息论问世后,密码算法就开始逐渐向着概率性算法发展,此时由于明文和密文不再具有相同的统计特性,唯密文攻击的攻击难度逐渐上升,例如目前唯密文攻击的主要方式便是通过穷举法进行爆破,通过设置一个足够大的密钥空间抵抗这种攻击基本是可以轻易实现的。但需要说明的是这并不意味着在唯密文攻击下安全的密码算法就一定具有很高的安全性,因为唯密文攻击中做了很强的假设来限制攻击者的攻击能力,即攻击者除了密文之外得不到任何其他信息,但在实际中攻击者其实可以很轻易的收集到明文-密文对,甚至构造特殊明文发起攻击。总体而言,一个在越强假设的安全模型下证明安全的算法可能在实际场景中呈现出更弱的安全性。
2
已知明文攻击
已知明文攻击(Known Plaintext Attack, KPA)中假设攻击者知道有限数量的明文-密文对,攻击者通过分析明文-密文对之间的关系来发起攻击。不同于唯密文攻击中利用统计特性发起攻击的方法,已知明文攻击通常是利用密码算法实现机制中的漏洞结合已知的明密文对进行分析从而得到密钥的相关信息。
一个典型的例子是二战时图灵破解恩格玛密码机的过程,由于德军特殊的发文习惯使得电文内容具有固定的格式,图灵便从电文的固定格式中分析出密文中一定会包含的某些特定词语的加密,并利用恩格玛机中明文不会被加密为自身的特点从截获的大量电文中分析出这些词语对应的密文,从而破解了使用的密钥。
在现代密码学中已知明文攻击的一种普适方法是线性密码分析技术,这种技术在理论上适用于对任何序列密码的攻击。线性密码分析的思想在于通过分析SPN网络的结构(主要是S盒的结构),攻击者可以确定出SPN网络中一个输入的明文比特子集与网络最后一轮代换的输入比特集之间的概率线性关系,较为直观的理解是:在理想的加密算法中,输入的明文比特经过网络中前面所有轮的代换后的输出(也就是最后一轮代换的输入)取值为0或1的概率应该是相等且为1/2的,但是由于实际S盒的结构呈现的伪随机特性,这个输出通常会显示出一定的概率偏差,攻击者利用这个偏差的概率可以计算出一个线性逼近式,通过利用持有的明-密文对,测试所有可能的候选密钥进行最后一轮解密的结果对上述的线性概率关系是否成立,实现最后一轮子密钥的恢复,Matsui等人在1993年便是利用这种技术成功破解了DES算法。
3
选择明文攻击
选择明文攻击(Chosen Plaintext Attack, CPA)具有比唯密文攻击和已知明文攻击更强的安全性,他主要提供的是一种抵抗被动攻击的安全性,该模型中假设攻击者可以自己随意选择或构造明文,并获得其对应的密文,攻击者利用密码体制可能存在的漏洞结合自己构造的明文特殊结构实现攻击。这种攻击模式在公钥密码学中尤为常见,因为公钥密码学中的公钥是公开的,攻击者可以任意的构造明文并使用公钥加密。
选择明文攻击的一种典型例子是对DES的差分密码分析技术。通常我们把两个输入比特串x1和x2之间的异或值定义为这两个输入的差分值,其对应的输出y1和y2之间的异或值定义为输出的差分值,对于一个理想的随机置换,所有相同差分值的输入对应的输出差分值应该是一个均匀的分布,输出差分值对应的每种取值概率都是1/2ι,其中ι是分组的长度,但是由于SPN网络的伪随机特性,实际加密过程中得到的输出差分值往往会在某些取值上显著偏离这个期望概率,攻击者通过在最后一轮加密中收集这些偏离明显的差分对,之后利用线性密码分析中类似的手段对每一种可能的子密钥进行测试找到最符合概率偏离值那一个从而实现密钥恢复。在这个过程中,攻击者选择了所有具有相同差分值的输入明文,因此是一种典型的选择明文攻击。
4
选择密文攻击
选择密文攻击(Chosen Ciphertext Attack, CCA)是在选择明文攻击的基础上进一步增强攻击者的攻击能力和可利用资源提出的一种攻击模型,在选择明文攻击抵抗被动攻击的基础上完善了算法在面临攻击者发起主动攻击时的安全性。并且在公钥密码领域,由于可证明安全主要面对的安全目标是密码体制在已知公开参数情况下的不可区分性语义安全,因此选择明文攻击与选择密文攻击逐渐成为了公钥算法安全性分析中主要使用的分析模型。受限于篇幅本文中将主要通过一个对称密码下的例子简要介绍选择密文攻击的特点。
选择密文攻击模型中假设攻击者在选择明文攻击的基础上,还具有访问解密喻言机的能力,即攻击者可以选择或构造任意对自己有利的密文,并欺骗密钥持有者为自己进行解密。本文简单引用Dan Bohen在斯坦福密码学公开课中使用过的例子说明攻击者利用选择密文攻击窃取不属于自己的通信消息的方法。假设在服务器上有两个不同端口的进程,其中一个端口号为80,另一个为攻击者与服务器的通信端口,假设为25,通信流量在网络层使用了随机IV的CBC模式进行加密,当服务器接收到加密流量后会进行解密并且TCP协议栈会转发目的地址为25端口的流量发送给攻击者。攻击者已知根据CBC模式的加密规则,即第一个明文分组会与IV进行异或得到第一个密文分组,并且从报文结构中攻击者知道第一个密文分组其实是对目标端口的加密,那么假设攻击者希望窃取所有发送给80端口的消息,他可以在劫持网络层的流量后,通过对第一个密文分组异或上80端口从而抵消密文中原有的目标端口,之后再异或自己的25端口从而实现将发往80端口的流量篡改为发给自己,由于这种篡改并没有改变密文的合规性,服务器将会自然的接收并解密这个密文。
显然,选择密文攻击的核心在于攻击者发起主动攻击时可以轻易破坏密文的完整性从而实现篡改消息,事实上在实际密码应用场景中,分组加密算法通常只能满足选择明文攻击下安全性,因此需要和消息鉴别码或数字签名配套使用,以此为接收方提供一种对明文的完整性进行鉴别的方法,从而实现在选择密文攻击下的安全性。
END
点击回顾往期精彩
成都创信华通信息技术有限公司
成都创信华通信息技术有限公司作为川内首家同时拥有“等保”与“密评”双资质的网络安全合规检测机构与网络安全综合服务提供商,长期深耕网络安全领域,独创以“等保测评+密码测评+软件测试+信息系统工程监理+数据安全服务+网络安全服务”为主的“6+N”服务模式,已成功为党的二十大、中国共产党成立100周年、北京冬奥会、第31届世界大学生运动会等大型活动提供等保、密评、网络安全应急保障服务,护航50+省厅级单位,3000+企事业单位及机构,测评系统超6000个,行业覆盖政府、医疗、教育、能源、运营商、金融等国家网络安全重要领域。凭借多年积累被评为了四川省“专精特新”企业、四川省新经济100强企业,成都市网络信息安全产业影响力TOP30企业。
公司公司注重技术研发,自主研发“密码大数据平台”、“密码合规检测平台”等工具辅助密评工作开展,拥有自主知识产权50余项,团队先后在西藏、新疆、四川组织的多项省级网络安全竞赛中名列前茅,获得奖项100余项,技术实力受到主管部门认可。
期待与您的合作!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...