動態(tài)口令(OTP,One-Time Password)又稱一次性密碼,是使用密碼技術(shù)實(shí)現(xiàn)的在客戶端和服務(wù)器之間通過共享秘密的一種認(rèn)證技術(shù),是一種強(qiáng)認(rèn)證技術(shù),是增強(qiáng)目前靜態(tài)口令認(rèn)證的一種非常方便技術(shù)手段,是一種重要的雙因素認(rèn)證技術(shù),動態(tài)口令認(rèn)證技術(shù)包括客戶端用于生成口令產(chǎn)生器的,動態(tài)令牌,是一個硬件設(shè)備,和用于管理令牌及口令認(rèn)證的后臺動態(tài)口令認(rèn)證系統(tǒng)組成。
一、OTP歷史溯源
動態(tài)口令(OTP)有一個同名確不同翻譯的前輩,一次性密碼(OTP, One-Time Pad),也叫密電本,是一種應(yīng)用于軍事領(lǐng)域的諜報(bào)技術(shù),即對通信信息使用預(yù)先約定的一次性密電本進(jìn)行加密和解密,使用后的密電本部分丟棄不再使用,能夠做到一次一密。如果看過一些國內(nèi)的諜戰(zhàn)電視劇可能會對在二戰(zhàn)時期,日本轟炸重慶中的一個號稱“獨(dú)臂大盜”的日本間諜有印象的話,他同日軍通電使用的就是一次性密碼技術(shù),使用諾貝爾獲獎的小說《The Good Earth》進(jìn)行諜報(bào)編碼,最后是被稱為美國密碼之父的赫伯特·亞德利破獲。而目前在安全強(qiáng)認(rèn)證領(lǐng)域使用的OTP動態(tài)密碼技術(shù),源于最早由RSA公司于1986年開發(fā)的RSA SecureID產(chǎn)品,動態(tài)密碼并不是一次性密碼技術(shù),而是動態(tài)一次性口令技術(shù)。目前,國際上動態(tài)口令OTP有2大主流算法,一個是RSA SecurID ,一個是OATH組織的OTP算法。如果在國內(nèi)來說的話,另一個是國密的OTP密碼算法。RSA SecurID使用AES對稱算法,OATH使用HMAC算法,國密算法使用的國密SM1(對稱)和SM3(HASH)算法。
二、OTP認(rèn)證原理與同步方法
動態(tài)口令的基本認(rèn)證原理是在認(rèn)證雙方共享密鑰,也稱種子密鑰,并使用的同一個種子密鑰對某一個事件計(jì)數(shù)、或時間值、或者是異步挑戰(zhàn)數(shù)進(jìn)行密碼算法計(jì)算,使用的算法有對稱算法、HASH、HMAC,之后比較計(jì)算值是否一致進(jìn)行認(rèn)證??梢宰龅揭淮我粋€動態(tài)口令,使用后作廢,口令長度通常為6-8個數(shù)字,使用方便,與通常的靜態(tài)口令認(rèn)證方式類似,使用方便與系統(tǒng)集成好,因此OTP動態(tài)口令技術(shù)的應(yīng)用非常普遍,可以應(yīng)用于多種系統(tǒng)渠道使用,如:Web應(yīng)用、手機(jī)應(yīng)用、電話應(yīng)用、ATM自助終端等。
動態(tài)口令的同步機(jī)制有3種,即時間型、事件型和挑戰(zhàn)與應(yīng)答型,目前應(yīng)用最多的是時間型動態(tài)口令,挑戰(zhàn)與應(yīng)答型動態(tài)口令的應(yīng)用也逐漸增多,并且動態(tài)口令逐漸變?yōu)槎喾N同步類型復(fù)合的機(jī)制發(fā)展,如時間+挑戰(zhàn)與應(yīng)答型。
三、OTP與常用認(rèn)證技術(shù)比較
目前在信息系統(tǒng)中使用的增強(qiáng)型認(rèn)證技術(shù)包括:
1 USBKey: 申請PKI證書。
2 動態(tài)口令卡:打印好的密碼刮刮卡。
3 動態(tài)短信:使用電信通道下發(fā)口令。
4 IC卡/SIM卡:內(nèi)置與用戶身份相關(guān)的信息。
5 生物特征:采用獨(dú)一無二的生物特征來驗(yàn)證身份,如指紋。
6 動態(tài)令牌:動態(tài)口令生成器和認(rèn)證系統(tǒng)。
不同方案比較如下:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
由上面的比較可以非常直觀的看出,動態(tài)口令認(rèn)證技術(shù)有著一定優(yōu)勢。
四、動態(tài)口令認(rèn)證技術(shù)不足
動態(tài)口令認(rèn)證技術(shù)沒有第3方權(quán)威機(jī)構(gòu)認(rèn)證,如果業(yè)務(wù)應(yīng)用系統(tǒng)安全策略不完善的情況下,可能會受到中間人攻擊。如某某銀行使用時間型動態(tài)令牌受到網(wǎng)絡(luò)釣魚攻擊。建議在應(yīng)用中完善安全使用策略,劃清口令使用權(quán)限,加強(qiáng)交易系統(tǒng)流程控制,用以提高系統(tǒng)安全性。