• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      安全協(xié)議形式化分析方法研究綜述

      2024-06-07 05:58:20繆祥華黃明巍張世奇張世杰王欣源
      化工自動化及儀表 2024年3期

      繆祥華 黃明巍 張世奇 張世杰 王欣源

      作者簡介:繆祥華(1972-),副教授,從事信息安全、網(wǎng)絡(luò)安全和移動通信安全的研究。

      通訊作者:黃明?。?998-),碩士研究生,從事信息安全的研究,1104331869@qq.com。

      引用本文:繆祥華,黃明巍,張世奇,等.安全協(xié)議形式化分析方法研究綜述[J].化工自動化及儀表,2024,51(3):367-378.

      DOI:10.20030/j.cnki.1000?3932.202403001

      摘 要 介紹了安全協(xié)議的基本概念和分類,然后對安全協(xié)議形式化分析方法進(jìn)行了詳細(xì)介紹,包括基于模態(tài)邏輯的方法、基于模型檢測的方法、基于定理證明的方法和基于可證明安全性理論的方法。其中,基于模型檢測的方法是目前應(yīng)用最廣泛的一種方法,因此詳細(xì)介紹了一些常用的基于模型檢測方法的工具。最后,總結(jié)了當(dāng)前安全協(xié)議形式化分析方法的研究熱點和未來的發(fā)展方向。

      關(guān)鍵詞 安全協(xié)議 形式化分析 模態(tài)邏輯 模型檢測 定理證明 可證明安全性

      中圖分類號 TP309?? 文獻(xiàn)標(biāo)志碼 A?? 文章編號 1000?3932(2024)03?0367?12

      隨著計算機(jī)技術(shù)的發(fā)展,其已應(yīng)用到社會生活的方方面面,成為推動社會進(jìn)步的主要力量。但是,信息安全問題也變得越來越突出,越來越復(fù)雜,已經(jīng)上升到了國家安全層面,因此,解決信息安全問題顯得刻不容緩。安全協(xié)議作為一種行之有效的安全保障手段,引起了越來越多研究人員的關(guān)注,使其成為了信息安全研究領(lǐng)域中的一個重要研究熱點。

      安全協(xié)議形式化分析可以有效地找出協(xié)議存在的漏洞并評估協(xié)議的安全性。安全協(xié)議形式化分析方法主要有四類,分別是模態(tài)邏輯、模型檢測、定理證明和可證明安全性理論[1,2]。模態(tài)邏輯采用的方法通常以“A knows P”和“A believes P”為核心,即以知識為基礎(chǔ)和以信仰為基礎(chǔ),模態(tài)邏輯方法可以深入探究安全協(xié)議執(zhí)行過程中各實體的知識集合和信仰目標(biāo)的變化。通過使用自動化工具,模型檢測方法可以將安全協(xié)議看作分布式系統(tǒng),并且定義安全屬性或不變關(guān)系,以便對每個實體的狀態(tài)進(jìn)行推導(dǎo),確定它們能夠達(dá)到的全局狀態(tài),從而判斷協(xié)議是否存在缺陷。定理證明則是通過將協(xié)議抽象為一個公理系統(tǒng),并將其中的定理作為證明的依據(jù),可以通過確保其定理的正確性,從而有效地檢驗安全協(xié)議的安全性。可證明安全性理論的方案是將協(xié)議安全性通過隨機(jī)預(yù)言機(jī)模型歸納到某個困難的、難以攻破的難題上,通過難題的難以攻破性來確保協(xié)議的安全性。四種體系中對于安全分析的側(cè)重點各有不同。筆者對此四者進(jìn)行歸納總結(jié)概括,并分析比較各類方法的優(yōu)缺點。

      1 相關(guān)信息

      1.1 安全協(xié)議的基本概念及分類

      協(xié)議是一種由多個參與者(至少兩個)共同協(xié)作行為的規(guī)則,協(xié)議旨在通過一系列的步驟來實現(xiàn)特定的目標(biāo)。雖然有時單個參與者也可以完成這些步驟,但是僅僅依靠單個參與者是不能構(gòu)成協(xié)議的,因為它們之間還需要其他的協(xié)作伙伴的參與才能構(gòu)成完整的通信,從而達(dá)到協(xié)議所要完成的目標(biāo)。然而在此過程中必然涉及到了信息的交換,因此協(xié)議的每一個參與者就會對消息的機(jī)密性、其他通信對象身份的真實性等安全屬性有一定的要求。

      通常,根據(jù)安全協(xié)議設(shè)計的不同目的,可將其分為以下幾類:

      a. 密鑰交換協(xié)議。這種協(xié)議旨在在兩個(或多個)相互依賴的個人(或組織)之間傳輸私有的數(shù)據(jù),通常它們可以使用對稱和非對稱的加密技術(shù)來保護(hù)數(shù)據(jù)的安全性。

      b. 認(rèn)證協(xié)議。通常而言,在消息認(rèn)證的過程中,協(xié)議往往會受到偽造、篡改及否認(rèn)等攻擊,為了解決此類攻擊,則必然需要確定通信過程中的某些信息是否會被篡改,例如消息的輪次序號、通信雙方的身份等安全屬性。而認(rèn)證協(xié)議就是用于解決這些攻擊的。

      c. 認(rèn)證及密鑰交換協(xié)議。這種協(xié)議既包含了傳統(tǒng)的認(rèn)證機(jī)制,也包含了一種新型的SK(密鑰)交換機(jī)制,它能夠在實體認(rèn)證完成之后,利用密碼算法生成的PSK(主密鑰)來確定會話SK,從而提供更高效的安全保障。目前,這種協(xié)議在互聯(lián)網(wǎng)中應(yīng)用最為廣泛,例如IKE協(xié)議、DASS協(xié)議等。

      d. 電子商務(wù)協(xié)議。電子商務(wù)協(xié)議是一類特殊的協(xié)議,區(qū)別于上面三類協(xié)議的是,電子商務(wù)協(xié)議是為了保障交易雙方的合法權(quán)益,即最大程度地保障公平性而存在的。它更多地關(guān)注在交易過程中主體雙方的利益或者在目的不一致甚至是相互沖突的情況下以求保障雙方不能通過損害對方利益來使得自己獲利,從而保障商務(wù)交易的公平性。

      1.2 安全協(xié)議形式化分析方法的發(fā)展

      自1978年NEEDHAM R M和SCHROEDER M D提出安全協(xié)議形式化分析[3]的概念以來,已經(jīng)45年有余,而他們所得到的研究成果也為安全協(xié)議形式化分析領(lǐng)域的發(fā)展做出了重大貢獻(xiàn),伴隨著時間的推移,對于這一領(lǐng)域的深入探索也逐漸受到了重視。1983年,DOLEV D與YAO A C聯(lián)手構(gòu)建出一個被稱作Dolev?Yao模型[4]的安全模型,該安全模型通常被用來評估安全協(xié)議的可靠性。該模型可以清晰地反映出網(wǎng)絡(luò)攻擊的特征、行動以及可能的威脅,但它仍有一些不足之處,比如無法檢測到在遷移狀態(tài)過程中加入用戶,且只能查找部分漏洞,僅可以檢測出部分缺陷等。隨著時代的發(fā)展,許多研究人員都在嘗試修正和改進(jìn)Dolev?Yao模型存在的缺陷和漏洞,并將該研究的成果進(jìn)行實際應(yīng)用,從而得到了諸如Dolev?Even?Karp[5]以及基于狀態(tài)空間的加密協(xié)議[6]等協(xié)議模型。

      BAN邏輯是在DOLEV D與YAO A C之后,于1989年由Burrows、Abadi和Needham三位研究者提出的一個十分具有代表性的模態(tài)邏輯,BAN邏輯的出現(xiàn)意味著安全技術(shù)的形式化分析技術(shù)正式步入一個以信念邏輯為核心的新階段。BAN邏輯通過將安全協(xié)議的過程和假設(shè)進(jìn)行形式化,從而將安全協(xié)議的安全性證明轉(zhuǎn)化為對于數(shù)學(xué)假設(shè)命題的成立與否的邏輯推理,使得其安全性依賴于假設(shè)命題的成立。盡管BAN邏輯存在一定的局限性,但它仍有其獨特的優(yōu)勢,所以后來的研究人員以BAN邏輯為基礎(chǔ),相繼開發(fā)出了GNY邏輯、AT邏輯、VO邏輯[7]及SVO邏輯等更加先進(jìn)的類BAN邏輯。

      1996年,Lowe利用通信順序進(jìn)程技術(shù)(CSP),成功地實現(xiàn)了對安全協(xié)議的形式化分析,此后,CSP的技術(shù)性應(yīng)用時代也隨之而來。隨后,Schneider利用CSP語言,提供了一種有助于識別和核實認(rèn)證屬性的更加普遍的技術(shù)。

      1999年Fabrega、Herzog和Guttman提出了Strand space(串空間)理論,Paulson提出了Paulson歸納方法,由此,定理證明方法進(jìn)入了研究者們的視野。定理證明的方法有多種,例如Coq證明系統(tǒng)[8]、公理證明器HOL[9]及Isabelle定理證明系統(tǒng)[10]等。有的定理證明的驗證過程可以通過模型檢測工具或定理證明器來加以驗證,例如Paulson歸納方法和串空間方法這兩種與Petri

      網(wǎng)[11]有著密切關(guān)系的方法就可以通過特定的定理證明器加以驗證。

      可證明安全性的概念是由Goldwasser、Micali及Rivest等在20世紀(jì)80年代初提出的,提出后該方法就快速地被運用到了加密、簽名方案以及安全協(xié)議形式化分析上,但是這些方案通常只具有理論意義,因為其設(shè)計時大量地犧牲了效率來提高其安全性。直到“面向?qū)嶋H的可證明安全性(Practice?oriented Provable?security)”的概念和著名的隨機(jī)預(yù)言機(jī)(Random Oracle,RO)模型被提出,該領(lǐng)域在實際運用上才取得了長足的發(fā)展。

      筆者主要概括歸納了四大類方法,即基于模態(tài)邏輯的方法、基于模型檢測的方法、基于定理證明的方法和可證明安全性的方法。

      2 基于模態(tài)邏輯的安全協(xié)議形式化分析方法

      基于模態(tài)的邏輯方法也稱為基于推理的結(jié)構(gòu)性方法。模態(tài)邏輯本身是邏輯學(xué)的一個分支,在形式化安全協(xié)議分析中常以演繹推理的形式存在。此類技術(shù)是從用戶發(fā)送和接收的消息出發(fā)并根據(jù)演繹法的多個推理公理來進(jìn)行演繹推理,從而判定安全協(xié)議是否可以達(dá)到預(yù)想的安全預(yù)期[12]。一般而言,該類邏輯系統(tǒng)可以分為兩類:基于知識的(“A knows P”)和基于信仰的(“A believes P”)。這兩類系統(tǒng)的主要區(qū)別在于:

      a. 基于知識的一般表述為,如果實體知道P,則P是正確的。

      b. 基于信仰的實體對于P的信仰不涉及P的正確性,即如果實體信仰P,則P一定正確,無論P本身是否正確。

      根據(jù)基于信仰的邏輯系統(tǒng),學(xué)者們提出了著名的BAN邏輯。

      2.1 BAN邏輯

      BAN邏輯[13]被譽(yù)為安全協(xié)議形式化分析方法研究的一個重要標(biāo)志,它的提出者是Burrows、Abadi和Needham,他們的研究成果為后續(xù)的協(xié)議分析提供了重要的理論支撐,并且這些研究在許多方面都取得了重大的突破。BAN邏輯是一種以信仰為基礎(chǔ)的形式化理論分析,它由7類共19條邏輯推理法則組成,可以根據(jù)信號的發(fā)送和接收情況來評估參與者的最終信仰是否符合預(yù)期的結(jié)果。

      盡管BAN邏輯在長期的實踐中取得了一定的成效,但它仍然存在一些明顯的缺陷,比如理想化過程不夠規(guī)范,初始化假設(shè)不夠合理,缺乏完整性以及沒有一個清晰明確的語義定義。BAN邏輯的發(fā)展為GNY邏輯的出現(xiàn)提供了堅實的基礎(chǔ),使得它對安全協(xié)議在模態(tài)邏輯分析中可以使用的范圍得到了極大的拓展,從而大幅提升了其分析能力。

      2.2 GNY邏輯

      1990年,GONG L等學(xué)者以BAN邏輯為基石,提出了GNY邏輯[14],它大幅拓寬了BAN邏輯的范圍,GNY邏輯自身包含的邏輯推理公式相對于BAN邏輯增加到44條,并且GNY邏輯努力嘗試消除主體誠實的假設(shè)、消息源假設(shè)和可識別假設(shè)。在“擁有”和“可識別”的基礎(chǔ)上,GNY邏輯將“不是由此首發(fā)”的理論納入到每輪的形式化協(xié)議中,并將其作為一個重要的組成部分。

      GNY邏輯嘗試在BAN邏輯的基礎(chǔ)上進(jìn)行改進(jìn),但是由于GNY邏輯的復(fù)雜性,它的效果未能達(dá)到預(yù)期,甚至被一些學(xué)者批評無法實現(xiàn)正確的分析,但這并未阻止它為模態(tài)邏輯的發(fā)展帶來新的可能性。

      2.3 AT邏輯

      AT邏輯[15]源自ABADI? M和TUTTLE M R的工作,它的基本理念是邏輯的結(jié)構(gòu)必須符合邏輯的要求,而且這種結(jié)構(gòu)必須不受邏輯的限制。這一概念是第1次被引入,極大地拓展了AT邏輯的范疇,有效地改進(jìn)了它的表述效果。AT邏輯在BAN邏輯的基礎(chǔ)上,大幅提升了其功能和性能:

      a. 從語義的角度分析改進(jìn)了BAN邏輯,并且剔除了語義與現(xiàn)實細(xì)節(jié)相混淆的部分;

      b. 更加直觀地定義了一部分邏輯定義;

      c. 將全部的邏輯連接詞引入系統(tǒng),改寫推理規(guī)則為公式,并且給出了形式化的語義;

      d. 證明了推理系統(tǒng)的合理性。

      然而AT邏輯仍然存在一定的缺陷,比如個別公理存在一定的漏洞等。

      2.4 SVO邏輯

      在對BAN邏輯、GNY邏輯、AT邏輯及VO邏輯進(jìn)行了分析和總結(jié)后,SYVERSON P F和 VAN OORSCHOT P C提出了SVO邏輯[16]。SVO邏輯大幅改變了AT邏輯的表達(dá)方式,它以一種更加清晰的方法來表達(dá)概念,從而解決了傳統(tǒng)模態(tài)邏輯存在的模糊性問題,同時SVO邏輯也具有良好的拓?fù)湫?,易于實際應(yīng)用。該類邏輯的出現(xiàn),意味著以BAN邏輯為基礎(chǔ)的一大類邏輯的發(fā)展成熟。

      2.5 Kailar邏輯

      Kailar邏輯旨在解決BAN邏輯和類BAN邏輯在商業(yè)應(yīng)用中存在的可追究性、不可否認(rèn)性等問題,它能夠幫助主體證明另一方對于某個行為的發(fā)起是有責(zé)任的,從而使得雙方能夠達(dá)成共識。

      2.6 ZQZ邏輯

      ZQZ邏輯是一種基于模態(tài)邏輯的形式化驗證方法,用于對安全協(xié)議進(jìn)行分析和驗證,它由中國學(xué)者周典萃、卿斯?jié)h和周展飛提出,因此被稱為ZQZ邏輯[17]。ZQZ邏輯基于模態(tài)邏輯,是為了針對Kailar邏輯在電子商務(wù)協(xié)議分析方面存在不足而提出來的,該邏輯通過對收發(fā)雙方的不可否認(rèn)證據(jù)進(jìn)行收集,然后用該證據(jù)來保證協(xié)議的公平性、可追究性等,ZQZ邏輯可以通過擴(kuò)展的方式形成擴(kuò)展ZQZ邏輯,從而分析更多的復(fù)雜協(xié)議,例如引入對時間的刻畫來分析不可否認(rèn)協(xié)議等[18]。

      2.7 Bieber邏輯

      盡管BAN和大部分的類BAN邏輯均建立在信仰的基礎(chǔ)上,但并不意味著基于信仰的模態(tài)邏輯就是完美無缺的,即人們可能會盲目地相信某種信仰,這種信仰的正確性仍然需要進(jìn)一步的討論。于是Bieber利用CKT5技術(shù)構(gòu)建一種全新的、基于知識的安全協(xié)議,它的核心思想就在于Bieber邏輯[19],該思想有效地解決了基于信仰的模態(tài)邏輯分析方法中存在的問題,并且由Bieber邏輯構(gòu)造的協(xié)議可以在不同的或者不確定的通信環(huán)境中保持穩(wěn)定,且可以有效地保護(hù)參與者的隱私。

      2.8 非單調(diào)邏輯

      非單調(diào)邏輯[20]是由Rubin博士提出的,旨在解決因為主體獲得信仰(知識)后長期信仰(認(rèn)為)這些事件是正確的而導(dǎo)致問題產(chǎn)生的情況。此方案有4個特點:

      a. 這是第1種能夠有效地探索和分析復(fù)雜安全協(xié)議的技術(shù);

      b. 無理想化過程;

      c. 分析過程緊密結(jié)合于形式化描述;

      d. 形式化描述與協(xié)議具體實現(xiàn)過程接近。

      3 基于模型檢測的安全協(xié)議形式化分析方法

      一般來說,基于模型檢測的方法通常需要借助自動化的分析軟件。模型檢測的方法基本都是基于有限狀態(tài)機(jī)原理,通過有限狀態(tài)機(jī)原理,可以采用一些新的方法來構(gòu)建一個能夠有效檢測、識別異常狀態(tài)和特定狀態(tài)的狀態(tài)遷移函數(shù),從而有效證明所要分析的安全協(xié)議的安全性。這種方法采用窮舉的策略,能夠有效地檢測出不同狀態(tài)之間的關(guān)聯(lián),并且能夠有效地實現(xiàn)狀態(tài)的遷移和識別。該方法的特性表現(xiàn)為極高的自動性,能夠根據(jù)缺陷快速創(chuàng)建相應(yīng)的案例,然而不容忽視的是模型檢測方法存在著兩個明顯的缺陷:

      a. 主體數(shù)目必須有限;

      b. 窮舉搜索會帶來狀態(tài)空間爆炸問題。

      盡管如此,采用模型檢測方法,研究者們也取得了十分顯著的成果。

      3.1 Dolev?Yao模型

      Dolev?Yao模型被認(rèn)為是模型檢測方法的基石,它不僅提供了一種有效的安全協(xié)議形式化分析方法,同時還引入了一個強(qiáng)大的敵手模型,即假定這個敵手模型能夠有效地識別出攻擊者,并且能夠有效地預(yù)測攻擊者的行為,其特點如下:

      a. 已經(jīng)完全控制了網(wǎng)絡(luò);

      b. 僅限于特定的加密原語和操作。

      這兩個特點被稱為完美的密碼學(xué)假設(shè)。當(dāng)然,Dolev?Yao模型并不完美,仍然存在一些缺點,例如無法針對特定的安全漏洞來分析、攻擊者模型過于強(qiáng)大使得分析困難等。

      3.2 CSP方法

      通信順序進(jìn)程(Communicating Sequential Processes,CSP)[21]是一種基于代數(shù)理論的方法,

      它將參與者視為一組獨立的進(jìn)程,每一組進(jìn)程都可以被視為一個事件,這樣整個協(xié)議就可以被組織成一個完整的CSP,里面的每一個程序都可以并行運行,并且可以與外部環(huán)境進(jìn)行交互。通過對協(xié)議說明的分析,CSP方法可以抽取出相關(guān)的模型,并利用故障發(fā)散提煉(Failures Divergence Refinement,F(xiàn)DR)技術(shù),以證明協(xié)議的安全性。

      3.3 NRL協(xié)議分析器

      NRL協(xié)議分析器[22]是利用Dolev?Yao模型的術(shù)語重寫模型而構(gòu)建的。NRL模型采用了信仰集合的方式,通過不停地生產(chǎn)“詞”“信仰”“時間”來模擬消息的生產(chǎn)和接收,從而達(dá)到信仰變化的目的。其中“消息”由“詞”構(gòu)成,而“時間”的遷移則可以表示“信仰”的修改和變化狀態(tài)過程,從而對攻擊者進(jìn)行分析。

      3.4 Mur?模型

      通常Mur?模型[23]一般應(yīng)用于工業(yè)的安全協(xié)議形式化分析方面,Mur?模型經(jīng)過編譯后產(chǎn)生C++文件,此模型用于描述有限異步并發(fā)系統(tǒng),采用列舉法來驗證是否所有狀態(tài)都可以達(dá)到規(guī)定下的安全屬性,為了提高協(xié)議的分析效率,Mur?模型支持深度優(yōu)先和廣度優(yōu)先兩種算法。

      3.5 Brutus模型

      Brutus模型主要采用數(shù)學(xué)模型法將協(xié)議進(jìn)行轉(zhuǎn)化,將協(xié)議的安全屬性通過一階邏輯進(jìn)行描述并輔以狀態(tài)空間搜索和自然推理相結(jié)合的方法來對模型進(jìn)行驗證,并且Brutus模型采用偏序狀態(tài)縮減技術(shù)和對稱狀態(tài)縮減技術(shù)來對狀態(tài)空間進(jìn)行縮減,從而降低狀態(tài)空間爆炸的可能。

      3.6 以攻擊者為中心的安全協(xié)議驗證機(jī)制(SSMCI)

      SSMCI是一種新型的安全協(xié)議自動化驗證方法[24],它與傳統(tǒng)的基于模型檢測和定理證明的驗證方法不同,它將攻擊者視為協(xié)議的一部分,并且建立以“需求”為核心的知識集合,從而建立以“需求”為核心的攻擊者模型。該模型采取了回溯機(jī)制來確保在協(xié)議遷移過程中,敵手的知識集合能夠正常增長,從而考慮攻擊者的能力和策略,進(jìn)而更加準(zhǔn)確地評估協(xié)議的安全性。此機(jī)制的實驗驗證總體表現(xiàn)優(yōu)于Scyther?proof等工具。以攻擊者為中心的安全協(xié)議驗證機(jī)制具有很高的準(zhǔn)確性和實用性,它能夠更加真實地模擬攻擊場景,考慮攻擊者的能力和策略,從而更加準(zhǔn)確地評估協(xié)議的安全性。不過,值得注意的是,攻擊模型的定義和建模需要考慮到協(xié)議的復(fù)雜性和實際應(yīng)用場景,同時需要對模型進(jìn)行測試、驗證等。

      3.7 基于模型檢測的常用分析工具

      3.7.1 Scyther?proof工具

      Scyther?proof工具是一種用于驗證安全協(xié)議的工具,它使用Scyther工具來分析協(xié)議的安全性。Scyther是一種模型檢測器,可以自動化地驗證協(xié)議的安全性和正確性。Scyther?proof工具使用Scyther檢測器來自動化地檢查協(xié)議的安全性,并生成報告,指出可能存在的安全漏洞和風(fēng)險。這種工具可以幫助保護(hù)網(wǎng)絡(luò)和系統(tǒng)免受攻擊并避免數(shù)據(jù)泄漏。Scyther?proof工具通過生成Isabelle/HOL定理證明器的證明腳本進(jìn)行檢測,對安全性的驗證是通過對類似搜索樹的檢測來尋找協(xié)議存在的問題。但是其對代數(shù)運算支持較差,使用者需要將代數(shù)運算進(jìn)行模擬才可以在工具中使用。

      3.7.2 Tamarin工具

      Tamarin工具是一種用于形式化分析協(xié)議的工具,可以檢查協(xié)議的安全性和正確性。它使用基于Dolev?Yao模型的形式化語言來描述協(xié)議,并使用符號執(zhí)行技術(shù)來自動化地分析協(xié)議的安全性。Tamarin工具可以檢測協(xié)議中的安全漏洞和攻擊,例如中間人攻擊、重放攻擊及欺騙攻擊等。它還可以驗證協(xié)議的正確性,例如保證協(xié)議的認(rèn)證、保密、完整性及可用性等。Tamarin工具是一個開源工具,可以在Linux、Mac OS X及Windows等操作系統(tǒng)上運行。它提供了一個易于使用的圖形用戶界面,可以幫助用戶快速創(chuàng)建和分析協(xié)議。Tamarin工具已經(jīng)被廣泛應(yīng)用于許多領(lǐng)域的安全協(xié)議形式化分析上,包括網(wǎng)絡(luò)安全、物聯(lián)網(wǎng)、金融及醫(yī)療保健等。Tamarin工具是在Scyther工具的基礎(chǔ)上進(jìn)一步地完善了其功能,同時支持自動和交互驗證,并且支持跡屬性的規(guī)范,其通過對安全屬性和安全引理的雙重約束來尋找不安全狀態(tài)的跡,從而找出協(xié)議漏洞。該工具支持Diffie?Hellman、雙線性對等代數(shù)運算。

      3.7.3 ProVerif工具

      ProVerif是一種自動化的形式化驗證工具,用于驗證安全協(xié)議和分布式系統(tǒng)的安全性。它可以檢查協(xié)議的保密性、完整性及可用性等方面的安全性,并且能夠自動發(fā)現(xiàn)協(xié)議中的漏洞和攻擊路徑。ProVerif支持多種協(xié)議語言,包括CSP、pi演算、lambda演算及Dolev?Yao模型等,并且能夠自動推理出協(xié)議的安全性。同時ProVerif分析器是一個高度抽象化的、注重敵手知識集的分析工具,這也導(dǎo)致了該工具不適合處理各種狀態(tài)性協(xié)議的問題。該分析器將協(xié)議規(guī)范為Horn族,或者使用pi演算后再進(jìn)行轉(zhuǎn)化,然后進(jìn)行分析。該工具試圖找出與安全規(guī)范相悖的反例,從而構(gòu)建出攻擊的一個跡。當(dāng)然該工具也支持代數(shù)運算。

      3.7.4 Maude?NPA工具

      Maude?NPA是一種基于Maude系統(tǒng)的形式化驗證工具,用于驗證分布式系統(tǒng)和協(xié)議的安全性。它使用一種被稱為NPA(Non?deterministic Pushdown Automata)的形式化語言來表示協(xié)議的安全性,并且能夠自動化地分析協(xié)議的安全性。Maude?NPA的工作原理是將協(xié)議轉(zhuǎn)換為一個Maude模型,然后使用NPA語言來描述協(xié)議的安全性。該工具能夠自動化地生成驗證條件,并使用Maude模型檢查器來驗證這些條件。它還能夠生成證明來證明協(xié)議的安全性。Maude?NPA支持多種協(xié)議語言,包括CSP、pi演算、lambda演算及Dolev?Yao模型等,并且能夠自動推理出協(xié)議的安全性。它還提供了一些高級功能,如模型縮減和抽象,以便更快地驗證大型協(xié)議。Maude?NPA是一種非常強(qiáng)大的驗證工具,廣泛應(yīng)用于安全協(xié)議和分布式系統(tǒng)的設(shè)計和分析中。它的使用可以大幅地提高協(xié)議的安全性和可靠性,減少安全漏洞的出現(xiàn)。Maude?NPA分析器的前身是NRL協(xié)議分析器。該工具的優(yōu)勢在于特別針對方程式推理,并且支持異或和同態(tài)運算,其采用后向搜索策略,通過提出不安全狀態(tài)而后從初始狀態(tài)進(jìn)行路徑驗證,是否可以從初始狀態(tài)推導(dǎo)至該不安全狀態(tài),從而發(fā)現(xiàn)協(xié)議存在的漏洞問題。

      3.7.5 CPN?Tools工具

      由丹麥奧爾胡斯大學(xué)開發(fā)的有色Petri網(wǎng)(Colored Petri Net,CPN)工具軟件CPN?Tools,是一種基于Petri網(wǎng)的建模和仿真工具,用于對分布式系統(tǒng)和協(xié)議進(jìn)行建模、分析和驗證。它支持多種Petri網(wǎng)模型,包括CPN、TPN(Timed Petri Nets)和HPN(Hierarchical Petri Nets)等,并提供了多種分析技術(shù),如模型檢查、符號執(zhí)行和定理證明等,以便對系統(tǒng)的安全性進(jìn)行驗證。CPN?Tools的工作原理是使用Petri網(wǎng)模型來描述系統(tǒng)的行為和狀態(tài),然后使用模型檢查技術(shù)對模型進(jìn)行分析。它能夠自動發(fā)現(xiàn)系統(tǒng)中的漏洞和攻擊路徑,并且能夠生成證明來證明系統(tǒng)的安全性。該軟件支持可視化建模并且提供自動生成狀態(tài)空間搜索的報告,集成的SML(Standard Meta Language)輔助其對狀態(tài)空間的可達(dá)路徑進(jìn)行搜索,也加強(qiáng)了對安全協(xié)議整體的評價輔助[25]。

      3.7.6 AVANTSSAR工具

      AVANTSSAR工具是一種基于形式化方法的安全協(xié)議分析工具,它能夠自動化地分析協(xié)議的安全性,并發(fā)現(xiàn)其中的漏洞和攻擊路徑。該工具使用一種稱為CASL(Common Algebraic Specification Language)的形式化語言來描述協(xié)議和安全性,并且提供了多種分析技術(shù)來驗證協(xié)議的安全性。AVANTSSAR工具常用于工業(yè)協(xié)議的驗證中,其期望在后端的驗證中在有限的回合內(nèi)找出協(xié)議存在的漏洞。該工具套本身已經(jīng)使用在多個工業(yè)案例中。

      3.7.7 SPIN工具

      SPIN是一個基于模型檢測方法的軟件驗證工具,由美國貝爾實驗室開發(fā)[26]。它主要用于驗證并發(fā)系統(tǒng)的正確性,包括進(jìn)程間的同步和通信、共享資源的訪問和分配等。SPIN支持多種模型,如有限狀態(tài)機(jī)、Petri網(wǎng)和時序邏輯等,并提供多種驗證技術(shù),如模型檢查、模擬仿真等。SPIN是一種用于檢測有限狀態(tài)系統(tǒng)是否滿足PLTL公式和其他性質(zhì)的工具,包括可達(dá)性、循環(huán)性等。它的建模方式是以進(jìn)程為單位,將進(jìn)程異步組合,并使用賦值語句、條件語句、通信語句、非確定性選擇及循環(huán)語句等基本要素來描述進(jìn)程。SPIN的基本方法是使用自動機(jī)表示每個進(jìn)程和PLTL公式,并計算這些自動機(jī)的組合可接受的語言是否為空,以檢測進(jìn)程模型是否滿足給定的性質(zhì)從而驗證協(xié)議的安全性。

      4 基于定理證明的安全協(xié)議形式化分析方法

      定理證明是一種安全協(xié)議形式化驗證方法,它是指使用數(shù)學(xué)推理和描述,將訪問控制策略模型使用嚴(yán)格的數(shù)學(xué)邏輯符號抽象轉(zhuǎn)換成數(shù)學(xué)公式,進(jìn)而采用邏輯演算來驗證模型。通過綜合運用模態(tài)邏輯的精準(zhǔn)度、模型檢測的全面性以及其他技術(shù)手段,從而讓研究人員可以有效地消除模態(tài)邏輯的錯誤、缺陷以及模型檢測過程中的漏洞,同時也可以把這些理論應(yīng)用于一些恒定的等價關(guān)系。

      4.1 Paulson歸納法

      Paulson歸納法[27]旨在將協(xié)議的各種可能的“跡”進(jìn)行歸納,以構(gòu)建一個“跡”空間,以便更好地理解協(xié)議的安全性。然而,由于該模型空間涉及多種攻擊手段,例如消息丟失、密碼破解攻擊及偽隨機(jī)數(shù)攻擊等,因此,在協(xié)議執(zhí)行期間,發(fā)送者的身份很難被確認(rèn),而且可能會被中間人轉(zhuǎn)發(fā)未被發(fā)現(xiàn)的消息。攻擊者必須采取積極的行動,包括收集、偽造、加密及解密等,以便達(dá)到自身的目的,這時他們處于主動的狀態(tài)。Paulson歸納法通過借助定理證明器Isabelle,通過對上述“跡”的歸納,證明安全協(xié)議的安全性,從而達(dá)到分析的目的。

      4.2 Schneider秩函數(shù)

      Schneider秩函數(shù)[28]是一種用于刻畫密碼分析攻擊復(fù)雜度的函數(shù),由密碼學(xué)家SCHNEIDER S提出。它是一種基于信息熵的度量方法,用于衡量密碼算法的安全性和抗攻擊能力。Schneider秩函數(shù)的值越大,表示密碼算法越難以被攻擊。因為當(dāng)輸入比特串的熵較高時,攻擊者需要更多的信息才能推斷出密鑰,從而增加了攻擊破譯密鑰算法的復(fù)雜度,以此保障其安全性;而當(dāng)輸出比特串的熵較高時,表示數(shù)據(jù)接近完美的隨機(jī)性,沒有可利用的模式或結(jié)構(gòu),攻擊者難以從密文本身分析出任何有用的信息,因此攻擊者需要更多的嘗試才能找到正確的密鑰,從而增加了攻擊的成本,保障了其安全性。

      Schneider秩函數(shù)的核心思想是循環(huán)不變式技術(shù)。通過對消息空間中的每一條信息進(jìn)行精確的加密,并將其轉(zhuǎn)換成可重復(fù)使用的恒等不變式,從而保證該安全協(xié)議的安全性。此方法通常存在于合法主體與惡意攻擊者并存的情況,合法主體與惡意攻擊者會有潛在的不定期的交互行為。這種行為可能導(dǎo)致即使在最完美的密碼學(xué)條件下,安全協(xié)議的安全性仍然無法得到有效的保障。

      4.3 串空間

      采用數(shù)學(xué)方法,可以把協(xié)議的運作情況抽象地表示出來,并且以一組集合和有向圖的方式展示出來。通??梢园堰@些數(shù)據(jù)看作一種偏序關(guān)系,然后根據(jù)這些數(shù)據(jù)來確認(rèn)它們之間的相互作用,并且以此來檢測是否發(fā)生了攻擊。這種方法就被稱為串空間[29]。串空間模型被設(shè)計地十分簡潔和巧妙,并且十分直觀。串空間模型的優(yōu)勢體現(xiàn)為:

      a. 給出了一些數(shù)據(jù)在協(xié)議操作中的清晰語義;

      b. 將攻擊者行為定理化,并且與所分析的協(xié)議相獨立;

      c. 提出多種不同的定義,以確保其準(zhǔn)確性,并通過解釋和論證來證實其可靠性;

      d. 使用者可以更深入細(xì)致地了解協(xié)議正確的原因,證明十分簡潔且可人工完成。

      4.4 Rewriting逼近法

      Rewriting逼近法[30]與傳統(tǒng)的協(xié)議分析方法有著本質(zhì)的不同,它旨在證明安全協(xié)議不受任何攻擊的影響。然而,這種方法的復(fù)雜性遠(yuǎn)遠(yuǎn)超出了其他方法。Rewriting逼近法將協(xié)議結(jié)構(gòu)化,將初始通信集描繪成一個樹狀的自動狀態(tài)機(jī),并以極大的精度接近可達(dá)集合,從而計算出消息集的超集。通過樹狀自動機(jī)模型,可以自動檢測出逼近集合和違禁集合之間的交集,通過判斷是否為空集,從而確保協(xié)議的安全性。該模型擁有無限的參與者、可擴(kuò)展的交互對話以及一個強(qiáng)大的攻擊者模型,因此可以有效地實現(xiàn)確保協(xié)議安全的目標(biāo)。

      4.5 不變式產(chǎn)生技術(shù)

      隨著歸納推理技術(shù)的發(fā)展,其在安全協(xié)議自動化驗證領(lǐng)域中漸漸獲得了十分重要的地位。研究者們最為關(guān)心的就是如何從無限消息集合推理歸納出安全協(xié)議的安全性[31,32]。通常,學(xué)者們會構(gòu)造一個不受協(xié)議主體行為影響的不變式來實現(xiàn)這個目標(biāo)。而利用這個方法也衍生出了前面所敘述的幾種方案。

      這些方案利用消息集合的形式來表達(dá),它們的特征不受參與者或攻擊者的行為影響,一般可以分為兩類:

      a. 攻擊者不可知或在特定情況下可知的項;

      b. 攻擊者可知的項。

      4.6 擴(kuò)展串空間模型

      擴(kuò)展串空間理論(Extended String Space Theory)是一種形式化分析的方法,由Fabrege等提出,用于對安全協(xié)議進(jìn)行建模、分析和驗證。它是串空間理論(String Space Theory)的擴(kuò)展,擴(kuò)展串空間理論使用一種稱為擴(kuò)展串語言的形式化語言來描述協(xié)議和安全性,并提供了一種稱為擴(kuò)展串空間的模型來表示協(xié)議執(zhí)行的過程。擴(kuò)展串空間理論是為了解決串空間模型抽象密碼學(xué)原語不足而提出的,為的是可以分析更加復(fù)雜的密碼協(xié)議[33]。

      擴(kuò)展串空間模型是擴(kuò)展串空間理論中的一種模型,用于表示協(xié)議的執(zhí)行過程。它是串空間模型的擴(kuò)展,采用了更加嚴(yán)格的語法和語義規(guī)則,使得協(xié)議的建模更加準(zhǔn)確和完整。擴(kuò)展串空間模型將協(xié)議執(zhí)行的過程表示為一個有向圖,其中每個節(jié)點表示一個協(xié)議執(zhí)行狀態(tài),每條邊表示協(xié)議執(zhí)行過程中的轉(zhuǎn)移。節(jié)點和邊上都帶有標(biāo)簽,用于表示協(xié)議執(zhí)行過程中的信息和狀態(tài)。例如,節(jié)點標(biāo)簽可以表示協(xié)議執(zhí)行過程中的協(xié)議消息和密鑰,邊標(biāo)簽可以表示協(xié)議執(zhí)行過程中的加密、解密操作等。擴(kuò)展串空間模型能夠全面而深入地表示協(xié)議執(zhí)行過程中所有可能的路徑,包括所有可能的攻擊路徑。它還能夠自動化地分析協(xié)議的安全性,并生成證明來證明協(xié)議的安全性。同時,擴(kuò)展串空間模型還具有很強(qiáng)的可擴(kuò)展性和適應(yīng)性,支持對多種協(xié)議安全性的分析。

      4.7 事件邏輯理論

      事件邏輯理論(Logic of Events Theory,LoET)是定理證明方法中常用于對分布式系統(tǒng)的安全性進(jìn)行分析的方法。該理論由Joseph Sifakis等在20世紀(jì)80年代初提出,旨在解決并發(fā)系統(tǒng)的建模和驗證問題。LoET使用事件來描述系統(tǒng)的行為和性質(zhì),可以準(zhǔn)確地捕捉系統(tǒng)中不同事件之間的時間關(guān)系。LoET可以描述并發(fā)系統(tǒng)中不同進(jìn)程之間的同步和通信,以及共享資源的訪問和分配等問題。LoET支持多種邏輯,如時序邏輯、線性時序邏輯及計數(shù)時序邏輯等,可以根據(jù)不同的需求選擇合適的邏輯進(jìn)行歸約。中國學(xué)者鐘小妹等通過引入?yún)f(xié)議組合邏輯思想,對LoET理論進(jìn)行了擴(kuò)展[34],擴(kuò)展后的LoET理論可用于多領(lǐng)域得分安全協(xié)議形式化分析,例如對物理不可克隆函數(shù)(PUFs)協(xié)議的分析等。

      5 基于可證明安全性的安全協(xié)議形式化分析方法

      為了嘗試解決傳統(tǒng)協(xié)議存在周而復(fù)始地出現(xiàn)漏洞需要經(jīng)常更新修補(bǔ),而導(dǎo)致大眾對于協(xié)議安全性的信心降低、成本開銷大等問題,研究人員提出了安全協(xié)議的可證明方法[35]。對于安全協(xié)議分析而言,可證明安全性的方法更類似于密碼學(xué)中對密碼安全性的證明,即將安全性歸約到已知的數(shù)學(xué)難題上,通過無法解決數(shù)學(xué)難題從而達(dá)到安全性的保證。通俗地說,就是把協(xié)議的安全性在適當(dāng)?shù)臄呈帜P拖率褂秒S機(jī)預(yù)言機(jī)進(jìn)行安全歸約,達(dá)到敵手無法攻破的目標(biāo),于是協(xié)議可以被證明是安全的。當(dāng)然此方案也不是完美的,基于此類型的方案通常難以抵御物理攻擊或者被證明的安全問題可能存在錯誤等。當(dāng)然,如果選取的安全性假設(shè)本身就是容易被攻破的,那么其本身就沒有意義再去假設(shè),這也就說明在選取可證明安全性的問題時應(yīng)當(dāng)強(qiáng)調(diào)下限,也就是最弱安全應(yīng)當(dāng)達(dá)到的等級。

      在安全協(xié)議可證明方法的應(yīng)用中,會話密鑰分配(SKD)協(xié)議是一個經(jīng)典的應(yīng)用方向。下面給出幾種不同的可證明安全性理論模型。

      5.1 隨機(jī)預(yù)言機(jī)(RO)模型

      RO模型被稱為設(shè)計最成功的基于可證明安全性理論的模型方法[36],在現(xiàn)代協(xié)議設(shè)計中,幾乎所有的設(shè)計標(biāo)準(zhǔn)都需要提供在RO模型中可證明安全性的設(shè)計。RO模型是在實體和敵手雙方都擁有同一個公開的隨機(jī)預(yù)言機(jī)的情況下,證明協(xié)議實體在其中運行的正確性,然后選擇適當(dāng)?shù)哪M函數(shù)取代該預(yù)言機(jī),模擬函數(shù)的選取條件是在模擬環(huán)境和現(xiàn)實環(huán)境中,此函數(shù)在多項式時間內(nèi)不能夠被敵手區(qū)分。嚴(yán)格來說,以此為根據(jù)設(shè)計的協(xié)議與現(xiàn)實實用的協(xié)議效率、安全性相當(dāng)。RO模型可以通過歸約論斷和形式化地定義協(xié)議的安全性來顯式地得到協(xié)議的安全特征,從而歸約證明協(xié)議的安全性。

      5.2 BR安全模型

      BR安全模型由BELLARE M和ROGAWAY P分別在1993年和1995年給出的兩個可證明安全性的兩方和三方的SKD協(xié)議中歸納出[37,38],這也是首次建立了基于SKD協(xié)議的形式化的安全模型。它的基礎(chǔ)安全理論依據(jù)是根據(jù)會話密鑰與某隨機(jī)數(shù)的計算不可區(qū)分性來保證安全。然而該模型歸約過程十分復(fù)雜,可操作性較差,于是后來的研究者們根據(jù)該模型提出了更加簡潔的BCK模型。

      5.3 BCK模型

      BCK模型類似于BR模型,但BCK模型的設(shè)計需要采用模塊化[39]的方式,把要證明安全性的安全協(xié)議定義到理想化的模型中,同樣也需要將安全性歸約到計算不可區(qū)分性上。但是在歸約過程中需要證明現(xiàn)實中的敵手強(qiáng)度與理想敵手是不可區(qū)分的。該模型通常用于研究認(rèn)證通信問題,特別是密鑰交換問題。

      5.4 PSKD安全模型

      BELLOVIN S M和MERRITT M提出了第1個PSKD協(xié)議[40],該協(xié)議是基于口令來構(gòu)建的,這也導(dǎo)致其容易受到離線字典攻擊。通?;诖四P驮O(shè)計的協(xié)議多偏向于采用混合的方式來設(shè)計,即通信實體雙方只有一方使用口令。其安全目標(biāo)為任何PPT(概率多項式時間)敵手的成功破解密鑰的概率上界為:

      O(t/|D|)+μ(n)

      其中,t為敵手會話產(chǎn)生的次數(shù);μ()為可忽略函數(shù);D為字典且D∈{0,1}n;n為會話密鑰長度。

      5.5 Top?k元素求解

      Top?k元素求解的方案多用于多方安全計算方面,其適用范圍通常是在不泄漏隱私的情況下來求解某些特定的值或者特定的分布。在多方安全計算的情境下,越多的數(shù)據(jù)聚合使得樣本越大,可以使其給出的結(jié)果越清晰。研究者們大都在嘗試構(gòu)建可行的Top?k求解協(xié)議,例如基于預(yù)估數(shù)值和安全比較的多方Top?k求解協(xié)議、兩方和多方Top?k求解協(xié)議等。不過此類型的方案大多存在通信輪次對通信效率造成影響的問題[41]。

      5.6 非交互式零知識證明技術(shù)

      GOLDWASSER S等提出了零知識證明的方法[42],這是一種特殊的密碼協(xié)議,零知識證明方法運行在證明者和驗證者之間,通過證明者單方面的消息發(fā)送就可以完成驗證者的身份驗證,該方案通常用于成員歸屬證明或者知識證明。零知識證明方案一般需要滿足3個性質(zhì),分別是完備性、可靠性和零知識性。零知識證明方案應(yīng)用十分廣泛,例如數(shù)字簽名、區(qū)塊鏈及多方安全技術(shù)等。零知識證明根據(jù)難題假設(shè)來保證安全性,例如基于二次算術(shù)程序(Quadratic Arithmetic Program,QAP)/線性PCP(Linear?PCP)的系列證明,對于其安全性的保障是基于難題假設(shè)是不可證偽(non?falsifiable)的假設(shè)來保證的[43]。零知識證明的構(gòu)造是一類值得研究的問題,經(jīng)典的零知識證明協(xié)議有∑-協(xié)議,這類協(xié)議存在一定的提升空間,是一類十分熱門的研究方向。

      6 總結(jié)與展望

      隨著信息安全技術(shù)的不斷發(fā)展,安全協(xié)議在信息系統(tǒng)中的應(yīng)用越來越廣泛。然而,在安全協(xié)議的設(shè)計和實現(xiàn)過程中常存在漏洞,這些漏洞可能會被攻擊者利用,導(dǎo)致信息泄漏、數(shù)據(jù)損壞等安全問題。因此,對安全協(xié)議進(jìn)行形式化分析已成為確保其安全性的重要手段。在過去的幾十年中,安全協(xié)議形式化分析方法得到了廣泛研究和應(yīng)用。基于模態(tài)邏輯的方法、基于模型檢測的方法、基于定理證明的方法及基于可證明安全性理論的方法等都取得了一定的成果。其中,基于模型檢測的方法是目前應(yīng)用最廣泛的一種方法,它可以自動化地檢測安全協(xié)議的漏洞。同時,也有一些新的方法被提出,如基于信息流的方法、基于程序分析的方法[44~46]等,這些方法在某些場景下具有一定的優(yōu)勢。然而,當(dāng)前安全協(xié)議形式化分析方法仍然存在問題和挑戰(zhàn),所以未來可以在以下3個方向來開展研究。

      第一,安全協(xié)議的安全屬性運用統(tǒng)一的框架進(jìn)行分析。將安全協(xié)議的安全屬性運用統(tǒng)一的框架進(jìn)行分析是一種通用的安全協(xié)議形式化分析方法。這種方法可以將安全協(xié)議的安全屬性抽象為一些基本的安全屬性,然后通過定義這些安全屬性之間的關(guān)系構(gòu)建一個統(tǒng)一的框架,對安全協(xié)議進(jìn)行形式化分析。例如下面由4個安全屬性構(gòu)成的簡易框架:機(jī)密性、完整性、認(rèn)證性和不可否認(rèn)性。基于這個安全屬性框架,可以對安全協(xié)議進(jìn)行形式化分析。例如,可以通過定義機(jī)密性、完整性、認(rèn)證性和不可否認(rèn)性之間的關(guān)系,來描述安全協(xié)議的安全性。同時,可以使用Tamarin等工具對安全協(xié)議進(jìn)行模型化,并使用模型檢測技術(shù)對協(xié)議的安全性進(jìn)行自動化分析。

      此外,還可以將其他安全屬性,如可用性、匿名性及抗重放攻擊等,加入到安全屬性框架中,構(gòu)建一個更加全面的安全屬性框架。這樣可以更加準(zhǔn)確地描述安全協(xié)議的安全性,并提高安全協(xié)議形式化分析的效率和準(zhǔn)確性。然而將各類安全協(xié)議進(jìn)行建模,歸約到同一個框架下是有一定困難的,因此對于該方向的研究需要不斷地去完善所建構(gòu)的安全協(xié)議的安全屬性模型框架。

      第二,提出新的安全協(xié)議分析方法。安全協(xié)議研究的發(fā)展越來越關(guān)注新興技術(shù)的應(yīng)用,例如基于區(qū)塊鏈的認(rèn)證與密鑰協(xié)商協(xié)議分析研究,通過區(qū)塊鏈的去中心化技術(shù)可以用來研究安全協(xié)議的匿名性問題,也可以通過分析改進(jìn)協(xié)議從而解決例如醫(yī)療使用協(xié)議中出現(xiàn)的單點失效等問題[47]。又如量子協(xié)議的分析,量子協(xié)議的分析需要針對量子協(xié)議自身的特殊物理性質(zhì)來考慮,也就是說量子協(xié)議是依賴量子本身可構(gòu)建的數(shù)理方程和量子操作來構(gòu)建的[48,49],而對于這些特征來進(jìn)行分析或者開發(fā)針對量子協(xié)議的特殊分析方法是十分有意義的。還有在傳統(tǒng)的串空間模型下引入同態(tài)加密技術(shù)來構(gòu)造高效的多方安全計算協(xié)議、基于同態(tài)密碼的安全協(xié)議設(shè)計和分析、基于同態(tài)加密的多方安全計算協(xié)議等[50,51]方向的特殊協(xié)議的分析方法的開發(fā)也具有十分重要的意義。近年來,基于符號執(zhí)行的自動分析方法的研究也是一個熱門的方向。符號執(zhí)行是一種新興的安全協(xié)議自動分析方法,可以通過對協(xié)議的符號執(zhí)行路徑進(jìn)行分析,發(fā)現(xiàn)協(xié)議中的漏洞和安全問題[52]。近年來,符號執(zhí)行技術(shù)已經(jīng)得到了廣泛的應(yīng)用,例如使用KLEE等工具對安全協(xié)議進(jìn)行分析,發(fā)現(xiàn)協(xié)議中的漏洞和安全問題。

      還有對于跨協(xié)議攻擊(多協(xié)議攻擊)的分析顯然也是一個重要且值得研究的方向[53]??鐓f(xié)議攻擊是指利用不同協(xié)議之間的互操作性漏洞,將一個協(xié)議中的攻擊流量偽裝成另一個協(xié)議的合法流量,從而實現(xiàn)對目標(biāo)系統(tǒng)的攻擊。這種攻擊方式可以繞過一些安全防護(hù)措施,對目標(biāo)系統(tǒng)造成極大的威脅。在跨協(xié)議攻擊中,攻擊者通常會利用協(xié)議之間的相互依賴性和交互性,從而實現(xiàn)攻擊的目的。跨協(xié)議攻擊的危害非常大,因為它能夠繞過單個協(xié)議的安全措施,從而實現(xiàn)對整個系統(tǒng)的攻擊。然而跨協(xié)議攻擊涉及的對象較多,通信信息量較大,采用自動化的分析方式常常會使?fàn)顟B(tài)空間出現(xiàn)爆炸問題,因此較難分析,但提出對于跨協(xié)議攻擊的針對性的分析方法也是一個值得研究的方向。

      第三,安全協(xié)議的自動化生成[54]。安全協(xié)議的自動分析和設(shè)計是近年來安全協(xié)議研究中的熱門領(lǐng)域,其目的是通過自動化技術(shù)來提高協(xié)議的安全性和可靠性。安全協(xié)議的自動化生成依賴于安全協(xié)議的自動化分析,這就要求不斷更新改進(jìn)分析方法并應(yīng)用于自動化分析軟件中,安全協(xié)議的自動化生成可以大幅提高協(xié)議的安全性和可靠性,減少人工設(shè)計協(xié)議時可能出現(xiàn)的錯誤和漏洞。同時,它也可以加快協(xié)議的設(shè)計和開發(fā),提高工作效率。不過,安全協(xié)議的自動化生成也存在一些挑戰(zhàn)和限制,例如在設(shè)計模型時需要考慮協(xié)議的復(fù)雜性和實際應(yīng)用場景,同時需要對生成的代碼進(jìn)行測試、驗證等?,F(xiàn)有的技術(shù)基本上都是針對協(xié)議的自動化分析而沒有自動化生成,如果能夠采用自動化的方式,將分析的漏洞等問題進(jìn)行自動化改進(jìn)與修正,顯然也是一個十分實用的方向。

      參 考 文 獻(xiàn)

      [1] 馮登國,范紅.安全協(xié)議形式化分析理論與方法研究綜述[J].中國科學(xué)院研究生院學(xué)報,2003,20(4):389-406.

      [2] 高尚,胡愛群,石樂,等.安全協(xié)議形式化分析研究[J].密碼學(xué)報,2014,1(5):504-512.

      [3] NEEDHAM R M,SCHROEDER M D.Using encryption for authentication in large networks of computers[J].Communications of the ACM,1978,21(12):993-999.

      [4]?? DOLEV D,YAO A C. On the security of public key protocols[J].IEEE Transactions on Information Theory,1983,29(2):198-208.

      [5]?? DOLEV D, EVEN S, KARP R M. On the security of ping?pong protocols[J].Information and Control,1982,55(1?3):57-68.

      [6]?? NIEH B B,TAVARES S E.Modelling and analyzing cryptographic protocols using Petri nets[C]//Advances in Cryptology—AUSCRYPT′92.Berlin Heidelberg:Springer,1993:275-295.

      [7]?? VAN OORSCHOT P.Extending cryptographic logics of belief to key agreement protocols[C]//Proceedings of the 1st ACM Conference on Computer and Communications Security.ACM,1993:232-243.

      [8]?? DUTERTRE B,SCHNEIDER S.Using a PVS embedding of CSP to verify authentication protocols[M]//BOULTON R J.Theorem Proving in Higher Order Logics.Berlin Heidelberg:Springer,1997:121-136.

      [9]?? BRACKIN S H. A HOL formalization of CAPSL semantics[C]//Proceedings of the 21st National Conference on Information Systems Security.Piscataway,NJ:IEEE,1998.

      [10]? BELLA G, PAULSON L C.Using Isabelle to prove properties of the Kerberos authentication system[J].Recent Advances in Environmentally Compatible Polymers,1997,394(2):73-78.

      [11] 趙玉蘭,冀超,蔣鳳仙,等.基于著色Petri網(wǎng)的IS?IS路由協(xié)議互操作性測試的研究[J].計算機(jī)工程與科學(xué),2013,35(12):90-95.

      [12] 李建華,張愛新,薛質(zhì),等.網(wǎng)絡(luò)安全協(xié)議的形式化分析與驗證[M].北京:機(jī)械工業(yè)出版社,2010.

      [13] BURROWS M, ABADI M, NEEDHAM R M.A logic of authentication[J].Proceedings of the Royal Society A,1989,426(1871):1-13.

      [14]? GONG L,NEEDHAM R,YAHALOM R.Reasoning about belief in cryptographic protocols[C]//Proceedings of 1990 IEEE Computer Society Symposium on Research in Security and Privacy.Piscataway,NJ:IEEE,1990:234-248.

      [15]?? ABADI M,TUTTLE M R. A semantics for a logic of authentication[C]//Proceedings of the 10th Annual ACM Symposium on Principles of Distributed Computing.ACM,1991:201-216.

      [16]?? SYVERSON P F,VAN OORSCHOT P C.A unified cryptographic protocol logic[R].Washington D. C.:Naval Research Lab,1996.

      [17] 周典萃,卿斯?jié)h,周展飛.一種分析電子商務(wù)協(xié)議的新工具[J].軟件學(xué)報,2001,12(9):1318-1328.

      [18] 韓志耕,石青山,楊鵬,等.不可否認(rèn)協(xié)議分析的擴(kuò)展ZQZ邏輯方法[J].Journal of Cryptologic Research,2022,9(1):60-75.

      [19]? CLARKE E M,GRUMBERG O,PELED D.Model Checking[M].Cambridge,MA:MIT Press,1999.

      [20]?? MOORE R C.Semantical considerations on nonmonotonic logic[J].Artificial Intelligence,1985,25(1):75-94.

      [21]??? LOWE G,ROSCOE B.Using CSP to detect errors in the TMN protocol[J].IEEE Transactions on Software Engineering,1997,23(10):659-669.

      [22] 劉怡文,李偉琴.安全協(xié)議的形式化需求及驗證[J].計算機(jī)工程與應(yīng)用,2002(17):125-128.

      [23] 張磊.安全協(xié)議設(shè)計及驗證研究[D].北京:清華大學(xué),2004.

      [24] 谷文,韓繼紅,袁霖.SSMCI:以攻擊者為中心的安全協(xié)議驗證機(jī)制[J].通信學(xué)報,2017,38(10):175-188.

      [25] 龔翔,馮濤,杜謹(jǐn)澤.基于CPN的安全協(xié)議形式化建模及安全分析方法[J].通信學(xué)報,2021,42(9):240-253.

      [26] 王西忠,肖美華,楊科,等.基于SPIN的MIXCOIN協(xié)議形式化分析與驗證[J].廣西大學(xué)學(xué)報(自然科學(xué)版),2020,45(6):1404-1412.

      [27] PAULSON L C. The inductive approach to verifying cryptographic protocols[J].Journal of Computer Security,1998,6(1):85-128.

      [28]?? SCHNEIDER S.Using CSP for Protocol Analysis:The Needham?Schroeder Public?key Protocol[R].England:University of London,Royal Holloway,Department of Computer Science,1996.

      [29]?? THAYER F J,HERZOG J C,GUTTMAN J D.Strand spaces:Why is a security protocol correct?[C]//Proceedings of 1998 IEEE Symposium on Security and Privacy.Piscataway,NJ:IEEE,1998:160-171.

      [30]?? BOICHUT Y,GENET T,JENSEN T,et al.Rewriting approximations for fast prototyping of static analyzers[M]//BAADER F.Term Rewriting and Applications.Berlin Heidelberg:Springer,2007:48-62.

      [31]??? 潘建東,陳立前,黃達(dá)明,等.含有析取語義循環(huán)的不變式生成改進(jìn)方法[J].軟件學(xué)報,2016,27(7):1741-1756.

      [32]??? 陳志慧.基于Event?B的軟件需求形式化建模技術(shù)的研究[D].成都:電子科技大學(xué),2013.

      [33]??? 沈海峰,薛銳,黃河燕,等.串空間理論擴(kuò)展[J].軟件學(xué)報,2005(10):1784-1789.

      [34]??? 鐘小妹,肖美華,楊科,等.基于事件邏輯的PUFs認(rèn)證協(xié)議形式化分析[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2024,52(2):69-76.

      [35]??? 馮登國.可證明安全性理論與方法研究[J].軟件學(xué)報,2005(10):1743-1756.

      [36]?? BELLARE M, ROGAWAY P. Random oracles are practical:A paradigm for designing efficient protocols[C]//Proc of the 1st ACM Conference on Computer and Communications Security.New York:ACM Press,1993:62-67.

      [37]??? BELLARE M,ROGAWAY P.Entity authentication and key exchange[C]//STINSON D R.Proc of the Advances in Cryptology—Crypto93.Berlin Heidelberg:Springer?Verlag,1993:232-249.

      [38]?? BELLARE M.Provably secure session key distribution—The three party case[C]//Proc of the 27th ACM Symposium on the Theory of Computing.New York:ACM Press,1995:57-66.

      [39]??? BELLARE M,CANETTI R,KRAWCZYK H.A modular approach to the design and analysis of authentication and key exchange protocols[C]//Proc of the 30th Annual Symposium on the Theory of Computing.New York:ACM,1998:419-428.

      [40]?? BELLOVIN S M,MERRITT M.Encrypted key exchange:Password?Based protocols secure against dictionary attacks[C]//Proc of the IEEE Symposium on Research in Security and Privacy.Piscataway,NJ:IEEE,1992:72-84.

      [41]??? 欒明學(xué),張秉晟,楊國正,等.通用可重組安全的多方求解Top?k協(xié)議設(shè)計[J].密碼學(xué)報,2023,10(1):195-208.

      [42]??? GOLDWASSER S,MICALI S,RACKOFF C.The kno?

      wledge complexity of interactive proof?systems (extended abstract)[C]//Proceedings of the Seventeenth Annual ACM Symposium on Theory of Computing (STOC1985).New York:ACM,1985:291-304.

      [43]?? 李威翰,張宗洋,周子博,等.簡潔非交互零知識證明綜述[J].密碼學(xué)報,2022,9(3):379-447.

      [44]??? 張煥國,吳福生,王后珍,等.密碼協(xié)議代碼執(zhí)行的安全驗證分析綜述[J].計算機(jī)學(xué)報,2018,41(2):288-308.

      [45]??? 葛藝,黃文超,熊焰.基于安全協(xié)議代碼的形式化輔助建模研究[J].計算機(jī)應(yīng)用研究,2023,40(4):1189-1193;1202.

      [46]??? 田昊瑋.基于ECC的RFID安全協(xié)議研究[D].秦皇島:燕山大學(xué),2022.

      [47]??? 邵曉偉,郭亞軍.基于區(qū)塊鏈的遠(yuǎn)程醫(yī)療認(rèn)證協(xié)議[J]. 密碼學(xué)報,2023,10(2):397-414.

      [48]??? 林崧,王寧,劉曉芬.一個高效的量子安全多方計算協(xié)議[J].中國科學(xué):物理學(xué) 力學(xué) 天文學(xué),2023,53(4):30-40.

      [49]??? 閆晨紅,李志慧,劉璐,等.具有少量參與者的分層量子密鑰分發(fā)協(xié)議[J].軟件學(xué)報,2023,34(6):2878-2891.

      [50]?? 張愛孌.基于同態(tài)密碼安全協(xié)議的研究與設(shè)計[D].北京:北京印刷學(xué)院,2022.

      [51]??? 朱宗武,黃汝維.基于高效全同態(tài)加密的安全多方計算協(xié)議[J].計算機(jī)科學(xué),2022,49(11):345-350.

      [52]??? 張協(xié)力,祝躍飛,顧純祥,等.模型學(xué)習(xí)與符號執(zhí)行結(jié)合的安全協(xié)議代碼分析技術(shù)[J].網(wǎng)絡(luò)與信息安全學(xué)報,2021,7(5):93-104.

      [53]??? PATERSON K G,SCARLATA M,TRUONG K T.Three lessons from threema:Analysis of a secure messenger[C]//32nd USENIX Security Symposium (USENIX Security 23).2023:1289-1306.

      [54]?? METERE R,ARNABOLDI L.Automating cryptographic protocol language generation from structured specifications[C]//Proceedings of the IEEE/ACM 10th International Conference on Formal Methods in Software Engineering.Piscataway,NJ:IEEE,2022:91-101.

      (收稿日期:2023-03-13,修回日期:2024-04-28)

      A Review of Formal Analysis Methods for Security Protocols

      MIAO Xiang?hua1,2,? HUANG Ming?wei1, ZHANG Shi?qi1,

      ZHANG? Shi?jie1, WANG Xin?yuan1

      (1. Faculty of Information Engineering and Automation, Kunming University of Science and Technology;

      2. Yunnan? Key Laboratory of Computer Technology Applications )

      Abstract?? The basic concepts and classifications of security protocols were introduced and then, the formal analysis methods for security protocols were described, including methods based on modal logic and those based on model detection,? theorem proving and provable security theory, of them,that based on model detection is the most widely used method. In addition, some commonly?used tools based on model detection methods were introduced in detail and both? research hotspots and future development directions of formal analysis methods for security protocols were summarized.

      Key words?? security protocol, formal analysis, modal logic, model detection, theorem proof, provable security

      莱西市| 和林格尔县| 乐至县| 探索| 赤壁市| 曲靖市| 凤翔县| 桃源县| 邢台县| 珠海市| 柳河县| 宣汉县| 晋城| 梁山县| 周至县| 商都县| 临沂市| 贵溪市| 化德县| 密云县| 伊春市| 周宁县| 织金县| 庆城县| 瑞丽市| 新源县| 冀州市| 安新县| 蒙山县| 双流县| 综艺| 伊通| 平阳县| 洪雅县| 虹口区| 雷州市| 驻马店市| 广元市| 百色市| 高阳县| 昂仁县|