一種口令校驗方法及系統的制作方法
【技術領域】
[0001]本申請涉及通信領域,特別是涉及一種口令校驗方法及系統。
【背景技術】
[0002]USBKEY是一種基于網絡進行安全支付的產品,能夠證明當事人的對交易數據的不可抵賴性,采用的是一種數字簽名方式。
[0003]所謂數字簽名(DigitalSignature),就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性并保護數據,防止被人偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網絡中傳輸。
[0004]USBKEY在進行網絡交易時,需要用戶輸入PIN碼,當前的客戶端多采用明文傳輸口令或者對稱密鑰加密后在鏈路上傳輸。這樣就使得攻擊者比較容易對PIN碼進行獲取,對USBKEY的安全使用造成較大的威脅。
【發明內容】
[0005]為了解決上述問題,本申請提供一種口令校驗方法及系統,通過在進行校驗PIN碼時,使用非對稱密鑰對PIN碼進行加密,提高校驗口令的安全性。
[0006]本申請提出一種口令校驗系統,包括上位機和USBKEY,所述上位機包括:
[0007]輸入模塊,用于用戶進行PIN碼的輸入;
[0008]運算模塊,用于將用戶輸入的PIN碼進行摘要運算,得到摘要數據,用上位機私鑰解密USBKEY發送的加密隨機數,將使用USBKEY公鑰對摘要數據進行加密;
[0009]通信模塊,用于向USBKEY發送獲取隨機數請求指令,并發送上位機公鑰,接收USBKEY發送的加密隨機數,接收USBKEY發送的USBKEY公鑰,向USBKEY發送校驗指令數據包,接收USBKEY發送的錯誤代碼和結果信息。
[0010]所述USBKEY 包括:
[0011]數據交互模塊,用于接收上位機發送的獲取隨機數請求指令,接收上位機公鑰,向上位機發送邏輯運算模塊加密的隨機數,向上位機發送USBKEY公鑰,接收上位機發送的校驗指令數據包,向上位機發送錯誤代碼和結果信息。
[0012]邏輯運算模塊,用于用上位機公鑰加密隨機數生成模塊生成的隨機數,用USBKEY私鑰解密校驗指令數據包;
[0013]判定模塊,用于對邏輯運算模塊解析的數據進行整理,并判定所述數據是否與USBKEY中的數據相同;
[0014]隨機數生成模塊,用于生成隨機數。
[0015]優選的,所述上位機的運算模塊包括:
[0016]摘要運算子模塊,用于將用戶輸入的PIN碼進行摘要運算,得到摘要數據;
[0017]加解密運算子模塊,用于用上位機私鑰解密USBKEY發送的加密隨機數,用USBKEY公鑰對摘要數據進行加密。
[0018]優選的,所述摘要運算子模塊中對PIN碼進行摘要運算的摘要算法為MAC摘要算法,MD5摘要算法和SHA摘要算法中的一種。
[0019]優選的,所述摘要數據包括但不限于隨機數、PIN長度值和PIN值等。
[0020]優選的,所述USBKEY中的判定模塊包括:
[0021]隨機數判定模塊,用于判定指令數據包中的隨機數是否與USBKEY中隨機數生成模塊生成的隨機數相同,相同則將數據包傳輸給PIN長度判定模塊;
[0022]PIN長度判定模塊,用于判定指令數據包中的PIN長度值是否與預置在USBKEY中的PIN長度值相同,相同則將數據包傳輸給PIN值判定模塊;
[0023]PIN值判定模塊,用于判定指令數據包中的PIN值是否與預置在USBKEY中的PIN值相同。
[0024]本申請還提出一種口令校驗方法,具體為:
[0025]步驟SI:上位機生成PIN值;
[0026]步驟S2:上位機從USBKEY獲取隨機數;
[0027]步驟S3:生成校驗PIN指令數據包;
[0028]步驟S4: USBKEY對指令數據包進行解析;
[0029]步驟S5:對解析數據進行判斷,判斷成功通過校驗PIN。
[0030]優選的,所述步驟S1:上位機生成PIN值,具體為:
[0031 ]步驟SlOl:用戶在上位機輸入模塊輸入PIN碼;
[0032]步驟S102:上位機摘要運算子模塊將輸入的PIN碼進行摘要運算,得到PIN值;
[0033]優選的,所述摘要運算子模塊中對PIN碼進行摘要運算的摘要算法為MAC摘要算法,MD5摘要算法和SHA摘要算法中的一種。
[0034]優選的,所述上位機從USBKEY獲取隨機數,具體為:
[0035]步驟S201:上位機通信模塊向USBKEY發送獲取隨機數請求,并發送公鑰;
[0036]步驟S202= USBKEY隨機數生成模塊生成隨機數;
[0037]步驟S203= USBKEY邏輯運算模塊用上位機公鑰加密隨機數;
[0038]步驟S204:USBKEY數據交互模塊向上位機發送加密的隨機數;
[0039]步驟S205:上位機加解密運算子模塊用私鑰解密得到隨機數。
[0040]優選的,所述步驟S3:生成校驗PIN指令數據包,具體為:
[0041]步驟S301:上位機從加解密運算子模塊中獲取隨機數;
[0042]步驟S302:上位機通信模塊從USBKEY獲取公鑰;
[0043]步驟S303:上位機加解密運算子模塊使用USBKEY公鑰對摘要數據加密;
[0044]步驟S304:上位機通信模塊向USBKEY發送校驗PIN指令。
[0045]優選的,所述步驟S5:對解析數據進行判斷,判斷成功通過校驗PIN,具體為:
[0046]步驟S501:對解析數據進行整理;
[0047]步驟S502:判定所述解析數據的隨機數是否與USBKEY中隨機數生成模塊生成的隨機數相同,相同則執行步驟S503,不同則執行步驟S505;
[0048]步驟S503:判定所述解析數據的PIN長度值是否與預置在USBKEY中的PIN長度值相同,相同則執行步驟S504,不同則執行步驟S505 ;
[0049]步驟S504:判定所述解析數據的PIN值是否與預置在USBKEY中的PIN值相同,相同則認為成功通過校驗PIN,不同則執行步驟S505;
[0050]步驟S505:認定PIN校驗失敗,USBKEY向上位機返回錯誤代碼。
[0051 ]上述本發明提出的一種口令校驗方法及系統,獲得了以下技術效果:
[0052]1、本申請提出的口令校驗方法及系統,通過對隨機數、用戶PIN值的長度和用戶的PIN值進行非對稱算法加密保證了校驗口令的真正安全,提高口令的安全級別,防止PIN碼信息的泄露。可防御USBKey更高級別的攻擊。
[0053]2、本申請提出的口令校驗方法及系統通過對隨機數、用戶PIN值的長度和用戶的PIN值進行分級驗證,節省了判定時間,提高了USBKEY響應速度,提升用戶體驗。
【附圖說明】
[0054]為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。
[0055]圖1是本申請口令校驗系統的系統結構圖;
[0056]圖2是本申請口令校驗系統USBKEY的系統結構圖;
[0057]圖3是本申請口令校驗系統上位機的系統結構圖;
[0058]圖4是本申請口令校驗方法的流程不意圖;
[0059]圖5是本申請口令校驗方法中上位機生成PIN值的流程示意圖;
[0060]圖6是本申請口令校驗方法中上位機從USBKEY獲取隨機數的流程示意圖;
[0061]圖7是本申請口令校驗方法中生成校驗PIN指令數據包的流程示意圖;
[0062]圖8是本申請口令校驗方法中對解析數據進行判斷的流程示意圖。
【具體實施方式】
[0063]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。
[0064]本申請提出的一種口令校驗系統,如圖1所示,包括上位機11和USBKEY12,具體的,如圖3所示,所述上位機11包括:
[0065]輸入模塊31,用于用戶進行PIN碼的輸入。
[0066]更具體的,用戶在所述輸入模塊31輸入的PIN碼為所述USBKEY12個人化時,銀行中心向USBKEY12發放綁定的個人識別碼。
[0067]所述PIN碼綁定流程具體包括:
[0068]首先銀行主機向銀行中心服務器請求USBKEY12信息,并根據銀行中心服務器返回的USBKEY12信息查詢對應USBKEY12的PIN碼狀態,然后銀行主機根據銀行中心服務器返回的USBKEY12信息以及查詢到的USBKEY的PIN碼狀態判斷是否修改USBKEY12的PIN碼,否則PIN碼綁定流程結束,是則銀行主機執行USBKEY1