徐榮龍,魏建國,潘 鵬
(1.濰坊學院計算機工程學院,山東 濰坊 261000;2.山東大學軟件學院,山東 濟南 250013
伴隨網(wǎng)絡架構(gòu)與服務需求,多節(jié)點分布網(wǎng)絡終端形成各種各樣的部署模式[1]。由于通常會接入公有網(wǎng)絡,因此難免遭受來自開放網(wǎng)絡的攻擊。分布網(wǎng)絡根據(jù)自身應用,會存在若干具有差異性的網(wǎng)絡域[2],它們各自采取獨立的安全管理,常用的密碼體系一般有IBC、CLC和PKI等[3]。不同的體系會有不同的密碼和認證策略,這樣能夠更好的保護域內(nèi)終端安全,但是也導致不同體系的跨域問題出現(xiàn)[4]。
針對多節(jié)點分布網(wǎng)絡終端的跨域認證,文獻[5]引入?yún)^(qū)塊鏈與PBFT算法來改善跨域認證的性能。該方案可以防止PKI/CA的單點失效,可是缺乏對多種密碼體系的分析。與文獻[5]類似,文獻[6]方案也引入?yún)^(qū)塊鏈,利用區(qū)塊鏈的防篡改優(yōu)勢改善認證性能,可是方案不能實現(xiàn)身份匿名效果。文獻[7]在云計算基礎上,利用分層標識符樹來標記身份。該方案雖然可以對抗多種攻擊,可是在跨域處理方面性能不佳。文獻[8]利用哈希函數(shù)增強網(wǎng)絡終端的隱私性,使認證方案具有較好的匿名性。關于跨域認證的研究雖然取得一定成果,但是隨著網(wǎng)絡拓撲和終端任務的變化,將會有越來越多的終端加入動態(tài)認證的隊列,降低網(wǎng)絡效率的同時,也加劇了網(wǎng)絡安全風險。于是,本文設計了一種強匿名雙向終端跨域認證方案。著重對跨域認證過程進行安全和效率優(yōu)化,分別引入了代理授權(quán)機制和盲簽名操作,并在對身份可信性評價時,采用了基于共識的可信性計算方法。最后對方案的安全性能和時間性能依次進行分析,驗證所提方案對于多節(jié)點分布網(wǎng)絡終端跨域認證的有效性和優(yōu)化性。
多節(jié)點分布網(wǎng)絡的終端跨域認證由服務商(CS)、用戶(User)、認證中心(CA)和密鑰管理中心(KGC)四部分構(gòu)成。CS的任務是供應網(wǎng)絡資源,并與User建立跨域信任。User根據(jù)所在域的CA進行認證,同時把認證信息提交給CS,建立信任關系。CA的任務是完成和證書相關的操作,比如注冊、下發(fā)、查詢和注銷。CA可以分為兩種,一種是域內(nèi)CA,一種是域間CA。其中域間CA任務相對復雜,需要完成不同密碼系統(tǒng)下的證書管理。KGC的任務一方面是完成局部密鑰管理,另一方面是完成當前域用戶的認證和挖掘。圖1描述了認證模型各組成部分之間的關聯(lián)。圖中網(wǎng)絡分為兩個域,表示不同的密碼系統(tǒng),其中CA1為域內(nèi)CA,CA2為域間CA。網(wǎng)絡運行初期,首先由CA2向兩個域指派認證證書。然后每個域內(nèi)的User根據(jù)應用需求向不同域的CS發(fā)送請求,CS根據(jù)請求向CA提交對用戶的驗證申請。當用戶驗證成功,給用戶分配所在域的有效身份數(shù)據(jù),同時告知CS,完成信任連接。在完成安全連接后,User與CS之間可以擺脫對CA的依賴,從而降低跨域認證的中間環(huán)節(jié)。但是在網(wǎng)絡拓撲與終端設備急劇增加的現(xiàn)實環(huán)境中,跨域認證依然存在嚴峻的安全和性能制約。
圖1 跨域認證模型
在進行跨域認證時,本文將整個認證劃分為如下三個步驟:CS對User的認證階段、User對CS的認證階段、會話密鑰建立階段。
在認證User身份過程中,依靠User提交的注冊信息,能夠獲取到User所在域的實際標識符id、臨時標識符Tid,以及密鑰對(ks,kg)。其中ks代表私鑰,kg代表公鑰,它們之間的關系可以描述如下
kg=Eks
(1)
E代表初始化時循環(huán)群對應的生成元。Tid與id之間的關系描述為
(2)
H代表哈希函數(shù),用于循環(huán)群的映射;r代表隨機數(shù)。User利用隨機數(shù)r與生成元E求出密鑰因子Cu=rE。將User側(cè)信息加上當前時間Tu,打包構(gòu)成訪問結(jié)構(gòu){Cu,A,H(Tid),kg,Tu},并提交給CS。與此同時,為了提高認證過程的私密性,這里針對User設計了授權(quán)代理機制。設f是已知授權(quán)文件,User根據(jù)如下公式可以獲得證書
Sf=ksH2(f)
(3)
H2代表循環(huán)群映射的哈希函數(shù)。以Sf、kg和授權(quán)文件構(gòu)造授權(quán)信息結(jié)構(gòu){f,Sf,kg},經(jīng)過加密后提交給域間CA。CA通過私鑰逆向解出信息結(jié)構(gòu)中的授權(quán)文件,并對其進行確認。驗證過程描述如下
SfE=ksH2(f)E=kgH2(f)
(4)
根據(jù)式(4)的計算可以完成對授權(quán)證書的檢驗。如果授權(quán)文件經(jīng)過計算后符合等式條件,則證明User取得了CA的信任,為其信任用戶。同時CA會把結(jié)果通知給代理,代理依據(jù)結(jié)果判斷是否通過授權(quán)證書。如果通過,對代理文件采取簽名,否則終止代理操作。
CS得到User訪問結(jié)構(gòu)數(shù)據(jù)后,對其中各元素采取校驗,當時間和訪問參數(shù)判斷有效之后,判斷臨時標識符是否在注冊信息內(nèi),判斷方式描述如下
(5)
(6)
(7)
經(jīng)過式(7)驗證之后,代表User請求是安全有效的。此時CS才能夠真正處理來自跨域User的訪問。
User對CS的認證過程與前述CS對User認證類似,具體流程描述如圖2所示。當網(wǎng)絡中兩個不同的密碼系統(tǒng)User都是可信的,便可以在兩個域間建立User的信任關系。為了降低認證過程中的計算復雜度,在確定User與CS的會話密鑰時,令K=kckuE,并將K同時保存于User和CS。當User對CS實現(xiàn)跨域認證后,CS便會在User的注冊表內(nèi)添加相應的數(shù)據(jù)。
圖2 跨域認證流程
為提高跨域認證的安全性,本文在對身份可信性評價時,設計了一種基于共識的可信性計算方法。利用所在域內(nèi)其它終端的投票,以及當前終端的行為共同確定可信性,具體公式描述如下
(8)
wi,k表示終端i在第k個周期內(nèi)的可信性;m表示終端會話次數(shù);α代表非法會話系數(shù);pi表示終端投票的可信性;w0表示可信性的初始值。對于一個正常的User,其它終端的可信性投票通常會隨著其活躍時間的增加而增加。終端投票與節(jié)點的會話數(shù)量、非法會話數(shù)量,以及之前的可信性相關,其計算方式描述如下
(9)
其中,ε表示終端事務系數(shù),ε∈[0,1];m′表示非法會話數(shù)量。每當下一個周期到來,終端便將可信性采取更新,同時把可信性投票發(fā)送至其它終端。事務系數(shù)ε的計算公式描述如下
ε=w1·R+w2·rε·(Trust1+Trust2)
(10)
其中,w1與w2是加權(quán)系數(shù);R是驗證結(jié)果;rε是隨機數(shù);Trust1與Trust2是兩個終端的相互可信性。如果ε的值越大,說明終端越認可當前事務。對于所有的域間CA,都會建立關于可信性與公鑰的鍵值對,同時域內(nèi)所有User也會建立對應的鍵值對。每當周期改變,所有終端利用事務關系重新計算可信性。通過事務系數(shù)的引入,能夠防止網(wǎng)絡新終端對可信性的干擾。
1)抗重放攻擊
在User與CS實現(xiàn)互相認證的過程中,User與CS都會在信息結(jié)構(gòu)體中封裝當前時間參數(shù),同時在會話中引入隨機數(shù)。由于時間參數(shù)不受攻擊影響,且隨機結(jié)果不確定,即便是認證中遭遇攻擊,User或CS也可以利用時間參數(shù)和隨機結(jié)果的一致性來判斷是否遭遇攻擊。
2)抗替換攻擊
在User與CS實現(xiàn)互相認證的過程中,所提方案將User與CS的臨時標識符Tidu、Tidc均采用隨機數(shù)的方式綁定。同時將Tidu和Tidc分別采取User和CS對應域私鑰簽名。當網(wǎng)絡中存在替換攻擊時,由于不知道攻擊目標的簽名和密碼體系,導致無法完成替換。
3)抗中間人攻擊
在每次User與CS交換數(shù)據(jù)的過程中,雙方均采取臨時標志、當前時間等信息的簽名加密,在沒有私鑰的情況時,能夠保護信道安全。在認證時采用了代理模式,實現(xiàn)了終端節(jié)點的強匿名性。
4)匿名追蹤
由于跨域User和CS的臨時標識符都引入了隨機參數(shù),同時進行了簽密處理,使得User提交數(shù)據(jù)給CS時,CS不能對User的信息進行可靠判斷。CS需要把臨時標識符及其相關參數(shù)結(jié)構(gòu)提交至域間CA,通過域間CA來完成User的認證。User也采用同樣方式完成對CS臨時標識符和簽密驗證。只有雙方驗證通過,CS才會將資源提供給User使用。
5)同步性
跨域User提交申請至CS時,User的相關信息會被當前域內(nèi)CA打包,攜帶上當前域的時間戳。當User認證的時候,發(fā)現(xiàn)時間戳存在問題,相應的User臨時標識符將一同作廢。此外,密鑰管理中心同樣將CS相關信息與時間戳一起打包,這種機制能夠有效保證認證過程中的信息同步性。
基于前述的安全性分析,引入文獻[6]、文獻[7]和文獻[8]的方案與本文進行對比。表1和表2列出了各方法的安全性能。通過分析結(jié)果的比較,很明顯所提認證方案在安全性方面更具有優(yōu)勢,能夠抵抗多種攻擊,且能夠保證同步性和盲化性。表明該方案能夠為User和CS提供更為有效的跨域認證,利用代理機制實現(xiàn)了User的強匿名性,有效提高了跨域認證的安全性。
表1 抗攻擊分析結(jié)果
表2 其它安全性能分析結(jié)果
1)通信開銷
表3 通信開銷對比
2)計算開銷和認證效率
由于跨域認證方案的不同,在CA、CS和User等節(jié)點間會形成會話差異,利用計算開銷和認證效率來衡量不同認證方案的性能。
圖3為計算開銷結(jié)果,四種方案的計算開銷依次是75.436ms、128.582ms、183.529ms和164.943ms。對比可知,所提方案的計算開銷有大幅降低,為文獻[6]的58.67%,文獻[7]的41.10%,文獻[8]的45.73%。圖4為跨域認證的完成時間結(jié)果,對比可知,所提方案有效提升了多節(jié)點分布網(wǎng)絡的終端跨域認證效率,認證完成時間僅為文獻[6]的52.91%,文獻[7]的37.99%,文獻[8]的46.94%。
圖3 計算開銷對比
圖4 認證時間對比
為了使多節(jié)點分布網(wǎng)絡終端的管理協(xié)作更加安全高效,本文設計了一種強匿名終端跨域認證方案。該方案在認證階段引入代理授權(quán)、盲簽名操作,以及可信性評價來增強終端信息的隱私性和雙向認證性。通過對方案的多種抗攻擊性能和多種安全性能的橫向?qū)Ρ?,驗證了方案能夠有效保證跨域User與CS之間的信息和資源安全。通過通信開銷、計算開銷和認證時間的對比,驗證了所提方案能夠有效提高終端跨域認證的效率,從多個環(huán)節(jié)節(jié)省認證時間。