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