王 嫣,劉 穎,李 健
(1.中州大學(xué) 信息工程學(xué)院,鄭州450044;2.信息工程大學(xué)電子技術(shù)學(xué)院,鄭州450004)
移動數(shù)據(jù)庫是能夠支持移動式計算環(huán)境的數(shù)據(jù)庫,它是分布式數(shù)據(jù)庫的擴展和延伸。[1]與傳統(tǒng)計算環(huán)境相比,移動計算環(huán)境具有頻繁的斷接性、網(wǎng)絡(luò)條件多樣性、系統(tǒng)規(guī)模龐大、系統(tǒng)可靠性差、系統(tǒng)資源有限以及網(wǎng)絡(luò)通信的非對稱性等特點。[2]與之相應(yīng),一般要求移動數(shù)據(jù)庫具有內(nèi)核微小化、便于移植、支持?jǐn)嘟硬僮鞯榷喾N特點,并對其數(shù)據(jù)一致性處理、事務(wù)處理以及安全性提出了更高的要求。
隨著移動數(shù)據(jù)庫的發(fā)展,其安全問題成為人們關(guān)注的焦點。國內(nèi)外學(xué)者開展了廣泛而深入的研究。曾文英等[3]指出移動數(shù)據(jù)庫應(yīng)該采用移動主機身份認證,以防止非法主機接入,采用無線鏈路數(shù)據(jù)加密,以防止攻擊者竊聽。郭旭展等[4]指出應(yīng)該使用對稱加密算法和非對稱加密算法相結(jié)合的策略以及嚴(yán)格的審計和訪問控制來提高移動數(shù)據(jù)庫系統(tǒng)的安全性。駱成樑[5]提出了一種三重加密驗證方法用于驗證用戶的身份并對通信信息進行加密保護。但是這些論文中并沒有對這些機制進行具體的研究。孟小峰等[6]指出移動數(shù)據(jù)庫容易遭受位置隱私攻擊并給出了抵抗這類攻擊的幾種典型方法。針對位置隱私攻擊,Mokbel[7]和潘曉等[8]分別分析了位置隱私的攻擊原理并概括了現(xiàn)有的位置隱私保護方法。Michael[9],Bugra Gedik 等[10]和 A.J.Solon等[11]分別給出了位置隱私攻擊的實例。由此可見確保移動數(shù)據(jù)庫系統(tǒng)能夠抵抗位置隱私攻擊對于移動數(shù)據(jù)庫的安全具有重要意義。
移動數(shù)據(jù)庫終端認證包括終端用戶的身份認證和終端設(shè)備的身份認證,它是移動數(shù)據(jù)庫系統(tǒng)安全的前提和關(guān)鍵點。對于移動環(huán)境的身份認證,除滿足普通環(huán)境的安全需求外,還要求認證協(xié)議的計算和存儲開銷盡量小。針對移動商務(wù)計算環(huán)境,王洪瑩[12]提出了一種動態(tài)身份認證方案,實現(xiàn)了客戶機與服務(wù)器的雙向認證,但是該方案難以抵抗中間人攻擊。馮楠等[13]提出一種基于哈希鏈的身份認證方案,但是該方案的認證過程較為復(fù)雜。譚利平[14]等提出了一種基于公鑰加密的動態(tài)口令身份認證方案,該方案能夠抵抗重放攻擊、中間人攻擊并能實現(xiàn)雙向認證,但是該方案認證消息的傳輸次數(shù)較多,認證效率較低。
為了有效地解決移動數(shù)據(jù)庫終端認證的安全問題和效率問題,本文首先依據(jù)移動數(shù)據(jù)庫的典型結(jié)構(gòu)建立了三級身份認證模型,然后依據(jù)該模型,設(shè)計了一種移動數(shù)據(jù)庫終端身份認證方案,并對方案的性能和安全性進行了分析比較。
依據(jù)移動數(shù)據(jù)庫典型系統(tǒng)結(jié)構(gòu)以及對移動數(shù)據(jù)庫身份認證的功能需求的分析,設(shè)計了移動數(shù)據(jù)庫三級認證模型,如圖1所示。
模型中認證實體包括認證客戶端(Authentica-tion Client,簡稱AC)、認證支持節(jié)點(Authentication Support Station,簡稱ASS)和認證服務(wù)器(Authentication Server,簡稱AS)三部分。其中AC是運行在移動客戶端上的認證程序,它是認證協(xié)議的發(fā)起方。ASS是運行在移動支持節(jié)點上的認證程序,ASS維護著一個用戶和移動設(shè)備身份的副本,它可以直接或通過AS完成對AC的認證。AS是運行在認證服務(wù)器上的程序,每個移動數(shù)據(jù)庫系統(tǒng)有一個認證服務(wù)器,該服務(wù)器存儲著全部注冊用戶和設(shè)備的身份信息以及ASS的身份信息。AS可以對ASS的身份進行認證并能夠接受ASS對移動用戶和設(shè)備身份信息的查詢和更新。
圖1 移動數(shù)據(jù)庫三級身份認證模型
在用戶使用移動客戶機訪問數(shù)據(jù)庫之前,用戶需要輸入其身份信息,AC利用用戶身份信息和本地設(shè)備的身份信息向ASS發(fā)起認證。ASS接收到認證信息后,首先查找本地數(shù)據(jù)庫,如果存在請求認證的用戶和設(shè)備的身份信息,則直接進行認證,否則向AS發(fā)起認證服務(wù)請求。AS提供認證服務(wù)之前,首先要對ASS進行認證,以確定ASS身份合法。一旦ASS對AC認證完成后,則ASS在本地數(shù)據(jù)庫中保存當(dāng)前用戶和設(shè)備身份的備份,以備下一次認證。認證過程完成后,AC、ASS和AS依據(jù)具體的協(xié)議可以對當(dāng)前用戶和設(shè)備的身份信息進行同步更新。
移動數(shù)據(jù)庫終端注冊包括終端用戶注冊和終端設(shè)備注冊。
用戶注冊要求在安全環(huán)境下進行,首先由用戶設(shè)定用戶名IDu及口令p,然后AS按如下步驟完成用戶注冊:
(1)隨機選取注冊因子;
(2) 計算 x=H(s,IDu,p);
(3)計算V=x·G,該計算為橢圓曲線上的點乘運算;
(4)AS判斷V是否為無窮遠點,如果不是則注冊完成,否則返回(1)。
注冊成功后,用戶記住其用戶名IDu及口令p,AS丟棄用戶私鑰x,為用戶保存其注冊信息(IDu,s,V)。
終端設(shè)備注冊要求在安全環(huán)境下進行,其注冊過程如下:
(1)設(shè)備選定其私鑰e;
(2)設(shè)備計算d=e·G并發(fā)送給AS;
(3)AS檢查d是否被占用,如果被占用則返回(1),否則繼續(xù)執(zhí)行;
(4)AS為設(shè)備分配設(shè)備名IDc和初始位置隱私保護因子k。
注冊完成后,設(shè)備中存儲其身份參數(shù)(IDc,e,k),AS 中存儲設(shè)備認證信息(IDc,d,k,H(IDc,k))。
本文在進行身份認證協(xié)議設(shè)計時參考了SRP-6(Security Remote Password,安全遠程口令)協(xié)議。[15]該協(xié)議是目前主流商用數(shù)據(jù)庫最常用的一種身份認證方法。SRP-6協(xié)議的一個顯著特點是客戶機和服務(wù)器在進行身份認證的過程中不用在網(wǎng)絡(luò)上傳輸用戶口令的明文或密文,從而能夠有效地保護用戶口令的機密性。觀察SRP-6協(xié)議可以發(fā)現(xiàn),如果直接移植SRP-6協(xié)議會存在以下幾方面的問題。
首先,SRP-6協(xié)議的交互次數(shù)較多。由于無線信道具有開放性和弱連接性,通信過程容易受到攻擊和干擾,這就要求身份認證協(xié)議應(yīng)該具有較少的交互次數(shù)。分析SRP-6協(xié)議的執(zhí)行過程可以發(fā)現(xiàn),其第(1)步和第(3)步?jīng)]有依存關(guān)系,第(2)步和第(4)步也沒有依存關(guān)系,可以將這兩步合并從而減少其交互步驟。
其次,在SRP-6協(xié)議中,用戶名固定且明傳,這種方式極易遭到位置隱私攻擊,即攻擊者可以通過監(jiān)聽用戶的多次認證過程來推測用戶的位置及位置變化。一種有效的解決方法是使用假名方案,終端在每次認證時都只發(fā)送用戶的假名給ASS。保證各次使用假名的弱聯(lián)系性以及ASS能夠?qū)倜M行正確識別是設(shè)計該方案的關(guān)鍵。
最后,無法進行設(shè)備認證。SRP-6協(xié)議是專門為用戶認證所設(shè)計的,它保證了用戶只使用用戶名和口令的方式就能完成認證過程。該協(xié)議中用戶負擔(dān)的減小是以安全強度的降低為代價的,因此不能將這種方式直接移植到設(shè)備認證中去。終端設(shè)備具有一定的存儲空間和計算能力,因此可以支持更加復(fù)雜但安全的認證協(xié)議。
通過上述分析,本文以SRP-6協(xié)議為基礎(chǔ),設(shè)計如下身份認證協(xié)議,以滿足移動數(shù)據(jù)庫系統(tǒng)對身份認證的功能需求和安全需求。協(xié)議執(zhí)行分四個步驟,如圖2所示。
User+AC ASs(1) IDP=H(IDc,k)D=Ee(IDc‖IDu‖k)A=a·G■■■■) 驗證 IDc,檢查 IDu對應(yīng)的s和V IDp,D,A→(2) s=Ee(t)⊕k t,←■B t=Ed(s⊕k)B=V+b·G(3) x=H(s,IDu,p)u=H(A,B)S=(a+ux)·(B-x·G)M1=H(A,B,S)■1 u=H(A,B)S=b·(A+u·V)驗證M M→1(4) 驗證M2 M←■2 M2=H(A,M1,S)
(1)用戶向移動終端輸入用戶名IDu和口令p,設(shè)備查找當(dāng)前的位置隱私保護因子k,計算設(shè)備臨時名IDp=H(IDc,k)以及用戶和設(shè)備的聯(lián)合簽名D=Ee(IDc‖k),設(shè)備產(chǎn)生用戶臨時私鑰a,計算其臨時公鑰A=a·G,然后設(shè)備將IDp、D和A一起發(fā)送給ASS。
(2)ASS依據(jù)接收到的設(shè)備臨時名查找其真實設(shè)備名IDc、設(shè)備公鑰d和位置隱私保護因子k。如果沒找到則拒絕本次認證,否則計算Ed(D),還原設(shè)備名、用戶名和位置隱私保護因子。如果還原出的設(shè)備名、位置隱私保護因子與查表得到的設(shè)備名、位置隱私保護因子不相同,則確認設(shè)備身份不合法,認證失敗。如果相同則查找IDu對應(yīng)的s和V,計算t=Ed(s⊕k),然后生成臨時私鑰b,計算臨時公鑰B=V+b·G并將t和B一同發(fā)送給設(shè)備終端。
(3) 設(shè)備終端依次計算 x=H(s,IDu,p)、u=H(A,B)和S=(a+ux)· (B -x·G),然后計算挑戰(zhàn)參數(shù)M1=H(A,B,S)并發(fā)送給ASS。ASS依次計算u=H(AmB)、S=b·(A+uV)、M′1=H(A,B,S)并驗證M1與M′1是否相等,如果不相等則認證失敗,退出認證過程。
(4)ASS 計算 M2=H(A,M1,S)并發(fā)送給設(shè)備終端。設(shè)備終端根據(jù)本地產(chǎn)生的S計算M′2=H(A,M1,S),驗證 M2與 M′2是否相等,如果不相等則ASS身份不合法,認證失敗,否則認證成功,身份認證過程結(jié)束。
認證完成以后,設(shè)備和ASS按照以下公式更新位置隱私保護因子:
終端注銷包括終端設(shè)備注銷和用戶注銷。當(dāng)終端設(shè)備或者用戶不再使用時,便應(yīng)該執(zhí)行終端注銷策略。終端注銷是保證系統(tǒng)安全的重要步驟。本系統(tǒng)終端設(shè)備注銷和用戶注銷的步驟相似,其過程如下:
(1)AS 刪除終端設(shè)備注冊信息(IDc,d,k,H(IDc,k))或者用戶注冊信息(IDu,s,V);
(2)AS以廣播的形式通知所有的ASS設(shè)備名為IDc的終端設(shè)備或者用戶名為IDu的用戶已經(jīng)注銷;
(3)ASS接收到廣播后,查看本地設(shè)備身份信息表或者用戶身份信息表中是否存在該設(shè)備或者用戶,如果存在則刪除。
下面從交互次數(shù)、用戶存儲開銷、設(shè)備存儲開銷、計算量等四個方面對方案的性能進行分析。其中交互次數(shù)是指認證過程中通信雙方發(fā)送數(shù)據(jù)的次數(shù),用戶存儲開銷是指用戶需要存儲或者記憶的秘密參數(shù)的大小,設(shè)備存儲開銷是指終端設(shè)備需要存儲的秘密參數(shù)的大小,計算量是指認證雙方在一次認證過程中一共需要執(zhí)行各類密碼學(xué)運算的次數(shù)。假設(shè)r代表一次隨機數(shù)生成運算,h代表一次雜湊運算,m代表一次對稱加密運算,g代表一次大數(shù)模運算,e代表一次橢圓曲線運算。為簡化對比,假設(shè)各個方案所使用的密鑰、隨機數(shù)及其他參數(shù)的長度相同并且設(shè)為u,用戶名和口令長度都為p。各方案的性能比較如表1所示。
表1 各方案性能比較
由表1可以看出,本文方案認證雙方在一次認證過程中只需要發(fā)送四次數(shù)據(jù),為同類方案最少。由于本文方案同時實現(xiàn)了用戶認證和設(shè)備認證,需要用戶和設(shè)備均存儲一定數(shù)量的認證參數(shù),其中用戶存儲開銷為2p,設(shè)備存儲開銷為3u,均與同類方案相仿。在計算量方面,本文方案共用到了三類密碼學(xué)算法,分別為隨機數(shù)生成運算、哈希運算和ECC運算,在一次認證過程中的計算量是2r+8h+8e,在算法數(shù)量和運算次數(shù)方面均優(yōu)于文獻中所設(shè)計的方案,與SRP-6方案相仿。綜上所述,本文方案以較小的通信、存儲和計算代價實現(xiàn)了用戶身份和設(shè)備身份的雙重認證。
本方案的安全性前提是協(xié)議所使用的ECC算法和雜湊算法是安全的,下面從以下幾個方面對方案的安全性進行說明。
(1)支持用戶認證和設(shè)備認證。
本方案需要用戶記錄用戶名IDu及口令p,設(shè)備中存儲其身份信息(IDc,e,k),認證服務(wù)器分別為用戶和設(shè)備存儲身份信息(IDu,s,V) 和(IDc,d,k,H(IDc,k)),在認證協(xié)議中用戶和設(shè)備全部參與,只有ASS驗證用戶和設(shè)備的身份全部合法,才允許該用戶通過此設(shè)備繼續(xù)訪問數(shù)據(jù)庫,因此本文方案支持用戶和設(shè)備的雙重認證。
(2)抗重放攻擊。
本方案在認證過程中通過無線信道傳輸?shù)膮?shù)IDp,D,A,t,B,M1,M2是由 a、b 或者 k 計算而來,由于a和b是臨時產(chǎn)生的隨機數(shù),k每次認證后都更新一次,因此上述參數(shù)在每次認證時都不同。假設(shè)攻擊者截獲了終端某次認證時發(fā)送給ASS的所有參數(shù)IDp,D,A,M1,之后希望通過重放上述參數(shù)再次通過ASS的認證,由于上次認證之后k已經(jīng)更新,所以設(shè)備臨時名IDp已經(jīng)變化,ASS會發(fā)現(xiàn)上次截獲的IDp為不合法設(shè)備臨時名,無法通過設(shè)備認證。同時,由于ASS每次認證都隨機產(chǎn)生b,兩次認證產(chǎn)生相同的b的概率很小,因此使用上次截獲的M1也無法通過用戶認證。同理,如果攻擊者截獲了某次認證時ASS發(fā)送給終端的所有參數(shù)t,B,M2,也無法對終端實施重放攻擊。終上所述,本方案能夠有效地抵抗重放攻擊。
(3)抗中間人攻擊。
在本文方案的身份認證協(xié)議中,設(shè)備私鑰由設(shè)備唯一擁有,任何人都無法偽造設(shè)備的簽名。每個用戶擁有一個口令p,同時認證服務(wù)器為它存儲一個口令認證因子V,用戶和認證服務(wù)器分別利用p和V通過不同方式計算M1和M2,任何攻擊者在不知道P和V的前提下偽造M1和M2都等同于解決一個橢圓曲線上的離散對數(shù)問題,因此本文方案能夠有效抵抗中間人攻擊。
(4)抗偽裝主機攻擊。
由認證協(xié)議的執(zhí)行過程可以看出,在主機驗證用戶和設(shè)備身份的同時,設(shè)備也需要檢驗主機身份是否合法。只有主機擁有正確的V、d和k等秘密參數(shù),它才能計算產(chǎn)生正確的M2,而協(xié)議的成功是以移動設(shè)備驗證M2正確為標(biāo)志的,因此本文方案能夠抵抗偽裝主機攻擊。
(5)抗位置隱私攻擊。
在本文方案的認證過程中,設(shè)備名IDc和用戶名IDu都沒有直接發(fā)送給ASS。在每次認證開始時,設(shè)備計算一個臨時名IDp發(fā)送給ASS,而IDp是由IDc和k通過雜湊運算所得,由于k在每次認證結(jié)束后都發(fā)生變化,因此IDp在每次認證時也各不相同。IDu與設(shè)備名以及位置隱私保護因子k一起經(jīng)過設(shè)備的私鑰簽名后才發(fā)送給ASS,由于該簽名中也加入了k,因此每次認證所發(fā)送的簽名也各不相同。協(xié)議中發(fā)送的其他參數(shù)均為隨機數(shù)或者由隨機數(shù)運算產(chǎn)生的參數(shù),因此這些參數(shù)在每次認證時也不相同。又因為在協(xié)議中使用了ECC算法和雜湊算法,攻擊者由一次認證截獲的參數(shù)計算出下次認證使用的參數(shù)在計算上不可行的,因此本文方案能夠抵抗位置隱私攻擊。
本文方案與其他方案在安全性方面的比較如表2所示。由該表可以看出,本文方案不僅實現(xiàn)了用戶身份和設(shè)備身份的雙重認證,而且能夠抵抗重放攻擊、中間人攻擊、偽裝主機攻擊、位置隱私攻擊等多種攻擊行為。與其他同類方案相比,本文方案具有更高的安全性。
表2 各方案安全性比較
安全問題已經(jīng)成為制約移動數(shù)據(jù)庫技術(shù)推廣應(yīng)用的瓶頸。本文提出并設(shè)計了一種移動數(shù)據(jù)庫終端身份認證方案,對移動數(shù)據(jù)庫系統(tǒng)終端用戶和終端設(shè)備的注冊、認證和注銷過程進行了詳細的說明。與其他同類方案相比,本文的方案具有較高的安全性和執(zhí)行效率。本文的研究成果對于提高移動數(shù)據(jù)庫系統(tǒng)的安全性和拓展移動數(shù)據(jù)庫在高安全領(lǐng)域的應(yīng)用具有一定的意義。
[1]移動數(shù)據(jù)庫[EB/OL].Available from http://baike.baidu.com/view/1851800.htm.2011.
[2]丁治明.移動數(shù)據(jù)庫關(guān)鍵技術(shù)研究[D].北京:中國科學(xué)院研究生院,2002.
[3]曾文英,趙躍龍,宋瑋.移動數(shù)據(jù)庫關(guān)鍵技術(shù)研究[J].計算機工程與應(yīng)用,2009,45(14):25 -29.
[4]郭旭展,尤磊.企業(yè)移動數(shù)據(jù)庫安全技術(shù)研究[J].福建電腦,2010(6):10.
[5]駱成樑.移動數(shù)據(jù)庫的安全策略研究[J].科技經(jīng)濟市場,2007(4):148-149.
[6]孟小峰,丁治明.移動數(shù)據(jù)管理概念與技術(shù)[M].北京:清華大學(xué)出版社,2009.
[7]Mokbel M F.Privacy in location-based services:State-of-the- Art and Research Directions[C].MDM ’07 Proceedings of the 2007 Inte.
[8]潘曉,肖珍,孟小峰.位置隱私研究綜述[J].計算機科學(xué)與探索,2007,1(3):268 -281.
[9]Michael S.Companies increasingly use GPS - enabled cell phones to track employees.Weblogsinc[EB/OL].Available from http://wifi.weblogsinc.com/2004/09/24/companies-increasingly-use-GPS-enabled-cell-phones-totrack/,2004.
[10]Bugra Gedik,Ling Liu.Protecting Location Privacy with Personalized k-Anonymity:Architecture and Algorithms[J].IEEE Transactions on Mobile Computing,2008,7(1):1-18.
[11]Solon A J,Callaghan M J,Harkin J.Case Study on the Bluetooth Vulnerabilities in Mobile Devices[J].International Journal of Computer Science and Network Security,2006,6(4):125-129.
[12]王洪瑩.移動商務(wù)身份認證系統(tǒng)的研究與設(shè)計[D].北京交通大學(xué),2007.
[13]馮楠,鐵嶺,李建華.基于哈希鏈表的HAWAII微移動協(xié)議認證方案[J].信息安全與通信保密,2006,1:42-46.
[14]譚利平,李方偉.移動通信系統(tǒng)中的認證與密鑰協(xié)商協(xié)議[J].計算機應(yīng)用,2007,27(6):1343 -1344.
[15]Wu T.SRP -6:Improvements and refinements to the secure remote password protocol[EB/OL].Available from http://srp.stanford.edu,2002.