網(wǎng)絡(luò)安全攻防:密碼技術(shù)之?dāng)?shù)學(xué)分析/密碼協(xié)議攻擊

公眾號(hào)-計(jì)算機(jī)與網(wǎng)絡(luò)安全
計(jì)算機(jī)與網(wǎng)絡(luò)安全
模型檢驗(yàn)技術(shù)是一種適用于有限狀態(tài)系統(tǒng)的自動(dòng)化分析技術(shù),實(shí)際上也是密碼協(xié)議的一種自動(dòng)驗(yàn)證工具。從協(xié)議的初始狀態(tài)開始,模型檢驗(yàn)(Model Checking)技術(shù)就對(duì)協(xié)議主體和潛在攻擊者的所有可能的執(zhí)行路徑進(jìn)行狀態(tài)搜索,以確定是否存在錯(cuò)誤狀態(tài)。

1.jpg

1.數(shù)學(xué)分析攻擊

在不知其鑰匙的情況下,利用數(shù)學(xué)方法破譯密文或找到鑰匙的方法,稱為密碼分析(Cryptanalysis)。密碼分析有兩個(gè)基本的目標(biāo):利用密文發(fā)現(xiàn)明文;利用密文發(fā)現(xiàn)鑰匙。根據(jù)密碼分析者破譯(或攻擊)時(shí)已具備的前提條件,通常將密碼分析攻擊法分為4種類型。

1)唯密文破解(Ciphertext-Only Attack)。在這種方法中,密碼分析員已知加密算法,掌握了一段或幾段要解密的密文,通過對(duì)這些截獲的密文進(jìn)行分析得出明文或密鑰。唯密文破解是最容易防范的,因?yàn)楣粽邠碛械男畔⒘孔钌?。但是在很多情況下,分析者可以得到更多的信息。如捕獲到一段或更多的明文信息及相應(yīng)的密文,也是可能知道某段明文信息的格式。

2)已知明文的破譯(Known-Plaintext Attack)。在這種方法中,密碼分析員已知加密算法,掌握了一段明文和對(duì)應(yīng)的密文。目的是發(fā)現(xiàn)加密的鑰匙。在實(shí)際使用中,獲得與某些密文所對(duì)應(yīng)的明文是可能的。

3)選定明文的破譯(Chosen-Plaintext Attack)。在這種方法中,密碼分析員已知加密算法,設(shè)法讓對(duì)手加密一段分析員選定的明文,并獲得加密后的密文。目的是確定加密的鑰匙。差別比較分析法也是選定明文破譯法的一種,密碼分析員設(shè)法讓對(duì)手加密一組相似卻差別細(xì)微的明文,然后比較他們加密后的結(jié)果,從而獲得加密的鑰匙。

4)選擇密文攻擊(Chosen-Ciphertext Attack)。密碼分析者可得到所需要的任何密文所對(duì)應(yīng)的明文(這些明文可能是不明了的),解密這些密文所使用的密鑰與解密待解的密文的密鑰是一樣的。它在密碼分析技術(shù)中很少用到。

上述4種攻擊類型的強(qiáng)度按序遞增,如果一個(gè)密碼系統(tǒng)能抵抗選擇明文攻擊,那么它當(dāng)然能夠抵抗唯密文攻擊和已知明文攻擊。

2.密碼協(xié)議攻擊

目前已經(jīng)有的關(guān)于安全協(xié)議的分析方法主要可以歸納為4種。

(1)基于邏輯推理的分析方法

1989年,BAN邏輯成為邏輯分析的典型代表。作為一個(gè)開創(chuàng)性工作,BAN邏輯首次對(duì)基于邏輯推理所設(shè)計(jì)的密碼協(xié)議進(jìn)行了形式化分析。在BAN邏輯中,各個(gè)參與者在最初始時(shí)刻的知識(shí)有了形式化定義,參與者的職責(zé)也同樣得到了形式化。BAN邏輯通過信息的發(fā)送和接收等協(xié)議步驟可以得到新知識(shí),再利用推理規(guī)則獲取最終的知識(shí)。當(dāng)協(xié)議執(zhí)行完成后,如果最終得到的知識(shí)和信任語句集中沒有目標(biāo)知識(shí)和信任的相應(yīng)語句時(shí),就表明所設(shè)計(jì)的協(xié)議是不安全的,存在缺陷。具體的邏輯分析步驟如下。

1)協(xié)議理想化:通過BAN邏輯語言對(duì)實(shí)際協(xié)議的所有步驟進(jìn)行描述。

2)確定初始假設(shè):協(xié)議運(yùn)行開始時(shí)的信念知識(shí)和狀態(tài)假設(shè)。

3)確定斷言:所謂確定斷言就是將相關(guān)邏輯公式附加給協(xié)議的語句。

4)邏輯化推理:所謂邏輯化推理就是利用推理規(guī)則,基于假設(shè)和斷言來得到參與者最終的信仰。最后,對(duì)最終得到的邏輯結(jié)果判斷,檢查所設(shè)計(jì)的協(xié)議是否達(dá)到設(shè)計(jì)之初的目標(biāo)。

(2)基于模型檢驗(yàn)的分析方法

模型檢驗(yàn)技術(shù)是一種適用于有限狀態(tài)系統(tǒng)的自動(dòng)化分析技術(shù),實(shí)際上也是密碼協(xié)議的一種自動(dòng)驗(yàn)證工具。從協(xié)議的初始狀態(tài)開始,模型檢驗(yàn)(Model Checking)技術(shù)就對(duì)協(xié)議主體和潛在攻擊者的所有可能的執(zhí)行路徑進(jìn)行狀態(tài)搜索,以確定是否存在錯(cuò)誤狀態(tài)。這種技術(shù)方法進(jìn)行密碼協(xié)議分析建模是以進(jìn)程代數(shù)、Dolev-Yao模型等為理論基礎(chǔ)的。1996年,基于通信順序進(jìn)程(CSP,Communication Sequential Processes)方法和模型檢驗(yàn)技術(shù),Lowe實(shí)現(xiàn)了密碼協(xié)議的形式化分析?;贑SP模型以及CSP模型的失敗差異細(xì)化(FDR,F(xiàn)ailures-Diver-Gences Refinement)檢驗(yàn)工具,Lowe對(duì)Needham-Schroeder認(rèn)證協(xié)議進(jìn)行了分析,并發(fā)現(xiàn)了針對(duì)該協(xié)議的一個(gè)可行的攻擊。其他類似的方法包括Interrogator系統(tǒng)、FDR模型檢驗(yàn)工具和NRL(Naval Research Laboratory)協(xié)議分析器等。模型檢驗(yàn)技術(shù)需要面臨的難題是如何恰當(dāng)?shù)匕寻踩珔f(xié)議用對(duì)應(yīng)的分析語言描述。由于該方法是一種狀態(tài)搜索的過程,當(dāng)協(xié)議稍微復(fù)雜時(shí),會(huì)面臨狀態(tài)爆炸的問題。此外,這種方法的分析過程與攻擊者能力的刻畫和密碼協(xié)議的形式化都緊密相關(guān),而攻擊者的行為方式卻在不斷地發(fā)展變化。

(3)基于定理證明的分析方法

就基于定理證明的分析方法來說,串空間(Strand Space)方法非常重要。串空間方法是Thayer、Herzog和Guttman于1998年提出并用于密碼協(xié)議分析的。多個(gè)Strand的集合構(gòu)成串空間,Strand是一個(gè)線性結(jié)構(gòu),由發(fā)送和接收的消息組成,是協(xié)議主體或攻擊者的行為事件的一個(gè)序列。對(duì)于協(xié)議的一個(gè)誠(chéng)實(shí)主體而言,已在協(xié)議一次運(yùn)行中的行為可以基于一個(gè)Strand來表示,不同Strand表示不同主體的行為。特別地,一個(gè)主體在某個(gè)時(shí)間段里參加了多次協(xié)議運(yùn)行也用不同的Strand來表示。對(duì)于攻擊者而言,它所獲知的消息的發(fā)送和接收行為共同組成其Strand中的行為。

(4)密碼學(xué)可證明安全性分析方法

該方法使用現(xiàn)代密碼學(xué)中可證明安全性的理論,在復(fù)雜性理論的框架下提供協(xié)議安全證明,是一種規(guī)約式證明,把協(xié)議的安全性規(guī)約到某特定的已知難題。在一些特定框架下能夠給出密碼協(xié)議的安全性證明。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論