郝偉偉,呂 磊
(1.河南省市場(chǎng)監(jiān)督管理局 信息中心,河南 鄭州 450008;2.河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,河南 鄭州 450008)
進(jìn)入新世紀(jì)之后,科學(xué)技術(shù)快速發(fā)展,移動(dòng)網(wǎng)絡(luò)越來越多地被運(yùn)用在人們生活中,比如:線上預(yù)約掛號(hào)看病、線上預(yù)約取號(hào)辦理業(yè)務(wù)等[1-2]。在上述操作中,用戶需要與特定的單位提供的服務(wù)器進(jìn)行登錄,比如說:用戶甲需要去某家大型醫(yī)院預(yù)約看病,則用戶甲必須用自己的身份和口令登錄服務(wù)器后,才可以進(jìn)行預(yù)約操作[3]。
伴隨著網(wǎng)絡(luò)快速發(fā)展及運(yùn)用,越來越多的業(yè)務(wù)可在網(wǎng)絡(luò)上事先進(jìn)行預(yù)約,再進(jìn)行實(shí)體門店中辦理手續(xù)。在傳統(tǒng)的單服務(wù)器環(huán)境下,用戶需要在每個(gè)服務(wù)器環(huán)境下進(jìn)行注冊(cè),這樣將會(huì)使得用戶需要記住多個(gè)賬戶和口令信息,不方便用戶[4-5]。為解決單服務(wù)器環(huán)境下存在的不足,多服務(wù)器環(huán)境下用戶只需注冊(cè)一個(gè)賬號(hào),便可以訪問多個(gè)服務(wù)器上資源,可使用戶免去記憶多個(gè)賬號(hào)和口令負(fù)擔(dān)。用戶登錄服務(wù)器過程中,信息交換通道為無線方式,無線方式具備的開放性特征,使得用戶信息存在一定不足。為保證用戶隱私信息不受侵犯,需設(shè)計(jì)身份認(rèn)證協(xié)議以保障二者之間信息傳送的安全性。
文中設(shè)計(jì)一個(gè)身份認(rèn)證協(xié)議,該協(xié)議既可在單服務(wù)器環(huán)境下適用,亦可在多服務(wù)器環(huán)境下適用;為能夠確保用戶賬號(hào)和口令的安全性,協(xié)議采用模糊提取技術(shù)對(duì)重要隱私信息進(jìn)行加密,在確保安全的前提下,引入超輕量級(jí)的逆向遍歷組合運(yùn)算對(duì)部分消息加密。從不同角度展開多個(gè)經(jīng)典協(xié)議分析,表明文中協(xié)議在安全性能上優(yōu)于其他對(duì)比協(xié)議,能夠提供諸如假冒攻擊、重放攻擊、窮舉攻擊等常見類型安全防御,且系統(tǒng)整體計(jì)算時(shí)間開銷具備優(yōu)勢(shì)。
文獻(xiàn)[6]中提出的身份認(rèn)證協(xié)議只適用于單服務(wù)器環(huán)境下,無法在當(dāng)今多服務(wù)器環(huán)境下使用,因此無法推廣,具有一定的局限性。針對(duì)文獻(xiàn)[7]中設(shè)計(jì)的身份認(rèn)證協(xié)議,Yeh等人在文獻(xiàn)[8]中進(jìn)行了安全性分析,指出協(xié)議存在無法抵抗用戶假冒攻擊、服務(wù)器假冒攻擊和中間人攻擊等缺陷,同時(shí)作者在文獻(xiàn)[8]中設(shè)計(jì)一個(gè)改進(jìn)的身份認(rèn)證協(xié)議。
文獻(xiàn)[9]中協(xié)議從多方面對(duì)文獻(xiàn)[8]中協(xié)議進(jìn)行安全性分析,指出該協(xié)議存在內(nèi)部攻擊、用戶假冒攻擊等缺陷。文獻(xiàn)[10-12]中分別設(shè)計(jì)出不同的協(xié)議,其中文獻(xiàn)[13]分別對(duì)文獻(xiàn)[10-12]中的協(xié)議進(jìn)行了安全性分析,指出文獻(xiàn)[10]中協(xié)議存在無法實(shí)現(xiàn)所聲稱的離線口令猜測(cè)攻擊,同時(shí)該協(xié)議也未實(shí)現(xiàn)用戶匿名性和前向安全性;指出文獻(xiàn)[11]中協(xié)議存在無法實(shí)現(xiàn)抵抗離線口令猜測(cè)攻擊,同時(shí)該協(xié)議也無法提供匿名性;指出文獻(xiàn)[12]中協(xié)議存在不能抵抗所聲稱的用戶仿冒攻擊和離線口令猜測(cè)攻擊,同時(shí)協(xié)議還無法實(shí)現(xiàn)用戶不可追蹤性。文獻(xiàn)[13]中協(xié)議存在諸如符號(hào)含義不明、多個(gè)消息用處不明確等問題,同時(shí)協(xié)議在智能卡一端設(shè)置四種類型哈希函數(shù),使得智能卡實(shí)現(xiàn)成本急劇提升,無法推廣使用該協(xié)議。文獻(xiàn)[14]中采用模糊提取技術(shù)、切比雪夫混沌映射算法給出一個(gè)身份認(rèn)證協(xié)議,但該協(xié)議存在諸多正確性有待商榷之處。屈娟等人提出的協(xié)議完整過程可參見文獻(xiàn)[14],鑒于文中篇幅有限,文中不再詳細(xì)闡述。對(duì)屈娟等人設(shè)計(jì)協(xié)議進(jìn)行分析,發(fā)現(xiàn)如下幾處正確性或不足有待商榷:
第一處正確性有待商榷是,屈娟等人提出的協(xié)議中多次出現(xiàn)符號(hào)T1、T2、T3,但協(xié)議并未給出上述三個(gè)符號(hào)所表示含義,也未說明上述符號(hào)在協(xié)議具體實(shí)現(xiàn)過程中發(fā)揮的作用是什么。故該處符號(hào)引入使用正確性有待商榷。
第二處正確性有待商榷是,在協(xié)議的“登錄階段”中,用戶Ui在計(jì)算消息C2i過程中用到SIDj參數(shù),結(jié)合上下文分析,SIDj參數(shù)表示服務(wù)器Sj的身份標(biāo)識(shí),用戶Ui是未獲取該參數(shù)信息的,因此用戶Ui無法使用該參數(shù)進(jìn)行計(jì)算。故該處有關(guān)C2i計(jì)算過程中用到的SIDj正確性有待商榷。
第三處不足是,協(xié)議中對(duì)于信息的加密用到三種不同的加密算法,即模運(yùn)算、哈希函數(shù)運(yùn)算、切比雪夫運(yùn)算,使得智能卡一端的計(jì)算量較大。對(duì)于低成本的智能卡而言,計(jì)算能力受到一定制約,同時(shí)用到上述三種運(yùn)算時(shí),現(xiàn)有的智能卡無法實(shí)現(xiàn)。故屈娟等人設(shè)計(jì)協(xié)議推廣性受到制約。
鑒于現(xiàn)有的諸多經(jīng)典協(xié)議存在無法使用于多服務(wù)器環(huán)境下或計(jì)算量大或存在安全缺陷等問題,文中采用模糊提取技術(shù),同時(shí)結(jié)合超輕量級(jí)的逆向遍歷組合運(yùn)算算法,設(shè)計(jì)一個(gè)改進(jìn)的身份認(rèn)證協(xié)議。
文中統(tǒng)一用Rtc(X,Y)符號(hào)來表示逆向遍歷組合運(yùn)算,同時(shí)Rtc(X,Y)可按照下面方式實(shí)現(xiàn):
X,Y,Z均是長度為L位的二進(jìn)制字符串,W(X)、W(Y)分別表示X,Y的漢明權(quán)重。當(dāng)W(X)>W(Y)時(shí),指針Px從X右邊開始向左邊遍歷,同時(shí)指針Py從Y左邊開始向右邊遍歷,若X的第i位值、Y的第j位值滿足Fi(X)>Fj(Y),則將X的第i位值Fi(X)放于Z的第j位,否則,將Y的第j位值Fj(Y)放于Z的第j位,其中i、j滿足條件i+j=L+1,待遍歷完X的同時(shí),Y也遍歷完,且可得到逆向遍歷組合運(yùn)算最終結(jié)果。
當(dāng)W(X)≤W(Y)時(shí),指針Px從X左邊開始向右邊遍歷,同時(shí)指針Py從Y右邊開始向左邊遍歷,若X的第i位值、Y的第j位值滿足Fi(X)>Fj(Y),則將Y的第j位值Fj(Y)放于Z的第i位,否則,將X的第i位值Fi(X)放于Z的第i位,其中i、j滿足條件i+j=L+1,待遍歷完X的同時(shí),Y也遍歷完,且可得到逆向遍歷組合運(yùn)算最終結(jié)果。
逆向遍歷組合運(yùn)算可結(jié)合下面兩個(gè)例子進(jìn)行理解。取L=12、X=110101101001、Y=001001001010,可得W(X)=7、W(Y)=4,滿足W(X)>W(Y)情況,依據(jù)上述逆向遍歷組合運(yùn)算定義可得Z=Rtc(X,Y)=101101101011。再次取L=12、X=100101000010、Y=011010111100,可得W(X)=4、W(Y)=7,滿足W(X)≤W(Y)情況,依據(jù)上述逆向遍歷組合運(yùn)算定義可得Z=Rtc(X,Y)=000111010010。
文中設(shè)計(jì)的身份驗(yàn)證協(xié)議共分為五個(gè)階段,依次為服務(wù)器注冊(cè)階段、用戶注冊(cè)階段、用戶登錄階段、用戶與服務(wù)器間認(rèn)證階段、用戶修改口令階段。
(1)服務(wù)器注冊(cè)。
Sj表示服務(wù)器;IDSj表示服務(wù)器Sj的身份標(biāo)識(shí);RC表示注冊(cè)中心;Kj表示注冊(cè)中心密鑰。
服務(wù)器Sj向注冊(cè)中心RC進(jìn)行注冊(cè),發(fā)送IDSj給注冊(cè)中心RC。注冊(cè)中心RC搜索已存數(shù)據(jù)是否與IDSj相等。如有,注冊(cè)中心RC告知服務(wù)器Sj重新選擇IDSj再次進(jìn)行注冊(cè);否則,注冊(cè)中心RC計(jì)算Aj=Rtc(IDSj,Kj),并將
(2)用戶注冊(cè)。
Ui表示用戶;IDUi表示用戶Ui的身份標(biāo)識(shí);PWUi表示用戶Ui設(shè)置的口令;SURE表示確定含義;x表示用戶Ui選定的隨機(jī)數(shù);BIOi表示用戶Ui的生物特征值。用戶Ui想要訪問服務(wù)器Sj上資源,則用戶Ui必須先完成注冊(cè),只有用戶Ui成為合法用戶后,用戶Ui才有權(quán)限訪問服務(wù)器Sj上資源。
用戶Ui選擇身份標(biāo)識(shí)IDUi、設(shè)定口令PWUi,然后將信息發(fā)送給注冊(cè)中心RC。注冊(cè)中心RC在已存數(shù)據(jù)中搜索是否有與IDUi相等。如有,注冊(cè)中心RC告知用戶Ui重新選擇IDUi再次進(jìn)行注冊(cè);反之,注冊(cè)中心RC發(fā)送SURE給用戶Ui,表示注冊(cè)成功。用戶Ui收到SURE后,選定隨機(jī)數(shù)x,并將x發(fā)送給注冊(cè)中心RC。注冊(cè)中心RC收到信息,依次計(jì)算Bi=Rtc(Aj,x)、Di=Bi⊕PWUi,并將
待上述操作完成,智能卡中存放信息有
(3)用戶登錄。
y表示智能卡生成的隨機(jī)數(shù)。
(4)用戶與服務(wù)器間認(rèn)證。
z表示服務(wù)器Sj生成的隨機(jī)數(shù)。
(5)用戶修改口令。
用戶Ui在使用一段時(shí)間后,為安全起見,用戶Ui會(huì)修改當(dāng)初設(shè)定的口令。
(1)匿名性。
想要實(shí)現(xiàn)匿名性,就需要保證用戶的身份標(biāo)識(shí)IDUi無法被第三方監(jiān)聽獲取或破解獲取。文中在用戶登錄階段中,發(fā)送給注冊(cè)中心的消息Hi=Rtc(y⊕IDUi,Bi⊕Ei)中有出現(xiàn)用戶的身份標(biāo)識(shí)IDUi,但該信息將會(huì)經(jīng)過加密之后再發(fā)送,第三方無法破解獲?。煌瑫r(shí)消息Hi在加密過程中還會(huì)混入隨機(jī)數(shù)y,使得每輪計(jì)算所得消息Hi的值都是變動(dòng)的,從而實(shí)現(xiàn)第三方無法追蹤用戶具體位置?;谏鲜龇治?,文中協(xié)議可實(shí)現(xiàn)匿名性安全需求。
(2)會(huì)話密鑰協(xié)商。
為能夠確保后續(xù)操作過程中用戶隱私信息的安全性,文中協(xié)議在認(rèn)證階段結(jié)束之后,用戶與服務(wù)器之間將通過協(xié)商方式共同生成兩者之間的共享密鑰KS_U=Rtc(z,y)。在該共享密鑰協(xié)商過程中,不僅會(huì)用到用戶一端產(chǎn)生的隨機(jī)數(shù)y,而且還會(huì)用到服務(wù)器一端產(chǎn)生的隨機(jī)數(shù)x。只有合法的服務(wù)器,才可以通過計(jì)算得到正確的隨機(jī)數(shù)y;同理,也只有合法的用戶,才可以通過計(jì)算得到正確的隨機(jī)數(shù)x,任何偽裝的第三方,都會(huì)因缺少關(guān)鍵參數(shù)信息,而導(dǎo)致計(jì)算過程中錯(cuò)誤,無法計(jì)算得到正確的隨機(jī)數(shù)x或y?;谏鲜龇治觯闹袇f(xié)議可以實(shí)現(xiàn)會(huì)話密鑰協(xié)商的安全需求。
(3)假冒攻擊。
(4)前向安全性。
第三方想要從當(dāng)前會(huì)話中竊聽獲取的消息,推導(dǎo)出之前會(huì)話過程中涉及到的隱私信息,但文中協(xié)議中第三方無法成功。文中協(xié)議中用戶與服務(wù)器之間的共享密鑰都是每次在會(huì)話過程中通過商定的方式確定的,且每輪共享密鑰商定過程中,都會(huì)混入隨機(jī)數(shù),每輪會(huì)話中涉及到的隨機(jī)數(shù)都是隨機(jī)產(chǎn)生、無規(guī)律性、互異性,因此第三方根本無法通過當(dāng)前消息推導(dǎo)出之前某輪會(huì)話用到的隨機(jī)數(shù)?;谏鲜龇治?,文中協(xié)議可以實(shí)現(xiàn)前向安全性需求。
(5)重放攻擊。
可以采用竊聽的方式,第三方可獲取一個(gè)完整會(huì)話過程中所有消息,并通過下輪會(huì)話中重放竊聽消息方式,以企圖通過合法實(shí)體認(rèn)證,進(jìn)而獲取更多隱私信息,但文中協(xié)議第三方無法成功。消息加密過程中加入隨機(jī)數(shù),每輪會(huì)話使用隨機(jī)數(shù)都是不同的,且都是隨機(jī)產(chǎn)生的,使得前后相隔的兩輪會(huì)話加密消息值都是不同的。當(dāng)?shù)谌街胤鸥`聽的消息時(shí),當(dāng)前正在進(jìn)行的會(huì)話中使用到的隨機(jī)數(shù)早已發(fā)生變更,第三方重放消息失敗?;谏鲜龇治觯闹袇f(xié)議可以抵抗第三方發(fā)起的重放攻擊。
(6)窮舉攻擊。
可以采用更為直接的方式,即窮舉方式窮盡隱私信息可能的所有取值,進(jìn)而破解出用戶關(guān)鍵隱私信息,但文中協(xié)議中第三方無法成功。這里僅選擇消息Ei=Rtc(IDUi⊕λi,PWUi⊕x)為例進(jìn)行分析。在消息Ei中,一共有IDUi、λ、PWUi、x四個(gè)參數(shù)的值對(duì)于第三方來說不知曉;即便是第三方可能通過某些非法途徑獲取上述四個(gè)參數(shù)中某些,但也不可能獲取四個(gè)全部參數(shù),此時(shí)第三方仍無法窮盡,因?yàn)楦鶕?jù)自設(shè)計(jì)的加密算法定義可知,消息加密過程中還會(huì)涉及到參數(shù)自身攜帶的漢明參數(shù)值。當(dāng)?shù)谌綗o法全部獲取四個(gè)參數(shù)時(shí),則加密過程中涉及到的參數(shù)的漢明參數(shù),第三方就無法知曉,則加密破解將失敗?;谏鲜龇治?,文中協(xié)議可以抵抗第三方發(fā)起的窮盡攻擊。
本章節(jié)主要從用戶登錄階段和用戶與服務(wù)器間相互認(rèn)證階段出發(fā),和其他經(jīng)典協(xié)議對(duì)比分析兩個(gè)階段計(jì)算時(shí)間開銷,分析結(jié)果如表1所示。
表1中各符號(hào)含義如下:T_h表示哈希函數(shù)計(jì)算一次需要的時(shí)間開銷;T_pm表示一次橢圓曲線點(diǎn)乘計(jì)算需要的時(shí)間開銷;T_mod表示模運(yùn)算計(jì)算一次需要的時(shí)間開銷;T_re表示RSF加密計(jì)算一次需要的時(shí)間開銷;T_rd表示RSA解密計(jì)算一次需要的時(shí)間開銷;T_c表示切比雪夫混沌映射計(jì)算一次需要的時(shí)間開銷;T_xor表示按位異或運(yùn)算計(jì)算一次需要的時(shí)間開銷;T_rtc表示逆向遍歷組合運(yùn)算計(jì)算一次需要的時(shí)間開銷。由文獻(xiàn)[15]可知,上述除了T_xor、T_rtc之外的加密算法計(jì)算一次需要的時(shí)間開銷實(shí)現(xiàn)數(shù)據(jù)依次為T_h=0.5 ms、T_pm=63.075 ms、T_mod=7.79 ms、T_re=8.7 ms、T_rd=8.7 ms、T_c=21.02 ms。根據(jù)現(xiàn)有的文獻(xiàn)研究表明,一次輕量級(jí)別的計(jì)算量相當(dāng)于幾十次甚至幾百次超輕量級(jí)的計(jì)算量,因此,文中這里取T_xor=T_rtc=T_h/1 000=0.000 5 ms。
表1 協(xié)議間性能及安全性分析對(duì)比
文獻(xiàn)[11-12,14-15]中協(xié)議因都是采用輕量級(jí)或重量級(jí)的加解密算法,因此表1中已忽略上述文獻(xiàn)中有關(guān)超輕量級(jí)按位運(yùn)算時(shí)間開銷,但因文中協(xié)議未采用輕量級(jí)的加解密算法,因此未忽略超輕量級(jí)位運(yùn)算時(shí)間開銷。對(duì)表1分析可得,文中協(xié)議在登錄階段、認(rèn)證階段的總計(jì)算時(shí)間開銷遠(yuǎn)遠(yuǎn)低于其他對(duì)比文獻(xiàn)中協(xié)議,且文中協(xié)議還可以彌補(bǔ)其他協(xié)議存在的安全缺陷,使得文中協(xié)議具備推廣使用的價(jià)值。
重點(diǎn)分析了屈娟等人設(shè)計(jì)協(xié)議存在的不妥之處,并結(jié)合該協(xié)議的優(yōu)點(diǎn),提出一種改進(jìn)的身份驗(yàn)證協(xié)議。該協(xié)議對(duì)每個(gè)出現(xiàn)符號(hào)均給出詳細(xì)解釋;在保證安全的前提下,采用模糊提取算法實(shí)現(xiàn)對(duì)重要信息進(jìn)行加密,同時(shí)對(duì)次重要信息采用逆向遍歷組合運(yùn)算實(shí)現(xiàn)加密;依據(jù)逆向遍歷組合運(yùn)算定義,該加密算法可基于按位運(yùn)算實(shí)現(xiàn),使得計(jì)算量得到較大幅度降低。從假冒攻擊、重返攻擊、后向安全性等多角度分析協(xié)議,表明協(xié)議可抵抗多種類型的攻擊,提供良好的安全性需求;同時(shí)詳細(xì)分析各階段中協(xié)議整體計(jì)算量,表明文中協(xié)議計(jì)算量開銷優(yōu)于其他經(jīng)典對(duì)比協(xié)議。