戴文博 池曉金
摘 要 目前,我國處在經濟快速發展的新時代,在大規模通信節點的網絡中,網絡節點數量大、設備種類多,傳統的PKI密碼體系存在證書管理困難與資源浪費的問題。文章設計了基于身份標識加密的節點雙向認證方案。利用基于身份的密碼加密對通信節點進行雙向的身份認證,解決了PKI體系中的數字證書管理問題;采用密鑰分割的方法解決了基于身份密碼體制所存在的密鑰托管問題。同時,在認證協議中引入隨機因子、時間戳、散列運算等防范各種網絡攻擊。最后,對加密算法的安全性和效率以及認證協議的安全性進行了分析,證明了認證方案是安全可靠的。
關鍵詞 節點身份認證;基于身份的密碼體制;密鑰托管;加密
引言
隨著Internet的迅猛發展,信息安全也越來越受到人們的重視,要真正實現互聯網上交易與信息傳輸的安全,就必須滿足機密性、真實性、完整性、不可抵賴性4大要求。公鑰密碼技術是能夠滿足以上四大要求的統一技術框架。PKI(PublicKeyInfrastructure)的中文名稱為公鑰基礎設施,它是一種公鑰密碼技術,經過了數十年的研究和發展,已在諸多領域獲得廣泛應用。目前的網上銀行、網上證券以及電子商務等都依賴于PKI技術。在PKI技術中,由于每個用戶需要事先申請數字證書,用戶使用復雜,后臺管理也異常煩瑣,這樣PKI技術在某些領域的應用受到了很大的局限性。IBE(Identity-BasedEncryption)的中文名稱為基于身份的加密,也是一種公鑰密碼技術,它直接利用用戶的唯一身份標識作為公鑰,不采用數字證書的概念,用戶使用和后臺管理都很簡單,有廣泛的應用前景。
1身份認證過程描述
身份認證模塊分為兩步,密鑰產生和信息處理。系統使用對稱密碼算法,加解密使用相同的密鑰。如果使用已協商好的密鑰,每一位用戶的證書需要密鑰加密進行備份,因此,用戶和數據庫需要很大的存儲空間進行密鑰管理。密鑰只能用于加解密,信息本身并沒有任何意義,這些將造成信息的冗余和空間的浪費。為了解決這一問題,本文提出使用密鑰信息作為密鑰生成參數。一方面,這將使信息本身具有意義,節省認證信息存儲空間。另一方面,密鑰信息和數據驗證形式更靈活,密鑰可以隨時生成,無須存儲,保證系統的安全性。在密鑰生成部分,考慮到認證的時效性,將使用文件的有效期作為一部分輸入參數。一旦信息超出有效期,密鑰也將失效,不能正確解密數據,驗證將失敗。同時,用戶的ID卡號作為密鑰參數之一,保證密鑰數據不能由第三方計算得出。密鑰的自動生成降低了風險,增強了系統的安全性。系統對文件特征信息、持卡人的身份信息和編號通過哈希函數計算,其單向性和防碰撞的唯一性保證數據信息難以偽造和竊取[1]。
2身份標識加密的身份認證方案
2.1 節點雙向認證協議的安全性對比分析
①重放攻擊:方案通過設置挑戰隨機數和時間戳來防止重放攻擊,每次認證過程由雙方產生隨機數進行身份確認,每條消息均附有時間戳,使每一次在信道中傳輸的消息都不相同,攻擊者不能通過截獲歷史消息進行重放實現非法認證。②拒絕服務攻擊:攻擊者為了破壞網絡的服務,可以選擇對認證服務器或者認證者發動拒絕服務攻擊,耗費網絡資源。如果發生對認證者的拒絕服務攻擊,認證者在收到申請者發送的消息時,首先會檢查消息中認證者的隨機數與自己之前發送的是否一致,若不一致,則丟棄該分組,這在一定程度上可以抵抗對認證節點的拒絕服務攻擊。③雙向身份認證:雙向身份認證可以有效防范中間人攻擊。認證過程通過對雙方產生的隨機數的識別與利用雙方身份標識進行加密的技術結合,實現相互間身份的認證,可防范會話劫持。④消息完整性鑒別:通過對消息內容進行散列運算生成校驗碼,對消息內容的完整性進行鑒別,可以有效鑒別消息是否受到破壞、篡改或失真。對散列值利用基于身份密碼進行加密,保護完整性校驗信息的安全性,提高可靠度。⑤完善的加密機制:認證過程消息由基于身份的加密機制進行加密保護,有效保護了傳輸信息的安全性,防止受到劫獲與竊聽。同時,基于節點身份的加密與解密過程也具有對節點身份的認證作用,與認證內容相互補充。
2.2 服務器認證
第1步:客戶在移動設備的二維碼生成界面輸入用戶姓名和密碼,執行對稱密鑰加密。客戶終端的二維碼系統發送加密信息給二維碼服務器進行確認。第2步:二維碼服務器對加密信息進行解密,對地址信息、用戶名和密碼進行哈希運算。第3步:在二維碼數據庫中使用用戶名作為搜索條件,通過使用上一步得出的動態密鑰可以解密得到密碼。第4步:如果上一步中得出的密碼是正確的,移動終端將具有定長的信息地址、用戶姓名和密碼,執行算法就可以產生相應的動態密鑰,否則,認證失敗。第5步:移動終端生成的動態密鑰用于解析用戶訪問號碼以及在移動終端對存儲的文件進行加密的其他信息。第6步:移動終端對IMSI、用戶訪問移動終端的用戶號和系統時間進行哈希值計算,生成固定長度的摘要值,得到一個新的動態密鑰。第7步:在對二維碼信息進行2次對稱加密之后用戶移動終端將生成新的動態密鑰,用戶將得到新的二維碼,將其發送給服務器。第8步:服務器將對收到的新的二維碼執行解碼和解密操作,驗證信息的準確性。如果信息是一致的,驗證通過,否則,請求失敗[2]。
3結束語
本文對Waters的基于身份加密算法進行了改進,解決了基于身份密碼的密鑰托管問題,并利用改進的IBE算法設計了網絡通信設備節點的雙向認證方案。認證方案以加密為基礎實現節點的身份認證,實現了通信設備節點間的雙向認證,利用隨機因子與散列值防范各種網絡攻擊。與傳統節點認證方案相比,本文方案免去了數字證書的管理,直接以節點身份作為公鑰,節約了管理成本,提高了使用效率。同時,本文方案將IBE體制融合入認證協議中,從算法和協議兩方面保證了認證的安全性,與其他基于身份的密碼相比,在保證安全性的同時最大限度地保證認證的效率與通信流量的控制。在下一步工作中,還需要進一步改進加密方案,提高解密的效率;對認證協議優化,不斷提高方案的運行效率。
參考文獻
[1] 黎妹紅,韓磊.身份認證技術及應用[M].北京:北京郵電大學出版社,
2012:77.
[2] 楊浩淼,邱樂德.基于身份的公鑰密碼體制的研究[M].成都:電子科技大學出版社,2012:31.