專利名稱:防止usbkey簽名信息被篡改的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種防止USBKEY簽名信息被篡改的方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的普及應(yīng)用,網(wǎng)絡(luò)支付成為目前主流的消費(fèi)方式之一;網(wǎng)絡(luò)支付是以互聯(lián)網(wǎng)為平臺(tái),利用銀行等金融機(jī)構(gòu)進(jìn)行支付交易的數(shù)字金融工具,發(fā)生在支付方和收費(fèi)方之間的金融交換,從而實(shí)現(xiàn)交易雙方、金融機(jī)構(gòu)之間的在線貨幣支付交易;同時(shí),網(wǎng)銀用戶相互之間也可以進(jìn)行借貸、轉(zhuǎn)賬、匯款、約定存款等交易;因此,信息安全顯得極其重要。為了保證網(wǎng)銀用戶的個(gè)人信息安全,在進(jìn)行網(wǎng)絡(luò)支付時(shí),大多借助USBKEY(電子鑰 匙;數(shù)字證書(shū))進(jìn)行數(shù)字簽名,進(jìn)而完成網(wǎng)絡(luò)支付。USBKEY是一種智能存儲(chǔ)設(shè)備,內(nèi)有CPU(Central Processing Unit,中央處理器)芯片,用于存放網(wǎng)銀證書(shū),可以進(jìn)行數(shù)字簽名和簽名驗(yàn)證的運(yùn)算。所述的數(shù)字簽名是指只有私鑰的持有者才能產(chǎn)生的其他任何人都無(wú)法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對(duì)信息的傳送者傳送信息真實(shí)性的一個(gè)有效證明。現(xiàn)有技術(shù)的USBKEY目前主要有兩代,這兩代USBKEY最顯著的區(qū)別是一代USBKEY上沒(méi)有回顯簽名數(shù)據(jù)的顯示裝置,二代USBKEY上有回顯簽名數(shù)據(jù)的顯示裝置。二代USBKEY因?yàn)榫哂酗@示裝置而使得該USBKEY體積較大,不易攜帶且價(jià)格昂貴,目前尚未普及;因此,一代USBKEY是目前進(jìn)行網(wǎng)絡(luò)支付所使用的USBKEY的主流?,F(xiàn)有技術(shù)的一代簽名的USBKEY與二代簽名的USBKEY相比,在USBKEY上沒(méi)有交易信息的顯示,用戶不能確認(rèn)要簽名的交易信息;因此,用戶對(duì)簽名的交易信息毫不知情,極大地增加了用戶進(jìn)行網(wǎng)絡(luò)支付的風(fēng)險(xiǎn)。在技術(shù)層面,常規(guī)交易信息的顯示都是在最上層(如網(wǎng)頁(yè)層),沒(méi)有做到客戶端的中間件層對(duì)要簽名的交易信息進(jìn)行顯示。參照?qǐng)D1,圖I是現(xiàn)有技術(shù)中USBKEY —代簽名的流程示意圖。如圖I所示,中間件層對(duì)交易信息進(jìn)行Hash Data(哈希數(shù)據(jù))操作后生成散列值。在散列值傳輸?shù)経SBKEY的COS (Chip Operating System,片內(nèi)操作系統(tǒng))的線路上時(shí),可能被攻擊者截取并修改;但是COS不能驗(yàn)證散列值的正確性,只要用戶口令校驗(yàn)正確,一樣可以完成簽名過(guò)程,而這樣簽名的可能是攻擊者修改后的假數(shù)據(jù);這使得用戶的網(wǎng)絡(luò)支付存在極大的安全隱患。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種防止USBKEY簽名信息被篡改的方法及系統(tǒng),旨在解決網(wǎng)絡(luò)支付的攻擊者篡改用戶的簽名數(shù)據(jù)造成簽名假消息的問(wèn)題,提高USBKEY—代簽名的安全性。本發(fā)明公開(kāi)了一種防止USBKEY簽名信息被篡改的方法,包括以下步驟客戶端處理簽名信息,獲取第一散列值,將所述第一散列值保存后傳送給USBKEY ;
所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端;所述客戶端對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果。優(yōu)選地,所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端的步驟之前還包括步驟所述USBKEY接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證;若是,則執(zhí)行步驟所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端。優(yōu)選地,所述USBKEY接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證的步驟之前還包括步驟 客戶端顯示預(yù)先保存的所述簽名信息,供用戶確認(rèn)后輸入所述用戶口令。優(yōu)選地,所述比對(duì)所述第一散列值與第二散列值,進(jìn)行簽名驗(yàn)證的步驟具體包括判斷所述第一散列值與所述第二散列值是否相等;若是,則所述簽名結(jié)果驗(yàn)證成功。優(yōu)選地,所述客戶端對(duì)其顯示的所述簽名信息中的關(guān)鍵信息進(jìn)行突出顯示。本發(fā)明還公開(kāi)一種防止USBKEY簽名信息被篡改的系統(tǒng),所述系統(tǒng)包括客戶端和USBKEY,優(yōu)選地,所述客戶端包括信息傳送模塊,用于處理簽名信息,獲取第一散列值,將所述第一散列值保存后傳送給所述USBKEY ;信息驗(yàn)證模塊,用于對(duì)所述USBKEY傳送的簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果;所述USBKEY 包括簽名值獲取模塊,用于對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端。優(yōu)選地,所述USBKEY還包括口令接收模塊,用于接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證。優(yōu)選地,所述客戶端還包括信息顯示模塊,用于顯示預(yù)先保存的所述簽名信息,供用戶確認(rèn)后輸入所述用戶口令。優(yōu)選地,所述客戶端的信息驗(yàn)證模塊具體包括第二散列值獲取單元,用于對(duì)所述簽名值進(jìn)行解密,獲取第二散列值;信息判斷單元,用于判斷所述第一散列值與所述第二散列值是否相等;信息驗(yàn)證單元,用于在所述第一散列值與所述第二散列值相等時(shí),所述簽名結(jié)果驗(yàn)證成功。優(yōu)選地,所述客戶端對(duì)其顯示的所述簽名信息中的關(guān)鍵信息進(jìn)行突出顯示。本發(fā)明通過(guò)客戶端處理簽名信息,獲取第一散列值,將簽名信息和第一散列值保存并將第一散列值傳送給USBKEY、USBKEY對(duì)第一散列值進(jìn)行加密,獲取簽名值,并把簽名值傳送給客戶端、客戶端對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果的方法,實(shí)現(xiàn)了避免在網(wǎng)絡(luò)支付過(guò)程中攻擊者篡改用戶的簽名數(shù)據(jù)造成簽名假消息的有益效果,提高了 USBKEY —代簽名的安全性,進(jìn)而提高了用戶網(wǎng)絡(luò)支付的安全性,且降低了安全成本。
圖I是現(xiàn)有技術(shù)中USBKEY —代簽名的流程示意圖;圖2是本發(fā)明防止USBKEY簽名信息被篡改的方法第一實(shí)施例流程示意圖;圖3是本發(fā)明防止USBKEY簽名信息被篡改的方法第二實(shí)施例流程示意圖;圖4是本發(fā)明防止USBKEY簽名信息被篡改的方法第三實(shí)施例流程示意圖;圖5是本發(fā)明防止USBKEY簽名信息被篡改的方法中客戶端顯示的交易信息和密碼輸入界面一實(shí)施例不意框圖;圖6是本發(fā)明防止USBKEY簽名信息被篡改的方法全過(guò)程一實(shí)施例流程示意框圖;圖7是本發(fā)明防止USBKEY簽名信息被篡改的方法中比對(duì)所述第一散列值與第二散列值,進(jìn)行簽名驗(yàn)證一實(shí)施例流程示意圖;圖8是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)一實(shí)施例結(jié)構(gòu)示意圖;圖9是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中客戶端第一實(shí)施例結(jié)構(gòu)示意圖;圖10是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中USBKEY第一實(shí)施例結(jié)構(gòu)示意圖;圖11是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中USBKEY第二實(shí)施例結(jié)構(gòu)示意圖;圖12是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中客戶端第二實(shí)施例結(jié)構(gòu)示意 圖;圖13是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中客戶端的信息驗(yàn)證模塊一實(shí)施例結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施例方式以下結(jié)合說(shuō)明書(shū)附圖及具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明所述的客戶端是可與USBKEY進(jìn)行通信連接,并能通過(guò)網(wǎng)絡(luò)等與USBKEY簽名驗(yàn)證服務(wù)器建立連接并進(jìn)行數(shù)據(jù)交互的設(shè)備,如PC (Personal Computer,個(gè)人電腦)、移動(dòng)終端、ATM (Automatic Teller Machine,自動(dòng)柜員機(jī))機(jī)等;本發(fā)明所述的中間件是USBKEY設(shè)備提供商提供,安裝在所述客戶端,用于操作USBKEY的軟件;本發(fā)明所述的COS是USBKEY內(nèi)的芯片的片內(nèi)操作系統(tǒng)。參照?qǐng)D2,圖2是本發(fā)明防止USBKEY簽名信息被篡改的方法第一實(shí)施例流程示意圖;如圖2所示,本發(fā)明防止USBKEY簽名信息被篡改的方法包括以下步驟步驟S01、客戶端處理簽名信息,獲取第一散列值,將所述第一散列值保存后傳送給 USBKEY ;在一優(yōu)選的實(shí)施例中,所述客戶端的中間件層對(duì)交易信息進(jìn)行HashData操作,得到所述網(wǎng)絡(luò)支付信息的第一散列值;客戶端將所述網(wǎng)絡(luò)支付信息和第一散列值存入內(nèi)存,并將所述第一散列值傳送給USBKEY,用于后續(xù)的驗(yàn)證操作。步驟S02、所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端; 在一優(yōu)選的實(shí)施例中,所述USBKEY中的COS接收到第一散列值后,采用USBKEY內(nèi)預(yù)存的私鑰對(duì)傳入的所述第一散列值進(jìn)行簽名,獲取簽名值;USBKEY將簽名值返回給所述客戶端的中間件。步驟S03、所述客戶端對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果。在一優(yōu)選的實(shí)施例中,所述客戶端的中間件接收到所述簽名值后,利用預(yù)存的公鑰對(duì)簽名值進(jìn)行解密操作,獲取第二散列值。在獲取到第二散列值后,客戶端將所述第一散列值與所述第二散列值進(jìn)行比較,根據(jù)所述第一散列值與所述第二散列值的比較結(jié)果,進(jìn)行簽名驗(yàn)證。具體地,若所述第一散列值與所述第二散列值相等,則表示所述簽名的結(jié)果是正確的,該簽名驗(yàn)證通過(guò),用戶可以繼續(xù)進(jìn)行網(wǎng)絡(luò)支付等操作;若所述第一散列值與所述第二散列值不相等,則表示所述簽名的結(jié)果是經(jīng)過(guò)篡改、偽造或其他手段得到的,該簽名不正確的,驗(yàn)證不能通過(guò),終止當(dāng)前的網(wǎng)絡(luò)支付等操作。本實(shí)施例防止USBKEY簽名信息被篡改的方法通過(guò)客戶端處理簽名信息,獲取第一散列值,將簽名信息和第一散列值保存并將第一散列值傳送給USBKEY、USBKEY對(duì)第一散列值進(jìn)行加密,獲取簽名值,并把簽名值傳送給客戶端、客戶端對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果的方法,實(shí)現(xiàn)了避免在網(wǎng)絡(luò)支付過(guò)程中攻擊者篡改用戶的簽名數(shù)據(jù)造成簽名假消息的有益效果,提高了 USBKEY —代簽名的安全性。參照?qǐng)D3,圖3是本發(fā)明防止USBKEY簽名信息被篡改的方法第二實(shí)施例流程示意圖;參照?qǐng)D2實(shí)施例,本實(shí)施例在圖2所述的實(shí)施例基礎(chǔ)上,僅增加了步驟SlO ;本實(shí)施例僅對(duì)步驟SlO作具體描述,本發(fā)明防止USBKEY簽名信息被篡改的方法所涉及的其他步驟請(qǐng)參照?qǐng)D2所述實(shí)施例,在此不再贅述。如圖3所示,本發(fā)明防止USBKEY簽名信息被篡改的方法在步驟S02、所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端的步驟之前還包括步驟步驟S10、所述USBKEY接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證。若是,則執(zhí)行步驟S02 ;若否,則整個(gè)驗(yàn)證過(guò)程結(jié)束。步驟S02、所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端。USBKEY接收到用戶口令后,需要判斷該用戶輸入的口令是否正確;若用戶一開(kāi)始輸入的口令即是錯(cuò)誤的,則后續(xù)的驗(yàn)證操作就沒(méi)有必要再進(jìn)行了。若所述用戶口令驗(yàn)證通過(guò),則進(jìn)行后續(xù)散列值的比對(duì)操作,進(jìn)行二次驗(yàn)證。
本實(shí)施例防止USBKEY簽名信息被篡改的方法通過(guò)USBKEY驗(yàn)證所接收的用戶口令是否正確的方法,實(shí)現(xiàn)了提高簽名信息安全性的有益效果。參照?qǐng)D4,圖4 是本發(fā)明防止USBKEY簽名信息被篡改的方法第三實(shí)施例流程示意圖;如圖4所示,本發(fā)明USBKEY中防止簽名信息被篡改的方法在步驟S10、USBKEY接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證的步驟之前還包括步驟步驟S20、客戶端顯示預(yù)先保存的所述簽名信息,供用戶確認(rèn)后輸入所述用戶口令。所述客戶端得到所述第一散列值后需要驗(yàn)證權(quán)限。此時(shí)客戶端的中間件層將緩存的交易信息顯示出來(lái),在要求用戶輸入密碼時(shí),提示用戶要簽名的交易信息數(shù)據(jù)。在用戶輸入密碼前,可以看到此次的交易信息。在一優(yōu)選的實(shí)施例中,網(wǎng)絡(luò)支付的重要信息如收款人姓名、賬號(hào)、金額等通過(guò)采用不同顏色或字體等突出顯示,以達(dá)到醒目顯示重要信息的效果。參照?qǐng)D5,圖5是本發(fā)明防止USBKEY簽名信息被篡改的方法中客戶端顯示的交易信息和密碼輸入界面一實(shí)施例示意框圖;USBKEY顯示的網(wǎng)絡(luò)支付信息和供用戶輸入交易密碼的界面如圖5所示。下面將結(jié)合圖6,進(jìn)一步描述本發(fā)明防止USBKEY簽名信息被篡改的方法實(shí)施的全過(guò)程;參照?qǐng)D6,圖6是本發(fā)明防止USBKEY簽名信息被篡改的方法全過(guò)程一實(shí)施例流程示意框圖;對(duì)比圖I現(xiàn)有技術(shù)中USBKEY —代簽名的流程示意圖,如圖6所示,本發(fā)明防止USBKEY簽名信息被篡改的方法在客戶端的中間件層增加了對(duì)USBKEY —代簽名交易信息的顯示,讓用戶能夠看到要簽名的原始交易數(shù)據(jù);且在用戶輸入密碼前,提醒用戶先確認(rèn)交易信息的正確性,如果交易信息不正確,用戶可以取消簽名操作。本實(shí)施例防止USBKEY簽名信息被篡改的方法通過(guò)在進(jìn)行USBKEY —代簽名的過(guò)程中,客戶端將需要進(jìn)行簽名的交易信息進(jìn)行顯示的方法,實(shí)現(xiàn)了提醒用戶再次對(duì)所交易的信息進(jìn)行確認(rèn)的有益效果,提高了用戶網(wǎng)絡(luò)支付信息的安全性,提升了用戶的體驗(yàn)。參照?qǐng)D7,圖7是本發(fā)明防止USBKEY簽名信息被篡改的方法中比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果一實(shí)施例流程示意圖;本實(shí)施例僅對(duì)步驟S03、比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果作進(jìn)一步描述,本發(fā)明防止USBKEY簽名信息被篡改的方法所涉及的其他步驟請(qǐng)參照相關(guān)實(shí)施例的描述,在此不再贅述。如圖7所示,步驟S03、比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果的步驟具體包括步驟S21、判斷所述第一散列值與所述第二散列值是否相等;若是,則執(zhí)行步驟S22 ;若否,則執(zhí)行步驟S23 ;步驟S22、所述簽名結(jié)果驗(yàn)證成功;步驟S23、所述簽名結(jié)果驗(yàn)證失敗??蛻舳藢⒕彺娴牡谝簧⒘兄岛偷诙⒘兄颠M(jìn)行比較,判斷所述第一散列值與所述第二散列值是否相等;如果第一散列值和第二散列值相等,則說(shuō)明COS接收到的散列值沒(méi)有被修改,簽名的結(jié)果是正確的,COS簽名驗(yàn)證成功,返回簽名成功結(jié)果,允許用戶進(jìn)行后續(xù)的網(wǎng)絡(luò)支付等操作。如果第一散列值在傳輸過(guò)程中被攻擊者修改,則第二散列值一定不等于第一散列值,說(shuō)明COS簽名的散列值是被修改過(guò)的,COS簽名驗(yàn)證失敗,返回簽名驗(yàn)證失敗結(jié)果,終止當(dāng)前的網(wǎng)絡(luò)支付等操作。這樣就很好地阻止了攻擊者對(duì)網(wǎng)絡(luò)支付的攻擊,保證了用戶進(jìn)行網(wǎng)絡(luò)支付時(shí)簽名信息的安全性。
本實(shí)施例防止USBKEY簽名信息被篡改的方法通過(guò)比較第一散列值與第二散列值是否相等并根據(jù)比較結(jié)果進(jìn)行簽名信息驗(yàn)證的方法,實(shí)現(xiàn)了更進(jìn)一步地提高了網(wǎng)絡(luò)支付的安全性的有益效果,防止了在散列值傳輸過(guò)程中因散列值被篡改而造成的簽名假數(shù)據(jù),進(jìn)而造成網(wǎng)絡(luò)支付用戶經(jīng)濟(jì)損失的不良后果。參照?qǐng)D8,圖8是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)一實(shí)施例結(jié)構(gòu)示意圖;如圖8所示,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)包括客戶端10和USBKEY20 ;下面將結(jié)合具體實(shí)施例來(lái)進(jìn)一步描述客戶端10和USBKEY20的交互。參照?qǐng)D9和圖10,圖9是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中客戶端10第一實(shí)施例結(jié)構(gòu)示意圖,圖10是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中USBKEY20第一實(shí)施例結(jié)構(gòu)示意圖;在一優(yōu)選的實(shí)施例中,如圖9所示,所述客戶端10具體包括信息傳送模塊101和信息驗(yàn)證模塊102 ;如圖10所示,所述USBKEY具體包括簽名值獲取模塊201 ;信息傳送模塊101、簽名值獲取模塊201和信息驗(yàn)證模塊102具體描述如下
信息傳送模塊101,用于處理簽名信息,獲取第一散列值,將所述第一散列值保存后傳送給USBKEY ;在一優(yōu)選的實(shí)施例中,所述客戶端10的信息傳送模塊101對(duì)簽名信息進(jìn)行HashData操作,得到所述簽名信息的第一散列值;客戶端10將所述網(wǎng)絡(luò)支付信息和第一散列值存入內(nèi)存,并將所述第一散列值傳送給USBKEY20,用于后續(xù)的驗(yàn)證操作。簽名值獲取模塊201,用于對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端10 ;在一優(yōu)選的實(shí)施例中,簽名值獲取模塊201接收到信息傳送模塊101傳送的第一散列值后,所述USBKEY20中的COS接收到第一散列值后,采用USBKEY20內(nèi)預(yù)存的私鑰對(duì)傳入的所述第一散列值進(jìn)行簽名,獲取簽名值;所述簽名值獲取模塊201將獲取到的簽名值返回給所述客戶端10的中間件。信息驗(yàn)證模塊102,用于對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果。在一優(yōu)選的實(shí)施例中,所述客戶端的信息驗(yàn)證模塊102接收到所述簽名值獲取模塊201傳送的簽名值后,利用預(yù)存的公鑰對(duì)簽名值進(jìn)行解密操作,獲取第二散列值。在獲取到第二散列值后,信息驗(yàn)證模塊102將所述第一散列值與所述第二散列值進(jìn)行比較,根據(jù)所述第一散列值與所述第二散列值的比較結(jié)果,進(jìn)行簽名驗(yàn)證。具體地,若所述第一散列值與所述第二散列值相等,則表示所述簽名的結(jié)果是正確的,該簽名驗(yàn)證通過(guò),用戶可以繼續(xù)進(jìn)行網(wǎng)絡(luò)支付等操作;若所述第一散列值與所述第二散列值不相等,則表示所述簽名的結(jié)果是經(jīng)過(guò)篡改、偽造或其他手段得到的,該簽名不正確的,驗(yàn)證不能通過(guò),終止當(dāng)前的網(wǎng)絡(luò)支付等操作。本實(shí)施例防止USBKEY簽名信息被篡改的系統(tǒng)通過(guò)客戶端處理簽名信息,獲取第一散列值,將簽名信息和第一散列值保存并將第一散列值傳送給USBKEY、USBKEY對(duì)第一散列值進(jìn)行加密,獲取簽名值,并把簽名值傳送給客戶端、客戶端對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果的方法,實(shí)現(xiàn)了避免在網(wǎng)絡(luò)支付過(guò)程中攻擊者篡改用戶的簽名數(shù)據(jù)造成簽名假消息的有益效果,提高了 USBKEY —代簽名的安全性。
參照?qǐng)D11,圖11是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中USBKEY第二實(shí)施例結(jié)構(gòu)示意圖;參照?qǐng)D10所述的實(shí)施例,本實(shí)施例僅在圖10所述的實(shí)施例基礎(chǔ)上增加了口令接收模塊202 ;本實(shí)施例僅對(duì)口令接收模塊202作具體描述,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)所涉及的其他模塊及具體實(shí)現(xiàn)方法請(qǐng)參照上述實(shí)施例,在此不再贅述。如圖11所示,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中,所述USBKEY20還包括口令接收模塊202,用于接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證。USBKEY的口令接收模塊202接收到用戶口令后,需要判斷該用戶輸入的口令是否正確;若用戶一開(kāi)始輸入的口令即是錯(cuò)誤的,則后續(xù)的驗(yàn)證操作就沒(méi)有必要再進(jìn)行了。若所述用戶口令驗(yàn)證通過(guò),則進(jìn)行后續(xù)散列值的比對(duì)操作,進(jìn)行二次驗(yàn)證。本實(shí)施例防止USBKEY簽名信息被篡改的系統(tǒng)通過(guò)USBKEY驗(yàn)證所接收的用戶口令是否正確的方法,實(shí)現(xiàn)了提高簽名信息安全性的有益效果。參照?qǐng)D12,圖12是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中客戶端第二實(shí)施 例結(jié)構(gòu)示意圖;本實(shí)施例在上述圖9實(shí)施例的基礎(chǔ)上,僅增加了信息顯示模塊103,本實(shí)施例僅對(duì)信息顯示模塊103作具體描述,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)所涉及的其他模塊請(qǐng)參照上述各相應(yīng)實(shí)施例,在此不再贅述。如圖12所示,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中,客戶端10還包括信息顯示模塊103,用于顯示所述預(yù)先保存的簽名信息,供用戶確認(rèn)后輸入所述用戶口令。所述客戶端的信息傳送模塊101得到所述第一散列值后需要驗(yàn)證權(quán)限。此時(shí)客戶端的信息顯示模塊103將緩存的交易信息顯示出來(lái),在要求用戶輸入密碼時(shí),提示用戶要簽名的交易信息數(shù)據(jù)。在用戶輸入密碼前,可以看到此次的交易信息。在一優(yōu)選的實(shí)施例中,簽名信息中的重要信息如收款人姓名、賬號(hào)、金額等通過(guò)采用不同顏色或字體等突出顯示,以達(dá)到醒目顯示重要信息的效果。參照?qǐng)D5,圖5是本發(fā)明防止USBKEY簽名信息被篡改的方法中客戶端顯示的交易信息和密碼輸入界面一實(shí)施例示意框圖;客戶端中信息顯示模塊103顯示的網(wǎng)絡(luò)支付信息和供用戶輸入交易密碼的界面如圖5所示。本實(shí)施例防止USBKEY簽名信息被篡改的系統(tǒng)通過(guò)在進(jìn)行USBKEY —代簽名的過(guò)程中,客戶端將需要進(jìn)行簽名的交易信息進(jìn)行顯示的方法,實(shí)現(xiàn)了提醒用戶再次對(duì)所交易的信息進(jìn)行確認(rèn)的有益效果,提高了用戶網(wǎng)絡(luò)支付信息的安全性,提升了用戶的體驗(yàn)。參照?qǐng)D13,圖13是本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中客戶端的信息驗(yàn)證模塊一實(shí)施例結(jié)構(gòu)示意圖。本實(shí)施例僅對(duì)信息驗(yàn)證模塊102作進(jìn)一步描述,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)所涉及的其他相關(guān)模塊請(qǐng)參照各相關(guān)實(shí)施例的具體描述,在此不再贅述。如圖11所述,本發(fā)明防止USBKEY簽名信息被篡改的系統(tǒng)中,信息驗(yàn)證模塊102具體包括第二散列值獲取單元021,用于對(duì)所述簽名值進(jìn)行解密,獲取第二散列值;在一優(yōu)選的實(shí)施例中,所述客戶端10的第二散列值獲取單元021接收到所述簽名值后,利用USBKEY20內(nèi)的公鑰對(duì)簽名值進(jìn)行解密操作,獲取解密后的16字節(jié)數(shù)據(jù)即獲取COS加密前的第二散列值;信息判斷單元022,用于判斷所述第一散列值與所述第二散列值是否相等;信息判斷單元022將所述第二散列值獲取單元021獲取的第二散列值與緩存的所述第一散列值進(jìn)行比較,判斷所述第一散列值與所述第二散列值是否相等,并根據(jù)所述判斷結(jié)果進(jìn)行簽名信息的驗(yàn)證;信息驗(yàn)證單元023,用于在所述第一散列值與所述第二散列值相等時(shí),所述簽名結(jié)果驗(yàn)證成功。在信息判斷單元022判斷得出所述第一散列值與所述第二散列值相等時(shí),表明所述交易密碼驗(yàn)證成功,則說(shuō)明COS接收到的散列值沒(méi)有被修改,簽名的結(jié)果是正確的,COS簽名驗(yàn)證成功,返回簽名成功結(jié)果,信息驗(yàn)證單元023對(duì)該簽名信息驗(yàn)證通過(guò),用戶可以進(jìn)行后續(xù)的網(wǎng)絡(luò)支付等操作;在信息判斷單元022判斷得出所述第一散列值與所述第二散列值不相等時(shí),說(shuō)明COS簽名的散列值是被修改過(guò)的,COS簽名驗(yàn)證失敗,返回簽名驗(yàn)證失敗結(jié)果,信息驗(yàn)證單元023對(duì)該簽名信息的驗(yàn)證不能通過(guò),終止當(dāng)前的網(wǎng)絡(luò)支付等操作。這樣所述防止USBKEY簽名信息被篡改的系統(tǒng)就很好地阻止了攻擊者對(duì)用戶簽名信息的攻擊以及非法獲取,保證了用戶進(jìn)行網(wǎng)絡(luò)支付時(shí)簽名信息的安全性。
本實(shí)施例防止USBKEY簽名信息被篡改的系統(tǒng)通過(guò)比較第一散列值與第二散列值是否相等并根據(jù)比較結(jié)果進(jìn)行簽名信息驗(yàn)證的方法,實(shí)現(xiàn)了更進(jìn)一步地提高了簽名信息安全性的有益效果,防止了在散列值傳輸過(guò)程中因散列值被篡改而造成的簽名假數(shù)據(jù),進(jìn)而造成網(wǎng)絡(luò)支付用戶經(jīng)濟(jì)損失的不良后果。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制其專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種防止USBKEY簽名信息被篡改的方法,其特征在于,包括以下步驟 客戶端處理簽名信息,獲取第一散列值,將所述第一散列值保存后傳送給USBKEY ; 所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端; 所述客戶端對(duì)所述簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果。
2.根據(jù)權(quán)利要求I所述的防止USBKEY簽名信息被篡改的方法,其特征在于,所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端的步驟之前還包括步驟 所述USBKEY接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證; 若是,則執(zhí)行步驟所述USBKEY對(duì)所述第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端。
3.根據(jù)權(quán)利要求2所述的防止USBKEY簽名信息被篡改的方法,其特征在于,所述USBKEY接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證的步驟之前還包括步驟 客戶端顯示預(yù)先保存的所述簽名信息,供用戶確認(rèn)后輸入所述用戶口令。
4.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的防止USBKEY簽名信息被篡改的方法,其特征在于,所述比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果的步驟具體包括 判斷所述第一散列值與所述第二散列值是否相等; 若是,則所述簽名結(jié)果驗(yàn)證成功。
5.根據(jù)權(quán)利要求3所述的防止USBKEY簽名信息被篡改的方法,其特征在于,所述客戶端對(duì)其顯示的所述簽名信息中的關(guān)鍵信息進(jìn)行突出顯示。
6.一種防止USBKEY簽名信息被篡改的系統(tǒng),所述系統(tǒng)包括客戶端和USBKEY,其特征在于, 所述客戶端包括 信息傳送模塊,用于處理簽名信息,獲取第一散列值,將所述第一散列值保存后傳送給所述 USBKEY ; 信息驗(yàn)證模塊,用于對(duì)所述USBKEY傳送的簽名值進(jìn)行解密,獲取第二散列值,比對(duì)所述第一散列值與第二散列值,驗(yàn)證簽名結(jié)果; 所述USBKEY包括 簽名值獲取模塊,用于對(duì)所述客戶端傳送的第一散列值進(jìn)行加密,獲取簽名值,并把所述簽名值傳送給所述客戶端。
7.根據(jù)權(quán)利要求6所述的防止USBKEY簽名信息被篡改的系統(tǒng),其特征在于,所述USBKEY還包括 口令接收模塊,用于接收用戶口令,判斷所述用戶口令是否通過(guò)驗(yàn)證。
8.根據(jù)權(quán)利要求6所述的防止USBKEY簽名信息被篡改的系統(tǒng),其特征在于,所述客戶端還包括 信息顯示模塊,用于顯示預(yù)先保存的所述簽名信息,供用戶確認(rèn)后輸入所述用戶口令。
9.根據(jù)權(quán)利要求6或8所述的防止USBKEY簽名信息被篡改的系統(tǒng),其特征在于,所述客戶端的信息驗(yàn)證模塊具體包括第二散列值獲取單元,用于對(duì)所述簽名值進(jìn)行解密,獲取第二散列值; 信息判斷單元,用于判斷所述第一散列值與所述第二散列值是否相等; 信息驗(yàn)證單元,用于在所述第一散列值與所述第二散列值相等時(shí),所述簽名結(jié)果驗(yàn)證成功。
10.根據(jù)權(quán)利要求8所述的防止USBKEY簽名信息被篡改的系統(tǒng),其特征在于,所述客戶端對(duì)其顯示的所述簽名信息中的關(guān)鍵信息進(jìn)行突出顯示。
全文摘要
本發(fā)明公開(kāi)一種防止USBKEY簽名信息被篡改的方法,包括客戶端處理簽名信息,獲取第一散列值,將第一散列值保存后傳送給USBKEY;USBKEY對(duì)第一散列值進(jìn)行加密獲取簽名值并將其傳送給客戶端;客戶端對(duì)簽名值進(jìn)行解密獲取第二散列值,比對(duì)第一散列值與第二散列值,驗(yàn)證簽名結(jié)果。本發(fā)明還公開(kāi)一種防止USBKEY簽名信息被篡改的系統(tǒng)。本發(fā)明通過(guò)在中間件層增加對(duì)一代簽名的簽名信息進(jìn)行顯示并在用戶輸入密碼前,提醒用戶再次確認(rèn)該信息的方法,避免在網(wǎng)絡(luò)支付過(guò)程中攻擊者篡改用戶的簽名數(shù)據(jù)造成簽名假消息的問(wèn)題,提高USBKEY一代簽名的安全性,進(jìn)而提高用戶網(wǎng)絡(luò)支付的安全性,降低安全成本。
文檔編號(hào)H04L29/06GK102724180SQ20121017112
公開(kāi)日2012年10月10日 申請(qǐng)日期2012年5月29日 優(yōu)先權(quán)日2012年5月29日
發(fā)明者陳柳章 申請(qǐng)人:深圳市文鼎創(chuàng)數(shù)據(jù)科技有限公司