◆黃朝陽
一種基于公鑰算法的身份認證協(xié)議
◆黃朝陽
(廈門海洋職業(yè)技術學院 福建 361100)
為提升傳統(tǒng)公鑰體制下身份認證方案的效能,本文引入偽隨機數(shù)作為挑戰(zhàn)信息的挑戰(zhàn)應答機制,并糅合散列函數(shù)及異或運算,提出一種只需兩次信息交互的身份認證協(xié)議,并證明新協(xié)議擁有較高的安全性和效率。
公鑰算法;偽隨機數(shù);散列函數(shù);身份認證;雙向認證
基于非對稱加密算法的安全性,公鑰密碼體制廣泛運用于多種身份認證方案[1-2]。傳統(tǒng)公鑰體制身份認證協(xié)議的實現(xiàn)需要四次的信息交互,結合挑戰(zhàn)應答機制的公鑰身份認證方案有很多,但認證安全性和效能方面都多少存在瑕疵[3-[4]。本文引入單向散列函數(shù)和簡單異或運算[5]來改進基于挑戰(zhàn)應答機制的公鑰身份認證協(xié)議,提出一種通過兩次信息交互實現(xiàn)雙向認證的解決方案。
協(xié)議認證流程由注冊和認證兩個階段組成。文中所用符號表示如下:
-遠程服務器;
-用戶;
Kpub_、Kpri_-的公、私鑰;
ID_-服務器的賬號;
Cert_ID、K-用戶的數(shù)字證書、賬號、口令;
(*)-單向散列函數(shù);
||-字符串連接;
R-偽隨機數(shù);
K(m)使用K對稱加密m;
Kpub_{m}-使用Kpub_非對稱加密m;
-結果信息,0為失敗,1為成功;
K-一次性會話密鑰,m表示第幾次認證的次數(shù)。
用戶生成偽隨機數(shù)R,計算出偽隨機數(shù)連接口令后的兩次散列值f(R||K)。用戶通過公共信息向服務器發(fā)送分別經用戶私鑰和服務器公鑰內加密的注冊信息:Kpub_{ID||||R||{R||f(R||K)}}。
服務器用Kpri_解密注冊信息得到ID、及。首先查驗數(shù)據庫中ID的重復性,如庫中已有ID存在,記錄注冊方IP及錯誤次數(shù),若錯誤數(shù)超限則限制此IP后續(xù)惡意搶注行為;然后根據t得到以解密內部加密信息,獲??;核驗和以檢查用戶注冊的合法性,如不同則注冊失敗,終止會話;兩者相同則注冊成功,將信息ID、、、f(R||K)’存入數(shù)據庫,返回結果信息給:{ID_||}。
用戶生成偽隨機數(shù)R后用公鑰加密登錄信息,經公共信道發(fā)送服務器:Kpub_{ID||R||(R||K)⊕f(R||K)||f(R||K)⊕f(R||K)}。
K’=f(R||K)(ID||ID_||R||R)
協(xié)議注冊認證流程時序圖如圖1所示。
圖1 協(xié)議注冊認證流程時序圖
在本協(xié)議中,C注冊所傳送的信息經C、H的私鑰和公鑰內外加密。攻擊者不具有C的私鑰因此沒法假冒C進行搶注,從而冒充攻擊無法實現(xiàn)。
如攻擊者反復發(fā)起無效搶注,H可根據來源IP及錯誤數(shù)限制此行為。對于攻擊者頻繁傳遞無效的登錄信息給H的拒絕服務攻擊行為,同樣可通過記錄來源IP和錯誤次數(shù)進行防范,從而有效抵御拒絕服務攻擊。
C的口令在H數(shù)據庫中以散列值的形式存在,并沒有明文傳輸和存儲,故可防范內部人員攻擊。
協(xié)議中糅合了挑戰(zhàn)應答機制,每次認證消息包含的偽隨機各不相同,可有效抵御重放攻擊。
以公鑰加密的認證信息,只能由對應私鑰擁有者才可以正確解密,協(xié)議的認證過程通過公鑰算法加解密計算來檢驗各種信息的合法性,協(xié)議既實現(xiàn)雙向認證,又可有效防止中間人攻擊。
協(xié)議在成功實現(xiàn)雙向認證后,以雙方賬號及所生成的偽隨機數(shù)經對稱加密計算出本次會話的一次性密鑰,密鑰構件均不以明文在公共信道傳送,且構件因每次認證所生成的偽隨機數(shù)而不斷變化,真正實現(xiàn)一次一密。其中:
=f2(R1||Kc)(IDc||ID_H||R0||R1)=K1’
上式得證,雙向認證完成后,H、C各自計算的一次性會話密鑰K1=K1’。
認證效能決定于登錄認證階段的通信次數(shù)和H端計算量。
由圖1可見,本協(xié)議僅需兩次信息傳遞即可實現(xiàn)C與H雙向認證,與傳統(tǒng)公鑰認證協(xié)議相比通信次數(shù)明顯降低。
傳統(tǒng)公鑰認證協(xié)議的認證雙方計算量均至少要達到1ADA+1AEA。本協(xié)議C與H的計算復雜度如表1所示。其中SEA表示對稱密鑰加解密計算,AEA表示非對稱加密計算,ADA表示非對稱解密計算,HA為散列計算,XOR為異或計算。
表1 認證雙方復雜度
協(xié)議階段UiAS 注冊2AEA+2H2ADA 登錄1AEA+7HA+2XOR 認證Ui 1ADA+3XOR+1AEA 認證AS1ADA 密鑰協(xié)商1SEA1SEA
綜上所述,本協(xié)議與傳統(tǒng)公鑰協(xié)議相比,僅需兩次交互即可實現(xiàn)雙向認證且協(xié)商有后續(xù)一次性會話密鑰,計算復雜度沒有明顯提高。本協(xié)議比傳統(tǒng)協(xié)議有更好的效能。
本文將散列函數(shù)和簡單異或運算糅合挑戰(zhàn)應答機制,提出一種通過兩次信息交互實現(xiàn)雙向認證的公鑰身份認證協(xié)議改進方案。協(xié)議的安全性能基于單向散列函數(shù)和非對稱加密算法,新方案有較好的安全性能和效率。結合生物特征的多因素認證和如何改進文中所用的挑戰(zhàn)偽隨機數(shù)的隨機性,是進一步提升協(xié)議性能的研究方向。
[1]劉仁山,孟祥宏.基于PKI的身份認證系統(tǒng)的設計與實現(xiàn)[J].制造業(yè)自動化,2013,35(3):113-116.
[2]張偉麗.淺析PKI技術在數(shù)字家庭網絡中的應用[J].電視技術,2014,38(S1):46-49.
[3]王中華,韓臻,劉吉強.云環(huán)境下基于PTPM和無證書公鑰的身份認證方案[J].軟件學報,2016,27(6):1523-1537.
[4]馬春波,杜以聰,曾坤.基于IBC體制的挑戰(zhàn)/應答式雙向身份認證協(xié)議[J].計算機工程與設計,2017,38(2):345-349.
[5]魏宗秀.在線建立會話密鑰身份認證協(xié)議的設計與實現(xiàn)[J].信息安全與技術,2014(5):37-40.
福建省中青年教師教育科研項目The education scientific research project of young teachers in Fujian Province(JAT191316)