mg不朽情缘

84472_17022767220742

征询电话:400-6446-808

新闻动态

密码学可证明安全性中的攻击模型
2024-09-20 09:53:51

引言

密码学拥有极为源远流长的发展汗青 ,分歧于现代密码学中密码体造安全性对于密钥安全性的依赖 ,密码学在发展早期受限于密钥空间的规模 ,安全性更依赖的是加密机造的安全性 ,而对于该怎么分析并证明一个密码体造是安全的这个问题 ,直到1949年香农颁发的信息论之前都没有一个美满的回覆。香农信息论中基于概率理论齐全的给出了通讯系统安全性的有关描述 ,在此基础上经过1976年Hellman等人颁发的〖码学新方向》一文的补充 ,密码学正式成为了一门科学 ,对于若何分析密码算法与和谈的安全性起头逐步成立起了齐全的模型。

现代密码学中重要有三种描述密码体造安全性的尺度 ,别离是推算安全、可证明安全和无前提安全 ,这三种尺度启程的角度固然分歧 ,但都是从攻击者的角度启程刻画的安全性分析模型。无前提安全如果攻击者在占有无限的推算能力和推算资源的前提下依然无法攻破密码体造 ,这更左袒于一种梦想化的安全。推算安全则是通过度析当前技术前提下攻击者在攻击密码体造时能使用的最优算法 ,通过钻研其中必要操作的执行次数与攻击效能的关系刻画密码的安全性 ,但是受限于攻击算法的多样性和密码事俘的变动 ,现实上很可贵出一个不变的结论。

目前最宽泛接受和利用的密码分析技术重要是基于可证明安全性理论?芍っ靼踩型ü袒セ髡叩墓セ髂芰Τ闪踩P ,利用安全规约的技术将攻击者对密码算法的攻击转化为对数学难题问题的攻击 ,通过数学难题问题的不成破解性来证明密码算法的安全性 ,其中安全模型则直接影响到安全规约的实现逻辑 ,换言之 ,攻击者的攻击能力直接影响到密码算法的机关路线以及安全性的强度。

可证明安全中基于攻击者的分歧攻击能力 ,重要有唯密文攻击、已知明文攻击、选择明文攻击和选择密文攻击几种安全模型 ,这几种模型中都如果了攻击者拥有有限的推算能力和推算资源 ,各自之间的分歧在于攻击者能够接见的信息差距。

本文将从攻击者的分歧攻击能力启程 ,对可证明安全中几种重要的安全模型进行简要介绍。

一、唯密文攻击

唯密文攻击(Ciphertext Only Attack, COA)是指攻击者在仅仅知路密文的情况下进行攻击求解密钥 ,攻击者能够利用密码算法的特点以及明文空间的统计个性等 ,通过对密文进行分析从而提议攻击。

zz_OgaBQmWl

图 1 英文字母频率表

 

大无数的古典密码算法在唯密文攻击下都是不安全的 ,如凯撒密码、仿射密码等 ,其底子原因在于这些算法都是确定性算法 ,在一样密钥下加密统一个明文得到的密文始终是一样的 ,因而密文空间和明文空间维持了一样的统计个性。例如在凯撒密码中 ,明文空间和密文空间都是26个英文字母 ,经过统计说话法规能够总结出明文中每个字母出现的频率表如图 1 ,攻击者能够网络大量密文分析其中每个字母出现的频率 ,由于E在明文空间中的统计概率是最高的 ,攻击者就能够猜测密文中呈显斓率最高的字母对应的是E的加密 ,从而确定出密钥。对于更复杂的维吉尼亚密码 ,则能够使用Kasiski测试法和指数沉合法分析密文 ,其性质依然是利用确定性算法带来的一样明文对应的密文不变特点和明文空间的统计个性实现的。

在香农的信息论问世后 ,密码算法就起头逐步向着概率性算法发展 ,此时由于明文和密文不再拥有一样的统计个性 ,唯密文攻击的攻击难度逐步上升 ,例如目前唯密文攻击的重要方式就是通过穷举法进行爆破 ,通过设置一个足够大的密钥空间抵抗这种攻击根基是能够等闲实现的。但必要注明的是这并不料味着在唯密文攻击下安全的密码算法就肯定拥有很高的安全性 ,由于唯密文攻击中做了很强的如果来限度攻击者的攻击能力 ,即攻击者除了密文之表得不到任何其他信息 ,但在现实中攻击者其实能够很等闲的网络到明文-密文对 ,甚至机关特殊明文提议攻击。总体而言 ,一个在越强如果的安全模型下证明安全的算法可能在现实场景中出现出更弱的安全性。

二、已知明文攻击

已知明文攻击(Known Plaintext Attack, KPA)中如果攻击者知路有限数量的明文-密文对 ,攻击者通过度析明文-密文对之间的关下反提议攻击。分歧于唯密文攻击中利用统计个性提议攻击的步骤 ,已知明文攻击通常是利用密码算法实现机造中的缝隙结合已知的明密文对进行分析从而得到密钥的有关信息。

一个典型的例子是二战时图灵破解恩格玛密码机的过程 ,由于德军特殊的发文习惯使得电文内容拥有固定的体式 ,图灵便从电文的固定体式中分析出密文中肯定会蕴含的某些特定词语的加密 ,并利用恩格玛机中明文不会被加密为自身的特点从截获的大量电文中分析出这些词语对应的密文 ,从而破解了使用的密钥。

在现代密码学中已知明文攻击的一衷煺适步骤是线性密码分析技术 ,这种技术在理论上合用于对任何序列密码的攻击。线性密码分析的思想在于通过度析SPN网络的结构(重要是S盒的结构) ,攻击者能够确定出SPN网络中一个输入的明文比特子集与网络最后一轮代换的输入比特集之间的概率线性关系 ,较为直观的理解是:在梦想的加密算法中 ,输入的明文比特经过网络中前面所有轮的代换后的输出(也就是最后一轮代换的输入)取值为0或1的概率应该是相称且为1/2的 ,但是由于现实S盒的结构出现的伪随机个性 ,这个输出通;嵯允境隹隙ǖ母怕饰蟛 ,攻击者利用这个误差的概率能够推算出一个线性逼近式 ,通过利用持有的明-密文对 ,测试所有可能的候选密钥进行最后一轮解密的了局对上述的线性概率关系是否成立 ,实现最后一轮子密钥的复原 ,Matsui等人在1993年就是利用这种技术成功破解了DES算法。

三、选择明文攻击

选择明文攻击(Chosen Plaintext Attack, CPA)拥有比唯密文攻击和已知明文攻击更强的安全性 ,他重要提供的是一种抵抗被动攻击的安全性 ,该模型中如果攻击者能够自己轻易选择或机关明文 ,并获得其对应的密文 ,攻击者利用密码体造可能存在的缝隙结合自己机关的明文特殊结构实现攻击。这种攻击模式在公钥密码学中尤为常见 ,由于公钥密码学中的公钥是公开的 ,攻击者能够肆意的机关明文并使用公钥加密。

选择明文攻击的一种典型例子是对DES的差分密码分析技术。通常我们把两个输入比特串x1和x2之间的异或值界说为这两个输入的差分值 ,其对应的输出y1和y2之间的异或值界说为输出的差分值 ,对于一个梦想的随机置换 ,所有一样差分值的输入对应的输出差分值应该是一个均匀的散布 ,输出差分值对应的每种取值概率都是 ,其中是分组的长度 ,但是由于SPN网络的伪随机个性 ,现实加密过程中得到的输出差分值往往会在某些取值上显著偏离这个进展概率 ,攻击者通过在最后一轮加密中网络这些偏离显著的差分对 ,之后利用线性密码分析中类似的伎俩对每一种可能的子密钥进行测试找到最切合概率偏离值那一个从而实现密钥复原。在这个过程中 ,攻击者选择了所有拥有一样差分值的输入明文 ,因而是一种典型的选择明文攻击。

四、选择密文攻击

选择密文攻击(Chosen Ciphertext Attack, CCA)是在选择明文攻击的基础上进一步加强攻击者的攻击能力和可利用资源提出的一种安全模型 ,在选择明文攻击抵抗被动攻击的基础上美满了算法在面对攻击者提议自动攻击时的安全性。并且在公钥密码领域 ,由于可证明安全重要面对的安全指标是密码体造在已知公开参数情况下的不成分辨性语义安全 ,因而选择明文攻击与选择密文攻击逐步成为了公钥算法安全性分析中重要使用的分析模型。受限于篇幅本文中将重要通过一个对称密码下的例子简要介绍选择密文攻击的特点。

选择密文攻击模型中如果攻击者在选择明文攻击的基础上 ,还拥有接见解密喻言机的能力 ,即攻击者能够选择或机关肆意对自己有利的密文 ,并糊弄密钥持有者为自己进行解密。本文单一引用Dan Bohen在斯坦福密码学公开课中使用过的例子注明攻击者利用选择密文攻击窃取不属于自己的通讯新闻的步骤。如果在服务器上有两个分歧端口的过程 ,其中一个端标语为80 ,另一个为攻击者与服务器的通讯端口 ,如果为25 ,通讯流量在网络层使用了随机IV的CBC模式进行加密 ,当服务器接管到加密流量后会进行解密并且TCP和谈栈会转发主张地址为25端口的流量发送给攻击者。攻击者已知凭据CBC模式的加密规定 ,即第一个明文分组会与IV进行异或得到第一个密文分组 ,并且从报文结构中攻击者知路第一个密文分组其实是对指标端口的加密 ,那么如果攻击者但愿窃取所有发送给80端口的新闻 ,他能够在劫持网络层的流量后 ,通过对第一个密文分组异或上80端口从而抵消密文中原有的指标端口 ,之后再异或自己的25端口从而实现将发往80端口的流量篡改为发给自己 ,由于这种篡改并没有扭转密文的合规性 ,服务器将会天然的接管并解密这个密文。

显然 ,选择密文攻击的主题在于攻击者提议自动攻击时能够等闲粉碎密文的齐全性从而实现篡改新闻 ,事实上在现实密码利用场景中 ,分组加密算法通常只能满足选择明文攻击下安全性 ,因而必要和新闻甄别码或数字署名配套使用 ,以此为接管方提供一种对明文的齐全性进行鉴此外步骤 ,从而实此刻选择密文攻击下的安全性。

【网站地图】