三年大片大全观看免费,三年在线观看大全免费高清,三年成全免费高清观看电视剧,三年大片免费观看大全电影,三年大片大全免费观看国语,三年成全免费高清大全

咨詢電話:400-6446-808

新聞動態(tài)

密碼學可證明安全性中的攻擊模型
2024-09-20 09:53:51

引言

密碼學具有極為源遠流長的發(fā)展歷史,不同于現(xiàn)代密碼學中密碼體制安全性對于密鑰安全性的依賴,密碼學在發(fā)展早期受限于密鑰空間的規(guī)模,安全性更依賴的是加密機制的安全性,而對于該怎樣分析并證明一個密碼體制是安全的這個問題,直到1949年香農(nóng)發(fā)表的信息論之前都沒有一個完善的回答。香農(nóng)信息論中基于概率理論完整的給出了通信系統(tǒng)安全性的相關描述,在此基礎上經(jīng)過1976年Hellman等人發(fā)表的《密碼學新方向》一文的補充,密碼學正式成為了一門科學,對于如何分析密碼算法與協(xié)議的安全性開始逐漸建立起了完整的模型。

現(xiàn)代密碼學中主要有三種描述密碼體制安全性的標準,分別是計算安全、可證明安全和無條件安全,這三種標準出發(fā)的角度雖然不同,但都是從攻擊者的角度出發(fā)刻畫的安全性分析模型。無條件安全假設攻擊者在擁有無限的計算能力和計算資源的前提下仍然無法攻破密碼體制,這更偏向于一種理想化的安全。計算安全則是通過分析當前技術(shù)條件下攻擊者在攻擊密碼體制時能使用的最優(yōu)算法,通過研究其中必要操作的執(zhí)行次數(shù)與攻擊效率的關系刻畫密碼的安全性,但是受限于攻擊算法的多樣性和密碼實例的變化,實際上很難得出一個穩(wěn)定的結(jié)論。

目前最廣泛接受和應用的密碼分析技術(shù)主要是基于可證明安全性理論??勺C明安全中通過刻畫攻擊者的攻擊能力建立安全模型,利用安全規(guī)約的技術(shù)將攻擊者對密碼算法的攻擊轉(zhuǎn)化為對數(shù)學困難問題的攻擊,通過數(shù)學困難問題的不可破解性來證明密碼算法的安全性,其中安全模型則直接影響到安全規(guī)約的實現(xiàn)邏輯,換言之,攻擊者的攻擊能力直接影響到密碼算法的構(gòu)造路線以及安全性的強度。

可證明安全中基于攻擊者的不同攻擊能力,主要有唯密文攻擊、已知明文攻擊、選擇明文攻擊和選擇密文攻擊幾種安全模型,這幾種模型中都假設了攻擊者具有有限的計算能力和計算資源,各自之間的不同在于攻擊者可以訪問的信息差異。

本文將從攻擊者的不同攻擊能力出發(fā),對可證明安全中幾種主要的安全模型進行簡要介紹。

一、唯密文攻擊

唯密文攻擊(Ciphertext Only Attack, COA)是指攻擊者在僅僅知道密文的情況下進行攻擊求解密鑰,攻擊者可以利用密碼算法的特點以及明文空間的統(tǒng)計特性等,通過對密文進行分析從而發(fā)起攻擊。

圖 1 英文字母頻率表

 

大多數(shù)的古典密碼算法在唯密文攻擊下都是不安全的,如凱撒密碼、仿射密碼等,其根本原因在于這些算法都是確定性算法,在相同密鑰下加密同一個明文得到的密文始終是相同的,因此密文空間和明文空間保持了相同的統(tǒng)計特性。例如在凱撒密碼中,明文空間和密文空間都是26個英文字母,經(jīng)過統(tǒng)計語言規(guī)律可以總結(jié)出明文中每個字母出現(xiàn)的頻率表如圖 1,攻擊者可以收集大量密文分析其中每個字母出現(xiàn)的頻率,由于E在明文空間中的統(tǒng)計概率是最高的,攻擊者就可以猜測密文中出現(xiàn)頻率最高的字母對應的是E的加密,從而確定出密鑰。對于更復雜的維吉尼亞密碼,則可以使用Kasiski測試法和指數(shù)重合法分析密文,其本質(zhì)仍然是利用確定性算法帶來的相同明文對應的密文不變特點和明文空間的統(tǒng)計特性實現(xiàn)的。

在香農(nóng)的信息論問世后,密碼算法就開始逐漸向著概率性算法發(fā)展,此時由于明文和密文不再具有相同的統(tǒng)計特性,唯密文攻擊的攻擊難度逐漸上升,例如目前唯密文攻擊的主要方式便是通過窮舉法進行爆破,通過設置一個足夠大的密鑰空間抵抗這種攻擊基本是可以輕易實現(xiàn)的。但需要說明的是這并不意味著在唯密文攻擊下安全的密碼算法就一定具有很高的安全性,因為唯密文攻擊中做了很強的假設來限制攻擊者的攻擊能力,即攻擊者除了密文之外得不到任何其他信息,但在實際中攻擊者其實可以很輕易的收集到明文-密文對,甚至構(gòu)造特殊明文發(fā)起攻擊。總體而言,一個在越強假設的安全模型下證明安全的算法可能在實際場景中呈現(xiàn)出更弱的安全性。

二、已知明文攻擊

已知明文攻擊(Known Plaintext Attack, KPA)中假設攻擊者知道有限數(shù)量的明文-密文對,攻擊者通過分析明文-密文對之間的關系來發(fā)起攻擊。不同于唯密文攻擊中利用統(tǒng)計特性發(fā)起攻擊的方法,已知明文攻擊通常是利用密碼算法實現(xiàn)機制中的漏洞結(jié)合已知的明密文對進行分析從而得到密鑰的相關信息。

一個典型的例子是二戰(zhàn)時圖靈破解恩格瑪密碼機的過程,由于德軍特殊的發(fā)文習慣使得電文內(nèi)容具有固定的格式,圖靈便從電文的固定格式中分析出密文中一定會包含的某些特定詞語的加密,并利用恩格瑪機中明文不會被加密為自身的特點從截獲的大量電文中分析出這些詞語對應的密文,從而破解了使用的密鑰。

在現(xiàn)代密碼學中已知明文攻擊的一種普適方法是線性密碼分析技術(shù),這種技術(shù)在理論上適用于對任何序列密碼的攻擊。線性密碼分析的思想在于通過分析SPN網(wǎng)絡的結(jié)構(gòu)(主要是S盒的結(jié)構(gòu)),攻擊者可以確定出SPN網(wǎng)絡中一個輸入的明文比特子集與網(wǎng)絡最后一輪代換的輸入比特集之間的概率線性關系,較為直觀的理解是:在理想的加密算法中,輸入的明文比特經(jīng)過網(wǎng)絡中前面所有輪的代換后的輸出(也就是最后一輪代換的輸入)取值為0或1的概率應該是相等且為1/2的,但是由于實際S盒的結(jié)構(gòu)呈現(xiàn)的偽隨機特性,這個輸出通常會顯示出一定的概率偏差,攻擊者利用這個偏差的概率可以計算出一個線性逼近式,通過利用持有的明-密文對,測試所有可能的候選密鑰進行最后一輪解密的結(jié)果對上述的線性概率關系是否成立,實現(xiàn)最后一輪子密鑰的恢復,Matsui等人在1993年便是利用這種技術(shù)成功破解了DES算法。

三、選擇明文攻擊

選擇明文攻擊(Chosen Plaintext Attack, CPA)具有比唯密文攻擊和已知明文攻擊更強的安全性,他主要提供的是一種抵抗被動攻擊的安全性,該模型中假設攻擊者可以自己隨意選擇或構(gòu)造明文,并獲得其對應的密文,攻擊者利用密碼體制可能存在的漏洞結(jié)合自己構(gòu)造的明文特殊結(jié)構(gòu)實現(xiàn)攻擊。這種攻擊模式在公鑰密碼學中尤為常見,因為公鑰密碼學中的公鑰是公開的,攻擊者可以任意的構(gòu)造明文并使用公鑰加密。

選擇明文攻擊的一種典型例子是對DES的差分密碼分析技術(shù)。通常我們把兩個輸入比特串x1和x2之間的異或值定義為這兩個輸入的差分值,其對應的輸出y1和y2之間的異或值定義為輸出的差分值,對于一個理想的隨機置換,所有相同差分值的輸入對應的輸出差分值應該是一個均勻的分布,輸出差分值對應的每種取值概率都是,其中是分組的長度,但是由于SPN網(wǎng)絡的偽隨機特性,實際加密過程中得到的輸出差分值往往會在某些取值上顯著偏離這個期望概率,攻擊者通過在最后一輪加密中收集這些偏離明顯的差分對,之后利用線性密碼分析中類似的手段對每一種可能的子密鑰進行測試找到最符合概率偏離值那一個從而實現(xiàn)密鑰恢復。在這個過程中,攻擊者選擇了所有具有相同差分值的輸入明文,因此是一種典型的選擇明文攻擊。

四、選擇密文攻擊

選擇密文攻擊(Chosen Ciphertext Attack, CCA)是在選擇明文攻擊的基礎上進一步增強攻擊者的攻擊能力和可利用資源提出的一種安全模型,在選擇明文攻擊抵抗被動攻擊的基礎上完善了算法在面臨攻擊者發(fā)起主動攻擊時的安全性。并且在公鑰密碼領域,由于可證明安全主要面對的安全目標是密碼體制在已知公開參數(shù)情況下的不可區(qū)分性語義安全,因此選擇明文攻擊與選擇密文攻擊逐漸成為了公鑰算法安全性分析中主要使用的分析模型。受限于篇幅本文中將主要通過一個對稱密碼下的例子簡要介紹選擇密文攻擊的特點。

選擇密文攻擊模型中假設攻擊者在選擇明文攻擊的基礎上,還具有訪問解密喻言機的能力,即攻擊者可以選擇或構(gòu)造任意對自己有利的密文,并欺騙密鑰持有者為自己進行解密。本文簡單引用Dan Bohen在斯坦福密碼學公開課中使用過的例子說明攻擊者利用選擇密文攻擊竊取不屬于自己的通信消息的方法。假設在服務器上有兩個不同端口的進程,其中一個端口號為80,另一個為攻擊者與服務器的通信端口,假設為25,通信流量在網(wǎng)絡層使用了隨機IV的CBC模式進行加密,當服務器接收到加密流量后會進行解密并且TCP協(xié)議棧會轉(zhuǎn)發(fā)目的地址為25端口的流量發(fā)送給攻擊者。攻擊者已知根據(jù)CBC模式的加密規(guī)則,即第一個明文分組會與IV進行異或得到第一個密文分組,并且從報文結(jié)構(gòu)中攻擊者知道第一個密文分組其實是對目標端口的加密,那么假設攻擊者希望竊取所有發(fā)送給80端口的消息,他可以在劫持網(wǎng)絡層的流量后,通過對第一個密文分組異或上80端口從而抵消密文中原有的目標端口,之后再異或自己的25端口從而實現(xiàn)將發(fā)往80端口的流量篡改為發(fā)給自己,由于這種篡改并沒有改變密文的合規(guī)性,服務器將會自然的接收并解密這個密文。

顯然,選擇密文攻擊的核心在于攻擊者發(fā)起主動攻擊時可以輕易破壞密文的完整性從而實現(xiàn)篡改消息,事實上在實際密碼應用場景中,分組加密算法通常只能滿足選擇明文攻擊下安全性,因此需要和消息鑒別碼或數(shù)字簽名配套使用,以此為接收方提供一種對明文的完整性進行鑒別的方法,從而實現(xiàn)在選擇密文攻擊下的安全性。

欢迎光临: 泰宁县| 肥乡县| 钦州市| 瑞金市| 姜堰市| 讷河市| 雷波县| 武定县| 读书| 顺平县| 三江| 绥江县| 柳江县| 平利县| 将乐县| 什邡市| 石城县| 元阳县| 汉寿县| 浦县| 阳曲县| 宜城市| 龙岩市| 永新县| 喀喇沁旗| 岐山县| 滨海县| 叙永县| 封开县| 信阳市| 青海省| 屏山县| 荔浦县| 喀喇| 台中市| 高台县| 许昌县| 改则县| 区。| 靖州| 台前县|