郭繼文,周賢偉
(北京科技大學(xué)計算機與通信工程學(xué)院 北京100083)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,云計算技術(shù)已經(jīng)逐漸成為未來網(wǎng)絡(luò)的一個重要分支,并為下一代網(wǎng)絡(luò)的發(fā)展提供了以服務(wù)對象面向IT業(yè)的發(fā)展模式。與此同時,虛擬化技術(shù)使得云平臺的虛擬層、管理層和應(yīng)用層都存在安全威脅[1]。這嚴(yán)重影響了云計算技術(shù)的實用化。為了防止非法用戶接入云計算平臺獲得服務(wù)資源,認(rèn)證機制可以從應(yīng)用層、管理層、虛擬層3個方面,保證云計算平臺的正常運行。
根據(jù)云計算平臺的不同應(yīng)用模式,認(rèn)證策略主要包括3種類型:密鑰交互認(rèn)證協(xié)議[2,3]、信任行為監(jiān)控機制[4,5]和生物特征識別[6]。上述這些方案都可應(yīng)用于私有云或公共云,從而防止云平臺中惡意節(jié)點的偽造、假冒、惡意行為等攻擊。隨著云計算技術(shù)對國民經(jīng)濟影響的逐步加深,支持?jǐn)?shù)據(jù)共享的混合云[7]成為可能。因此,異構(gòu)云的安全接入技術(shù)將成為影響云計算技術(shù)發(fā)展的重要因素之一。針對多個云平臺共存的特性,參考文獻[8,9]提出相應(yīng)的異構(gòu)認(rèn)證方案。然而異構(gòu)云部署復(fù)雜、計算量大、信息交互頻繁等問題,使得上述認(rèn)證機制存在設(shè)計復(fù)雜、執(zhí)行效率低等問題。
針對上述問題,本文提出認(rèn)證代理和服務(wù)代理兩種異構(gòu)云服務(wù)模式,設(shè)計了具有較低握手次數(shù)的代理簽名方案,從而提高了認(rèn)證執(zhí)行效率。此外,該方案利用隨機數(shù)能夠有效防止惡意節(jié)點的重放攻擊、偽造攻擊和中間人攻擊等。
無論是私有云還是公共云,它們的組成元素都包括:用戶(user)、提供者(provider)和服務(wù)器(server)。為了提高認(rèn)證效率,每個云平臺增加一個代理模塊,即云平臺管理中心通過虛擬化技術(shù)共享提供者和服務(wù)器的密鑰材料,為身份識別提供基礎(chǔ)條件。資源管理、調(diào)度等功能仍然由提供者統(tǒng)一管理。假設(shè)云平臺管理中心是絕對安全且該模塊由它負(fù)責(zé)執(zhí)行。
異地云平臺網(wǎng)絡(luò)模型是指客戶端在一個云平臺管理中心注冊它的身份信息,并獲取相應(yīng)的密鑰材料,隨后通過認(rèn)證獲得異地云平臺的服務(wù)資源。如果本地資源能夠滿足客戶端的業(yè)務(wù)需求,那么身份識別只需要在本地云平臺上完成即可;否則該用戶需要執(zhí)行異地云平臺認(rèn)證。異地云認(rèn)證包括兩種情況:
· 如果該客戶端是通過無線接入云平臺,那么該用戶可能在移動過程中需要獲得異地云平臺即時服務(wù)資源;
· 如果本地云端無法滿足該用戶的服務(wù)需求,那么它將通過本地云平臺管理中心經(jīng)過遠(yuǎn)程接入方式獲得異地云平臺的服務(wù)資源。
則兩種情況的網(wǎng)絡(luò)模型如圖1所示。
圖1(a)表示客戶端在本地注冊自己的客戶信息并獲取了密鑰材料。當(dāng)它移動到異地時,該節(jié)點想獲得即時異地云服務(wù)。該用戶的認(rèn)證過程主要由異地云平臺管理中心(以下簡稱異地云中心)完成,異地云中心是本地云平臺管理中心(以下簡稱本地云中心)的認(rèn)證代理。圖1(b)也包括一個本地云平臺和一個異地云平臺,且表示客戶端在獲取合法密鑰材料之后,通過本地登錄和遠(yuǎn)程傳輸數(shù)據(jù)的方式獲得異地云中心的服務(wù)資源。本地云中心提供認(rèn)證材料,異地云中心提供業(yè)務(wù)服務(wù),從而本地云中心是異地云中心的服務(wù)代理。
設(shè)異構(gòu)云平臺由m個私有云構(gòu)成,且每個私有云中有n個云端;IDj表示客戶端的身份唯一標(biāo)識符,其中j=1,…,n。消息Requset和Ack分別表示發(fā)送消息和接收消息。Singk(.)表示帶有密鑰K的簽名方案;CertSK表示帶有私鑰SK的證書。PPK表示采用公鑰PK的加密算法。如果客戶端已在本地云中心對身份信息注冊成功,那么該客戶端已經(jīng)獲得了自己的公/私鑰對(ej,dj)。
認(rèn)證代理的異地安全接入模型的特點是認(rèn)證材料需要遠(yuǎn)程傳輸,而服務(wù)信息卻是本地接入。該服務(wù)模式的安全威脅主要體現(xiàn)在異地云中心與本地云中心進行交互過程中消息的機密性和完整性。那么該網(wǎng)絡(luò)模型的認(rèn)證方案步驟如下。
(1)客戶端 Uj發(fā)送一數(shù)據(jù)報(Requset,IDj,EAi,rj,h(IDj||EAi||rj))給異地云中心EAi;設(shè)異地云中心獲得的公/私鑰對為(eEi,dEi),產(chǎn)生偽隨機數(shù) rEi,并發(fā)送數(shù)據(jù)報 P(eLi,IDj||EAi||LAi||rj||rEi)給本地云中心 LAi。
(2)當(dāng)LAi收到該消息后,解密并驗證這個消息的合法性;若該消息是合法的,LAi產(chǎn)生一偽隨機數(shù)rLi,并發(fā)送數(shù)據(jù)報(Certj,rj,rLi,ej,P(eEi,rEi),Signrj(rj,rLi,rEi,ej,IDj,EAi))給EAi。
圖1 異構(gòu)云服務(wù)網(wǎng)絡(luò)模型
(3)當(dāng)EAi收到上述消息后,驗證該消息的合法性;如果該消息是合法的,EAi發(fā)送數(shù)據(jù)報 P (ej,IDj||EAi||LAj||rj||rEi)給 Uj。
(4)當(dāng)Uj收到上述消息后,驗證并解密該消息;如果該消息能正常解密,Uj發(fā)送數(shù)據(jù)報(Certj,rj,Signrj(rj,rEi,IDj,EAi))給 EAi。
(5)當(dāng)EAi收到該消息后,驗證該消息的合法性;如果驗證通過,EAi同意該用戶接入異地云平臺,否則拒絕該用戶的服務(wù)請求。
(6)當(dāng)EAi需要對Uj進行重新認(rèn)證時,首先EAi發(fā)送數(shù)據(jù)報(IDj,EAi,h(rj||rEi))給 Uj;當(dāng) Uj收到該消息后,驗證這個數(shù)據(jù)報的散列值是否正確;若散列值正確,該客戶端將發(fā)送消息報(Certj,rj,SignrEi(rj,rEi,IDj,EAi))給 EAi。
(7)當(dāng)EAi收到該消息后,驗證它的合法性;如果該消息是合法有效的,允許該用戶繼續(xù)接入異地云平臺,否則拒絕該用戶的服務(wù)請求。
服務(wù)代理的本地安全接入是在本地執(zhí)行認(rèn)證過程,但服務(wù)云端卻被部署在異地。該方案采用本地云中心與異地云中心相互認(rèn)證的策略,可以降低云平臺密鑰材料交互的通信負(fù)荷和操作復(fù)雜度。那么服務(wù)代理的本地安全認(rèn)證方案步驟如下。
(1)客戶端 Uj產(chǎn)生一偽隨機數(shù) rj,并發(fā)送數(shù)據(jù)報(Certj,LAi,P (eLi,rj),Signrj(rj,LAi,IDj))給 本 地 云 中 心 LAi;設(shè) 本地云中心的公/私鑰對為(eLi,dLi),當(dāng)它收到該消息后,驗證其合法性;若該消息是合法的,LAi產(chǎn)生一偽隨機數(shù)rLi,并發(fā) 送 數(shù) 據(jù) 報 (Certi,LAi,EAi,P (eEi,rj||rLi),SignrLi(rLi,rj,LAi,IDj))給異地云中心。
(2)當(dāng)EAi收到上述消息后,解密并驗證該消息的合法性;如果該消息是合法的,EAi產(chǎn)生一偽隨機數(shù)rEi,并發(fā)送數(shù)據(jù)報 (Certi,P (eLi,rEi),SignrEi(rj,rLi,rEi,IDj,EAi,LAi))給LAi。
(3)當(dāng)LAi收到上述消息后,驗證該消息的合法性;如果該消息是合法的,則 LAi發(fā)送數(shù)據(jù)報(Certj,P(ej,rEi||rLi),SignrEi(rj,rLi,rEi,IIDj,LAi,EAi))給 Uj。
(4)當(dāng)Uj收到該消息后,驗證該消息是否合法;如果驗證通過,LAi同意該用戶接入云平臺,否則拒絕該用戶的服務(wù)請求。
(5)當(dāng) LAi需要對 Uj進行重新認(rèn)證時,首先LAi發(fā)送數(shù)據(jù)報(IDj,LAi,h(LAi||rj||rLi||rEi))給 Uj;當(dāng)它收到該消息之后,驗證數(shù)據(jù)報的散列值是否正確;如果散列值是正確的,那 么 該 客 戶 端 將 發(fā) 送 消 息 報 (Certj,rj,SignrEi||rLi(rj,rLi,rEi,IDi,LAi))給 LAi。
(6)當(dāng)LAi收到該消息之后,驗證其合法性;若這個消息報是合法的,那么允許它接入本地云平臺,否則拒絕該用戶的服務(wù)請求。
認(rèn)證代理的異地安全接入和服務(wù)代理的本地安全接入都通過數(shù)字簽名、散列函數(shù)和公鑰加密算法來實現(xiàn)。為了保證認(rèn)證消息在傳送過程中的機密性,認(rèn)證交互的消息受到嚴(yán)格的加密保障。每個認(rèn)證消息都增加了偽隨機序列,它能夠有效防止重放攻擊、偽造攻擊。由于云平臺中大容量計算和存儲工作都在云端執(zhí)行,云端只需要為云平臺中心提供工作條件,而云平臺中心為云端提供計算或存儲任務(wù)。如果客戶端的任務(wù)量較大時,云端可以進行脫機工作。因此,簡單的重復(fù)認(rèn)證既有利于云平臺的安全運行,又保證了云平臺的服務(wù)效率。本方案實現(xiàn)了異構(gòu)云的雙向認(rèn)證,即云平臺中心與客戶端之間的相互身份識別。本節(jié)將以認(rèn)證代理的異地接入控制為例說明基于代理的認(rèn)證方案是正確、安全的。
客戶端Uj首先將自己的身份識別碼IDj和偽隨機數(shù)rj發(fā)送給異地云中心EAi,盡管EAi收到的偽隨機數(shù)存在泄露的可能,但散列函數(shù)保證了發(fā)送消息的不可修改性。這樣保證了數(shù)據(jù)報信息的真實性,即保證了EAi收到的認(rèn)證請求消息確實來自Uj。
EAi轉(zhuǎn)發(fā)認(rèn)證請求消息給本地云中心LAi。該消息報通過LAi的公鑰進行加密,且這個數(shù)據(jù)報包括偽隨機數(shù)rEi。由于rEi是私密的,該過程能防止惡意節(jié)點偽造和中間人攻擊。當(dāng)LAi返還數(shù)據(jù)報時,EAi可以通過檢測rEi來驗證上述數(shù)據(jù)報是否被LAi接收以及EAi收到的消息是否來自對應(yīng)的LAi,同時加密機制能防止惡意節(jié)點竊聽該數(shù)據(jù)報中的關(guān)鍵信息。
當(dāng)LAi收到消息之后,首先需要進行解密,如果解密不成功,它將拒絕執(zhí)行認(rèn)證過程。隨后,LAi發(fā)送帶有數(shù)字簽名的數(shù)據(jù)報給EAi。此外,客戶端產(chǎn)生的偽隨機數(shù)rj被返回,且客戶端的注冊公鑰ej也發(fā)送給EAi,同時加密機制保證了私密rEi沒有被泄露。
當(dāng)EAi收到該消息報之后,驗證該消息報的合法性,包括:該消息報是否被修改(偽隨機數(shù)rLi及簽名機制可以保證數(shù)據(jù)完整性);該消息報是否來自對應(yīng)的LAi(偽隨機rEi和rj能夠驗證消息源的合法性)。與此同時,EAi也獲得了Uj的公鑰信息。那么該過程能夠有效防止惡意節(jié)點的數(shù)據(jù)篡改、假冒身份和中間人攻擊等。
隨后,EAi與Uj通過信息交互來完成相互認(rèn)證。首先EAi發(fā)送加密信息給Uj,加密算法保證了消息的機密性。而偽隨機數(shù)rj和rEi能有效防止惡意節(jié)點假冒EAi和Uj的身份,即中間人攻擊。如果Uj能解密成功,Uj實現(xiàn)對EAi的身份識別。Uj發(fā)送帶有數(shù)字簽名的數(shù)據(jù)報給EAi。同理,EAi通過偽隨機數(shù)rEi來驗證數(shù)據(jù)報來源的合法性以及簽名機制保證了數(shù)據(jù)完整性。如果通過驗證,EAi將允許Uj接入云平臺獲得服務(wù)資源,因此該過程能有效防止惡意節(jié)點的數(shù)據(jù)偽造、身份假冒和中間人攻擊等。EAi與Uj重新認(rèn)證的安全性分析類似于它們第一次相互身份識別的分析過程。因此基于認(rèn)證代理的異地接入控制機制是正確、安全的。同理,基于服務(wù)代理的本地接入控制機制也是正確、安全的?;诖淼漠悩?gòu)云認(rèn)證方案的安全性與效率對比見表1。
表1 安全性與效率對比
表1給出了本方案與其他3個認(rèn)證方案在安全性和執(zhí)行效率的對比。從安全性上看,本方案能夠防止重放、偽造身份、欺騙以及中間人攻擊,而參考文獻[7~9]中的認(rèn)證方案并不能完全防止上述的安全威脅。從認(rèn)證效率方面,本方案能夠通過較少的認(rèn)證次數(shù)實現(xiàn)客戶端的身份識別,優(yōu)于其他3個方案。
針對異構(gòu)云部署復(fù)雜、計算量大、信息交互頻繁等問題,本文提出基于代理的異構(gòu)云認(rèn)證方案,實現(xiàn)了異構(gòu)云中的具有較低握手次數(shù)的代理簽名方案,從而提高了認(rèn)證執(zhí)行效率。此外,該方案利用偽隨機數(shù)能夠有效防止惡意節(jié)點的重放攻擊、偽造身份攻擊和中間人攻擊等。如果某個客戶端需要多個云平臺共同支持,那么多云平臺中心的接入控制機制是下一步的研究重點。
1 Khan A N,Kiah M L M,Khan S U,et al.Towards secure mobile cloud computing:a survey.Future Generation Computer Systems,2012,25(8):1~22
2 Singh M,Singh S.Design and implementation of multi-tier authentication scheme in cloud. International Journal of Computer Science Issues,2012,9(5):181~187
3 Yassin A A,Jin H,Ibrahim A,et al.Efficient password-based two factors authentication in cloud computing.International Journal of Security and Its Applications,2012,6(2):143~148
4 田立勤,林闖.基于雙滑動窗口的用戶行為信任評估機制.清華大學(xué)學(xué)報(自然科學(xué)版),2010,50(5):763~767
5 劉宴兵,劉飛飛.基于云計算的智能手機社交認(rèn)證系統(tǒng).通信學(xué)報,2012,33(Z1):28~34
6 Senk C,Dotzler F.Biometric authentication as a service for enterprise identity management deployment.Proceedings of International Conference on Availability,Reliability and Security,Regensburg,Germany,2011:43~50
7 Zhang Q,Li Y,Song D,et al.Alliance-authentication protocol in clouds computing environment.China Communications.2012,9(7):42~54
8 Zhang Q,Zheng J,Tan Y,et al.Cross-domain authentication alliance protocol based on isomorphic groups.Journal of Computers,2011,6(4):650~656
9 Kim J,Hong S.A consolidated authentication model in cloud computing environments.International Journal of Multimedia and Ubiquitous Engineering,2012,7(3):151~160