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