摘要:本文介紹了兩種常用的動態口令實現方案,并對這兩種方案進行了簡要分析,在此基礎上,針對基于W A P網絡的移動電子商務系統,提出了一種以手機S T K卡作為電子令牌動態口令認證服務系統的實現方案。最后對此系統的安全性和主要優點進行了分析,說明系統具有一定實用價值。
關鍵詞:動態口令;WAP
中圖分類號:TP393.08 文獻標識碼:A
文章編號:1005-6432(2008)36-0070-02
One-Time Password Authentication System Designedfor Mobile E-commerce Based on Mobile Network
He Tonghui Sun Jian Miao Bin
(Hebei Software Technology and Vocational College;Huabei Power University)
Abstract: The paper analyzes two kinds of one-timepassword schema in brief and then introduces a one-timepassword authentication system, which can be applied in thedomain of mobile e-commerce based on WAP network. At lastthe security and main advantage of this system are analyzedto illustrate the system is of practical value.
Key Words: one-time password; WAP
一、引言
近年來,隨著移動通信與計算機、互聯網等技術的結合,移動電子商務應運而生,如手機銀行、股票交易等。WA P(無線應用協議)是開展移動電子商務的核心技術之一。通過WA P網絡,手機可以隨時隨地、方便快捷地接入因特網,真正實現不受時間和地域約束的移動電子商務。
傳統的身份驗證模式是用戶提供用戶名和密碼給服務器驗證,即靜態口令驗證。但這種方式存在著易竊取,易暴力破解等固有的缺陷。為解決靜態口令的不足之處,安全專家提出了動態口令方案,即一次性口令(O T P)方案,用戶每次登錄系統的口令都是不同的。
針對基于WA P網絡的移動電子商務系統的安全登錄問題,本文提出了一種動態口令身份認證的實現方案。
二、常用OTP方案分析
動態口令的產生因子一般都為雙運算因子:一是代表用戶身份的識別碼,這是確定的。二是不確定因子。根據不確定因子的不同,有幾種常用實現方案,這里簡要介紹如下兩種。
1.時間同步方案
以用戶登錄的時間作為不確定因子,根據當前時間和用戶的識別碼可以動態生成一個O T P。用戶需要訪問系統時,將此動態口令傳送到認證服務器。服務器根據用戶的識別碼和當前時間計算出當前口令值,對用戶進行驗證。
2.挑戰/應答方案
以服務器隨機產生的數字序列(即挑戰碼)作為不確定因子,根據此數字序列及用戶識別碼動態生成一個OTP。
三、一種基于STK卡的動態口令認證系統設計
為解決以上問題,本文提出了一種以手機S T K卡代替電子令牌,進行口令驗證的OTP實現方案。
1.注冊過程
服務商提供給注冊用戶一張手機STK卡,此卡內置了一次性口令的生成算法、功能菜單、用戶的身份識別碼以及服務商的RSA公鑰。服務商將用戶基本信息存儲在認證服務器的數據庫中,包括用戶ID、手機號。
用戶首先需要完成注冊過程,S T K卡隨機生成一個3DES密鑰,將ICCID和3DES密鑰用服務商的公鑰進行加密,然后將加密后的數據通過WAP網絡上傳至認證服務器。
由于在此注冊過程中在網絡中的傳輸的用戶信息經過了 RSA加密,因此是安全的。
2.驗證過程
(1)用戶向服務器發出登錄請求;
(2)服務器查詢用戶數據庫,若為注冊用戶,服務器隨機生成一個數字序列,傳送給用戶;否則返回錯誤信息,終止此次認證過程;
(3)用戶打開手機操作菜單,輸入此隨機數字序列,計算出本次登錄的口令,用戶將此口令傳送給服務器;
(4)服務器在數據庫中查詢出用戶信息,再根據本次登錄的隨機數字序列,用服務器與用戶共享的算法計算出一個口令,與用戶傳送來的口令進行比較,如果相同,則允許用戶登錄,否則拒絕登錄,從而完成身份驗證過程。
3.算法的選擇
單向散列函數在OTP的計算中起著非常重要的作用,它以不定長的信息為輸入,將其變換成一個定長的值輸出(即摘要),輸入信息的微小改變,也能使摘要值發生很大的變化。由于輸入的長度大于輸出的長度,因此會有不同的輸入產生相同輸出的可能。但是給定摘要值去尋找對應的輸入信息在計算上是不可行的。因此,在網絡中傳輸Hash值,即摘要信息是安全的。
本系統可以采用OAT H在R FC4226中提出的算法作為動態口令的生成算法,此算法的H a s h摘要計算部分采用了SHA-1算法。動態口令計算過程介紹如下:
(1)由用戶身份識別碼(I C C I D)和挑戰碼組成SHA-1 的輸入信息:
TEXT=ICCID+Challenge //用+表示連接
(2)計算Hash摘要值(此摘要值的長度為20byte):Hash=SHA-1(TEXT)
(3)采用動態截取(Dynamic Truncation)的方法由Hash 生成一個長度為 4byte 的字符串:
Sbits = DT(Hash) //DT 的返回值為31bit 的字符串
//下面將給出DT 的詳細說明
(4)計算 OTP:
Snum = StToNum(Sbits) //將字符串轉為 0~2^{31}-1 范圍內的一個數字
OTP=Snum mod 10^8 //OTP為0~10^8-1 范圍內的數字
DT 方法說明:
DT(String) { // String = String[0]+String[1]+...+String[19]
取 OffsetBits為 String[19]的低四位 bitsOffset = StToNum(OffsetBits) // 0 <=OffSet <= 15
P=String[OffSet]+String[OffSet+1]+ String[OffSet+2]+String[OffSet+3]
返回P的低 31 bits }
4.系統安全性能分析
防止對口令的暴力破解和竊取:雖然本系統的口令比較簡單(8位數字序列),但由于采用動態口令的認證技術,每次登錄的正確口令都是不同的,所以不能采用暴力破解的方式來獲得正確口令。
四、總結
本文簡要分析了一次性口令認證系統的原理及目前比較流行的兩種實現方案,并在此基礎上設計了一種以手機S T K卡代替電子令牌,采用挑戰/應答方案的O T P認證系統。此方案主要具有如下優點:手機既是瀏覽WAP網絡的終端設備,又是動態口令令牌,用戶無須攜帶其他的額外設備,給用戶帶來極大方便,用戶可以真正做到隨時隨地安全地使用移動電子商務服務。本文說明采用該方案能獲得較強的安全保證,具有一定的實用價值。
作者單位:河北軟件職業技術學院 華北電力大學
參考文獻:
[1]郭曉靈.移動電子商務的發展與應用[J].電信快報,2007,(12):10-13.
[2]孫克強,劉嘉勇,丁光華.基于Hash函數和對稱加密算法的一次性口令方案[J].信息與電子工程,2007,5(6):449-451.
[3]葉錫君,吳國新,許勇,束坤.一次性口令認證技術的分析與改進[J].計算機工程,2000,26(9):27-29.
[4]辛運幃,廖大春,盧桂章.單向散列函數的原理、實現和在密碼學中的應用[J].計算機應用研究,2002,(2):25-27.