宋岱松,陳彥如,朱林全,李揚,邢鑌,4
(1.四川大學(xué)計算機學(xué)院,成都610065;2.重慶工業(yè)大數(shù)據(jù)創(chuàng)新中心有限公司,重慶400707;3.西南通信研究所保密通信重點實驗室,成都610041;4.工業(yè)大數(shù)據(jù)應(yīng)用技術(shù)國家工程實驗室,北京100043)
隨著5G 網(wǎng)絡(luò)的迅猛發(fā)展,物聯(lián)網(wǎng)技術(shù)得到了廣泛的實際應(yīng)用,如智能家居、智能電網(wǎng)、遠程精準醫(yī)療等應(yīng)用,方便了人們的日常生活,但由于網(wǎng)絡(luò)的開放性,物聯(lián)網(wǎng)設(shè)備間傳輸?shù)拿舾袛?shù)據(jù)容易被不法分子竊取、篡改,因此設(shè)備間需要有合適的認證密鑰協(xié)商來鑒別合法設(shè)備和保障數(shù)據(jù)傳輸?shù)陌踩?/p>
由于物聯(lián)網(wǎng)設(shè)備往往是計算能力較弱、存儲空間受限的傳感器節(jié)點,基于RSA 的認證密鑰協(xié)商協(xié)議并不適用,基于切比雪夫多項式的輕量級認證密鑰協(xié)商協(xié)議成為首選。近年來,國內(nèi)外許多學(xué)者提出了一系列的協(xié)議,2014 年Yang 等人[1]提出智能卡的三方認證密鑰協(xié)議,隨后被Park[2]證明其協(xié)議不能抵抗離線密碼猜測攻擊和內(nèi)部特權(quán)攻擊。2015 年Li 等人[3]提出基于切比雪夫混沌的三方認證方案,但不滿足用戶匿名性以及無法抵抗已知特定會話的臨時信息攻擊。2016 年Amin 等人[4]在移動網(wǎng)絡(luò)中提出用戶強匿名性的互認證和密鑰協(xié)商方案,但其方案不具備完美前向安全性和消息完整性。2017 年Jiang 等人[5]提出無線傳感器網(wǎng)絡(luò)的三因素的輕量級認證和密鑰協(xié)商協(xié)議,但其方案不具備完美前向安全性、抗模仿攻擊和消息完整性。2018 年Irshad 等人[6]提出一種匿名增強的三方認證密鑰協(xié)商方案,但其方案不能抵抗中間人攻擊、抗重放攻擊、用戶匿名性和消息完整性。2019 年,Ying 等人[7]提出應(yīng)用于5G 多服務(wù)器環(huán)境的遠程認證密鑰協(xié)商模式,其模式不具備互認證性、抗重放攻擊和抗模仿攻擊。
本文提出基于切比雪夫多項式的三因子認證密鑰協(xié)商協(xié)議,文中詳細介紹協(xié)議各階段的執(zhí)行過程,最后對協(xié)議進行安全性分析論證,并與已有部分協(xié)議進行安全性比較。
切比雪夫多項式也叫切比雪夫混沌映射,源起于多倍角的余弦函數(shù)和正弦函數(shù)的展開式,是與棣美弗定理有關(guān),以遞歸式定義的多項式序列,是計算數(shù)學(xué)中的一類特殊函數(shù)。
切比雪夫離散對數(shù)問題(Chebyshev Discrete Logarithm Problem,CDLP):若已知T(nx)、x 的值求n 的值,在計算上是不可行的難題。
切比雪夫Diffe-Hellman 問題(Chebyshev Diffe-Hellman Problem,CDHP):若已知T(nx)、Tm(x)、x 的值,求解Tnm(x)是在計算上是不可行的難題。
本文結(jié)合常見的物聯(lián)網(wǎng)節(jié)點間通信模型,提出基于切比雪夫多項式的認證密鑰協(xié)商協(xié)議(TFA-ECP 協(xié)議),其主要應(yīng)用于資源受限的節(jié)點間和安全注冊中心之間相互認證和臨時會話密鑰協(xié)商。TFA-ECP 協(xié)議分為三個階段,注冊中心初始化階段、安全注冊階段和安全認證協(xié)商階段。
為方便描述TFA-ECP 協(xié)議,用SRC 代表安全注冊中心,Alice 和Bob 分別代表參與認證和密鑰協(xié)商的兩個物聯(lián)網(wǎng)節(jié)點設(shè)備,協(xié)議所使用的部分符號含義如表1 所示。
表1 TFA-ECP 協(xié)議部分符號含義
在注冊中心初始化階段,SRC 首先選取大素數(shù)p、本機標(biāo)識IDs、隨機數(shù)x ∈(-∞,∞)作為擴展切比雪夫多項式的參數(shù),接著選擇隨機數(shù)s 作為SRC 的全局私鑰,通過Ts( x )mod p 計算得到SRC 的全局公鑰PK,然后選擇哈希函數(shù)H(.)和對稱加密算法E(k.)/D(k.),最后SRC 存儲本機標(biāo)識IDs到數(shù)據(jù)庫,通過公開信道將信息{x,p,PK,E(k.)/D(k.),H(.)}下發(fā)給網(wǎng)絡(luò)中的其他節(jié)點。
在安全注冊階段,網(wǎng)絡(luò)中各節(jié)點已經(jīng)接收到SRC下發(fā)的信息,其注冊執(zhí)行過程如圖1 所示。Alice 選取身份標(biāo)識IDa和隨機數(shù)a ∈(-∞,∞),ska∈(-∞,∞),其中ska作為Alice 的設(shè)備私鑰,計算Ras=Tska( x )mod p 、Ra=Ta(x)mod p 、MIDa=Ta(IDa)mod p 和 kas=Ta(PK)mod p,產(chǎn)生時間戳Tas,利用kas將MIDa、Tas和Ras經(jīng)加密后得到加密信息Mas,隨后使用哈希函數(shù)計算摘要信息Signas=H( Mas||Ra),最后Alice 將信息{Mas,Ra,Signas}發(fā)送給SRC。同樣地,Bob 的注冊過程和Alice 完全相同,將信息{Mbs,Rb,Signbs}發(fā)送給SRC。
當(dāng)SRC 接收到Alice(或Bob)發(fā)送過來的注冊信息時,首先重新計算Signa`s=H( Mas||Ra),判斷Signa`s和Signas的值是否相等,若不等則拒絕該注冊請求,若相等,則計算kas=Ts( Ra)mod p,使用kas解密密文Mas得到MIDa、Tas和Ras。接著,SRC 生成時間戳Ta`s,然后,判斷是否滿足 |Ta`s-Tas|≤ΔT ,若不滿足,則拒絕該注冊請求,若 滿 足,選 取 隨 機 數(shù) ma∈(-∞,∞) ,計 算wa=H( ma||MIDa||(Ts(Ras)mod p) ),WTa=Twa( PK )mod p ,Vsa=H( ma||WTa||IDs),重新生成時間戳Tsa,使用ksa將Tsa、ma和IDs加密得到Msa,計算MIDa、Vsa和Msa的摘要信息Signsa。最后,SRC 將<MIDa,ksa,WTa,ma>存放到數(shù)據(jù)庫,并通過公開信道將信息{Msa,Vsa,Signsa}發(fā)送給Alice。相似地,收到Bob 的注冊信息時,SRC 也會將<MIDb,ksb,WTb,mb>存放到數(shù)據(jù)庫,并通過公開信道將信息{Msb,Vsb,Signsb}發(fā)送給Bob。
Alice 收到SRC 返回的消息后,首先重新計算摘要信息Sign`sa=H( Msa||Vsa||MIDa),判斷Sign`sa和Signsa的值是否相等,若不相等,則丟棄并重新進行注冊,若相同,則利用kas 對Msa解密得到ma、Tsa和IDs,Alice 生成時間戳Ts`
a,判斷 |Ts`a-Tsa|≤ΔT 是否滿足,若不滿足,則丟棄并重新進行注冊,若滿足,計算wa`=H( ma||MIDa||(Tska(PK)mod p)) ,進而計算WTa`=Tw`a(PK) mod p,計算摘要信息Vs`a=H( ma||WTa`||IDs),判斷Vs`a和Vsa是否相等,若不相等,則丟棄并重新進行注冊,若滿足,則將<IDs,MIDa,ma,WTa,kas>存放到本地數(shù)據(jù)庫。相同地,Bob 收到SRC 返回的消息后,經(jīng)過相同計算驗證過程,將<IDs,MIDb,mb,WTb,kbs>存放到本地數(shù)據(jù)庫。
圖1 TFA-ECP協(xié)議安全注冊階段過程示意圖
在安全認證協(xié)商階段,假定Alice 將向Bob 發(fā)送信息,需要通過SRC 完成身份認證和臨時會話密鑰協(xié)商,其認證協(xié)商執(zhí)行過程如圖2 所示。Alice 首先選擇隨機數(shù)g ∈(-∞,∞) ,計算skasb=H( g||IDs||ma||WTa),was=Tskasb( x )mod p,etas=Tskasb( PK )mod p 生成時間戳Tasb,然后從本地數(shù)據(jù)庫中獲取kas,并利用其對was和Tasb加密得到Masb,計算摘要信息Vasb=H(etas||WTa||IDs|| MIDa) ,Signasb=H( Masb||Vasb),最后將信息{Masb,Vasb,Signasb}發(fā)送給SRC,同時Bob 也開啟認證協(xié)商階段,相似地將計算加密后的信息{Mbsa,Vbsa,Signbsa}發(fā)送給SRC。
圖2 TFA-ECP協(xié)議安全認證協(xié)商過程示意圖
一旦SRC 收到Alice(或Bob)發(fā)送來的消息時,首先計算Signa`
sb=H( Masb||Vasb),Signb`sa=H( Mbsa||Vbsa),判斷Sign`asb和Signasb,Signb`sa和Signbsa是否相等,若兩者任一不相等,則拒絕該認證協(xié)商請求,若兩者都相等,則分別從數(shù)據(jù)庫中獲?。糓IDa,ksa,WTa,ma>和<MIDb,ksb,WTb,mb>,分別利用ksa和ksb對Masb,Mbsa解密得到was、Tasb、wbs和Tbsa,,判斷 |Ta`sb-Tasb|≤ΔT 和 |Tb`sa-Tbsa|≤ΔT是否滿足,若不滿足條件,則拒絕該認證協(xié)商請求,若滿足條件,則計算Fa=Ts( wa)mod p 和Fb=Ts( wb)mod p ,Va`sb=H( Fa||WTa||IDs||MIDa)和Vb`sa=H(Fb||WTb||IDs||MIDb),判斷Va`sb和Vasb,Vb`sa和Vbsa是否相等,若兩者任一不相等,則拒絕該認證協(xié)商請求,若兩者都相等,則 SRC 選 擇 隨 機 數(shù) r ∈(-∞,∞) 并 計 算token=H(W Ta||WTb||r )。然后,SRC 產(chǎn)生時間戳Ts,計算摘要信息HSK=H( Fa||Fb||token||Ts),Ga=H(W Ta||HSK ),Gb=H(W Tb||HSK )。利用ksa對Fb、token、Ga和Ts加密得到Msab,并計算摘要信息Vsab=H(token||WTa|| Fb|| Ts||Fa||Ga) ,Signsab=H( Msab||Vsab),利用ksb對Fa、token、Gb和 Ts加 密 得 到 Msba,并 計 算 摘 要 信 息Vsba=H( t oken||WTb||Fa|| Ts||Fb||Gb),Signsba=H( Msba||Vsba)。最后,SRC 將消息{Msab,Vsab,Signsab}和消息{Msba,Vsba,Signsba}分別發(fā)送給Alice 和Bob。
Alice(或Bob)收到SRC 響應(yīng)的消息時,首先重新計算摘要信息Sign`sab=H( Msba||Vsba),若Sign`sab和Signsab不相等,則中止認證協(xié)商過程,若相等,則使用kas對Msab解密得到Fb、token、Ga、Ts。然后,判斷 |Ts`-Ts|≤ΔT 是否滿足條件,若不滿足條件,則立即終止該認證協(xié)商階段,若滿足該條件,則計算臨時會話密鑰SSKab=H( Fb||etasb||token ),計算摘要信息La=H(WTa||HSK) 。接著,計算Vs`ab=H( token||Fb|| Ts||etasb||La),判斷Vs`ab和Vsab是否相等,若不相等,則中止該認證協(xié)商階段,若相等,則Alice 將SSKab作為本次通信的臨時會話密鑰。相似地,Bob 經(jīng)過相同的計算驗證步驟,最終將SSKba作為本次通信的臨時會話密鑰。
本節(jié)將對本文所提出的TFA-ECP 協(xié)議進行安全性分析,詳細論證所提出的協(xié)議能夠滿足的安全屬性。
用戶匿名性(User Anonymity):在協(xié)議執(zhí)行過程中,敵手無法獲得的節(jié)點設(shè)備真實的ID 標(biāo)識。
完美前向安全性(Perfect Forward Security):敵手即使獲得當(dāng)前節(jié)點的長期密鑰,也無法通過長期密鑰計算出之前協(xié)商出臨時會話密鑰。
消息完整性(Message Integrity):發(fā)送節(jié)點在公開信道發(fā)送消息,敵手通過監(jiān)聽公開信道,截獲消息并篡改消息后再轉(zhuǎn)發(fā)給接收節(jié)點,接收節(jié)點收到消息后能夠鑒別消息是否被惡意篡改。
抗重放攻擊(Replay Attacks Resistance):敵手不能通過多次發(fā)送歷史消息給目的節(jié)點。
抗模仿攻擊(Impersonation Attacks Resistance):敵手如果不能獲得注冊中心下發(fā)給節(jié)點的長期密鑰,就不能模仿節(jié)點和其他節(jié)點進行認證協(xié)商。
互認證性(Mutual Authentication):節(jié)點之間通過注冊中心能夠相互認證,且認證過程無法被敵手偽造。
(1)用戶匿名性
概言之,蘇佩斯科學(xué)理論觀的形成不僅有其深厚的理論思想背景,亦有其現(xiàn)實的理論發(fā)展需求。一方面,邏輯經(jīng)驗主義者關(guān)于科學(xué)理論的“公認觀點”為其科學(xué)理論觀的建構(gòu)提供了先在的問題框架與思想緣起;另一方面,對“公認觀點”的批判性重審又在一定意義上促生了其對科學(xué)理論重新加以解讀的理論需求,而集合論的發(fā)展及其理論優(yōu)勢恰恰為蘇佩斯實現(xiàn)對科學(xué)理論觀的重建提供了恰當(dāng)?shù)倪壿嬂砺放c方法論平臺??梢哉f,對科學(xué)理論“集合論模型”的構(gòu)建正是蘇佩斯科學(xué)理論觀的一個重要的理論訴求。
在TFA_ECP 協(xié)議的任何階段,由于節(jié)點的身份信息都經(jīng)過加密傳輸或者使用臨時身份ID,加密后的身份信息只有合法的節(jié)點或者注冊中心正確計算密鑰后才能獲得,臨時身份ID 每次會話都會不同,敵手無法根據(jù)截獲信息獲得節(jié)點真實身份,故滿足用戶匿名性。
(2)完美前向安全性
在認證協(xié)商階段,協(xié)商產(chǎn)生的臨時會話密鑰跟通信雙方節(jié)點和注冊中心產(chǎn)生的隨機數(shù)有關(guān),因此敵手獲得當(dāng)前的臨時會話密鑰也無法計算得出之前會話的密鑰,故滿足完美前向安全性。
(3)消息完整性
任意節(jié)點收到消息后,會通過哈希散列算法計算摘要值,驗證消息是否被敵手篡改,并且解密后的消息,再次進行摘要計算,驗證消息和簽名是否同時被敵手篡改,故滿足消息完整性。
(4)抗重放攻擊
任意節(jié)點鑒定消息未被篡改后使用密鑰解密得到時間戳Tn,節(jié)點可以根據(jù)時間戳判定消息的新鮮性,故可以抗重放攻擊。
敵手在不知道Alice 長期密鑰WTa的情況下模仿Alice,只能隨機生成偽長期密鑰WTx用于此次認證協(xié)商,在SRC 對Vasb進行驗證時,Va`
sb=H(Fa||WTa||IDs||MIDa) ,會發(fā)現(xiàn)Vasb`和Vasb值不相等,故具備抗模仿攻擊。
(6)互認證性
SRC 在接收到Alice 的消息后,通過驗證Vasb值來認證Alice 或者Bob 的身份,當(dāng)Alice 收到SRC 響應(yīng)的消息后,結(jié)合計算出來的SSKab和Vsab的值來對Bob 和SRC 的身份進行認證,同理,Bob 也可完成對Alice 和SRC 的身份認證,故滿足互認證性。
本節(jié)將所提TFA-ECP 協(xié)議、Jiang[5]協(xié)議、Ying[7]協(xié)議和Gope[10]協(xié)議進行安全性比較,安全性分析結(jié)果如表2 所示。
表2 協(xié)議安全性比較結(jié)果
本文從物聯(lián)網(wǎng)的實際安全問題觸發(fā),提出了基于切比雪夫多項式的三因子認證密鑰協(xié)商協(xié)議(TFAECP),首先對切比雪夫多項式原理進行說明,然后詳盡地描述了其初始化階段,注冊階段和認證協(xié)商階段,最后對TFA-ECP 協(xié)議進行安全性分析論證,且安全性優(yōu)于Jiang、Ying 和Gope 的協(xié)議。