基于擴展uml的輕量級安全協(xié)議形式化驗證方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機網(wǎng)絡(luò)以及計算機安全領(lǐng)域,特別涉及一種安全交換協(xié)議的公平 性以及不可否認性的驗證。
【背景技術(shù)】
[0002] UML(Unified Modeling Language)(即統(tǒng)一建模語言)是當前應用十分廣泛的一 種可視化建模語言,為軟件開發(fā)各個階段提供了模型和可視化的支持,實際上業(yè)已成為面 向?qū)ο蟮姆治龊驮O(shè)計中的工業(yè)標準。UML為開發(fā)人員的系統(tǒng)設(shè)計提供了豐富的建模元素, 但是模型元素之間缺乏準確的語義約束,使得最終模型往往出現(xiàn)不一致、二義性等問題,且 UML缺乏有效的推理機制和完善的模型檢查能力,不便于使用工具對其描述的規(guī)約進行動 態(tài)分析和驗證。在使用UML描述一些安全攸關(guān)的軟件或系統(tǒng)時,UML缺乏精確語義、不夠精 煉、存在二義性、正確性難以驗證等問題使軟件系統(tǒng)引入新的缺陷。雖然目前有不少方法采 用形式化的方法來對UML模型進行語義上的約束并驗證,但形式化方法較為復雜,軟件工 程師不能通過簡單的學習來使用這些形式化方法。
[0003] 因此,UML提供了一些擴展機制允許設(shè)計者定義并擴展模型元素的語義,它們主要 包括約束(Constraint)、標記值(Tagged Values)與構(gòu)造型(Stereotype),而這些擴展最 終可以形成一個特定的輪廓(Profile)。除此之外,對象管理組織(OMG)提出了對象約束語 言(OCL),對模型元素之間的約束關(guān)系進行了形式化定義。
[0004] 為了解決這個問題,本專利提出了 UML的輕量級形式化框架,并基于該框架實現(xiàn) 了基于擴展UML的安全協(xié)議形式化驗證方法。在此基礎(chǔ)上,本專利設(shè)計并實現(xiàn)了安全協(xié)議 形式化驗證平臺,完成UML模型向形式化模型的自動轉(zhuǎn)換,并集成了驗證工具對安全屬性 進行驗證。本專利的研究內(nèi)容能夠更好的輔助軟件工程師和安全領(lǐng)域?qū)<以谑褂肬ML的同 時使用形式化方法驗證系統(tǒng)相關(guān)的安全特性,并支持使用工程化的方法來驗證安全協(xié)議的 安全屬性,保證協(xié)議的安全性。
[0005] 形式化方法從廣義上來講是借助數(shù)學方法來解決軟件工程領(lǐng)域的問題,如建立數(shù) 學模型及對模型進行分析等,從狹義上講主要是運用形式化語言進行形式化描述、模型推 理和驗證。形式化方法可以分為形式化描述以及建立在描述基礎(chǔ)之上的形式化驗證。由于 形式化方法是基于嚴格數(shù)學理論的,產(chǎn)生精確且無二義性的形式規(guī)約,因此可以給軟件開 發(fā)提供嚴格的數(shù)學基礎(chǔ),對于提高軟件的可靠性有著顯著作用。將UML與形式化方法的結(jié) 合對于保證軟件質(zhì)量,提高軟件可靠性具有十分重大的意義。目前比較常用的形式化方法 有Z語言、CSP方法等。
[0006] 近30年來,許多研究者嘗試整合面向?qū)ο蠼<夹g(shù)和形式化建模技術(shù),以達到同 時獲取兩者的優(yōu)點的目的。目前,UML的形式化大體上可以分為以下兩種技術(shù)(1)轉(zhuǎn)換UML 模型到形式化模型;(2)為UML圖提供一種抽象語法并為之直接定義一種形式化語義。第 一種模型轉(zhuǎn)換的方法能夠利用現(xiàn)有的數(shù)學推理和證明工具來幫助模型分析人員對形式模 型進行分析,自動化程度高。
[0007] 安全協(xié)議又叫做密碼協(xié)議,它通過規(guī)定一些事先約定好的規(guī)則,保證在計算機網(wǎng) 絡(luò)和分布系統(tǒng)中兩個或者多個主體之間消息的傳遞和處理的安全性。安全協(xié)議廣泛應用于 銀行及電子商務(wù)系統(tǒng),協(xié)議存在的漏洞足以破壞依賴于它的系統(tǒng)的安全性。安全協(xié)議在設(shè) 計中很容易出錯,且其執(zhí)行過程具有高度不可確定性,因此安全協(xié)議的分析往往需要借助 一些形式化方法來提供更高層次的保證。近年來,安全協(xié)議的形式化驗證方法及工具已經(jīng) 越來越多,如ProVerif、AVISPA及NRL等工具已在安全協(xié)議的分析上被廣泛使用,但這些形 式化的方法及工具的使用及分析過程需要領(lǐng)域安全專家參與,軟件工程師們并不能通過簡 單的學習就能應用這些方法,使用難度較大。
[0008] 為了解決這個問題,已有不少研究將UML與形式化方法結(jié)合,使用UML簡明清晰的 性質(zhì)進行安全協(xié)議模型的描述,并利用形式化方法嚴謹、可驗證的特點來對模型的安全性 質(zhì)進行驗證。目前UML與形式化結(jié)合的方法主要是將表示UML模型的各種圖轉(zhuǎn)化到基于不 同形式化規(guī)范語言的形式模型,如將UML的類圖、狀態(tài)圖、時序圖等模型形式化為CSP、應用 P1演算、Z或者ObjectZ,并結(jié)合自動化推理工具,如定理證明、模型檢測等進行驗證。
[0009] 通過對UML方法與形式化方法的深入研究,分析當前已有的各種UML與形式化結(jié) 合方法的優(yōu)勢和不足,提出了基于UML的輕量形式化框架。
【發(fā)明內(nèi)容】
[0010] 為了克服上述現(xiàn)有技術(shù)的問題,本發(fā)明提出了一種基于擴展UML的輕量級安全協(xié) 議形式化驗證方法,利用一種基于UML的輕量形式化框架,實現(xiàn)了安全協(xié)議的形式化驗證; 通過對UML模型元素到應用P1演算之間轉(zhuǎn)化的映射規(guī)則,以此為基礎(chǔ)完成了 UML模型向形 式化模型的自動轉(zhuǎn)換,并驗證了安全協(xié)議的私密性和認證性。
[0011] 本發(fā)明提出了一種基于擴展的UML模型為框架的安全協(xié)議形式化驗證方法,該方 法包含以下步驟:
[0012] 依據(jù)安全協(xié)議相關(guān)的數(shù)據(jù)類型、密碼原語和函數(shù)、全局變量、協(xié)議主體的相關(guān)信息 和安全屬性建立UML模型,至少包括類圖模型和時序圖模型;
[0013] 對UML模型進行擴展,分別定義類圖模型的擴展規(guī)則和時序圖模型的擴展規(guī)則;
[0014] 形式化模型的生成,包括XMI格式UML模型解析和匹配推理規(guī)則制定,其中:XMI 格式UML模型解析的步驟是將輸入XMI文件解析為UML模型元素,為生成形式化模型作準 備;匹配推理規(guī)則的步驟制定是服務(wù)于轉(zhuǎn)化推理引擎,通過制定UML元素與形式化模型元 素的映射關(guān)系,利用推理規(guī)則與轉(zhuǎn)化推理引擎,完成形式化模型的自動生成;
[0015] 將XML文件向P1演算模型轉(zhuǎn)化,包括進程定義部分轉(zhuǎn)化、子進程轉(zhuǎn)化以及主進程 轉(zhuǎn)化,其中:
[0016] 所述進程定義部分轉(zhuǎn)化將類圖模型中的構(gòu)造型定義的內(nèi)容,結(jié)合時序圖中添加的 消息元素類型集合,轉(zhuǎn)化成類型、變量、密碼原語與函數(shù)及安全屬性等進程定義內(nèi)容,自動 構(gòu)建進程定義部分;
[0017] 所述子進程轉(zhuǎn)化分析類圖中〈〈Participator?、〈〈Global?、 〈〈Cryptographic?、〈〈Confidentiality?構(gòu)造型描述的協(xié)議參與者信息、全局變量、密碼 原語及私密性驗證操作信息,并結(jié)合時序圖中參與者對應的對象在生命線上的所有消息及 消息中元素類型的標記值集合,制定匹配規(guī)則與轉(zhuǎn)換方法,完成應用P 1演算模型的子進程 定義的轉(zhuǎn)化,將擴展的UML模型轉(zhuǎn)化為應用P1演算模型;
[0018] 所述主進程轉(zhuǎn)化將實例化多個特定參數(shù)的子進程定義來表示不同協(xié)議會話中不 同角色的協(xié)議參與者,并在公共信道發(fā)布共享消息,將UML擴展模型轉(zhuǎn)化為主進程定義部 分,需要分析擴展類圖模型中每一個構(gòu)造型為〈〈Participator?的類,每個類給出了一個 特定角色的協(xié)議參與者子進程的相關(guān)靜態(tài)信息。
[0019] 并利用擴展后的形式化驗證工具Proverif對生成的形式化模型進行安全屬性的 驗證。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明預計可以達到如下有益效果:
[0021] 1、采用標準的UML擴展方式,定義安全協(xié)議領(lǐng)域元素,用工程化的協(xié)議表達方式 表達協(xié)議過程,避免了復雜建模過程,降低了建模難度;
[0022] 2、通過擴展的UML模型,結(jié)合知識推理方法完成ProVerif規(guī)格的應用Pi演算模 型的自動構(gòu)建,保證建模領(lǐng)域的安全特性,克服了形式化建模的復雜性;
[0023] 3、成ProVerif工具完成驗證,基于正則表達式分析驗證結(jié)果,便于模型驗證與精 化;
[0024] 綜上所述,本發(fā)明具有模型直觀、建模方法簡單、協(xié)議表達自然分析、利于模型檢 測和精化等特點。
【附圖說明】
[0025] 圖1為安全交換協(xié)議模型檢測平臺總體架構(gòu)設(shè)計;
[0026] 圖2為消息{{pkB, k} skB} pkA樹形結(jié)構(gòu)圖;
[0027] 圖3為NS公鑰協(xié)議的擴展UML類圖模型圖;
[0028] 圖4為NS公鑰協(xié)議的擴展UML時序模型圖;
[0029] 圖5為NS公鑰協(xié)議的XMI格式類圖模型解析的用戶界面圖
[0030] 圖6為NA被攻擊者獲得的路徑圖;
[0031] 圖7為NB被攻擊者獲得的路徑圖;
[0032] 圖8為NS公鑰協(xié)議的認證性不能滿足的攻擊路徑圖。
【具體實施方式】
[0033] 下面將結(jié)合附圖對本發(fā)明的【具體實施方式】進行詳細描