專利名稱:一種安全協(xié)議形式化驗證方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及信息安全的安全協(xié)議形式化驗證領(lǐng)域,確切給出一種基于模型檢 測的安全協(xié)議形式化驗證方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)信息的交互越來越頻繁。為了讓網(wǎng)絡(luò)通訊更加安 全可靠,人們引入了安全協(xié)議來保障傳輸信息的安全秘密交互。不同的應(yīng)用場景和應(yīng)用目 的決定了安全協(xié)議需要具備某些安全性質(zhì)。但由于網(wǎng)絡(luò)環(huán)境的復(fù)雜性,安全協(xié)議的安全性 質(zhì)往往難以得到保證。因此,人們需要一種有效的途徑來對安全協(xié)議進(jìn)行全面而嚴(yán)格的分 析和驗證。安全協(xié)議的形式化驗證方法應(yīng)運(yùn)而生。應(yīng)用形式化方法對安全協(xié)議進(jìn)行分析和驗證時,首先需要對安全協(xié)議運(yùn)行的網(wǎng)絡(luò) 環(huán)境作某些假設(shè),并基于這些假設(shè)對安全協(xié)議行為及其期望的安全目標(biāo)分別進(jìn)行形式化建 模和描述,再用數(shù)學(xué)或者計算機(jī)的方法驗證該假設(shè)環(huán)境下安全協(xié)議是否達(dá)到了期望的安全 目標(biāo)。近年來比較流行的安全協(xié)議形式化驗證方法主要包括基于Dolev-Yao模型刻畫的網(wǎng) 絡(luò)環(huán)境假設(shè),使用模型檢測或者定理證明來對安全協(xié)議進(jìn)行分析和驗證。由于定理證明需 要使用者擁有非常高的證明技巧來人工參與證明過程,因此限制了其普及的程度。而模型 檢測由于其自動化程度高的優(yōu)勢得到了廣泛的應(yīng)用。應(yīng)用模型檢測分析安全協(xié)議時,需要使用某種規(guī)范語言對協(xié)議行為和安全目標(biāo)進(jìn) 行建模和描述,然后使用模型檢測器來檢測是否存在不滿足安全目標(biāo)的狀態(tài)。由于模型檢 測需要對狀態(tài)進(jìn)行檢測,而協(xié)議的并發(fā)性往往導(dǎo)致狀態(tài)空間中狀態(tài)的指數(shù)級增長,引發(fā)狀 態(tài)爆炸,從而導(dǎo)致檢測過程崩潰,因此需要引入必要的措施來解決或者延緩狀態(tài)爆炸。此 外,由于模型檢測需要首先對安全協(xié)議行為進(jìn)行形式化建模,形式化方法本身具有的復(fù)雜 性增加了準(zhǔn)確建模的困難性。特別是在對某些復(fù)雜協(xié)議進(jìn)行建模時,如果缺乏豐富的經(jīng)驗, 要得到安全協(xié)議的精確模型變得相當(dāng)困難??偟膩砜矗壳澳P蜋z測方法的局限性主要在于容易引發(fā)狀態(tài)爆炸和準(zhǔn)確建模的 復(fù)雜性。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中模型檢測存在的問題,本發(fā)明提出了一種可以降低準(zhǔn)確建模 復(fù)雜性并且不容易弓I發(fā)狀態(tài)爆炸的安全協(xié)議形式化驗證方法。本發(fā)明依據(jù)的理論基礎(chǔ)分析Amir Herzberg和Igal Yoffe共同提出了使用層次式規(guī)范來對分布式算法進(jìn)行分 析,目前這一方法主要被用來設(shè)計復(fù)雜實用的安全電子商務(wù)系統(tǒng)。該方法主要通過手動證 明的方式來證明一些分層特征比較明顯的分布式算法的某些性質(zhì),該方法首先證明底層規(guī) 范的某些性質(zhì),通過歸約將高層規(guī)范的性質(zhì)歸結(jié)到底層規(guī)范性質(zhì)是否滿足上,從而證明高 層規(guī)范性質(zhì)是否能夠滿足。因此,人們可以將對簡單構(gòu)件(如單層規(guī)范)的分析應(yīng)用到復(fù)雜構(gòu)件(如多層規(guī)范)的分析上。引理1協(xié)議^和π H通過唯一的公共接口 i進(jìn)行交互,假設(shè)在某次執(zhí)行X中,
協(xié)議π H滿足似JQ I1S^(Z),協(xié)議^滿足&(幻0《(幻,其中&00和Sh(X)是否滿
足不依賴于公共接口 i上發(fā)生的事件,則將協(xié)議^和η H進(jìn)行復(fù)合后,得到的協(xié)議滿足 &(X) ^1Sff(X)。本發(fā)明中的方案將層次式的方法與模型檢測結(jié)合在一起,通過對安全協(xié)議進(jìn)行層 次劃分,降低形式化建模的復(fù)雜性,再將期望的安全目標(biāo)分解為與各分層聯(lián)系密切的子目 標(biāo),分解后的各個子目標(biāo)必須滿足通過引理1可以復(fù)合成原目標(biāo),然后我們只需要在各分 層中驗證對應(yīng)于該層的子目標(biāo)即可。若該分層不滿足其對應(yīng)的子目標(biāo),則導(dǎo)出相應(yīng)的反例, 如果該反例是由協(xié)議設(shè)計存在的問題引起,可根據(jù)該反例進(jìn)而構(gòu)造出對應(yīng)于期望安全目標(biāo) 的反例。為了實現(xiàn)本發(fā)明的目的,采用的技術(shù)方案概述如下一種安全協(xié)議的形式化驗證方法,其步驟包括1)在設(shè)定的網(wǎng)絡(luò)環(huán)境下,給定一個安全協(xié)議;2)根據(jù)安全協(xié)議執(zhí)行步驟實現(xiàn)的功能對安全協(xié)議進(jìn)行分層;3)將期望的安全目標(biāo)分解為與各分層對應(yīng)的子目標(biāo);4)依次對各分層進(jìn)行建模,對各子目標(biāo)進(jìn)行描述;5)分別在步驟4)構(gòu)造的分層模型上驗證是否滿足與之對應(yīng)的子目標(biāo),若滿足則 完成對安全協(xié)議的驗證。所述步驟2)安全協(xié)議實現(xiàn)某一功能的所有步驟劃分為一層。所述步驟幻將期望的安全目標(biāo)分解為與各分層對應(yīng)的子目標(biāo),分解后得到的子 目標(biāo)根據(jù)復(fù)合定理能夠推導(dǎo)出安全目標(biāo)。所述步驟4)對分層建模采用任意的能夠用來描述協(xié)議行為的語言;對子目標(biāo)采 用規(guī)范語言進(jìn)行描述。所述步驟幻使用基于模型檢測的協(xié)議驗證平臺進(jìn)行驗證。以各分層模型和對應(yīng)子目標(biāo)描述為驗證平臺輸入,驗證分層模型是否滿足與之對 應(yīng)的子目標(biāo)。所述步驟5)某分層模型與各子目標(biāo)之間不滿足,則導(dǎo)出相應(yīng)的反例,判斷該反例 是該分層的一個反例,則根據(jù)該反例來構(gòu)造安全目標(biāo)的反例;判斷該反例是由于該分層模 型不準(zhǔn)確引起,則修改該分層的模型并重新進(jìn)行驗證。與現(xiàn)有技術(shù)相比,本發(fā)明的方法具有的技術(shù)效果有1、本發(fā)明提出的驗證方法,將層次式與模型檢測方案結(jié)合起來,通過將安全協(xié)議 劃分成層次分明的模塊分別進(jìn)行驗證,降低了準(zhǔn)確建模的復(fù)雜性;2、同時由于分別對協(xié)議的各個模塊進(jìn)行驗證,在不影響驗證結(jié)果正確性的前提 下,極大地削減了檢測過程中狀態(tài)空間的規(guī)模,能夠大大降低狀態(tài)爆炸的幾率,有效地延緩 狀態(tài)爆炸的到來。
圖1為本發(fā)明方法流程圖2為本發(fā)明具體實施例中Kerberos協(xié)議分層后的各層次間的邏輯關(guān)系圖。
具體實施例方式以下結(jié)合附圖和具體實施方式
對本發(fā)明的方法進(jìn)行詳細(xì)的說明。如圖1所示,在給定一個設(shè)定網(wǎng)絡(luò)環(huán)境的條件下,給出一個安全協(xié)議,本發(fā)明的驗 證方法流程包括協(xié)議分層、目標(biāo)分解、層次式建模和描述以及分層驗證等步驟。1)協(xié)議分層具體的協(xié)議為了實現(xiàn)安全目標(biāo)都使用了一定的安全手段,具體到實際 協(xié)議中,體現(xiàn)為協(xié)議中包括某些步驟來實現(xiàn)這些安全保障。因此,我們可以根據(jù)協(xié)議步驟實 現(xiàn)的功能對協(xié)議進(jìn)行分層,分層應(yīng)盡量保證使得不同的層之間功能相對獨(dú)立或者底層功能 是上層功能實現(xiàn)的基礎(chǔ)并盡量實現(xiàn)高內(nèi)聚、低耦合,確保協(xié)議的每個步驟都包含于且只包 含于某一個分層。例如,大多數(shù)密鑰建立協(xié)議都包含了對各主體的認(rèn)證階段和在認(rèn)證基礎(chǔ) 上進(jìn)行的密鑰分發(fā)階段,對此我們可將實現(xiàn)主體認(rèn)證的協(xié)議步驟劃分為一層,將實現(xiàn)在認(rèn) 證基礎(chǔ)上進(jìn)行的密鑰分發(fā)的協(xié)議步驟劃分為另一層。2)目標(biāo)分解將期望的安全目標(biāo)分解成與各分層相關(guān)聯(lián)的子目標(biāo),但應(yīng)保證所有子 目標(biāo)根據(jù)引理1可以復(fù)合出原安全目標(biāo)。如在步驟1提到的密鑰建立協(xié)議中,若該協(xié)議期 望的安全目標(biāo)為“敵手不能通過非法途徑獲得密鑰”,則我們可以將該目標(biāo)分解為認(rèn)證階段 待驗證的子目標(biāo)“敵手無法通過非法途徑獲得認(rèn)證”和在密鑰分發(fā)階段待驗證的子目標(biāo)“未 獲得認(rèn)證的敵手不能獲得密鑰”。3)層次式建模和描述依次對各分層進(jìn)行建模、對子目標(biāo)進(jìn)行描述。對分層建???以采用任意的能夠用來描述協(xié)議行為的語言,如CoreASM語言或者CSP語言等;對子目標(biāo)進(jìn) 行描述可以采用多種規(guī)范語言,如命題邏輯、時序邏輯和一階邏輯等,具體如CTL公式或者 LTL等。分層進(jìn)行建模降低了對協(xié)議準(zhǔn)確建模的復(fù)雜性。4)分層驗證在各分層模型上驗證與之相關(guān)聯(lián)的子目標(biāo),使用基于模型檢測的協(xié)議 驗證平臺(如ASM-SPV、FDR和OFMC等);若分層模型不滿足與之相關(guān)的子目標(biāo),則導(dǎo)出相 應(yīng)的反例,若該反例是由協(xié)議設(shè)計引發(fā),則根據(jù)該反例構(gòu)造出與安全目標(biāo)對應(yīng)的反例,否則 修改該分層模型使之與協(xié)議行為一致并重新進(jìn)行驗證。下面以對Kerberos IV協(xié)議為例,對本發(fā)明中的方案做進(jìn)一步的詳細(xì)描述。 KerberosIV協(xié)議具體表示如下l.A^ Kas :A, Tgs, Tl
權(quán)利要求
1.一種安全協(xié)議的形式化驗證方法,其步驟包括1)在設(shè)定的網(wǎng)絡(luò)環(huán)境下,給定一個安全協(xié)議;2)根據(jù)安全協(xié)議執(zhí)行步驟實現(xiàn)的功能對安全協(xié)議進(jìn)行分層;3)將期望的安全目標(biāo)分解為與各分層對應(yīng)的子目標(biāo);4)依次對各分層進(jìn)行建模,對各子目標(biāo)進(jìn)行描述;5)分別在步驟4)構(gòu)造的分層模型上驗證是否滿足與之對應(yīng)的子目標(biāo),若滿足則完成 對安全協(xié)議的驗證。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟2)安全協(xié)議實現(xiàn)某一功能的所有 步驟劃分為一層,協(xié)議的某一步驟都包含于且只包含于某一分層。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟3)將期望的安全目標(biāo)分解為與各 分層對應(yīng)的子目標(biāo),分解后得到的子目標(biāo)根據(jù)復(fù)合定理能夠推導(dǎo)出安全目標(biāo)。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟4)對分層建模采用任意的能夠用 來描述協(xié)議行為的語言;對子目標(biāo)采用規(guī)范語言進(jìn)行描述。
5.如權(quán)利要求1所述的方法,其特征在于,所述步驟5)使用基于模型檢測的協(xié)議驗證 平臺進(jìn)行驗證。
6.如權(quán)利要求5所述的方法,其特征在于,以各分層模型和對應(yīng)子目標(biāo)描述為驗證平 臺輸入,驗證分層模型是否滿足與之對應(yīng)的子目標(biāo)。
7.如權(quán)利要求1所述的方法,其特征在于,某分層模型與各子目標(biāo)之間不滿足,則導(dǎo)出 相應(yīng)的反例,判斷該反例是該分層的一個反例,則根據(jù)該反例來構(gòu)造安全目標(biāo)的反例;判斷 該反例是由于該分層模型不準(zhǔn)確引起,則修改該分層的模型并重新進(jìn)行驗證。
全文摘要
本發(fā)明提供了一種安全協(xié)議的形式化驗證方法,其步驟包括1)在設(shè)定的網(wǎng)絡(luò)環(huán)境下,給定一個安全協(xié)議;2)根據(jù)安全協(xié)議執(zhí)行步驟實現(xiàn)的功能對安全協(xié)議進(jìn)行分層;3)將期望的安全目標(biāo)分解為與各分層對應(yīng)的子目標(biāo);4)依次對各分層進(jìn)行建模,對各子目標(biāo)進(jìn)行描述;5)分別在步驟4)構(gòu)造的分層模型上驗證是否滿足與之對應(yīng)的子目標(biāo),若滿足則完成對安全協(xié)議的驗證。本發(fā)明的方法將層次式與模型檢測方案結(jié)合起來,通過將安全協(xié)議劃分成層次分明的模塊分別進(jìn)行驗證,降低了準(zhǔn)確建模的復(fù)雜性;在不影響驗證結(jié)果正確性的前提下,極大地削減了檢測過程中狀態(tài)空間的規(guī)模。
文檔編號H04L29/06GK102065083SQ20101057894
公開日2011年5月18日 申請日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者劉峰, 彭建華, 薛銳 申請人:中國科學(xué)院軟件研究所