專利名稱:智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種移動通信技術(shù)領(lǐng)域的方法,特別是一種在智能卡上實現(xiàn) 動態(tài)密碼生成和判斷的方法。
背景技術(shù):
隨著計算機及網(wǎng)絡(luò)系統(tǒng)的普及,越來越多的用戶在電子化系統(tǒng)上使用用戶名 及帳戶密碼作為認證身份的手段,例如電子郵件系統(tǒng)、電子交易、網(wǎng)上支付、網(wǎng) 上銀行、網(wǎng)絡(luò)游戲等。然而使用固定的用戶名和帳戶密碼的方法,其風險日益凸 顯,木馬盜取、網(wǎng)絡(luò)竊聽、窮舉攻擊及用戶長期使用單一密碼等潛在危險令電子 化系統(tǒng)的身份認證、用戶登錄的合法性受到嚴重挑戰(zhàn)。基于上述背景,人們提出了一次性使用的動態(tài)密碼技術(shù),其原理是用戶掌 握特定的硬件設(shè)備及運行其上的軟件,在需要進行系統(tǒng)登錄前,由該固件通過一 定的算法和因子進行計算得出本次登錄所需的一次性使用的動態(tài)密碼,并由該固 件通過人機界面將此密碼告知用戶,用戶使用得到的動態(tài)密碼替代或作為固定密 碼的補充在電子化系統(tǒng)側(cè)進行登錄。動態(tài)密碼技術(shù)被廣泛應(yīng)用于銀行、證券、政 府、稅務(wù)及企業(yè)重要系統(tǒng)中,在應(yīng)用中證明了其提高系統(tǒng)及用戶安全的有效價值。經(jīng)對現(xiàn)有技術(shù)文獻的檢索發(fā)現(xiàn)移動通信技術(shù)領(lǐng)域中的動態(tài)密碼技術(shù),如中國發(fā)明專利申請?zhí)?00410083893. 7的"動態(tài)口令認證的系統(tǒng)和方法",該技術(shù)自述 一種動態(tài)口令認證方法,外部設(shè)備利用電信卡中存儲的動態(tài)口令生成算法 密鑰和初始化參數(shù)進行加密運算,得到加密結(jié)果;將加密結(jié)果和用戶個人識別碼 發(fā)送給安全認證服務(wù)器;安全認證服務(wù)器根據(jù)個人識別碼從數(shù)據(jù)庫中找到該用戶 的動態(tài)口令生成算法密鑰,對加密結(jié)果進行脫密運算,得到脫密后的參數(shù);將初 始化參數(shù)與脫密后的參數(shù)進行比較,如果一致則該外部設(shè)備通過認證,如果不一 致,則拒絕通過驗證。該技術(shù)對于不同的外部設(shè)備上的實際應(yīng)用存在程序平臺兼容性差的問題,對 于不同的類型、型號的外部設(shè)備,仍需要專業(yè)技術(shù)人員開發(fā)和提供專項針對性的技術(shù)分別植入動態(tài)密碼生成程序,并且該技術(shù)沒有動態(tài)密碼在電信智能卡內(nèi)如何 生成的具體過程及應(yīng)用的描述,對于動態(tài)密碼生成后如何在服務(wù)器端認證也面臨 相同的兼容性和開放性的應(yīng)用困難。發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種智能卡上實現(xiàn)動態(tài)密碼 生成和判斷的方法。通過在智能卡上實現(xiàn)動態(tài)密碼的計算,并通過S頂卡工具包 將計算結(jié)果顯示反饋用戶,使得所述方法可適用于任何支持該方法的手機,簡單 可靠、使用方便。本發(fā)明是通過以下技術(shù)方案實現(xiàn)的,具體包括以下步驟第一步用戶注冊,安全認證服務(wù)器生成用戶信息并儲存于與外部設(shè)備相連 接的智能卡的非易失性存儲器,同時將用戶信息備份存儲于安全認證服務(wù)器的認 證數(shù)據(jù)庫內(nèi);第二步用戶發(fā)送動態(tài)密碼生成請求,智能卡生成用戶端動態(tài)密碼并由用戶 向安全認證服務(wù)器發(fā)送認證請求;第三步安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼,并與認證請求中的用戶端 動態(tài)密碼進行復核比較;第四步對認證失敗的結(jié)果進行復核糾錯,當復核糾錯成功則認證通過,復 核糾錯失敗則認證失敗并由用戶選擇放棄或選擇繼續(xù)認證進行失步恢復。所述用戶信息包括用于標識不同用戶的用戶ID、對應(yīng)用戶ID唯一的用戶 共享密鑰以及用于記錄加密次數(shù)的用戶端計數(shù)器值;所述的用戶信息備份包括用戶ID的備份、對應(yīng)用戶ID唯一的用戶共享密 鑰備份以及用于記錄請求認證次數(shù)的服務(wù)器端計數(shù)器值;所述智能卡是一塊裝有增強功能模塊的智能卡,該智能卡內(nèi)含有存儲有用戶 信息的非易失性存儲器以及一個運算處理器。所述安全認證服務(wù)器是一臺能夠與互聯(lián)網(wǎng)連接的普通電腦,該電腦內(nèi)含有存 儲有用戶信息的認證數(shù)據(jù)庫。第二步中所述智能卡生成用戶端動態(tài)密碼,包括以下步驟①獲取密碼生成因子運算處理器首先讀出非易失性存儲器中的用戶共享密鑰,再采用外部設(shè)備的當前時間作為用戶端系統(tǒng)時間或者讀取存儲于非易失性 存儲器中的用戶端計數(shù)器值,具體根據(jù)用戶ID的內(nèi)容擇一操作;②加密計算用戶端動態(tài)密碼運算處理器加密計算生成用戶端動態(tài)密碼。 所述的加密計算包括時間加密計算和計數(shù)器加密計算,根據(jù)用戶ID的內(nèi)容 擇一采用。所述的時間加密計算是通過對用戶共享密鑰和用戶端系統(tǒng)時間進行的加密 計算。所述的計數(shù)器加密計算是通過對用戶共享密鑰和用戶端計數(shù)器值進行的加 密計算。所述的認證請求包括用戶信息和用戶端動態(tài)密碼。第三步中所述安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼,包括以下步驟① 獲取密碼生成因子安全認證服務(wù)器首先讀出認證數(shù)據(jù)庫中的的用戶共 享密鑰備份,再采用以安全認證服務(wù)器當前時間作為服務(wù)器端系統(tǒng)時間或者讀取 認證數(shù)據(jù)庫中的服務(wù)器端計數(shù)器值,具體根據(jù)用戶ID的內(nèi)容擇一操作;② 加密計算服務(wù)器端動態(tài)密碼安全認證服務(wù)器根據(jù)認證請求復核計算獲 得服務(wù)器端動態(tài)密碼。所述的復核計算包括時間復核計算和計數(shù)器復核計算,根據(jù)用戶ID的內(nèi)容 擇一采用。所述的時間復核計算是通過對用戶ID備份的檢索,使用用戶共享密鑰備份 和服務(wù)器端系統(tǒng)時間進行的加密計算。所述的計數(shù)器復核計算是通過對用戶ID備份的檢索,使用用戶共享密鑰備 份和服務(wù)器端計數(shù)器值進行的加密計算。所述的復核比較是指安全認證服務(wù)器將服務(wù)器端動態(tài)密碼與用戶端動態(tài) 密碼進行比較,當結(jié)果相同時則認證通過,結(jié)果不同時則進入第四步;第四步中所述的復核糾錯包括時間糾錯機制和計數(shù)器值糾錯機制,根據(jù)用 戶ID的內(nèi)容擇一采用。所述的時間糾錯機制是循環(huán)加密計算服務(wù)器端動態(tài)密碼,每次使用的服 務(wù)器端系統(tǒng)時間根據(jù)系統(tǒng)時間步長逼近用戶端系統(tǒng)時間,同時將每次計算出的服 務(wù)器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,在循環(huán)結(jié)束時存在相同的比較結(jié)果則認證通過,否則認證失敗,其中的循環(huán)次數(shù)為系統(tǒng)時間誤差閾值除以系統(tǒng)時間 步長。所述的計數(shù)器值糾錯機制是循環(huán)加密計算服務(wù)器端動態(tài)密碼,每次使用 的服務(wù)器端計數(shù)器值根據(jù)系統(tǒng)計數(shù)器步長逼近用戶端計數(shù)器值,同時將每次加密 計算出的服務(wù)器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,當存在相同的比較結(jié) 果時則停止循環(huán)并更新服務(wù)器端計數(shù)器值,認證通過;否則認證失敗,其中的循 環(huán)次數(shù)為系統(tǒng)計數(shù)器值誤差除以系統(tǒng)計數(shù)器步長。所述的失步恢復包括以下步驟① 用戶發(fā)送失步恢復請求用戶向安全認證服務(wù)器發(fā)送含有用戶信息的失 步恢復請求;② 安全認證服務(wù)器檢驗恢復請求合法性安全認證服務(wù)器確認失步恢復請 求中的用戶信息與認證請求中的用戶信息相同;③ 進行時間失步恢復或計數(shù)器值失步恢復,由用戶ID的內(nèi)容決定擇一采用。 所述的時間失步恢復是安全認證服務(wù)器將當前的服務(wù)器端系統(tǒng)時間發(fā)送至外部設(shè)備,外部設(shè)備收到服務(wù)器端系統(tǒng)時間后,以數(shù)據(jù)包格式將服務(wù)器端系統(tǒng) 時間發(fā)送至智能卡用于更新用戶端系統(tǒng)時間,智能卡更新后重新加密計算用戶端 動態(tài)密碼。所述的計數(shù)器值失步恢復是安全認證服務(wù)器將當前的服務(wù)器端計數(shù)器值發(fā) 送至外部設(shè)備,外部設(shè)備收到服務(wù)器端計數(shù)器值后,以數(shù)據(jù)包格式將服務(wù)器端計 數(shù)器值發(fā)送至智能卡用于更新用戶端計數(shù)器值,智能卡更新后重新加密計算用戶 端動態(tài)密碼。與現(xiàn)有技術(shù)相比,本發(fā)明在攜帶上更加便捷,由于目前移動通訊終端設(shè)備的 普及,使用者無需再額外攜帶特定的動態(tài)密碼生成設(shè)備,只需使用外部設(shè)備即可 達到隨時獲取動態(tài)密碼的目的。本發(fā)明充分利用了智能卡的優(yōu)勢,實現(xiàn)實時離線 生成動態(tài)密碼的效果,無需通過短信或GPRS (無線分組數(shù)據(jù)交換)獲取動態(tài)密 碼,無需在外部設(shè)備做任何軟件修改或安裝,便可輕松使用動態(tài)密碼功能。
圖1為本發(fā)明流程圖具體實施方式
以下結(jié)合附圖對本發(fā)明的實施例作詳細說明本實施例在以本發(fā)明技術(shù)方案 為前提下進行實施,給出了詳細的實施方式和過程,但本發(fā)明的保護范圍不限于 下述的實施例。本實施例包括以下步驟第一步用戶注冊,安全認證服務(wù)器生成用戶信息并儲存于與外部設(shè)備相連 接的智能卡的非易失性存儲器,同時將用戶信息備份存儲于安全認證服務(wù)器的認 證數(shù)據(jù)庫內(nèi);所述用戶信息包括用于標識不同用戶的用戶ID、對應(yīng)用戶ID唯一的用戶 共享密鑰以及用于記錄加密次數(shù)的用戶端計數(shù)器值;所述的用戶信息備份包括用戶ID的備份、對應(yīng)用戶ID唯一的用戶共享密 鑰備份以及用于記錄請求認證次數(shù)的服務(wù)器端計數(shù)器值;所述智能卡具有支持通用SIM卡應(yīng)用程序工具包(USAT)的功能增強模塊的 智能卡,該智能卡內(nèi)含有存儲有用戶信息的非易失性存儲器以及一個運算處理 器。所述安全認證服務(wù)器是一臺能夠與互聯(lián)網(wǎng)連接的數(shù)據(jù)庫終端,該數(shù)據(jù)庫終端 內(nèi)含有存儲有用戶信息的認證數(shù)據(jù)庫。所述的用戶ID以可見字符集、非定長方式存儲;所述的用戶共享密鑰是一個160 bit的共享密鑰,具體是安全認證服務(wù)器和 令牌共享的強密鑰;所述的用戶端計數(shù)器值的初始值為1,智能卡每次加密計算后將對用戶端計 數(shù)器值累加l;所述的服務(wù)器計數(shù)器值的初始值為1,安全認證服務(wù)器每次收到認證請求后 將對服務(wù)器端計數(shù)器值累加1;所述的外部設(shè)備是一臺支持通用SIM卡應(yīng)用程序工具包(USAT)的普通手機, 該手機帶有顯示屏和鍵盤輸入,并通過7816標準輸入輸出端口與智能卡相連接, 可用于接收用戶請求和輸出用戶端動態(tài)密碼。第二步用戶通過手機向智能卡發(fā)送動態(tài)密碼生成請求,該請求以USAT指令形式通過7816標準輸入輸出端口發(fā)送至智能卡,智能卡生成用戶端動態(tài)密碼 后將動態(tài)密碼以USAT指令形式返回手機供用戶向安全認證服務(wù)器發(fā)送認證請 求;所述智能卡生成用戶端動態(tài)密碼的過程具體包括① 獲取密碼生成因子運算處理器首先讀出非易失性存儲器中的用戶共享 密鑰,再采用外部設(shè)備的當前時間作為用戶端系統(tǒng)時間或者讀取存儲于非易失性 存儲器中的用戶端計數(shù)器值,具體根據(jù)用戶ID的內(nèi)容擇一操作;② 加密計算用戶端動態(tài)密碼運算處理器加密計算生成用戶端動態(tài)密碼。 所述的加密計算包括時間加密計算和計數(shù)器加密計算,根據(jù)用戶ID的內(nèi)容擇一采用,假設(shè)用戶ID為1234567890,可以約定,用戶ID第一位為1則采用 時間加密計算獲得用戶端動態(tài)密碼,其他情況均采用計數(shù)器加密計算獲得用戶端 動態(tài)密碼。所述的時間加密計算是通過動態(tài)密碼公開組織OATH的標準算法對用戶共享 密鑰和用戶端系統(tǒng)時間進行的加密計算。所述的計數(shù)器加密計算是通過動態(tài)密碼公開組織OATH的標準算法對用戶共 享密鑰和用戶端計數(shù)器值進行的加密計算。所述的認證請求包括用戶信息和用戶端動態(tài)密碼。第三步安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼,并與認證請求中的用戶端動態(tài)密碼進行復核比較;所述安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼的過程具體包括① 獲取密碼生成因子安全認證服務(wù)器首先讀出認證數(shù)據(jù)庫中的用戶共享 密鑰備份,再采用以安全認證服務(wù)器當前時間作為服務(wù)器端系統(tǒng)時間或者讀取認 證數(shù)據(jù)庫中的服務(wù)器端計數(shù)器值,具體根據(jù)用戶ID的內(nèi)容擇一操作;② 加密計算服務(wù)器端動態(tài)密碼安全認證服務(wù)器根據(jù)認證請求復核計算獲 得服務(wù)器端動態(tài)密碼。所述的復核計算包括時間復核計算和計數(shù)器復核計算,根據(jù)用戶ID的內(nèi)容擇一采用,假設(shè)用戶ID為1234567890,可以約定,用戶ID第一位為1則采用時 間復核計算獲得服務(wù)器端動態(tài)密碼,其他情況均采用計數(shù)器復核計算獲得服務(wù)器 端動態(tài)密碼。所述的時間復核計算是通過動態(tài)密碼公開組織OATH的標準算法通過對用戶 ID備份的檢索,使用用戶共享密鑰備份和服務(wù)器端系統(tǒng)時間進行的加密計算, 具體實例如下當服務(wù)器端系統(tǒng)時間為11: 00,而用戶端系統(tǒng)時間為ll: 01分, 則用戶端動態(tài)密碼必然與服務(wù)器端動態(tài)密碼不同,此時安全認證服務(wù)器進行加密 計算時,使用10: 58, 10: 59, 11: 00, 11: 01, 11: 02分別計算,只要其中 之一正確就得出認證通過的結(jié)論。所述的計數(shù)器復核計算是通過動態(tài)密碼公開組織OATH的標準算法通過對用 戶ID備份的檢索,使用用戶共享密鑰備份和服務(wù)器端計數(shù)器值進行的加密計算, 同樣地用戶每次發(fā)送動態(tài)密碼生成請求,用戶端計算器都會加l,如果用戶偶然 一次沒有請求認證,會造成用戶端計數(shù)器與服務(wù)器端計數(shù)器不同,導致以后計算 出的用戶端動態(tài)密碼都與服務(wù)器端動態(tài)密碼不同,此時安全認證服務(wù)器進行加密 計算時,通過循環(huán)使用服務(wù)器端計數(shù)器值+1,服務(wù)器端計數(shù)器值+2,…,服務(wù) 器端計數(shù)器值+N的循環(huán)計算和比較,只要有比較結(jié)果相同,就停止循環(huán)并得出 認證通過的結(jié)論,同時將服務(wù)器端計數(shù)器值更新。所述的復核比較是指安全認證服務(wù)器將服務(wù)器端動態(tài)密碼與用戶端動態(tài)密 碼進行比較,當結(jié)果相同時則認證通過,結(jié)果不同時則進入第四步;第四步對認證失敗的結(jié)果進行復核糾錯,當復核糾錯成功則認證通過,復核糾錯失敗則認證失敗并由用戶選擇放棄或選擇繼續(xù)認證進行失步恢復。所述的復核糾錯包括時間糾錯機制和計數(shù)器值糾錯機制,根據(jù)用戶ID的 內(nèi)容擇一采用,假設(shè)用戶ID為1234567890,可以約定,用戶ID第一位為1則 采用時間糾錯機制,其他情況均采用計數(shù)器值糾錯機制。所述的時間糾錯機制是循環(huán)加密計算服務(wù)器端動態(tài)密碼,每次使用的服務(wù)器端系統(tǒng)時間根據(jù)系統(tǒng)時間步長逼近用戶端系統(tǒng)時間,同時將每次計算出的服務(wù) 器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,在循環(huán)結(jié)束時存在相同的比較結(jié)果則 認證通過,否則認證失敗,其中的循環(huán)次數(shù)為系統(tǒng)時間誤差閾值除以系統(tǒng)時間步 長。所述的系統(tǒng)時間誤差設(shè)定為2分鐘到10分鐘;所述的系統(tǒng)時間步長為1秒鐘到4秒鐘。所述的計數(shù)器值糾錯機制是循環(huán)加密計算服務(wù)器端動態(tài)密碼,每次使用的服務(wù)器端計數(shù)器值根據(jù)系統(tǒng)計數(shù)器步長逼近用戶端計數(shù)器值,同時將每次加密計 算出的服務(wù)器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,在循環(huán)結(jié)束時存在相同的 比較結(jié)果則認證通過,否則認證失敗,其中的循環(huán)次數(shù)為系統(tǒng)計數(shù)器值誤差除以 系統(tǒng)計數(shù)器步長。所述的計數(shù)器值誤差設(shè)定為5到10次;所述的系統(tǒng)計數(shù)器步長為1次;所述的逼近為服務(wù)器端計數(shù)器值加上系統(tǒng)計數(shù)器步長。 所述的失步恢復具體包括① 用戶發(fā)送失步恢復請求用戶向安全認證服務(wù)器發(fā)送含有用戶信息的 失步恢復請求② 安全認證服務(wù)器檢驗恢復請求合法性安全認證服務(wù)器確認失步恢復 請求中的用戶信息與認證請求中的用戶信息相同③ 進行時間失步恢復或計數(shù)器值失步恢復,根據(jù)用戶ID的內(nèi)容擇一采用,假設(shè)用戶ID為1234567890,可以約定,用戶ID第一位為1則采用時間失 步恢復,其他情況均采用計數(shù)器值失步恢復。所述的時間失步恢復是安全認證服務(wù)器將當前的服務(wù)器端系統(tǒng)時間發(fā)送至外部設(shè)備,外部設(shè)備收到服務(wù)器端系統(tǒng)時間后,以數(shù)據(jù)包格式將服務(wù)器端系統(tǒng)時 間發(fā)送至智能卡用于更新用戶端系統(tǒng)時間,智能卡更新后重新加密計算用戶端動 態(tài)密碼。所述的計數(shù)器值失步恢復是安全認證服務(wù)器將當前的服務(wù)器端計數(shù)器值發(fā) 送至外部設(shè)備,外部設(shè)備收到服務(wù)器端計數(shù)器值后,以數(shù)據(jù)包格式將服務(wù)器端計 數(shù)器值發(fā)送至智能卡用于更新用戶端計數(shù)器值,智能卡更新后重新加密計算用戶 端動態(tài)密碼。
權(quán)利要求
1、一種智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特征在于,包括以下步驟第一步用戶注冊,安全認證服務(wù)器生成用戶信息并儲存于與外部設(shè)備相連接的智能卡的非易失性存儲器,同時將用戶信息備份存儲于安全認證服務(wù)器的認證數(shù)據(jù)庫內(nèi),所述用戶信息包括用于標識不同用戶的用戶ID、對應(yīng)用戶ID唯一的用戶共享密鑰以及用于記錄加密次數(shù)的用戶端計數(shù)器值,所述的用戶信息備份包括用戶ID的備份、對應(yīng)用戶ID唯一的用戶共享密鑰的備份以及用于記錄請求認證次數(shù)的服務(wù)器端計數(shù)器值,所述智能卡是一塊含有存儲有用戶信息的非易失性存儲器、一個運算處理器、裝有支持通用SIM卡應(yīng)用程序工具包的增強功能模塊的智能卡;第二步用戶發(fā)送動態(tài)密碼生成請求,智能卡生成用戶端動態(tài)密碼并由用戶向安全認證服務(wù)器發(fā)送包括用戶信息和用戶端動態(tài)密碼認證請求;第三步安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼,并與認證請求中的用戶端動態(tài)密碼進行復核比較;第四步對認證失敗的結(jié)果進行復核糾錯,當復核糾錯成功則認證通過,復核糾錯失敗則認證失敗并由用戶選擇放棄或選擇繼續(xù)認證進行失步恢復。
2、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特 征是,所述的用戶端計數(shù)器值的初始值為l,智能卡每次加密計算后將對用戶端 計數(shù)器值累加l。
3、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特 征是,所述的服務(wù)器計數(shù)器值的初始值為1,安全認證服務(wù)器每次收到認證請求 后將對服務(wù)器端計數(shù)器值累加1。
4、 根據(jù)權(quán)利要求l或3所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法, 其特征是,所述安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼具體包括以下步驟首先獲取密碼生成因子,安全認證服務(wù)器首先讀出認證數(shù)據(jù)庫中的用戶共享 密鑰備份,再以安全認證服務(wù)器當前時間作為服務(wù)器端系統(tǒng)時間或者讀取認證數(shù)據(jù)庫中的服務(wù)器端計數(shù)器值,由用戶ID的內(nèi)容選擇兩個操作之一執(zhí)行;然后加密計算服務(wù)器端動態(tài)密碼,安全認證服務(wù)器根據(jù)認證請求復核計算獲 得服務(wù)器端動態(tài)密碼。
5、 根據(jù)權(quán)利要求4所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特征是,所述的復核計算包括時間復核計算和計數(shù)器復核計算,根據(jù)用戶ID的內(nèi) 容擇一采用。
6、 根據(jù)權(quán)利要求5所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特 征是,所述的時間復核計算是通過對用戶ID備份的檢索,使用動態(tài)密碼公開組 織OATH的標準算法對用戶共享密鑰備份和服務(wù)器端系統(tǒng)時間進行的加密計算。
7、 根據(jù)權(quán)利要求5所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特 征是,所述的計數(shù)器復核計算是通過用戶ID備份的檢索,使用動態(tài)密碼公開組 織OATH的標準算法對用戶共享密鑰備份和服務(wù)器端計數(shù)器值進行的加密計算。
8、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特 征是,所述的用戶ID以可見字符集、非定長方式存儲。
9、 根據(jù)權(quán)利要求1或2所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法, 其特征是,所述智能卡生成用戶端動態(tài)密碼包括以下步驟首先獲取密碼生成因子運算處理器首先讀出非易失性存儲器中的用戶共享密鑰,再采用外部設(shè)備的當前時間作為用戶端系統(tǒng)時間或者讀取存儲于非易失性存儲器中的用戶端計數(shù)器值,由用戶ID的內(nèi)容選擇兩個操作之一執(zhí)行;然后加密計算用戶端動態(tài)密碼運算處理器加密計算生成用戶端動態(tài)密碼。
10、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特征是,所述的外部設(shè)備是一臺支持通用s頂卡應(yīng)用程序工具包的手機。
11、 根據(jù)權(quán)利要求9所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特征是,所述的加密計算包括時間加密計算和計數(shù)器加密計算所述的時間加密計算是通過動態(tài)密碼公開組織OATH的標準算法對用戶共享密鑰和用戶端系統(tǒng)時間 進行的加密計算;所述的計數(shù)器加密計算是通過動態(tài)密碼公開組織OATH的標準 算法對用戶共享密鑰和用戶端計數(shù)器值進行的加密計算。
12、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的復核比較是指安全認證服務(wù)器將服務(wù)器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,當結(jié)果相同時則認證通過,結(jié)果不同時則進入第四步。
13、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的復核糾錯包括時間糾錯機制和計數(shù)器值糾錯機制,根據(jù)用戶 ID的內(nèi)容擇一采用。
14、 根據(jù)權(quán)利要求13所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的時間糾錯機制是循環(huán)加密計算服務(wù)器端動態(tài)密碼,每次使用的 服務(wù)器端系統(tǒng)時間根據(jù)系統(tǒng)時間步長逼近用戶端系統(tǒng)時間,同時將每次計算出的 服務(wù)器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,在循環(huán)結(jié)束時存在相同的比較結(jié) 果則認證通過,否則認證失敗,其中的循環(huán)次數(shù)為系統(tǒng)時間誤差閾值除以系統(tǒng)時 間步長。
15、 根據(jù)權(quán)利要求13所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的計數(shù)器值糾錯機制是循環(huán)加密計算服務(wù)器端動態(tài)密碼,每次使 用的服務(wù)器端計數(shù)器值根據(jù)系統(tǒng)計數(shù)器步長逼近用戶端計數(shù)器值,同時將每次加 密計算出的服務(wù)器端動態(tài)密碼與用戶端動態(tài)密碼進行比較,當存在相同的比較結(jié) 果時則停止循環(huán)并更新服務(wù)器端計數(shù)器值,認證通過;否則認證失敗,其中的循 環(huán)次數(shù)為系統(tǒng)計數(shù)器值誤差除以系統(tǒng)計數(shù)器步長。
16、 根據(jù)權(quán)利要求14所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的系統(tǒng)時間誤差設(shè)定為2分鐘到10分鐘。
17、 根據(jù)權(quán)利要求14所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的系統(tǒng)時間步長為1秒鐘到4秒鐘。
18、 根據(jù)權(quán)利要求15所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的系統(tǒng)計數(shù)器值誤差設(shè)定為5到10次。
19、 根據(jù)權(quán)利要求15所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的系統(tǒng)計數(shù)器步長為1次。
20、 根據(jù)權(quán)利要求1所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的失步恢復具體包括以下步驟① 用戶發(fā)送失步恢復請求用戶向安全認證服務(wù)器發(fā)送含有用戶信息的失步 恢復請求;② 安全認證服務(wù)器檢驗恢復請求合法性安全認證服務(wù)器確認失步恢復請求中的用戶信息與認證請求中的用戶信息相同;③進行時間失步恢復或計數(shù)器值失步恢復,由用戶ID的內(nèi)容決定擇一采用。
21、 根據(jù)權(quán)利要求20所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其 特征是,所述的時間失步恢復是安全認證服務(wù)器將當前的服務(wù)器端系統(tǒng)時間發(fā) 送至外部設(shè)備,外部設(shè)備收到服務(wù)器端系統(tǒng)時間后,以數(shù)據(jù)包格式將服務(wù)器端系 統(tǒng)時間發(fā)送至智能卡用于更新用戶端系統(tǒng)時間,智能卡更新后重新加密計算用戶 端動態(tài)密碼。
22、 根據(jù)權(quán)利要求20所述的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,其特征是,所述的計數(shù)器值失步恢復是安全認證服務(wù)器將當前的服務(wù)器端計數(shù)器值發(fā)送至外部設(shè)備,外部設(shè)備收到服務(wù)器端計數(shù)器值后,以數(shù)據(jù)包格式將服務(wù)器 端計數(shù)器值發(fā)送至智能卡用于更新用戶端計數(shù)器值,智能卡更新后重新加密計算 用戶端動態(tài)密碼。
全文摘要
一種移動通信技術(shù)領(lǐng)域的智能卡上實現(xiàn)動態(tài)密碼生成和判斷的方法,包括首先用戶注冊,安全認證服務(wù)器生成用戶信息并儲存于與外部設(shè)備相連接的智能卡的非易失性存儲器,同時將用戶信息備份存儲于安全認證服務(wù)器的認證數(shù)據(jù)庫內(nèi);然后用戶發(fā)送動態(tài)密碼生成請求,智能卡生成用戶端動態(tài)密碼并由用戶向安全認證服務(wù)器發(fā)送認證請求;其次安全認證服務(wù)器生成服務(wù)器端動態(tài)密碼,并與認證請求中的用戶端動態(tài)密碼進行復核比較;最后對認證失敗的結(jié)果進行復核糾錯,當復核糾錯成功則認證通過,復核糾錯失敗則認證失敗并由用戶選擇放棄或選擇繼續(xù)認證進行失步恢復。該方法能夠普遍適用于各種外部設(shè)備,不受硬件限制。
文檔編號H04Q7/32GK101252435SQ20081003520
公開日2008年8月27日 申請日期2008年3月27日 優(yōu)先權(quán)日2008年3月27日
發(fā)明者利惠光, 曹忠民 申請人:上??滤管浖邢薰?