999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

群組密碼的對等VPN 系統及多播密鑰分發協議*

2019-10-24 05:50:08王秋艷
軟件學報 2019年9期
關鍵詞:用戶系統

朱 巖,尹 昊,王秋艷

1(北京科技大學 計算機與通信工程學院,北京 100083)

2(中國計量科學研究院,北京 100013)

通訊作者:朱巖,E-mail:zhuyan@ustb.edu.cn

虛擬專用網(virtual private network,簡稱VPN)是指在不可信公網上建立的一個臨時的、安全的專有數據通信網絡,為企業和個人提供高質量的網絡服務,實現對企業內部網絡的擴展.它可以使用不安全網絡(如互聯網)來發送可靠、安全的消息,核心是利用加密的隧道協議保證敏感信息的私密性、發送端認證、消息完整性等安全性質.

伴隨全球經濟的快速發展,越來越多的企業需要在全國乃至世界范圍內建立各種辦事機構、分公司、研究所等,各分支機構的網絡連接隨著機構的增多使得網絡結構趨于復雜,部署維護費用昂貴.利用VPN 提供的隧道[1]、加密等特性可以構建滿足要求的內聯網(Intranet),保證信息在整個內聯網上安全傳輸.然而,現有大部分VPN 方案在分支機構增多時傳輸效率顯著下降,難以滿足大規模企業組網的現實需求.其原因在于:現有VPN方案多使用集中式網關模式,由VPN 網關代理與客戶端實現隧道通信,這種集中式結構難以支撐復雜的網絡拓撲變化.

針對上述內聯網VPN 方案的缺陷,已有VPN 采用了對等技術(P2P),充分利用網絡中參與者的計算能力和帶寬而不依賴于集中式網關,從而帶來在可擴展性、健壯性等方面的優勢.例如,該網絡能夠以自組織方式建立,并允許分支機構自由地加入和退出當前內聯網,部分節點或網絡遭到破壞對其他部分的影響很小,具有耐攻擊、容錯性的優點.鑒于上述優點,基于P2P 的VPN 已成為目前研究熱點之一,并被應用于協同計算、群組聊天、在線會議等領域.

采用對等技術的VPN 也稱為對等VPN 系統,盡管這種系統融合了P2P 的非中心化、可擴展性等特性,但由于其依然延續了VPN 中的常規兩方密鑰交換方法(如Deffie-Hellman 密鑰交換協議)建立加密隧道和實現密鑰管理,因此,系統在實現動態多播(即一點對多點間通信)時的性能和安全性并沒有較大的提升.解決這一問題的難點在于如何建立具有非中心化、高擴展性、且與對等VPN 相適應的安全多播協議,保證在一個主機用該多播協議向多個主機發送相同數據時,只需加密和發送一次,其數據由網絡中的路由器和交換機逐級進行復制并發送給各個授權接收方,這樣既節省服務器資源,也節省網絡主干的帶寬資源.

本文致力于解決對等VPN 系統中安全多播問題,通過實現具有非中心化、高擴展性的多播協議,提高對等VPN 中多播通信效率和安全性.本文所提出的方案是在現有的Overlay 虛擬專用網基礎上,針對其兩方密鑰交換方式在群組通信中的不足,利用基于身份的群組加密與簽名方案改造對等VPN 中的密鑰共享方法.所做創新工作如下.

(1)提出一種支持安全多播的對等VPN 框架,被稱為GroupVPN,該框架引入公鑰群組密碼系統改進了安全隧道層,并設計了便于動態群組管理、高效密鑰分發的群組管理層,能夠支持安全點播、多播、廣播等多種通信模式;

(2)設計一種多播密鑰分發協議,通過將公鑰群組密碼下的廣播加密與群簽名方案相結合,實現具有選擇和排除模式的高效密鑰分發.分析表明:在SDH 假設下,該協議滿足數據私密性、數據完整性、身份真實性等3 方面安全性要求.

與基于對稱密碼的密鑰分發和基于公鑰密碼的密鑰交換協議相比較,本文所提多播密鑰分發協議實現的多播通信和密鑰存儲開銷與群組規模無關.實驗分析表明:多播組通信分為會話密鑰共享和加密通信兩個階段,會話密鑰共享階段交互耗時與群組規模成正比,但加密通信階段多播耗時基本保持不變,從而使得由群組規模增長產生的通信延遲僅被限制在會話密鑰共享階段,提高了系統性能.

本文第1 節介紹VPN 和群組加密的相關工作.第2 節和第3 節詳細描述系統模型及多播密鑰分發的具體步驟.第4 節和第5 節描述密鑰管理方案及其實驗分析.最后,第6 節總結全文.

1 相關工作

1.1 虛擬專用網發展現狀

虛擬專用網是一種構架在已有網絡技術之上的具有靈活性、安全性、高效性的通信網絡.與普通網絡不同之處在于它所涉及的兩個核心技術點——虛擬和專用,其意義分別為:

(1)虛擬是指該網絡能夠通過路由技術、協議轉換等方式動態地接入網絡并保證數據可靠傳輸;

(2)專用是指該網絡能夠通過加密技術、隧道協議等方式有效地保護用戶數據的隱私不泄露.

因VPN 所擁有的這些優點和現實生活中業務的需要,近年來,有關VPN 技術的研究以及工程應用都在不斷更新.從網絡組織形式上,VPN 大體被分為兩類:點對點VPN(SSL,GRE,IPSec)、遠程接入VPN(PPTP,L2TP,MPLS);Knight 和Lewis 則在文獻[1]中按OSI 網絡模型將VPN 分為2 層和3 層VPN,并分析了兩者的架構和解決方案;Berger[2]分析了當前流行的幾種VPN 技術,通過交互測試比較協議的優劣;Jaha 等人[3]則試圖在已有的公共VPN 協議上,使用多種模型構建一個新的VPN 協議;Hafiz 等人[4]比較了不同加密算法(如AES256,3DES,SAH-1,MD5)應用于IPSec VPN 中的性能差異;Jahan 等人[5]則是站在應用的角度對不同VPN 的特點以及應用場景做了分析和推薦.然而,目前的方案仍僅限于用傳統密碼實現點對點安全隧道,尚無方案采用群組密碼體制開展安全多播領域的研究.

隨著軟硬件技術的發展,計算和網絡帶寬已不再是VPN 實現的瓶頸,近年來新開發的VPN 技術都構架在應用層,以便能夠更加靈活地滿足不同業務的需求.例如:基于集中式架構的OpenVPN,通過設立特殊的網關來支持異構設備,已廣泛應用于教育、公司等機構;基于分布式架構與P2P 技術的N2N[6],采用兩層結構,使用節點間的消息路由取代網關;采用相同結構的PeerVPN,則直接構建平鋪的網絡,自動發現并連接其他的節點.鑒于P2P網絡在網絡動態自組織方面的優勢,本研究也將參考上述分布式構架實現系統設計.

1.2 群組密碼技術

群組加密技術是一種面向大規模群組的安全通信方式[2].與傳統的具有1:1 公/私鑰對的加密系統不同,群組加密系統的密鑰結構是1:n,也就是1 個公鑰對應于n個不同的私鑰,已知的廣播加密(broadcast encryption)、身份基加密(identity-based encryption)、屬性基加密(attribute-based encryption)、角色基加密(role-based encryption)等都屬于群組加密的范疇.其中,廣播加密是最基本的群組加密.目前,面向群組的通信研究分為兩個方面:一方面是指定機制,即指定一個接受者集合,使得只有在指定集合內的用戶才能解密;另一方面是撤銷機制,即指定一個撤銷者集合,使得只有在指定集合外的合法用戶才能解密.

關于指定機制的研究,最重要的工作是2005 年Boneh 等人[7]提出的方案,該方案利用雙線性映射以及連乘實現集合成員屬于關系的判定,能夠抵抗任意數目共謀者的攻擊,且密文和私鑰都是常數大小;隨后,Delerablée等人[8]提出了基于身份的廣播加密方案,該方案不僅保證了密文和私鑰是常數大小,并且公鑰大小與接受者集合的最大數目呈線性關系;近年來,該方向的研究還包括文獻[9-11].此外,撤銷機制也得到了學者們的廣泛研究[12-14].

可證明安全(provable security)是當前群組密碼系統的基本要求[15].群組密碼方案的可證明安全性通常是指密文的語義安全性(semantic security),即已知密文不會泄露任何明文信息,也等價于密文不可區分性(indistinguishability)[16].但與傳統的加密方案不同,群組下的語義安全性需要考慮攻擊者與群組內叛逆者(具有一定數量的解密密鑰,但對挑戰密文無效)共謀下的語義安全,用于模擬敵手具有一定先驗密鑰知識情況下的攻擊.由于可證明安全性的引入,使得群組密碼體制用于VPN 更加高效、靈活與安全[17].

2 系統模型

2.1 系統目標

針對 VPN 在安全、高效、動態性等方面的現實需要,本文以構建一種采用公鑰群組密碼(public-key group-oriented cryptography,簡稱PGC)技術的密鑰管理框架為目標,并將該框架應用于由對等節點組成的基于覆蓋網絡的安全群組通信系統,提供密鑰分發、更新、銷毀等服務.該框架可支持消息的安全點播、多播和廣播,被稱為群組虛擬專用網絡(簡稱群組VPN,或GroupVPN).

GroupVPN 中群組加密采用1:n結構的公鑰密碼體制,即1 個群組公鑰與n個用戶私鑰進行關聯,且用戶私鑰與其身份ID(標識身份的唯一字符串)進行綁定.在該密碼體制下,系統能夠對群組內的任意一組用戶通過群組公鑰對消息進行加密,而只有組內的成員能夠解密信息.利用該特點,本文設計一種密鑰管理框架,為群組中的多個用戶創建共享密鑰,從而實現用戶組內的消息安全共享.因此,本文所設計的系統需擁有如下特性.

(1)動態性:支持成員動態加入和退出,并在成員之間構成通信間群組(多播組);

(2)高效性:保證身份認證、密鑰交換、數據加密與解密的高效性;

(3)高安全性:保證虛擬網絡提供的安全功能是密碼學可證明安全的.

2.2 系統模型

針對研究目標,GroupVPN 被建立在由N 名成員{P1,…,PN}構成的P2P 網絡上,利用虛擬化技術建立功能虛擬化的覆蓋網絡,實現支持動態用戶群下的安全群組通信.圖1 顯示了GroupVPN 的系統模型圖,該系統由兩層網絡構成.

(1)內層(下層)是運行在互聯網中的物理網絡,節點(交換機、路由器)之間直接互連組成核心的通信網絡;

(2)外層(或上層)是各子網路由器(VPN 接入節點)組成的覆蓋網絡,該網絡中節點可以看做通過虛擬或邏輯鏈路連接起來的一個虛擬全連通網絡.

GroupVPN 所形成的虛擬網絡采用了全連通的完全網格拓撲(full mesh topology),使得用戶之間可以通過虛擬IP 地址相互訪問,與下層的實際網絡拓撲無關,對用戶也是透明的.因此,在這種虛擬網絡進行節點間的直接通信是十分便捷的.

Fig.1 Group VPN system model diagram圖1 群組VPN 系統模型圖

鑒于防火墻或NAT 等技術對VPN 的現實約束,上述系統模型參考了N2N 系統中節點的功能劃分,將上層節點分成兩種角色——超級節點和邊界節點.超級節點處于公有網段,運行守護進程并監聽綁定端口,等待邊界節點連接,并為其注冊必要的網絡地址和端口信息;對處于私有網段的邊界節點,則利用NAT 打洞、防火墻繞過等技術,解決其他邊界節點與它的鏈路連通問題.據此,所提系統模型將實體和其功能劃分如下.

(1)對等節點(peer):是指參與群組間通信的實體,被看做GroupVPN 群組中的成員,類似于邊界節點,獲取必要的密鑰參數加入群組網絡,維持與其他節點間的安全通信隧道;

(2)群組管理者(GM):建立和維護群組網絡的密碼系統和參數,為新節點分配用戶密鑰并引導節點連接組成群組網絡,但不參與群組通信.

GroupVPN 中的每個對等節點都相當于分支機構的VPN 網關,通過對用戶數據的封裝加密以及虛擬目標地址的轉換實現遠程訪問.有別于遠程接入VPN 的網關代理(需要對所有報文進行轉發),GM 不處理任何VPN數據報文,其僅限于群組的密鑰管理以及網絡連接兩項功能:前者可為各節點產生和分發有效的群組密鑰,后者解決節點間地址發現和連接障礙問題.

2.3 協議架構

GroupVPN 系統被構架在參考模型協議棧中的傳輸層之上,屬于一種傳輸層協議.該架構為應用層提供一種透明的群組訪問接口,應用程序遵循該訪問接口可實現安全群組內通信.GroupVPN 系統架構圖(如圖2 所示)在協議棧基礎上增加了兩個新的結構,包括:

(1)群組管理層:用于構建和維護GroupVPN 所使用的公鑰群組密碼PGC 系統,負責管理和響應對安全參數索引(security parameter index)的查詢;

(2)安全隧道層:用于構造GroupVPN 的主體,它包括3 個主要功能模塊:載荷封裝協議模塊、虛擬地址映射模塊、共享密鑰分發模塊,在與多個用戶成功共享加密密鑰后,對應用層發來的數據報文進行載荷封裝,地址映射,并通過隧道廣播加密報文實現安全群組多播.

Fig.2 Group VPN system architecture diagram圖2 群組VPN 系統架構圖

在群組管理層中,某個對等節點作為群組創建者向GM 申請注冊一個群組,GM 初始化有關該群組網絡所需要的系統參數,節點獲得對應自己身份的私鑰信息,并等待其他節點以同樣的方式向GM 通過身份驗證后與自己相連.群組管理者并不參與群組間的消息通信,只作為管理中心維護和監管相關安全參數,在群組建立和撤銷時,相應地創建和回收密鑰信息.

安全隧道層是GroupVPN 系統的重要功能,用于在群組U={P1,P2,…,Pn}中建立臨時的多播組S進行組內安全數據傳輸.該部分所包含的3 個模塊分別具有以下功能.

(1)共享密鑰分發模塊:采用公鑰群組加密實現對多播組內成員的認證以及臨時會話密鑰的分發,該會話密鑰在載荷封裝協議模塊中用于報文加密;

(2)載荷封裝協議模塊:采用隧道技術對數據報文進行封裝加密,提供機密性和抗重播服務,可參考IPSec中的封裝安全載荷(ESP)協議對原始報文進行加密和隧道封裝;

(3)虛擬地址映射模塊:實現對多播組內成員地址與真實IP 地址之間的轉換.

共享密鑰分發模塊提供與IPSec 中密鑰管理協議(ISAKMP)類似的密鑰協商功能和安全參數定義,但是具有以下不同:(1)使用公鑰證書(certificate)取代安全關聯(SA),通過對GM 的查詢,實現群組信息的獲取;(2)采用PGC 實現動態多播組的建立和會話密鑰分發,避免IPSec 所采用的手動預置參數的密鑰管理;(3)在某個多播組中建立所有成員共享的會話密鑰,而不是單獨兩個對等體之間的協商.

這些不同得益于系統構架在網際層隧道技術而非鏈路層的IP 隧道(L2TP),使它可支持TCP/IP 協議棧下異構網絡間的邊界互聯.同時,PGC 的使用簡化了多播組的密鑰管理過程,在宏觀層面上降低了系統的空間和時間復雜性.總之,GroupVPN 的系統架構具有以下幾點優勢.

(1)支持多種通信模式.目前的對等VPN 技術通常是在兩個對等節點間建立共享密鑰用于加密通信,而本文提出的GroupVPN 能夠在多個節點的用戶組中建立共享通信隧道,并且對用戶成員集合的大小不予限制,實現單點發送多點接收的安全多播;

(2)密鑰管理簡單.減少通信量,無需預先定義端對端安全關聯和相關協議,采用基于身份的公鑰群組密碼系統實現多播組成員身份認證和密鑰分發.相較于TLS/SSL 的PKI 公鑰證書認證和預定義共享密鑰的IPSec 更加簡單有效,適用于多播下的群組通信;

(3)便于動態化的群組管理和網絡接入服務.群組管理者GM 能夠提供公開可信的用戶身份和地址信息引導節點連接,并且通過虛擬地址映射模塊解決私有地址之間的連接障礙.

2.4 安全模型

GroupVPN 的安全目標旨在通過公開不可信網絡環境實現端對端的安全互聯與融合,保證動態群組成員之間的互認證、通信中數據報文的機密性及密鑰在群組成員之間的一致性.為實現上述目標,群組管理者提供類似于密鑰中心的服務,為節點的安全通信提供密碼學基礎環境.從層次關系上看,對等節點之間自組織形成網絡,而不過度依賴上層管理中心,從而發揮對等網絡的優勢.因此,所提架構僅對GM 做出如下假設.

假設(半忠誠假設).群組管理者是可信的,并忠誠地為節點提供注冊和唯一性群組私鑰分發服務;同時,管理者不被接受成為群組中的成員,即,不與下層通信節點建立端對端的虛擬通信隧道.

系統模型所采用的是一種基于身份的群組密碼系統,它要求用戶的身份和密鑰是一一對應的,而身份標識對應的群組私鑰又是由管理者驗證其身份而頒發的,因此在無法通過偽造身份騙取管理者的前提下,敵手因其沒有密鑰而無法冒充用戶身份.在此基礎上,鑒于 VPN 安全性主要體現在密鑰交換和隧道安全兩方面,GroupVPN 模型針對這兩方面需滿足如下安全性要求.

(1)數據私密性:保護用于加密通信數據的會話密鑰不被非授權用戶獲取.由于群組加密中該會話密鑰由發起者單方面隨機生成,若它不被發起者泄露,那么會話密鑰的私密性則確保了加密數據的私密性;

(2)數據完整性:保護群組中的多播通信數據無法被篡改,并能夠迅速被接收者檢測到異常.通常是在傳輸報文中添加密碼學校驗,如哈希函數或是校驗碼等,用來保護數據的完整性;

(3)身份真實性:保證發送方與接收方身份的真實性.在基于身份的PGC 系統中,接收方身份直接映射到密碼系統中的用戶標識ID,由發送者加入到可解密用戶集合生成密文,PGC 保證只有該集合內的接收者可解密;發送者的身份真實性則可由接收者驗證發送者附帶的消息簽名來確定.

3 多播密鑰分發

3.1 設計目標

本文利用群組加密的廣播特性來設計并實現多播組生成和組內密鑰分發,具體定義如下.

定義1(多播密鑰分發).多播密鑰分發是指在群組內多個用戶之間共享同一個會話密鑰以形成多播組的過程,該會話密鑰能夠安全地被多播組內成員共享,保證除此之外的其他用戶無法得知.

多播密鑰分發是GroupVPN 中節點之間進行通信的基礎,為群組內的多播組產生一個共享的安全會話密鑰,數據傳輸則使用傳統的VPN 隧道技術處理完成.因此,該管理框架可構架于現有的VPN 系統之上,耦合性低,易用性好.

該過程采用群組密碼技術取代已有VPN 系統中具有認證功能的密鑰交換協議(如基于口令授權的密鑰交換協議PAKE 或其三方版本3PAKE),后者是使通信雙方在認證服務器的幫助下相互進行認證并建立一個會話密鑰的過程.我們所提方案的不同之處在于,將兩方或三方認證和密鑰交換擴展為多播組下的多方認證和密鑰分發.

為方便閱讀,本節所使用符號見表1.

Table 1 Description of notations表1 符號說明

3.2 系統初始化

本文采用文獻[18]中的標識集廣播加密方案(ISBE)作為多播密鑰分發協議構建的基礎,該方案由4 個算法構成:Setup,KeyGen,Encrypt,Decrypt.但與通常加密方案不同的是,它可支持兩種加密模式:選擇模式和排除模式,即,給定集合S?U={P1,P2,…,Pn},兩種模式功能如下.

· 選擇模式:只有集合S內的指定成員能解密信息;

· 排除模式:除集合S外的合法成員均能解密信息.

方案的核心算法是兩類聚合函數:零點聚合函數ZerosAggr和極點聚合函數PolesAggr,用于實現標識集S的密碼學表示.以ISBE 為基礎,GroupVPN 系統初始化分為兩個部分:管理者GM 初始化和新成員初始化.兩個初始化的具體操作如下.

(1)管理者初始化

本階段用于生成系統所需要的主私鑰msk和主公鑰mpk,它可通過采用ISBE 方案中的函數加以實現:給定素數階雙線性群系統,在G1和G2群上分別選擇兩個隨機元素g和h作為生成元,在整數域中選取兩個隨機指數γ,ε,得到主密鑰msk=(γ,ε,g,gε);令R=e(g,h)ε并設定最大聚合數目m,對?k∈[1,m]依次計算,得到主公鑰mpk={S,h,R,{gk}k∈[1,m],pp=?},其中,pp作為用戶記錄表可由用戶在任意時刻查詢獲取.

(2)用戶初始化

在GM 完成初始化后,用戶可向GM 注冊申請加入系統,在提供身份信息Infok(由系統自行設定)并通過管理者的驗證后,GM 使用身份標識IDk調用KeyGen(msk,IDk)→skk函數獲取相應的用戶私鑰skk成為群組成員.具體過程如下:令xk=hash(IDk),生成用戶私鑰,并計算,得到該用戶的公開記錄ppk=(IDk,Hk,Infok),并且將ppk添加到公開參數mpk的集合中,即pp=pp∪{ppk},以公示新成員加入到了當前群組.

以上兩個初始化過程分別對應系統框架中的管理和通信模塊:管理者初始化僅針對GM,在整個系統中只運行一次,關系到群組內所有用戶的密鑰有效性,因此參數更新也將影響用戶的密鑰;用戶初始化過程也就是用戶注冊和申請群組私鑰的過程,它為多播組建立和密鑰分發做準備.本系統沒有用戶數目的限制,新用戶可以隨時、動態地進行注冊和添加到系統;同時,系統內節點通過向GM 發起基于成員標識IDk的用戶信息ppk查詢與其他節點連接成網絡.

3.3 多播密鑰分發協議

公鑰群組加密方案是實現安全多播密鑰分發的合理選擇,其1:n的密鑰結構和聚合特性能夠做到只需一次加密,被選擇用戶集合S?U內的所有用戶都可以解密獲取會話密鑰.因此,本文將ISBE 加解密過程應用于密鑰分發,由多播發起者構建一個可解密用戶集合S作為通信對象,選取一個隨機的臨時會話密鑰ek作為明文,經加密輸出密文并發送,多播組內的用戶解密恢復出臨時會話密鑰,則完成了多播組的密鑰分發過程.多播密鑰分發協議具體步驟分為如下4 步.

1.多播組構建

假設群組U內的用戶子集T={P1,P2,…,Pm}需要發起多播組通信,其中,Pi擁有標識IDi.群組內的任何用戶Pk∈T能夠發起多播組構建過程:該用戶(稱為發起者)將該子集T發送給GM 并請求多播組構建;GM 做出響應進行模式判定:

(1)如果子群用戶數目m=|T|小于總人數n=|U|的一半,即m

(2)如果子群用戶數目m=|T|大于等于總人數n=|U|的一半,即m≥n/2,那么設定模式為排除模式,即mode=Cut且令S=UT.

注意,上述模式也可由發起者指定.根據不同的加密模式,令選擇模式對應的集合為T,排除模式對應的集合為UT,再根據其模式分別計算零點聚合值GS和極點聚合值HS作為用戶集合的表示:

最后,GM 將{mode,GS,HS}發送給發起者用于多播組會話密鑰分發.上述函數也可由發起者采用公開參數mpk自行計算,但是考慮到系統運行效率和易用性,本文選擇由GM 加以實現.具體聚合算法見文獻[21]中的函數Aggrs(S,mode)→{GS,HS}.

2.會話密鑰分發

本階段由多播組通信的發起者完成會話密鑰選擇和對應密文的生成,具體如下:隨機選取元素并計算ek=Rt作為臨時的會話密鑰,根據上一步得到的集合的聚合表示和相應的加密模式{mode,GS,HS},發起者計算得到密文C=(S,mode,C1,C2),其中,

3.會話密鑰恢復

多播組T內授權用戶Pk接收到多播密文C后,根據密文中的用戶集合S得知多播組的成員構成,并判斷其加密模式恢復出隱藏的會話密鑰:

(1)選擇模式:若滿足當前用戶IDk∈S,令S-=S{IDk},用戶將其與模式一同發送給GM,請求用該集合計算零點聚合函數,并在獲得返回值后使用私鑰skk恢復出會話密鑰:

(2)排除模式:若滿足當前用戶IDk?S,令S+=S∪{IDk},用戶將其與模式一同發送給GM,請求用該集合計算極點聚合函數,并使用私鑰skk恢復出會話密鑰:

完成以上兩個初始化階段之后,就可在群組內組建一個共享同一會話密鑰ek的多播組.會話密鑰分發階段時序圖如圖3 所示.

Fig.3 Multicast key distribution sequence diagram圖3 多播密鑰分發時序圖

在上述協議運行過程中,多播組構建是算法中比較耗時的操作,且聚合函數的特點決定了計算時長隨著多播組規模的增長而增加.但在具體應用中,可以優化這一過程:1)擁有選擇和排除兩種模式,在多播組規模超過群組大小的一半時可用其補集的排除模式減少聚合計算的時長;2)多播組構建操作可作為獨立的模塊預加載或者緩存,其計算結果可被多次使用,從而不會影響網絡延遲.

4.發送者身份認證

多播發起者Pk(其標識為IDk)能夠采用數字簽名方式來驗證發起者的身份.適用于本系統的數字簽名方案包括基于身份的簽名(IBS)或群簽名(GS)等,下面以文獻[19]中的短群簽名SGS 方案為例加以說明:該SGS 方案由4 個算法構成:KeyGen,Sign,…,Open,但與通常的簽名方案不同之處在于,群簽名中隱藏了簽名者的身份,需要Open函數才能找出真實簽名者.此外,由于SGS 方案采用了與ISBE 方案相同的用戶私鑰結構,因此用戶可使用已分發的用戶私鑰變換為用于SGS 方案,其中,gε可看做新的生成元.

基于上述簽名方案的構造,可在第2)步中的會話密鑰分發結束后,由發起者生成群管理私鑰gmsk,使用用戶私鑰skk完成對發起者標識IDk和密文C的簽名δ=Sign(gpk,skk,(IDk,gmsk,C,M));再用通常的加密算法對簽名進行加密:C′=Enc(ek,(IDk,gmsk,δ,M)),最終將(C,C′)進行多播傳送給組內成員.

與此對應,在第3)步中的會話密鑰恢復完成后,授權接收者首先用恢復后的會話密鑰ek解密獲得發起者標識IDk和密文C,即(IDk,gmsk,δ,M)=Dec(ek,C′);然后,驗證簽名Verify(gpk,(IDk,gmsk,C,M),δ)=True 且找出簽名者Open(gpk,gmsk,(IDk,gmsk,C,M),δ)=IDk.如果上述判定成立,則表明發起者與宣稱的一致.

3.4 安全性分析

如安全模型所述,GroupVPN 系統構造采用了加密與簽名相結合的方式,可滿足數據私密性、數據完整性、身份真實性這3 方面的要求.在上述結構中,分別采用了ISBE 群加密和SGS 群簽名方案,兩方案都以雙線性映射群為數學基礎,不僅具有相同的用戶私鑰結構,而且都以強Diffie-Hellman(SDH)問題為安全基礎:

定義2(SDH 問題).給定中元素,找到一對值(c,G1/(α+c)),其中,c≠0(modp).

下面分別對這3 個方面進行分析.

1.在數據私密性方面

系統通過數據加密實現數據私密性,這里的加密算法Enc是現有的標準常規加密算法(如AES、國標SM1等).在加密密鑰(即會話密鑰)不可猜測情況下,其安全性能夠滿足數據語義安全的要求,因此,數據私密性取決于ISBE 加密方案保護用于加密通信數據的會話密鑰不被非授權用戶集合獲取.下面的定理證明了ISBE 方案中會話密鑰的語義安全性(不可區分性).

定理1(ISBE 語義安全).對于0≤t≤n,假設任何(n,t)-GDHE1和(n,t)-GDHE2問題是困難的,那么基于標識集的加密方案在選擇(select-mode)和排除(cut-mode)模式下對選擇明文共謀攻擊下具有語義安全.

上述語義安全性等價于會話密鑰與隨機字符串兩者所生成密文的不可區分性,它意味著非授權集合中的用戶即便共謀(collusion)也無法獲取會話密鑰,從而解密多播信息獲得其內容.這里的共謀是指非授權集合中用戶即便具有合法的密鑰,也無法對授權集合下的密文進行解密.上述定理的證明通過設計一個敵手與挑戰者之間的交互博弈過程,從而模擬敵手針對該方案在選擇明文以及共謀條件下的優勢.

· 首先,由挑戰者初始化密鑰參數,指定加密模式mode和挑戰的授權用戶集合S*,敵手獲得主公鑰mpk;

· 然后,為模擬共謀條件,敵手可重復n次查詢用戶IDi的私鑰,當且僅當被查詢用戶不在授權集合內,即滿足mode(IDi,S*)≠0,則挑戰者返回該查詢用戶的私鑰;否則返回該用戶的公開參數,其中,t為共謀密鑰的數量且|S*|=n-t;

· 接著,挑戰者完成加密操作Encrypt(mpk,S*,mode)=(C,ek)得到密文C和秘密ek,隨機擲幣b={0,1},令ekb=ek且ek1-b為另一隨機元素,將消息(C,ek0,ek1)發送給敵手;

· 最后,敵手輸出對b的猜測b′.

2.在數據完整性方面

GroupVPN 系統通過SGS 數字簽名(及其使用的密碼學Hash 函數)實現保護群組中的多播通信數據無法被篡改.

(1)針對多播組外敵手的攻擊,ISBE 的組內授權會話密鑰分發可阻止敵手對數字簽名δ的獲取;

(2)針對多播組內敵手的攻擊,即便敵手獲取到數字簽名δ,根據群簽名的抗偽造性,敵手偽造其他用戶的簽名也是計算困難的,并可通過簽名驗證算法Verify 迅速被接收者檢測到異常.

3.在身份真實性方面

GroupVPN 系統可保證發送方與接收方兩方身份的真實性,即雙向認證功能,具體安全保證如下.

(1)采用SGS 簽名中的Open函數實現簽名者身份確認.

由于群簽名方案中群組內成員具有相同的簽名權,因此簽名驗證算法Verify 具有匿名性(anonymity),這一特性可滿足可信多播組內的公平性協議要求,如選舉協議、競拍協議等;當需要對發送方進行身份確認,可采用Open協議去匿名化找出原始簽名者,其安全性服從如下定理:

定理2(SGS 完全可跟蹤性[19]).如果SDH 問題在(G1,G2)群上是(q,t′,ε′)-困難的,那么上述群簽名方案是(t,qH,qS,n,ε)-完全可跟蹤的,其中,n=q-1,和t=Θ(1)·t′.這里,qH是哈希函數查詢次數,qS是簽名查詢次數,且n是群內成員數目.

定理表明,敵手偽造簽名避免被追蹤或者假冒原始簽名者的概率是可忽略的,從而保證報文發送者或群組發起者的身份安全.類似于定理1 的證明過程,定理2 的證明依然采用敵手與挑戰者之間的交互博弈,模擬敵手能夠成功偽造不可被追蹤來源簽名的優勢:首先,由挑戰者指定被挑戰的簽名者,將其公鑰發送給敵手;然后,敵手可以查詢到除被挑戰者之外的其他私鑰以及任意指定的簽名者對消息的有效簽名;接著,敵手偽造指定被挑戰者的簽名并返回給挑戰者;最后,若偽造的簽名不在查詢過程中出現過,且跟蹤算法錯誤地追蹤到指定被挑戰者,則敵手偽造成功.

同樣地,假設敵手能夠攻擊上述方案,即偽造出不可被追蹤來源的簽名,挑戰者能夠將敵手對方案的攻擊優勢轉換為對困難問題的求解優勢,這表明敵手擁有不可忽略的優勢,能夠在多項式時間內解決定理中的SDH 問題.這與已知任何多項式時間算法求解上述困難問題的成功概率是可忽略的事實相矛盾.通過反證法可知,敵手能夠攻擊方案的假設不成立,即敵手無法偽造正確的簽名或該偽造簽名能夠被追蹤其來源.

(2)采用ISBE 方案中的授權解密功能實現了多播組的接收方身份確認.

即,只有屬于多播組S的授權成員能夠解密ISBE 密文獲得會話密鑰.同樣地,定理1 中ISBE 針對抗共謀攻擊的安全性保證了非授權用戶無法恢復會話密鑰:假設任何非授權用戶(包括非系統內攻擊者和系統內的非授權用戶)能夠共謀獲取會話密鑰,那么也就意味著他們破壞了ISBE 方案的語義安全性,與定理矛盾,因此保證了只有多播組內的接收者是合法會話密鑰持有者,間接實現了接收方身份確認.

4 報文協議設計

4.1 數據封裝格式

本文提出的多播密鑰分發協議構架于網絡協議棧的傳輸層之上,參考已有的VPN 封裝協議,我們設計了如表2 所示的數據封裝格式.

Table 2 Data encapsulation message format表2 數據封裝報文格式

鑒于在多播組的構建中群組密碼一對多的優勢,即可以實現對于同一密文有多個被授權的私鑰能夠成功解密,本文建議采用UDP 協議裝載所述數據報文.這種傳輸層協議格式簡單、無連接,可支持在網絡中高效傳輸和廣播擴散所載荷的數據報文.相比于面向連接的TCP 協議需要與每個節點執行3 次握手4 次揮手完成通信,UDP 協議結構簡單,支持消息廣播,傳輸速率快,更適合于視頻直播、群組聊天等需要消息即時同步應用場景.因此,本文所設計的這種多播密鑰分發協議正是有這種消息即時同步的需求.同時,為了彌補UDP 協議不可靠傳輸的缺陷,我們在數據封裝格式中加入序列號以及在工程實現中采取心跳機制,完成對該協議的程序設計.

在所述協議報文格式中,字段{C1,C2,Mode}結合字段Data中的用戶集合S實現多播組的構建.根據ISBE 方案的特點,群組密文的兩部分C1和C2為常量大小,與當前多播組的規模無關,由密鑰空間定義的位長(如256 bits)決定其密文的長度.字段{Next,Size,SPI,Seq}保持與IPSec VPN 一致.此外,字段{Op,Exp}用于管理多播組,其中,Op標記多播組會話密鑰的分發、更新和撤銷,Exp標記該多播組會話密鑰的有效時間.字段Data是可變長的有效數據載荷,它包括了當前所構建的多播組中用戶集合的身份標識信息,以及如之前方案所述的簽名驗證數據用以核實發起者的身份.

4.2 會話密鑰管理

為方便多播組協議實現,本系統定義3 種操作類型來表示如何組裝功能性的報文,并分別用于發起者分發(distribute)、更新(update)和撤銷(revoke)多播組.令S為當前要建立的多播組成員集合,忽略密文生成具體采用何種加密模式的細節,使用期限Exp為系統默認配置,3 種操作定義如下.

(1)Distribute(S,Exp):用于生成多播報文,輸入多播組成員集合S和密鑰共享的有效時長Exp,它將操作類型Op標記為分發,隨機產生初始序列號Seq,定義密鑰的有效期,根據多播組成員集合確定采取的加密模式填充密文部分,最后對該分發標記的報文簽名;

(2)Update(S,Exp):用于更新多播會話密鑰,輸入多播組成員集合S和密鑰共享的有效時長Exp,將操作類型標記為更新,在上一個報文的序列號Seq基礎上加1 填入,重置密鑰的有效時長,生成一個隱藏了新的會話密鑰的密文,并為該更新標記的報文簽名;

(3)Revoke(·):用于撤銷多播組,輸入為空,它設置操作類型為撤銷標記,序列號Seq繼續在已有基礎上加1,使用期限為空,不用填充密文,最后加上發送者簽名.

多播組生存周期從發起者初始化構建并分發密鑰,而后多次更新當前多播組的會話密鑰,直到最后撤銷密鑰刪除當前多播組.對于多播組成員的添加和刪除,則都可以通過調用Update函數來為新的成員集合重新分配密鑰,舊的密鑰則被廢棄.例如,對于用戶Alice 的加入和用戶Bob 的退出,將分別對應于集合的并和除,即調用函數Update(S∪{Alice},Exp)更新密鑰添加用戶,調用函數Update(S{Bob},Exp)更新密鑰刪除用戶.

多播組構建過程中的聚合值計算是群組算法中的主要耗時部分,取決于多播組的規模.在本文中,我們將這一過程交由GM 實現,用戶可隨時查詢并繼續使用聚合值進行會話密鑰分發操作,從而降低成員的計算負載和網絡延遲.因此,GM 和用戶都可以通過緩存計算結果并多次使用達到提高性能的目的.

5 性能評估

為評估系統性能,本文在一種開源的對等VPN 軟件上進行二次開發,分別比較原有軟件與采用本文方案后開發成型的軟件在密鑰分發和加密通信上的性能差異.我們選取采用對等技術構建虛擬專用網絡的PeerVPN軟件,它使用C 語言編程實現并運行于Linux 系統上,在OpenSSL 開發包的支持下,使用DH 密鑰交換生成節點之間的會話密鑰,以及采用256 位的AES 算法加密通信數據,通過節點之間消息路由構建完全的平鋪網絡,是一種比較典型的對等VPN.

在PeerVPN 的基礎上,我們嵌入本文所提出的多播密鑰分發方案,采用斯坦福大學的C 語言版本PBC 庫編寫ISBE 密碼算法,替換原有對等VPN 中的密鑰交換方法,而分發的會話密鑰則采用與該軟件相同的加密方式,目前已有程序代碼上萬行,部署在10 個節點上用于性能測試.測試環境使用三層交換機配置私有網段,并在物理服務器上安裝VMware 或VirtualBox 等軟件創建10 臺虛擬機,為其配置1GB 內存、1 個CPU 單核、20GB硬盤存儲以及一塊虛擬網卡用于橋接至三層交換機上,每臺虛擬機安裝Ubuntu 16.04 操作系統作為程序的開發運行環境.

下面將分別通過理論對比和實驗分析對群組VPN 中密鑰分發方法的性能進行分析.

5.1 密鑰分發方法比較

為了在兩方之間產生共享的會話密鑰,已有的會話密鑰分發技術可分為下面兩類.

(1)基于對稱密碼的密鑰分發協議,如NS,Kerberos 等,它由用戶發出請求并與密鑰分發中心KDC 進行多步交互最終產生兩方(或多方)共享密鑰;

(2)基于公鑰密碼的密鑰交換協議,如Diffie-Hellman 密鑰交換技術,不依賴第三方,而由兩方共同生成一個隨機的會話密鑰.

表3 給出了群組分發方法與已有的兩種密鑰分發方法之間的簡單對比.在這兩種方法中:方法(1)簡稱對稱密鑰分發方法,可支持從兩方到多方的擴展,但等效于多次協議執行,通信代價也隨著參與方規模線性增長;方法(2)簡稱密鑰交換方法,只支持兩方共同生成會話密鑰,由于該會話密鑰的計算取決于兩方各自選取的隨機數,任意一方無法猜測該隨機會話密鑰的計算結果,因此不能直接從兩方擴展到多方,只能通過協議的多次執行滿足在多播組內共享相同的會話密鑰.

上述兩種方法與本文所提基于群組密碼的密鑰分發方法(簡稱多播密鑰分發方法)相比較,在分發方式、密碼基礎、通信開銷等方面都有較大差異.通過表3 的對比不難發現:群組分發方法不需要中心機構頒發會話密鑰,且能夠同時與多方共享相同的會話密鑰,其通信開銷和計算效率都有很大的提升;基于身份標識的認證方式能夠便捷用戶注冊過程,減少系統內密鑰管理工作,提高針對身份偽造攻擊的安全防護.

Table 3 Comparison of session key distribution methods表3 會話密鑰分發方法對比表

5.2 密鑰分發實驗分析

為使群組VPN 與對等VPN 之間性能對比結果更為顯著,上述實驗環境在設計上將VPN 程序運行時產生的網絡流量通過單臺交換機轉發,從而忽略數據報文在公網中的傳輸時延.在此基礎上,本文分別對兩種VPN在密鑰分發和加密通信前后兩個階段進行實驗分析.密鑰分發階段用于生成隧道通信的會話密鑰,在工程實現上對等VPN 需要至少3 次交互以完成會話密鑰的生成,包括:1)產生一個會話;2)交換隨機數;3)確認會話密鑰.在此之后,兩方交互初始化隧道參數.而群組VPN 將一方產生的隨機會話密鑰隱藏在群組加密密文中,廣播該密文而無需交互,即可完成對可選用戶集合的會話密鑰分發.

如圖4 所示,實驗分析結果顯示了隨著群組規模增大,兩種VPN 在為群組成員分發會話密鑰的交互耗時.實驗中,接收方群組規模從1~9 變化,交互耗時單位為毫秒.對等VPN 中密鑰交換協議需要與每個用戶單獨進行交互,所以實驗結果(三角)顯示,其密鑰交換耗時隨群組規模成線性增長.與之相比較,群組VPN(圓點)中多播分發在群組規模較小時,耗時相對較大;當超過5 個節點時,其交互耗時逐漸優于對等VPN 中密鑰交換.該實驗結果的原因在于:多播分發使用的群組密碼技術中的主要計算開銷是聚合值計算與橢圓曲線下的雙線性映射運算,當群組規模較小時,由于基于雙線性映射的初始化過程耗時較多,導致群組VPN 性能弱于對等VPN.但該過程耗時并不隨群組規模增長而變化,而更多耗時被用于聚合值計算,但從圖中的擬合曲線可知,聚合值計算的耗時速率要小于密鑰交換的耗時速率,因而群組VPN 的交互耗時隨規模增長要小于對等VPN.因此,群組VPN 更適用于更大規模的網絡環境.

在相同實驗環境下,圖5 表明了在密鑰分發階段完成之后,群組內成員通過加密隧道向群組內其他成員進行多播通信的耗時.

Fig.4 Interaction time-overheads in key distribution圖4 密鑰分發階段交互耗時

Fig.5 Multicast time-overheads in encrypted communication圖5 加密通信階段多播耗時

由于群組VPN 中多播組內共享同一會話密鑰,因此消息只需加密一次,多播耗時隨群組規模的增長沒有太大的變化,這可通過圖中圓點及擬合直線予以驗證.而對等VPN 下的多播耗時則隨著群組規模增長呈較明顯的線性增長,其增長是由于不同會話密鑰對同一消息進行隧道加密計算造成的.因此,群組VPN 對消息的接收延遲較小,更適用于大規模群組內多播消息的同步接收.

6 總結

本文提出一種被稱為GroupVPN 的對等VPN 框架,該框架結合公鑰群組密碼下的廣播加密和群簽名方案,實現一種多播密鑰分發協議,保證在SDH 假設下滿足數據私密性、數據完整性、身份真實性這3 方面安全性要求.實驗分析表明,該協議可將通信延遲限制在會話密鑰分發階段,從而降低了加密通信階段的通信耗時.

猜你喜歡
用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 蜜桃视频一区二区三区| 国产精品伦视频观看免费| 无码区日韩专区免费系列| 国产91全国探花系列在线播放| 国产精品永久久久久| 日韩欧美综合在线制服| 丁香五月亚洲综合在线| 亚洲伊人天堂| 亚洲国产精品久久久久秋霞影院| 国产一区二区三区在线观看免费| 找国产毛片看| 国产成熟女人性满足视频| 午夜不卡福利| 日韩高清无码免费| 亚洲天堂网2014| 午夜日韩久久影院| 亚洲国产日韩欧美在线| 一本一道波多野结衣一区二区| 亚洲成人免费在线| 在线高清亚洲精品二区| 欧美日韩中文字幕在线| 蝴蝶伊人久久中文娱乐网| 久草美女视频| 伊人婷婷色香五月综合缴缴情| 免费无码AV片在线观看中文| 不卡无码网| 国产免费高清无需播放器| 精品人妻一区二区三区蜜桃AⅤ| 亚洲国产黄色| 精品国产香蕉伊思人在线| 国产乱人伦AV在线A| 大陆精大陆国产国语精品1024| 国产不卡一级毛片视频| 免费无遮挡AV| 色综合激情网| 亚洲欧美人成电影在线观看| 午夜天堂视频| 日本午夜在线视频| 搞黄网站免费观看| 无码一区中文字幕| 中文字幕久久波多野结衣| 强乱中文字幕在线播放不卡| 亚洲成年人片| 五月激情综合网| 久久久精品无码一区二区三区| 日韩精品无码免费专网站| 日韩在线成年视频人网站观看| 久久窝窝国产精品午夜看片| 日韩一级毛一欧美一国产| 日韩福利视频导航| 欧美亚洲欧美区| 国产美女一级毛片| 欧美性久久久久| 五月激情婷婷综合| 中文字幕亚洲专区第19页| 亚洲av无码专区久久蜜芽| 日韩无码精品人妻| 99re在线视频观看| 免费看美女自慰的网站| 亚洲免费播放| 欧美日本在线观看| 国产一区二区三区在线观看免费| 婷婷六月天激情| 国产波多野结衣中文在线播放| 青青操国产| 午夜精品影院| 亚洲妓女综合网995久久| 国产高清在线观看91精品| 国产亚洲视频免费播放| 91探花在线观看国产最新| 中日韩欧亚无码视频| 国产a v无码专区亚洲av| 亚洲欧洲日本在线| 亚洲欧美日韩中文字幕在线| 美女黄网十八禁免费看| 天堂成人在线视频| 国产色图在线观看| 视频一本大道香蕉久在线播放| 777午夜精品电影免费看| 午夜视频在线观看免费网站| 97在线碰| 成人一区在线|