劉 英,莎仁高娃,張利文
(1.內(nèi)蒙古機(jī)電職業(yè)技術(shù)學(xué)院 信息與管理工程系, 呼和浩特 010010;2.內(nèi)蒙古大學(xué) 教務(wù)處, 呼和浩特 010010;3.內(nèi)蒙古科技大學(xué) 分析測試中心, 內(nèi)蒙古 包頭 014010)
移動云計算是移動終端設(shè)備通過移動云應(yīng)用將數(shù)據(jù)處理和數(shù)據(jù)存儲外包給云中資源豐富的計算平臺的一種綜合性技術(shù)。移動云計算可以有效降低移動設(shè)備計算資源、存儲資源和電量的開銷,提升復(fù)雜應(yīng)用在移動終端的可用性[1]。隨著移動云計算的廣泛應(yīng)用,安全性成為移動云計算的重點關(guān)注問題[2],直接影響用戶與數(shù)據(jù)中心的安全。移動云計算的安全機(jī)制主要包括身份認(rèn)證、訪問控制、底層虛擬機(jī)之間的通信協(xié)議等部分[3]。其中身份認(rèn)證是云計算的第1道防線[4]。隨著移動云計算規(guī)模的不斷擴(kuò)大,用戶規(guī)模與日俱增,為移動云計算的身份認(rèn)證帶來了極大的挑戰(zhàn)[5]。
基于單一因子的認(rèn)證方案現(xiàn)已無法滿足當(dāng)前移動云計算的安全要求,而雙向多因子認(rèn)證方案具有較高的安全性,獲得了廣泛的應(yīng)用[6]。雖然通過眾多的多因子安全認(rèn)證方案可獲得極高的安全性級別,但鮮有方案能夠滿足全面的安全性與計算效率的要求[7]。例如:文獻(xiàn)[8]設(shè)計了雙向的認(rèn)證方案,但該方案無法抵御服務(wù)器假冒攻擊,且會話秘鑰的安全性與用戶隱私保護(hù)的性能較差。文獻(xiàn)[9]實現(xiàn)了較好的匿名性,但其計算成本較高。文獻(xiàn)[10]抵御偽裝攻擊的效果較好,但其對用戶的隱私保護(hù)與反追蹤的效果較差。
現(xiàn)有的安全認(rèn)證方案無法完全地滿足移動云計算所需的幾點要求:會話秘鑰的安全性、用戶的隱私性、雙向認(rèn)證性、不可追蹤性、抵御常見攻擊的能力,其中任意一項缺陷均可能造成巨大的危險與嚴(yán)重的后果,因此認(rèn)證方案應(yīng)當(dāng)具備完全的安全性能力[11]。本文為分布式移動云計算設(shè)計了隱私保護(hù)的雙向認(rèn)證方案,移動用戶與服務(wù)提供者之間的會話秘鑰具有安全性,且可抵御常見的各種攻擊。此外,本方案具有隱私保護(hù)能力與較低的計算、通信成本。
本文采用文獻(xiàn)[8]的系統(tǒng)模型,表1所示是系統(tǒng)模型的相關(guān)術(shù)語與意義。
表1 文獻(xiàn)[8]模型的參數(shù)定義
建立智能卡模塊參數(shù)的步驟如下:
步驟1SCG選擇2個雙線性映射分組G1與G2,選擇條件為:素數(shù)階為p,SCG生成模塊P∈G1,g=e(P,P)→G2,其中G1×G1→G2是一個雙線性映射。
步驟4最終SCG申明公共的參數(shù):{G1,G2,p,e,P,Ppub,g,H1(),H2(),H3(),H4(),H5(),H6()}。
每個移動用戶Ui與服務(wù)提供者Sj注冊SCG來發(fā)布秘密權(quán)證。該權(quán)證被用來雙向認(rèn)證并建立Ui與Sj之間的會話秘鑰。
1.2.1用戶注冊階段
用戶Ui注冊SCG的步驟如下:
步驟1Ui通過安全信道將身份IDi發(fā)送到SCG。
步驟3Ui使用模糊器生成函數(shù)Gen(·)[9]計算(σi,θi)=Gen(fi),然后計算用戶的生物學(xué)特征fi(指紋、人臉特征等)與Ei,Lt=Ki,Lt⊕H5(pwi‖σi),其中θi是公共復(fù)制參數(shù)[9],σi是生物特征的秘鑰,pwi是Ui的選擇密碼。此外,Ui計算ei=H5(IDi||pwi||σi)。
步驟4Ui將信息{θi,Ei,Lt,ei,Gen(·),Rep(),H1(),H2(),H3(),H4(),H5(),H6(),t}保存于用戶的移動設(shè)備中,其中t是模糊器Rep(·)程序的誤差容忍閾值。
1.2.2服務(wù)提供者的注冊階段
服務(wù)提供者Sj加入云系統(tǒng)的步驟如下:
步驟1Sj通過安全信道將其身份SIDj發(fā)送到SCG;
步驟3Sj將收到的Kj保存于安全的位置。
移動用戶Ui與服務(wù)提供者Sj的認(rèn)證與秘鑰建立過程如下所示:
對于比特長度不等的兩個數(shù)進(jìn)行比特XOR運算(A⊕B)的情況,本文采用文獻(xiàn)[12]的策略:首先將兩個數(shù)中的小數(shù)補(bǔ)齊前導(dǎo)零(與大數(shù)的比特長度相同);然后,再將兩個數(shù)進(jìn)行比特級的XOR運算。如果兩個數(shù)A與B分別是64、8 bit,那么首先將B的前導(dǎo)比特位補(bǔ)充56個零,然后A與修改的B進(jìn)行比特級的XOR操作,獲得64 bit的結(jié)果。
步驟5Sj接收M3之后,計算(ID||Lti||SIDj)=C1⊕H2(sk‖SIDj),然后驗證Ui的權(quán)證,驗證的條件為:e(S1,H1(IDi||Lti)P+Ppub)=g1×gsk,如果滿足條件,則Sj認(rèn)為Ui是合法注冊的移動用戶,并認(rèn)為秘鑰sk是Ui與Sj之間共享的會話秘鑰;否則,Sj中止當(dāng)前的會話。
圖1總結(jié)了本方案的認(rèn)證過程與秘鑰協(xié)商過程。
圖1 認(rèn)證方案的認(rèn)證過程
雙向認(rèn)證方案的正確性證明:在雙向認(rèn)證成功之后,用戶Ui與服務(wù)提供者Sj之間建立了相同的會話秘鑰:
2) 服務(wù)提供者Sj計算:
為提高安全性,應(yīng)當(dāng)周期地更新用戶Ui的密碼與生物學(xué)特征,更新過程如下:
文獻(xiàn)[13]與文獻(xiàn)[8]是近期來自著名期刊的兩種移動云計算用戶認(rèn)證方案。文獻(xiàn)[13]是一種支持隱私保護(hù)的分布式移動云計算安全認(rèn)證方案,且支持交互認(rèn)證。文獻(xiàn)[8]則是一種基于橢圓曲線乘法與動態(tài)隨機(jī)置亂的分布式移動云計算安全認(rèn)證方案。文獻(xiàn)[8]和[13]也考慮了生物特征作為秘鑰,本文方案將與其進(jìn)行比較。
移動終端的處理能力有限,所以計算成本是認(rèn)證算法的重要指標(biāo)。在此使用文獻(xiàn)[14-15]的計算成本統(tǒng)計方案。表2所示是本方案在不同終端的計算成本比較。本方案的移動終端(Ui)采用iPhone4S與iPhone6,服務(wù)提供者(Sj)的CPU為Intel Core i5 6500。假設(shè)Tmul與Tpar分別表示橢圓曲線乘法(G1)與非對稱雙線性成對運算(G2)所需的計算時間,指數(shù)運算的成本等于一個橢圓曲線的乘法運算。此外,忽略函數(shù)運算與比特級XOR運算的計算成本。表2中顯示,非對稱雙線性成對運算所需的時間遠(yuǎn)高于橢圓曲線乘法,但是非對稱雙線性成對運算對數(shù)據(jù)的置亂效果較好。
表3所示是3種加密方案的計算成本比較。本方案Ui與Sj所需的計算成本分別為5Tmul≈52 ms,4Tmul+2Tpar≈9.8 ms。文獻(xiàn)[13]方案的Ui計算成本為Tpar+3Tmul≈105.3 ms,Sj計算成本為Tpar+2Tmul≈4.9 ms;文獻(xiàn)[8]方案的Ui計算成本為5Tmul≈52 ms,Sj計算成本為4Tmul+2Tpar≈9.8 ms。綜合實驗結(jié)果可看出,本認(rèn)證方案明顯優(yōu)于文獻(xiàn)[13]。由于本方案與文獻(xiàn)[8]的橢圓曲線乘法和非對稱雙線性成對運算數(shù)量相等,所以兩者的計算成本接近。
表2 加密操作的計算時間 ms
表3 不同認(rèn)證方案的計算成本比較(Ui為iPhone4S) ms
假設(shè)本方案的Req、身份ID、Lti與hash輸出的bit長度分別是32、32、32、160 bit,橢圓曲線1個點P=(Px,Py)的bit長度是(160+160)=320 bit。表4所示是本認(rèn)證方案與文獻(xiàn)[13,8]兩個方案的通信成本比較,本方案的通信消息M1、M2與M3所需的數(shù)據(jù)量分別為(32+320)=352、(512+160)=672與(320+160)=480 bit,故本方案的總通信成本為1 504 bit,文獻(xiàn)[13,8]的總通信成本分別為992 bit與1 696 bit。本認(rèn)證方案的通信成本明顯低于文獻(xiàn)[8],說明可提高移動通信的認(rèn)證效率。
表4 不同認(rèn)證方案的通信成本比較
表5所示是本方案與文獻(xiàn)[13,8]中方案的安全性能比較。文獻(xiàn)[13]不具備SK-安全性,且無法保證用戶的權(quán)證隱私;而文獻(xiàn)[8]不具備SK-安全性,且對用戶的權(quán)證隱私保護(hù)效果較弱,無法抵御偽裝攻擊。雖然文獻(xiàn)[13]方案中服務(wù)器端的通信成本與計算成本均較低,但其安全性也較低,容易受到惡意用戶的攻擊。本認(rèn)證方案的服務(wù)器端計算成本與通信成本較高,但客戶端的計算成本與通信成本較低,滿足移動云計算服務(wù)器端計算、通信能力強(qiáng)而移動終端計算、通信能力弱的特點。與其他兩種認(rèn)證方案相比,本方案可抵御主流的惡意攻擊,并實現(xiàn)了全面的安全與隱私保護(hù)性能。
表5 不同認(rèn)證方案的安全性能比較
基于NS2.35仿真器[16]對本文雙向認(rèn)證方案進(jìn)行仿真實驗。NS2仿真器是目前使用較為廣泛的一種網(wǎng)絡(luò)仿真器。
2.4.1仿真參數(shù)設(shè)置
表6所示是NS2仿真器的仿真參數(shù),采用SHA-1 hash算法,hash輸出、隨機(jī)數(shù)與時間戳的bit長度分別設(shè)為160、128、32 bit。共設(shè)置3個仿真場景,所有場景的認(rèn)證消息M1、M2、M3長度分別為352、672、480 bit。
表6 NS2仿真器的仿真參數(shù)設(shè)置
2.4.2吞吐量結(jié)果
吞吐量定義為每個單位時間傳輸?shù)谋忍財?shù)量。吞吐量的計算方法為:吞吐量=(nr×npkt)/Td,其中Td表示仿真總時間,npkt是一個數(shù)據(jù)包的比特量,nr是接收數(shù)據(jù)包的總數(shù)量。
仿真吞吐量的結(jié)果如表7所示。隨著用戶Ui數(shù)量的線性增加,網(wǎng)絡(luò)吞吐量也近似地呈線性遞增,仿真結(jié)果是較為理想的情況。
表7 NS2仿真器的吞吐量結(jié)果
2.4.3負(fù)載量結(jié)果
仿真統(tǒng)計了每個服務(wù)提供者Sj的負(fù)載量,負(fù)載量計算為:負(fù)載量=((ns+nr)×npkt)/Td,Td表示仿真總時間,ns是發(fā)送的數(shù)據(jù)包總數(shù)量,nr是接收的數(shù)據(jù)包總數(shù)量,npkt是一個數(shù)據(jù)包的比特量。3個仿真場景下全部服務(wù)提供者的總負(fù)載如表8所示。隨著用戶數(shù)量的增加,用戶與服務(wù)提供者的交互增加,導(dǎo)致了服務(wù)提供者的負(fù)載量增加。
表8 NS2仿真器的負(fù)載量結(jié)果
2.4.4數(shù)據(jù)包傳遞率結(jié)果
數(shù)據(jù)包傳遞率定義為發(fā)送的數(shù)據(jù)包總數(shù)量與接收數(shù)據(jù)包總數(shù)量的比值。3個仿真場景的數(shù)據(jù)包傳遞率結(jié)果如表9所示。用戶數(shù)量越高,用戶與服務(wù)提供者的消息量越多,導(dǎo)致網(wǎng)絡(luò)的擁塞情況加劇,所以隨著用戶數(shù)量的增加,數(shù)據(jù)包傳遞率降低。本文的雙向認(rèn)證方案是一種輕量級方案,數(shù)據(jù)包的數(shù)據(jù)量均較小,所以數(shù)據(jù)包傳遞率的結(jié)果受用戶數(shù)量的影響較小。
表9 NS2仿真器的數(shù)據(jù)包傳遞率結(jié)果
2.4.5能耗結(jié)果
服務(wù)提供者的能耗Econ計算為:Econ=(ei-er)/Td,其中Td是仿真總時間,ei是Sj的初始化能量,er是Sj的剩余能量。統(tǒng)計3個仿真場景下所有服務(wù)提供者的平均能耗,如表10所示。隨著用戶數(shù)量的增加,用戶與服務(wù)提供者的交互增加,導(dǎo)致服務(wù)提供者的能耗增加。
表10 NS2仿真器的能耗結(jié)果
本文為分布式移動云計算設(shè)計了隱私保護(hù)的雙向認(rèn)證方案,移動用戶與服務(wù)提供者之間的會話秘鑰具有安全性,且可抵御常見的各種攻擊。此外,本方案具有隱私保護(hù)能力與較低的計算、通信成本。為了提高安全性,本方案周期地更新用戶的密碼與生物學(xué)特征,進(jìn)一步保證安全性能。未來將關(guān)注zero-day的惡意攻擊行為,為移動云計算的智能終端提供第二層的防護(hù)方案,將惡意行為與其用戶阻擋在云計算內(nèi)部系統(tǒng)之外。