• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于有色Petri網(wǎng)的安全協(xié)議分析方法研究

    2011-05-14 11:58:08蘇桂平
    關(guān)鍵詞:函數(shù)庫工具建模

    蘇桂平 ,孫 莎

    (1.中國科學(xué)院研究生院 信息科學(xué)與工程學(xué)院,北京 100049;2.中國科學(xué)院研究生院 工程教育學(xué)院,北京 100049)

    如何在一個(gè)無法確定的操作環(huán)境下,保證計(jì)算機(jī)間傳送信息的安全性,從而確保通信雙方主體之間的“信任”以及通信數(shù)據(jù)的秘密和完整,其中安全協(xié)議對(duì)保障網(wǎng)絡(luò)安全起到至關(guān)重要的作用。但一些著名的協(xié)議在使用了相當(dāng)長的時(shí)間后,相繼被發(fā)現(xiàn)存在有若干安全漏洞。由于安全協(xié)議的運(yùn)行是處于某種不安全的環(huán)境中,很難用人工識(shí)別的方法來分析其安全性,必須借助形式化的分析方法或工具來完成。

    關(guān)于安全協(xié)議的形式化分析,國內(nèi)外學(xué)者基于不同的模型進(jìn)行了不少有益的研究。如Yasinsac提出的通用安全協(xié)議分析語言CPAL[1]、Millen開發(fā)的通用認(rèn)證協(xié)議說明語言CAPSL[2]、李夢君等人用擴(kuò)展Horn邏輯模型對(duì)安全協(xié)議進(jìn)行分析和驗(yàn)證方法[3]、懷進(jìn)鵬等人用代數(shù)模型來研究協(xié)議的安全性[4]、WE等人基于有色 Petri網(wǎng)CPN(Coloured Petri Net)提出一種集成的安全協(xié)議分析模型[5]。

    現(xiàn)有的方法大多針對(duì)個(gè)別協(xié)議進(jìn)行分析,很少能夠通用于大部分的安全協(xié)議,并且大部分的方法還停留在理論上,缺少自動(dòng)分析的工具[6]。

    本文利用CPN tools建模語言(CPN ML)中的查詢函數(shù)對(duì)安全屬性進(jìn)行描述,然后對(duì)CPN tools工具在規(guī)范協(xié)議描述、簡化協(xié)議建模、自動(dòng)檢測進(jìn)行擴(kuò)展三方面,搭建一個(gè)能夠覆蓋大部分安全性質(zhì)的CPN查詢函數(shù)庫,提出一種基于CPN的通用和規(guī)范的安全協(xié)議形式化分析語言,該語言可以像用面向?qū)ο缶幊陶Z言編程一樣對(duì)安全協(xié)議進(jìn)行建模。

    1 基于CPN的安全協(xié)議

    1.1 有色Petri網(wǎng)(CPN)理論研究

    Petri網(wǎng)是一種可用于多種系統(tǒng)的圖形化、數(shù)學(xué)化建模工具,為描述和研究具有并行、異步、分布式和隨機(jī)性等特征的復(fù)雜系統(tǒng)提供了強(qiáng)有力的手段。

    作為一種圖形化工具,可以把Petri網(wǎng)看作與數(shù)據(jù)流圖和網(wǎng)絡(luò)相似的方法來描述系統(tǒng)模型;作為一種數(shù)學(xué)化工具,它可以用來建立狀態(tài)方程、代數(shù)方程和其他描述系統(tǒng)行為的數(shù)學(xué)模型。

    在CPN模型中,有色標(biāo)志表示系統(tǒng)中不同的資源,同時(shí)每個(gè)位置都與特定的顏色集綁定,表示該位置中只能存放相應(yīng)顏色的標(biāo)志。在弧上和變遷上標(biāo)注的條件表達(dá)式和運(yùn)算函數(shù)是用于解釋弧的權(quán)值、運(yùn)算所用的顏色以及變遷觸發(fā)的條件。

    CPN tools是一個(gè)專用于有色Petri網(wǎng)編輯、模擬和分析的工具,除了有強(qiáng)大的CPN分析工具外,它還有簡潔緊湊的CPN圖形編輯工具,幾乎所有的CPN元素(除數(shù)據(jù)類型、變量申明外)都能在模型圖中表示。

    CPN是將Petri網(wǎng)具有相似性質(zhì)的元素分類,用不同顏色區(qū)分不同類別,每一種顏色用一種標(biāo)識(shí)符號(hào)來表示,將某種屬性賦予標(biāo)記。

    CPN=(Σ,P,T,A,N,C,G,E),在 CPN 的一個(gè)狀態(tài) M下,t上的綁定元素(t,b)是可實(shí)施的,當(dāng)且僅當(dāng):

    若把t實(shí)施之后產(chǎn)生的后繼狀態(tài)定義為M′,則:

    可以稱作M′是從 M出發(fā),經(jīng)過(t,b)變遷是可達(dá)的,記為M[(t,b)>M′。如果存在一個(gè)變遷σ序列使得M可以達(dá)到狀態(tài) M′,則記為 M[σ>M′,由 M出發(fā)的所有可達(dá)狀態(tài)的集合表示為[M>。

    矩陣方程:

    其中, 矩陣 C=?cij」(1≤i≤n,1≤j≤m) 是 CPN 的 關(guān)聯(lián)矩 陣,cij=Wtj,si-Wsi,tj、Wtj,si和 Wsi,tj是 弧 權(quán) 。

    利用矩陣方程可以判斷不安全狀態(tài)的可達(dá)性。

    在安全協(xié)議形式化分析方面,CPN具有其獨(dú)特的優(yōu)勢:(1)將分層思想與數(shù)據(jù)結(jié)構(gòu)結(jié)合;(2)對(duì)時(shí)間因素的靈活描述;(3)強(qiáng)大的仿真及狀態(tài)分析自動(dòng)工具;(4)有效的化簡方法。

    1.2 基于CPN的安全協(xié)議

    安全協(xié)議的形式化分析與驗(yàn)證是一個(gè)復(fù)雜的過程,首先都要用形式化方法的語義對(duì)安全協(xié)議進(jìn)行描述與建模。然而,從協(xié)議的非形式化描述,尤其是自然語言描述轉(zhuǎn)變成形式化說明的過程可能會(huì)有錯(cuò)誤發(fā)生,將直接導(dǎo)致后續(xù)分析的不確定性。同時(shí)一些形式化方法的提出都是從個(gè)別安全協(xié)議出發(fā)來設(shè)計(jì)規(guī)范的術(shù)語,遇見了新的協(xié)議形式,再對(duì)原有規(guī)范加以擴(kuò)展,這樣的形式化術(shù)語存在通用性差的問題。所以在進(jìn)行安全協(xié)議的形式化描述與建模之前,需要采用通用的安全協(xié)議形式化說明加以規(guī)范。

    為了使得通用安全協(xié)議說明更加適合于Petri網(wǎng)方法,本文在CAPSL的基礎(chǔ)上抽象出通用安全協(xié)議的基本要素,在此基礎(chǔ)上建立與Petri網(wǎng)要素的一一對(duì)應(yīng),如表1所示。

    表1 CPN元素與安全協(xié)議基本元素對(duì)照表

    2 對(duì)安全協(xié)議的描述和函數(shù)庫的創(chuàng)建

    CPN tools提供給每個(gè)變遷一個(gè)用CPN ML語言編程的程序編輯區(qū)。當(dāng)變遷發(fā)生時(shí),執(zhí)行所編輯的程序,完成所需的功能。程序編輯區(qū)有三條固定的語句:input()、output()、action(),分別表示輸入?yún)?shù)、輸出參數(shù)和執(zhí)行語句。

    2.1 用CPN ML語言對(duì)安全屬性進(jìn)行描述

    安全協(xié)議的重要安全性質(zhì)包括:機(jī)密性、認(rèn)證性、完整性。描述如下:

    機(jī)密性:針對(duì)受保護(hù)的特定內(nèi)容t的泄密狀態(tài)來進(jìn)行定義:

    該函數(shù)表示搜索所有的狀態(tài)結(jié)點(diǎn),如果有結(jié)點(diǎn)滿足斷言函數(shù)fn,說明機(jī)密信息t泄露。

    認(rèn)證性:實(shí)體經(jīng)過解密或者驗(yàn)證簽名來實(shí)現(xiàn)認(rèn)證,并在其緩沖區(qū)中保留認(rèn)證成功的證據(jù),類型為AUT的顏色集colset AUT=with auth;同時(shí)保留被認(rèn)證者的身份的名稱。用查詢函數(shù)來定義:

    完整性:安全協(xié)議確保交互的消息不能被篡改、刪除和替代,或者至少消息的改變是可以被發(fā)現(xiàn)的。用形式化定義來表示:

    2.2 搭建安全協(xié)議的CPN查詢函數(shù)庫

    先建立好一個(gè)函數(shù)模型庫,對(duì)應(yīng)于常見的密碼學(xué)操作,并不斷地?cái)U(kuò)展。上層實(shí)體通過函數(shù)調(diào)用的方式,利用分層建模的設(shè)置子頁面工具將上層操作變遷與函數(shù)對(duì)應(yīng)起來。

    通用安全協(xié)議的功能層其實(shí)就是安全協(xié)議函數(shù)庫,即在底層先建立好一個(gè)函數(shù)模型庫,對(duì)應(yīng)于常見的密碼學(xué)操作,并不斷地?cái)U(kuò)展。上層實(shí)體只需要通過函數(shù)調(diào)用的方式,利用分層建模的設(shè)置子頁面工具將上層操作變遷與函數(shù)對(duì)應(yīng)起來就可以了。

    在上面描述和對(duì)擴(kuò)展的基礎(chǔ)上,建立一個(gè)安全性質(zhì)查詢函數(shù)庫。本文建立了一個(gè)能夠覆蓋絕大部分安全性質(zhì)的查詢函數(shù)庫,用戶只需要調(diào)用相應(yīng)函數(shù)即可完成協(xié)議的相關(guān)安全性質(zhì)的檢查而不需要自己利用CPN ML語言編寫查詢函數(shù)。

    2.3 一種基于CPN的通用安全協(xié)議形式化分析方法

    本項(xiàng)目利用前面基于CPN的安全協(xié)議描述、對(duì)CPN tools的擴(kuò)展、CPN的安全協(xié)議操作函數(shù)庫的建立,再結(jié)合實(shí)體模型中類似面向?qū)ο蟮念?、派生?duì)象概念,利用通用和規(guī)范的方法建模,提出一種基于CPN的通用安全協(xié)議形式化分析語言,該語言使用時(shí)就像用面向?qū)ο缶幊陶Z言進(jìn)行編程一樣方便有效。

    基于CPN的安全協(xié)議形式化分析語言工作流程圖如圖1所示。

    圖1 基于CPN的安全協(xié)議形式化分析語言工作流程圖

    針對(duì)具體協(xié)議,將安全屬性用CPN ML查詢函數(shù)進(jìn)行形式化描述:首先用斷言函數(shù)定義不安全狀態(tài),即協(xié)議滿足安全屬性時(shí)不可能出現(xiàn)的狀態(tài),如會(huì)話密鑰泄露時(shí)的狀態(tài);再定義搜索函數(shù)對(duì)狀態(tài)空間的所有狀態(tài)進(jìn)行斷言函數(shù)的測試,尋找符合的結(jié)點(diǎn)標(biāo)識(shí);最后運(yùn)行搜索查詢函數(shù),分析實(shí)驗(yàn)結(jié)果。

    3 應(yīng)用舉例

    本文以ASW(Asokan-Shoup-Waidner)協(xié)議為例,利用本文提出的基于CPN模型對(duì)協(xié)議的安全性進(jìn)行分析。

    3.1 基于CPN模型對(duì)協(xié)議建模

    ASW 協(xié) 議 由 exchange、abort、resolve_A 和resolve_B 4個(gè)子協(xié)議構(gòu)成。在正常情況下,只執(zhí)行exchange子協(xié)議。僅當(dāng)A或B認(rèn)為協(xié)議執(zhí)行出現(xiàn)問題時(shí),才執(zhí)行其他子協(xié)議。

    協(xié)議的exchange子協(xié)議具體描述如下:

    其中,Na、Nb分別為 A與 B生成的臨時(shí)值;m為 A向 B發(fā)送的電子郵件;C={m,Na,Ka,Kb}Kttp是加密電子郵件。

    圖2 ASW協(xié)議的Alice模型

    在exchange子協(xié)議中,如圖2所示,Alice生成me1并發(fā)送給B。如果A在合理的時(shí)間范圍內(nèi)沒有收到me2,A將異常終止協(xié)議;否則,A將me3發(fā)送給B。如果等待me4的時(shí)間超時(shí)了,A將異常終止協(xié)議并激活resolve_A子協(xié)議;否則,exchange子協(xié)議成功運(yùn)行結(jié)束。函數(shù)gen_time(result)隨機(jī)生成了一個(gè)延遲時(shí)間。條件if temptime

    3.2 分析和驗(yàn)證

    本文分別針對(duì)在exchange子協(xié)議異常終止和正常結(jié)束的兩種情況下進(jìn)行模型檢測。因此在計(jì)算完全部狀態(tài)空間后,修改了函數(shù)fun Verif_Fairness,分別執(zhí)行了以下兩個(gè)ML查詢函數(shù):

    函數(shù)fun Verif_Fairness_suc查詢的是在exchange子協(xié)議正常結(jié)束的情況下,是否有不滿足公平性的狀態(tài)。結(jié)果為0,說明當(dāng)exchange子協(xié)議成功結(jié)束后,協(xié)議滿足可追究性和公平性。相反,fun Verif_Fairness_fail的查詢結(jié)果列出了一些不安全狀態(tài),說明當(dāng)協(xié)議異常終止后,不滿足安全性。

    本文將面向?qū)ο蠓椒捌涓拍?如類、對(duì)象、函數(shù)等)引入建模中,并直接嵌入通用安全協(xié)議描述中,以此為基礎(chǔ)的協(xié)議建模就具有了抽象、重用、繼承等性質(zhì),簡化了建模過程,使得圖型化的CPN建模能夠像面向?qū)ο缶幊陶Z言一樣方便和有效。利用CPN tools提供的復(fù)制和分層次工具實(shí)現(xiàn)函數(shù)調(diào)用以及派生實(shí)體的快速建模,將面向?qū)ο笏枷胫械呐缮鷮?shí)體與函數(shù)調(diào)用思想應(yīng)用于建模過程中。本文提出通用的安全協(xié)議分析語言,具有通用性、易用性、圖形化等特點(diǎn)。

    [1]李夢君,李舟軍,陳火旺.安全協(xié)議的擴(kuò)展Horn邏輯模型及其驗(yàn)證方法 [J].計(jì)算機(jī)學(xué)報(bào),2006,29(9):1666-1678.

    [2]懷進(jìn)鵬,李先賢.密碼協(xié)議的代數(shù)模型及其安全性[J].中國科學(xué)(E 輯),2003,33(12).

    [3]馮登國,范紅.安全協(xié)議理論與方法[M].北京:科學(xué)出版社,2003.

    [4]YASINSEC A.A formal semantics for evaluating cryptographic protocols[D].University of Virginia,1996.

    [5]MILLEN J.CAPSL: common authentication protocol specification language[R].Technical Report MP97B48,The MITRE Corporation,1997.

    [6] WeiJin, Su Guiping.An integrated modelto analyze cryptographic protocols with colored Petri Nets.In Proceeing[C].11th IEEE Symposium on High Assurance Systems Engineering Symposium,2008.

    猜你喜歡
    函數(shù)庫工具建模
    聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運(yùn)動(dòng)”為例
    波比的工具
    用于優(yōu)化雷達(dá)信號(hào)處理的VSIPL函數(shù)庫
    基于Python的開源GIS應(yīng)用開發(fā)
    波比的工具
    Scratch求最值和平均值
    基于BB60C的IQ數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)
    基于PSS/E的風(fēng)電場建模與動(dòng)態(tài)分析
    電子制作(2018年17期)2018-09-28 01:56:44
    不對(duì)稱半橋變換器的建模與仿真
    “巧用”工具
    讀者(2017年18期)2017-08-29 21:22:03
    息烽县| 疏勒县| 博兴县| 浠水县| 营口市| 闽清县| 容城县| 通许县| 库车县| 邓州市| 南安市| 松江区| 纳雍县| 青冈县| 板桥市| 温泉县| 宝鸡市| 曲水县| 时尚| 巴中市| 黄大仙区| 灵宝市| 平谷区| 昭苏县| 阳山县| 安义县| 陆河县| 西乌| 江西省| 阳江市| 象州县| 北票市| 凤翔县| 旬邑县| 尚义县| 措美县| 安多县| 二连浩特市| 伊宁县| 巴塘县| 金塔县|