• 
    

    
    

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

      ?

      基于無證書簽名的抗DNS中間人攻擊方案

      2022-01-18 08:27:20胡楊韓增杰葉幗華姚志強
      網絡與信息安全學報 2021年6期
      關鍵詞:解析器挑戰(zhàn)者公鑰

      胡楊,韓增杰,葉幗華,姚志強,3

      (1. 福建師范大學計算機與網絡空間安全學院,福建 福州 350117;2. 福建省公共服務大數據挖掘與應用工程技術研究中心,福建 福州 350108;3. 非遺數字化與多源信息融合福建省高校工程研究中心,福建 福清 350300)

      1 引言

      域名系統(tǒng)(DNS,domain name system)作為互聯網基礎設施,能夠將域名和IP地址互相映射,從而保證其他網絡應用的正常運行。DNS協(xié)議在設計之初對安全問題考慮不夠充分:由于缺乏必要的認證機制,用戶無法確認信息自身的正確性以及來源的真實性[1]。隨著互聯網的快速發(fā)展,DNS需要設計與其相匹配的安全協(xié)議來保障數據傳輸,其中抵御中間人攻擊成為DNS安全保障體系中最重要的問題。中間人攻擊是一種惡意第三方秘密控制兩個或多個端點之間的通信通道攻擊[2],攻擊者利用欺騙、冒充等手段攔截或篡改通信雙方的交互信息,破壞數據的機密性、完整性以及可用性。在域名解析過程中,DNS協(xié)議使用緩存機制提高解析效率,但這也為中間人攻擊提供了可能性。在DNS緩存中毒攻擊中,攻擊者利用惡意數據覆蓋本地DNS的緩存條目,導致流量定向到惡意服務器。為解決上述問題,許多學者提出了解決方案。Herzberg等[3]對DNS中間人的防御機制進行研究并分類:DNS偽造檢測、熵增加機制、基于密碼學的解決方案以及DNS體系結構變化。在DNS偽造檢測中,一類是使用機器學習進行流量鑒別,如Thomas等[4]使用機器學習技術進行實時檢測惡意軟件域并將其準確聚類到特定變體,無須獲取惡意軟件樣本,但該類方案的效果依賴于機器學習的方法以及樣本的選??;另一類方案是詢問對等節(jié)點統(tǒng)計得出結果,如Zhao等[5]提出的DCG系統(tǒng)可以將同一份查詢復制到多個DNS服務器,使用投票機制將出現次數最多的查詢作為最后結果,但投票機制存在開銷處理問題,所以此類方案解析效率低。在熵增加機制中,文獻[6]增加了DNS數據包的隨機性以增加敵手的攻擊難度,然而不能抵御對短域名的攻擊。在基于密碼學的解決方案中,IETF提出DNS安全擴展(DNSSEC,DNS security extensions)確保數據的完整性以及對源身份的認證,但該方案部署困難、引入額外的開銷、增加服務響應時間[7];Herrmann等[8]在DNSCurve[9]的基礎上提出EncDNS,該方案對DNS查詢內容進行加密,但需要修改原有DNS的協(xié)議規(guī)范,廣泛部署較為困難。在體系結構變化中,一類方案是更換DNS傳輸協(xié)議,如Zhu等[10]提出的T-DNS使用TCP和TLS代替UDP傳輸DNS消息,但TCP在建立連接時會增加時間開銷且與現有的DNS基礎設施不兼容;另一類方案是利用區(qū)塊鏈的特性設計去中心化的DNS,如Blockstack建立分散的網絡基礎設施,提供不被劫持和篡改的域名服務,但存在域名注冊較慢、與現有的DNS基礎設施不兼容以及51%攻擊問題[11]。

      近年來,無證書技術簽名引起學術界極大的關注,為了更好地應對DNS解析過程出現的中間人攻擊以及惡意密鑰生成中心(KGC,key generate center)攻擊,本文在DNSSEC的基礎上引入無證書簽名技術提出一種輕量化解決方案。該方案可以有效抵抗常見的中間人攻擊類型,能夠在原有基礎設施上部署和運行,并在安全性的前提下優(yōu)化協(xié)議的運行效率,以達到輕量化的目的。

      2 相關工作

      DNSSEC作為IETF提出的首個完善的DNS安全機制,其體系結構如圖1所示。該方案雖然在一定限度上解決了DNS中間人攻擊問題,但是通信雙方都必須使用DNSSEC協(xié)議才能維護數據來源的真實性和完整性;DNSSEC沒有針對惡意KGC攻擊、緩沖區(qū)溢出,拒絕服務攻擊提供保護,也不能提供機密性;DNSSEC在短時間內不可能全部部署。Bernstein等[9]提出DNSCurve作為DNSSEC的替代方案,該方案采用橢圓曲線加密體制簡化了密鑰管理問題,并為所有DNS查詢實現逐個數據包加密。但是DNSCurve只改進了DNSSEC簽名算法,并沒有解決DNSSEC固有的問題(惡意KGC攻擊等)。Chetioui等[12]提出E-DNSSEC加強DNSSEC的安全性,該方案是在DNSEEC的基礎上對DNS中傳輸的數據使用對稱密鑰進行加密與哈希處理再發(fā)送出去。該方案使用對稱加密有效地解決了DNSSEC本身不能提供機密性的問題,但依然無法抵御惡意KGC攻擊。

      圖1 DNSSEC安全體系結構Figure 1 DNSSEC security architecture

      數字簽名作為公鑰密碼體制的重要組成部分,能夠確保消息在傳送過程中的完整性以及消息源身份的真實性?;诠€基礎設施(PKI,public key infrastructure)[13]的數字簽名是一種常用的簽名方式,如在電子政務[14]等領域均會使用該密碼體制。這種密碼體制需要證書管理機構驗證用戶身份、分發(fā)證書、存儲和更新證書等,因此會產生額外的開銷。為了解決基于傳統(tǒng)公鑰簽名體制所存在證書管理問題,Shamir[15]提出了基于身份密碼機制的數字簽名,該簽名體制將用戶公開且唯一確定的身份信息作為公鑰,私鑰是由系統(tǒng)主密鑰生成的。由于私鑰生成中心知道任何用戶的私鑰,故存在密鑰托管問題。為了解決基于身份密碼機制數字簽名中的密鑰托管問題,Al-Riyami和Paterson[16]共同提出基于無證書密碼體制的數字簽名概念。在無證書密碼體制中,用戶的私鑰由KGC產生的部分私鑰和用戶的秘密值共同計算得出,解決了基于身份的數字簽名體制中的密鑰托管問題。Liu等[17]基于文獻[18]提出了首個在標準模型下的無證書簽名方案,并給出了詳細的安全性證明過程。Xiong等[19]指出文獻[17]中的無證書簽名方案無法抵抗第二類攻擊者。由于雙線性配對的計算開銷比乘法運算和指數運算要高,因此,為了提高計算效率,He等[20]首次提出不使用雙線性配對的無證書簽名方案,并證明了該方案可以同時抵抗兩類攻擊者。隨后Tsai等[21]指出文獻[20]無法抵抗第二類攻擊者。

      與此同時,Islam等[22]設計出一種不使用雙線性配對的無證書簽名方案并證明了該方案的安全性,后來Tiwari等[23]發(fā)現并證明文獻[22]不能抵抗第二類攻擊者。Yeh等[24]提出了一種適用于物聯網環(huán)境下移動設備的無證書簽名方案,其方案的安全性依賴于橢圓曲線離散對數問題的不可解,并證明了該方案可以同時抵御上述兩類攻擊者。文獻[25]提出一種適用于在無線傳感網下多方通信的無證書簽名方案,該方案通過形式化的安全模型證明其安全性。Wang等[26]分析指出Wu等和其他簽名方案的不足之處并提出了一系列的評價標準。Saeed等[27]提出了一種新型的無證書簽名,該方案利用輕量級簽名使得無線體域網用戶能夠基于物聯網匿名享受醫(yī)療服務。

      綜上所述,由于DNSSEC部署困難、運行效率較低,并且只能抵抗部分中間人攻擊,本文擬在 DNSSEC的基礎上引入無證書簽名技術并結合文獻[28]中的3個基本原則提出一種安全且輕量的抗DNS中間人解決方案。主要貢獻如下。

      1)提出一種抗DNS中間人攻擊的解決方案,相較于之前的DNSSEC去掉了原有的信任鏈、DS記錄并引入了無證書簽名技術,使得方案在確保安全性的前提下具有良好的前向保密性,更易于部署。

      2)在簽名算法和驗證簽名算法中,本方案在保證安全性的前提下未使用雙線性配對運算。經過安全分析,該簽名方案具有不可偽造性,并有更高的運行效率。

      3 無證書簽名方案的安全性模型

      密碼學方案的安全性通常規(guī)約為數學困難問題,利用困難問題的不可解來證明方案的安全性,本文所涉及的數學困難問題是橢圓曲線下的離散對數問題(ECDLP,elliptic curve discrete logarithm problem)。

      無證書簽名的安全模型中有兩類攻擊者:第一類攻擊者AⅠ充當惡意用戶替換其他用戶的公鑰但不能獲取系統(tǒng)主密鑰;第二類攻擊者AⅡ充當惡意KGC獲取系統(tǒng)主密鑰但不能替換用戶的公鑰[29]。無證書簽名方案的安全模型用以下兩個游戲進行刻畫。

      (1)游戲一(適用于第一類攻擊者)

      階段一:系統(tǒng)參數設置。挑戰(zhàn)者B運行系統(tǒng)參數生成算法,輸入參數λ,輸出系統(tǒng)主密鑰以及安全參數params。挑戰(zhàn)者將參數發(fā)送給AⅠ并保存主密鑰。

      階段二:自適應詢問。攻擊者AⅠ在多項式時間內自適應性地向挑戰(zhàn)者B進行公鑰詢問、部分私鑰詢問、公鑰替換詢問、秘密值詢問以及簽名詢問,利用返回信息來偽造簽名。挑戰(zhàn)者B按照簽名方案模擬并回答。

      階段三:簽名偽造。AⅠ輸出一個(M*,σ*, ID*,P*),AⅠ在游戲中獲勝,當且僅當:

      1)偽造簽名σ*驗證有效;

      2)AⅠ在詢問過程中沒有詢問過ID*對應的部分私鑰;

      3)AⅠ在詢問過程中沒有詢問過ID*對應公鑰P*對消息M*的簽名。

      AⅠ在此游戲獲勝的概率為succcⅠ(k)。

      (2)游戲二(適用于第二類攻擊者)

      階段一:系統(tǒng)參數設置。系統(tǒng)參數生成過程同游戲一一致,挑戰(zhàn)者將主密鑰和params發(fā)送給AⅡ。

      階段二:自適應詢問。同游戲一一致,但攻擊者不能進行公鑰替換詢問。

      階段三:簽名偽造。AⅡ輸出(M*,σ*,ID*,P*),AⅡ在游戲中獲勝條件與游戲一一致,但攻擊者不能替換ID*的公鑰。

      AⅡ在此游戲獲勝的概率為succcⅡ(k)。

      4 方案提出

      由于IETF所提出的DNSSEC易受到惡意KGC等其他中間人攻擊,本文在DNSSEC的基礎上引入無證書簽名與對稱加密技術提出新的簽名認證方案抵抗DNS中間人攻擊。

      4.1 方案安全體系結構

      DNS無證書的抗中間人攻擊安全體系結構如圖2所示。本文提出的無證書簽名方案主要由3部分組成:KGC、服務器(根域名服務器、頂級域名服務器、權威域名服務器)和遞歸解析器。方案的主要步驟如下。

      圖2 DNS無證書的抗中間人攻擊安全體系結構Figure 2 DNS certificateless security architecture against man-in-the-middle attack

      1)可信中心初始化系統(tǒng)參數,服務器與遞歸解析器向可信中心進行注冊,獲取部分公私鑰及參數。

      2)服務器與遞歸解析器獲取部分公私鑰后,結合秘密值生成完整的公私鑰以及對應的會話密鑰,并將公鑰公開。

      3)遞歸解析器收到查詢內容后,使用自身與根域名解析器之間的會話密鑰將查詢內容加密后,將密文發(fā)給根域名解析器。

      4)根域名解析器收到密文后,使用會話密鑰解密后進行域名解析。

      5)遞歸解析器與頂級域名服務器、權威域名服務器之間的交互過程同上述過程一致。

      6)解析后的結果,使用私鑰進行簽名,發(fā)回給遞歸解析器;遞歸解析器使用對應的公鑰進行驗證,若驗證成功,則接受該消息并發(fā)回給本地用戶,否則丟棄。

      4.2 方案的具體設計

      本文所提出的方案主要分為4個階段:系統(tǒng)初始化階段、實體注冊及密鑰生成階段、消息簽名階段、認證階段。本文所使用的重要符號以及相關含義如表1所示。4.2.1系統(tǒng)初始化階段

      表1 符號說明Table 1 Notions and their meanings

      本階段,KGC生成系統(tǒng)參數并公開公共參數,然后根服務器、頂級域名服務器以及權威域名服務器向KGC注冊獲取部分公私鑰。

      首先,系統(tǒng)給定安全參數λ。KGC選擇兩個素數p、q,并生成在有限域Fp上階數為q的橢圓曲線群G。P是群G的生成元,KGC隨機選擇作為主密鑰然后計算系統(tǒng)公鑰Ppub=sP。

      最后,KGC公開系統(tǒng)參數params={p,q,G,并將主密鑰秘密保管。

      4.2.2實體注冊及密鑰生成階段

      (1)服務器

      KGC驗證IPi的正確性。驗證通過后,計算。然后KGC隨機選取秘密值計算通過安全信道發(fā)回給服務器。

      服務器將(xi,yi)作為私鑰秘密保存。(Xi,Yi)則作為公鑰并與Ji公開。

      根域名服務器、頂級域名服務器以及權威域名服務器根據上述方法注冊后分別得到自己的公私鑰對(xR,yR),(XR,YR);(xT,yT),(XT,YT);(xA,yA),(XA,YA)。

      (2)遞歸解析器

      遞歸解析器將私鑰zr秘密保存,將公鑰Zr公開。

      4.2.3消息簽名階段

      所有實體在注冊完成后,用戶通過遞歸解析器進行交互。交互過程如下。

      1) 用戶使用瀏覽器訪問某個網站,按域名解析過程將查詢消息發(fā)送給遞歸解析器。

      2) 遞歸解析器計算與根域名服務器之間的會話密鑰KR=z r(JR+H0(IPR)Ppub)。該解析器使用會話密鑰對查詢的內容進行加密,得出查詢密文β。遞歸解析器將密文β發(fā)送給根域名服務器。

      3) 根域名服務器收到密文β并計算對稱密鑰:

      4) 根域名服務器使用KR對β進行解密之后,通過查詢獲取所要查詢網站對應的頂級域名服務器的IPT,該查詢結果定義為MR。根服務器計算簽 名σR=xR+yR+dR?μRmodq,μR=H3(MR,將發(fā)給遞歸解析器。

      4.2.4認證階段

      遞歸解析器收到根域名解析器的消息后,首先驗證tR是否在規(guī)定時間范圍內。假如超出規(guī)定范圍,直接丟棄;否則計算αR=H1(AR,XR),μR=H3(M R,C R,J R,tR)。接著遞歸解析器驗證等式σRP=X R+YR+αRPpub+J R μR是否成立,如果等式不成立,直接丟棄該響應;否則,接收該消息。通過計算可以得出以上等式均成立。

      按照DNS解析的順序,遞歸解析器繼續(xù)向頂級域名服務器、權威域名服務器進行遞歸查詢,最后將得到的IP地址發(fā)回給本地用戶。

      5 安全性與效率分析

      5.1 會話密鑰安全性

      本方案提出遞歸解析器發(fā)送的內容是使用對稱密鑰Ki對查詢內容進行加密得出的βi,會話密鑰為:攻擊者要計算出會話密鑰Ki就要計算而攻擊者僅知道Ji=d iP,Zr=z rP以及Ppub=sP,所以攻擊者必須要解決ECDLP才能計算出會話密鑰Ki。由于ECDLP是困難的,因此本方案通過會話密鑰確保查詢內容不會在傳輸過程中被惡意篡改。

      5.2 互相認證

      一方面,根據5.1分析可以得知,只有通信雙方才能計算出會話密鑰Ki;另一方面,遞歸解析器通過簽名來驗證消息的來源。攻擊者在計算具 體 消 息 的 簽 名σi=xi+yi+di?μimodq,μi=H3(M i,Ci,J i,ti)過程中,需要知道xi、yi以及di具體數值。而(xi,yi)是服務器的私鑰,di則是服務器在注冊階段KGC隨機選擇的數值,因此攻擊者無法偽造正確的簽名。

      5.3 前向保密性

      遞歸解析器與服務器之間的會話密鑰具有前向保密性。根據公式看出,即便在查詢過程中某個階段會話密鑰被攻擊者獲取,由于包含Ji與IPi會隨著查詢過程發(fā)生變化,其他階段的會話密鑰也會隨之更換。

      5.4 抵抗攻擊

      本文提出的方案可以抵抗惡意KGC攻擊、重放攻擊以及中間人攻擊。

      惡意KGC攻擊:本文提出的方案基于無證書簽名方案,根域名服務器、頂級域名服務器以及權威域名服務器的公私鑰是由服務器與KGC共同生成的,因此可以有效抵抗密鑰托管造成的惡意KGC攻擊。

      重放攻擊:如果攻擊者截獲從服務器發(fā)回的信息{MR,σR,CR,tR}并重新發(fā)給遞歸解析器。根據上述過程可知,遞歸解析器在收到來自服務器的消息后首先檢驗消息中的時間戳ti是否在規(guī)定的時間范圍內,如果不在,遞歸解析器會直接丟棄該消息。因此遞歸解析器能夠判斷并抵抗來自攻擊者的重放攻擊。

      中間人攻擊:根據以上對互相認證安全的分析可知該方案可以抵抗中間人攻擊。

      5.5 安全性證明

      本文在隨機預言機模型下證明了所提方案的安全性。具體過程如下。

      5.5.1 第一類攻擊者的安全性分析

      定理1 假設游戲一中的哈希函數H0、H1、H2、H3均為隨機預言機,若攻擊者AⅠ能夠在多項式時間內獲勝的優(yōu)勢為ε(假設進行qi次Hi詢問,i=0, 1, 2, 3),則挑戰(zhàn)者B能夠以的優(yōu)勢解決ECDLP。

      證明 假設挑戰(zhàn)者B能解決ECDLP,其困難問題嵌入循環(huán)群(G,p,g)上的問題實例(P,sP),攻擊成功的條件是求出挑戰(zhàn)者B進行如下模擬。

      階段一:初始化

      挑戰(zhàn)者B按照方案要求進行系統(tǒng)初始化。挑戰(zhàn)者隨機選擇一個數作為系統(tǒng)主密鑰,則系統(tǒng)公鑰為Ppub=sP。挑戰(zhàn)者B將該公鑰以及系統(tǒng)參數發(fā)送給攻擊者AⅠ,將主密鑰秘密保存。

      階段二:自適應性詢問

      H0詢問:攻擊者對H0進行哈希詢問。挑戰(zhàn)者B需要準備一張空白的哈希表L0用來記錄攻擊者的詢問以及對應的回答。攻擊者AⅠ輸入IPi,IPi? { 0, 1}*,哈希表L0中數組格式為(IPi,h0i),挑戰(zhàn)者會按照如下返回結果:如果攻擊者查詢的IPi已在列表的數組(IPi,h0i)中,則直接返回對應的h0i;否則挑戰(zhàn)者隨機選擇一個數將這個數返回給攻擊者,并將新的數組(IPi,h0i)寫入哈希表L0中。

      H1詢問:攻擊者對H1進行哈希詢問。挑戰(zhàn)者B需要準備一張空白的哈希表L1用來記錄攻擊者的詢問以及對應的回答。攻擊者AⅠ輸入(Ai,Xi),哈希表L1中數組格式為(Ai,Xi,h1i),挑戰(zhàn)者會按照如下返回結果:如果攻擊者查詢的內容已在列表的數組(Ai,Xi,h1i)中,則直接返回對應的h1i;否則挑戰(zhàn)者隨機選擇一個數將這個數返回給攻擊者,并將新的數組(Ai,Xi,h1i)寫入表L1中。

      H2詢問:攻擊者對H2進行哈希詢問。挑戰(zhàn)者B需要準備一張空白的哈希表L2用來記錄攻擊者的詢問以及對應的回答。攻擊者AⅠ輸入(Di,哈希表L2中數組格式為挑戰(zhàn)者會按照如下返回結果:如果攻擊者查詢的內容已在列表的數組(Di,Ti,h2i)中,則直接返回對應的h2i;否則挑戰(zhàn)者隨機選擇一個數將這個數返回給攻擊者,并將新的數組(Di,Ti,h2i)寫入哈希表L2中。

      H3詢問:攻擊者對H3進行哈希詢問。挑戰(zhàn)者B需要準備一張空白的哈希表L3用來記錄攻擊者的詢問以及對應的回答。攻擊者AⅠ輸入(Mi,Ci,,哈希表L3中數組格式為挑戰(zhàn)者會按照如下返回結果:如果攻擊者查詢的內容已在列表的數組(Mi,Ci,Ji,ti)中,則直接返回對應的h3i;否則挑戰(zhàn)者隨機選擇一個數,將這個數返回給攻擊者,并將新的數組(Mi,Ci,Ji,ti)寫入哈希表L3中。

      用戶秘密值詢問:挑戰(zhàn)者B創(chuàng)建一張空哈希表L4記錄攻擊者查詢用戶IPi所對應的秘密值與部分公鑰。如果攻擊者要查詢的IPi在列表中存在,直接返回該IPi所對應的秘密值xi與部分公鑰Xi;否則挑戰(zhàn)者隨機選擇計算Xi=xiP,將xi,Xi作為用戶部分公私鑰,并記錄到哈希表L4中。

      部分私鑰查詢:挑戰(zhàn)者B在哈希表L4中記錄查詢用戶IPi所對應的部分公私鑰。如果攻擊者要查詢的IPi在列表中存在,直接返回該IPi所對應的部分私鑰yi與部分公鑰Yi;否則挑戰(zhàn)者隨機選擇計 算將yi,Yi作為用戶部分公私鑰輸出,并按照對應用戶IPi記錄到哈希表L4中。

      公鑰查詢:挑戰(zhàn)者B在哈希表L4中記錄查詢用戶IPi所對應的公鑰。如果攻擊者要查詢的IPi在列表中存在,直接返回該IPi所對應的公鑰(Xi,Yi);如果挑戰(zhàn)者發(fā)現存在Xi,則繼續(xù)篩選對應的Yi,否則返回至用戶秘密值查詢生成IPi對應的Xi;如果挑戰(zhàn)者發(fā)現存在Xi,但其對應的Yi不存在,那么返回至部分私鑰查詢生成Xi對應的Yi。最后將(Xi,Yi)作為用戶公鑰輸出,并按照對應用戶IPi記錄到哈希表L4中。

      公鑰替換:攻擊者可以替換用戶公鑰中的某個部分公鑰或全部公鑰。如果在詢問之前,攻擊者試圖替換部分公鑰或全部公鑰,則模擬中止;否則,攻擊者將數組(IPi,xi,Xi)或(IPi,yi,Yi)發(fā)送給挑戰(zhàn)者。挑戰(zhàn)者運行部分密鑰檢查,如果測試成功,更新哈希表L4。

      簽名查詢:攻擊者AⅠ向挑戰(zhàn)者發(fā)送(IPi,Mi)進行簽名詢問。挑戰(zhàn)者B接收到詢問之后會對上述所創(chuàng)建的4個哈希表進行綜合查詢,并且隨機選取一個數計算Ji=d iP以及簽名輸出(IPi,Ji,σi)給攻擊者AⅠ。

      階段三:攻擊者挑戰(zhàn)

      攻擊者AⅠ停止詢問,輸出任意消息m*,身份為IP*的簽名σ′。根據分叉引理可知,攻擊者可以獲得消息m*的另一個有效簽名σ′′,由此可得:

      因此,若挑戰(zhàn)者模擬成功,并且攻擊者AⅠ以不可忽略的概率ε破壞該簽名方案的不可偽造性。那么,挑戰(zhàn)者能夠在多項式時間內以優(yōu)勢解決ECDLP。

      5.5.2第二類攻擊者的安全性分析

      定理2假設游戲二中哈希函數H0,H1,H2,H3均為隨機預言機,若攻擊者AⅡ能夠在多項式時間內獲勝的優(yōu)勢為ε(假設進行qi次Hi詢問,i=0,1, 2, 3),則挑戰(zhàn)者B能夠以的優(yōu)勢解決ECDLP。

      證明假設挑戰(zhàn)者B能解決ECDLP,其困難問題嵌入循環(huán)群(G,p,g)上的問題實例(P,sP),攻擊成功的條件是求出攻擊者AⅡ能夠獲取系統(tǒng)主密鑰但是不能更換用戶公鑰。挑戰(zhàn)者B進行如下模擬:

      階段一:初始化

      挑戰(zhàn)者B進行系統(tǒng)初始化,將系統(tǒng)參數和系統(tǒng)密鑰發(fā)送給攻擊者AⅡ。

      階段二:自適應性詢問

      攻擊者AⅡ在多項式時間內自適應性地向挑戰(zhàn)者B進行有限次詢問,步驟與定理1中的證明一致。

      階段三:攻擊者挑戰(zhàn)

      攻擊者AⅡ停止詢問,輸出身份為IP*,任意消息m*的有效簽名σ',根據分叉引理可知,攻擊者可以獲得消息m*的另一個有效簽名σ'',由此可得:

      因此,若挑戰(zhàn)者模擬成功,并且攻擊者AⅡ以不可忽略的概率ε破壞該簽名方案的不可偽造性。那么,挑戰(zhàn)者能夠在多項式時間內以優(yōu)勢解決ECDLP。

      5.6 效率與安全性分析

      下面計算效率和安全性這兩方面分別對文獻[30-32]提出的方案以及文獻[7, 9, 12]提出的方案與本文方案進行分析比較,對比結果如表2與表3所示。

      (1)計算效率

      文獻[30]的簽名算法和驗證算法由模的取逆運算、橢圓曲線的標量乘法運算構成,算法開銷為Tsm+Tinv和6Tsm。文獻[31]的簽名算法和驗證算法由取逆運算、橢圓曲線的標量乘法運算構成,算法開銷分別為Tsm+Tinv和6Tsm。文獻[32]的簽名算法和驗證算法由模的取逆運算、橢圓曲線的標量乘法運算以及雙線性配對運算構成,算法開銷為Tsm+Tinv和 2Tsm+Tpar。經綜合得到表2,其中本方案的簽名算法和驗證算法由模的取逆運算、哈希運算以及橢圓曲線的標量乘法運算構成,開銷分別為Tsm+Th和2Tsm+Th。

      仿真實驗中采用密碼庫MIRACL做加密操作,模的取逆運算等操作在I7-4700處理器、4 GB內存和Windows7操作系統(tǒng)下的執(zhí)行時間分 別 是:Tinv≈ 11.62T m,Tsm≈ 29.00T m,Th≈ 29.00T m,Tpar≈ 87.00T m(Tm表示循環(huán)群G上的模乘運算所需的計算開銷)。由此得出的總開銷如表2所示,可以看出文獻[30-31]中的無證書簽名方案所使用到的橢圓曲線標量乘運算次數較多,計算開銷較本文方案高;文獻[32]使用的橢圓曲線標量乘運算次數較少,所以這種方案的效率較本文方案高。

      表2 無證書方案計算效率比較Table 2 Comparison of computing efficiency of certificate less schemes

      由表2看出,相較文獻[30-31]而言,本文方案的計算效率更高。另外,因為文獻[30-32]的簽名方案可以被輕松繞過部分私鑰或秘密值從而構造一個任意消息的有效簽名,故均不能同時抵抗兩類攻擊者。

      (2)安全性

      本文通過虛擬機對文獻[7,9,12]方案進行實驗分析,然后利用本地服務器充當惡意KGC發(fā)送惡意消息進行仿真攻擊;而本文方案用Python語言實現無證書簽名算法,其中引入對稱加密算法增加了保密性,并通過手動生成惡意的簽名進行仿真攻擊。由表3可知,在源身份認證方面,各個方案均能夠都對消息的源身份進行簽名認證。在傳輸過程的保密性方面,DNSSEC沒有提供保密性;DNSCurve為每個DNS數據包計算不同的密鑰流并對其進行加密,可以保護消息的內容免受中間人攻擊;E-DNSSEC和本文方案使用對稱加密的方法對傳輸消息進行加密。在抵抗惡意KGC攻擊方面,除了本文方案的其他方案,均不能抵抗惡意KGC攻擊,因為其他方案均是基于傳統(tǒng)公鑰體制進行簽名的。在效率方面,其他方案在DNSSEC的基礎上進行簽名算法改進,并沒有對其結構改動,而本文方案去掉了其難以部署的信任鏈以及DS記錄等,計算效率相比于其他方案更高。

      表3 不同DNSSEC方案的安全性比較Table 3 Safety comparison of different DNSSEC schemes

      6 結束語

      為了解決現有DNSSEC存在的惡意KGC以及難部署等問題,本文在DNSSEC基礎上引入無證書技術,對原有方案簽名過程進行改進與精簡,進而提出一種更高效、更易于部署的簽名認證方案。與此同時,該方案具有前向保密性,能夠抵抗密鑰冒充泄露與抵抗中間人攻擊,并在隨機預言模型下證明了方案的安全性。下一步的工作是研究對DNS緩沖區(qū)投毒攻擊的群認證,進一步提高域名解析過程的安全性。

      猜你喜歡
      解析器挑戰(zhàn)者公鑰
      “挑戰(zhàn)者”最后的絕唱
      基于多解析器的域名隱私保護機制
      基于Wireshark的列控中心以太網通信協(xié)議解析器的研究與實現
      閃電遠擊俠“挑戰(zhàn)者”2
      一種基于混沌的公鑰加密方案
      如何防御DNS陷阱?常用3種DNS欺騙手法
      一種基于無關DNS的通信隱私保護技術研究
      電子世界(2018年14期)2018-04-15 16:14:25
      挑戰(zhàn)者 敢闖敢創(chuàng)激發(fā)無限可能
      挑戰(zhàn)者
      HES:一種更小公鑰的同態(tài)加密算法
      新兴县| 栾川县| 子洲县| 巴楚县| 昆山市| 六枝特区| 佳木斯市| 石阡县| 清丰县| 黑水县| 平度市| 边坝县| 双辽市| 大竹县| 朝阳市| 延津县| 东阿县| 大埔县| 丰宁| 阜新市| 繁昌县| 新营市| 巴东县| 吉木萨尔县| 黄浦区| 江川县| 改则县| 宁陕县| 马龙县| 都昌县| 兴业县| 玉门市| 苏尼特左旗| 济阳县| 大邑县| 山西省| 平潭县| 河西区| 赤水市| 浏阳市| 普兰县|