一種安全登錄的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種安全登錄的方法和系統(tǒng),該方法包括:客戶端向認(rèn)證中心發(fā)送敏感信息下發(fā)請求;認(rèn)證中心查找第二敏感信息,生成隨機(jī)數(shù)、第一應(yīng)答數(shù)據(jù)和應(yīng)答報(bào)文,向客戶端發(fā)送應(yīng)答報(bào)文;客戶端得到第一應(yīng)答數(shù)據(jù)和第二敏感信息,將第一應(yīng)答數(shù)據(jù)發(fā)送到認(rèn)證設(shè)備;認(rèn)證設(shè)備得到第二敏感信息和隨機(jī)數(shù),向客戶端返回第二敏感信息;若客戶端判斷接收到的第二敏感信息與根據(jù)應(yīng)答報(bào)文得到的第二敏感信息一致,則認(rèn)證設(shè)備根據(jù)時間因子、預(yù)設(shè)算法以及隨機(jī)數(shù)生成第一動態(tài)口令,通過客戶端向認(rèn)證中心發(fā)送所述第一動態(tài)口令;認(rèn)證中心根據(jù)隨機(jī)數(shù)、時間因子和預(yù)設(shè)算法,生成第二動態(tài)口令,判斷第一動態(tài)口令與第二動態(tài)口令是否一致,是則認(rèn)證成功,否則失敗。
【專利說明】一種安全登錄的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種安全登錄的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 動態(tài)口令作為身份認(rèn)證技術(shù)之一,目前已經(jīng)被越來越多的行業(yè)所應(yīng)用。由于它使 用便捷,且與平臺無關(guān)性,隨著移動互聯(lián)網(wǎng)的發(fā)展,動態(tài)口令技術(shù)已成為用戶登錄時的身份 認(rèn)證技術(shù)的主流,被廣泛應(yīng)用于企業(yè)、電子商務(wù)等領(lǐng)域,目前用于生成動態(tài)口令終端有硬件 令牌、短信密碼和手機(jī)令牌。現(xiàn)有的基于動態(tài)口令的身份認(rèn)證技術(shù)雖然方便快捷,但是在傳 輸動態(tài)口令的過程中,動態(tài)口令易被他人截獲、篡改,因此現(xiàn)有的基于動態(tài)口令的登錄方法 安全性差。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種安全登錄的方法和系統(tǒng),實(shí) 現(xiàn)安全登錄。
[0004] 本發(fā)明提供的一種安全登錄的方法,應(yīng)用于包括客戶端、認(rèn)證中心和認(rèn)證設(shè)備的 系統(tǒng)中,所述方法包括:
[0005] 步驟S1 :當(dāng)所述客戶端檢測到觸發(fā)信息后,所述客戶端獲取所述認(rèn)證設(shè)備的認(rèn)證 設(shè)備序列號和第一敏感信息標(biāo)識,根據(jù)所述認(rèn)證設(shè)備序列號和所述第一敏感信息標(biāo)識生成 敏感信息下發(fā)請求,向所述認(rèn)證中心發(fā)送所述敏感信息下發(fā)請求;
[0006] 步驟S2 :所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求中的所述第一敏感信息標(biāo)識, 查找對應(yīng)的第一敏感信息,并在所述認(rèn)證中心查找第二敏感信息,生成隨機(jī)數(shù),將所述隨機(jī) 數(shù)與所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號對應(yīng)存儲,根據(jù)所述第一敏感信息、 所述第二敏感信息和所述隨機(jī)數(shù)生成第一應(yīng)答數(shù)據(jù),根據(jù)所述第一應(yīng)答數(shù)據(jù)和所述第二敏 感信息生成應(yīng)答報(bào)文,向所述客戶端發(fā)送所述應(yīng)答報(bào)文;
[0007] 步驟S3 :所述客戶端根據(jù)所述應(yīng)答報(bào)文,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息,將 得到的第一應(yīng)答數(shù)據(jù)發(fā)送到所述認(rèn)證設(shè)備;
[0008] 步驟S4 :所述認(rèn)證設(shè)備根據(jù)接收到的第一應(yīng)答數(shù)據(jù),得到第一敏感信息、第二敏 感信息和隨機(jī)數(shù),對得到的第一敏感信息進(jìn)行顯示;
[0009] 步驟S5 :當(dāng)所述認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,所述認(rèn)證設(shè)備判斷所述按鍵的類 型,若是第一按鍵則向所述客戶端返回從所述第一應(yīng)答數(shù)據(jù)中得到的第二敏感信息,執(zhí)行 步驟S7,若是第二按鍵則向所述客戶端返回錯誤碼,執(zhí)行步驟S6 ;
[0010] 步驟S6 :所述客戶端接收所述認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄 失敗信息,結(jié)束;
[0011] 步驟S7 :所述客戶端判斷接收到的第二敏感信息與根據(jù)所述應(yīng)答報(bào)文得到的第 二敏感信息是否一致,是則向所述認(rèn)證設(shè)備發(fā)送登錄指令,執(zhí)行步驟S8,否則顯示登錄失敗 信息,結(jié)束;
[0012] 步驟S8 :所述認(rèn)證設(shè)備根據(jù)所述認(rèn)證設(shè)備中的時間因子、預(yù)設(shè)算法以及從第一應(yīng) 答數(shù)據(jù)中得到的隨機(jī)數(shù),生成第一動態(tài)口令,向所述客戶端發(fā)送所述第一動態(tài)口令和所述 認(rèn)證設(shè)備序列號;
[0013] 步驟S9 :所述客戶端向所述認(rèn)證中心發(fā)送所述第一動態(tài)口令和所述認(rèn)證設(shè)備序 列號;
[0014] 步驟S10 :所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備序列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)查找 到的隨機(jī)數(shù)、所述認(rèn)證中心中的時間因子和預(yù)設(shè)算法,生成第二動態(tài)口令,判斷所述第一動 態(tài)口令與所述第二動態(tài)口令是否一致,是則向所述客戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向 所述客戶端返回錯誤碼,執(zhí)行步驟S11 ;
[0015] 步驟S11 :所述客戶端接收所述認(rèn)證中心發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登 錄失敗信息,結(jié)束。
[0016] 所述客戶端獲取所述認(rèn)證設(shè)備的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識,具體為: 所述客戶端向所述認(rèn)證設(shè)備發(fā)送獲取指令,接收所述認(rèn)證設(shè)備返回的認(rèn)證設(shè)備序列號和第 一敏感信息標(biāo)識。
[0017] 所述客戶端獲取所述認(rèn)證設(shè)備的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識,具體為: 所述客戶端接收用戶輸入的用戶信息,根據(jù)所述用戶信息在所述客戶端內(nèi)部查找對應(yīng)的認(rèn) 證設(shè)備序列號和第一敏感信息標(biāo)識。
[0018] 所述步驟S2之前包括:
[0019] 步驟A1 :所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求,判斷所述認(rèn)證設(shè)備是否合 法,是則執(zhí)行步驟S2,否則向所述客戶端返回錯誤碼,執(zhí)行步驟A2 ;
[0020] 步驟A2 :所述客戶端接收所述認(rèn)證中心發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄 失敗信息,結(jié)束。
[0021] 所述步驟A1具體為:
[0022] 所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號,查找對應(yīng)的 認(rèn)證設(shè)備的狀態(tài)和認(rèn)證設(shè)備公鑰,若根據(jù)查找到的所述認(rèn)證設(shè)備的狀態(tài),判斷所述認(rèn)證設(shè) 備可用并且所述認(rèn)證設(shè)備公鑰存在時,則執(zhí)行步驟S2,否則向所述客戶端返回錯誤碼,執(zhí)行 步驟A2。
[0023] 所述根據(jù)所述第一敏感信息、所述第二敏感信息和所述隨機(jī)數(shù)生成第一應(yīng)答數(shù) 據(jù),具體為:
[0024] 所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號,在所述認(rèn)證 中心查找對應(yīng)的認(rèn)證設(shè)備公鑰,所述認(rèn)證中心對所述第一敏感信息、所述第二敏感信息和 所述隨機(jī)數(shù)進(jìn)行拼接組合,得到第一數(shù)據(jù),根據(jù)查找到的所述認(rèn)證設(shè)備公鑰對所述第一數(shù) 據(jù)進(jìn)行加密,得到第一加密數(shù)據(jù),使用認(rèn)證中心私鑰對所述第一加密數(shù)據(jù)進(jìn)行簽名,得到第 一簽名值,根據(jù)所述第一加密數(shù)據(jù)和所述第一簽名值得到所述第一應(yīng)答數(shù)據(jù);
[0025] 所述步驟S4之前還包括:
[0026] 步驟B1 :所述認(rèn)證設(shè)備根據(jù)存儲的認(rèn)證中心公鑰,對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行 驗(yàn)簽,判斷是否驗(yàn)簽成功,是則執(zhí)行步驟S4,否則向所述客戶端返回錯誤碼,執(zhí)行步驟B2 ;
[0027] 步驟B2 :所述客戶端接收所述認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄 失敗信息,結(jié)束;
[0028] 所述認(rèn)證設(shè)備根據(jù)接收到的第一應(yīng)答數(shù)據(jù),得到第一敏感信息、第二敏感信息和 隨機(jī)數(shù),具體為:
[0029] 所述認(rèn)證設(shè)備根據(jù)認(rèn)證設(shè)備私鑰對接收到的第一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn) 行解密,得到第一數(shù)據(jù),對得到的第一數(shù)據(jù)進(jìn)行拆分,得到第一敏感信息、第二敏感信息和 隨機(jī)數(shù)。
[0030] 所述根據(jù)所述第一加密數(shù)據(jù)和所述第一簽名值得到所述第一應(yīng)答數(shù)據(jù),具體為:
[0031] 所述認(rèn)證中心對所述第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字符數(shù)據(jù),對所述 第一簽名值進(jìn)行base64編碼,得到第二字符數(shù)據(jù),對所述第一字符數(shù)據(jù)和所述第二字符數(shù) 據(jù)進(jìn)行組合拼接,生成所述第一應(yīng)答數(shù)據(jù);
[0032] 所述認(rèn)證設(shè)備根據(jù)存儲的認(rèn)證中心公鑰,對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,具 體為:
[0033] 所述認(rèn)證設(shè)備對接收到的第一應(yīng)答數(shù)據(jù)中的第一字符數(shù)據(jù)進(jìn)行base64解碼,得 到第一加密數(shù)據(jù),對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行base64解碼,得到第一簽名值, 根據(jù)base64解碼得到的第一加密數(shù)據(jù)和第一簽名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
[0034] 所述根據(jù)所述第一加密數(shù)據(jù)和所述第一簽名值得到所述第一應(yīng)答數(shù)據(jù),具體為:
[0035] 所述認(rèn)證中心對所述第一加密數(shù)據(jù)和所述第一簽名值進(jìn)行組合拼接,得到第二數(shù) 據(jù),對所述第二數(shù)據(jù)進(jìn)行base64編碼,得到所述第一應(yīng)答數(shù)據(jù);
[0036] 所述認(rèn)證設(shè)備根據(jù)存儲的認(rèn)證中心公鑰,對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,具 體為:
[0037] 所述認(rèn)證設(shè)備對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行base64解碼,得到第二數(shù)據(jù),根據(jù) base64解碼得到的第二數(shù)據(jù)中的第一加密數(shù)據(jù)和第一簽名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。 [0038] 所述對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,具體為:
[0039] 所述認(rèn)證設(shè)備根據(jù)認(rèn)證中心公鑰對第一簽名值進(jìn)行運(yùn)算,得到第一驗(yàn)證數(shù)據(jù),判 斷運(yùn)算得到的所述第一驗(yàn)證數(shù)據(jù)與base64解碼得到的第一加密數(shù)據(jù)是否一致,是則確定 驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0040] 所述根據(jù)所述第一應(yīng)答數(shù)據(jù)和所述第二敏感信息生成應(yīng)答報(bào)文,具體為:
[0041] 所述認(rèn)證中心將所述第一應(yīng)答數(shù)據(jù)和所述第二敏感信息進(jìn)行組合拼接,生成應(yīng)答 報(bào)文;
[0042] 所述根據(jù)所述應(yīng)答報(bào)文,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息,具體為:
[0043] 所述客戶端對所述應(yīng)答報(bào)文進(jìn)行拆分,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息。
[0044] 所述步驟S3還包括:所述客戶端顯示所述第二敏感信息;
[0045] 所述步驟S5中當(dāng)所述認(rèn)證設(shè)備檢測到所述第一按鍵被觸發(fā)后,還包括:所述認(rèn)證 設(shè)備顯示從第一應(yīng)答數(shù)據(jù)中得到的第二敏感信息。
[0046] 所述步驟S7中向所述認(rèn)證設(shè)備發(fā)送登錄指令之前還包括:
[0047] 步驟C1 :所述客戶端根據(jù)所述認(rèn)證設(shè)備序列號判斷所述認(rèn)證設(shè)備是否已與用戶 綁定,是則執(zhí)行步驟C3,否則執(zhí)行步驟C2 ;
[0048] 步驟C2 :所述客戶端提示所述用戶進(jìn)行注冊,接收所述用戶輸入的用戶信息,根 據(jù)接收到的所述用戶信息將所述用戶與所述認(rèn)證設(shè)備進(jìn)行綁定,執(zhí)行步驟C3 ;
[0049] 步驟C3 :所述客戶端向所述認(rèn)證設(shè)備發(fā)送所述登錄指令。
[0050] 所述客戶端根據(jù)所述認(rèn)證設(shè)備序列號判斷所述認(rèn)證設(shè)備是否已與用戶綁定,具體 為:
[0051] 所述客戶端判斷是否能夠在所述客戶端內(nèi)部查找到與所述認(rèn)證設(shè)備序列號對應(yīng) 的用戶信息,是則確定所述認(rèn)證設(shè)備已與所述用戶綁定,否則確定所述認(rèn)證設(shè)備未與所述 用戶綁定。
[0052] 所述根據(jù)接收到的所述用戶信息將所述用戶與所述認(rèn)證設(shè)備進(jìn)行綁定,具體為: 所述客戶端將接收到的所述用戶信息與所述認(rèn)證設(shè)備序列號對應(yīng)進(jìn)行存儲,完成綁定。
[0053] 所述步驟S7中所述客戶端判斷接收到的所述第二敏感信息與根據(jù)所述應(yīng)答報(bào)文 得到的所述第二敏感信息一致之后,還包括:
[0054] 所述客戶端獲取與所述認(rèn)證設(shè)備對應(yīng)的用戶信息;
[0055] 所述步驟S9之前包括:所述客戶端根據(jù)所述用戶信息判斷所述用戶是否合法,是 則執(zhí)行步驟S9,否則顯示登錄失敗信息,結(jié)束。
[0056] 所述客戶端根據(jù)所述用戶信息判斷所述用戶是否合法,具體為:
[0057] 所述客戶端根據(jù)所述用戶信息查找對應(yīng)的用戶狀態(tài),判斷所述用戶狀態(tài)是否異 常,是則確定所述用戶不合法,否則確定所述用戶合法。
[0058] 所述步驟S8之前還包括:
[0059] 步驟D1 :所述認(rèn)證設(shè)備接收到所述登錄指令后,提示用戶是否登錄;
[0060] 步驟D2 :當(dāng)所述認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,所述認(rèn)證設(shè)備判斷按鍵的類型, 若是第一按鍵則執(zhí)行步驟S8,若是第二按鍵則向所述客戶端返回錯誤碼,執(zhí)行步驟D3 ;
[0061] 步驟D3 :所述客戶端接收所述認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄 失敗信息,結(jié)束。
[0062] 所述認(rèn)證設(shè)備根據(jù)所述認(rèn)證設(shè)備中的時間因子、所述預(yù)設(shè)算法以及從第一應(yīng)答數(shù) 據(jù)中得到的隨機(jī)數(shù),生成第一動態(tài)口令,具體為:
[0063] 步驟E1 :所述認(rèn)證設(shè)備根據(jù)所述認(rèn)證設(shè)備中的時間因子、所述預(yù)設(shè)算法以及從第 一應(yīng)答數(shù)據(jù)中得到的隨機(jī)數(shù),生成第一明文動態(tài)口令;
[0064] 步驟E2 :所述認(rèn)證設(shè)備根據(jù)認(rèn)證中心公鑰對所述第一明文動態(tài)口令進(jìn)行加密,得 到第一密文動態(tài)口令;
[0065] 步驟E3 :所述認(rèn)證設(shè)備使用認(rèn)證設(shè)備私鑰對所述第一密文動態(tài)口令進(jìn)行簽名,得 到第二簽名值;
[0066] 步驟E4:所述認(rèn)證設(shè)備根據(jù)所述第一密文動態(tài)口令和所述第二簽名值,得到所述 第一動態(tài)口令;
[0067] 所述步驟S10具體為:
[0068] 步驟F1 :所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備公鑰對接收到的所述第一動態(tài)口令進(jìn) 行驗(yàn)簽,判斷是否驗(yàn)簽成功,是則執(zhí)行步驟F2,否則向所述客戶端返回錯誤碼,執(zhí)行步驟 S11 ;
[0069] 步驟F2 :所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備序列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)所述隨 機(jī)數(shù)、所述認(rèn)證中心中的時間因子和預(yù)設(shè)算法生成第二明文動態(tài)口令,根據(jù)認(rèn)證中心私鑰 對所述第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行解密,得到第一明文動態(tài)口令;
[0070] 步驟F3 :所述認(rèn)證中心判斷所述第一明文動態(tài)口令和所述第二明文動態(tài)口令是 否一致,是則向客戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向客戶端返回錯誤碼,執(zhí)行步驟Sll。
[0071] 所述認(rèn)證設(shè)備根據(jù)所述第一密文動態(tài)口令和所述第二簽名值,得到所述第一動態(tài) 口令,包括:
[0072] 所述認(rèn)證設(shè)備對所述第一密文動態(tài)口令進(jìn)行base64編碼,得到第三字符數(shù)據(jù),對 所述第二簽名值進(jìn)行base64編碼,得到第四字符數(shù)據(jù),對所述第三字符數(shù)據(jù)和所述第四字 符數(shù)據(jù)進(jìn)行組合拼接,得到所述第一動態(tài)口令;
[0073] 所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備公鑰對所述第一動態(tài)口令進(jìn)行驗(yàn)簽,具體為:
[0074] 所述認(rèn)證中心對所述第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù)和第四字符數(shù) 據(jù),對得到的第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令,對得到的第四字符 數(shù)據(jù)進(jìn)行base64解碼,得到第二簽名值,根據(jù)認(rèn)證設(shè)備公鑰對base64解碼得到的第二簽名 值進(jìn)行運(yùn)算,得到第二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的所述第二驗(yàn)證數(shù)據(jù)與base64解碼得到的 第一密文動態(tài)口令是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0075] 所述認(rèn)證中心判斷接收到的所述第一動態(tài)口令與生成的所述第二動態(tài)口令一致 之后,還包括:清除所述隨機(jī)數(shù);
[0076] 所述步驟S10中生成第二動態(tài)口令之前包括:
[0077] 所述認(rèn)證中心判斷是否查找到隨機(jī)數(shù),是則繼續(xù),否則向所述客戶端返回錯誤碼, 執(zhí)行步驟S11。
[0078] 本發(fā)明提供的一種安全登錄的系統(tǒng),所述系統(tǒng)包括客戶端、認(rèn)證中心和認(rèn)證設(shè) 備;
[0079] 所述客戶端包括:第一檢測模塊、第一獲取模塊、第一生成模塊、第一發(fā)送模塊、第 一接收模塊、第一處理模塊、第一顯示模塊和第一判斷模塊;
[0080] 所述第一檢測模塊,用于檢測是否有觸發(fā)信息;
[0081] 所述第一獲取模塊,用于當(dāng)所述第一檢測模塊檢測到觸發(fā)信息后,獲取所述認(rèn)證 設(shè)備的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識;
[0082] 所述第一生成模塊,用于根據(jù)所述第一獲取模塊獲取到的所述認(rèn)證設(shè)備序列號和 所述第一敏感信息標(biāo)識生成敏感信息下發(fā)請求;
[0083] 所述第一發(fā)送模塊,用于向所述認(rèn)證中心發(fā)送所述第一生成模塊生成的所述敏感 信息下發(fā)請求;向所述認(rèn)證設(shè)備發(fā)送所述第一處理模塊得到的第一應(yīng)答數(shù)據(jù);當(dāng)所述第一 判斷模塊判斷所述第一接收模塊接收到的第二敏感信息與所述第一處理模塊得到的第二 敏感信息一致時,向所述認(rèn)證設(shè)備發(fā)送登錄指令;當(dāng)所述第一接收模塊接收到所述認(rèn)證設(shè) 備發(fā)送的第一動態(tài)口令和認(rèn)證設(shè)備序列號后,向所述認(rèn)證中心發(fā)送所述第一動態(tài)口令和所 述認(rèn)證設(shè)備序列號;
[0084] 所述第一接收模塊,用于接收所述認(rèn)證中心發(fā)送的應(yīng)答報(bào)文,接收所述認(rèn)證設(shè)備 發(fā)送的錯誤碼,接收所述認(rèn)證設(shè)備發(fā)送的第二敏感信息,接收所述認(rèn)證設(shè)備發(fā)送的第一動 態(tài)口令和認(rèn)證設(shè)備序列號,接收所述認(rèn)證中心發(fā)送的認(rèn)證成功信息,接收所述認(rèn)證中心發(fā) 送的錯誤碼;
[0085] 所述第一處理模塊,用于根據(jù)所述第一接收模塊接收到的所述應(yīng)答報(bào)文,得到第 一應(yīng)答數(shù)據(jù)和第二敏感信息;
[0086] 所述第一顯示模塊,用于根據(jù)所述第一接收模塊接收到的錯誤碼顯示登錄失敗信 息,當(dāng)所述第一判斷模塊判斷所述第一接收模塊接收到的第二敏感信息與所述第一處理模 塊得到的第二敏感信息不一致時,顯示登錄失敗信息;
[0087] 所述第一判斷模塊,用于判斷所述第一接收模塊接收到的第二敏感信息與所述第 一處理模塊得到的第二敏感信息是否一致;
[0088] 所述認(rèn)證中心包括:第二接收模塊、第一查找模塊、第二生成模塊、第三生成模塊、 第四生成模塊、第二發(fā)送模塊、第二查找模塊、第五生成模塊和第二判斷模塊;
[0089]所述第二接收模塊,用于接收所述客戶端發(fā)送的所述敏感信息下發(fā)請求,接收所 述客戶端發(fā)送的所述第一動態(tài)口令和所述認(rèn)證設(shè)備序列號;
[0090] 所述第一查找模塊,用于根據(jù)所述第二接收模塊接收到的所述敏感信息下發(fā)請求 中的所述第一敏感信息標(biāo)識,查找對應(yīng)的第一敏感信息,并在所述認(rèn)證中心查找第二敏感 信息;
[0091] 所述第二生成模塊,用于生成隨機(jī)數(shù),將所述隨機(jī)數(shù)與所述第二接收模塊接收到 的所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號對應(yīng)存儲;
[0092] 所述第三生成模塊,用于根據(jù)所述第一查找模塊查找到的所述第一敏感信息、所 述第二敏感信息和所述第二生成模塊生成的所述隨機(jī)數(shù),生成第一應(yīng)答數(shù)據(jù);
[0093] 所述第四生成模塊,用于根據(jù)所述第三生成模塊生成的所述第一應(yīng)答數(shù)據(jù)和所述 第一查找模塊查找到的所述第二敏感信息,生成應(yīng)答報(bào)文;
[0094] 所述第二發(fā)送模塊,用于向所述客戶端發(fā)送所述第四生成模塊生成的所述應(yīng)答報(bào) 文,當(dāng)所述第二判斷模塊判斷所述第二接收模塊接收到的所述第一動態(tài)口令與所述第五生 成模塊生成的第二動態(tài)口令一致時,向所述客戶端發(fā)送認(rèn)證成功信息,當(dāng)所述第二判斷模 塊判斷所述第二接收模塊接收到的所述第一動態(tài)口令與所述第五生成模塊生成的第二動 態(tài)口令不一致時,向所述客戶端返回錯誤碼;
[0095] 所述第二查找模塊,用于根據(jù)所述第二接收模塊接收到的所述認(rèn)證設(shè)備序列號查 找對應(yīng)的隨機(jī)數(shù);
[0096] 所述第五生成模塊,用于根據(jù)所述第二查找模塊查找到的所述隨機(jī)數(shù)、所述認(rèn)證 中心中的時間因子和預(yù)設(shè)算法,生成第二動態(tài)口令;
[0097] 所述第二判斷模塊,用于判斷所述第二接收模塊接收到的所述第一動態(tài)口令與所 述第五生成模塊生成的所述第二動態(tài)口令是否一致;
[0098] 所述認(rèn)證設(shè)備包括:第三接收模塊、第二處理模塊、第二顯示模塊、第二檢測模塊、 第三判斷模塊、第三發(fā)送模塊和第六生成模塊;
[0099]所述第三接收模塊,用于接收所述客戶端發(fā)送的第一應(yīng)答數(shù)據(jù),接收所述客戶端 發(fā)送的所述登錄指令;
[0100] 所述第二處理模塊,用于根據(jù)所述第三接收模塊接收到的所述第一應(yīng)答數(shù)據(jù),得 到第一敏感信息、第二敏感信息和隨機(jī)數(shù);
[0101] 所述第二顯示模塊,用于對所述第二處理模塊得到的所述第一敏感信息進(jìn)行顯 示;
[0102] 所述第二檢測模塊,用于當(dāng)所述第二顯示模塊對第一敏感信息進(jìn)行顯示時,檢測 按鍵是否被觸發(fā);
[0103] 所述第三判斷模塊,用于當(dāng)所述第二檢測模塊檢測到按鍵被觸發(fā)后,判斷所述按 鍵的類型;
[0104] 所述第三發(fā)送模塊,用于向所述客戶端發(fā)送所述第六生成模塊生成的第一動態(tài)口 令,當(dāng)所述第三判斷模塊判斷所述按鍵為第一按鍵時,向所述客戶端返回所述第二處理模 塊得到的第二敏感信息,當(dāng)所述第三判斷模塊判斷所述按鍵為第二按鍵時,向所述客戶端 返回錯誤碼;
[0105] 所述第六生成模塊,用于當(dāng)所述第三接收模塊接收到所述登錄指令后,根據(jù)所述 認(rèn)證設(shè)備中的時間因子、預(yù)設(shè)算法以及所述第二處理模塊得到的隨機(jī)數(shù),生成第一動態(tài)口 令。
[0106] 所述第一發(fā)送模塊還用于向所述認(rèn)證設(shè)備發(fā)送獲取指令;
[0107] 所述第一接收模塊還用于接收所述認(rèn)證設(shè)備返回的認(rèn)證設(shè)備序列號和第一敏感 信息標(biāo)識。
[0108] 所述第一接收模塊還用于接收用戶輸入的用戶信息;
[0109] 所述第一獲取模塊具體用于根據(jù)所述第一接收模塊接收到的所述用戶信息,在所 述客戶端內(nèi)部查找對應(yīng)的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識。
[0110] 所述認(rèn)證中心還包括:第四判斷模塊,用于根據(jù)所述第二接收模塊接收到的所述 敏感信息下發(fā)請求,判斷所述認(rèn)證設(shè)備是否合法;
[0111] 所述第一查找模塊,還用于當(dāng)所述第四判斷模塊判斷所述認(rèn)證設(shè)備合法后,進(jìn)行 工作;
[0112] 所述第二發(fā)送模塊,還用于當(dāng)所述第四判斷模塊判斷所述認(rèn)證設(shè)備不合法后,向 所述客戶端返回錯誤碼。
[0113] 所述第四判斷模塊具體用于根據(jù)所述第二接收模塊接收到的所述敏感信息下發(fā) 請求中的所述認(rèn)證設(shè)備序列號,查找對應(yīng)的認(rèn)證設(shè)備的狀態(tài)和認(rèn)證設(shè)備公鑰,若根據(jù)查找 到的所述認(rèn)證設(shè)備的狀態(tài),判斷所述認(rèn)證設(shè)備可用并且所述認(rèn)證設(shè)備公鑰存在,則確定所 述認(rèn)證設(shè)備合法,否則確定所述認(rèn)證設(shè)備不合法。
[0114] 所述第三生成模塊,包括:第一查找單元、第一組合單元、第一加密單元、第一簽名 單元和第一處理單元;
[0115] 所述第一查找單元,用于根據(jù)所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號, 在所述認(rèn)證中心查找對應(yīng)的認(rèn)證設(shè)備公鑰;
[0116] 所述第一組合單元,用于對所述第一敏感信息、所述第二敏感信息和所述隨機(jī)數(shù) 進(jìn)行拼接組合,得到第一數(shù)據(jù);
[0117] 所述第一加密單元,用于根據(jù)所述第一查找單元查找到的所述認(rèn)證設(shè)備公鑰對所 述第一數(shù)據(jù)進(jìn)行加密,得到第一加密數(shù)據(jù);
[0118] 所述第一簽名單元,用于使用認(rèn)證中心私鑰對所述第一加密數(shù)據(jù)進(jìn)行簽名,得到 第一簽名值;
[0119] 所述第一處理單元,用于根據(jù)所述第一加密數(shù)據(jù)和所述第一簽名值得到所述第一 應(yīng)答數(shù)據(jù);
[0120] 所述認(rèn)證設(shè)備還包括第一驗(yàn)簽?zāi)K;所述第一驗(yàn)簽?zāi)K,用于根據(jù)存儲的認(rèn)證中 心公鑰,對所述第三接收模塊接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功;
[0121] 所述第二處理模塊還用于當(dāng)所述第一驗(yàn)簽?zāi)K判斷驗(yàn)簽成功后,進(jìn)行工作;
[0122] 所述第三發(fā)送模塊還用于當(dāng)所述第一驗(yàn)簽?zāi)K判斷驗(yàn)簽失敗后,向所述客戶端返 回錯誤碼;
[0123] 所述第二處理模塊,具體用于根據(jù)認(rèn)證設(shè)備私鑰對所述第三接收模塊接收到的第 一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn)行解密,得到第一數(shù)據(jù),對得到的第一數(shù)據(jù)進(jìn)行拆分,得到 第一敏感信息、第二敏感信息和隨機(jī)數(shù)。
[0124] 所述第一處理單元具體用于對所述第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字 符數(shù)據(jù),對所述第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第二字符數(shù)據(jù),對所述第一字符數(shù)據(jù) 和所述第二字符數(shù)據(jù)進(jìn)行組合拼接,生成所述第一應(yīng)答數(shù)據(jù);
[0125] 所述第一驗(yàn)簽?zāi)K具體用于對所述第三接收模塊接收到的第一應(yīng)答數(shù)據(jù)中的第 一字符數(shù)據(jù)進(jìn)行base64解碼,得到第一加密數(shù)據(jù),對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行 base64解碼,得到第一簽名值,根據(jù)base64解碼得到的第一加密數(shù)據(jù)和第一簽名值對第一 應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
[0126] 所述第一處理單元具體用于對所述第一加密數(shù)據(jù)和所述第一簽名值進(jìn)行組合拼 接,得到第二數(shù)據(jù),對所述第二數(shù)據(jù)進(jìn)行base64編碼,得到所述第一應(yīng)答數(shù)據(jù);
[0127] 所述第一驗(yàn)簽?zāi)K具體用于對所述第三接收模塊接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行 base64解碼,得到第二數(shù)據(jù),根據(jù)base64解碼得到的第二數(shù)據(jù)中的第一加密數(shù)據(jù)和第一簽 名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
[0128] 所述第一驗(yàn)簽?zāi)K,具體用于根據(jù)認(rèn)證中心公鑰對第一簽名值進(jìn)行運(yùn)算,得到第 一驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的所述第一驗(yàn)證數(shù)據(jù)與base64解碼得到的第一加密數(shù)據(jù)是否 一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0129] 所述第四生成模塊,具體用于將所述第一應(yīng)答數(shù)據(jù)和所述第二敏感信息進(jìn)行組合 拼接,生成應(yīng)答報(bào)文;
[0130] 所述第一處理模塊,具體用于對所述應(yīng)答報(bào)文進(jìn)行拆分,得到第一應(yīng)答數(shù)據(jù)和第 二敏感信息。
[0131] 所述第一顯示模塊還用于顯示所述第一處理模塊處理得到的第二敏感信息;
[0132] 所述第二顯示模塊還用于顯示所述第二處理模塊得到的第二敏感信息。
[0133] 所述客戶端還包括:第五判斷模塊和注冊模塊;
[0134] 所述第五判斷模塊,用于在所述第一判斷模塊判斷所述第一接收模塊接收到的第 二敏感信息與所述第一處理模塊得到的第二敏感信息一致時,根據(jù)所述認(rèn)證設(shè)備序列號判 斷所述認(rèn)證設(shè)備是否已與用戶綁定;
[0135] 所述注冊模塊,用于在所述第五判斷模塊判斷所述認(rèn)證設(shè)備未與用戶綁定后,提 示所述用戶進(jìn)行注冊,接收所述用戶輸入的用戶信息,根據(jù)接收到的所述用戶信息將所述 用戶與所述認(rèn)證設(shè)備進(jìn)行綁定;
[0136] 所述第一發(fā)送模塊,具體用于所述注冊模塊工作完成后,向所述認(rèn)證設(shè)備發(fā)送所 述登錄指令,當(dāng)所述第五判斷模塊判斷所述認(rèn)證設(shè)備已與用戶綁定后,向所述認(rèn)證設(shè)備發(fā) 送所述登錄指令。
[0137] 所述第五判斷模塊具體用于判斷是否能夠在所述客戶端內(nèi)部查找到與所述認(rèn)證 設(shè)備序列號對應(yīng)的用戶信息,是則確定所述認(rèn)證設(shè)備已與所述用戶綁定,否則確定所述認(rèn) 證設(shè)備未與所述用戶綁定。
[0138] 所述注冊模塊具體用于提示所述用戶進(jìn)行注冊,接收所述用戶輸入的用戶信息, 將接收到的所述用戶信息與所述認(rèn)證設(shè)備序列號對應(yīng)進(jìn)行存儲,完成綁定。
[0139] 所述客戶端還包括:第二獲取模塊和第六判斷模塊;
[0140] 所述第二獲取模塊,用于所述第一判斷模塊判斷所述第一接收模塊接收到的第二 敏感信息與所述第一處理模塊得到的第二敏感信息一致時,獲取與所述認(rèn)證設(shè)備對應(yīng)的用 戶信息;
[0141] 所述第六判斷模塊,用于根據(jù)所述第二獲取模塊獲取到的所述用戶信息判斷所述 用戶是否合法;
[0142] 所述第一發(fā)送模塊還用于在所述第六判斷模塊判斷所述用戶合法后,向所述認(rèn)證 中心發(fā)送所述第一動態(tài)口令和所述認(rèn)證設(shè)備序列號;
[0143] 所述第一顯示模塊還用于在所述第六判斷模塊判斷所述用戶不合法后,顯示登錄 失敗息。
[0144] 所述第六判斷模塊具體用于根據(jù)所述用戶信息查找對應(yīng)的用戶狀態(tài),判斷所述用 戶狀態(tài)是否異常,是則確定所述用戶不合法,否則確定所述用戶合法。
[0145] 所述第二顯示模塊,還用于在所述第三接收模塊接收到所述登錄指令后,提示用 戶是否登錄;
[0146] 所述第二檢測模塊,還用于所述第二顯示模塊提示用戶是否登錄后,檢測按鍵是 否被觸發(fā);
[0147] 所述第三判斷模塊,還用于所述第二檢測模塊檢測到按鍵被觸發(fā)后,判斷按鍵的 類型;
[0148] 所述第六生成模塊還用于所述第三判斷模塊判斷出第一按鍵被觸發(fā)后,進(jìn)行工 作;
[0149] 所述第三發(fā)送模塊還用于所述第三判斷模塊判斷出第二按鍵被觸發(fā)后,向所述客 戶端返回錯誤碼。
[0150] 所述第六生成模塊包括:第一生成單元、第二加密單元、第二簽名單元和第二處理 單元;
[0151] 所述第一生成單元,用于根據(jù)所述認(rèn)證設(shè)備中的時間因子、所述預(yù)設(shè)算法以及隨 機(jī)數(shù),生成第一明文動態(tài)口令;
[0152] 所述第二加密單元,用于根據(jù)認(rèn)證中心公鑰對所述第一生成單元生成的所述第一 明文動態(tài)口令進(jìn)行加密,得到第一密文動態(tài)口令;
[0153] 所述第二簽名單元,用于使用認(rèn)證設(shè)備私鑰對所述第二加密單元加密得到的所述 第一密文動態(tài)口令進(jìn)行簽名,得到第二簽名值;
[0154] 所述第二處理單元,用于根據(jù)所述第二加密單元加密得到的所述第一密文動態(tài)口 令和所述第二簽名單元得到的所述第二簽名值,得到所述第一動態(tài)口令;
[0155] 所述認(rèn)證中心還包括:第二驗(yàn)簽?zāi)K、第七生成模塊和第七判斷模塊;
[0156] 所述第二驗(yàn)簽?zāi)K,用于根據(jù)所述認(rèn)證設(shè)備公鑰對所述第二接收模塊接收到的所 述第一動態(tài)口令進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功;
[0157] 所述第七生成模塊,用于在所述第二驗(yàn)簽?zāi)K判斷驗(yàn)簽成功后,根據(jù)所述認(rèn)證設(shè) 備序列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)所述隨機(jī)數(shù)、所述認(rèn)證中心中的時間因子和預(yù)設(shè)算法生 成第二明文動態(tài)口令,根據(jù)認(rèn)證中心私鑰對所述第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行 解密,得到第一明文動態(tài)口令;
[0158] 所述第二發(fā)送模塊還用于在所述第二驗(yàn)簽?zāi)K判斷驗(yàn)簽失敗后,向所述客戶端返 回錯誤碼;
[0159] 所述第七判斷模塊,用于判斷所述第七生成模塊得到的第一明文動態(tài)口令和所述 第二明文動態(tài)口令是否一致;
[0160] 所述第二發(fā)送模塊還用于在所述第七判斷模塊判斷所述第七生成模塊得到的第 一明文動態(tài)口令和所述第二明文動態(tài)口令一致后,向客戶端發(fā)送認(rèn)證成功信息,在所述第 七判斷模塊判斷所述第七生成模塊得到的第一明文動態(tài)口令和所述第二明文動態(tài)口令不 一致后,向所述客戶端返回錯誤碼。
[0161] 所述第二處理單元具體用于對所述第一密文動態(tài)口令進(jìn)行base64編碼,得到第 三字符數(shù)據(jù),對所述第二簽名值進(jìn)行base64編碼,得到第四字符數(shù)據(jù),對所述第三字符數(shù) 據(jù)和所述第四字符數(shù)據(jù)進(jìn)行組合拼接,得到所述第一動態(tài)口令;
[0162] 所述第二驗(yàn)簽?zāi)K,具體用于對所述第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù) 和第四字符數(shù)據(jù),對得到的第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令,對得 到的第四字符數(shù)據(jù)進(jìn)行base64解碼,得到第二簽名值,根據(jù)認(rèn)證設(shè)備公鑰對base64解碼 得到的第二簽名值進(jìn)行運(yùn)算,得到第二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的所述第二驗(yàn)證數(shù)據(jù)與 base64解碼得到的第一密文動態(tài)口令是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0163] 所述認(rèn)證中心還包括清除模塊和第八判斷模塊;
[0164] 所述清除模塊,用于在所述第二判斷模塊判斷所述第一動態(tài)口令與所述第二動態(tài) 口令一致后,清除所述隨機(jī)數(shù);
[0165] 所述第八判斷模塊,用于判斷是否查找到隨機(jī)數(shù);
[0166] 所述第五生成模塊,用于所述第八判斷模塊判斷查找到隨機(jī)數(shù)后,進(jìn)行工作;
[0167] 所述第二發(fā)送模塊還用于所述第八判斷模塊判斷未查找到隨機(jī)數(shù)后,向所述客戶 端返回錯誤碼。
[0168] 本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):
[0169] 本發(fā)明提供的一種安全登錄的方法和系統(tǒng),認(rèn)證中心向客戶端下發(fā)明文形式的敏 感信息,向認(rèn)證設(shè)備發(fā)送加密簽名后的敏感信息,客戶端和認(rèn)證設(shè)備分別顯示敏感信息,用 戶確認(rèn)后認(rèn)證設(shè)備產(chǎn)生動態(tài)口令,向認(rèn)證中心返回動態(tài)口令,認(rèn)證中心根據(jù)接收到的動態(tài) 口令對用戶的身份進(jìn)行認(rèn)證,從而實(shí)現(xiàn)安全登錄。
【專利附圖】
【附圖說明】
[0170] 圖1是本發(fā)明實(shí)施例1提供的一種安全登錄的方法的流程圖;
[0171] 圖2和圖3是本發(fā)明實(shí)施例2提供的一種安全登錄的方法的流程圖;
[0172] 圖4是本發(fā)明實(shí)施例3提供的一種安全登錄的系統(tǒng)的模塊圖。
【具體實(shí)施方式】
[0173] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0174] 本方法應(yīng)用于包括認(rèn)證設(shè)備、客戶端與認(rèn)證中心的系統(tǒng)中。
[0175] 實(shí)施例1
[0176] 本發(fā)明的實(shí)施例1提供了一種安全登錄的方法,如圖1所示,包括:
[0177] 步驟S1 :當(dāng)客戶端檢測到觸發(fā)信息后,客戶端獲取認(rèn)證設(shè)備的認(rèn)證設(shè)備序列號和 第一敏感信息標(biāo)識,根據(jù)認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識生成敏感信息下發(fā)請求,向 認(rèn)證中心發(fā)送敏感信息下發(fā)請求;
[0178] 步驟S2 :認(rèn)證中心根據(jù)敏感信息下發(fā)請求中的第一敏感信息標(biāo)識,查找對應(yīng)的第 一敏感信息,并在所述認(rèn)證中心查找第二敏感信息,生成隨機(jī)數(shù),將隨機(jī)數(shù)與敏感信息下發(fā) 請求中的認(rèn)證設(shè)備序列號對應(yīng)存儲,根據(jù)第一敏感信息、第二敏感信息和隨機(jī)數(shù)生成第一 應(yīng)答數(shù)據(jù),根據(jù)第一應(yīng)答數(shù)據(jù)和第二敏感信息生成應(yīng)答報(bào)文,向客戶端發(fā)送應(yīng)答報(bào)文;
[0179] 步驟S3 :客戶端根據(jù)應(yīng)答報(bào)文,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息,將得到的第 一應(yīng)答數(shù)據(jù)發(fā)送到認(rèn)證設(shè)備;
[0180] 步驟S4 :認(rèn)證設(shè)備根據(jù)接收到的第一應(yīng)答數(shù)據(jù),得到第一敏感信息、第二敏感信 息和隨機(jī)數(shù),對得到的第一敏感信息進(jìn)行顯示;
[0181] 步驟S5 :當(dāng)認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,認(rèn)證設(shè)備判斷按鍵的類型,若是第一 按鍵則向客戶端返回從第一應(yīng)答數(shù)據(jù)中得到的第二敏感信息,執(zhí)行步驟S7,若是第二按鍵 則向客戶端返回錯誤碼,執(zhí)行步驟S6 ;
[0182] 步驟S6 :客戶端接收認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束;
[0183] 步驟S7 :客戶端判斷接收到的第二敏感信息與根據(jù)應(yīng)答報(bào)文得到的第二敏感信 息是否一致,是則向認(rèn)證設(shè)備發(fā)送登錄指令,執(zhí)行步驟S8,否則顯示登錄失敗信息,結(jié)束;
[0184] 步驟S8 :認(rèn)證設(shè)備根據(jù)認(rèn)證設(shè)備中的時間因子、預(yù)設(shè)算法以及從第一應(yīng)答數(shù)據(jù)中 得到的隨機(jī)數(shù),生成第一動態(tài)口令,向客戶端發(fā)送第一動態(tài)口令和認(rèn)證設(shè)備序列號;
[0185] 步驟S9 :客戶端向認(rèn)證中心發(fā)送第一動態(tài)口令和認(rèn)證設(shè)備序列號;
[0186] 步驟S10 :認(rèn)證中心根據(jù)認(rèn)證設(shè)備序列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)查找到的隨機(jī) 數(shù)、認(rèn)證中心中的時間因子和預(yù)設(shè)算法,生成第二動態(tài)口令,判斷第一動態(tài)口令與第二動態(tài) 口令是否一致,是則向客戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向客戶端返回錯誤碼,執(zhí)行步 驟 S11 ;
[0187] 步驟S11 :客戶端接收認(rèn)證中心發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束。
[0188] 實(shí)施例2
[0189] 本發(fā)明的實(shí)施例2提供了一種安全登錄的方法,如圖2和圖3所示,包括:
[0190] 步驟101 :當(dāng)客戶端檢測到觸發(fā)信息后,客戶端獲取認(rèn)證設(shè)備的認(rèn)證設(shè)備序列號 和第一敏感信息標(biāo)識,根據(jù)認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識生成敏感信息下發(fā)請求, 向認(rèn)證中心發(fā)送敏感信息下發(fā)請求;
[0191] 具體地,獲取認(rèn)證設(shè)備的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識的方法可以為:客 戶端向認(rèn)證設(shè)備發(fā)送獲取指令,接收認(rèn)證設(shè)備返回的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo) 識;除此之外,還可以為:客戶端接收用戶輸入的用戶信息,根據(jù)用戶信息在客戶端內(nèi)部查 找對應(yīng)的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識;
[0192] 例如,認(rèn)證設(shè)備序列號為"1000313600001",第一敏感信息標(biāo)識為"icbc";
[0193] 步驟102 :認(rèn)證中心接收敏感信息下發(fā)請求,根據(jù)接收到的敏感信息下發(fā)請求,判 斷認(rèn)證設(shè)備是否合法,是則執(zhí)行步驟104,否則向客戶端返回錯誤碼,執(zhí)行步驟103 ;
[0194] 具體地,認(rèn)證中心根據(jù)敏感信息下發(fā)請求中的認(rèn)證設(shè)備序列號,查找對應(yīng)的認(rèn)證 設(shè)備的狀態(tài)和認(rèn)證設(shè)備公鑰,若根據(jù)查找到的認(rèn)證設(shè)備的狀態(tài),判斷該認(rèn)證設(shè)備可用并且 認(rèn)證設(shè)備公鑰存在時,則確定認(rèn)證設(shè)備合法,否則確定認(rèn)證設(shè)備不合法;
[0195] 步驟103 :客戶端接收認(rèn)證中心發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束;
[0196] 步驟104 :認(rèn)證中心根據(jù)敏感信息下發(fā)請求中的第一敏感信息標(biāo)識,查找對應(yīng)的 第一敏感信息,并在認(rèn)證中心查找第二敏感信息;
[0197] 例如,查找到的第一敏感信息為" icbc95585",查找到的第二敏感信息為 "unionpay";
[0198] 步驟105 :認(rèn)證中心生成隨機(jī)數(shù),將生成的隨機(jī)數(shù)與認(rèn)證設(shè)備序列號對應(yīng)存儲,根 據(jù)第一敏感信息、第二敏感信息和隨機(jī)數(shù)生成第一應(yīng)答數(shù)據(jù);
[0199] 具體地,認(rèn)證中心根據(jù)敏感信息下發(fā)請求中的認(rèn)證設(shè)備序列號,在認(rèn)證中心查找 對應(yīng)的認(rèn)證設(shè)備公鑰,認(rèn)證中心對第一敏感信息、第二敏感信息和隨機(jī)數(shù)進(jìn)行拼接組合,得 到第一數(shù)據(jù),根據(jù)查找到的認(rèn)證設(shè)備公鑰對第一數(shù)據(jù)進(jìn)行加密,得到第一加密數(shù)據(jù),使用認(rèn) 證中心私鑰對第一加密數(shù)據(jù)進(jìn)行簽名,得到第一簽名值,根據(jù)第一加密數(shù)據(jù)和第一簽名值 得到第一應(yīng)答數(shù)據(jù);其中,根據(jù)第一加密數(shù)據(jù)和第一簽名值得到第一應(yīng)答數(shù)據(jù),具體為:認(rèn) 證中心對第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字符數(shù)據(jù),對第一簽名值進(jìn)行base64編 碼,得到第二字符數(shù)據(jù),對得到的第一字符數(shù)據(jù)和第二字符數(shù)據(jù)進(jìn)行組合拼接,生成第一應(yīng) 答數(shù)據(jù);
[0200] 例如,認(rèn)證中心生成的隨機(jī)數(shù)為"12345678",認(rèn)證設(shè)備序列號"1000313600001";
[0201] 認(rèn)證中心生成第一應(yīng)答數(shù)據(jù)具體包括:
[0202] 認(rèn)證中心對第一敏感信息、第二敏感信息和隨機(jī)數(shù)進(jìn)行拼接組合,得到第一數(shù)據(jù) 為:
[0203] icbc95585[#*#]unionpay[#*#]12345678
[0204] 認(rèn)證中心先根據(jù)認(rèn)證設(shè)備公鑰對第一數(shù)據(jù)進(jìn)行加密,得到第一加密數(shù)據(jù)為:
[0205] [22, _85,7,21,_114,69, -34, _89,68, -117, -110, -22, _71,99,79,114,18, -21, 7,-73,78,116,-82,109,-56,-50,-87,-57,-111,-118,-52,-84, 77,-116, 71,60,-23,-47, 42,-88,81,2,63,-66,-109,86, 79, 38, 26,69,9, 38,-43,-45,-40,-73,-15, 2,87,-50,-7, 33,102, -12,80,67,13, -7,96,23, -103,1, -121,71,8,96,65,31, -71,58,43, -92, 83, -28,123,72, -29,80, -113,14,92, -88,40,109,108, -85, -96,19, -27, -65,30, -73, 118, -122, -32,18,3, -101,-66, -58, -43, -6, -124,111,-109, -30, -49,9, -27, -94,41, 122, -99, -73, -18,115,31,-35]
[0206] 認(rèn)證中心對第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字符數(shù)據(jù)為:
[0207] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobWyroBPl vx63dobgEgOb vsbV+oRvk+LPCeWiKXqdt+5zH90 =
[0208] 認(rèn)證中心使用認(rèn)證中心私鑰對第一加密數(shù)據(jù)進(jìn)行簽名,得到第一簽名值為:
[0209] [80,-14, 105, 46,-110,-89,-93, 40,-75, 67,_119,119, 103, -49, -28, -2, -7, -112,25, -85, _118,99,3,87,8, -96,58, -74, -127, -15,8, -92, 83, _127,72,0, -121,88, -110,101, -4, -13,63,24,119,74, -105, -110, -68, -1, 69, -110, -16, -59,124, -45,67,21, -72,78,21, -56, -5,126,97, -3, -55,92,62,81, 31,3, -83, -54,64,35, -100, -101,71, -126, -105,30, -82, -72, -103,102,56,2,29, 35, -82, -104, -118,78, -77, -50,122,32, _72,52,50,38,34, -106,6, -57,53, -11,70, 76,-12,22,-109,-66,-93,68,-76,4, -30,98,-48,4, -2,28,12,43,-55,36]
[0210] 認(rèn)證中心對第一簽名值進(jìn)行base64編碼,得到第二字符數(shù)據(jù)為:
[0211] UPJpLpKnoyilQ413Z8/k/vmQGauKYwNXCKA6toHxCKRTgUgAhliSZfzzPxh3SpeS vP9F kvDFfNNDFbh0Fcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4Ah0jrpiKTrP0eiC4NDImIpYGxzXlR kzOFpO+oOSOBOJiOAT+HAwrySQ =
[0212] 認(rèn)證中心對第一字符數(shù)據(jù)和第二字符數(shù)據(jù)進(jìn)行組合拼接,生成第一應(yīng)答數(shù)據(jù)為:
[0213] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ =
[0214] 除此之外,認(rèn)證中心根據(jù)第一加密數(shù)據(jù)和第一簽名值得到第一應(yīng)答數(shù)據(jù),也可以 為:先根據(jù)認(rèn)證設(shè)備公鑰對第一數(shù)據(jù)進(jìn)行加密,得到第一加密數(shù)據(jù),使用認(rèn)證中心私鑰對第 一加密數(shù)據(jù)進(jìn)行簽名,得到第一簽名值,對第一加密數(shù)據(jù)和第一簽名值進(jìn)行組合拼接,得到 第二數(shù)據(jù),認(rèn)證中心再對第二數(shù)據(jù)進(jìn)行base64編碼,得到第一應(yīng)答數(shù)據(jù);
[0215] 步驟106 :認(rèn)證中心根據(jù)第一應(yīng)答數(shù)據(jù)和第二敏感信息生成應(yīng)答報(bào)文,向客戶端 發(fā)送應(yīng)答報(bào)文;
[0216] 具體地,認(rèn)證中心將第一應(yīng)答數(shù)據(jù)和第二敏感信息進(jìn)行組合拼接,生成應(yīng)答報(bào) 文;
[0217] 例如,認(rèn)證中心根據(jù)第一應(yīng)答數(shù)據(jù)和第二敏感信息生成的應(yīng)答報(bào)文為:
[0218] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ = [#*#]unionpay
[0219] 步驟107 :客戶端接收應(yīng)答報(bào)文,根據(jù)接收到的應(yīng)答報(bào)文得到第一應(yīng)答數(shù)據(jù)和第 二敏感信息,顯示第二敏感信息,向認(rèn)證設(shè)備發(fā)送第一應(yīng)答數(shù)據(jù);
[0220] 具體地,客戶端對接收到的應(yīng)答報(bào)文進(jìn)行拆分,得到第一應(yīng)答數(shù)據(jù)和第二敏感信 息;
[0221] 例如,客戶端接收到的應(yīng)答報(bào)文為:
[0222] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ = [#*#]unionpay
[0223] 拆分得到的第一應(yīng)答數(shù)據(jù)為:
[0224] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ =
[0225] 拆分得到的第二敏感信息為:unionpay ;客戶端顯示第二敏感信息"unionpay" ;
[0226] 步驟108 :認(rèn)證設(shè)備接收第一應(yīng)答數(shù)據(jù),根據(jù)預(yù)設(shè)的認(rèn)證中心公鑰對第一應(yīng)答數(shù) 據(jù)進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功,是則執(zhí)行步驟110,否則向客戶端返回錯誤碼,執(zhí)行步驟 109 ;
[0227] 具體地,認(rèn)證設(shè)備獲取第一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)和第一簽名值,根據(jù)第一 加密數(shù)據(jù)和第一簽名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽;
[0228] 例如,認(rèn)證設(shè)備對第一應(yīng)答數(shù)據(jù)中的第一字符數(shù)據(jù)進(jìn)行base64解碼,得到第一加 密數(shù)據(jù),認(rèn)證設(shè)備對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行base64解碼,得到第一簽名值, 認(rèn)證設(shè)備根據(jù)base64解碼得到的第一加密數(shù)據(jù)和第一簽名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽;
[0229] 認(rèn)證設(shè)備對第一應(yīng)答數(shù)據(jù)中的第一字符數(shù)據(jù)進(jìn)行base64解碼,得到第一加密數(shù) 據(jù)為:
[0230] [22, -85,7,21,-114,69, -34, -89,68, -117, -110, -22, -71,99,79,114,18, -21, 7,-73,78,116,-82,109,-56,-50,-87,-57,-111,-118,-52,-84, 77,-116, 71,60,-23,-47, 42, -88,81,2,63, -66, -109,86, 79, 38, 26,69,9, 38, -43,-45, -40, -73,-15, 2,87,-50, -7, 33,102, -12,80,67,13, -7,96,23, -103,1, -121,71,8,96,65,31, -71,58,43, -92, 83, -28,123,72, -29,80, -113,14,92, -88,40,109,108, -85, -96,19, -27, -65,30, -73, 118, -122, -32,18,3, -101,-66, -58, -43, -6, -124,111,-109, -30, -49,9, -27, -94,41, 122, -99, -73, -18,115,31,-35]
[0231] 認(rèn)證設(shè)備對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行base64解碼,得到第一簽名值 為:
[0232] [80,-14, 105, 46,-110,-89,-93, 40,-75, 67,_119,119, 103, -49, -28, -2, -7, -112,25, -85, _118,99,3,87,8, -96,58, -74, -127, -15,8, -92, 83, _127,72,0, -121,88, -110,101, -4, -13,63,24,119,74, -105, -110, -68, -1, 69, -110, -16, -59,124, -45,67,21, -72,78,21, -56, -5,126,97, -3, -55,92,62,81, 31,3, -83, -54,64,35, -100, -101,71, -126, -105,30, -82, -72, -103,102,56,2,29, 35, -82, -104, -118,78, -77, -50,122,32, _72,52,50,38,34, -106,6, -57,53, -11,70, 76,-12,22,-109,-66,-93,68,-76,4, -30,98,-48,4, -2,28,12,43,-55,36]
[0233] 認(rèn)證設(shè)備根據(jù)認(rèn)證中心公鑰對base64解碼得到的第一簽名值進(jìn)行運(yùn)算,得到第 一驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的第一驗(yàn)證數(shù)據(jù)與base64解碼得到的第一加密數(shù)據(jù)是否一致, 是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失??;
[0234] 除此之外,認(rèn)證設(shè)備也可以:對第一應(yīng)答數(shù)據(jù)進(jìn)行base64解碼,得到第二數(shù)據(jù),認(rèn) 證設(shè)備根據(jù)解密得到的第二數(shù)據(jù)中的第一加密數(shù)據(jù)和第二數(shù)據(jù)中的第一簽名值對第一應(yīng) 答數(shù)據(jù)進(jìn)行驗(yàn)簽;
[0235] 步驟109 :客戶端接收認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束;
[0236] 步驟110 :認(rèn)證設(shè)備根據(jù)第一應(yīng)答數(shù)據(jù)得到第一敏感信息、第二敏感信息和隨機(jī) 數(shù);
[0237] 具體地,認(rèn)證設(shè)備根據(jù)認(rèn)證設(shè)備私鑰對第一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn)行解 密,得到第一敏感信息、第二敏感信息和隨機(jī)數(shù);
[0238] 例如,認(rèn)證設(shè)備根據(jù)認(rèn)證設(shè)備私鑰對第一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn)行解密, 得到第一數(shù)據(jù)為:
[0239] icbc95585[#*#]unionpay[#*#]12345678
[0240] 認(rèn)證設(shè)備對第一數(shù)據(jù)進(jìn)行拆分,得到的第一敏感信息為"icbc95585",第二敏感信 息為 "unionpay",隨機(jī)數(shù)為 " 12345678" ;
[0241] 步驟111 :認(rèn)證設(shè)備顯示第一敏感信息;
[0242] 例如,認(rèn)證設(shè)備顯示第一敏感信息"icbc95585" ;
[0243] 步驟112 :當(dāng)認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,認(rèn)證設(shè)備判斷按鍵的類型,若是第一 按鍵則執(zhí)行步驟114,若是第二按鍵則向客戶端返回錯誤碼,執(zhí)行步驟113 ;
[0244] 優(yōu)選地,本實(shí)施例中,第一按鍵為確認(rèn)鍵,第二按鍵為取消鍵;
[0245] 步驟113 :客戶端接收認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束;
[0246] 步驟114 :認(rèn)證設(shè)備顯示第二敏感信息,向客戶端返回第二敏感信息;
[0247] 例如,認(rèn)證設(shè)備顯示第二敏感信息"unionpay" ;
[0248] 步驟115 :客戶端接收認(rèn)證設(shè)備發(fā)送的第二敏感信息,判斷接收到的第二敏感信 息與根據(jù)應(yīng)答報(bào)文得到的第二敏感信息是否一致,是則執(zhí)行步驟116,否則顯示登錄失敗信 息,結(jié)束;
[0249] 例如,本實(shí)施中,客戶端根據(jù)應(yīng)答報(bào)文得到的第二敏感信息為"unionpay",客戶端 接收到的第二敏感信息也為"unionpay",則接收到的第二敏感信息與根據(jù)應(yīng)答報(bào)文得到的 第二敏感信息一致;
[0250] 步驟116 :客戶端根據(jù)認(rèn)證設(shè)備序列號判斷認(rèn)證設(shè)備是否已與用戶綁定,是則執(zhí) 行步驟118,否則執(zhí)行步驟117;
[0251] 具體地,客戶端判斷是否能夠在客戶端內(nèi)部查找到與認(rèn)證設(shè)備序列號對應(yīng)的用戶 信息,是則確定認(rèn)證設(shè)備已與用戶綁定,否則確定認(rèn)證設(shè)備未與用戶綁定;該步驟判斷認(rèn)證 設(shè)備已與用戶綁定后,還包括客戶端獲取與認(rèn)證設(shè)備對應(yīng)的用戶信息;
[0252] 步驟117 :客戶端提示用戶進(jìn)行注冊,接收用戶輸入的用戶信息,根據(jù)接收到的用 戶信息將用戶與認(rèn)證設(shè)備進(jìn)行綁定,執(zhí)行步驟118 ;
[0253] 具體地,客戶端將接收到的用戶信息與認(rèn)證設(shè)備序列號對應(yīng)進(jìn)行存儲,完成綁 定;
[0254] 步驟118 :客戶端向認(rèn)證設(shè)備發(fā)送登錄指令;
[0255] 步驟119 :認(rèn)證設(shè)備接收登錄指令,提示用戶是否登錄;
[0256] 步驟120 :當(dāng)認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,認(rèn)證設(shè)備判斷按鍵的類型,若是第一 按鍵則執(zhí)行步驟122,若是第二按鍵則向客戶端返回錯誤碼,執(zhí)行步驟121 ;
[0257] 優(yōu)選地,本實(shí)施例中,第一按鍵為確認(rèn)鍵,第二按鍵為取消鍵;
[0258] 步驟121 :客戶端接收認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束;
[0259] 步驟122 :認(rèn)證設(shè)備根據(jù)從第一應(yīng)答數(shù)據(jù)中得到的隨機(jī)數(shù)、認(rèn)證設(shè)備中的時間因 子和預(yù)設(shè)算法,生成第一動態(tài)口令,向客戶端發(fā)送第一動態(tài)口令和認(rèn)證設(shè)備序列號;
[0260] 例如,從第一應(yīng)答數(shù)據(jù)中得到的隨機(jī)數(shù)為"12345678",根據(jù)從第一應(yīng)答數(shù)據(jù)中得 到的隨機(jī)數(shù)、認(rèn)證設(shè)備中的時間因子和預(yù)設(shè)算法產(chǎn)生的第一動態(tài)口令為"654321";
[0261] 本實(shí)施例中,認(rèn)證設(shè)備根據(jù)隨機(jī)數(shù)和預(yù)設(shè)算法產(chǎn)生第一動態(tài)口令的過程可以放在 步驟110、步驟111、步驟114、步驟119和步驟122中的任意一個步驟中;
[0262] 除此之外,認(rèn)證設(shè)備產(chǎn)生第一動態(tài)口令的方法還可以為:
[0263] 步驟122-1 :認(rèn)證設(shè)備根據(jù)從第一應(yīng)答數(shù)據(jù)中得到的隨機(jī)數(shù)、認(rèn)證設(shè)備中的時間 因子和預(yù)設(shè)算法,生成第一明文動態(tài)口令;
[0264] 例如,從第一應(yīng)答數(shù)據(jù)中得到的隨機(jī)數(shù)為12345678,生成的第一明文動態(tài)口令為: 654321 ;
[0265] 步驟122-2 :認(rèn)證設(shè)備使用認(rèn)證中心公鑰對第一明文動態(tài)口令進(jìn)行加密,得到第 一密文動態(tài)口令;
[0266] 例如,第一密文動態(tài)口令為:
[0267] [38,-90,-125,-5,111,-113,87,-48, -104,120,105,30,23,70,-9,93,-128,55, 25,91,-53, -93, -83, -1,89,107, -12,69, -61,-100, -61,-22, 35,49, 79, -66, 79, -125,19, 57,63,95,-44,61,127,19,-4,91,103,-32,-86,62,78,48,56,-10,126,-34,114,-49,-63, 4,-107,26,-38, -116,51,113, _117,48,61,38,109, -101,26, -25,62,14, -102,115,105, 22,-25,-20,50,-2,16, -35, -34,82,66,67,127, _59,62, _89,97,62,54,24,88,2, _47,22, 97, -87, -103, -32, -82, -126,60, -116, -125, -120,125,125,74,85, -44, -52, -52,102, 102, -12, -106, -30, 25, -23]
[0268] 步驟122-3 :認(rèn)證設(shè)備根據(jù)認(rèn)證設(shè)備私鑰對第一密文動態(tài)口令進(jìn)行簽名,得到第 二簽名值;
[0269] 例如,第二簽名值為:
[0270] [64,105,108,61,68, -80,64, -1, -12, -7,10,73,93, -67,29,85,112, -54, -50, 107, -101,-125,70, -48, -64, -123, -45,45,35, -53, -34,112, -67, -128, -127, 67,49,47,51,84,114, -83, -72, -68, -6, -34, -97, -83, _108,39,74,55, -66,66, 59, -77, -27, -118,42, -56,95, -86,47,95,49, -45, -45,24, -117,74,13, -91,119, 67, -107, -114, -60, -34, -1,20,94, -115,113, -124,82,40, -111,50, -71,62, -95, -36, 19,111,_125,83,-64, _38,50,20,36,20,-120, _127,58,2,16, _128,48,-3, _113,64,-81, 113, -115,75, -77, -68, -40, -109,126,84,26,11,37,58,110,127]
[0271] 步驟122-4 :認(rèn)證設(shè)備根據(jù)第一密文動態(tài)口令和第二簽名值,得到第一動態(tài)口令;
[0272] 具體地,認(rèn)證設(shè)備對第一密文動態(tài)口令進(jìn)行base64編碼,得到第三字符數(shù)據(jù),對 第二簽名值進(jìn)行base64編碼,得到第四字符數(shù)據(jù),對第三字符數(shù)據(jù)和第四字符數(shù)據(jù)進(jìn)行組 合拼接,得到第一動態(tài)口令;
[0273] 例如,認(rèn)證設(shè)備根據(jù)第一密文動態(tài)口令和第二簽名值,得到第一動態(tài)口令,包括:
[0274] 認(rèn)證設(shè)備對第一密文動態(tài)口令進(jìn)行base64編碼,得到第三字符數(shù)據(jù)為:
[0275] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S +1HBQXL0 j++V504MPI1lGGfIfsaV8D9JfVd/wgNu =
[0276] 認(rèn)證設(shè)備對第二簽名值進(jìn)行base64編碼,得到第四字符數(shù)據(jù)為:
[0277] QGlsPUSwQP/0+QpJXb0dVXDKzmubg0bQwIXTLSPL3nC9gIFDMS8zVHKtuLz63p+t lCdK N75C07P1iirIX6ovXzHT0xiLSg21d00VjsTe/xRejXGEUiiRMrk+odwTb4NTwNoy FCQUiIE6AhCA MP2PQK9xjUuzvNiTflQaCyU6bn8 =
[0278] 認(rèn)證設(shè)備對第三字符數(shù)據(jù)和第四字符數(shù)據(jù)進(jìn)行組合拼接,得到第一動態(tài)口令為:
[0279] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S+lHBQXL0j ++V504MPIllGGflfsaV8D9JfVd/wgNu = [#*#] QGlsPUSwQP/O+QpJXbOdVX DKzmubgObQwIXTLS PL3nC9gIFDMS8zVHKtuLz63p+tlCdKN75C07PliirIX6ovXzHT0x iLSg21dOOVjsTe/xRejXGEUi iRMrk+odwTb4NTwNoyFCQUiIE6AhCAMP2PQK9xjUuzvN iTflQaCyU6bn8 =
[0280] 步驟123 :客戶端接收第一動態(tài)口令和認(rèn)證設(shè)備序列號,根據(jù)用戶信息判斷用戶 是否合法,是則執(zhí)行步驟124,否則顯示登錄失敗信息,結(jié)束;
[0281] 具體為,客戶端根據(jù)用戶信息查找對應(yīng)的用戶狀態(tài),判斷用戶狀態(tài)是否異常,是則 確定用戶不合法,否則用戶合法;
[0282] 步驟124 :客戶端向認(rèn)證中心發(fā)送第一動態(tài)口令和認(rèn)證設(shè)備序列號;
[0283] 例如,第一動態(tài)口令為"654321",認(rèn)證設(shè)備序列號為"1000313600001";
[0284] 步驟125 :認(rèn)證中心接收第一動態(tài)口令和認(rèn)證設(shè)備序列號,根據(jù)認(rèn)證設(shè)備序列號 查找對應(yīng)的隨機(jī)數(shù),判斷是否查找到隨機(jī)數(shù),是則執(zhí)行步驟126,否則向客戶端返回錯誤碼, 執(zhí)行步驟127 ;
[0285] 本實(shí)施例中,該步驟之前,還包括:
[0286] 認(rèn)證中心接收第一動態(tài)口令和認(rèn)證設(shè)備序列號,根據(jù)認(rèn)證設(shè)備公鑰對第一動態(tài)口 令進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功,是則執(zhí)行步驟125,否則向客戶端返回錯誤碼,執(zhí)行步驟 127 ;
[0287] 具體地,認(rèn)證中心對第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù)和第四字符數(shù)據(jù), 對得到的第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令,對得到的第四字符數(shù)據(jù) 進(jìn)行base64解碼,得到第二簽名值,根據(jù)認(rèn)證設(shè)備公鑰對base64解碼得到的第二簽名值進(jìn) 行運(yùn)算,得到第二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的第二驗(yàn)證數(shù)據(jù)與base64解碼得到的第一密文 動態(tài)口令是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0288] 例如,認(rèn)證中心接收到的第一動態(tài)口令為:
[0289] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S +1HBQXL0 j++V504MPIllGGflfsaV8D9JfVd/wgNu = [#*#] QGlsPUSwQP/O+QpJXbOdVX DKzmubgObQwIXTL SPL3nC9gIFDMS8zVHKtuLz63p+tlCdKN75C07PliirIX6ovXzHT0x iLSg21dOOVjsTe/xRejXGEU iiRMrk+odwTb4NTwNoyFCQUiIE6AhCAMP2PQK9xjUuzvN iTflQaCyU6bn8 =
[0290] 認(rèn)證中心對第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù)和第四字符數(shù)據(jù),分別為: 第三字符數(shù)據(jù)為:
[0291] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S +1HBQXL0 j++V504MPI1lGGfIfsaV8D9JfVd/wgNu =
[0292] 第四字符數(shù)據(jù)為:
[0293] QGlsPUSwQP/0+QpJXb0dVXDKzmubg0bQwIXTLSPL3nC9gIFDMS8zVHKtuLz63p+t lCdK N75C07P1iirIX6ovXzHT0xiLSg21d00VjsTe/xRejXGEUiiRMrk+odwTb4NTwNoy FCQUiIE6AhCA MP2PQK9xjUuzvNiTflQaCyU6bn8 =
[0294] 認(rèn)證中心對第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令為:
[0295] [38,-90,-125,-5,111,_113,87,-48, -104,120,105,30,23,70, _9,93, _128,55, 25,91,-53, -93, -83, -1,89,107, -12,69, -61,-100, -61,-22, 35,49, 79, -66, 79, -125,19, 57,63,95,-44,61,127,19,-4,91,103,-32,-86,62,78,48,56,-10,126,-34,114,-49,-63, 4, -107,26,-38, -116,51,113, _117,48,61,38,109, -101,26, -25,62,14, -102,115,105, 22,-25,-20,50,-2,16,-35, _34,82,66,67,127, _59,62, _89,97,62,54,24,88,2, _47,22, 97, -87, -103, -32, -82, -126,60, -116, -125, -120,125,125,74,85, -44, -52, -52,102, 102, -12, -106, -30, 25, -23]
[0296] 認(rèn)證中心對第四字符數(shù)據(jù)進(jìn)行base64解碼,得到第二簽名值為:
[0297] [64,105,108,61,68, -80,64, -1, -12, -7,10,73,93, -67,29,85,112, -54, -50, 107, -101,-125,70, -48, -64, -123, -45,45,35, -53, -34,112, -67, -128, -127, 67,49,47,51,84,114, -83, -72, -68, -6, -34, -97, -83, _108,39,74,55, -66,66, 59, -77, -27, -118,42, -56,95, -86,47,95,49, -45, -45,24, -117,74,13, -91,119, 67, -107, -114, -60, -34, -1,20,94, -115, 113, -124,82,40, -111,50, -71,62, -95, -36, 19,111,_125,83,-64, _38,50,20,36,20,-120, _127,58,2,16, _128,48,-3, _113,64,-81, 113, -115,75, -77, -68, -40, -109,126,84,26,11,37,58,110,127]
[0298] 認(rèn)證中心根據(jù)認(rèn)證設(shè)備公鑰對base64解碼得到的第二簽名值進(jìn)行運(yùn)算,得到第 二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的第二驗(yàn)證數(shù)據(jù)與base64解碼得到的第一密文動態(tài)口令是否 一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失?。?br>
[0299] 步驟126 :認(rèn)證中心根據(jù)查找到的隨機(jī)數(shù)、認(rèn)證中心中的時間因子和預(yù)設(shè)算法,生 成第二動態(tài)口令,判斷接收到的第一動態(tài)口令與生成的第二動態(tài)口令是否一致,是則向客 戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向客戶端返回錯誤碼,執(zhí)行步驟127 ;
[0300] 具體地,該步驟判斷接收到的第一動態(tài)口令與生成的第二動態(tài)口令一致后,還包 括:認(rèn)證中心清除生成的隨機(jī)數(shù);
[0301] 例如,認(rèn)證中心根據(jù)認(rèn)證設(shè)備序列號" 1000313600001"查找到的對應(yīng)的隨機(jī)數(shù)為 "12345678",根據(jù)查找到的隨機(jī)數(shù)、認(rèn)證中心中的時間因子和預(yù)設(shè)算法產(chǎn)生的第二動態(tài)口 令為"654321",由于生成的第二動態(tài)口令與接收到的第一動態(tài)口令一致,則認(rèn)證成功;
[0302] 除此之外,步驟126包括:
[0303] 步驟126-1 :認(rèn)證中心根據(jù)查找到的隨機(jī)數(shù)、認(rèn)證中心中的時間因子和預(yù)設(shè)算法 生成第二明文動態(tài)口令,根據(jù)認(rèn)證中心私鑰對第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行解 密,得到第一明文動態(tài)口令;
[0304] 例如,認(rèn)證中心根據(jù)認(rèn)證設(shè)備序列號查找對應(yīng)的隨機(jī)數(shù)為12345678,根據(jù)隨機(jī)數(shù)、 認(rèn)證中心中的時間因子和預(yù)設(shè)算法生成第二明文動態(tài)口令為:654321 ;使用認(rèn)證中心私鑰 對第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行解密,得到第一明文動態(tài)口令為:654321 ;
[0305] 步驟126-2 :認(rèn)證中心判斷解密得到的第一明文動態(tài)口令和生成的第二明文動態(tài) 口令是否一致,是則向客戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向客戶端返回錯誤碼,執(zhí)行步 驟 127 ;
[0306] 具體地,該步驟判斷判斷解密得到的第一明文動態(tài)口令和生成的第二明文動態(tài)口 令一致后,還包括:認(rèn)證中心清除生成的隨機(jī)數(shù);
[0307] 步驟127 :客戶端接收認(rèn)證中心發(fā)送的錯誤碼,根據(jù)錯誤碼顯示登錄失敗信息,結(jié) 束;
[0308] 本實(shí)施例中提供的一種安全登錄的方法,認(rèn)證中心向客戶端下發(fā)明文形式的敏感 信息,向認(rèn)證設(shè)備發(fā)送加密簽名后的敏感信息,客戶端和認(rèn)證設(shè)備分別顯示敏感信息,用戶 確認(rèn)后認(rèn)證設(shè)備產(chǎn)生動態(tài)口令,向認(rèn)證中心返回動態(tài)口令,認(rèn)證中心根據(jù)接收到的動態(tài)口 令對用戶的身份進(jìn)行認(rèn)證,從而實(shí)現(xiàn)安全登錄。
[0309] 實(shí)施例3
[0310] 本發(fā)明的實(shí)施例3提供了一種安全登錄的系統(tǒng),如圖4所示,包括:客戶端、認(rèn)證中 心和認(rèn)證設(shè)備;
[0311] 客戶端包括:第一檢測模塊201、第一獲取模塊202、第一生成模塊203、第一發(fā)送 模塊204、第一接收模塊205、第一處理模塊206、第一顯不模塊207和第一判斷模塊208 ;
[0312] 第一檢測模塊201,用于檢測是否有觸發(fā)信息;
[0313] 第一獲取模塊202,用于當(dāng)?shù)谝粰z測模塊201檢測到觸發(fā)信息后,獲取認(rèn)證設(shè)備的 認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識;
[0314] 第一生成模塊203,用于根據(jù)第一獲取模塊202獲取到的認(rèn)證設(shè)備序列號和第一 敏感信息標(biāo)識生成敏感信息下發(fā)請求;
[0315] 第一發(fā)送模塊204,用于向認(rèn)證中心發(fā)送第一生成模塊203生成的敏感信息下發(fā) 請求;向認(rèn)證設(shè)備發(fā)送第一處理模塊206得到的第一應(yīng)答數(shù)據(jù);當(dāng)?shù)谝慌袛嗄K208判斷 第一接收模塊205接收到的第二敏感信息與第一處理模塊206得到的第二敏感信息一致 時,向認(rèn)證設(shè)備發(fā)送登錄指令;當(dāng)?shù)谝唤邮漳K205接收到認(rèn)證設(shè)備發(fā)送的第一動態(tài)口令 和認(rèn)證設(shè)備序列號后,向認(rèn)證中心發(fā)送第一動態(tài)口令和認(rèn)證設(shè)備序列號;
[0316] 第一接收模塊205,用于接收認(rèn)證中心發(fā)送的應(yīng)答報(bào)文,接收認(rèn)證設(shè)備發(fā)送的錯誤 碼,接收認(rèn)證設(shè)備發(fā)送的第二敏感信息,接收認(rèn)證設(shè)備發(fā)送的第一動態(tài)口令和認(rèn)證設(shè)備序 列號,接收認(rèn)證中心發(fā)送的認(rèn)證成功信息,接收認(rèn)證中心發(fā)送的錯誤碼;
[0317] 第一處理模塊206,用于根據(jù)第一接收模塊205接收到的應(yīng)答報(bào)文,得到第一應(yīng)答 數(shù)據(jù)和第二敏感信息;
[0318] 第一顯示模塊207,用于根據(jù)第一接收模塊205接收到的錯誤碼顯示登錄失敗信 息,當(dāng)?shù)谝慌袛嗄K208判斷第一接收模塊205接收到的第二敏感信息與第一處理模塊206 得到的第二敏感信息不一致時,顯示登錄失敗信息;
[0319] 第一判斷模塊208,用于判斷第一接收模塊205接收到的第二敏感信息與第一處 理模塊206得到的第二敏感信息是否一致;
[0320] 認(rèn)證中心包括:第二接收模塊301、第一查找模塊302、第二生成模塊303、第三生 成模塊304、第四生成模塊305、第二發(fā)送模塊306、第二查找模塊307、第五生成模塊308和 第二判斷模塊309 ;
[0321] 第二接收模塊301,用于接收客戶端發(fā)送的敏感信息下發(fā)請求,接收客戶端發(fā)送的 第一動態(tài)口令和認(rèn)證設(shè)備序列號;
[0322] 第一查找模塊302,用于根據(jù)第二接收模塊301接收到的敏感信息下發(fā)請求中的 第一敏感信息標(biāo)識,查找對應(yīng)的第一敏感信息,并在所述認(rèn)證中心查找第二敏感信息;
[0323] 第二生成模塊303,用于生成隨機(jī)數(shù),將隨機(jī)數(shù)與第二接收模塊301接收到的敏感 信息下發(fā)請求中的認(rèn)證設(shè)備序列號對應(yīng)存儲;
[0324] 第三生成模塊304,用于根據(jù)第一查找模塊302查找到的第一敏感信息、第二敏感 信息和第二生成模塊303生成的隨機(jī)數(shù),生成第一應(yīng)答數(shù)據(jù);
[0325] 第四生成模塊305,用于根據(jù)第三生成模塊304生成的第一應(yīng)答數(shù)據(jù)和第一查找 模塊302查找到的第二敏感信息,生成應(yīng)答報(bào)文;
[0326] 第二發(fā)送模塊306,用于向客戶端發(fā)送第四生成模塊305生成的應(yīng)答報(bào)文,當(dāng)?shù)诙?判斷模塊309判斷第二接收模塊301接收到的第一動態(tài)口令與第五生成模塊308生成的第 二動態(tài)口令一致時,向客戶端發(fā)送認(rèn)證成功信息,當(dāng)?shù)诙袛嗄K309判斷第二接收模塊 301接收到的第一動態(tài)口令與第五生成模塊308生成的第二動態(tài)口令不一致時,向客戶端 返回錯誤碼;
[0327] 第二查找模塊307,用于根據(jù)第二接收模塊301接收到的認(rèn)證設(shè)備序列號查找對 應(yīng)的隨機(jī)數(shù);
[0328] 第五生成模塊308,用于根據(jù)第二查找模塊307查找到的隨機(jī)數(shù)、認(rèn)證中心中的時 間因子和預(yù)設(shè)算法,生成第二動態(tài)口令;
[0329] 第二判斷模塊309,用于判斷第二接收模塊301接收到的第一動態(tài)口令與第五生 成模塊308生成的第二動態(tài)口令是否一致;
[0330] 認(rèn)證設(shè)備包括:第三接收模塊401、第二處理模塊402、第二顯示模塊403、第二檢 測模塊404、第三判斷模塊405、第三發(fā)送模塊406和第六生成模塊407 ;
[0331] 第三接收模塊401,用于接收客戶端發(fā)送的第一應(yīng)答數(shù)據(jù),接收客戶端發(fā)送的登錄 指令;
[0332] 第二處理模塊402,用于根據(jù)第三接收模塊401接收到的第一應(yīng)答數(shù)據(jù),得到第一 敏感信息、第二敏感信息和隨機(jī)數(shù);
[0333] 第二顯示模塊403,用于對第二處理模塊402得到的第一敏感信息進(jìn)行顯示;
[0334] 第二檢測模塊404,用于當(dāng)?shù)诙@示模塊403對第一敏感信息進(jìn)行顯示時,檢測按 鍵是否被觸發(fā);
[0335] 第三判斷模塊405,用于當(dāng)?shù)诙z測模塊404檢測到按鍵被觸發(fā)后,判斷按鍵的類 型;
[0336] 第三發(fā)送模塊406,用于向客戶端發(fā)送第六生成模塊407生成的第一動態(tài)口令,當(dāng) 第三判斷模塊405判斷按鍵為第一按鍵時,向客戶端返回第二處理模塊402得到的第二敏 感信息,當(dāng)?shù)谌袛嗄K405判斷按鍵為第二按鍵時,向客戶端返回錯誤碼;
[0337] 第六生成模塊407,用于當(dāng)?shù)谌邮漳K401接收到登錄指令后,根據(jù)認(rèn)證設(shè)備中 的時間因子、預(yù)設(shè)算法以及第二處理模塊402得到的隨機(jī)數(shù),生成第一動態(tài)口令。
[0338] 第一發(fā)送模塊204還用于向認(rèn)證設(shè)備發(fā)送獲取指令;
[0339] 第一接收模塊205還用于接收認(rèn)證設(shè)備返回的認(rèn)證設(shè)備序列號和第一敏感信息 標(biāo)識。
[0340] 第一接收模塊205還用于接收用戶輸入的用戶信息;
[0341] 第一獲取模塊202具體用于根據(jù)第一接收模塊205接收到的用戶信息,在客戶端 內(nèi)部查找對應(yīng)的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識。
[0342] 認(rèn)證中心還包括:第四判斷模塊,用于根據(jù)第二接收模塊301接收到的敏感信息 下發(fā)請求,判斷認(rèn)證設(shè)備是否合法;
[0343] 第一查找模塊302,還用于當(dāng)?shù)谒呐袛嗄K判斷認(rèn)證設(shè)備合法后,進(jìn)行工作;
[0344] 第二發(fā)送模塊306,還用于當(dāng)?shù)谒呐袛嗄K判斷認(rèn)證設(shè)備不合法后,向客戶端返回 錯誤碼。
[0345] 第四判斷模塊具體用于根據(jù)第二接收模塊301接收到的敏感信息下發(fā)請求中的 認(rèn)證設(shè)備序列號,查找對應(yīng)的認(rèn)證設(shè)備的狀態(tài)和認(rèn)證設(shè)備公鑰,若根據(jù)查找到的認(rèn)證設(shè)備 的狀態(tài),判斷認(rèn)證設(shè)備可用并且認(rèn)證設(shè)備公鑰存在,則確定認(rèn)證設(shè)備合法,否則確定認(rèn)證設(shè) 備不合法。
[0346] 第三生成模塊304,包括:第一查找單元、第一組合單元、第一加密單元、第一簽名 單元和第一處理單元;
[0347] 第一查找單元,用于根據(jù)敏感信息下發(fā)請求中的認(rèn)證設(shè)備序列號,在認(rèn)證中心查 找對應(yīng)的認(rèn)證設(shè)備公鑰;
[0348] 第一組合單元,用于對第一敏感信息、第二敏感信息和隨機(jī)數(shù)進(jìn)行拼接組合,得到 第一數(shù)據(jù);
[0349] 第一加密單元,用于根據(jù)第一查找單元查找到的認(rèn)證設(shè)備公鑰對第一數(shù)據(jù)進(jìn)行加 密,得到第一加密數(shù)據(jù);
[0350] 第一簽名單元,用于使用認(rèn)證中心私鑰對第一加密數(shù)據(jù)進(jìn)行簽名,得到第一簽名 值;
[0351] 第一處理單元,用于根據(jù)第一加密數(shù)據(jù)和第一簽名值得到第一應(yīng)答數(shù)據(jù);
[0352] 認(rèn)證設(shè)備還包括第一驗(yàn)簽?zāi)K;第一驗(yàn)簽?zāi)K,用于根據(jù)存儲的認(rèn)證中心公鑰,對 第三接收模塊401接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功;
[0353] 第二處理模塊402還用于當(dāng)?shù)谝或?yàn)簽?zāi)K判斷驗(yàn)簽成功后,進(jìn)行工作;
[0354] 第三發(fā)送模塊406還用于當(dāng)?shù)谝或?yàn)簽?zāi)K判斷驗(yàn)簽失敗后,向客戶端返回錯誤 碼;
[0355] 第二處理模塊402,具體用于根據(jù)認(rèn)證設(shè)備私鑰對第三接收模塊401接收到的第 一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn)行解密,得到第一數(shù)據(jù),對得到的第一數(shù)據(jù)進(jìn)行拆分,得到 第一敏感信息、第二敏感信息和隨機(jī)數(shù)。
[0356] 第一處理單元具體用于對第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字符數(shù)據(jù),對 第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第二字符數(shù)據(jù),對第一字符數(shù)據(jù)和第二字符數(shù)據(jù)進(jìn)行 組合拼接,生成第一應(yīng)答數(shù)據(jù);
[0357] 第一驗(yàn)簽?zāi)K具體用于對第三接收模塊401接收到的第一應(yīng)答數(shù)據(jù)中的第一 字符數(shù)據(jù)進(jìn)行base64解碼,得到第一加密數(shù)據(jù),對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行 base64解碼,得到第一簽名值,根據(jù)base64解碼得到的第一加密數(shù)據(jù)和第一簽名值對第一 應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
[0358] 第一處理單元具體用于對第一加密數(shù)據(jù)和第一簽名值進(jìn)行組合拼接,得到第二數(shù) 據(jù),對第二數(shù)據(jù)進(jìn)行base64編碼,得到第一應(yīng)答數(shù)據(jù);
[0359] 第一驗(yàn)簽?zāi)K具體用于對第三接收模塊401接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行base64 解碼,得到第二數(shù)據(jù),根據(jù)base64解碼得到的第二數(shù)據(jù)中的第一加密數(shù)據(jù)和第一簽名值對 第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
[0360] 第一驗(yàn)簽?zāi)K,具體用于根據(jù)認(rèn)證中心公鑰對第一簽名值進(jìn)行運(yùn)算,得到第一驗(yàn) 證數(shù)據(jù),判斷運(yùn)算得到的第一驗(yàn)證數(shù)據(jù)與base64解碼得到的第一加密數(shù)據(jù)是否一致,是則 確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0361] 第四生成模塊305,具體用于將第一應(yīng)答數(shù)據(jù)和第二敏感信息進(jìn)行組合拼接,生成 應(yīng)答報(bào)文;
[0362] 第一處理模塊206,具體用于對應(yīng)答報(bào)文進(jìn)行拆分,得到第一應(yīng)答數(shù)據(jù)和第二敏感 信息。
[0363] 第一顯示模塊207還用于顯示第一處理模塊206處理得到的第二敏感信息;
[0364] 第二顯示模塊403還用于顯示第二處理模塊402得到的第二敏感信息。
[0365] 客戶端還包括:第五判斷模塊和注冊模塊;
[0366] 第五判斷模塊,用于在第一判斷模塊208判斷第一接收模塊205接收到的第二敏 感信息與第一處理模塊206得到的第二敏感信息一致時,根據(jù)認(rèn)證設(shè)備序列號判斷認(rèn)證設(shè) 備是否已與用戶綁定;
[0367] 注冊模塊,用于當(dāng)?shù)谖迮袛嗄K判斷認(rèn)證設(shè)備未與用戶綁定后,提示用戶進(jìn)行注 冊,接收用戶輸入的用戶信息,根據(jù)接收到的用戶信息將用戶與認(rèn)證設(shè)備進(jìn)行綁定;
[0368] 第一發(fā)送模塊204,具體用于注冊模塊工作完成后,向認(rèn)證設(shè)備發(fā)送登錄指令,當(dāng) 第五判斷模塊判斷認(rèn)證設(shè)備已與用戶綁定后,向認(rèn)證設(shè)備發(fā)送登錄指令。
[0369] 第五判斷模塊具體用于判斷是否能夠在客戶端內(nèi)部查找到與認(rèn)證設(shè)備序列號對 應(yīng)的用戶信息,是則確定認(rèn)證設(shè)備已與用戶綁定,否則確定認(rèn)證設(shè)備未與用戶綁定。
[0370] 注冊模塊具體用于提示用戶進(jìn)行注冊,接收用戶輸入的用戶信息,將接收到的用 戶信息與認(rèn)證設(shè)備序列號對應(yīng)進(jìn)行存儲,完成綁定。
[0371] 客戶端還包括:第二獲取模塊和第六判斷模塊;
[0372] 第二獲取模塊,用于第一判斷模塊208判斷第一接收模塊205接收到的第二敏感 信息與第一處理模塊206得到的第二敏感信息一致時,獲取與認(rèn)證設(shè)備對應(yīng)的用戶信息;
[0373] 第六判斷模塊,用于根據(jù)第二獲取模塊獲取到的用戶信息判斷用戶是否合法;
[0374] 第一發(fā)送模塊204還用于在第六判斷模塊判斷用戶合法后,向認(rèn)證中心發(fā)送第一 動態(tài)口令和認(rèn)證設(shè)備序列號;
[0375] 第一顯示模塊207還用于在第六判斷模塊判斷用戶不合法后,顯示登錄失敗信 肩、。
[0376] 第六判斷模塊具體用于根據(jù)用戶信息查找對應(yīng)的用戶狀態(tài),判斷用戶狀態(tài)是否異 常,是則確定用戶不合法,否則確定用戶合法。
[0377] 第二顯示模塊403,還用于在第三接收模塊401接收到登錄指令后,提示用戶是否 登錄;
[0378] 第二檢測模塊404,還用于在第二顯示模塊403提示用戶是否登錄后,檢測按鍵是 否被觸發(fā);
[0379] 第三判斷模塊405,用于第二檢測模塊404檢測到按鍵被觸發(fā)后,判斷按鍵的類 型;
[0380] 第六生成模塊407還用于第三判斷模塊405判斷出第一按鍵被觸發(fā)后,進(jìn)行工 作;
[0381] 第三發(fā)送模塊406還用于第三判斷模塊405判斷出第二按鍵被觸發(fā)后,向客戶端 返回錯誤碼。
[0382] 第六生成模塊407包括:第一生成單元、第二加密單元、第二簽名單元和第二處理 單元;
[0383] 第一生成單元,用于根據(jù)認(rèn)證設(shè)備中的時間因子、預(yù)設(shè)算法以及隨機(jī)數(shù),生成第一 明文動態(tài)口令;
[0384] 第二加密單元,用于根據(jù)認(rèn)證中心公鑰對第一生成單元生成的第一明文動態(tài)口令 進(jìn)行加密,得到第一密文動態(tài)口令;
[0385] 第二簽名單元,用于使用認(rèn)證設(shè)備私鑰對第二加密單元加密得到的第一密文動態(tài) 口令進(jìn)行簽名,得到第二簽名值;
[0386] 第二處理單元,用于根據(jù)第二加密單元加密得到的第一密文動態(tài)口令和第二簽名 單元得到的第二簽名值,得到第一動態(tài)口令;
[0387] 認(rèn)證中心還包括:第二驗(yàn)簽?zāi)K、第七生成模塊和第七判斷模塊;
[0388] 第二驗(yàn)簽?zāi)K,用于根據(jù)認(rèn)證設(shè)備公鑰對第二接收模塊301接收到的第一動態(tài)口 令進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功;
[0389] 第七生成模塊,用于在第二驗(yàn)簽?zāi)K判斷驗(yàn)簽成功后,根據(jù)認(rèn)證設(shè)備序列號查找 對應(yīng)的隨機(jī)數(shù),根據(jù)隨機(jī)數(shù)、認(rèn)證中心中的時間因子和預(yù)設(shè)算法生成第二明文動態(tài)口令, 根據(jù)認(rèn)證中心私鑰對第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行解密,得到第一明文動態(tài)口 令;
[0390] 第二發(fā)送模塊306還用于在第二驗(yàn)簽?zāi)K判斷驗(yàn)簽失敗后,向客戶端返回錯誤 碼;
[0391] 第七判斷模塊,用于判斷第七生成模塊得到的第一明文動態(tài)口令和第二明文動態(tài) 口令是否一致;
[0392] 第二發(fā)送模塊306還用于在第七判斷模塊判斷第七生成模塊得到的第一明文動 態(tài)口令和第二明文動態(tài)口令一致后,向客戶端發(fā)送認(rèn)證成功信息,在第七判斷模塊判斷第 七生成模塊得到的第一明文動態(tài)口令和第二明文動態(tài)口令不一致后,向客戶端返回錯誤 碼。
[0393] 第二處理單元具體用于對第一密文動態(tài)口令進(jìn)行base64編碼,得到第三字符數(shù) 據(jù),對第二簽名值進(jìn)行base64編碼,得到第四字符數(shù)據(jù),對第三字符數(shù)據(jù)和第四字符數(shù)據(jù) 進(jìn)行組合拼接,得到第一動態(tài)口令;
[0394] 第二驗(yàn)簽?zāi)K,具體用于對第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù)和第四字 符數(shù)據(jù),對得到的第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令,對得到的第四 字符數(shù)據(jù)進(jìn)行base64解碼,得到第二簽名值,根據(jù)認(rèn)證設(shè)備公鑰對base64解碼得到的第二 簽名值進(jìn)行運(yùn)算,得到第二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的第二驗(yàn)證數(shù)據(jù)與base64解碼得到的 第一密文動態(tài)口令是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
[0395] 認(rèn)證中心還包括清除模塊和第八判斷模塊;
[0396] 清除模塊,用于在第二判斷模塊309判斷第一動態(tài)口令與第二動態(tài)口令一致后, 清除隨機(jī)數(shù);
[0397] 第八判斷模塊,用于判斷是否查找到隨機(jī)數(shù);
[0398] 第五生成模塊308,用于第八判斷模塊判斷查找到隨機(jī)數(shù)后,進(jìn)行工作;
[0399] 第二發(fā)送模塊306還用于第八判斷模塊判斷未查找到隨機(jī)數(shù)后,向客戶端返回錯 誤碼。
[〇4〇〇] 以上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍 為準(zhǔn)。
【權(quán)利要求】
1. 一種安全登錄的方法,應(yīng)用于包括客戶端、認(rèn)證中心和認(rèn)證設(shè)備的系統(tǒng)中,其特征在 于,所述方法包括: 步驟S1 :當(dāng)所述客戶端檢測到觸發(fā)信息后,所述客戶端獲取所述認(rèn)證設(shè)備的認(rèn)證設(shè)備 序列號和第一敏感信息標(biāo)識,根據(jù)所述認(rèn)證設(shè)備序列號和所述第一敏感信息標(biāo)識生成敏感 信息下發(fā)請求,向所述認(rèn)證中心發(fā)送所述敏感信息下發(fā)請求; 步驟S2 :所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求中的所述第一敏感信息標(biāo)識,查找 對應(yīng)的第一敏感信息,并在所述認(rèn)證中心查找第二敏感信息,生成隨機(jī)數(shù),將所述隨機(jī)數(shù)與 所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號對應(yīng)存儲,根據(jù)所述第一敏感信息、所述 第二敏感信息和所述隨機(jī)數(shù)生成第一應(yīng)答數(shù)據(jù),根據(jù)所述第一應(yīng)答數(shù)據(jù)和所述第二敏感信 息生成應(yīng)答報(bào)文,向所述客戶端發(fā)送所述應(yīng)答報(bào)文; 步驟S3 :所述客戶端根據(jù)所述應(yīng)答報(bào)文,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息,將得到 的第一應(yīng)答數(shù)據(jù)發(fā)送到所述認(rèn)證設(shè)備; 步驟S4 :所述認(rèn)證設(shè)備根據(jù)接收到的第一應(yīng)答數(shù)據(jù),得到第一敏感信息、第二敏感信 息和隨機(jī)數(shù),對得到的第一敏感信息進(jìn)行顯示; 步驟S5 :當(dāng)所述認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,所述認(rèn)證設(shè)備判斷所述按鍵的類型, 若是第一按鍵則向所述客戶端返回從所述第一應(yīng)答數(shù)據(jù)中得到的第二敏感信息,執(zhí)行步驟 S7,若是第二按鍵則向所述客戶端返回錯誤碼,執(zhí)行步驟S6 ; 步驟S6 :所述客戶端接收所述認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄失敗 信息,結(jié)束; 步驟S7 :所述客戶端判斷接收到的第二敏感信息與根據(jù)所述應(yīng)答報(bào)文得到的第二敏 感信息是否一致,是則向所述認(rèn)證設(shè)備發(fā)送登錄指令,執(zhí)行步驟S8,否則顯示登錄失敗信 息,結(jié)束; 步驟S8 :所述認(rèn)證設(shè)備根據(jù)所述認(rèn)證設(shè)備中的時間因子、預(yù)設(shè)算法以及從第一應(yīng)答數(shù) 據(jù)中得到的隨機(jī)數(shù),生成第一動態(tài)口令,向所述客戶端發(fā)送所述第一動態(tài)口令和所述認(rèn)證 設(shè)備序列號; 步驟S9 :所述客戶端向所述認(rèn)證中心發(fā)送所述第一動態(tài)口令和所述認(rèn)證設(shè)備序列號; 步驟S10 :所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備序列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)查找到的 隨機(jī)數(shù)、所述認(rèn)證中心中的時間因子和預(yù)設(shè)算法,生成第二動態(tài)口令,判斷所述第一動態(tài)口 令與所述第二動態(tài)口令是否一致,是則向所述客戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向所述 客戶端返回錯誤碼,執(zhí)行步驟S11 ; 步驟S11 :所述客戶端接收所述認(rèn)證中心發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄失 敗信息,結(jié)束。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述客戶端獲取所述認(rèn)證設(shè)備的認(rèn)證設(shè) 備序列號和第一敏感信息標(biāo)識,具體為:所述客戶端向所述認(rèn)證設(shè)備發(fā)送獲取指令,接收所 述認(rèn)證設(shè)備返回的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述客戶端獲取所述認(rèn)證設(shè)備的認(rèn)證設(shè) 備序列號和第一敏感信息標(biāo)識,具體為:所述客戶端接收用戶輸入的用戶信息,根據(jù)所述用 戶信息在所述客戶端內(nèi)部查找對應(yīng)的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2之前包括: 步驟A1 :所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求,判斷所述認(rèn)證設(shè)備是否合法,是 則執(zhí)行步驟S2,否則向所述客戶端返回錯誤碼,執(zhí)行步驟A2 ; 步驟A2 :所述客戶端接收所述認(rèn)證中心發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄失敗 信息,結(jié)束。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟A1具體為: 所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號,查找對應(yīng)的認(rèn)證 設(shè)備的狀態(tài)和認(rèn)證設(shè)備公鑰,若根據(jù)查找到的所述認(rèn)證設(shè)備的狀態(tài),判斷所述認(rèn)證設(shè)備可 用并且所述認(rèn)證設(shè)備公鑰存在時,則執(zhí)行步驟S2,否則向所述客戶端返回錯誤碼,執(zhí)行步驟 A2。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一敏感信息、所述第二敏 感信息和所述隨機(jī)數(shù)生成第一應(yīng)答數(shù)據(jù),具體為: 所述認(rèn)證中心根據(jù)所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號,在所述認(rèn)證中心 查找對應(yīng)的認(rèn)證設(shè)備公鑰,所述認(rèn)證中心對所述第一敏感信息、所述第二敏感信息和所述 隨機(jī)數(shù)進(jìn)行拼接組合,得到第一數(shù)據(jù),根據(jù)查找到的所述認(rèn)證設(shè)備公鑰對所述第一數(shù)據(jù)進(jìn) 行加密,得到第一加密數(shù)據(jù),使用認(rèn)證中心私鑰對所述第一加密數(shù)據(jù)進(jìn)行簽名,得到第一簽 名值,根據(jù)所述第一加密數(shù)據(jù)和所述第一簽名值得到所述第一應(yīng)答數(shù)據(jù); 所述步驟S4之前還包括: 步驟B1 :所述認(rèn)證設(shè)備根據(jù)存儲的認(rèn)證中心公鑰,對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn) 簽,判斷是否驗(yàn)簽成功,是則執(zhí)行步驟S4,否則向所述客戶端返回錯誤碼,執(zhí)行步驟B2 ; 步驟B2 :所述客戶端接收所述認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄失敗 信息,結(jié)束; 所述認(rèn)證設(shè)備根據(jù)接收到的第一應(yīng)答數(shù)據(jù),得到第一敏感信息、第二敏感信息和隨機(jī) 數(shù),具體為: 所述認(rèn)證設(shè)備根據(jù)認(rèn)證設(shè)備私鑰對接收到的第一應(yīng)答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn)行解 密,得到第一數(shù)據(jù),對得到的第一數(shù)據(jù)進(jìn)行拆分,得到第一敏感信息、第二敏感信息和隨機(jī) 數(shù)。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述第一加密數(shù)據(jù)和所述第一 簽名值得到所述第一應(yīng)答數(shù)據(jù),具體為: 所述認(rèn)證中心對所述第一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字符數(shù)據(jù),對所述第一 簽名值進(jìn)行base64編碼,得到第二字符數(shù)據(jù),對所述第一字符數(shù)據(jù)和所述第二字符數(shù)據(jù)進(jìn) 行組合拼接,生成所述第一應(yīng)答數(shù)據(jù); 所述認(rèn)證設(shè)備根據(jù)存儲的認(rèn)證中心公鑰,對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,具體 為: 所述認(rèn)證設(shè)備對接收到的第一應(yīng)答數(shù)據(jù)中的第一字符數(shù)據(jù)進(jìn)行base64解碼,得到第 一加密數(shù)據(jù),對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行base64解碼,得到第一簽名值,根據(jù) base64解碼得到的第一加密數(shù)據(jù)和第一簽名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
8. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述第一加密數(shù)據(jù)和所述第一 簽名值得到所述第一應(yīng)答數(shù)據(jù),具體為: 所述認(rèn)證中心對所述第一加密數(shù)據(jù)和所述第一簽名值進(jìn)行組合拼接,得到第二數(shù)據(jù), 對所述第二數(shù)據(jù)進(jìn)行base64編碼,得到所述第一應(yīng)答數(shù)據(jù); 所述認(rèn)證設(shè)備根據(jù)存儲的認(rèn)證中心公鑰,對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,具體 為: 所述認(rèn)證設(shè)備對接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行base64解碼,得到第二數(shù)據(jù),根據(jù)base64 解碼得到的第二數(shù)據(jù)中的第一加密數(shù)據(jù)和第一簽名值對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
9. 根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述對第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,具體 為: 所述認(rèn)證設(shè)備根據(jù)認(rèn)證中心公鑰對第一簽名值進(jìn)行運(yùn)算,得到第一驗(yàn)證數(shù)據(jù),判斷運(yùn) 算得到的所述第一驗(yàn)證數(shù)據(jù)與base64解碼得到的第一加密數(shù)據(jù)是否一致,是則確定驗(yàn)簽 成功,否則確定驗(yàn)簽失敗。
10. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一應(yīng)答數(shù)據(jù)和所述第二 敏感信息生成應(yīng)答報(bào)文,具體為: 所述認(rèn)證中心將所述第一應(yīng)答數(shù)據(jù)和所述第二敏感信息進(jìn)行組合拼接,生成應(yīng)答報(bào) 文; 所述根據(jù)所述應(yīng)答報(bào)文,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息,具體為: 所述客戶端對所述應(yīng)答報(bào)文進(jìn)行拆分,得到第一應(yīng)答數(shù)據(jù)和第二敏感信息。
11. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S3還包括:所述客戶端顯示所 述第二敏感信息; 所述步驟S5中當(dāng)所述認(rèn)證設(shè)備檢測到所述第一按鍵被觸發(fā)后,還包括:所述認(rèn)證設(shè)備 顯示從第一應(yīng)答數(shù)據(jù)中得到的第二敏感信息。
12. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S7中向所述認(rèn)證設(shè)備發(fā)送登錄 指令之前還包括: 步驟C1 :所述客戶端根據(jù)所述認(rèn)證設(shè)備序列號判斷所述認(rèn)證設(shè)備是否已與用戶綁定, 是則執(zhí)行步驟C3,否則執(zhí)行步驟C2 ; 步驟C2 :所述客戶端提示所述用戶進(jìn)行注冊,接收所述用戶輸入的用戶信息,根據(jù)接 收到的所述用戶信息將所述用戶與所述認(rèn)證設(shè)備進(jìn)行綁定,執(zhí)行步驟C3 ; 步驟C3 :所述客戶端向所述認(rèn)證設(shè)備發(fā)送所述登錄指令。
13. 根據(jù)權(quán)利要求12所述的方法,其特征在于,所述客戶端根據(jù)所述認(rèn)證設(shè)備序列號 判斷所述認(rèn)證設(shè)備是否已與用戶綁定,具體為: 所述客戶端判斷是否能夠在所述客戶端內(nèi)部查找到與所述認(rèn)證設(shè)備序列號對應(yīng)的用 戶信息,是則確定所述認(rèn)證設(shè)備已與所述用戶綁定,否則確定所述認(rèn)證設(shè)備未與所述用戶 綁定。
14. 根據(jù)權(quán)利要求12所述的方法,其特征在于,所述根據(jù)接收到的所述用戶信息將所 述用戶與所述認(rèn)證設(shè)備進(jìn)行綁定,具體為:所述客戶端將接收到的所述用戶信息與所述認(rèn) 證設(shè)備序列號對應(yīng)進(jìn)行存儲,完成綁定。
15. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S7中所述客戶端判斷接收到的 所述第二敏感信息與根據(jù)所述應(yīng)答報(bào)文得到的所述第二敏感信息一致之后,還包括: 所述客戶端獲取與所述認(rèn)證設(shè)備對應(yīng)的用戶信息; 所述步驟S9之前包括:所述客戶端根據(jù)所述用戶信息判斷所述用戶是否合法,是則執(zhí) 行步驟S9,否則顯示登錄失敗信息,結(jié)束。
16. 根據(jù)權(quán)利要求15所述的方法,其特征在于,所述客戶端根據(jù)所述用戶信息判斷所 述用戶是否合法,具體為: 所述客戶端根據(jù)所述用戶信息查找對應(yīng)的用戶狀態(tài),判斷所述用戶狀態(tài)是否異常,是 則確定所述用戶不合法,否則確定所述用戶合法。
17. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S8之前還包括: 步驟D1 :所述認(rèn)證設(shè)備接收到所述登錄指令后,提示用戶是否登錄; 步驟D2:當(dāng)所述認(rèn)證設(shè)備檢測到按鍵被觸發(fā)后,所述認(rèn)證設(shè)備判斷按鍵的類型,若是 第一按鍵則執(zhí)行步驟S8,若是第二按鍵則向所述客戶端返回錯誤碼,執(zhí)行步驟D3 ; 步驟D3 :所述客戶端接收所述認(rèn)證設(shè)備發(fā)送的錯誤碼,根據(jù)所述錯誤碼顯示登錄失敗 信息,結(jié)束。
18. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述認(rèn)證設(shè)備根據(jù)所述認(rèn)證設(shè)備中的時 間因子、所述預(yù)設(shè)算法以及從第一應(yīng)答數(shù)據(jù)中得到的隨機(jī)數(shù),生成第一動態(tài)口令,具體為: 步驟E1 :所述認(rèn)證設(shè)備根據(jù)所述認(rèn)證設(shè)備中的時間因子、所述預(yù)設(shè)算法以及從第一應(yīng) 答數(shù)據(jù)中得到的隨機(jī)數(shù),生成第一明文動態(tài)口令; 步驟E2 :所述認(rèn)證設(shè)備根據(jù)認(rèn)證中心公鑰對所述第一明文動態(tài)口令進(jìn)行加密,得到第 一密文動態(tài)口令; 步驟E3 :所述認(rèn)證設(shè)備使用認(rèn)證設(shè)備私鑰對所述第一密文動態(tài)口令進(jìn)行簽名,得到第 二簽名值; 步驟E4:所述認(rèn)證設(shè)備根據(jù)所述第一密文動態(tài)口令和所述第二簽名值,得到所述第一 動態(tài)口令; 所述步驟S10具體為: 步驟F1 :所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備公鑰對接收到的所述第一動態(tài)口令進(jìn)行驗(yàn) 簽,判斷是否驗(yàn)簽成功,是則執(zhí)行步驟F2,否則向所述客戶端返回錯誤碼,執(zhí)行步驟SI 1 ; 步驟F2 :所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備序列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)所述隨機(jī) 數(shù)、所述認(rèn)證中心中的時間因子和預(yù)設(shè)算法生成第二明文動態(tài)口令,根據(jù)認(rèn)證中心私鑰對 所述第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行解密,得到第一明文動態(tài)口令; 步驟F3 :所述認(rèn)證中心判斷所述第一明文動態(tài)口令和所述第二明文動態(tài)口令是否一 致,是則向客戶端發(fā)送認(rèn)證成功信息,結(jié)束,否則向客戶端返回錯誤碼,執(zhí)行步驟S11。
19. 根據(jù)權(quán)利要求18所述的方法,其特征在于,所述認(rèn)證設(shè)備根據(jù)所述第一密文動態(tài) 口令和所述第二簽名值,得到所述第一動態(tài)口令,包括: 所述認(rèn)證設(shè)備對所述第一密文動態(tài)口令進(jìn)行base64編碼,得到第三字符數(shù)據(jù),對所述 第二簽名值進(jìn)行base64編碼,得到第四字符數(shù)據(jù),對所述第三字符數(shù)據(jù)和所述第四字符數(shù) 據(jù)進(jìn)行組合拼接,得到所述第一動態(tài)口令; 所述認(rèn)證中心根據(jù)所述認(rèn)證設(shè)備公鑰對所述第一動態(tài)口令進(jìn)行驗(yàn)簽,具體為: 所述認(rèn)證中心對所述第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù)和第四字符數(shù)據(jù),對 得到的第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令,對得到的第四字符數(shù)據(jù)進(jìn) 行base64解碼,得到第二簽名值,根據(jù)認(rèn)證設(shè)備公鑰對base64解碼得到的第二簽名值進(jìn)行 運(yùn)算,得到第二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的所述第二驗(yàn)證數(shù)據(jù)與base64解碼得到的第一密 文動態(tài)口令是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
20. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述認(rèn)證中心判斷接收到的所述第一動 態(tài)口令與生成的所述第二動態(tài)口令一致之后,還包括:清除所述隨機(jī)數(shù); 所述步驟S10中生成第二動態(tài)口令之前包括: 所述認(rèn)證中心判斷是否查找到隨機(jī)數(shù),是則繼續(xù),否則向所述客戶端返回錯誤碼,執(zhí)行 步驟S11。
21. -種安全登錄的系統(tǒng),其特征在于,所述系統(tǒng)包括客戶端、認(rèn)證中心和認(rèn)證設(shè)備; 所述客戶端包括:第一檢測模塊、第一獲取模塊、第一生成模塊、第一發(fā)送模塊、第一接 收模塊、第一處理模塊、第一顯示模塊和第一判斷模塊; 所述第一檢測模塊,用于檢測是否有觸發(fā)信息; 所述第一獲取模塊,用于當(dāng)所述第一檢測模塊檢測到觸發(fā)信息后,獲取所述認(rèn)證設(shè)備 的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識; 所述第一生成模塊,用于根據(jù)所述第一獲取模塊獲取到的所述認(rèn)證設(shè)備序列號和所述 第一敏感信息標(biāo)識生成敏感信息下發(fā)請求; 所述第一發(fā)送模塊,用于向所述認(rèn)證中心發(fā)送所述第一生成模塊生成的所述敏感信息 下發(fā)請求;向所述認(rèn)證設(shè)備發(fā)送所述第一處理模塊得到的第一應(yīng)答數(shù)據(jù);當(dāng)所述第一判斷 模塊判斷所述第一接收模塊接收到的第二敏感信息與所述第一處理模塊得到的第二敏感 信息一致時,向所述認(rèn)證設(shè)備發(fā)送登錄指令;當(dāng)所述第一接收模塊接收到所述認(rèn)證設(shè)備發(fā) 送的第一動態(tài)口令和認(rèn)證設(shè)備序列號后,向所述認(rèn)證中心發(fā)送所述第一動態(tài)口令和所述認(rèn) 證設(shè)備序列號; 所述第一接收模塊,用于接收所述認(rèn)證中心發(fā)送的應(yīng)答報(bào)文,接收所述認(rèn)證設(shè)備發(fā)送 的錯誤碼,接收所述認(rèn)證設(shè)備發(fā)送的第二敏感信息,接收所述認(rèn)證設(shè)備發(fā)送的第一動態(tài)口 令和認(rèn)證設(shè)備序列號,接收所述認(rèn)證中心發(fā)送的認(rèn)證成功信息,接收所述認(rèn)證中心發(fā)送的 錯誤碼; 所述第一處理模塊,用于根據(jù)所述第一接收模塊接收到的所述應(yīng)答報(bào)文,得到第一應(yīng) 答數(shù)據(jù)和第二敏感信息; 所述第一顯示模塊,用于根據(jù)所述第一接收模塊接收到的錯誤碼顯示登錄失敗信息, 當(dāng)所述第一判斷模塊判斷所述第一接收模塊接收到的第二敏感信息與所述第一處理模塊 得到的第二敏感信息不一致時,顯示登錄失敗信息; 所述第一判斷模塊,用于判斷所述第一接收模塊接收到的第二敏感信息與所述第一處 理模塊得到的第二敏感信息是否一致; 所述認(rèn)證中心包括:第二接收模塊、第一查找模塊、第二生成模塊、第三生成模塊、第四 生成模塊、第二發(fā)送模塊、第二查找模塊、第五生成模塊和第二判斷模塊; 所述第二接收模塊,用于接收所述客戶端發(fā)送的所述敏感信息下發(fā)請求,接收所述客 戶端發(fā)送的所述第一動態(tài)口令和所述認(rèn)證設(shè)備序列號; 所述第一查找模塊,用于根據(jù)所述第二接收模塊接收到的所述敏感信息下發(fā)請求中 的所述第一敏感信息標(biāo)識,查找對應(yīng)的第一敏感信息,并在所述認(rèn)證中心查找第二敏感信 息; 所述第二生成模塊,用于生成隨機(jī)數(shù),將所述隨機(jī)數(shù)與所述第二接收模塊接收到的所 述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號對應(yīng)存儲; 所述第三生成模塊,用于根據(jù)所述第一查找模塊查找到的所述第一敏感信息、所述第 二敏感信息和所述第二生成模塊生成的所述隨機(jī)數(shù),生成第一應(yīng)答數(shù)據(jù); 所述第四生成模塊,用于根據(jù)所述第三生成模塊生成的所述第一應(yīng)答數(shù)據(jù)和所述第一 查找模塊查找到的所述第二敏感信息,生成應(yīng)答報(bào)文; 所述第二發(fā)送模塊,用于向所述客戶端發(fā)送所述第四生成模塊生成的所述應(yīng)答報(bào)文, 當(dāng)所述第二判斷模塊判斷所述第二接收模塊接收到的所述第一動態(tài)口令與所述第五生成 模塊生成的第二動態(tài)口令一致時,向所述客戶端發(fā)送認(rèn)證成功信息,當(dāng)所述第二判斷模塊 判斷所述第二接收模塊接收到的所述第一動態(tài)口令與所述第五生成模塊生成的第二動態(tài) 口令不一致時,向所述客戶端返回錯誤碼; 所述第二查找模塊,用于根據(jù)所述第二接收模塊接收到的所述認(rèn)證設(shè)備序列號查找對 應(yīng)的隨機(jī)數(shù); 所述第五生成模塊,用于根據(jù)所述第二查找模塊查找到的所述隨機(jī)數(shù)、所述認(rèn)證中心 中的時間因子和預(yù)設(shè)算法,生成第二動態(tài)口令; 所述第二判斷模塊,用于判斷所述第二接收模塊接收到的所述第一動態(tài)口令與所述第 五生成模塊生成的所述第二動態(tài)口令是否一致; 所述認(rèn)證設(shè)備包括:第三接收模塊、第二處理模塊、第二顯示模塊、第二檢測模塊、第三 判斷模塊、第三發(fā)送模塊和第六生成模塊; 所述第三接收模塊,用于接收所述客戶端發(fā)送的第一應(yīng)答數(shù)據(jù),接收所述客戶端發(fā)送 的所述登錄指令; 所述第二處理模塊,用于根據(jù)所述第三接收模塊接收到的所述第一應(yīng)答數(shù)據(jù),得到第 一敏感信息、第二敏感信息和隨機(jī)數(shù); 所述第二顯示模塊,用于對所述第二處理模塊得到的所述第一敏感信息進(jìn)行顯示; 所述第二檢測模塊,用于當(dāng)所述第二顯示模塊對第一敏感信息進(jìn)行顯示時,檢測按鍵 是否被觸發(fā); 所述第三判斷模塊,用于當(dāng)所述第二檢測模塊檢測到按鍵被觸發(fā)后,判斷所述按鍵的 類型; 所述第三發(fā)送模塊,用于向所述客戶端發(fā)送所述第六生成模塊生成的第一動態(tài)口令, 當(dāng)所述第三判斷模塊判斷所述按鍵為第一按鍵時,向所述客戶端返回所述第二處理模塊得 到的第二敏感信息,當(dāng)所述第三判斷模塊判斷所述按鍵為第二按鍵時,向所述客戶端返回 錯誤碼; 所述第六生成模塊,用于當(dāng)所述第三接收模塊接收到所述登錄指令后,根據(jù)所述認(rèn)證 設(shè)備中的時間因子、預(yù)設(shè)算法以及所述第二處理模塊得到的隨機(jī)數(shù),生成第一動態(tài)口令。
22. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第一發(fā)送模塊還用于向所述認(rèn)證 設(shè)備發(fā)送獲取指令; 所述第一接收模塊還用于接收所述認(rèn)證設(shè)備返回的認(rèn)證設(shè)備序列號和第一敏感信息 標(biāo)識。
23. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第一接收模塊還用于接收用戶輸 入的用戶信息; 所述第一獲取模塊具體用于根據(jù)所述第一接收模塊接收到的所述用戶信息,在所述客 戶端內(nèi)部查找對應(yīng)的認(rèn)證設(shè)備序列號和第一敏感信息標(biāo)識。
24. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述認(rèn)證中心還包括:第四判斷模塊, 用于根據(jù)所述第二接收模塊接收到的所述敏感信息下發(fā)請求,判斷所述認(rèn)證設(shè)備是否合 法; 所述第一查找模塊,還用于當(dāng)所述第四判斷模塊判斷所述認(rèn)證設(shè)備合法后,進(jìn)行工 作; 所述第二發(fā)送模塊,還用于當(dāng)所述第四判斷模塊判斷所述認(rèn)證設(shè)備不合法后,向所述 客戶端返回錯誤碼。
25. 根據(jù)權(quán)利要求24所述的系統(tǒng),其特征在于,所述第四判斷模塊具體用于根據(jù)所述 第二接收模塊接收到的所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號,查找對應(yīng)的認(rèn)證 設(shè)備的狀態(tài)和認(rèn)證設(shè)備公鑰,若根據(jù)查找到的所述認(rèn)證設(shè)備的狀態(tài),判斷所述認(rèn)證設(shè)備可 用并且所述認(rèn)證設(shè)備公鑰存在,則確定所述認(rèn)證設(shè)備合法,否則確定所述認(rèn)證設(shè)備不合法。
26. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第三生成模塊,包括:第一查找單 元、第一組合單元、第一加密單元、第一簽名單元和第一處理單元; 所述第一查找單元,用于根據(jù)所述敏感信息下發(fā)請求中的所述認(rèn)證設(shè)備序列號,在所 述認(rèn)證中心查找對應(yīng)的認(rèn)證設(shè)備公鑰; 所述第一組合單元,用于對所述第一敏感信息、所述第二敏感信息和所述隨機(jī)數(shù)進(jìn)行 拼接組合,得到第一數(shù)據(jù); 所述第一加密單元,用于根據(jù)所述第一查找單元查找到的所述認(rèn)證設(shè)備公鑰對所述第 一數(shù)據(jù)進(jìn)行加密,得到第一加密數(shù)據(jù); 所述第一簽名單元,用于使用認(rèn)證中心私鑰對所述第一加密數(shù)據(jù)進(jìn)行簽名,得到第一 簽名值; 所述第一處理單元,用于根據(jù)所述第一加密數(shù)據(jù)和所述第一簽名值得到所述第一應(yīng)答 數(shù)據(jù); 所述認(rèn)證設(shè)備還包括第一驗(yàn)簽?zāi)K;所述第一驗(yàn)簽?zāi)K,用于根據(jù)存儲的認(rèn)證中心公 鑰,對所述第三接收模塊接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功; 所述第二處理模塊還用于當(dāng)所述第一驗(yàn)簽?zāi)K判斷驗(yàn)簽成功后,進(jìn)行工作; 所述第三發(fā)送模塊還用于當(dāng)所述第一驗(yàn)簽?zāi)K判斷驗(yàn)簽失敗后,向所述客戶端返回錯 誤碼; 所述第二處理模塊,具體用于根據(jù)認(rèn)證設(shè)備私鑰對所述第三接收模塊接收到的第一應(yīng) 答數(shù)據(jù)中的第一加密數(shù)據(jù)進(jìn)行解密,得到第一數(shù)據(jù),對得到的第一數(shù)據(jù)進(jìn)行拆分,得到第一 敏感信息、第二敏感信息和隨機(jī)數(shù)。
27. 根據(jù)權(quán)利要求26所述的系統(tǒng),其特征在于,所述第一處理單元具體用于對所述第 一加密數(shù)據(jù)進(jìn)行base64編碼,得到第一字符數(shù)據(jù),對所述第一加密數(shù)據(jù)進(jìn)行base64編碼, 得到第二字符數(shù)據(jù),對所述第一字符數(shù)據(jù)和所述第二字符數(shù)據(jù)進(jìn)行組合拼接,生成所述第 一應(yīng)答數(shù)據(jù); 所述第一驗(yàn)簽?zāi)K具體用于對所述第三接收模塊接收到的第一應(yīng)答數(shù)據(jù)中的第一 字符數(shù)據(jù)進(jìn)行base64解碼,得到第一加密數(shù)據(jù),對第一應(yīng)答數(shù)據(jù)中的第二字符數(shù)據(jù)進(jìn)行 base64解碼,得到第一簽名值,根據(jù)base64解碼得到的第一加密數(shù)據(jù)和第一簽名值對第一 應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
28. 根據(jù)權(quán)利要求26所述的系統(tǒng),其特征在于,所述第一處理單元具體用于對所述第 一加密數(shù)據(jù)和所述第一簽名值進(jìn)行組合拼接,得到第二數(shù)據(jù),對所述第二數(shù)據(jù)進(jìn)行base64 編碼,得到所述第一應(yīng)答數(shù)據(jù); 所述第一驗(yàn)簽?zāi)K具體用于對所述第三接收模塊接收到的第一應(yīng)答數(shù)據(jù)進(jìn)行base64 解碼,得到第二數(shù)據(jù),根據(jù)base64解碼得到的第二數(shù)據(jù)中的第一加密數(shù)據(jù)和第一簽名值對 第一應(yīng)答數(shù)據(jù)進(jìn)行驗(yàn)簽。
29. 根據(jù)權(quán)利要求27或28所述的系統(tǒng),其特征在于,所述第一驗(yàn)簽?zāi)K,具體用于根 據(jù)認(rèn)證中心公鑰對第一簽名值進(jìn)行運(yùn)算,得到第一驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的所述第一驗(yàn) 證數(shù)據(jù)與base64解碼得到的第一加密數(shù)據(jù)是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失 敗。
30. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第四生成模塊,具體用于將所述第 一應(yīng)答數(shù)據(jù)和所述第二敏感信息進(jìn)行組合拼接,生成應(yīng)答報(bào)文; 所述第一處理模塊,具體用于對所述應(yīng)答報(bào)文進(jìn)行拆分,得到第一應(yīng)答數(shù)據(jù)和第二敏 感信息。
31. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第一顯示模塊還用于顯示所述第 一處理模塊處理得到的第二敏感信息; 所述第二顯示模塊還用于顯示所述第二處理模塊得到的第二敏感信息。
32. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述客戶端還包括:第五判斷模塊和注 冊模塊; 所述第五判斷模塊,用于在所述第一判斷模塊判斷所述第一接收模塊接收到的第二敏 感信息與所述第一處理模塊得到的第二敏感信息一致時,根據(jù)所述認(rèn)證設(shè)備序列號判斷所 述認(rèn)證設(shè)備是否已與用戶綁定; 所述注冊模塊,用于當(dāng)所述第五判斷模塊判斷所述認(rèn)證設(shè)備未與用戶綁定后,提示所 述用戶進(jìn)行注冊,接收所述用戶輸入的用戶信息,根據(jù)接收到的所述用戶信息將所述用戶 與所述認(rèn)證設(shè)備進(jìn)行綁定; 所述第一發(fā)送模塊,具體用于所述注冊模塊工作完成后,向所述認(rèn)證設(shè)備發(fā)送所述登 錄指令,當(dāng)所述第五判斷模塊判斷所述認(rèn)證設(shè)備已與用戶綁定后,向所述認(rèn)證設(shè)備發(fā)送所 述登錄指令。
33. 根據(jù)權(quán)利要求32所述的系統(tǒng),其特征在于,所述第五判斷模塊具體用于判斷是否 能夠在所述客戶端內(nèi)部查找到與所述認(rèn)證設(shè)備序列號對應(yīng)的用戶信息,是則確定所述認(rèn)證 設(shè)備已與所述用戶綁定,否則確定所述認(rèn)證設(shè)備未與所述用戶綁定。
34. 根據(jù)權(quán)利要求32所述的系統(tǒng),其特征在于,所述注冊模塊具體用于提示所述用戶 進(jìn)行注冊,接收所述用戶輸入的用戶信息,將接收到的所述用戶信息與所述認(rèn)證設(shè)備序列 號對應(yīng)進(jìn)行存儲,完成綁定。
35. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述客戶端還包括:第二獲取模塊和第 六判斷模塊; 所述第二獲取模塊,用于所述第一判斷模塊判斷所述第一接收模塊接收到的第二敏感 信息與所述第一處理模塊得到的第二敏感信息一致時,獲取與所述認(rèn)證設(shè)備對應(yīng)的用戶信 息; 所述第六判斷模塊,用于根據(jù)所述第二獲取模塊獲取到的所述用戶信息判斷所述用戶 是否合法; 所述第一發(fā)送模塊還用于在所述第六判斷模塊判斷所述用戶合法后,向所述認(rèn)證中心 發(fā)送所述第一動態(tài)口令和所述認(rèn)證設(shè)備序列號; 所述第一顯示模塊還用于在所述第六判斷模塊判斷所述用戶不合法后,顯示登錄失敗 信息。
36. 根據(jù)權(quán)利要求35所述的系統(tǒng),其特征在于,所述第六判斷模塊具體用于根據(jù)所述 用戶信息查找對應(yīng)的用戶狀態(tài),判斷所述用戶狀態(tài)是否異常,是則確定所述用戶不合法,否 則確定所述用戶合法。
37. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第二顯示模塊,還用于在所述第三 接收模塊接收到所述登錄指令后,提示用戶是否登錄; 所述第二檢測模塊,還用于在所述第二顯示模塊提示用戶是否登錄后,檢測按鍵是否 被觸發(fā); 所述第三判斷模塊,還用于所述第二檢測模塊檢測到按鍵被觸發(fā)后,判斷按鍵的類 型; 所述第六生成模塊還用于所述第三判斷模塊判斷出第一按鍵被觸發(fā)后,進(jìn)行工作; 所述第三發(fā)送模塊還用于所述第三判斷模塊判斷出第二按鍵被觸發(fā)后,向所述客戶端 返回錯誤碼。
38. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第六生成模塊包括:第一生成單 元、第二加密單元、第二簽名單元和第二處理單元; 所述第一生成單元,用于根據(jù)所述認(rèn)證設(shè)備中的時間因子、所述預(yù)設(shè)算法以及隨機(jī)數(shù), 生成第一明文動態(tài)口令; 所述第二加密單元,用于根據(jù)認(rèn)證中心公鑰對所述第一生成單元生成的所述第一明文 動態(tài)口令進(jìn)行加密,得到第一密文動態(tài)口令; 所述第二簽名單元,用于使用認(rèn)證設(shè)備私鑰對所述第二加密單元加密得到的所述第一 密文動態(tài)口令進(jìn)行簽名,得到第二簽名值; 所述第二處理單元,用于根據(jù)所述第二加密單元加密得到的所述第一密文動態(tài)口令和 所述第二簽名單元得到的所述第二簽名值,得到所述第一動態(tài)口令; 所述認(rèn)證中心還包括:第二驗(yàn)簽?zāi)K、第七生成模塊和第七判斷模塊; 所述第二驗(yàn)簽?zāi)K,用于根據(jù)所述認(rèn)證設(shè)備公鑰對所述第二接收模塊接收到的所述第 一動態(tài)口令進(jìn)行驗(yàn)簽,判斷是否驗(yàn)簽成功; 所述第七生成模塊,用于在所述第二驗(yàn)簽?zāi)K判斷驗(yàn)簽成功后,根據(jù)所述認(rèn)證設(shè)備序 列號查找對應(yīng)的隨機(jī)數(shù),根據(jù)所述隨機(jī)數(shù)、所述認(rèn)證中心中的時間因子和預(yù)設(shè)算法生成第 二明文動態(tài)口令,根據(jù)認(rèn)證中心私鑰對所述第一動態(tài)口令中的第一密文動態(tài)口令進(jìn)行解 密,得到第一明文動態(tài)口令; 所述第二發(fā)送模塊還用于在所述第二驗(yàn)簽?zāi)K判斷驗(yàn)簽失敗后,向所述客戶端返回錯 誤碼; 所述第七判斷模塊,用于判斷所述第七生成模塊得到的第一明文動態(tài)口令和所述第二 明文動態(tài)口令是否一致; 所述第二發(fā)送模塊還用于在所述第七判斷模塊判斷所述第七生成模塊得到的第一明 文動態(tài)口令和所述第二明文動態(tài)口令一致后,向客戶端發(fā)送認(rèn)證成功信息,在所述第七判 斷模塊判斷所述第七生成模塊得到的第一明文動態(tài)口令和所述第二明文動態(tài)口令不一致 后,向所述客戶端返回錯誤碼。
39. 根據(jù)權(quán)利要求38所述的系統(tǒng),其特征在于,所述第二處理單元具體用于對所述第 一密文動態(tài)口令進(jìn)行base64編碼,得到第三字符數(shù)據(jù),對所述第二簽名值進(jìn)行base64編 碼,得到第四字符數(shù)據(jù),對所述第三字符數(shù)據(jù)和所述第四字符數(shù)據(jù)進(jìn)行組合拼接,得到所述 第一動態(tài)口令; 所述第二驗(yàn)簽?zāi)K,具體用于對所述第一動態(tài)口令進(jìn)行拆分,得到第三字符數(shù)據(jù)和第 四字符數(shù)據(jù),對得到的第三字符數(shù)據(jù)進(jìn)行base64解碼,得到第一密文動態(tài)口令,對得到的 第四字符數(shù)據(jù)進(jìn)行base64解碼,得到第二簽名值,根據(jù)認(rèn)證設(shè)備公鑰對base64解碼得到的 第二簽名值進(jìn)行運(yùn)算,得到第二驗(yàn)證數(shù)據(jù),判斷運(yùn)算得到的所述第二驗(yàn)證數(shù)據(jù)與base64解 碼得到的第一密文動態(tài)口令是否一致,是則確定驗(yàn)簽成功,否則確定驗(yàn)簽失敗。
40. 根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述認(rèn)證中心還包括清除模塊和第八 判斷模塊; 所述清除模塊,用于在所述第二判斷模塊判斷所述第一動態(tài)口令與所述第二動態(tài)口令 一致后,清除所述隨機(jī)數(shù); 所述第八判斷模塊,用于判斷是否查找到隨機(jī)數(shù); 所述第五生成模塊,用于所述第八判斷模塊判斷查找到隨機(jī)數(shù)后,進(jìn)行工作; 所述第二發(fā)送模塊還用于所述第八判斷模塊判斷未查找到隨機(jī)數(shù)后,向所述客戶端返 回錯誤碼。
【文檔編號】H04L29/06GK104104687SQ201410362690
【公開日】2014年10月15日 申請日期:2014年7月28日 優(yōu)先權(quán)日:2014年7月28日
【發(fā)明者】陸舟, 于華章 申請人:飛天誠信科技股份有限公司