動態口令


動態口令(OTP)認證技術概覽

      動態口令(OTP,One-Time Password)又稱一次性密碼,是使用密碼技術實現的在客戶端和服務器之間通過共享秘密的一種認證技術,是一種強認證技術,是增強目前靜態口令認證的一種非常方便技術手段,是一種重要的雙因素認證技術,動態口令認證技術包括客戶端用於生成口令產生器的,動態令牌,是一個硬件設備,和用於管理令牌及口令認證的后台動態口令認證系統組成。

        一、OTP歷史溯源

       動態口令(OTP)有一個同名確不同翻譯的前輩,一次性密碼(OTP, One-Time Pad),也叫密電本,是一種應用於軍事領域的諜報技術,即對通信信息使用預先約定的一次性密電本進行加密和解密,使用后的密電本部分丟棄不再使用,能夠做到一次一密。如果看過一些國內的諜戰電視劇可能會對在二戰時期,日本轟炸重慶中的一個號稱“獨臂大盜”的日本間諜有印象的話,他同日軍通電使用的就是一次性密碼技術,使用諾貝爾獲獎的小說《The Good Earth》進行諜報編碼,最后是被稱為美國密碼之父的赫伯特·亞德利破獲。而目前在安全強認證領域使用的OTP動態密碼技術,源於最早由RSA公司於1986年開發的RSA SecureID產品,動態密碼並不是一次性密碼技術,而是動態一次性口令技術。目前,國際上動態口令OTP有2大主流算法,一個是RSA SecurID ,一個是OATH組織的OTP算法。如果在國內來說的話,另一個是國密的OTP密碼算法。RSA SecurID使用AES對稱算法,OATH使用HMAC算法,國密算法使用的國密SM1(對稱)和SM3(HASH)算法。

      二、OTP認證原理與同步方法

       動態口令的基本認證原理是在認證雙方共享密鑰,也稱種子密鑰,並使用的同一個種子密鑰對某一個事件計數、或時間值、或者是異步挑戰數進行密碼算法計算,使用的算法有對稱算法、HASH、HMAC,之后比較計算值是否一致進行認證。可以做到一次一個動態口令,使用后作廢,口令長度通常為6-8個數字,使用方便,與通常的靜態口令認證方式類似,使用方便與系統集成好,因此OTP動態口令技術的應用非常普遍,可以應用於多種系統渠道使用,如:Web應用、手機應用、電話應用、ATM自助終端等。

動態口令的同步機制有3種,即時間型、事件型和挑戰與應答型,目前應用最多的是時間型動態口令,挑戰與應答型動態口令的應用也逐漸增多,並且動態口令逐漸變為多種同步類型復合的機制發展,如時間+挑戰與應答型。

       三、OTP與常用認證技術比較

       目前在信息系統中使用的增強型認證技術包括:

       1 USBKey: 申請PKI證書。

       2 動態口令卡:打印好的密碼刮刮卡。

       3 動態短信:使用電信通道下發口令。

       4 IC卡/SIM卡:內置與用戶身份相關的信息。

       5 生物特征:采用獨一無二的生物特征來驗證身份,如指紋。

       6 動態令牌:動態口令生成器和認證系統。

       不同方案比較如下:

解決方案

安全性

兼容性

價格

易用性

靈活性

USBKey/PKI

一般

動態口令卡

一般

一般

動態短信

一般

一般

IC卡/SIM卡

一般

生物識別

一般

動態令牌

方便

       由上面的比較可以非常直觀的看出,動態口令認證技術有着一定優勢。

       四、動態口令認證技術不足

       動態口令認證技術沒有第3方權威機構認證,如果業務應用系統安全策略不完善的情況下,可能會受到中間人攻擊。如某某銀行使用時間型動態令牌受到網絡釣魚攻擊。建議在應用中完善安全使用策略,划清口令使用權限,加強交易系統流程控制,用以提高系統安全性。

       附:OATH算法Java源代碼:http://download.csdn.net/detail/goldboar/3932212


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM