两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種動態(tài)口令生成方法和系統(tǒng)的制作方法

文檔序號:7774184閱讀:180來源:國知局
一種動態(tài)口令生成方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種動態(tài)口令生成方法和系統(tǒng),動態(tài)口令生成方法包括:移動終端接收后臺服務器發(fā)送的加密數(shù)據(jù)包,將加密后的PIN碼發(fā)送至智能密碼設備,智能密碼設備驗證PIN碼合法,開啟動態(tài)口令生成功能并接收加密數(shù)據(jù)包,生成本次交易對應的動態(tài)口令。本發(fā)明借用移動終端的鍵盤功能,由移動終端通過音頻接口發(fā)送給智能密碼設備,從而完成PIN碼的輸入,使得智能密碼設備無需設置數(shù)字鍵盤,大大縮小了智能密碼設備的體積。
【專利說明】一種動態(tài)口令生成方法和系統(tǒng)【技術(shù)領域】
[0001]本發(fā)明涉及一種電子【技術(shù)領域】,尤其涉及一種動態(tài)口令生成方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡的迅速發(fā)展給人們帶來的極大便利,人們越來越依賴于網(wǎng)絡進行各種活動,例如網(wǎng)絡文件的傳輸、網(wǎng)上銀行交易均已逐漸成為人們生活、工作中不可缺少的一部分。由于網(wǎng)絡畢竟是一個虛擬的環(huán)境,存在著太多不安全的因素,而在網(wǎng)絡環(huán)境中必然會進行數(shù)據(jù)交互的網(wǎng)絡活動,尤其是像網(wǎng)上銀行業(yè)務和機密文件的傳輸這樣的網(wǎng)絡活動,對網(wǎng)絡的安全提出了很高的要求,因此人們開始大力發(fā)展網(wǎng)絡信息安全技術(shù)。
[0003]數(shù)字簽名技術(shù)就是一種為了確保用戶數(shù)據(jù)在網(wǎng)絡的傳輸過程中不會被人惡意修改的網(wǎng)絡信息安全技術(shù)。所謂數(shù)字簽名技術(shù),就是一種進行身份認證的技術(shù),可用于安全地傳送命令和文件。數(shù)字簽名技術(shù)通過一個單向函數(shù)對要傳送的用戶數(shù)據(jù)進行處理,得到用以認證數(shù)據(jù)來源并核實數(shù)據(jù)是否發(fā)生變化的一個字母數(shù)字串。通常數(shù)字簽名采用MD5、SHA-1等散列算法對要傳送的數(shù)據(jù)計算一個摘要值,并采用加密算法對這個摘要值進行加密然后進行傳送。目前數(shù)字簽名采用較多的是公鑰加密技術(shù),如基于RSA Date Security公司的PKCS (Public Key Cryptography Standards) ^Digital Signature Algorithm、x.509、PGP (Pretty Good Privacy).1994年美國標準與技術(shù)協(xié)會公布了數(shù)字簽名標準(DSS)而使公鑰加密技術(shù)廣泛應用。這種在數(shù)字化文檔上的數(shù)字簽名類似于紙張上的手寫簽名,是不可偽造的,文檔的接收者能夠驗證文檔確實來自簽名者,并且簽名后的文檔沒有被修改過,從而保證接收的文檔中信息的真實性和完整性。完善的數(shù)字簽名技術(shù)應滿足以下三個條件:第一,簽名者事后不能抵賴自己的簽名;第二,任何其它人不能偽造簽名;第三,如果當事人雙方關(guān)于簽名的真?zhèn)伟l(fā)生爭執(zhí),能夠在公正的仲裁者面前通過驗證簽名來確認其真?zhèn)巍?br> [0004]對數(shù)據(jù)進行數(shù)字簽名后,可以很大程度上增加數(shù)據(jù)的安全性。但是,黑客技術(shù)的發(fā)展依然使用戶非常擔憂,因為一旦惡意攻擊者控制了用戶的使用的終端,他們就可以截取終端內(nèi)存中出現(xiàn)的數(shù)據(jù),對終端合法用戶的利益造成傷害。因此人們研制出了一種便攜式的可移動使用的智能密碼設備,也稱為Key設備,包括:USB Key、藍牙Key以及支持手機音頻接口的音頻Key等任意形式的設備。這是一種帶有微處理器的小型硬件設備,其通過終端數(shù)據(jù)通訊接口與終端建立連接,設備內(nèi)的處理器一般會采用安全設計芯片實現(xiàn),利用其內(nèi)置的安全機制,實現(xiàn)密鑰生成、密鑰安全存儲和預置加密算法等功能,與密鑰相關(guān)的運算完全在認證設備內(nèi)部執(zhí)行,所以安全性很高。同時,令智能密碼設備包含顯示屏以及確認按鍵,需要簽名的交易請求報文必須發(fā)送至智能密碼設備的顯示屏進行顯示,并且在顯示無誤后,經(jīng)用戶手動按確認鍵進行確認后,方可將簽名數(shù)據(jù)返回至計算。這樣即便黑客控制了用戶的終端,但是無法控制智能密碼設備,并且更不能控制用戶手動按確認鍵進行確認,因此安全性得到了很大提高。
[0005]另外,銀行和各種大型電子商務網(wǎng)站還同時采用動態(tài)口令令牌或動態(tài)口令卡來加強網(wǎng)絡身份認證的安全性。
[0006]動態(tài)口令技術(shù)又稱為一次性口令(One Time Password,簡稱OTP)技術(shù),其特點是用戶根據(jù)服務商提供的動態(tài)口令令牌的顯示數(shù)字來輸入動態(tài)密碼,以便進行網(wǎng)絡交易。現(xiàn)有的動態(tài)口令牌(One Time Password,OTP)存在不同種類的動態(tài)口令生成方式,例如:基于時間型的動態(tài)口令牌,基于事件型的動態(tài)口令牌,以及基于挑戰(zhàn)應答型的動態(tài)口令牌,或者基于上述三種類型的任意組合型的動態(tài)口令牌。
[0007]基于上述兩種網(wǎng)絡身份認證技術(shù),人們開發(fā)出了一種新型智能密碼設備,其集成了數(shù)字簽名技術(shù)以及動態(tài)口令技術(shù),具備現(xiàn)有的Key設備具有的數(shù)字簽名功能,同時還具備現(xiàn)有的動態(tài)口令牌具有的動態(tài)口令生成功能,在方便人們使用的同時還減少了設備數(shù)量。
[0008]但是在智能密碼設備的動態(tài)口令生成功能為基于挑戰(zhàn)/應答式的動態(tài)口令生成方式時,需要用戶輸入挑戰(zhàn)碼,從而根據(jù)挑戰(zhàn)碼生成動態(tài)口令,挑戰(zhàn)碼的輸入方式是由用戶對智能密碼設備上的數(shù)字的操作實現(xiàn)挑戰(zhàn)碼的輸入,需要在該智能密碼設備上設置O?9共10個數(shù)字鍵,使得智能密碼設備的體積過大,不利于攜帶,因此如何減小智能密碼設備的體積以及實現(xiàn)安全、簡便的輸入挑戰(zhàn)碼是亟待解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0009]本發(fā)明旨在解決上述問題/之一,提供一種動態(tài)口令生成方法和系統(tǒng)。
[0010]為達到上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的:
[0011]本發(fā)明一方面提供了一種動態(tài)口令生成方法,包括:移動終端獲取交易信息,并根據(jù)交易信息生成交易請求,并將所述交易請求發(fā)送至后臺服務器,其中所述交易請求至少包括交易信息以及挑戰(zhàn)碼請求;所述后臺服務器接收所述交易請求,并根據(jù)預先設置的挑戰(zhàn)碼生成策略,生成所述交易請求的挑戰(zhàn)碼;再利用加密密鑰至少對所述挑戰(zhàn)碼進行加密,得到加密數(shù)據(jù)包,并向所述移動終端發(fā)送所述加密數(shù)據(jù)包;在移動終端將所述加密數(shù)據(jù)包發(fā)送給智能密碼設備之前,所述移動終端檢測智能密碼設備是否已插入;如果所述智能密碼設備已插入,則通過所述移動終端的鍵盤獲取所述智能密碼設備的PIN碼;并通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,對所述加密后的PIN碼進行編碼,得到編碼數(shù)據(jù),并通過第一接口將所述編碼數(shù)據(jù)發(fā)送至所述智能密碼設備,其中,所述PIN碼用于開啟所述智能密碼設備的功能權(quán)限;所述智能密碼設備接收所述編碼數(shù)據(jù),對所述編碼數(shù)據(jù)進行解碼,獲得所述加密后的PIN碼,根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,如果驗證所述PIN碼合法,開啟動態(tài)口令生成功能,并向所述移動終端發(fā)送狀態(tài)切換成功信息;所述移動終端在接收到狀態(tài)切換成功信息后,通過第一接口將接收到的所述加密數(shù)據(jù)包發(fā)送給智能密碼設備;所述智能密碼設備利用加密密鑰對應的解密密鑰對所述加密數(shù)據(jù)包進行解密,得到解密數(shù)據(jù),并輸出所述解密數(shù)據(jù);當接收到對所述解密數(shù)據(jù)的確認指令后,生成本次交易對應的動態(tài)口令。
[0012]此外,所述移動終端獲取交易信息,包括:所述移動終端在獲取交易信息的付款賬號和/或收款賬號之前,顯示歷史記錄中記載的賬號信息,如果歷史記錄中對應有賬號,則接收對顯示的賬號信息的選擇指令,將選擇的賬號作為交易信息保存,如果歷史記錄中沒有對應的賬號,則接收用戶輸入的賬號信息,將用戶輸入的賬號信息作為交易信息保存,并將用戶輸入的賬號信息添加到歷史記錄中。
[0013]此外,所述加密數(shù)據(jù)包還包括時間同步信息,用以同步智能密碼設備中時鐘模塊的時間;在生成本次交易對應的動態(tài)口令之前,所述方法還包括:智能密碼設備將解密得到的時間同步信息與所述智能密碼設備中動態(tài)口令功能中時鐘模塊的時間進行比較,得到時間差值,將所述時間差值與本地存儲的時間誤差范圍進行比較,如果時間差值不在時間誤差范圍內(nèi),則提示用戶是否進行時間同步;如果接收到同步指令后,根據(jù)時間同步信息,對時鐘模塊的時間進行調(diào)整,并在調(diào)整完成后,執(zhí)行動態(tài)口令生成流程。
[0014]此外,所述移動終端通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,包括:移動終端獲取智能密碼設備的公鑰,并利用所述公鑰對本地生成的軟件隨機數(shù)Kl進行加密,并將加密后的軟件隨機數(shù)Κ1’發(fā)送給智能密碼設備;智能密碼設備接收所述加密后的軟件隨機數(shù)Κ1’,并利用所述公鑰對應的私鑰對所述加密后的軟件隨機數(shù)Κ1’進行解密,得到軟件隨機數(shù)Kl ;并生成一硬件隨機數(shù)K2,并利用所述軟件隨機數(shù)Kl加密所述硬件隨機數(shù)K2,得到加密后的硬件隨機數(shù)K2’,發(fā)送所述加密后的硬件隨機數(shù)K2’至移動終端;所述移動終端利用所述軟件隨機數(shù)Kl對加密后的硬件隨機數(shù)K2’進行解密,得到硬件隨機數(shù)K2,將硬件隨機數(shù)K2作為一次性密鑰,利用硬件隨機數(shù)K2加密PIN碼,得到加密后的PIN碼;所述智能密碼設備根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,包括:所述智能密碼設備接收所述加密后的PIN碼,并利用所述硬件隨機數(shù)K2解密所述加密后的PIN碼,得到PIN碼;將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0015]此外,所述移動終端通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,包括:移動終端獲取智能密碼設備的公鑰和智能密碼設備生成的隨機數(shù),并利用所述公鑰對所述隨機數(shù)和PIN碼組成的序列進行加密,得到加密結(jié)果;所述智能密碼設備根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,包括:所述智能密碼設備利用私鑰對所述加密結(jié)果進行解密,得到所述序列,并利用所述隨機數(shù),從所述序列中獲取所述PIN碼,將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0016]此外,所述加密密鑰和所述解密密鑰為非對稱公私鑰對,且所述加密密鑰與所述智能密碼設備的公鑰不同,所述解密密鑰與智能密碼設備的私鑰不同。
[0017]此外,所述移動終端通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,包括:所述移動終端獲取隨機數(shù),并將該隨機數(shù)和PIN碼組成第一序列,對所述第一序列進行哈希算法計算;得到第一計算結(jié)果;所述智能密碼設備根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,包括:所述智能密碼設備按照與移動終端的處理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二計算結(jié)果,將所述第一計算結(jié)果和所述第二計算結(jié)果進行比對,如果所述第一計算結(jié)果和所述第二計算結(jié)果相同,則驗證通過。
[0018]本發(fā)明另一方面提供了一種動態(tài)口令生成系統(tǒng),其特征在于,包括移動終端、后臺服務器和智能密碼設備,其中:所述移動終端中的第一處理模塊,用于獲取交易信息,并根據(jù)交易信息生成交易請求,其中所述交易請求至少包括交易信息以及挑戰(zhàn)碼請求;所述移動終端中的第一傳輸模塊,與所述第一處理模塊相連,用于將所述交易請求發(fā)送至后臺服務器;所述后臺服務器中的第二傳輸模塊,用于接收所述交易請求;所述后臺服務器中的第一生成模塊,與所述第二傳輸模塊相連,用于根據(jù)預先設置的挑戰(zhàn)碼生成策略,生成所述交易請求的挑戰(zhàn)碼;所述后臺服務器中的第一加密模塊,與所述第一生成模塊相連,用于利用加密密鑰至少對所述挑戰(zhàn)碼進行加密,得到加密數(shù)據(jù)包;所述后臺服務器的所述第二傳輸模塊,與所述第一加密模塊相連,用于向所述移動終端發(fā)送所述加密數(shù)據(jù)包;所述移動終端的檢測模塊,用于在移動終端將所述加密數(shù)據(jù)包發(fā)送給智能密碼設備之前,檢測智能密碼設備是否已插入;所述移動終端中的獲取模塊,與所述檢測模塊相連,用于在檢測模塊檢測到所述智能密碼設備已插入時,通過所述移動終端的鍵盤獲取所述智能密碼設備的PIN碼;其中,所述PIN碼用于開啟所述智能密碼設備的功能權(quán)限;所述移動終端中的第二加密模塊,與所述獲取模塊相連,用于通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼;所述移動終端中的所述第三傳輸模塊,與所述第二加密模塊相連,用于對所述加密后的PIN碼進行編碼,得到編碼數(shù)據(jù),并通過第一接口將所述編碼數(shù)據(jù)發(fā)送至所述智能密碼設備;所述智能密碼設備中的第四傳輸模塊,與所述第三傳輸模塊相連,用于接收所述編碼數(shù)據(jù),對所述編碼數(shù)據(jù)進行解碼,獲得所述加密后的PIN碼;所述智能密碼設備中的驗證模塊,與所述第四傳輸模塊相連,用于根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,如果驗證所述PIN碼合法,開啟動態(tài)口令生成功能,并通過所述第四傳輸模塊向所述移動終端發(fā)送狀態(tài)切換成功信息;所述移動終端中的所述第三傳輸模塊,用于在接收到狀態(tài)切換成功信息后,通過第一接口將接收到的所述加密數(shù)據(jù)包發(fā)送給智能密碼設備;所述智能密碼設備中的動態(tài)口令生成模塊,包括:解密子模塊,用于利用加密密鑰對應的解密密鑰對所述加密數(shù)據(jù)包進行解密,得到解密數(shù)據(jù),并輸出所述解密數(shù)據(jù);第二生成子模塊,用于當接收到對所述解密數(shù)據(jù)的確認指令后,生成本次交易對應的動態(tài)口令。
[0019]此外,所述智能密碼設備還包括:歷史記錄模塊,所述歷史記錄模塊用于:在獲取交易信息的付款賬號和/或收款賬號之前,顯示歷史記錄中記載的賬號信息,如果歷史記錄中對應有賬號,則接收對顯示的賬號信息的選擇指令,將選擇的賬號作為交易信息保存,如果歷史記錄中沒有對應的賬號,則接收用戶輸入的賬號信息,將用戶輸入的賬號信息作為交易信息保存,并將用戶輸入的賬號信息添加到歷史記錄中。
[0020]此外,所述智能密碼設備還包括:時鐘模塊,用于記錄時間;所述加密數(shù)據(jù)包還包括時間同步信息,用以同步智能密碼設備中時鐘模塊的時間;其中,所述智能密碼設備中動態(tài)口令生成模塊還包括:第三處理子模塊,與所述時鐘模塊相連,用于在所述第二生成子模塊生成本次交易對應的動態(tài)口令之前,將解密得到的時間同步信息與所述智能密碼設備中動態(tài)口令功能中時鐘模塊的時間進行比較,得到時間差值,將所述時間差值與本地存儲的時間誤差范圍進行比較,如果時間差值不在時間誤差范圍內(nèi),則提示用戶是否進行時間同步;如果接收到同步指令后,根據(jù)時間同步信息,對時鐘模塊的時間進行調(diào)整,并在調(diào)整完成后,指示所述第二生成子模塊執(zhí)行動態(tài)口令生成流程。
[0021]此外,所述第二加密模塊,具體用于:獲取智能密碼設備的公鑰,并利用所述公鑰對本地生成的軟件隨機數(shù)Kl進行加密,并通過所述第三傳輸模塊將加密后的軟件隨機數(shù)Κ1`發(fā)送給智能密碼設備;以及, 利用所述軟件隨機數(shù)Kl對加密后的硬件隨機數(shù)K2’進行解密,得到硬件隨機數(shù)K2,將硬件隨機數(shù)K2作為一次性密鑰,利用硬件隨機數(shù)K2加密PIN碼,得到加密后的PIN碼;所述驗證模塊,具體用于:接收所述加密后的軟件隨機數(shù)K1’,并利用所述公鑰對應的私鑰對所述加密后的軟件隨機數(shù)Κ1`進行解密,得到軟件隨機數(shù)Kl ;并生成一硬件隨機數(shù)K2,并利用所述軟件隨機數(shù)Kl加密所述硬件隨機數(shù)K2,得到加密后的硬件隨機數(shù)K2’,通過所述第四傳輸模塊發(fā)送所述加密后的硬件隨機數(shù)K2’至移動終端;以及,通過所述第四傳輸模塊接收所述加密后的PIN碼,并利用所述硬件隨機數(shù)K2解密所述加密后的PIN碼,得到PIN碼;將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0022]此外,所述第二加密模塊,具體用于:獲取智能密碼設備的公鑰和智能密碼設備生成的隨機數(shù),并利用所述公鑰對所述隨機數(shù)和PIN碼組成的序列進行加密,得到加密結(jié)果;所述驗證模塊,具體用于:利用私鑰對所述加密結(jié)果進行解密,得到所述序列,并利用所述隨機數(shù),從所述序列中獲取所述PIN碼,將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0023]此外,所述加密密鑰和所述解密密鑰為非對稱公私鑰對,且所述加密密鑰與所述智能密碼設備的公鑰不同,所述解密密鑰與智能密碼設備的私鑰不同。
[0024]此外,所述第二加密模塊,具體用于:獲取隨機數(shù),并將該隨機數(shù)和PIN碼組成第一序列,對所述第一序列進行哈希算法計算;得到第一計算結(jié)果;所述驗證模塊,具體用于:按照與移動終端的處理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二計算結(jié)果,將所述第一計算結(jié)果和所述第二計算結(jié)果進行比對,如果所述第一計算結(jié)果和所述第二計算結(jié)果相同,則驗證通過。
[0025]此外,所述智能密碼設備包括安全芯片,其中所述動態(tài)口令生成模塊內(nèi)置于安全
-H-* I I
心/T O
[0026]此外,所述智能密碼設備還包括數(shù)字簽名模塊,其中所述數(shù)字簽名模塊與所述動態(tài)口令生成模塊內(nèi)置于同一個安全芯片中。
[0027]由上述本發(fā)明提供的技術(shù)方案可以看出,在生成動態(tài)口令過程中,需要借助鍵盤的操作的場景分別為輸入PIN碼和輸入挑戰(zhàn)碼,但本發(fā)明提供的方法實施例中移動終端發(fā)送PIN碼實現(xiàn)對用戶使用的動態(tài)口令的訪問控制,且PIN碼的輸入與現(xiàn)有技術(shù)中是在智能密碼設備的鍵盤上輸入相比,借用移動終端的鍵盤功能,由移動終端通過第一接口發(fā)送給智能密碼設備,從而完成PIN碼的輸入,使得智能密碼設備無需設置數(shù)字鍵盤,大大縮小了智能密碼設備的體積;另外,為了保證PIN碼的安全傳輸,通過一次性密鑰進行加密,降低了 PIN碼被盜的可能,保證了信息傳輸?shù)陌踩涣硗?,與現(xiàn)有技術(shù)中挑戰(zhàn)碼由用戶輸入相t匕,本申請中挑戰(zhàn)碼是由移動終端通過第一接口傳輸給智能密碼設備,無需用戶手動輸入的,優(yōu)化了用戶的輸入操作。
【專利附圖】

【附圖說明】
[0028]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0029]圖1為本發(fā)明提供的動態(tài)口令生成方法實施例的流程示意圖;
[0030]圖2為本發(fā)明提供的動態(tài)口令生成系統(tǒng)實施例的結(jié)構(gòu)示意圖。
【具體實施方式】[0031]下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
[0032]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于
附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或數(shù)量或位置。
[0033]在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
[0034]下面將結(jié)合附圖對本發(fā)明實施例作進一步地詳細描述。
[0035]圖1為本發(fā)明提供的動態(tài)口令生成方法實施例的流程示意圖。圖1所示方法實施例包括如下步驟:
[0036]步驟101、移動終端獲取交易信息,并根據(jù)交易信息生成交易請求,并將交易請求發(fā)送至后臺服務器,其中交易請求至少包括交易信息以及挑戰(zhàn)碼請求;
[0037]其中,移動終端可以為手機、平板電腦等便攜式終端;交易信息至少包括付款賬號、收款賬戶和金額等;
[0038]具體的,當移動終端接收到交易信息后,移動終端默認選擇動態(tài)口令的方式來支付;當然,移動終端也可以向后臺系統(tǒng)服務器查詢支付方式,再根據(jù)查詢請求后,確定支付方式為動態(tài)口令的支付方式,進而生成交易請求。
[0039]步驟102、后臺服務器接收交易請求,并根據(jù)預先設置的挑戰(zhàn)碼生成策略,生成交易請求的挑戰(zhàn)碼;再利用加密密鑰至少對挑戰(zhàn)碼進行加密,得到加密數(shù)據(jù)包,并向移動終端發(fā)送加密數(shù)據(jù)包;
[0040]其中,現(xiàn)有技術(shù)中挑戰(zhàn)碼的生成方式均適用于本步驟,此處不再贅述;
[0041]另外,加密密鑰可以是對稱密鑰或非對稱密鑰算法的公鑰。其中,當該加密密鑰為非對稱密鑰算法的公鑰時,當動態(tài)口令功能與USBkey的簽名功能集成在一起時,該加密密鑰可以是智能密碼設備中簽名功能所使用的私鑰對應的公鑰,減少后臺服務器存儲的密鑰數(shù)量,且方便查找該加密密鑰,從而縮短了加密時間,提高后臺服務器的處理速度。
[0042]步驟103、在移動終端將加密數(shù)據(jù)包發(fā)送給智能密碼設備之前,移動終端檢測智能密碼設備是否已插入;如果智能密碼設備已插入,則通過移動終端的鍵盤獲取智能密碼設備的PIN碼;并通過一次性密鑰加密PIN碼,得到加密后的PIN碼,對加密后的PIN碼進行編碼,得到編碼數(shù)據(jù),并通過第一接口將編碼數(shù)據(jù)發(fā)送至智能密碼設備,其中,PIN碼用于開啟智能密碼設備的功能權(quán)限;
[0043]具體來說,移動終端檢測智能密碼設備是否已插入的步驟可以是在移動終端接收到加密數(shù)據(jù)包之前執(zhí)行,也可以在移動終端檢測到接收到加密數(shù)據(jù)包后執(zhí)行的。
[0044]此外,移動終端檢測智能密碼設備是否已插入且獲取PIN碼,將加密后的PIN碼發(fā)送至智能密碼設備的步驟可以是移動終端在接收到加密數(shù)據(jù)包之前執(zhí)行,也可以在移動終端檢測到接收到加密數(shù)據(jù)包后執(zhí)行的。
[0045]當然,在移動終端檢測到智能密碼設備插入后,還可以檢測該智能密碼設備是否合法,在檢測到該智能密碼設備合法后,執(zhí)行獲取PIN碼、加密PIN碼以及發(fā)送的流程。檢測智能密碼設備合法,可以確認接收端的合法性,提高信息傳輸?shù)陌踩浴?br> [0046]另外,通過移動終端上設置的硬件鍵盤或者移動終端上設置的觸摸屏等虛擬鍵盤均可以實現(xiàn)PIN碼的輸入。
[0047]其中,采用一次性密鑰加密該PIN碼,提高了 PIN碼傳輸?shù)陌踩?。具體的,一次性密鑰是一個加密密鑰,但使用的有效次數(shù)為I次,即當一次性密鑰M在使用過后,該密鑰M就不再使用了,使得黑客無法借助密鑰竊取PIN碼。
[0048]此外,對加密后的PIN碼進行編碼,使其符合第一接口傳輸數(shù)據(jù)的協(xié)議,通過移動終端的第一接口進行數(shù)據(jù)傳輸,提高了智能密碼設備的通用性和易用性。當然,本發(fā)明中的第一接口可以為音頻接口(耳機接口)、NFC接口、藍牙接口、OTG接口、USB接口、紅外接口、光傳輸接口等任意形式的接口。
[0049]步驟104、智能密碼設備接收編碼數(shù)據(jù),對編碼數(shù)據(jù)進行解碼,獲得加密后的PIN碼,根據(jù)加密后的PIN碼驗證PIN碼的合法性,如果驗證PIN碼合法,開啟動態(tài)口令生成功能,并向移動終端發(fā)送狀態(tài)切換成功信息;
[0050]由步驟103和步驟104可以看出,在移動終端發(fā)送加密數(shù)據(jù)包之前,通過向智能密碼設備傳輸PIN碼,可以實現(xiàn)對用戶身份的認證,防止不法分子使用該智能密碼設備的動態(tài)口令功能進行非法交易,提高賬號安全;另外,在移動終端和智能密碼設備之間通過一次性密鑰來傳輸PIN碼,保證了 PIN碼的傳輸安全,降低了 PIN碼被盜的可能,也進一步減少了不法分子使用該智能密碼設備的動態(tài)口令功能進行非法交易的機會,保障了賬戶安全。
[0051]步驟105、移動終端在接收到狀態(tài)切換成功信息后,通過第一接口將接收到的加密數(shù)據(jù)包發(fā)送給智能密碼設備;
[0052]步驟106、智能密碼設備利用加密密鑰對應的解密密鑰對加密數(shù)據(jù)包進行解密,得到解密數(shù)據(jù),并輸出解密數(shù)據(jù);當接收到對解密數(shù)據(jù)的確認指令后,生成本次交易對應的動態(tài)口令。
[0053]具體的,智能密碼設備接收到加密數(shù)據(jù)包后,采用與后臺服務器采用的加密密鑰對應的解密密鑰解密該加密數(shù)據(jù)包,從該加密數(shù)據(jù)包中解析出挑戰(zhàn)碼,輸出該挑戰(zhàn)碼至智能密碼設備的顯示屏上,以提供用戶進行確認,當用戶確認該挑戰(zhàn)碼正確后,按下智能密碼設備上的確認按鍵,智能密碼設備接收到該確認指令后,生成本次交易的動態(tài)口令,輸出該動態(tài)口令至顯示屏上進行顯示或者將該動態(tài)口令發(fā)送給移動終端。
[0054]由上可以看出,在生成動態(tài)口令過程中,現(xiàn)有技術(shù)中借助鍵盤的操作的場景分別為輸入PIN碼和輸入挑戰(zhàn)碼,但本發(fā)明提供的方法實施例中移動終端發(fā)送PIN碼實現(xiàn)對用戶使用的動態(tài)口令的訪問控制,且PIN碼的輸入與現(xiàn)有技術(shù)中是在智能密碼設備的鍵盤上輸入相比,借用移動終端的鍵盤功能,由移動終端通過第一接口發(fā)送給智能密碼設備,從而完成PIN碼的輸入,使得智能密碼設備無需設置數(shù)字鍵盤,大大縮小了智能密碼設備的體積;另外,為了保證PIN碼的安全傳輸,通過一次性密鑰進行加密,降低了 PIN碼被盜的可能,保證了信息傳輸?shù)陌踩?;另外,與現(xiàn)有技術(shù)中挑戰(zhàn)碼由用戶輸入相比,本申請中挑戰(zhàn)碼是由移動終端通過第一接口傳輸給智能密碼設備,無需用戶手動輸入的,優(yōu)化了用戶的輸入操作。[0055]在上述方法流程中,方法實施例還可以包括如下步驟,具體內(nèi)容如下:[0056]在步驟101中,移動終端在獲取交易信息過程中,在獲取交易信息的付款賬號和/或收款賬號之前,為進一步簡化用戶輸入操作,還可以顯示歷史記錄中記載的賬號信息,如果歷史記錄中對應有賬號,則接收對顯示的賬號信息的選擇指令,將選擇的賬號作為交易信息保存,如果歷史記錄中沒有對應的賬號,則接收用戶輸入的賬號信息,將用戶輸入的賬號信息作為交易信息保存,并將用戶輸入的賬號信息添加到歷史記錄中。
[0057]在步驟102中,在發(fā)送該挑戰(zhàn)碼的同時,還可以發(fā)送其他信息,如時間同步信息,用以同步智能密碼設備中時鐘模塊的時間;相對應的,在步驟106中,在生成本次交易對應的動態(tài)口令之前,智能密碼設備還執(zhí)行如下操作:將解密得到的時間同步信息與智能密碼設備中動態(tài)口令功能中時鐘模塊的時間進行比較,得到時間差值,將時間差值與本地存儲的時間誤差范圍進行比較,如果時間差值不在時間誤差范圍內(nèi),則提示用戶是否進行時間同步;如果接收到同步指令后,根據(jù)時間同步信息,對時鐘模塊的時間進行調(diào)整,并在調(diào)整完成后,執(zhí)彳了動態(tài)口令生成流程。
[0058]在從后臺服務器獲取挑戰(zhàn)碼的同時,接收時間同步信息,使得執(zhí)行動態(tài)口令功能的時間因子能夠?qū)崟r與后臺服務器同步,保證動態(tài)口令生成的準確性,降低因時間不同步造成動態(tài)口令驗證失敗的問題發(fā)生。
[0059]其中,獲取智能密碼設備中動態(tài)口令功能對應的PIN碼的過程如下:
[0060]步驟Al、移動終端通過第一接口與智能密碼設備相連;
[0061]步驟A2、移動終端輸出提示用戶輸入PIN碼的信息;
[0062]具體的,移動終端可以通過一個交互界面請求用戶輸入信息,該交互界面的內(nèi)容可以根據(jù)實際需要進行自定義。
[0063]步驟A3、移動終端對移動終端接收的按鍵信息進行檢測,得到檢測結(jié)果;
[0064]具體的,移動終端通過在交互頁面上用戶針對該提示信息輸入的內(nèi)容進行檢測;其中用戶可以通過手機的硬件鍵盤或觸摸屏上的鍵盤等實現(xiàn)對上述提示信息的反饋。
[0065]步驟A4、移動終端對檢測結(jié)果進行解析,得到PIN碼。
[0066]由上述步驟可以看出,PIN碼的信息是通過移動終端發(fā)送給智能密碼設備的,滿足了用戶手動輸入PIN碼的基本要求,符合安全規(guī)范,且由于借用了移動終端上的按鍵功能,無需在動態(tài)口令牌上部署按鍵信息,達到了縮小動態(tài)口令牌體積的目的。
[0067]在步驟103和104中,一次性密鑰是通過移動終端與智能密碼設備協(xié)商得到的,從而實現(xiàn)移動終端與智能密碼設備之間建立安全通道,具體實現(xiàn)方式包括:
[0068]方式一:
[0069]移動終端獲取智能密碼設備的公鑰,并利用公鑰對本地生成的軟件隨機數(shù)Kl進行加密,并將加密后的軟件隨機數(shù)Κ1'發(fā)送給智能密碼設備;
[0070]智能密碼設備接收加密后的軟件隨機數(shù)Κ1',并利用公鑰對應的私鑰對加密后的軟件隨機數(shù)Kl ’進行解密,得到軟件隨機數(shù)Kl ;并生成一硬件隨機數(shù)K2,并利用軟件隨機數(shù)Kl加密硬件隨機數(shù)K2,得到加密后的硬件隨機數(shù)K2’,發(fā)送加密后的硬件隨機數(shù)K2’至移動終端;
[0071]移動終端利用軟件隨機數(shù)Kl對加密后的硬件隨機數(shù)Κ2’進行解密,得到硬件隨機數(shù)Κ2,將硬件隨機數(shù)Κ2作為一次性密鑰,利用硬件隨機數(shù)Κ2加密PIN碼,得到加密后的PIN碼,并向智能密碼設備發(fā)送加密后的PIN碼;
[0072]智能密碼設備接收加密后的PIN碼,并利用硬件隨機數(shù)Κ2解密加密后的PIN碼,得到PIN碼;將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0073]本方式中,與本領域常用的使用隨機數(shù)相比,本方式采用的硬件隨機數(shù),較本領域慣用的軟件隨機數(shù)隨機性強,使得加密效果更好,另外,在獲取硬件隨機數(shù)過程中,以軟件隨機數(shù)作為密鑰傳輸硬件隨機數(shù),保證傳輸過程的安全。
[0074]方式二:
[0075]移動終端獲取智能密碼設備的公鑰和智能密碼設備生成的隨機數(shù),并利用公鑰對隨機數(shù)和PIN碼組成的序列進行加密,得到加密結(jié)果,并向智能密碼設備發(fā)送加密結(jié)果;
[0076]智能密碼設備利用私鑰對加密結(jié)果進行解密,得到序列,并利用隨機數(shù),從序列中獲取PIN碼,將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0077]本方式中,通過將隨機數(shù)與PIN碼組成序列,降低了黑客得到私鑰破解該序列后從序列里破解PIN碼的可能,有效降低了破解可能,提高了 PIN碼傳輸?shù)陌踩浴?br> [0078]優(yōu)選的,本方式中隨機數(shù)可以是硬件隨機數(shù),以增加序列的隨機性,當然,移動終端獲取硬件隨機數(shù)的方式也可以采用方式一中硬件隨機數(shù)的方式來獲取,以保證隨機數(shù)傳輸?shù)陌踩?br> [0079]另外,本方式中,上述移動終端獲取的智能密碼設備生成的隨機數(shù)可以是移動終端與智能密碼設備協(xié)商得到的,例如通過類似于方式一的互相加密的方式得到,通過加密傳輸該隨機數(shù)保證了隨機數(shù)傳輸?shù)陌踩裕乐贡桓`取造成的不安全隱患;該隨機數(shù)也可以是通過第一接口的安全傳輸通道不經(jīng)加密直接從智能密碼設備中獲取,提高獲取該隨機數(shù)的速度。
[0080]方式三:
[0081]移動終端獲取隨機數(shù),并將該隨機數(shù)和PIN碼組成第一序列,對第一序列進行哈希算法計算;得到第一計算結(jié)果,并向智能密碼設備發(fā)送第一計算結(jié)果;
[0082]智能密碼設備接收第一計算結(jié)果,并按照與移動終端的處理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二計算結(jié)果,將第一計算結(jié)果和第二計算結(jié)果進行比對,如果第一計算結(jié)果和第二計算結(jié)果相同,則驗證通過。
[0083]本方式中,利用哈希算法不可逆的特性,通過由隨機數(shù)和PIN碼組成的序列進行計算,進而由智能密碼設備判斷移動終端的計算結(jié)果與本地的計算結(jié)果進行比對,實現(xiàn)對PIN碼的驗證,實現(xiàn)簡單。
[0084]其中,本方式中的硬件隨機數(shù)也可以采用方式一中硬件隨手數(shù)的方式來獲取,以保證硬件隨機數(shù)的安全。也可以直接通過第一接口的安全傳輸通道不經(jīng)加密直接從智能密碼設備中獲取,提高獲取速度。[0085]進一步需要說明的是,加密密鑰和解密密鑰優(yōu)選為非對稱公私鑰對,且加密密鑰與智能密碼設備中簽名功能所采用的公鑰不同,解密密鑰與智能密碼設備中簽名功能所采用的私鑰不同,從而減少簽名功能所采用的私鑰的使用次數(shù),減少暴力破解簽名功能所采用的私鑰的可能,提高信息存儲的安全性。
[0086]需要說明的是,本申請中動態(tài)口令生成功能內(nèi)置于智能密碼設備的安全芯片中,由于安全芯片是一個安全環(huán)境,能夠保證動態(tài)口令生成功能的安全,且對于智能密碼設備而言,無需增加硬件成本,使得電子簽名功能與動態(tài)口令功能集成于一個芯片中,且共用顯示裝置,結(jié)構(gòu)設計簡單精巧。
[0087]圖2為本發(fā)明提供的動態(tài)口令生成系統(tǒng)實施例的結(jié)構(gòu)示意圖。圖2所示系統(tǒng)實施例包括移動終端、后臺服務器和智能密碼設備,其中:
[0088]移動終端中的第一處理模塊201,用于獲取交易信息,并根據(jù)交易信息生成交易請求,其中交易請求至少包括交易信息以及挑戰(zhàn)碼請求;
[0089]移動終端中的第一傳輸模塊202,與第一處理模塊201相連,用于將交易請求發(fā)送至后臺服務器;
[0090]后臺服務器中的第二傳輸模塊203,用于接收交易請求;
[0091]后臺服務器中的第一生成模塊204,與第二傳輸模塊203相連,用于根據(jù)預先設置的挑戰(zhàn)碼生成策略,生成交易請求的挑戰(zhàn)碼;
[0092]后臺服務器中的第一加密模塊205,與第一生成模塊204相連,用于利用加密密鑰至少對挑戰(zhàn)碼進行加密,得到加密數(shù)據(jù)包;
[0093]后臺服務器的第二傳輸模塊203,與第一加密模塊205相連,用于向移動終端發(fā)送加密數(shù)據(jù)包;
[0094]移動終端的檢測模塊206,用于在移動終端將加密數(shù)據(jù)包發(fā)送給智能密碼設備之前,移動終端檢測智能密碼設備是否已插入;
[0095]移動終端中的獲取模塊207,與檢測模塊206相連,用于在檢測模塊檢測到智能密碼設備已插入時,通過所述移動終端的鍵盤獲取智能密碼設備的PIN碼;其中,PIN碼用于開啟智能密碼設備的功能權(quán)限;
[0096]移動終端中的第二加密模塊208,與獲取模塊207相連,用于通過一次性密鑰加密PIN碼,得到加密后的PIN碼;
[0097]移動終端中的第三傳輸模塊209,與第二加密模塊208相連,用于對加密后的PIN碼進行編碼,得到編碼數(shù)據(jù),并通過第一接口將編碼數(shù)據(jù)發(fā)送至智能密碼設備;
[0098]智能密碼設備中的第四傳輸模塊210,與第三傳輸模塊209相連,用于接收編碼數(shù)據(jù),對編碼數(shù)據(jù)進行解碼,獲得加密后的PIN碼;
[0099]智能密碼設備中的驗證模塊211,與第四傳輸模塊210相連,用于根據(jù)加密后的PIN碼驗證PIN碼的合法性,如果驗證PIN碼合法,開啟動態(tài)口令生成功能,并通過第四傳輸模塊210向移動終端發(fā)送狀態(tài)切換成功信息;
[0100]移動終端中的第三傳輸模塊209,用于在接收到狀態(tài)切換成功信息后,通過第一接口將接收到的加密數(shù)據(jù)包發(fā)送給智能密碼設備;
[0101]智能密碼設備中的動態(tài)口令生成模塊,包括:
[0102]解密子模塊212,用于利用加密密鑰對應的解密密鑰對加密數(shù)據(jù)包進行解密,得到解密數(shù)據(jù),并輸出解密數(shù)據(jù);[0103]第二生成子模塊213,用于當接收到對解密數(shù)據(jù)的確認指令后,生成本次交易對應的動態(tài)口令。
[0104]由上可以看出,在生成動態(tài)口令過程中,現(xiàn)有技術(shù)中借助鍵盤的操作的場景分別為輸入PIN碼和輸入挑戰(zhàn)碼,但本發(fā)明提供的方法實施例中移動終端發(fā)送PIN碼實現(xiàn)對用戶使用的動態(tài)口令的訪問控制,且PIN碼的輸入與現(xiàn)有技術(shù)中是在智能密碼設備的鍵盤上輸入相比,借用移動終端的鍵盤功能,由移動終端通過第一接口發(fā)送給智能密碼設備,從而完成PIN碼的輸入,使得智能密碼設備無需設置數(shù)字鍵盤,大大縮小了智能密碼設備的體積;另外,為了保證PIN碼的安全傳輸,通過一次性密鑰進行加密,降低了 PIN碼被盜的可能,保證了信息傳輸?shù)陌踩?;另外,與現(xiàn)有技術(shù)中挑戰(zhàn)碼由用戶輸入相比,本申請中挑戰(zhàn)碼是由移動終端通過第一接口傳輸給智能密碼設備,無需用戶手動輸入的,優(yōu)化了用戶的輸入操作。
[0105]此外,對加密后的PIN碼進行編碼,使其符合第一接口傳輸數(shù)據(jù)的協(xié)議,通過移動終端的第一接口進行數(shù)據(jù)傳輸,提高了智能密碼設備的通用性和易用性。當然,本發(fā)明中的第一接口可以為音頻接口(耳機接口)、NFC接口、藍牙接口、OTG接口、USB接口、紅外接口、光傳輸接口等任意形式的接口。
[0106]另外,移動終端在獲取交易信息過程中,在獲取交易信息的付款賬號和/或收款賬號之前,為進一步簡化用戶輸入操作,智能密碼設備還可以包括:歷史記錄模塊,該歷史記錄模塊用于:在獲取交易信息的付款賬號和/或收款賬號之前,顯示歷史記錄中記載的賬號信息,如果歷史記錄中對應有賬號,則接收對顯示的賬號信息的選擇指令,將選擇的賬號作為交易信息保存,如果歷史記錄中沒有對應的賬號,則接收用戶輸入的賬號信息,將用戶輸入的賬號信息作為交易信息保存,并將用戶輸入的賬號信息添加到歷史記錄中。
[0107]另外,移動終端在向智能密碼設備發(fā)送該挑戰(zhàn)碼的同時,還可以發(fā)送其他信息,例如時間同步信息等信息,以保證動態(tài)口令生成時的時間與后臺服務器同步。此時智能密碼設備還包括:時鐘模塊,該時鐘模塊用于記錄時間;此時,加密數(shù)據(jù)包還可以包括時間同步信息,用以同步智能密碼設備中時鐘模塊的時間;智能密碼設備還可以包括:時鐘模塊,用于記錄時間;動態(tài)口令生成模塊還可以包括:第三處理子模塊,與時鐘模塊相連,用于在第二生成子模塊生成本次交易對應的動態(tài)口令之前,將解密得到的時間同步信息與智能密碼設備中動態(tài)口令功能中時鐘模塊的時間進行比較,得到時間差值,將時間差值與本地存儲的時間誤差范圍進行比較,如果時間差值不在時間誤差范圍內(nèi),則提示用戶是否進行時間同步;如果接收到同步指令后,根據(jù)時間同步信息,對時鐘模塊的時間進行調(diào)整,并在調(diào)整完成后,指示第二生成子模塊執(zhí)行動態(tài)口令生成流程。
[0108]另外,第二加密模塊采用的一次性密鑰可以是通過移動終端與智能密碼設備協(xié)商得到的,從而實現(xiàn)移動終端與智能密碼設備之間建立安全通道,該第二加密模塊具體用于:獲取智能密碼設備的公鑰,并利用公鑰對本地生成的軟件隨機數(shù)Kl進行加密,并通過第三傳輸模塊209將加密后的軟件隨機數(shù)Κ1發(fā)送給智能密碼設備;以及,利用軟件隨機數(shù)Kl對加密后的硬件隨機數(shù)K2’進行解密,得到硬件隨機數(shù)K2,將硬件隨機數(shù)K2作為一次性密鑰,利用硬件隨機數(shù)K2加密PIN碼,得到加密后的PIN碼;驗證模塊,具體用于:接收加密后的軟件隨機數(shù)Κ1,并利用公鑰對應的私鑰對加密后的軟件隨機數(shù)Κ1進行解密,得到軟件隨機數(shù)Kl ;并生成一硬件隨機數(shù)K2,并利用軟件隨機數(shù)Kl加密硬件隨機數(shù)K2,得到加密后的硬件隨機數(shù)K2’,通過第四傳輸模塊210發(fā)送加密后的硬件隨機數(shù)K2’至移動終端;以及,通過第四傳輸模塊210接收加密后的PIN碼,并利用硬件隨機數(shù)K2解密加密后的PIN碼,得到PIN碼;將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
[0109]或者,該第二加密模塊,具體用于:獲取智能密碼設備的公鑰和智能密碼設備生成的隨機數(shù),并利用公鑰對隨機數(shù)和PIN碼組成的序列進行加密,得到加密結(jié)果;驗證模塊,具體用于:利用私鑰對加密結(jié)果進行解密,得到序列,并利用隨機數(shù),從序列中獲取PIN碼,將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。本方式中,上述移動終端獲取的智能密碼設備生成的隨機數(shù)可以是移動終端與智能密碼設備協(xié)商得到的,例如通過類似于上述通過軟件隨機數(shù)和硬件隨機數(shù)的互相加密的方式得到,通過加密傳輸該隨機數(shù)保證了隨機數(shù)傳輸?shù)陌踩裕乐贡桓`取造成的不安全隱患;該隨機數(shù)也可以是通過第一接口的安全傳輸通道不經(jīng)加密直接從智能密碼設備中獲取,提高獲取該隨機數(shù)的速度。
[0110]或者,第二加密模塊,具體用于:獲取隨機數(shù),并將該隨機數(shù)和PIN碼組成第一序列,對第一序列進行哈希算法計算;得到第一計算結(jié)果;驗證模塊,具體用于:按照與移動終端的處理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二計算結(jié)果,將第一計算結(jié)果和第二計算結(jié)果進行比對,如果第一計算結(jié)果和第二計算結(jié)果相同,則驗證通過。本方式中的硬件隨機數(shù)也可以采用方式一中硬件隨機數(shù)的方式來獲取,以保證硬件隨機數(shù)的安全。也可以直接通過第一接口的安全傳輸通道不經(jīng)加密直接從智能密碼設備中獲取,提聞獲取速度。
[0111]進一步需要說明的是,加密密鑰和解密密鑰優(yōu)選為非對稱公私鑰對,且加密密鑰與智能密碼設備的公鑰不同,解密密鑰與智能密碼設備的私鑰不同。即加密密鑰與智能密碼設備中電子簽名功能所采用的公鑰不同,解密密鑰與智能密碼設備中電子簽名功能所采用的私鑰不同,從而減少簽名功能所采用的私鑰的使用次數(shù),減少暴力破解簽名功能所采用的私鑰的可能,提高信息存儲的安全性。
[0112]優(yōu)選的,智能密碼設備包括安全芯片,其中動態(tài)口令生成模塊內(nèi)置于安全芯片。該安全芯片可以為實現(xiàn)智能密碼設備電子簽名功能的安全芯片。由于安全芯片是一個安全環(huán)境,能夠保證動態(tài)口令生成功能的安全,且對于智能密碼設備而言,無需增加硬件成本,使得電子簽名功能與動態(tài)口令生成功能集成于一個芯片中,且共用顯示裝置,結(jié)構(gòu)設計簡單精巧。
[0113]進一步的,智能密碼設備還包括數(shù)字簽名模塊,其中數(shù)字簽名模塊與動態(tài)口令生成模塊內(nèi)置于同一個安全芯片中。該數(shù)字簽名模塊即可以實現(xiàn)現(xiàn)有技術(shù)中的電子簽名功倉泛。
[0114]需要說明的是,與現(xiàn)有技術(shù)中動態(tài)口令牌的硬件防拆的設置相比,本發(fā)明提供中動態(tài)口令生成模塊作為一個功能模塊內(nèi)置于安全芯片中,由于安全芯片能夠能構(gòu)成一個安全環(huán)境,因此無需在本發(fā)明中的智能密碼設備設置相關(guān)的硬件防拆的結(jié)構(gòu),節(jié)省了硬件成本開支。
[0115]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本發(fā)明的實施例所屬【技術(shù)領域】的技術(shù)人員所理解。
[0116]應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0117]本【技術(shù)領域】的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0118]此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
[0119]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0120]在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
[0121]盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【權(quán)利要求】
1.一種動態(tài)口令生成方法,其特征在于,包括: 移動終端獲取交易信息,并根據(jù)交易信息生成交易請求,并將所述交易請求發(fā)送至后臺服務器,其中所述交易請求至少包括交易信息以及挑戰(zhàn)碼請求; 所述后臺服務器接收所述交易請求,并根據(jù)預先設置的挑戰(zhàn)碼生成策略,生成所述交易請求的挑戰(zhàn)碼;再利用加密密鑰至少對所述挑戰(zhàn)碼進行加密,得到加密數(shù)據(jù)包,并向所述移動終端發(fā)送所述加密數(shù)據(jù)包; 在移動終端將所述加密數(shù)據(jù)包發(fā)送給智能密碼設備之前,所述移動終端檢測智能密碼設備是否已插入;如果所述智能密碼設備已插入,則通過所述移動終端的鍵盤獲取所述智能密碼設備的PIN碼;并通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,對所述加密后的PIN碼進行編碼,得到編碼數(shù)據(jù),并通過第一接口將所述編碼數(shù)據(jù)發(fā)送至所述智能密碼設備,其中,所述PIN碼用于開啟所述智能密碼設備的功能權(quán)限; 所述智能密碼設備接收所述編碼數(shù)據(jù),對所述編碼數(shù)據(jù)進行解碼,獲得所述加密后的PIN碼,根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,如果驗證所述PIN碼合法,開啟動態(tài)口令生成功能,并向所述移動終端發(fā)送狀態(tài)切換成功信息; 所述移動終端在接收到狀態(tài)切換成功信息后,通過第一接口將接收到的所述加密數(shù)據(jù)包發(fā)送給智能密碼設備; 所述智能密碼設備利用加密密鑰對應的解密密鑰對所述加密數(shù)據(jù)包進行解密,得到解密數(shù)據(jù),并輸出所述解密數(shù)據(jù);當接收到對所述解密數(shù)據(jù)的確認指令后,生成本次交易對應的動態(tài)口令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述移動終端獲取交易信息,包括: 所述移動終端在獲取交易信息的付款賬號和/或收款賬號之前,顯示歷史記錄中記載的賬號信息,如果歷史記錄中對應有賬號,則接收對顯示的賬號信息的選擇指令,將選擇的賬號作為交易信息保存,如果歷史記錄中沒有對應的賬號,則接收用戶輸入的賬號信息,將用戶輸入的賬號信息作為交易信息保存,并將用戶輸入的賬號信息添加到歷史記錄中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述加密數(shù)據(jù)包還包括時間同步信息,用以同步智能密碼設備中時鐘模塊的時間; 在生成本次交易對應的動態(tài)口令之前,所述方法還包括: 智能密碼設備將解密得到的時間同步信息與所述智能密碼設備中動態(tài)口令功能中時鐘模塊的時間進行比較,得到時間差值,將所述時間差值與本地存儲的時間誤差范圍進行比較,如果時間差值不在時間誤差范圍內(nèi),則提示用戶是否進行時間同步;如果接收到同步指令后,根據(jù)時間同步信息,對時鐘模塊的時間進行調(diào)整,并在調(diào)整完成后,執(zhí)行動態(tài)口令生成流程。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述移動終端通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,包括: 移動終端獲取智能密碼設備的公鑰,并利用所述公鑰對本地生成的軟件隨機數(shù)Kl進行加密,并將加密后的軟件隨機數(shù)Κ1'發(fā)送給智能密碼設備; 智能密碼設備接收所述加密后的軟件隨機數(shù)Κ1',并利用所述公鑰對應的私鑰對所述加密后的軟件隨機數(shù)Κ1'進行解密,得到軟件隨機數(shù)Kl ;并生成一硬件隨機數(shù)K2,并利用所述軟件隨機數(shù)Kl加密所述硬件隨機數(shù)K2,得到加密后的硬件隨機數(shù)K2’,發(fā)送所述加密后的硬件隨機數(shù)K2’至移動終端; 所述移動終端利用所述軟件隨機數(shù)Kl對加密后的硬件隨機數(shù)Κ2’進行解密,得到硬件隨機數(shù)Κ2,將硬件隨機數(shù)Κ2作為一次性密鑰,利用硬件隨機數(shù)Κ2加密PIN碼,得到加密后的PIN碼; 所述智能密碼設備根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,包括: 所述智能密碼設備接收所述加密后的PIN碼,并利用所述硬件隨機數(shù)Κ2解密所述加密后的PIN碼,得到PIN碼;將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述移動終端通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,包括: 移動終端獲取智能密碼設備的公鑰和智能密碼設備生成的隨機數(shù),并利用所述公鑰對所述隨機數(shù)和PIN碼組成的序列進行加密,得到加密結(jié)果; 所述智能密碼設備根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,包括: 所述智能密碼設備利用私 鑰對所述加密結(jié)果進行解密,得到所述序列,并利用所述隨機數(shù),從所述序列中獲取所述PIN碼,將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述加密密鑰和所述解密密鑰為非對稱公私鑰對,且所述加密密鑰與所述智能密碼設備的公鑰不同,所述解密密鑰與智能密碼設備的私鑰不同。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述移動終端通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼,包括: 所述移動終端獲取隨機數(shù),并將該隨機數(shù)和PIN碼組成第一序列,對所述第一序列進行哈希算法計算;得到第一計算結(jié)果; 所述智能密碼設備根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,包括: 所述智能密碼設備按照與移動終端的處理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二計算結(jié)果,將所述第一計算結(jié)果和所述第二計算結(jié)果進行比對,如果所述第一計算結(jié)果和所述第二計算結(jié)果相同,則驗證通過。
8.一種動態(tài)口令生成系統(tǒng),其特征在于,包括移動終端、后臺服務器和智能密碼設備,其中: 所述移動終端中的第一處理模塊,用于獲取交易信息,并根據(jù)交易信息生成交易請求,其中所述交易請求至少包括交易信息以及挑戰(zhàn)碼請求; 所述移動終端中的第一傳輸模塊,與所述第一處理模塊相連,用于將所述交易請求發(fā)送至后臺服務器; 所述后臺服務器中的第二傳輸模塊,用于接收所述交易請求; 所述后臺服務器中的第一生成模塊,與所述第二傳輸模塊相連,用于根據(jù)預先設置的挑戰(zhàn)碼生成策略,生成所述交易請求的挑戰(zhàn)碼; 所述后臺服務器中的第一加密模塊,與所述第一生成模塊相連,用于利用加密密鑰至少對所述挑戰(zhàn)碼進行加密,得到加密數(shù)據(jù)包; 所述后臺服務器的所述第二傳輸模塊,與所述第一加密模塊相連,用于向所述移動終端發(fā)送所述加密數(shù)據(jù)包; 所述移動終端的檢測模塊,用于在移動終端將所述加密數(shù)據(jù)包發(fā)送給智能密碼設備之前,檢測智能密碼設備是否已插入; 所述移動終端中的獲取模塊,與所述檢測模塊相連,用于在檢測模塊檢測到所述智能密碼設備已插入時,通過所述移動終端的鍵盤獲取所述智能密碼設備的PIN碼;其中,所述PIN碼用于開啟所述智能密碼設備的功能權(quán)限; 所述移動終端中的第二加密模塊,與所述獲取模塊相連,用于通過一次性密鑰加密所述PIN碼,得到加密后的PIN碼; 所述移動終端中的所述第三傳輸模塊,與所述第二加密模塊相連,用于對所述加密后的PIN碼進行編碼,得到編碼數(shù)據(jù),并通過第一接口將所述編碼數(shù)據(jù)發(fā)送至所述智能密碼設備; 所述智能密碼設備中的第四傳輸模塊,與所述第三傳輸模塊相連,用于接收所述編碼數(shù)據(jù),對所述編碼數(shù)據(jù)進行解碼,獲得所述加密后的PIN碼; 所述智能密碼設備中的驗證模塊,與所述第四傳輸模塊相連,用于根據(jù)所述加密后的PIN碼驗證所述PIN碼的合法性,如果驗證所述PIN碼合法,開啟動態(tài)口令生成功能,并通過所述第四傳輸模塊向所述移動終端發(fā)送狀態(tài)切換成功信息; 所述移動終端中的所述第三傳輸模塊,用于在接收到狀態(tài)切換成功信息后,通過第一接口將接收到的所述加密數(shù)據(jù)包發(fā)送給智能密碼設備; 所述智能密碼設備中的動態(tài)口令生成模塊,包括: 解密子模塊,用于利用加密密鑰對應的解密密鑰對所述加密數(shù)據(jù)包進行解密,得到解密數(shù)據(jù),并輸出所述解密數(shù)據(jù); 第二生成子模塊,用于當接收到對所述解密數(shù)據(jù)的確認指令后,生成本次交易對應的動態(tài)口令。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述智能密碼設備還包括:歷史記錄模塊,所述歷史記錄模塊用于: 在獲取交易信息的付款賬號和/或收款賬號之前,顯示歷史記錄中記載的賬號信息,如果歷史記錄中對應有賬號,則接收對顯示的賬號信息的選擇指令,將選擇的賬號作為交易信息保存,如果歷史記錄中沒有對應的賬號,則接收用戶輸入的賬號信息,將用戶輸入的賬號信息作為交易信息保存,并將用戶輸入的賬號信息添加到歷史記錄中。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于:所述智能密碼設備還包括:時鐘模塊,用于記錄時間; 所述加密數(shù)據(jù)包還包括時間同步信息,用以同步智能密碼設備中時鐘模塊的時間; 其中,所述智能密碼設備中動態(tài)口令生成模塊還包括: 第三處理子模塊,與所述時鐘模塊相連,用于在所述第二生成子模塊生成本次交易對應的動態(tài)口令之前,將解密得到的時間同步信息與所述智能密碼設備中動態(tài)口令功能中時鐘模塊的時間進行比較,得到時間差值,將所述時間差值與本地存儲的時間誤差范圍進行比較,如果時間差值不在時間誤差范圍內(nèi),則提示用戶是否進行時間同步;如果接收到同步指令后,根據(jù)時間同步信息,對時鐘模塊的時間進行調(diào)整,并在調(diào)整完成后,指示所述第二生成子模塊執(zhí)行動態(tài)口令生成流程。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于: 所述第二加密模塊,具體用于: 獲取智能密碼設備的公鑰,并利用所述公鑰對本地生成的軟件隨機數(shù)Kl進行加密,并通過所述第三傳輸模塊將加密后的軟件隨機數(shù)Κ1`發(fā)送給智能密碼設備;以及,利用所述軟件隨機數(shù)Kl對加密后的硬件隨機數(shù)K2’進行解密,得到硬件隨機數(shù)K2,將硬件隨機數(shù)K2作為一次性密鑰,利用硬件隨機數(shù)K2加密PIN碼,得到加密后的PIN碼; 所述驗證模塊,具體用于 : 接收所述加密后的軟件隨機數(shù)Κ1',并利用所述公鑰對應的私鑰對所述加密后的軟件隨機數(shù)Kl ’進行解密,得到軟件隨機數(shù)Kl ;并生成一硬件隨機數(shù)K2,并利用所述軟件隨機數(shù)Kl加密所述硬件隨機數(shù)K2,得到加密后的硬件隨機數(shù)K2’,通過所述第四傳輸模塊發(fā)送所述加密后的硬件隨機數(shù)K2’至移動終端;以及,通過所述第四傳輸模塊接收所述加密后的PIN碼,并利用所述硬件隨機數(shù)K2解密所述加密后的PIN碼,得到PIN碼;將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于: 所述第二加密模塊,具體用于: 獲取智能密碼設備的公鑰和智能密碼設備生成的隨機數(shù),并利用所述公鑰對所述隨機數(shù)和PIN碼組成的序列進行加密,得到加密結(jié)果; 所述驗證模塊,具體用于: 利用私鑰對所述加密結(jié)果進行解密,得到所述序列,并利用所述隨機數(shù),從所述序列中獲取所述PIN碼,將獲取到的PIN碼與本地保存的PIN碼進行比較,如果兩個PIN碼相同,則驗證通過。
13.根據(jù)權(quán)利要求11或12所述的系統(tǒng),其特征在于,所述加密密鑰和所述解密密鑰為非對稱公私鑰對,且所述加密密鑰與所述智能密碼設備的公鑰不同,所述解密密鑰與智能密碼設備的私鑰不同。
14.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于: 所述第二加密模塊,具體用于: 獲取隨機數(shù),并將該隨機數(shù)和PIN碼組成第一序列,對所述第一序列進行哈希算法計算;得到第一計算結(jié)果; 所述驗證模塊,具體用于: 按照與移動終端的處理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二計算結(jié)果,將所述第一計算結(jié)果和所述第二計算結(jié)果進行比對,如果所述第一計算結(jié)果和所述第二計算結(jié)果相同,則驗證通過。
15.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述智能密碼設備包括安全芯片,其中所述動態(tài)口令生成模塊內(nèi)置于安全芯片。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述智能密碼設備還包括數(shù)字簽名模塊,其中所述數(shù)字簽名模塊與所述動態(tài)口令生成模塊內(nèi)置于同一個安全芯片中。
【文檔編號】H04L9/32GK103516525SQ201310499775
【公開日】2014年1月15日 申請日期:2013年10月22日 優(yōu)先權(quán)日:2013年10月22日
【發(fā)明者】李東聲 申請人:天地融科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永新县| 双江| 竹山县| 阳城县| 北流市| 景宁| 禹城市| 天镇县| 辉南县| 双柏县| 霸州市| 庄浪县| 梧州市| 勃利县| 沙湾县| 松桃| 上犹县| 新沂市| 称多县| 丁青县| 天长市| 德令哈市| 诸暨市| 广南县| 五家渠市| 抚松县| 开化县| 神池县| 岢岚县| 娄烦县| 佛教| 防城港市| 中超| 嘉兴市| 贡嘎县| 浦县| 宁武县| 新和县| 虹口区| 宁波市| 阳信县|