段新東 馬建峰
西安電子科技大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)與信息安全教育部重點(diǎn)實(shí)驗(yàn)室 陜西 710071
本文基于PKI融合SAN和NASD(Network Attached Secure Disk)為一種新的多域異構(gòu)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng),系統(tǒng)具有高帶寬、易擴(kuò)展、規(guī)模大、安全性高等特點(diǎn)。相對(duì)于 OSD存儲(chǔ)系統(tǒng)具有經(jīng)濟(jì)低廉的特點(diǎn),適宜于現(xiàn)階段對(duì)安全性要求較高的海量存儲(chǔ)系統(tǒng)。
NAS頭(NAS head)是把SAN連接到IP網(wǎng)絡(luò)的一種技術(shù),IP網(wǎng)絡(luò)用戶通過(guò)NAS 頭可以直接訪問(wèn)SAN 中的存儲(chǔ)設(shè)備,NAS頭能使NAS 和SAN 互連在同一LAN中,突破FC的拓?fù)湎拗疲试SFC設(shè)備在IP網(wǎng)絡(luò)中使用。SNS的結(jié)構(gòu)如圖1所示。
圖1 SNS的結(jié)構(gòu)圖
當(dāng)用戶訪問(wèn)SNS存儲(chǔ)系統(tǒng)時(shí):(1)向SNS服務(wù)器發(fā)出訪問(wèn)申請(qǐng);(2)SNS服務(wù)器對(duì)用戶進(jìn)行身份認(rèn)證、用戶端平臺(tái)身份的認(rèn)證和平臺(tái)完整性校驗(yàn);(3)SNS服務(wù)器與用戶確認(rèn)密鑰MK;(4)如果訪問(wèn)SAN,則用MK與NAS頭建立安全信道,由 NAS頭進(jìn)行文件與塊之間的轉(zhuǎn)換后進(jìn)行讀寫(xiě)等操作,并把結(jié)果通過(guò)安全信道返回給用戶;如果訪問(wèn) NASD,則用MK分別與 NASD文件管理服務(wù)器和智能磁盤(pán)建立安全信道,從前者得到授權(quán)對(duì)象后直接與后者進(jìn)行通信,由智能磁盤(pán)把結(jié)果通過(guò)安全信道返回給用戶。其中 SNS服務(wù)器與NASD文件服務(wù)器和 NAS頭之間都存在一個(gè)安全信道用以傳遞MK等信息。
存儲(chǔ)網(wǎng)絡(luò)安全是指在存儲(chǔ)網(wǎng)絡(luò)中,確保在傳輸過(guò)程中的數(shù)據(jù)和保存在存儲(chǔ)設(shè)備上的數(shù)據(jù)的保密性、完整性、可用性、不可抵賴性以及整個(gè)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的可靠的性能。如果存儲(chǔ)系統(tǒng)SNS中每個(gè)域是安全的,也就是保存在存儲(chǔ)設(shè)備上的數(shù)據(jù)是安全的,那么要使整個(gè)系統(tǒng)是安全的,還需要數(shù)據(jù)在用戶、SNS服務(wù)器和每個(gè)域之間的交互是安全的。系統(tǒng)融合前不同域網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的安全模式不同,并且都有相對(duì)比較成熟的研究。雖然SNS在此只融合了NASD和SAN,但理論上可以融合更多類型的存儲(chǔ)系統(tǒng),在此我們假定每個(gè)域的系統(tǒng)是安全的,并且SNS服務(wù)器與每個(gè)域間的安全信道是系統(tǒng)構(gòu)建時(shí)建立的。
為了實(shí)現(xiàn)上面的功能,可以把整個(gè)存儲(chǔ)網(wǎng)絡(luò)部分的協(xié)議可以分為兩部分:(1)用戶與 SNS服務(wù)器間:實(shí)現(xiàn)用戶的可信認(rèn)證接入,并且協(xié)商建立一定時(shí)期的長(zhǎng)期密鑰MK。在該時(shí)期內(nèi),用戶只需在首次訪問(wèn)系統(tǒng)時(shí)與 SNS服務(wù)器交互一次,然后每次訪問(wèn)時(shí)直接與每個(gè)域的存儲(chǔ)系統(tǒng)交互而無(wú)需SNS服務(wù)器的參與。(2)用戶與每個(gè)域Dom間:利用第一步建立的長(zhǎng)期密鑰MK,確認(rèn)每次訪問(wèn)時(shí)的會(huì)話密鑰并在此基礎(chǔ)上建立二者間的安全信道。
AIKpriv和AIKpub為證明身份密鑰對(duì),SML 為存儲(chǔ)測(cè)量日志,cert(AIKpub)為Privacy-CA向平臺(tái)簽發(fā)的AIK 證書(shū);sid為會(huì)話標(biāo)識(shí);F為密鑰推導(dǎo)函數(shù)(偽隨機(jī)數(shù)方程);f是能抵抗選擇消息攻擊的MAC方程;SIG是基于證書(shū)能抵抗選擇明文攻擊的簽名方程,ENC是能抵抗選擇明文攻擊的對(duì)稱加密方程。
可信認(rèn)證接入認(rèn)證協(xié)議 SNSTAP如圖 2所示。當(dāng)用戶Cl向SNS服務(wù)器發(fā)出訪問(wèn)請(qǐng)求時(shí),協(xié)議詳細(xì)描述如下:
圖2 可信接入認(rèn)證協(xié)議SNSTAP
(3) Sn→Cl:(S n, s id, S IGs)。Sn驗(yàn)證SIGc及其參數(shù)的正確性實(shí)現(xiàn)對(duì)Cl的身份認(rèn)證。計(jì)算 γ= (gy)x并安全擦除x,計(jì)算 kp=F(γ)(0)和 fkp(P latinfo)并與收到的 MACkp比較一致后,用SML和 Cert( A IKpub)對(duì) SIGAIKpriv(P CR, rs)進(jìn)行驗(yàn)證,從而完成對(duì) Cl端平臺(tái)的身份認(rèn)證和完整性校驗(yàn),簽名得計(jì)算 mk=F(1)。(γ)
(4)Cl驗(yàn)證SIGs通過(guò)后,計(jì)算得 mk=F(γ')(1)。
安全信道協(xié)議SNSCHL如圖3所示,其詳細(xì)描述如下:
圖3 安全信道協(xié)議SNSCHL
(4) Dom→Cl: (D om, s id, rd, vd,σ) 。計(jì)算 k0=F(mk)(rd, rc, D om, Cl),k1= firstn1(k0),k2=sec ondn2(k0),驗(yàn)證vc后計(jì)算 vfi=fk2(sid, rfi)并輸出會(huì)話密鑰k1。
(5)C l→Dom :(s id, cq, tq)。驗(yàn)證 vfi后輸出會(huì)話密鑰k1,計(jì)算 ke=Fk1(0), ka=Fk1(1), cq=Encke(REQ),tq= fka(s id, cq),其中REQ是用戶訪問(wèn)磁盤(pán)的內(nèi)容。
(6) Dom→Cl:(s id, cre,tre)。Dom確認(rèn)收到的信息具有形式(s id, cq, tq)且sid不同以往的會(huì)話標(biāo)志。計(jì)算 ke=Fk1(0),ka=Fk1(1),驗(yàn)證 tq=fka(sid, cq),得執(zhí)行Request中相關(guān)操作并把操作結(jié)果Rep發(fā)給Cl:m =(s id, R EP),計(jì)算 cre=Encke(REP)和tre=fka(s id, cre)。
(7)Cl收到Dom發(fā)來(lái)的消息(s id, cre,tre)后,確認(rèn)具有形式(r epid, cre,tre)且sid正確后,驗(yàn)證 tre=fka(s id, cre),計(jì)算得結(jié)果
整個(gè)網(wǎng)絡(luò)協(xié)議由兩部分構(gòu)成:用戶的可信接入認(rèn)證協(xié)議SNSTAP和安全信道協(xié)議SNSCHL。前者實(shí)現(xiàn)對(duì)用戶身份認(rèn)證和用戶端平臺(tái)的可信認(rèn)證,并且在此基礎(chǔ)上協(xié)商出用戶的長(zhǎng)期密鑰,使得持有長(zhǎng)期密鑰的用戶在一定時(shí)間段訪問(wèn)系統(tǒng)時(shí)效率直接與每個(gè)域交互,從而提高了系統(tǒng)的性能,本文將證明其具備CK模型的相關(guān)安全要求,從而保證該階段數(shù)據(jù)的保密性、完整性等存儲(chǔ)網(wǎng)絡(luò)的安全性質(zhì)。
安全信道協(xié)議 SNSCHL可以分為兩步:第一步是利用MK建立會(huì)話密鑰k1;第二步是在會(huì)話密鑰確認(rèn)的基礎(chǔ)上建立二者間的安全信道。可以證明前者是SK安全的,在第一步是SK安全的前提下,可以證明整個(gè)協(xié)議是一個(gè)安全信道。由于文章篇幅所限,在此不再給出該協(xié)議的詳細(xì)證明過(guò)程,因此我們有如下結(jié)論:
定理1:如果SNSTAP是UM中一個(gè)SK安全的密鑰交換協(xié)議,f是一個(gè)能抵抗選擇消息攻擊的 MAC方程協(xié)議,ENC是能抵抗CPA攻擊的對(duì)稱加密方程,F(xiàn)是一個(gè)安全的偽隨機(jī)數(shù)方程,那么協(xié)議SNSCHL在UM中是一個(gè)安全網(wǎng)絡(luò)信道協(xié)議。
協(xié)議SNSCHL在UM中是一個(gè)安全網(wǎng)絡(luò)信道協(xié)議,確保數(shù)據(jù)在該階段滿足保密性、完整性等存儲(chǔ)網(wǎng)絡(luò)的安全性質(zhì)。從而使得傳輸過(guò)程中的數(shù)據(jù)具有保密性、完整性、可用性、不可抵賴性等安全屬性。下面詳細(xì)給出用戶接入認(rèn)證協(xié)議的安全性分析。
引理1:若DDH假定成立,則協(xié)議SNSTAP 是AM中SK安全的(without PFS)密鑰交換協(xié)議。
證明:首先給出AM 中的協(xié)議SNSTAPAM:
(1)Sn→Cl:(Sn, Sid , gx)
(2)Cl→Sn:(Cl,Sid , gy)
(3)Sn→Cl :(Sn, Sid)
由AM定義知,當(dāng)兩個(gè)未被攻陷的參與者Sn和Cl都參與完成了同一個(gè)會(huì)話(即Sid與gx,gy惟一綁定)時(shí),各自得到了未被篡改的gxymodp,即二者建立了相同的會(huì)話密鑰。
下面采用反證法證明SNSTAPAM滿足SK安全的第二個(gè)條件。即:假設(shè)在AM中存在一個(gè)攻擊者E能夠以不可忽略的優(yōu)勢(shì)δ猜測(cè)出測(cè)試會(huì)話查詢中返回的值是隨機(jī)的還是真實(shí)的密鑰,那么通過(guò)攻擊者E 就可以構(gòu)造一個(gè)算法D 以不可忽略的優(yōu)勢(shì)區(qū)分概率分布Q0和Q1(Q0和Q1的定義同DDH假定),這與DDH假定是相悖的,所以得證。
D 的輸入是一個(gè)五元組(p,g,gx,gy,u),u以 1/2的概率等于gz或gxy,其構(gòu)造方法如下:
(1)初始化協(xié)議運(yùn)行環(huán)境。把公共參數(shù)告訴攻擊者E,選擇協(xié)議參與方P1, …,Pn 和認(rèn)證服務(wù)器Sn。
(2)隨機(jī)選擇 Q←{Q0,Q1}作為 D的輸入。隨機(jī)選擇r←{1,…,l},l為攻擊者所能發(fā)起的會(huì)話數(shù)量的上界。然后仿真協(xié)議的真實(shí)執(zhí)行過(guò)程:當(dāng)E 激活一個(gè)參與者建立一個(gè)新的會(huì)話t(t≠r)或者參與方接收一條消息時(shí),D 代表該參與方按照協(xié)議SNSTAPAM進(jìn)行正常的交互。如果t=r,則D 讓Sn向 Cl發(fā)送消息(Sn,Sid,gx),若 Cl 收到消息(Sn,Sid,gx)時(shí),D讓Cl向Sn發(fā)送消息(Sn,Sid,gy)。當(dāng)某個(gè)會(huì)話過(guò)期時(shí),參與者將相應(yīng)的會(huì)話密鑰從內(nèi)存中擦除。當(dāng)一個(gè)參與者被攻陷或一個(gè)會(huì)話(除第r個(gè)會(huì)話)被暴露時(shí),D把那個(gè)參與者或會(huì)話的相關(guān)信息交給E;如果第r個(gè)會(huì)話被E選中進(jìn)行會(huì)話查詢,則D把u作為查詢響應(yīng)給E;如果第r個(gè)會(huì)話被暴露了,或者另外一個(gè)會(huì)話被E選中作為測(cè)試會(huì)話,或者E沒(méi)有選擇測(cè)試會(huì)話就停止,則 D隨機(jī)選擇b'←{0,1}輸出,然后停止;如果E停止且輸出b',則D停止且輸出和E相同的b'。
當(dāng)E選擇的測(cè)試會(huì)話是第r個(gè)時(shí),因?yàn)镈和E的輸出是相同的b',由假設(shè)和D的構(gòu)造可知:D的輸入來(lái)自Q0或Q1的概率均是0.5的情況下,D卻能以0.5+δ(其中δ是不可忽略)的概率猜中響應(yīng)是真實(shí)會(huì)話密鑰或任一隨機(jī)數(shù);否則猜中的概率是0.5。而前者出現(xiàn)的概率是1/l,后者出現(xiàn)的概率是1-1/l,所以D猜中的概率是:0.5+δ/l,這樣D以的不可忽略的優(yōu)勢(shì)δ/l區(qū)分了其輸入來(lái)自Q0或Q1,這與DDH假設(shè)矛盾。
引理2:如果DDH假設(shè)成立,并且簽名算法可以抵抗選擇消息攻擊,經(jīng)過(guò)編譯器編譯后的協(xié)議SNSTAP在UM 中的輸出與協(xié)議SNATAPAM在AM 中的輸出與是不可區(qū)分的。
證明:在CK模型提供了一些認(rèn)證器,其中“SIG-MAC”是一個(gè)非常著名的認(rèn)證器。Canetti和Krawczyk在2002 年對(duì)給出了認(rèn)證器的嚴(yán)格證明。這里我們使用該認(rèn)證器對(duì)AM中的協(xié)議 SNSTAPAM進(jìn)行編譯優(yōu)化得到了 UM下的協(xié)議SNSTAP。
由引理1和引理2可知:對(duì)于UM中的任意攻擊者E,協(xié)議SNSTAP能夠滿足下列兩條性質(zhì):(1)若Sn和Cl沒(méi)有被攻陷并且完成了匹配的會(huì)話,則二者將輸出相同的密鑰MK。(2)攻擊者進(jìn)行測(cè)試會(huì)話查詢,它猜中 b 的概率不超過(guò)0.5+δ。因此可得:
定理2:如果DDH假設(shè)成立,并且簽名算法可以抵抗選擇消息攻擊,那么協(xié)議SNSTAP在UM中是SK安全的。
當(dāng)用戶取得長(zhǎng)期密鑰時(shí),無(wú)需SNS-server參與而可直接與每個(gè)域交互,所以系統(tǒng)的性能主要取決于協(xié)議SNSCHL的效率,該部分由會(huì)話密鑰的確認(rèn)和可信信道建立兩部分構(gòu)成。第二部分采用的是建立安全信道的典型方法,整體性能主要取決于會(huì)話密鑰的確認(rèn)。因?yàn)榇鎯?chǔ)網(wǎng)絡(luò)中未能找到相關(guān)的接入認(rèn)證協(xié)議相比較,所以下面與802.11i的EAP認(rèn)證協(xié)議中性能最好的EAP-TLS做比較。其中Cl相當(dāng)于移動(dòng)節(jié)點(diǎn)MP,Dom相當(dāng)于接入點(diǎn)A和認(rèn)真服務(wù)器AS的總和,802.11i在無(wú)線Mesh網(wǎng)絡(luò)中要在兩個(gè)接入點(diǎn)MP之間進(jìn)行四步握手來(lái)完成密鑰確認(rèn),而本文的協(xié)議SNSTAP中不需要額外的密鑰認(rèn)證。同時(shí)由于前者沒(méi)有對(duì)用戶端平臺(tái)的可信驗(yàn)證,所以在比較的時(shí)候也去掉協(xié)議SNSTAP中的可信部分,表1給出了一個(gè)新MP接入時(shí)需要進(jìn)行的計(jì)算和通信開(kāi)銷。其中發(fā)送和接收一次消息稱為一輪交互,E表示模指數(shù)運(yùn)算,S表示計(jì)算簽名,M表示計(jì)算消息認(rèn)證碼:
表1 協(xié)議性能對(duì)比
協(xié)議計(jì)算量:協(xié)議SNSTAP中CL和DOM(A)的計(jì)算量都要略少于 EAP-TLS,且 DOM(AS)的運(yùn)算量相對(duì)于EAP-TLS來(lái)說(shuō)則減少了一半。
協(xié)議通信效率:在Mesh標(biāo)準(zhǔn)草案中,一次EAP-TLS接入認(rèn)證需要5輪協(xié)議交互,一次四步握手需要2輪協(xié)議交互,而一個(gè)新的MP接入Mesh WLAN時(shí)分別要以申請(qǐng)者和認(rèn)證者執(zhí)行兩次“EAP-TLS+四步握手”,所以總共需要 14輪的協(xié)議交互;而協(xié)議SNSTAP只需要4輪的協(xié)議交互即可完成相應(yīng)的功能。
綜上所述,協(xié)議SNSTAP在計(jì)算量與通信效率方面都是比較高效的。
在現(xiàn)有的存儲(chǔ)網(wǎng)絡(luò)基礎(chǔ)上,融合多種網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)是構(gòu)建海量存儲(chǔ)系統(tǒng)一種比較經(jīng)濟(jì)實(shí)用的方法,近年來(lái)取得了很多研究成果,但同時(shí)也帶來(lái)了一些新的安全問(wèn)題需要研究。本文基于PKI融合SAN和NASD為一種適合海量存儲(chǔ)的多域安全網(wǎng)絡(luò)存儲(chǔ)系統(tǒng),并設(shè)計(jì)了存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)協(xié)議。用戶直接與磁盤(pán)或SAN交互使得新系統(tǒng)仍能保持高帶寬的優(yōu)點(diǎn),而域的易擴(kuò)展性使得系統(tǒng)具有大規(guī)模的的特點(diǎn),這些都是海量存儲(chǔ)所需要的。協(xié)議通過(guò)兩輪交互就完成了用戶與服務(wù)器間的身份認(rèn)證和長(zhǎng)期密鑰確認(rèn),同時(shí)完成了對(duì)用戶端平臺(tái)的身份認(rèn)證和完整性校驗(yàn),實(shí)現(xiàn)可信認(rèn)證接入。SNS服務(wù)器負(fù)責(zé)用戶的可信接入認(rèn)證和長(zhǎng)期密鑰的管理分發(fā),而對(duì)用戶的授權(quán)和對(duì)存儲(chǔ)設(shè)備的管理由不同域的服務(wù)器完成,減輕了SNS服務(wù)器的負(fù)載,削弱了其瓶頸限制,使其離線服務(wù)成為可能,提高了協(xié)議執(zhí)行的效率同時(shí)降低了服務(wù)器遭受潛在攻擊而導(dǎo)致系統(tǒng)癱瘓的概率。同時(shí)也把域服務(wù)器從用戶管理認(rèn)證接入中解脫出來(lái)而更專注于域內(nèi)存儲(chǔ)系統(tǒng)的管理,并且用戶認(rèn)證接入后直接與每個(gè)域交互而無(wú)需SNS服務(wù)器的參與,使得系統(tǒng)的效率更加高效。最后,利用CK模型給出了協(xié)議的安全性分析,結(jié)果表明協(xié)議是SK安全的,所建立的信道是安全信道。因此,如果被融合的SAN和NASD系統(tǒng)是安全的,那么新的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)也是安全的。
[1]SNIA-Storage Networking Industry Association. OSD:Object Based Storage Devices Technical Work Group[EB]. URL: http://www.snia.org/tech activities/workgroups/osd/.
[2]M. Factor, K. Meth, D. Naor, O. Rodeh, and J. Satran. Object storage: the future building block for storage systems[C]. Local to Global Data Interoperability - Challenges and Technologies, Sardinia, Italy.