本科畢業(yè)論文(設(shè)計)-基于公開密鑰認證協(xié)議安全性的分析與研究_第1頁
本科畢業(yè)論文(設(shè)計)-基于公開密鑰認證協(xié)議安全性的分析與研究_第2頁
本科畢業(yè)論文(設(shè)計)-基于公開密鑰認證協(xié)議安全性的分析與研究_第3頁
本科畢業(yè)論文(設(shè)計)-基于公開密鑰認證協(xié)議安全性的分析與研究_第4頁
本科畢業(yè)論文(設(shè)計)-基于公開密鑰認證協(xié)議安全性的分析與研究_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、題目:基于公開密鑰認證協(xié)議安全性的分析與研究基于公開密鑰認證協(xié)議安全性的分析與研究摘要公開密鑰認證協(xié)議安全性分析與研究對于促進我國信息化建設(shè)以及網(wǎng)絡(luò)安全和 信息安全研究具有非常重要的意義。本文主要研究運用模型檢測技術(shù)和基于模型檢測 技術(shù)的運行模式分析法,并研究了公開密鑰認證協(xié)議的理論與技術(shù)。在此基礎(chǔ)上,對 公開密鑰認證協(xié)議進行了運行模式的手工分析。研究成果如下:系統(tǒng)介紹了公開密鑰認證協(xié)議的基本概念及安全性分析的重要意義、研究進展和 現(xiàn)狀。研究了模型檢測技術(shù)以及公開密鑰認證協(xié)議運行模式分析法。給出了運用模型檢測工具smv分析公開密鑰認證協(xié)議的方法。研究了公開密鑰認證協(xié)議,運用運行模式分析法分析公

2、開密鑰認證協(xié)議的安全 性,成功地發(fā)現(xiàn)了該協(xié)議的安全漏洞。并在學(xué)習了 smv模型檢測工具的基礎(chǔ)上, 研究了公開密鑰認證協(xié)議的smv檢測程序的框架和數(shù)據(jù)結(jié)構(gòu)。公開密鑰認證協(xié)議,模型檢測協(xié)議分析,形式方法,運行模式分析法,smvabstractanalysis of security protocols has a significance to promote the information construction and the research of the network and the information security in our country. this dissertat

3、ion focuses on the theory and the technique of the model checking of the security protocols. following are the main results of this thesis: introduce the basic conception, the significance, the evolvement and the state of the cryptographic protocols analysis. study the methods of model checking and

4、running modes. give the method of model checking by using the sofeware of symbolic model verifier to analysis protocol. design the protocol, use the running-mode analysis approach based on the two-party cryptographic protocols to analyze the protocol, and design a smv program to check the tw protoco

5、l. in the basis of the smv program of protocol, design the general program of smv to check the two-party protocol.令keywords: cryptographic protocolmodel, checkingprotocol analysis,formal methods, running-mode, analysis approach, smv目錄屮文摘要i英文摘要ii1緒論錯誤!未定義書簽。1.1本課題的開發(fā)背景以及開發(fā)意義51.2國內(nèi)外研究現(xiàn)狀錯誤!未定義書簽。1.3本課題

6、研究的主要內(nèi)容錯誤!未定義書簽。2公開密鑰認證協(xié)議錯誤!未定義書簽。1.1公開密鑰認證協(xié)議的基本概念錯誤!未定義書簽。1.2公開密鑰認證協(xié)議分類錯誤!未定義書簽。1.3公開密鑰認證協(xié)議的安全性及其設(shè)計規(guī)范錯誤!未定義書簽。1. 3. 1公開密鑰認證協(xié)議的安全性分析及攻擊錯誤!未定義書簽。1.3.2安全協(xié)議設(shè)計規(guī)范錯誤!未定義書簽。1.4公開密鑰認證協(xié)議模型檢測分析技術(shù)的研究與進展錯誤!未定義書簽。1.5論文安排與研究成果錯誤!未定義書簽。1. 5. 1論文安排錯誤!未定義書簽。1.5.2主要研究成果錯誤!未定義書簽。3模型檢測技術(shù)及運行模式分析法研究錯誤!未定義書簽。3. 1引言錯誤!未定義書

7、簽。3. 2模型檢測技術(shù)分析公開密鑰認證協(xié)議的基木理論錯誤!未定義書簽。3. 2.1模型檢測技術(shù)分析公開密鑰認證協(xié)議的理論研究錯誤!未定義書簽。3. 2. 2模型檢測技術(shù)的現(xiàn)狀及存在的問題錯誤!未定義書簽。3. 3兩方公開密鑰認證協(xié)議運行模式分析法133. 3. 1兩方公開密鑰認證協(xié)議運行模式分析法簡介錯誤!未定義書簽。3. 3. 2對兩方公開密鑰認證協(xié)議運行模式的研究錯誤!未定義書簽。3. 4小結(jié)164模型檢測工具smv 錯誤!未定義書簽。4. 1引言174. 2 smv語言語法及ctl表達式184.2. 1 smv語言語法4. 2. 2時態(tài)邏輯ctl錯誤!未定義書簽。錯誤!未定義書簽。4.

8、3 smv 實例215運行模式及smv分析公開密鑰認證協(xié)議實例研究錯誤!未定義書簽。5. 1引言245. 2公開密鑰認證協(xié)議245. 3運用模式法分析公開密鑰認證協(xié)議255. 4公開密鑰認證協(xié)議安全性檢測的smv程序分析295. 4.1公開密鑰認證協(xié)議的消息的定義錯誤!未定義書簽。5. 4.2公開密鑰認證協(xié)議的有限狀態(tài)錯誤!未定義書簽。5. 4.3公開密鑰認證協(xié)議的smv程序的數(shù)據(jù)結(jié)構(gòu)錯誤!未定義書簽。5. 4. 4公開密鑰認證協(xié)議的主模塊框架和冇限狀態(tài)屬性錯誤!未定義書簽。5. 4.5公開密鑰認證協(xié)議的安全性分析錯誤!未定義書簽。5. 5小結(jié)366總結(jié)錯誤!未定義書簽。參考文獻錯誤!未定義書

9、簽。致謝錯誤!未定義書簽。畢業(yè)設(shè)計(論文)知識產(chǎn)權(quán)聲明40畢業(yè)設(shè)計(論文)獨立性聲明41英文翻譯錯誤!未定義書簽。譯文原文錯誤!未定義書簽。1緒論本章主要系統(tǒng)地介紹了公開密鑰認證協(xié)議的基本概念和公開密鑰認證協(xié)議的分 類,討論了公開密鑰認證協(xié)議的安全性及其設(shè)計規(guī)范,概述了公開密鑰認證協(xié)議模型 檢測技術(shù)分析公開密鑰認證協(xié)議安全性方法的重要意義、研究進展和現(xiàn)狀。最后列舉 了本文的主要研究工作,給出了本文的內(nèi)容安排。1.1本課題研究的背景、目的及意義現(xiàn)代社會計算機和互聯(lián)網(wǎng)技術(shù)正在不斷的改變著人類社會的面貌,隨著計算機和 網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,與之伴隨而來的是信息和網(wǎng)絡(luò)的安全問題。網(wǎng)絡(luò)作為現(xiàn)代信息 傳遞的

10、一個重要載體,其安全性是整個信息基礎(chǔ)架構(gòu)的安全基礎(chǔ),而網(wǎng)絡(luò)的安全性離 不開安全的網(wǎng)絡(luò)協(xié)議。所以,網(wǎng)絡(luò)協(xié)議本身是否存在安全隱患是信息安全的一個重要 因索。因此,作為信息安全的一項重要研究內(nèi)容,公開密鑰認證協(xié)議的安全性分析與 研究。對于促進信息化建設(shè)以及網(wǎng)絡(luò)安全和信息安全研究具冇非常重要的意義。此次 畢業(yè)設(shè)計主要運用模型檢測技術(shù)分析公開密鑰認證協(xié)議的理論與技術(shù)。12國內(nèi)外研究現(xiàn)狀自從1976年公鑰密碼的思想提出以來,國際上已經(jīng)提岀了許多種公鑰密碼體制, 但比較流行的主要有兩類:一類是基于人整數(shù)因子分解問題的,其中最典型的代表是 rsa;另一類是基于離散對數(shù)問題的,比如el gamal公鑰密碼和影響

11、比較大的橢圓曲 線公鑰密碼。由于分解大整數(shù)的能力fi益增強,所以對rsa的安全帶來了一定的威脅。 廿前768比特模長的rsa已不安全。一般建議使用1024比特模長,預(yù)計要保證20 年的安全就要選擇1280比特的模長,壇大模長帶來了實現(xiàn)上的難度。而基于離散對 數(shù)問題的公鑰密碼在廿前技術(shù)下512比特模長就能夠保證其安全也特別是橢圓曲線 上的離散對數(shù)的計算要比冇限域上的離散對數(shù)的計算更困難,目前技術(shù)下只需要160 比特模長即可,適合于智能卡的實現(xiàn),因而受到國內(nèi)外學(xué)者的廣泛關(guān)注。國際上制定 了橢圓曲線公鑰密碼標準teeep1363, rsa等一些公司聲稱他們已開發(fā)出了符合該標 準的橢圓曲線公鑰密碼。我

12、國學(xué)者也提出了一些公鑰密碼,另外在公鑰密碼的快速實 現(xiàn)方面也做了一定的工作,比如在rsa的快速實現(xiàn)和橢圓曲線公鑰密碼的快速實現(xiàn)方 面都有所突破。公鑰密碼的快速實現(xiàn)是當前公鑰密碼研究中的一個熱點,包括算法優(yōu) 化和程序優(yōu)化。另一個人們所關(guān)注的問題是橢圓曲線公鑰密碼的安全性論證問題 1.3主要研究內(nèi)容:(1)了解安全協(xié)議的基本概念和密碼協(xié)議的安全性分析。(2)研究運用公開密鑰協(xié)議運行模式分析法,用此方法對公開密鑰i辦議進行分析。(3)嘗試運用模型檢測工具smv系統(tǒng)對公開密鑰協(xié)議的安全性進行分析和研究。2公開密鑰認證協(xié)議2.1公開密鑰認證協(xié)議的基本概念通過網(wǎng)絡(luò)來建立計算機系統(tǒng)之間的安全通信并證明此通信

13、是安全的,不僅是一個 日益受到關(guān)注的學(xué)術(shù)研究領(lǐng)域,而且也對社會生活具有非常重要的意義。在現(xiàn)實生活中,人們對協(xié)議并不陌生,人們都在口覺或不口覺地使用著各種協(xié)議。 例如,在處理國際事物時,國家政府之間通常要遵守某種協(xié)議;在法律上,當事人之 間常常要按照規(guī)定的法律程序去處理糾紛;在打撲克、電話訂貨、投票或到銀行存款 或取款時,都要遵守特定的協(xié)議。由于人們能夠熟練地使用這些協(xié)議來冇效地完成所 要做的事情,所以很少有人去深入地考慮它們。所謂協(xié)議(protocol),就是兩個或兩個以上的參與者為完成某項特定的任務(wù)而采 取的一系列步驟。這個定義包含三層含義:第一、協(xié)議自始至終是有序的過程,每一步驟必須依此執(zhí)

14、行。在前一步?jīng)]有執(zhí)行 完之前,后面的步驟不可能執(zhí)行。第二、協(xié)議至少需要兩個參與者。一個人可以通過執(zhí)行一系列的步驟來完成某項 任務(wù),但它不構(gòu)成協(xié)議。第三、通過執(zhí)行協(xié)議必須能夠完成某項任務(wù)。即使某些東西看似協(xié)議,但沒有完 成任何任務(wù),也不能成為協(xié)議,只不過是浪費吋間的空操作。我們把為了完成某種安全任務(wù)的協(xié)議稱為安全協(xié)議。安全協(xié)議為了保證安全性, 在設(shè)計時必須采用密碼技術(shù)。因此,我們也將安全協(xié)議稱作公開密鑰認證協(xié)議。所以, 我們口j給公開密鑰認證協(xié)議再下一個定義:公開密鑰認證協(xié)議是建立在密碼體制基礎(chǔ)上的一種交互通信的協(xié)議,它運行在計 算機通信網(wǎng)或分布式系統(tǒng)中,借助于密碼算法來達到密鑰分配、身份認證等

15、廿的。12公開密鑰認證協(xié)議分類到口前為止,還未有人對公開密鑰認證協(xié)議進行過詳細的分類。因為將公開密鑰 認證協(xié)議進行嚴格分類是很難的事情,從不同的角度出發(fā),就有不同的分類方法。例 如,根據(jù)公開密鑰認證協(xié)議的功能,可以將其分為認證協(xié)議、密鑰建立(交換、分配) 協(xié)議、認證的密鑰建立(交換、分配)協(xié)議等;根據(jù)iso的七層參考模型,又可以將 其分成高層協(xié)議和低層協(xié)議;按照協(xié)議屮所采用的密碼算法的種類,又可以分成雙鑰 (或公鑰)協(xié)議、單鑰協(xié)議或混合協(xié)議等;根據(jù)參與協(xié)議的主體個數(shù)可分為兩方協(xié)議、 三方協(xié)議和多方協(xié)議等。一般認為比較合理的分類方法是應(yīng)該按照公開密鑰認證協(xié)議 的功能來分類,而不管協(xié)議具體采用何種

16、密碼技術(shù)。固把公開密鑰認證協(xié)議分成以下 幾類:(1) 密鑰建立協(xié)議(key establishment protocol),用于完成建立公開密鑰。(2) 認證建立協(xié)議(authentication protocol),向一個實體提供對他想要進行通 信的另一個實體的身份的某種程度的確信。(3) 認證的密鑰建立協(xié)議(authenticated key establishment protocol),與另一* 身份已被證實或可被證實的實體之間建立共享秘密。1.3公開密鑰認證協(xié)議的安全性及其設(shè)計規(guī)范公開密鑰認證協(xié)議是許多分布系統(tǒng)安全的基礎(chǔ)。確保這些協(xié)議能夠安全地運行是 極為重要的。雖然公開密鑰認證協(xié)議

17、中僅僅進行很少的兒組消息傳輸,但是其中的每 一消息的組成都是經(jīng)過巧妙設(shè)計的,而且這些消息z間有著復(fù)雜的相互作用和制約。 在設(shè)計公開密鑰認證協(xié)議時,人們通常采用不同的密碼體制。而且所設(shè)計的協(xié)議也常 常應(yīng)用于許多不同的通信環(huán)境。但是,現(xiàn)冇的許多協(xié)議在設(shè)計上普遍存在著某些安全 缺陷。造成認證協(xié)議存在安全漏洞的原因冇很多,我們通過對協(xié)議的安全性進行分析, 口j以發(fā)現(xiàn)協(xié)議的設(shè)計漏洞,反過來口j以進一步指導(dǎo)協(xié)議的設(shè)計。1.3.1公開密鑰認證協(xié)議的安全性分析及攻擊在分析協(xié)議的安全性時,常用的方法是對協(xié)議施加各種可能的攻擊來測試協(xié)議的 安全程度。公開密鑰認證協(xié)議攻擊的目標通常右三個:第一個是協(xié)議中所采用的密碼

18、算 法第二個是算法和協(xié)議中所采用的密碼技術(shù);第三個是協(xié)議本身。由于我們本課題 只討論公開密鑰認證協(xié)議本身的安全性,因此我們將只考慮對協(xié)議自身的攻擊,而假 設(shè)協(xié)議中所采用的密碼算法和密碼技術(shù)均是安全的。一 般對協(xié)議自身的攻擊可以分為 被動攻擊和主動攻擊。被動攻擊是指協(xié)議外部的實體對協(xié)議執(zhí)行的部分或整個過程實施竊聽。攻擊者對 協(xié)議的竊聽并不影響協(xié)議的執(zhí)行,他所做的是對協(xié)議的消息進行觀察,并試圖從中獲 得協(xié)議中涉及的各方的某些信息。他們收集協(xié)議各方之間傳遞的消息,并對其進行密 碼分析。這種攻擊實際上屬于一種惟密文攻擊。被動攻擊的特點是很難檢測,因此我 們在設(shè)計協(xié)議時應(yīng)該盡量防止被動攻擊,使公開密鑰認

19、證協(xié)議對于被動攻擊是安全 的,而不是試圖檢測它們。主動攻擊對公開密鑰認證協(xié)議來說具有更大的危險性。在這種攻擊中,攻擊者試 圖改變協(xié)議執(zhí)行中的某些消息以達到獲取信息、破壞系統(tǒng)或獲得對資源的非授權(quán)的訪 問。他們可能在協(xié)議中加入新的消息、刪除消息、替換消息、重發(fā)舊消息、干擾信道 或修改計算機中存儲的消息。在網(wǎng)絡(luò)環(huán)境下,當通信各方彼此互不信賴時,這種攻擊 對協(xié)議的威脅顯得更為嚴重。協(xié)議的攻擊者不一定是局外人,他可能就是一個合法用 戶,可能是一個系統(tǒng)管理者,可能是幾個人聯(lián)手對協(xié)議發(fā)起攻擊,也可能就是協(xié)議中 的一方。若主動攻擊者是協(xié)議涉及的一方,我們稱其為騙子(cheater)。他可能在協(xié)議執(zhí) 彳亍中撒謊

20、,或者根本不遵守協(xié)議。騙子也口j以分為主動騙子和被動騙子。被動騙子遵 守協(xié)議,但試圖獲得協(xié)議之外更多的信息;主動騙子則不遵守協(xié)議,對正在執(zhí)行的協(xié) 議進行干擾,試圖冒充它方或欺騙對方,以達到各種非法廿的。如果運行協(xié)議的參與者中大多數(shù)都是主動騙子,那么就很難保證協(xié)議的安全性。 但是,在一些情況下,合法用戶可以檢測到主動欺騙的存在并采取一定的防范措施。在實際應(yīng)用中,對協(xié)議的攻擊方法是多種多樣的。對不同類型的公開密鑰認證協(xié) 議,存在著不同的攻擊方法。我們很難將所有攻擊方法一一列出,這里僅僅對幾個常 用的攻擊方法進行簡單介紹。(1) 重放攻擊重放攻擊主要指攻擊者利用其消息再生能力生成誠實用戶所期槊的消息

21、格式并 重放,從而達到破壞協(xié)議安全性質(zhì)的目的。防止重放攻擊的關(guān)鍵是保證消息的新鮮性。(2) 業(yè)務(wù)流分析攻擊業(yè)務(wù)流分析的目標是通過檢查數(shù)據(jù)包中未加密的字段和未保護的包的屬性來發(fā) 現(xiàn)受保護會話的機密信息。例如,通過檢查未加密的ip源和目的地址(甚至tcp端 口)或檢查網(wǎng)絡(luò)流量,業(yè)務(wù)流分析者就能確定哪些通信方在進行交互、使用什么類型 的服務(wù)、有時甚至能發(fā)現(xiàn)有關(guān)商家或個人用戶的信息。(3) 中間人攻擊當攻擊者能夠中途截獲發(fā)送端的消息,讀出它們并將它們發(fā)送給接收端(反之亦 然)時,“中間人”攻擊就口j能發(fā)生。為實施“中間人”攻擊,攻擊者將必須破解密鑰, 而這是一項比針對加密算法的攻擊還難的工作。(4)

22、“剪一貼”攻擊此攻擊的大致過程是:首先,從一些包含敏感數(shù)據(jù)的包中切下一段密文;然后, 再把這段密文拼接到另外一段密文中,被拼接的這段密文是經(jīng)過仔細選擇的,使得接 收端非常有口j能泄漏出經(jīng)過解密后的明文。(5) 截獲攻擊入侵者通過截獲協(xié)議中傳輸?shù)南⑦M行攻擊。(6) 偽造攻擊入侵者通過偽造一條假協(xié)議消息進行攻擊。1.3.2安全協(xié)議設(shè)計規(guī)范在協(xié)議的設(shè)計過程中,我們通常要求協(xié)議具冇足夠的復(fù)雜性以抵御交織攻擊。另 一方面,我們還要盡量使協(xié)議保持足夠的經(jīng)濟性和簡單性,以便可應(yīng)用于低層網(wǎng)絡(luò)環(huán) 境。如何設(shè)計公開密鑰認證協(xié)議才能滿足安全性、冇效性、完整性和公平性的要求呢? 這就需要對我們的設(shè)計空間規(guī)定一些邊界

23、條件。歸納起來,常見的安全協(xié)議的設(shè)計規(guī) 范如下:(1) 采用一次隨機數(shù)來替代時戳在已有的許多安全協(xié)議設(shè)計中,人們多采用同步認證方式,即需要各認證實體之 間嚴格保持一個同步時鐘。在某些網(wǎng)絡(luò)環(huán)境下,保持這樣的同步時鐘不難,但刈于某 些網(wǎng)絡(luò)環(huán)境卻十分困難。因此,建議在設(shè)計公開密鑰認證協(xié)議時,應(yīng)盡量地采用一次 隨機數(shù)來取代時戳,即采用異步認證方式。(2) 具有抵御常見攻擊的能力對于所設(shè)計的協(xié)議,我們必須能夠證明它們對于一些常見的攻擊方法,如已知或 選擇明文攻擊、交織攻擊等是安全的。換言之,攻擊者永遠不能從任何“回答”消息 中,或修改過去的某個消息,而推出有用的密碼消息。(3) 適用于任何網(wǎng)絡(luò)結(jié)構(gòu)的任何

24、協(xié)議層所設(shè)計的協(xié)議不但必須能夠適用于低層網(wǎng)絡(luò)機制,而11還必須能用于應(yīng)用層的認 證。這就意味著協(xié)議中包含的密碼消息必須要盡可能的短。如果協(xié)議采用了分組加密 算法,那么我們期望此密碼消息的長度等同于一組密文的長度。(4) 適用于任何數(shù)據(jù)處理能力所設(shè)計的協(xié)議不但能夠在智能卡上使用,而11也能夠在僅有很小處理能力和無專 用密碼處理芯片的低級網(wǎng)絡(luò)終端和工作站上(如pc機)上使用。這意味著協(xié)議必須 具冇盡可能少的密碼運算。(5) 可采用任何密碼算法協(xié)議必須能夠采用任何已知的和具冇代表性的密碼算法。這些算法可以是對稱加 密算法(如des, idea),也可以是非對稱加密算法(如rsa)。(6) 不受出口的

25、限制廿前,各國政府對密碼產(chǎn)品的進出口都進行了嚴格的控制。在設(shè)計公開密鑰認證 協(xié)議時,應(yīng)該盡量做到使其不受任何地理上的限制?,F(xiàn)在,大多數(shù)規(guī)定是針對分組加 密/解密算法的進出口加以限制的。然而,對于那些僅僅用于數(shù)據(jù)完整性保護和認證 功能的技術(shù)的進出口往往要容易得多。因此,對于某種技術(shù),如果它僅依賴于數(shù)據(jù)完 整性和認證技術(shù)而非數(shù)據(jù)加密函數(shù),它取得進出口許可證的口j能性就較人。例如,如 果協(xié)議僅提供消息認證碼功能,而不需要對人量的數(shù)據(jù)進行加密和解密,那么就容易 獲得進出口權(quán)。這就要求我們在設(shè)計協(xié)議時,盡量避免采用加密和解密函數(shù)。(7) 便于進行功能擴充協(xié)議對各種不同的通信環(huán)境具有很高的靈活性,允許對其

26、進行可能的功能擴展, 起碼對一些比較顯然應(yīng)具有的功能加以擴展。特別是,協(xié)議在方案上應(yīng)該能夠支持多 用戶(多于兩個)之間的密鑰共享。另一個明顯的擴展是它應(yīng)該允許在消息中加載額 外的域,進而口j以將其作為協(xié)議的一部分加以認證。(8) 最少的安全假設(shè)在進行協(xié)議設(shè)計時,我們常常要首先對網(wǎng)絡(luò)環(huán)境進行風險分析,作出適當?shù)某跏?安全假設(shè)。例如,各通信實體應(yīng)該相信它們各自產(chǎn)生的密鑰是好的,或者網(wǎng)絡(luò)中心的 認證服務(wù)器是可信賴的,或者安全管理員是可信賴的,等等。但是,初始假設(shè)越多, 協(xié)議的安全性就越差。因此,我們應(yīng)盡可能地減少初始安全假設(shè)的數(shù)廿。以上八條協(xié)議設(shè)計規(guī)范并不是一成不變的,我們可以根據(jù)實際情況作岀相應(yīng)的

27、補 充或調(diào)整。但是,遵循上面提出的八條規(guī)范是設(shè)計一個好協(xié)議的基礎(chǔ)。1.4公開密鑰認證協(xié)議模型檢測分析技術(shù)的研究與進展協(xié)議安全性分析是揭示公開密鑰認證協(xié)議中存在漏洞的重要途徑。目前,對公開 密鑰認證協(xié)議進行安全性分析的方法主要有兩種:一種是攻擊檢驗方法;另一種是采 用形式化分析的方法。攻擊檢驗方法也稱非形式化分析方法,是公開密鑰認證協(xié)議早期的主要分析方 法。這種方法對協(xié)議進行分析一般是根據(jù)已知的各種攻擊方法對協(xié)議進行攻擊,以攻 擊是否有效來檢驗公開密鑰認證協(xié)議是否安全。因為實際應(yīng)用中,存在著許多未知的 攻擊方法,這種對公開密鑰認證協(xié)議的非形式化分析方法只能發(fā)現(xiàn)協(xié)議中是否存在著 已知的缺陷,而不能

28、全面客觀地來分析公開密鑰認證協(xié)議,可能導(dǎo)致不安全的協(xié)議經(jīng) 分析是安全的這樣錯誤的結(jié)論。八十年代以后,隨著對公開密鑰認證協(xié)議安全性分析的進一步探索研究,公開密 鑰認證協(xié)議的形式化分析成為研究熱點。安全協(xié)議的形式化分析是采用一種正規(guī)的、 標準的方法對協(xié)議進行分析,以檢查協(xié)議是否滿足其安全目標。這種方法的出發(fā)點是 希望將公開密鑰認證協(xié)議形式化,然后借助于人工推導(dǎo),甚至讓算機的輔助分析,來 判別公開密鑰認證協(xié)議是否安全可靠。形式化分析方法和攻擊檢驗方式相比,它能全 面、深刻地檢測到公開密鑰認證協(xié)議中細微的漏洞。形式化分析方法不僅能發(fā)現(xiàn)現(xiàn)冇 的攻擊方法對協(xié)議構(gòu)成的威脅,而且還可能通過對公開密鑰認證協(xié)議的

29、安全性分析, 發(fā)現(xiàn)協(xié)議中細微的漏洞,從而發(fā)現(xiàn)對公開密鑰認證協(xié)議新的攻擊方法。模型檢測技術(shù)(model checking technology)是屬于一般目的的公開密鑰認證 協(xié)議的形式化分析方法,它是驗證冇限狀態(tài)系統(tǒng)的自動化分析工具,常用于硬件電路 設(shè)計和通信協(xié)議。廿前模型檢測技術(shù)也是一種十分有效的協(xié)議形式化分析工具。模型檢測技術(shù)最早是用于分析和模擬駛件工作過程的形式化方法,隨著形式化方 法的口益進步和應(yīng)用領(lǐng)域的推廣,現(xiàn)已應(yīng)用于軟件分析和通信協(xié)議模擬等多個領(lǐng)域, 但用于安全協(xié)議的分析還是近幾年新的應(yīng)用。關(guān)于模型檢測的研究越來越受到人們的 關(guān)注,因為它對協(xié)議的自動驗證和協(xié)議的工程化設(shè)計具有指導(dǎo)意義

30、。在1996年,英國學(xué)者gavin lowe首先使用csp和模型檢測技術(shù)刈公開密鑰 認證協(xié)議進行分析嗣,在這篇文章中,gavin lowe首次采用csp模型和csp模型檢 測工具 fdr(故障偏差精煉檢測器,failures divergences refinement checker)來 分析needhan-schroeder公鑰協(xié)議,并成功地找到一個ban類邏輯等分析方法以前未 發(fā)現(xiàn)的攻擊。模型檢測技術(shù)應(yīng)用于網(wǎng)絡(luò)安全協(xié)議分析的成功,使學(xué)者們相繼投入到這個領(lǐng) 域。自97年起,計算機科學(xué)家及密碼學(xué)家開始陸續(xù)應(yīng)用模型檢測這種新的形式方法 來分析網(wǎng)絡(luò)安全協(xié)議的安全性,對多個網(wǎng)絡(luò)安全協(xié)議進行了分析,

31、成功地發(fā)現(xiàn)了許多 攻擊。在文獻17中steve schneider用csp研究了公開密鑰認證協(xié)議的安全性 質(zhì),在文獻18中a. w. roscoe和m. h. goldsmith基于對csp和fdr研究,認為它們 是公開密鑰認證協(xié)議完美的檢測工具。在文獻19中w. marrero等提出了一種通用的模型檢測器,構(gòu)造了他們的模 型及代數(shù)理論,并證明該模型的冇效性。文中并對needhan-schroeder公鑰協(xié)議進行 了分析,也成功地發(fā)現(xiàn)了文獻20所找到的攻擊。在文獻21中j. c. mitchell等設(shè)計了一種通用的狀態(tài)計數(shù)工具miwd),并用它 來分析公開密鑰認證協(xié)議可能達到的狀態(tài),進一步得岀

32、公開密鑰認證協(xié)議是否安全的結(jié)論。 文中分析了 needham-schroeder協(xié)議、kerberos協(xié)議和tmn協(xié)議,并找到了這些協(xié)議所冇 已知的攻擊。在文獻22中zhe dang等用astral這種實時系統(tǒng)形式化描述語言構(gòu)造了模 型檢測器,文中并對needham-schroeder公鑰協(xié)議和tmn協(xié)議進彳亍了分析,也成功地 發(fā)現(xiàn)了 gavi n iewe所找到的所有攻擊。英國學(xué)者gavin lowe在模型檢測上做出了非凡的創(chuàng)造性成果,相應(yīng)的結(jié)論可 參見20 13。其中文獻22是一篇關(guān)于模型檢測大全性的文章,文中試圖為模型檢 測技術(shù)提供一個完整地解決方案。廿前對于協(xié)議分析來講,模型檢測已經(jīng)證

33、明是一條非常成功的途徑,這種方 法發(fā)現(xiàn)了協(xié)議的許多以前未發(fā)現(xiàn)的新的攻擊,極大地促進了網(wǎng)絡(luò)安全協(xié)議分析與設(shè)計 的研究工作。但模型檢測仍然存在著許多需要進一步研究的問題,最主要的問題在于: 模型檢測適用于冇限狀態(tài)系統(tǒng)地分析工具,如何將公開密鑰認證協(xié)議說明成冇限狀態(tài) 系統(tǒng),而又沒冇增加或減少公開密鑰認證協(xié)議的安全性。這是一個需要繼續(xù)深入研究 和探索的核心問題。15論文安排與研究成果本論文是在結(jié)合國家自然科學(xué)基金項廿“公開密鑰認證協(xié)議的模型檢測分析”的 基礎(chǔ)上,圍繞著公開密鑰認證協(xié)議的模型檢測技術(shù)進行了深入的研究,本論文的工作 成果如下:1.5. 1論文安排第二章:指出模型檢測技術(shù)分析公開密鑰認證協(xié)議

34、的現(xiàn)狀; 研究模型檢測技術(shù)分析公開密鑰認證協(xié)議的基本理論; 介紹兩方公開密鑰認證協(xié)議運行模式分析法并對其進行研究。 第三章:介紹模型檢測工具smv。第四章介紹公開密鑰認證協(xié)議;運用運行模式分析法分析公開密鑰認證協(xié)議安全性; 嘗試使用smv檢測兩方公開密鑰認證協(xié)議的模型檢測。1.5. 2主要研究成果以下是我們?nèi)〉玫囊恍┏晒?1) 系統(tǒng)的介紹了公開密鑰認證協(xié)議的一些基本概念和公開密鑰認證協(xié)議安全性分 析的重要意義、研究進展和現(xiàn)狀。(2) 研究了模型檢測技術(shù)和公開密鑰認證協(xié)議運行模式分析法。(3) 給出了運用模型檢測工具smv分析公開密鑰認證協(xié)議的方法。(4) 運用運行模式分析法分析了公開密鑰認證

35、協(xié)議,并嘗試使用smv研究了公開密鑰 認證協(xié)議的安全性檢測。2模型檢測技術(shù)及運行模式分析法研究木章首先介紹了模型檢測技術(shù)和模型檢測技術(shù)在公開密鑰認證協(xié)議分析領(lǐng)域取 得的研究成果;隨后引出了以此技術(shù)為理論依據(jù)的公開密鑰認證協(xié)議運行模式分析 法,并對其運行模式作了進一步的研究。2.1引言模型檢測技術(shù)原是用于分析和模擬硬件工作過程的形式化方法,隨著形式化方法 的推廣和應(yīng)用,模型檢測技術(shù)現(xiàn)已用于軟件分析和通信協(xié)議模擬等多個領(lǐng)域,但用于 公開密鑰認證協(xié)議的分析還是近兒年比較新的應(yīng)用。在1996年,英國學(xué)者gavin lowe首先使用csp和模型檢測技術(shù)對公開密鑰認證 協(xié)議進行分析匈。并首次采用csp模型

36、和csp模型檢測工具fdr(故障偏井精煉檢測 器,failures diverge nces ref in eme nt checker), 來分析 needham-schroeder 公鑰 協(xié)議。在這個模型中,協(xié)議參與者被說明成csp中的進程(process),消息說明成事 件(event),進而將協(xié)議說明成一個通信順序進程的集合,這些進程并行運行而且和 他們的環(huán)境交互作用,其對公開密鑰認證協(xié)議的驗證是從協(xié)議說明中抽取一個模型 (通常是一個有限狀態(tài)轉(zhuǎn)換系統(tǒng)),然后用fdr檢測,從而證明協(xié)議的安全性。此方 法成功地找到needham-schroeder協(xié)議的一個以前從未發(fā)現(xiàn)的攻擊。模型檢測的成

37、功,使研究者們和繼投入到這個領(lǐng)域。實踐證明對于公開密鑰認證 協(xié)議安全性分析來講,模型檢測是一條非常成功的途徑。2. 2模型檢測技術(shù)分析公開密鑰認證協(xié)議的基本理論2. 2.1模型檢測技術(shù)分析公開密鑰認證協(xié)議的理論研究模型檢測技術(shù)可以抽象地描述為:給定一個模型m和邏輯描述的性質(zhì)p,檢杳模 型m中性質(zhì)p是否成立。模型檢測技術(shù)對協(xié)議進行驗證與分析,是通過檢杳在惡意攻 擊者存在的情況下,協(xié)議運行的所有可能的路徑,來判斷協(xié)議是否實現(xiàn)了其安全保證; 如果沒有,將給出攻擊者的攻擊路徑。模型檢測用于有限狀態(tài)系統(tǒng)的分析,要用模型檢測技術(shù)分析公開密鑰認證協(xié)議, 就要研究如何為公開密鑰認證協(xié)議構(gòu)造有限狀態(tài)系統(tǒng)。冃前,

38、模型檢測技術(shù)分析公開 密鑰認證協(xié)議的基木方法主要采用英國學(xué)者gavin lowe研究成果,即:生成一個協(xié) 議運行的小系統(tǒng)模型(通常是一個有限狀態(tài)轉(zhuǎn)換系統(tǒng)),以及一個可與協(xié)議互操作的 攻擊者模型,并用狀態(tài)探測工具檢測系統(tǒng)是否進入一個不安全狀態(tài),即是否存在對協(xié) 議的攻擊。并且基于代數(shù)理論證明:如果小系統(tǒng)是安全的,那么協(xié)議是安全的。這種方法提出了將大系統(tǒng)中協(xié)議安全的性質(zhì)研究約化為小系統(tǒng)中協(xié)議安全性質(zhì) 的研究,這是目前這一領(lǐng)域的最新理論研究成果。使用該方法發(fā)現(xiàn)了公開密鑰認證協(xié) 議許多以前未發(fā)現(xiàn)的新的攻擊,極大地促進了公開密鑰認證協(xié)議分析與設(shè)計的研究工 作。(1)模型檢測對被分析協(xié)議的基本假設(shè):任何一個

39、系統(tǒng)都有其賴以存在的假設(shè)條件,用以避免結(jié)論的不當使用以及對 一些限制的理解,同樣,用模型檢測技術(shù)分析公開密鑰認證協(xié)議,對協(xié)議是有一定要 求的,因為只有能用有限狀態(tài)描述且滿足一定條件的協(xié)議才能模型檢測,并不是所有 的公開密鑰認證協(xié)議都能用模型檢測技術(shù)來分析。在文獻26中給出了能被模型檢測 技術(shù)所分析的公開密鑰認證協(xié)議的基木假設(shè),貝體描述如下:1)加密部分從文字形式上是可以區(qū)分的公開密鑰認證協(xié)議中所用到的加密項從文字上就可以區(qū)分。這意味著一個主體接 收到一個加密項就知道這個加密項屬于哪個消息,是消息的哪一部分。這個假設(shè)可以 防止入侵者重置協(xié)議中的消息,也能防止入侵者用另一條消息對原消息進行替換。這

40、個條件很容易滿足,例如只要在每個加密項中放入項的編號即可。2)身份的可確定性參與協(xié)議運行的所有主體的身份是可以通過協(xié)議運行中的加密項推導(dǎo)出來的。這 樣一個主體當他接收了一個加密項后,他就可以確定這個加密項是否為他而發(fā)。更進 一步,如果這個加密項起源于一個誠實的主體,接收者可以判斷出誰是加密項的產(chǎn)生 者,誰是這個加密項的接收者。假設(shè)1和假設(shè)2容易滿足,只要在每個加密項中明顯包含每個主體的身份即可: 更進一步說,如果消息是來口誠實主體,那么接收方就能確定誰是消息的發(fā)送方和誰 是消息的接收方。這兩個假設(shè)條件可避免許多攻擊,并且也使公開密鑰認證協(xié)議的分析更容易。3)協(xié)議運行時不用協(xié)議運行期間建立的任何

41、臨時秘密如果一個特別的數(shù)據(jù)項不是那種要保持為秘密的數(shù)據(jù)項,那么一個監(jiān)視通信的第 三者就能夠從有該數(shù)據(jù)項參與的運行中獲知此數(shù)據(jù)項的值(或者這個值是公共信息, 第三者早已知道它);更進一步,如果一個特別的密鑰不是那種要保持為秘密的密鑰, 那么一個監(jiān)視通信的第三者就能夠通過持有該密鑰的逆參與的運行中獲知此密鑰的 數(shù)值(或者明顯得到,或者通過加密某些數(shù)據(jù)項)。(2)模型檢測對基于模型的假設(shè):1)完善加密假設(shè)協(xié)議采用的密碼系統(tǒng)是完美的,不考慮密碼系統(tǒng)被攻破的情況等。2)入侵者的知識和能力 可竊聽及中途攔截系統(tǒng)中傳送的任何消息; 可解密用他口己加密密鑰(公鑰或單鑰)加密的消息; 在系統(tǒng)中可插入新的消息;

42、即使不知道加密部分的內(nèi)容,也可重放他所看到的任何消息(其中可改變明文 部分); 可運用他知道的所有知識(如臨時值等),并可產(chǎn)生新的臨吋值等。(3)模型檢測的結(jié)論運用模型檢測技術(shù)分析公開密鑰認證協(xié)議,就要構(gòu)造小系統(tǒng)模型,關(guān)于小系統(tǒng)的 定義和安全性質(zhì)的定義和結(jié)論如下:1)小系統(tǒng)的定義:所謂小系統(tǒng)是指參與協(xié)議運行的各主體都是唯一的(例如,一個初始者,一個響 應(yīng)者),作用也是唯一的。這些主體也都是誠實的:他們嚴格按照協(xié)議規(guī)定和遵循自 己的身份參與協(xié)議運行,并不與入侵者運行協(xié)議。2)安全性破壞定義:定義1 (強安全性破壞):一個誠實的主體相信在協(xié)議運行中用到的一個值是僅他和另外誠實主體之間的 共享秘密,

43、但入侵者知道這個值。定義2 (般安全性破壞):一個誠實的主體相信在一個完整協(xié)議運行中用到的一個值是僅他和另外誠實主 體之間的共享秘密,但入侵者知道這個值。小系統(tǒng)理論旨在解決:在協(xié)議及其環(huán)境條件下,如果小系統(tǒng)是安全的,那么大系 統(tǒng)也是安全的。文獻19中用大量篇幅,創(chuàng)建了一套基于代數(shù)方法的理論,并證明了 如下結(jié)論:如果在某一特定的小系統(tǒng)中不存在對協(xié)議強安全性破壞的攻擊,那么對任意系統(tǒng) 也不存在強安全性破壞的攻擊,當然也就不存在攻擊導(dǎo)致一般安全性破壞的攻擊,即 如果小系統(tǒng)是安全的,那么協(xié)議是安全的。小系統(tǒng)理論理論大大減少了安全協(xié)議分析的工作量,并從理論上增強了協(xié)議分析 結(jié)果的可信任度。這個理論結(jié)果極

44、大地促進了模型檢測技術(shù)在安全協(xié)議分析領(lǐng)域的廣 泛應(yīng)用,使安全協(xié)議形式化分析的主流從邏輯方法轉(zhuǎn)向了模型檢測,進而使安全協(xié)議 的形式化分析更上一層樓。2. 2. 2模型檢測技術(shù)的現(xiàn)狀及存在的問題用模型檢測技術(shù)分析網(wǎng)絡(luò)安全協(xié)議,只要對被分析的協(xié)議在小系統(tǒng)上進行強安全 性破壞分析,就可以保證協(xié)議在任意系統(tǒng)上的安全性。這一理論大大減少了公開密鑰 認證協(xié)議分析的工作量,并從理論上保證了人們對協(xié)議分析結(jié)果的信心。所以對于協(xié)議安全性分析來講,模型檢測技術(shù)已經(jīng)證明是一條非常成功的途徑。 這種方法發(fā)現(xiàn)了協(xié)議的許多以前未發(fā)現(xiàn)的新的攻擊。但模型檢測技術(shù)仍然存在著一 些 問題:(1)現(xiàn)有方法是否作到了理論上所要求的強安

45、全型破壞分析?(2)如何評價和衡量不同的檢測方法和檢測工具?(3)這種分析方法對協(xié)議的種類有所限制,對具冇滿足以下情況的協(xié)議不能進行分析指導(dǎo):1)黑匣協(xié)議。2)采用非標準的加密方式的協(xié)議。3)消息中包含長期秘密項的協(xié)議,如主體的私鑰等這類協(xié)議,目前模型檢測無法 分析。我們將用于若干次協(xié)議運行的數(shù)據(jù)項,如主體的公開密鑰、秘密密鑰等定義為長 期項。而將主體在一次協(xié)議運行中引入的短期數(shù)據(jù)項,如臨時值,短期密鑰等定義為 短期項。長期項和短期項是不同類型的數(shù)據(jù)項。因此,模型檢測分析公開密鑰認證協(xié)議仍然存在著不少問題需要解決,其關(guān)鍵在 于模型檢測只能分析冇限狀態(tài)系統(tǒng),這必然對公開密鑰認證協(xié)議冇所要求,因為

46、協(xié)議 要能用冇限狀態(tài)系統(tǒng)來描述。并11模型檢測技術(shù)本身也存在著諸如可以生成現(xiàn)實的攻 擊路徑,但很難辨別攻擊造成的原因等問題。未來的研究趨勢是如何擴大模型檢測分 析公開密鑰認證協(xié)議的種類并采用混合分析技術(shù)。2. 3兩方公開密鑰認證協(xié)議運行模式分析法2. 3.1兩方公開密鑰認證協(xié)議運行模式分析法簡介運行模式分析法由模型檢測技術(shù)分析公開密鑰認證協(xié)議若干結(jié)論推導(dǎo)而來。模型 檢測技術(shù)分析公開密鑰認證協(xié)議的基本方法是構(gòu)造一個運行協(xié)議的小系統(tǒng)模型(通常 是一個有限狀態(tài)系統(tǒng)),同時結(jié)合一個通常意義下的入侵者模型,他能與協(xié)議交互作 用,利用狀態(tài)探測工具來發(fā)現(xiàn)系統(tǒng)是否進入一個不安全狀態(tài),也就是說是否對協(xié)議存 在一

47、個攻擊。這種方法發(fā)現(xiàn)了公開密鑰認證協(xié)議許多以前未發(fā)現(xiàn)的新的攻擊,極大地 促進了公開密鑰認證協(xié)議分析與設(shè)計的研究工作。在文獻19中基于代數(shù)方法證明了對于一個構(gòu)造的小系統(tǒng),若協(xié)議在小系統(tǒng)中是 安全的,則可以不用考慮任意系統(tǒng)。因為一個公開密鑰認證協(xié)議如果在任意一個系統(tǒng) 上有攻擊的話,那么它一定有攻擊在小系統(tǒng)上。這樣只要對被分析的協(xié)議在小系統(tǒng)上 進行安全分析,就可以保證協(xié)議在任意系統(tǒng)上的安全性。這大大減少了公開密鑰認證 協(xié)議分析的工作量,并從理論上保證了人們對協(xié)議分析結(jié)果的信心。對公開密鑰認證協(xié)議構(gòu)造小系統(tǒng)模型時,對于小系統(tǒng)的分析規(guī)模必須要進行恰當 的指定。文獻22中給出當對一個公開密鑰認證協(xié)議執(zhí)行有

48、限狀態(tài)模型檢測時,有一 些涉及分析對象和分析規(guī)模的參數(shù)必須在系統(tǒng)中說明,它們是:(1)參與協(xié)議運行的誠實主休的個數(shù);(2)每個誠實主休的身份;(3)毎個誠實主休所能運行協(xié)議的次數(shù);(4)入侵者的身份和能運行協(xié)議的次數(shù)。(5)入侵者的初始知識和獲取信息的能力等。對于兩方公開密鑰認證協(xié)議(即參與協(xié)議運行的只有兩個主體,初始者和響應(yīng) 者),文獻18中定義了如下的小系統(tǒng)(有限狀態(tài)系統(tǒng)):參與協(xié)議運行的主體集合:初始者a,響應(yīng)者b,入侵者i。其中a和b是誠 實的主體,他們將嚴格按照初始者和響應(yīng)者的身份參與協(xié)議運行,并且a和b只運行 一次公開密鑰認證協(xié)議,而入侵者i則不受此限制,他既可以以自己本來身份t參

49、與 協(xié)議運行,也口j以冒充a和b的身份以1(a)和1(b)方式參與協(xié)議運行,并可以多次 運行公開密鑰認證協(xié)議。在此小系統(tǒng)前提下,兩方公開密鑰認證協(xié)議所冇可能的初始者集合和所冇可能的 響應(yīng)者集合如下所示:初始者集合:a, t, t(a);響應(yīng)者集合:b, t, t(b)o模型檢測試圖檢查協(xié)議運行的所有可能的路徑,對于只有合法用戶a、b及入侵 者i的兩方公開密鑰認證協(xié)議,根據(jù)對a、b、t身份和運行次數(shù)的限制,可以得岀對 于兩方公開密鑰認證協(xié)議初始者和響應(yīng)者所有可能的運行模式,共冇十四種。下面是 雙方公開密鑰認證協(xié)議運行模式的運用,其中x->y表示一次兩方協(xié)議運行,x是協(xié) 議的初始者,y是協(xié)議

50、的響應(yīng)者。這十四種運行模式具體描述如下:(1) a-*b在這種運行模式中,a和b運行一次協(xié)議,其中a作為初始者,b作為響應(yīng)者, 這是協(xié)議正常運行情況。(2) a->b t->t這種運行模式包含了兩個并行運行的協(xié)議,a和t運行一次協(xié)議,i和i自己運 行一次協(xié)議。(3) a-*t這種運行模式只有一次協(xié)議運行,即a和運行一次協(xié)議。(4) a-*t t-*b這種運行模式包含了兩個并行運行的協(xié)議,a和t運行一次協(xié)議,i和b運行一 次協(xié)議。(5) a-*t t(a) b這種運行模式包含了兩個并行運行的協(xié)議,a和i運行一次協(xié)議,i冒充a和b 運行一次協(xié)議。(6) a-*t t-*t這種運行模式包

51、含了兩個并行運行的協(xié)議,a和t運行一次協(xié)議,i和i自己運 行一次協(xié)議。(7) a-*t(b)在這種運行模式中,a和冒充b的運行協(xié)議。(8) a->t(b) t->b這種運行模式包含了兩個并行運行的協(xié)議,a和冒充b的i運行協(xié)議,i和b運 行一次協(xié)議。(9) a->t(b) t(a) ->b這種運行模式包含了兩個并行運行的協(xié)議,a和冒充b的i運行協(xié)議,i冒充a 和b運行一次協(xié)議。(10) a-*t(b) t-*t這種運行模式包含了兩個并行運行的協(xié)議,a和冒充b的i運行協(xié)議,i和i自 己運行一次協(xié)議。(11) t-*b在這種運行模式中,和b運行一次協(xié)議。(12) t->

52、b t->t這種運行模式包含了兩個并行運行的協(xié)議,t和b運行一次協(xié)議,i和i自己運 行一次協(xié)議。(13) t(a) -* b在這種運行模式中,t冒充a和b運行一次協(xié)議。(14) t(a) b t-*t這種運行模式包含了兩個并行運行的協(xié)議,t冒充a和b運行一次協(xié)議,i和t 自己運行一次協(xié)議。對于兩方公開密鑰認證協(xié)議生成的小系統(tǒng)進行安全性分析,只要模型檢測這14 種口j能的運行模式,如果小系統(tǒng)不存在攻擊的話,則協(xié)議是安全的。2. 3. 2對兩方公開密鑰認證協(xié)議運行模式的研究通過研究兩方公開密鑰認證協(xié)議運行模式中的這十四種運行模式,我們可以發(fā)現(xiàn) 有些運行模式是不需耍進行分析的。例如對于兩方公開

53、密鑰認證協(xié)議,1一1這種情況對于入侵者i來講是不能增加 任何知識的,故此運行情況中有i-i的都可以不用分析,屬于這種情況的有運行模 式(2)、模式(6)、模式(10)、模式(12)、模式(14)。對于運行模式(3)、模式(11),協(xié)議只有一次運行,a或b都清處自己正和一 個合法用戶i運行協(xié)議,同時入侵者i以自身身份參與運行可以知道這一次協(xié)議運行 中的所有信息,沒有可騙的第三方,因此也不必分析。這樣對丁兩方公開密鑰認證協(xié)議只要分析剩余的7種運行模式即可。也就是說如 果對這7種運行模式進行分析,協(xié)議沒有攻擊的話,則整個協(xié)議就是安全的,但有一 個前提:對被分析的兩方公開密鑰認證協(xié)議必須滿足木章中所給

54、出的對公開密鑰認證 協(xié)議的所有假設(shè),否則無法從理論上保證分析結(jié)果的正確性。這7種運行模式列舉如 下:(1) a->b(2) a-t t-b(3) a->t t(a) -> b(4) a-t(b) it(5) a->i(b) t(a) ->b(6) a-*t(b)(7) t(a) b2. 4小結(jié)木章主要介紹了模型檢測技術(shù)和基于模型檢測技術(shù)的兩方公開密鑰認證協(xié)議運 行模式分析法,并對此方法所需分析的運行模式進行了研究。運用運行模式分析法分析公開密鑰認證協(xié)議有如下好處:(1) 使用運行模式法分析公開密鑰認證協(xié)議吋,可以獨立于任何模型檢測工具來 分析符合要求的兩方公開密鑰

55、認證協(xié)議,并且可以檢測不同模型檢測工具在分析兩方 公開密鑰認證協(xié)議時是否完全覆蓋了這些運行模式,從而保證分析的完整性和正確 性。(2) 使用運行模式法分析公開密鑰認證協(xié)議吋,可以脫離任何模型檢測工具,手 工分析符合要求的兩方公開密鑰認證協(xié)議。這對于分析簡單的兩方公開密鑰認證協(xié)議 更為方便。3模型檢測工具smv3. 1引言smv系統(tǒng)是一項為了要檢測有限狀態(tài)系統(tǒng)是否符合ctl (computation tree logic)邏輯所表達的系統(tǒng)屬性的工具。smv的輸入語言允許被設(shè)計成有限狀態(tài)系統(tǒng) 的描述,它的范圍包扌舌從全同步到全界步,以及從具體到抽象。這種語言提供了模塊 分層描述,以及復(fù)用組成功能的

56、定義。ctl邏輯允許一種豐富的時態(tài)屬性,它包括安 全性、靈活性、直接性以及死鎖的解除等等。smv使用0bdd基礎(chǔ)的符號模型檢測等 算法來有效指定在ctl中的表達是否是滿意的。模型檢測工具通過在模型中建立一個包含所有狀態(tài)的圖的方式來驗證系統(tǒng)性質(zhì)。 在smv中,模型檢測程序只檢測那些從初始狀態(tài)可以到達的狀態(tài)的路徑是否滿足屬性 要求。對于狀態(tài)變量個數(shù)的增加,計算量將快速增長,為了盡量避免此問題,smv采 用二進制判決圖的方式來隱含表示模型的狀態(tài)圖和滿足系統(tǒng)屬性的狀態(tài)集合,這樣 smv采用隱含技術(shù)方法從而可表達更多的狀態(tài)。所以smv是一種符號模型強有力的分 析和驗證工貝??倆, smv語言被設(shè)計成能夠

57、描述模型風格的形式,它有可能和當簡潔的描述同 步和界步系統(tǒng),還可以描述具體模型和抽象模型,基于以上原因,我們選擇了 smv 作為分析公開密鑰認證協(xié)議的模型檢測工貝。smv分析軟件工作原理如下:smv語言的主要目的是為了描述有限狀態(tài)結(jié)構(gòu)的轉(zhuǎn)換關(guān)系式,在其中的任何表達 式都能用來描述這種關(guān)系,它以有限狀態(tài)系統(tǒng)說明及其系統(tǒng)屬性作為輸入,若有限 狀態(tài)系統(tǒng)具有給定的屬性,則輸出true,否則輸出false并同時顯示系統(tǒng)不滿足 屬性的反例(見圖3-1) o其中系統(tǒng)說明部分用smv分析軟件規(guī)定的smv語言編程,系 統(tǒng)屬性部分則用ctl (computation tree logic)邏輯表達。trueorfalse以及反例系統(tǒng)說明jsmv系統(tǒng)屬性圖3-1 smv分析軟低工作原理示意圖3. 2 smv語言語法及ctl表達式3.2.1 smv語言語法(1)表達式表達式的概念來自于變量、常'量以及包括布爾連接、整數(shù)運算操作和case表達 式的操作集合。一個cas

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論