當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]數(shù)據(jù)獨(dú)立技術(shù)在CSP協(xié)議模型中的設(shè)計(jì)

1996年,Lowe首先使用通信順序進(jìn)程CSP和模型檢測技術(shù)分析NSPK(Needham-Schroeder Public Key)協(xié)議,并成功發(fā)現(xiàn)了協(xié)議中的一個中間人攻擊行為。隨后,Roscoe對CSP和FDR(Fallures-Divergence Refinenent)的組合做了進(jìn)一步研究,認(rèn)為CSP方法是形式分析安全協(xié)議的一條新途徑。事實(shí)證明,CSP方法對于安全協(xié)議分析及發(fā)現(xiàn)安全協(xié)議攻擊非常有效。但是類似FDR的模型檢測通常受NONce、Key等新鮮值大小的限制,而在實(shí)際執(zhí)行中所需的數(shù)據(jù)值比這大得多。使用數(shù)據(jù)獨(dú)立技術(shù)使結(jié)點(diǎn)能夠調(diào)用無限的新鮮值以保證實(shí)例無限序列的運(yùn)行。本文將研究Roscoe這些理論,對CSP協(xié)議模型進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),從而解決有限檢測的問題。

  1 CSP協(xié)議模型
  
  在CSP模型中,協(xié)議參與者被表示為CSP的進(jìn)程(process),消息被表示為事件(event),進(jìn)而協(xié)議被表示為一個通信順序進(jìn)程的集合。

  CSP協(xié)議模型由一些可信的參與者進(jìn)程和入侵者進(jìn)程組成,進(jìn)程并行運(yùn)行且通過信道交互。以NSPK協(xié)議為例。該協(xié)議的CSP模型包括兩個代理(初始者a,響應(yīng)者b)和一個能執(zhí)行密鑰產(chǎn)生、傳送或認(rèn)證服務(wù)的服務(wù)器s,它們之間通過不可信的媒介(入侵者)通信,所以存在四個CSP進(jìn)程.

     Initiator a的CSP進(jìn)程描述如下:

 

  響應(yīng)者b與服務(wù)器s也有著相似的描述。
  
  攻擊者進(jìn)程被描述為:

   

 

 


  2 數(shù)據(jù)獨(dú)立技術(shù)
   
  數(shù)據(jù)獨(dú)立技術(shù)是本論文的關(guān)鍵技術(shù).它起源于Lazic的數(shù)據(jù)獨(dú)立研究。

  2.1 一般的數(shù)據(jù)獨(dú)立分析
   
  如果一個進(jìn)程P對于類型T沒有任何限制,則P對于T類型是數(shù)據(jù)獨(dú)立的。此時,T可以被視為P的參數(shù)。

  通常,數(shù)據(jù)獨(dú)立分析是為以類型T為參數(shù)的驗(yàn)證問題發(fā)現(xiàn)有限閾值。如果對于T的閾值,可以驗(yàn)證系統(tǒng)成立,則對于所有較大的T值也可以驗(yàn)證系統(tǒng)成立。這點(diǎn)對于很多問題都是成立的。

  安全協(xié)議模型中的許多特征都可以被視為數(shù)據(jù)獨(dú)立實(shí)體。常見的key、nonce可以作為模型中進(jìn)程的參數(shù)。

  對依賴nonce和密鑰(和依賴協(xié)議的其他簡單數(shù)據(jù)對象)惟一性的安全協(xié)議進(jìn)行的閥值計(jì)算,主要是發(fā)現(xiàn)進(jìn)程存儲量的閾值,并不能直接解決驗(yàn)證的局限性,也就不能直接應(yīng)用于安全協(xié)議模型。

  2.2 Roscoe的數(shù)據(jù)獨(dú)立技術(shù)
  
  上節(jié)證明了一般目標(biāo)的數(shù)據(jù)獨(dú)立結(jié)果不適用于安全協(xié)議分析。所以Roscoe對這些結(jié)果進(jìn)行推論。發(fā)展了數(shù)據(jù)獨(dú)立技術(shù)。本節(jié)將介紹幾條對課題研究具有重要理論意義的推論。

  (1)基本原則
   
  對一般數(shù)據(jù)獨(dú)立分析結(jié)果進(jìn)行推論所基于的基本原則也是證明數(shù)據(jù)獨(dú)立理論最重要的方法。即對進(jìn)程P的參數(shù)類型T應(yīng)用Conapsint函數(shù)φ建立映射關(guān)系,證明映射前P(T)的行為經(jīng)過函數(shù)轉(zhuǎn)換,是P(φ(T))行為的子集。
  
  對于安全協(xié)議主要研究進(jìn)程的跡??梢院苤庇^地發(fā)現(xiàn)如果Collapsing函數(shù)φ是單映射的(T的所有成員被映射為不同值),并應(yīng)用于進(jìn)程P的參數(shù)類型T上(P對于T數(shù)據(jù)獨(dú)立),則因?yàn)門的所有成員被映射為不同值,所以映射前的行為等價于映射后的行為,如式(1)所示:


   
     如果使用的Collapsing函數(shù)φ為非單映射函數(shù),則有可能改變等價測試結(jié)果,產(chǎn)生不等式(2):
   
 

  該不等式只適用于變量,對于程序中的常量,情況有所不同。因此提出下面兩個條件:
  PosConjEqT(Positive Conjunetions of Equality teSTs)條件由Lazic提出,該條件可以使變量使用

  非單映射函數(shù)的進(jìn)程再度滿足等式(1)。
  對于常量雖然不能重新滿足等式(1),但可滿足不等式(3):
   
   

  協(xié)議的某些方面可能并不滿足PosConjEqT條件,如代理進(jìn)程可能需要執(zhí)行擁有常量(例如名字)的不等式測試。因此,針對常量集C定義PosConjEqT′c條件如下:
  
  如果進(jìn)程P對于常量集C滿足下列條件,則稱進(jìn)程P滿足PosConjEqT′c條件。該條件滿足PosConjEqT條件,但與PosConjEqT條件的不同之處是:對于至少包含常量集C一個成員的等價測試,P可能擁有non-STOP結(jié)果。[!--empirenews.page--](2)明確推理系統(tǒng)
 
  協(xié)議模型中的代理進(jìn)程是標(biāo)準(zhǔn)類型進(jìn)程且易于進(jìn)行滿足PosConjEqT′c條件的特性檢測。但I(xiàn)ntruder進(jìn)程可以依靠推理系統(tǒng)指定產(chǎn)生或破壞信息的規(guī)則,這一特性決定了其更為復(fù)雜。
  
  如果推理系統(tǒng)滿足這樣的條件,即對于類型間的任意函數(shù)φ:T1→T2,只要(X,f)是系統(tǒng)產(chǎn)生的適用于類型T1推論,則(φ(X),φ(f))就是適用于T2的推論,進(jìn)而稱該推理系統(tǒng)與這些類型參數(shù)T明確相關(guān)。其中要求推理的產(chǎn)生在T上對稱(也就是平等對待T的所有成員)并且對出現(xiàn)在推理左邊的T成員不再具有不等的要求。

     從上述定義可以確定這樣的性質(zhì):如果在明確推理系統(tǒng)中建立攻擊者,并且攻擊者的初始知識集不包含對于類型T成員(除了常數(shù)C)的非等價測試,那么該進(jìn)程滿足PosConjEqT′c條件(并且因此,整個協(xié)議模型滿足網(wǎng)絡(luò)其他部分的條件)。

  可以看出系統(tǒng)成分是否滿足上述性質(zhì)對研究至關(guān)重要。只有滿足這些條件才能夠在協(xié)議分析的CSP模型中構(gòu)造更為復(fù)雜的事件。

  (3)Roscoe數(shù)據(jù)獨(dú)立技術(shù)的意義

  Roscoe在文獻(xiàn)中引入了NM進(jìn)程,負(fù)責(zé)產(chǎn)生系統(tǒng)所需的無眼新鮮值。那么在以前運(yùn)行中,一個進(jìn)程要在每一次輸出通信時產(chǎn)生一個新鮮值v;而現(xiàn)在就會將這次通信變?yōu)橄蛟撨M(jìn)程輸入v,并且要求其與相應(yīng)的NM進(jìn)程同步。

  為了滿足新鮮值的惟一性和新鮮性,引入的NM進(jìn)程需進(jìn)行下列操作:存儲所有發(fā)送的新鮮值,相同的新鮮值只發(fā)送一次,不發(fā)送屬于攻擊者的新鮮值。顯然這些操作并不滿足PosConjEqT條件。

  Roscoe沒有單獨(dú)使用NM進(jìn)程進(jìn)行無限新鮮值的分發(fā),而是應(yīng)用數(shù)據(jù)獨(dú)立技術(shù),在NM進(jìn)程中執(zhí)行Collapse轉(zhuǎn)換,通過轉(zhuǎn)換從有限集生成無限新鮮值。

  Roscoe的數(shù)據(jù)獨(dú)立技術(shù)提供了這樣的理論基礎(chǔ):若系統(tǒng)的所有成分滿足PosConjEqT′c條件,則大協(xié)議系統(tǒng)中轉(zhuǎn)換前的全部行為(就系統(tǒng)跡而言)可以用經(jīng)過映射的相應(yīng)的有限系統(tǒng)描述。這一技術(shù)保證了可以在大協(xié)議中應(yīng)用非單映射轉(zhuǎn)換,將問題簡化為相應(yīng)的有限系統(tǒng)。


  3 數(shù)據(jù)獨(dú)立技術(shù)在CSP協(xié)議模型中的設(shè)計(jì)
   
  數(shù)據(jù)獨(dú)立技術(shù)使模型檢測器的證明更加完整,因?yàn)樗膽?yīng)用使大協(xié)議的建模成為可能。

  3.1 協(xié)議模型的擴(kuò)展
   
  為了解決驗(yàn)證的局限性,需要系統(tǒng)代理能夠在實(shí)際類型保持有限的情況下,調(diào)用無限的不同的新鮮值。沿用Roscoe的方法,引入Manager進(jìn)程擴(kuò)展CSP協(xié)議模型。與以前的協(xié)議模型相比,該模型引入了Manager進(jìn)程。此進(jìn)程與Intruder進(jìn)程相互配合以實(shí)現(xiàn)新鮮值的循環(huán)利用,因此可視為新鮮值的循環(huán)機(jī)制??梢哉f,該模型是對Roscoe文獻(xiàn)的一個擴(kuò)展和細(xì)化,可以證明其滿足PosConjEqT′c條件:
   
  (1)進(jìn)程中的數(shù)據(jù)類型隨機(jī)數(shù)Na、Nb和密鑰Kdo均為數(shù)據(jù)獨(dú)立類型。
   
  (2)可信代理進(jìn)程為標(biāo)準(zhǔn)類型進(jìn)程,滿足PosConjEqT′c條件。
  
  (3)攻擊者進(jìn)程在明確推理系統(tǒng)中建立,并且其初始知識集不包含對類型T成員(除了常數(shù)C)的非等價測試,滿足P0sConjEqT′c條件。

  因此該系統(tǒng)中轉(zhuǎn)換前全部行為可以用經(jīng)過映射的、相應(yīng)的有限系統(tǒng)描述。也正基于此,可以在無限新鮮值的產(chǎn)生過程中應(yīng)用非單映射轉(zhuǎn)換,從而將其簡化為相應(yīng)的有限過程,以形成完整的形式化描述。

  3.2 協(xié)議各對象的描述
  
  對于每一個新鮮值引入對應(yīng)的Manager進(jìn)程,取消可信代理分發(fā)新鮮值的能力,只在單次運(yùn)行期間存儲新鮮值,并要求其在完成協(xié)議一次運(yùn)行時“遺忘”所有存儲的新鮮值。當(dāng)新鮮值v不再被可信參與者所知(存儲)時,稱v被“遺忘”。攻擊者能夠存儲在網(wǎng)絡(luò)中所見的所有新信息。為了能夠產(chǎn)生無限的新鮮值,可以對攻擊者存儲的新鮮值應(yīng)用collasphag函數(shù),從而啟動所提出的新鮮值循環(huán)機(jī)制。即當(dāng)新鮮值v在網(wǎng)絡(luò)中被“遺忘”時可以被循環(huán)再利用。一旦該值被循環(huán)利用,相應(yīng)的Manager進(jìn)程可以在網(wǎng)絡(luò)中再次將其作為新鮮值使用。

  (1)可信進(jìn)程
  
  在擴(kuò)展的CSP協(xié)議模型中,進(jìn)程描述如下:

 

  擴(kuò)展后的描述主要有三處變動:第一,進(jìn)程被定義為遞歸進(jìn)程,表示Initiator可以執(zhí)行無限數(shù)量的序列運(yùn)行;而在之前的模型描述中,進(jìn)程在SKIP終止。第二,新鮮Nonce NA不再是參數(shù),而是來自集合NonceF(通過定義,進(jìn)程可以接收該集合中的任意值);之后將會介紹Manager進(jìn)程如何終止這些值的產(chǎn)生。第三,添加了close事件表示進(jìn)程重新開始執(zhí)行初始狀態(tài)。該事件標(biāo)志著進(jìn)程一次運(yùn)行的結(jié)束,在新鮮值的循環(huán)機(jī)制中發(fā)揮重要作用。[!--empirenews.page--](2)Manager進(jìn)程
   
  Manger進(jìn)程負(fù)責(zé)利用有限資源向網(wǎng)絡(luò)提供無限的新鮮值。需要為每一種數(shù)據(jù)獨(dú)立類型分別定義一個Manager進(jìn)程,在上述的Yahalom協(xié)議中需要定義一個管理Nonce類型值的Manager進(jìn)程——Nonce Manager和一個管理SESSionKey類型值的Manager進(jìn)程——SessionKeyManager。本節(jié)研究Manager進(jìn)程的CSP設(shè)計(jì)和實(shí)現(xiàn)。

  將協(xié)議中的每一種數(shù)據(jù)獨(dú)立類型T所擁有的值分為兩類集合。第一類集合稱為Foreground值,這些值被阿絡(luò)視為新鮮值。第二類集合由Background值組成,表示類型r舊的或靜態(tài)的值。當(dāng)循環(huán)利用Intruder存儲的新鮮值時,將使用這一集合進(jìn)行映射。

  可以說Manager進(jìn)程是建模過程中的人造產(chǎn)物,并不代表實(shí)際對象而只代表了對于新鮮值的某種操作,主要完成觸發(fā)“遺忘”值的循環(huán)和分發(fā)新鮮值的功能。

  為了對Manager進(jìn)程進(jìn)行形式化描述,此處定義兩個新的事件:
  
  ①ifclose.(v):表示最后一個存儲v的進(jìn)程是否已經(jīng)“遺忘”了v,如果“遺忘”為true,否則為false。
   
 ?、趓eplace.(v,b):表示對intruder存儲中含有v的所有信息進(jìn)行操作,將v的所有實(shí)例替換為Background值b,即完成Collapse函數(shù)的非單映射。在相對意義上,v又會被視為新鮮,即實(shí)現(xiàn)了有限值產(chǎn)生無限新鮮值。

  同時,使用下述策略確定循環(huán)值映射為哪個Background值:對于每一種數(shù)據(jù)獨(dú)立類型T,定義兩個不同的Background值TPk和TBu。將所有intruder所知的Foreground值映射為TBk,不知的映射為TBk。

  通過上述定義和策略研究,描述Manager進(jìn)程如下:


  其中,T表示數(shù)據(jù)類型,TF代表該數(shù)據(jù)類型的Foreground集合,TBk和TBa分別代表不同的Background值TBk和TBu。

  為了編譯階段的效率,將其分解為并行結(jié)構(gòu)。因?yàn)閷γ恳粋€新鮮值的控制都是獨(dú)立的。在Yahalom協(xié)議中,假設(shè)定義新鮮Nonce集為{N1,N2},新鮮SessionKey集為{K1},則可建模為下面的并行結(jié)構(gòu):


 

  其中,T表示數(shù)據(jù)類型,TF代表該數(shù)據(jù)類型的Foreground集合,TBk和TBa分別代表不同的Background值TBk和TBu。

  為了編譯階段的效率,將其分解為并行結(jié)構(gòu)。因?yàn)閷γ恳粋€新鮮值的控制都是獨(dú)立的。在Yahalom協(xié)議中,假設(shè)定義新鮮Nonce集為{N1,N2},新鮮SessionKey集為{K1},則可建模為下面的并行結(jié)構(gòu):

   (3)Intmdez進(jìn)程
  

  擴(kuò)展Intruder進(jìn)程,使其與Manager進(jìn)程一起形成(數(shù)據(jù)獨(dú)立類型)新鮮值循環(huán)機(jī)制。當(dāng)啟動新鮮值v的循環(huán)機(jī)制時,對存儲中含有v的所有信息進(jìn)行操作,將v的所有實(shí)例替換為Background值b。

  沿用在Manager進(jìn)程中的定義和研究,Intruder進(jìn)程描述如下:

 

  4 數(shù)據(jù)獨(dú)立技術(shù)在CSP協(xié)議模型中的實(shí)現(xiàn)
   
  CSPM是CSP的機(jī)器可讀語言,適用于FDR、ProBE等各種工具。一般的程序語言以可執(zhí)行的形式描述算法。CSPM也包含功能程序語言,但是其主要目標(biāo)不同:此處它以自動操作的形式支持并行系統(tǒng)的描述。因此,CSPM腳本通常被定義為一組進(jìn)程而不是程序。作為基礎(chǔ)層,CSPM腳本還支持表達(dá)式和函數(shù)。為了能夠?qū)U(kuò)展后的協(xié)議模型輸入驗(yàn)證工具ProBE并完成驗(yàn)證,需要將擴(kuò)展CSP描述編寫成CSPM腳本(因?yàn)镻roBE編譯接口無法擴(kuò)展)。因此在編寫CSPM腳本過程中定義了相應(yīng)的新事件、新進(jìn)程以實(shí)現(xiàn)擴(kuò)展,最終將手工完成的CSPM腳本輸入工具,完成驗(yàn)證。

  本文的研究確保了協(xié)議中每個代理都可以執(zhí)行無限數(shù)量的序列運(yùn)行,解決了有限檢測問題。但是,并行運(yùn)行的代理實(shí)體數(shù)量的無限問題沒有得到解決;如果在模型中沒有發(fā)現(xiàn)攻擊。不能夠證明在更高的并行度不存在攻擊。這也是今后的一個研究方向。

  數(shù)據(jù)獨(dú)立技術(shù)可以在一定的協(xié)議范圍內(nèi)使用,不可以直接運(yùn)用在包含時戳的協(xié)議中。因?yàn)閳?zhí)行的典型操作超出了數(shù)據(jù)獨(dú)立范圍,如使用對比算子x<y決定時戳y是否比時戳x舊。擴(kuò)展研究處理時戳可以作為未來的研究方向。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉