專利名稱:支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種計算機網(wǎng)絡(luò)安全技術(shù)領(lǐng)域的方法,特別是一種支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法。
背景技術(shù):
目前Internet的普及,使得信息安全問題越來越為眾多的人所關(guān)注,因此信息安全的培訓(xùn)需求也越來越大。安全協(xié)議分析作為信息安全的一個重要方面,尤其需要重視。因此,對于安全協(xié)議安全性能的分析驗證不僅具有很高的研究價值,而且在許多實際問題中都得到了廣泛的應(yīng)用。同時,安全協(xié)議的分析驗證也是一項比較復(fù)雜的技術(shù),牽涉到代數(shù)學(xué)、圖論、計算技術(shù)等許多領(lǐng)域,研究至今已經(jīng)提出了一些算法,這些算法一般使用攻擊構(gòu)造方法,通過對協(xié)議運行中可能存在的狀態(tài)的產(chǎn)生和剪切,最后產(chǎn)生一系列的最終狀態(tài)。然后通過對所有最終狀態(tài)的檢測確定安全協(xié)議是否能夠達到預(yù)期的安全目標(biāo)。
串空間模型(Fabrega FJ,Herzog JC,Guttman JD.Journal of ComputerSecurity(計算機安全),7(2,3)191-230,1999.Strand spacewhy is asecurity protocol correct(串空間為什么一個安全協(xié)議是安全的))是一種用于證明協(xié)議的認證屬性和保密屬性的安全協(xié)議分析模型,是近幾年安全協(xié)議分析中最常用的模型方法。串空間模型使用代數(shù)中集合和圖論的概念,對安全協(xié)議的運行狀態(tài)和攻擊者的攻擊能力和手段進行定義和說明,并且通過數(shù)學(xué)的證明說明安全協(xié)議所能夠滿足的目標(biāo)。認證測試方法(Guttman JD,F(xiàn)abrega FJ.Proceedings of 2000 IEEE Symposium on Security and Privacy(2000年IEEE安全和保密研討會),96-109,2000.Authentication tests.(認證測試))是以串空間模型為基礎(chǔ)的一種認證協(xié)議分析方法,是對串空間模型的簡化。認證測試方法通過定義測試分量和構(gòu)造測試類型,對安全協(xié)議所能滿足的認證屬性進行證明。串空間模型和認證測試方法作為新型的協(xié)議分析設(shè)計方法,以其嚴格的數(shù)學(xué)定義和嚴謹?shù)淖C明得到了一定程度的應(yīng)用。雖然串空間模型和認證測試方法成功地證明了一些安全協(xié)議中存在的漏洞,但是對于由于消息重放而引起的重放攻擊和類性攻擊還缺少有效地證明手段。類BAN邏輯(Burrows M,Abadi M,Needham R.ACMTransaction on Computer Systems(ACM計算機系統(tǒng)學(xué)報),8(1)18-36,1990.Alogic of authentication(一種認證邏輯))是安全協(xié)議分析中最簡單、應(yīng)用最為廣泛的分析方法,BSW邏輯(Buttyan L.,Staamann S.,Wilhelm U.,A.Proceedings ofthe 11th IEEE Computer Security Foundations Workshop(第11屆IEEE計算機安全基礎(chǔ)研討會),1998153-162.A Simple Logic for Authentication Protocol Design(一種認證協(xié)議設(shè)計的簡單邏輯方法))是BAN類邏輯的一種,這種方法不僅適用于安全協(xié)議的分析,同樣適用于安全協(xié)議的設(shè)計。BSW邏輯的缺點在于它僅定義了收到消息的邏輯符號和操作,對于通信主體發(fā)送消息沒有明確的定義,因此對安全協(xié)議的證明還不完善。目前對于安全協(xié)議的分析驗證還多是手工推導(dǎo),不僅效率低,還容易由于人為因素造成分析誤差,因此使用高效的安全協(xié)議分析驗證系統(tǒng)不僅能夠提高協(xié)議分析的效率,還能夠避免人為因素造成的分析誤差。
發(fā)明內(nèi)容
本發(fā)明目的在于克服現(xiàn)有安全協(xié)議分析驗證算法的缺陷,提供一種支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,使其解決形式化模型方法中存在的定義不完善、證明不完全的問題。并且通過自動化分析驗證,解決協(xié)議手工分析效率低和造成人為分析誤差的問題,為進一步的安全協(xié)議設(shè)計提供可靠的依據(jù)。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的。本發(fā)明使用B/S架構(gòu)實現(xiàn)安全協(xié)議的分布式驗證,并且支持多用戶的并發(fā)操作,從用戶端界面獲取安全協(xié)議的形式化輸入,根據(jù)輸入內(nèi)容構(gòu)造協(xié)議交換的消息項,用戶提交的協(xié)議文本提取協(xié)議分析中使用的數(shù)據(jù),提供多用戶同時并發(fā)操作,分別使用基于串空間模型和擴展BSW邏輯的協(xié)議分析算法對輸入的協(xié)議分析分析驗證,最后產(chǎn)生輸出協(xié)議的分析結(jié)果并以文本方式返回給用戶。
本發(fā)明包括具體步驟如下(1)形式化安全協(xié)議輸入;所述的形式化,在用戶端界面根據(jù)協(xié)議描述規(guī)范輸入安全協(xié)議的形式化描述。
所述的安全協(xié)議輸入,使用基于Java腳本技術(shù)的JSP實現(xiàn)客戶端的界面,通過用戶輸入或菜單式選擇對安全協(xié)議的消息進行輸入。
(2)提取安全協(xié)議中的數(shù)據(jù);所述的數(shù)據(jù),使用基于Java腳本技術(shù)的JSP是將HTML編碼從Web頁面的業(yè)務(wù)邏輯中有效地分離出來,通過對數(shù)據(jù)的分解,構(gòu)造每個主體的串鏈表和目標(biāo)集合。
(3)基于串空間模型的協(xié)議分析驗證;所述的串空間模型,根據(jù)用戶輸入的安全協(xié)議使用改進后的串空間模型和認證測試方法構(gòu)造協(xié)議中的測試分量,將測試分量分為outgoing test,incoming test和unsolicited test。
針對不同類型的測試分量分別使用相應(yīng)的測試方法進行證明。
(4)基于擴展BSW邏輯的協(xié)議分析驗證;所述的擴展BSW,其方法是選擇協(xié)議交換的第一條消息,搜索初始假設(shè),根據(jù)協(xié)議輸入和初始假設(shè)調(diào)用Prolog語言編寫的協(xié)議分析算法,使用改算法進行邏輯和驗證,比對驗證的結(jié)果和目標(biāo)集合的內(nèi)容,最后輸出協(xié)議的分析結(jié)果。
所述的輸出協(xié)議的分析結(jié)果,是指使用文本方式將協(xié)議分析驗證結(jié)果在客戶端的Web頁面上進行顯示。
本系統(tǒng)采用B/S架構(gòu),提供了良好的操作界面,并且針對安全協(xié)議分析的特點,設(shè)計了對應(yīng)的實驗;客戶端不需要安裝任何軟件,只需要具有Internet瀏覽器,即可使用此安全協(xié)議驗證原型系統(tǒng),這樣更加有利于系統(tǒng)功能的擴展;客戶端支持一臺服務(wù)器設(shè)備多個學(xué)員交互式的同時實驗,解決了不支持多個用戶同時操作的問題。學(xué)員按照實驗指導(dǎo)書完成安全協(xié)議分析實驗后,就具有了對安全協(xié)議分析原理比較深入的了解,具備了安全協(xié)議分析的基本技能。
本發(fā)明針對串空間模型和BSW邏輯中存在的缺陷,以及現(xiàn)有協(xié)議分析工具無法實現(xiàn)多用戶并發(fā)使用的問題,采用改進的串空間模型和擴展的BSW邏輯,使用B/S架構(gòu)構(gòu)造系統(tǒng),很好地解決了現(xiàn)有模型方法和工具存在的問題,進一步提高了安全協(xié)議的分析準確度和效率。系統(tǒng)使用的B/S架構(gòu)可以同時顯現(xiàn)多用戶的并發(fā)操作,因此使本技術(shù)的有效性進一步提高。
本發(fā)明采用改進的串空間模型和擴展的BSW邏輯,對安全協(xié)議能夠進行更科學(xué)準確地說明和驗證,解決了原有形式化方法模型定義不完整,使安全協(xié)議的驗證更科學(xué)可靠。本發(fā)明被用于多用戶并發(fā)的安全協(xié)議驗證實驗,算法的結(jié)果準確,運行效率高,為進一步進行安全協(xié)議的設(shè)計提供了可靠的依據(jù)。
圖1本發(fā)明方框示意圖具體實施方式
實施例采用的軟硬件環(huán)境服務(wù)器Tomcat 5.0以上,Prolog編譯工具;客戶端硬件要求Windows 2000/XP,Pentium 2 400Mhz以上,256M內(nèi)存,與服務(wù)器的網(wǎng)絡(luò)連接;客戶端軟件IE。
部署①將Protocol.rar解壓縮到Tomca安裝目錄的webapps目錄下;②在SQL Server新建數(shù)據(jù)庫Formalization;③從Formation.dat導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫;④配置數(shù)據(jù)源,名稱為Formalization即可;⑤雙擊啟動tomcat;⑥安裝客戶端;⑦如果Windows XP以上版本,安裝JDK1.5以上,然后控制面板雙擊JavaWeb->高級->applet->允許IE訪問即可->確定即可。
下面結(jié)合本發(fā)明在“基于串空間模型的安全協(xié)議驗證”實驗中的應(yīng)用,具體闡述其實施方式。在該實施例中,用戶首先根據(jù)客戶端頁面的提示進行安全協(xié)議的輸入,如圖1所示,具體步驟如下(1)安全協(xié)議形式化輸入。根據(jù)頁面上的提示內(nèi)容,輸入?yún)f(xié)議的形式化描述,文本框中的內(nèi)容采用手工輸入,下拉菜單的內(nèi)容用于原則。輸入完畢后按鍵進行協(xié)議分析驗證;(2)提取安全協(xié)議中的數(shù)據(jù)。對于輸入的安全協(xié)議形式化描述需要進行分類和記錄。根據(jù)形式化的輸入確定每條消息的內(nèi)容以及消息符號,使用鏈表構(gòu)造每個主體的串結(jié)構(gòu),使用鏈表和結(jié)構(gòu)體相結(jié)合的方法構(gòu)造每條消息項中的明文數(shù)據(jù)和密文數(shù)據(jù)。與此同時構(gòu)造安全協(xié)議的目標(biāo)集合,目標(biāo)集合中使用鏈表表示協(xié)議需要達到的目標(biāo)內(nèi)容;
(3)安全協(xié)議分析驗證根據(jù)已經(jīng)構(gòu)造完成的主體串,提取其中的隨機數(shù)構(gòu)造測試分量,針對隨機數(shù)所在消息項的形式將測試分量分為outgoing test,incoming test和unsolicited test。針對不同類型的測試分量分別使用相應(yīng)的測試方法進行證明;(4)分析結(jié)果輸出分析結(jié)果使用文本方式表示,結(jié)果中包含安全協(xié)議需要達到的目標(biāo)項、系統(tǒng)已經(jīng)證明的目標(biāo)項、系統(tǒng)未證明的目標(biāo)項,以及協(xié)議是否安全的信息。最后結(jié)果返回給客戶端,并使用html形勢進行顯示。
實際證明結(jié)果表明,采用以上方法能夠精確的證明安全協(xié)議所能滿足的安全屬性,而且效率很高,可以滿足多用戶同時使用系統(tǒng)進行協(xié)議分析的要求,而且效果很好。
權(quán)利要求
1.一種支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征在于,使用B/S架構(gòu)實現(xiàn)安全協(xié)議的分布式驗證,并且支持多用戶的并發(fā)操作,從用戶端界面獲取安全協(xié)議的形式化輸入,根據(jù)輸入內(nèi)容構(gòu)造協(xié)議交換的消息項,用戶提交的協(xié)議文本提取協(xié)議分析中使用的數(shù)據(jù),提供多用戶同時并發(fā)操作,分別使用基于串空間模型和擴展BSW邏輯的協(xié)議分析算法對輸入的協(xié)議分析分析驗證,最后產(chǎn)生輸出協(xié)議的分析結(jié)果并以文本方式返回給用戶。
2.根據(jù)權(quán)利要求1所述的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征是,所述的形式化,在用戶端界面根據(jù)協(xié)議描述規(guī)范輸入安全協(xié)議的形式化描述。
3.根據(jù)權(quán)利要求1所述的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征是,所述的安全協(xié)議輸入,使用基于Java腳本技術(shù)的JSP實現(xiàn)客戶端的界面,通過用戶輸入或菜單式選擇對安全協(xié)議的消息進行輸入。
4.根據(jù)權(quán)利要求1所述的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征是,所述的數(shù)據(jù),使用基于Java腳本技術(shù)的JSP是將HTML編碼從Web頁面的業(yè)務(wù)邏輯中有效地分離出來,通過對數(shù)據(jù)的分解,構(gòu)造每個主體的串鏈表和目標(biāo)集合。
5.根據(jù)權(quán)利要求1所述的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征是,所述的串空間模型,根據(jù)用戶輸入的安全協(xié)議使用改進后的串空間模型和認證測試方法構(gòu)造協(xié)議中的測試分量,將測試分量分為outgoing test,incoming test和unsolicited test。
6.根據(jù)權(quán)利要求1所述的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征是,所述的擴展BSW,其方法是選擇協(xié)議交換的第一條消息,搜索初始假設(shè),根據(jù)協(xié)議輸入和初始假設(shè)調(diào)用Prolog語言編寫的協(xié)議分析算法,使用改算法進行邏輯和驗證,比對驗證的結(jié)果和目標(biāo)集合的內(nèi)容,最后輸出協(xié)議的分析結(jié)果。
7.根據(jù)權(quán)利要求1或者6所述的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,其特征是,支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法,所述的輸出協(xié)議的分析結(jié)果,是指使用文本方式將協(xié)議分析驗證結(jié)果在客戶端的Web頁面上進行顯示。
全文摘要
本發(fā)明涉及的是一種計算機網(wǎng)絡(luò)安全技術(shù)領(lǐng)域的支持大規(guī)模多用戶的安全協(xié)議驗證實驗系統(tǒng)的實現(xiàn)方法。使用B/S架構(gòu)實現(xiàn)安全協(xié)議的分布式驗證,并且支持多用戶的并發(fā)操作,從用戶端界面獲取安全協(xié)議的形式化輸入,根據(jù)輸入內(nèi)容構(gòu)造協(xié)議交換的消息項,用戶提交的協(xié)議文本提取協(xié)議分析中使用的數(shù)據(jù),提供多用戶同時并發(fā)操作,分別使用基于串空間模型和擴展BSW邏輯的協(xié)議分析算法對輸入的協(xié)議分析分析驗證,最后產(chǎn)生輸出協(xié)議的分析結(jié)果并以文本方式返回給用戶。本發(fā)明對安全協(xié)議能夠進行更科學(xué)準確地說明和驗證,解決了原有形式化方法模型定義不完整,對被用于多用戶并發(fā)的安全協(xié)議驗證實驗,算法的結(jié)果準確,運行效率高。
文檔編號H04L29/06GK1925488SQ200610116299
公開日2007年3月7日 申請日期2006年9月21日 優(yōu)先權(quán)日2006年9月21日
發(fā)明者楊樹堂, 陸松年, 張愛新, 李謝華, 趙成明, 王鵬 申請人:上海交通大學(xué)