一種安全下發(fā)交易報文的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全領(lǐng)域,尤其涉及一種安全下發(fā)交易報文的方法。
【背景技術(shù)】
[0002] 目前,網(wǎng)上銀行交易已經(jīng)成為人們生活或是工作的一部分,因此網(wǎng)絡(luò)的安全性就 更加成為了人們關(guān)注的焦點。為了確保網(wǎng)絡(luò)數(shù)據(jù)在傳輸過程中不會被人惡意修改,出現(xiàn)了 數(shù)字簽名技術(shù)。數(shù)字簽名技術(shù)即進(jìn)行身份認(rèn)證的技術(shù)。隨著該項技術(shù)的發(fā)展和應(yīng)用,尤其 是在網(wǎng)上銀行進(jìn)行交易的過程中,對數(shù)據(jù)的簽名過程已經(jīng)發(fā)展到可在一種智能密鑰設(shè)備 (USBKey)中進(jìn)行。對數(shù)據(jù)的簽名在USBKey中進(jìn)行的過程主要包括:客戶端主機在將數(shù)據(jù) 發(fā)往服務(wù)器之前,先將數(shù)據(jù)發(fā)送到智能密鑰設(shè)備內(nèi)部,再在智能密鑰設(shè)備內(nèi)部完成對數(shù)據(jù) 的簽名過程,以此來保證數(shù)據(jù)信息的安全性。
[0003] 在現(xiàn)有技術(shù)中,交易報文是由網(wǎng)銀后臺直接下發(fā)原文到USBKey,USBKey對交易報 文進(jìn)行解析并顯示,待用戶按鍵確認(rèn)后USBKey對交易數(shù)據(jù)進(jìn)行簽名,在上述過程中,網(wǎng)銀 后臺沒有對要下發(fā)的交易報文進(jìn)行安全處理,USBKey也沒有對交易報文來源進(jìn)行驗證,這 樣容易被黑客利用,在USBKey上顯示釣魚網(wǎng)站等信息,誤導(dǎo)用戶去登錄一個釣魚網(wǎng)站,給 客戶的財產(chǎn)造成損失。
【發(fā)明內(nèi)容】
[0004] 為解決上述技術(shù)問題,本發(fā)明提出了一種安全下發(fā)交易報文的方法。
[0005] 本發(fā)明采用的技術(shù)方案如下:一種安全下發(fā)交易報文的方法,包括:
[0006] 步驟1 :網(wǎng)銀后臺接收網(wǎng)銀客戶端發(fā)來的交易數(shù)據(jù),根據(jù)所述交易數(shù)據(jù)組織生成 交易報文,保存所述交易報文;
[0007] 步驟2 :網(wǎng)銀后臺根據(jù)所述交易報文計算得到簽名值,根據(jù)所述簽名值在所述交 易報文中設(shè)置簽名標(biāo)簽組成帶簽名的交易報文;
[0008] 步驟3 :網(wǎng)銀后臺將所述帶簽名的交易報文通過網(wǎng)銀客戶端發(fā)送給USBKey;
[0009] 步驟4 :USBKey接收并解析網(wǎng)銀客戶端發(fā)來的所述帶簽名的交易報文,提取出簽 名標(biāo)簽和交易報文;
[0010] 步驟5 :USBKey根據(jù)所述簽名標(biāo)簽和所述交易報文計算得到第一哈希值,根據(jù)所 述簽名標(biāo)簽中的簽名值計算得到第二哈希值,判斷所述第一哈希值和所述第二哈希值是否 相同,是則執(zhí)行步驟6,否則USBKey向網(wǎng)銀客戶端返回提示錯誤的信息,結(jié)束;
[0011] 步驟6 :USBKey對所述交易報文計算簽名得到簽名結(jié)果,并將所述簽名結(jié)果通過 網(wǎng)銀客戶端發(fā)送給網(wǎng)銀后臺;
[0012] 步驟7 :網(wǎng)銀后臺接收到所述簽名結(jié)果,根據(jù)所述簽名結(jié)果計算得到第三哈希值, 對保存的交易報文計算得到第四哈希值,判斷所述第三哈希值和所述第四哈希值是否相 同,是則執(zhí)行步驟8,否則向網(wǎng)銀客戶端返回表示交易失敗的信息,結(jié)束;
[0013] 步驟8 :網(wǎng)銀后臺執(zhí)行交易操作,待操作完成后向網(wǎng)銀客戶端返回表示交易完成 的信息,結(jié)束。
[0014] 其中,所述網(wǎng)銀后臺根據(jù)所述交易報文計算得到簽名值,根據(jù)所述簽名值在所述 交易報文中設(shè)置簽名標(biāo)簽組成帶簽名的交易報文具體為:所述網(wǎng)銀后臺對所述交易報文 整體或者對所述交易報文中的部分?jǐn)?shù)據(jù)使用第一預(yù)設(shè)私鑰計算簽名得到簽名值,根據(jù)計算 簽名采用的哈希計算方式得到屬性值,根據(jù)所述簽名值得到標(biāo)簽值,根據(jù)所述屬性值和標(biāo) 簽值組成簽名標(biāo)簽,在所述交易報文中的任意位置設(shè)置所述簽名標(biāo)簽組成帶簽名的交易報 文。
[0015] 上述步驟5中所述USBKey根據(jù)所述簽名標(biāo)簽和所述交易報文計算得到第一哈希 值,根據(jù)所述簽名標(biāo)簽中的簽名值計算得到第二哈希值具體為:所述USBKey根據(jù)所述簽名 標(biāo)簽的屬性值得到網(wǎng)銀后臺計算簽名采用的哈希計算方式,根據(jù)所述哈希計算方式對所述 交易報文進(jìn)行哈希計算得到第一哈希值,使用第一預(yù)設(shè)公鑰對所述簽名標(biāo)簽中的簽名值進(jìn) 行計算得到第二哈希值。
[0016] 上述USBKey根據(jù)所述簽名標(biāo)簽和所述交易報文計算得到第一哈希值具體包括:
[0017] 所述USBKey判斷所述簽名標(biāo)簽的屬性值;
[0018] 若等于第一預(yù)設(shè)值則對所述交易報文的可顯示部分進(jìn)行哈希計算得到第一哈希 值;
[0019] 若等于第二預(yù)設(shè)值則對所述交易報文的整體進(jìn)行哈希計算得到第一哈希值;
[0020] 若等于第三預(yù)設(shè)值則從所述交易報文中獲取與所述第三預(yù)設(shè)值對應(yīng)的標(biāo)簽值,對 獲取的所述標(biāo)簽值進(jìn)行哈希計算得到第一哈希值。
[0021] 上述步驟6中所述對所述交易報文計算簽名得到簽名結(jié)果具體為:USBKey對所述 交易報文整體或者對所述交易報文中的部分?jǐn)?shù)據(jù)使用第二預(yù)設(shè)私鑰計算簽名得到簽名結(jié) 果。
[0022] 上述步驟7中所述根據(jù)所述簽名結(jié)果計算得到第三哈希值,對保存的交易報文計 算得到第四哈希值具體為:網(wǎng)銀后臺使用第二預(yù)設(shè)公鑰對所述簽名結(jié)果計算得到第三哈希 值,根據(jù)預(yù)先約定的哈希計算方式對保存的交易報文進(jìn)行哈希計算得到第四哈希值。
[0023] 上述交易報文中的部分?jǐn)?shù)據(jù)具體為交易報文的可顯示部分,或者具體為交易報文 中的任一標(biāo)簽值。
[0024] 上述步驟4還包括,所述USBKey保存解析得到的所述交易報文的可顯示部分;步 驟6還包括,所述USBKey顯示所述交易報文的可顯示部分,待用戶確認(rèn)后對所述交易報文 計算簽名。
[0025] 本發(fā)明的有益效果在于:本發(fā)明提供了一種安全下發(fā)交易報文的方法,通過本發(fā) 明提供的方法,網(wǎng)銀后臺對交易報文先進(jìn)行預(yù)設(shè)處理然后再下發(fā)到USBKey,USBKey收到交 易報文后會驗證交易報文的合法性,只有在交易報文為合法內(nèi)容時才會提示用戶進(jìn)行確認(rèn) 操作,從而保證了交易報文的安全,提高了用戶交易處理的安全性。
【附圖說明】
[0026] 圖1是實施例1提供的一種安全下發(fā)交易報文的方法流程圖;
[0027] 圖2是實施例2提供的一種安全下發(fā)交易報文的方法流程圖;
[0028] 圖3是實施例3提供的一種安全下發(fā)交易報文方法中網(wǎng)銀后臺的操作流程圖;
[0029] 圖4是實施例4提供的一種安全下發(fā)交易報文方法中USBKey的操作流程圖;
[0030] 圖5是實施例5提供的一種安全下發(fā)交易報文方法中USBKey的操作流程圖。
【具體實施方式】
[0031] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式做進(jìn)一步地詳細(xì)描述。
[0032] 實施例1
[0033] 本發(fā)明提供了一種安全下發(fā)交易報文的方法,本實施例以該方法在網(wǎng)銀后臺與 USBKey中的應(yīng)用和交互為例進(jìn)行詳細(xì)介紹,如圖1所示,該方法包括以下步驟:
[0034] 步驟1 :網(wǎng)銀后臺接收網(wǎng)銀客戶端發(fā)來的交易數(shù)據(jù),根據(jù)所述交易數(shù)據(jù)組織生成 交易報文,保存所述交易報文;
[0035] 步驟2 :網(wǎng)銀后臺根據(jù)所述交易報文計算得到簽名值,根據(jù)所述簽名值在所述交 易報文中設(shè)置簽名標(biāo)簽組成帶簽名的交易報文;
[0036] 具體的,先對所述交易報文進(jìn)行哈希計算,然后再使用第一預(yù)設(shè)私鑰對哈希計算 結(jié)果計算簽名得到簽名值。所述簽名標(biāo)簽中包含有簽名標(biāo)簽名稱、表示哈希計算方式的屬 性值、標(biāo)簽值。其中,直接將計算簽名得到的簽名值設(shè)置為所述標(biāo)簽值。
[0037] 步驟3 :網(wǎng)銀后臺將所述帶簽名的交易報文通過網(wǎng)銀客戶端發(fā)送給USBKey;
[0038] 步驟4:USBKey接收并解析網(wǎng)銀客戶端發(fā)來的所述帶簽名的交易報文,提取出簽 名標(biāo)簽和交易報文;
[0039] 步驟5:USBKey根據(jù)所述簽名標(biāo)簽和所述交易報文計算得到第一哈希值,根據(jù)所 述簽名標(biāo)簽中的簽名值計算得到第二哈希值,判斷所述第一哈希值和所述第二哈希值是否 相同,是則執(zhí)行步驟6,否則向網(wǎng)銀客戶端返回提示錯誤的信息,結(jié)束;
[0040] 具體的,根據(jù)簽名標(biāo)簽中的屬性值,采用同樣的哈希計算方式對所述交易報文進(jìn) 行哈希計算得到第一哈希值,使用第一預(yù)設(shè)公鑰對所述簽名值計算得到第二哈希值。
[0041] 步驟6:USBKey對所述交易報文計算簽名得到簽名結(jié)果,并將所述簽名結(jié)果通過 網(wǎng)銀客戶端發(fā)送給網(wǎng)銀后臺;
[0042] 具體的,先對所述交易報文進(jìn)行哈希計算,然后使用第二預(yù)設(shè)私鑰對哈希計算結(jié) 果計算簽名得到簽名結(jié)果。
[0043] 步驟7 :網(wǎng)銀后臺接收到所述簽名結(jié)果,根據(jù)所述簽名結(jié)果計算得到第三哈希值, 對保存的交易報文計算得到第四哈希值,判斷所述第三哈希值和所述第四哈希值是否相 同,是則執(zhí)行步驟8,否則向網(wǎng)銀客戶端返回表示交易失敗的信息,結(jié)束;
[0044] 具體的,網(wǎng)銀后臺接收到所述簽名結(jié)果的同時,還會接收到網(wǎng)銀客戶端發(fā)來的個 人證書、預(yù)設(shè)哈希算法標(biāo)識,網(wǎng)銀后臺使用所述個人證書中的第二預(yù)設(shè)公鑰對所述簽名結(jié) 果計算得到第三哈希值,根據(jù)所述預(yù)設(shè)哈希算法標(biāo)識對應(yīng)的哈希算法對所述交易報文計算 得到第四哈希值。
[0045] 步驟8 :網(wǎng)銀后臺執(zhí)行交易操作,待操作完成后向網(wǎng)銀客戶端返回表示交易完成 的信息,結(jié)束。
[0046] 實施例2
[0047] 本發(fā)明提供了一種安全下發(fā)交易報文的方法,本實施例以該方法在網(wǎng)銀后臺、網(wǎng) 銀客戶端和USBKey組成的系統(tǒng)中的應(yīng)用為例進(jìn)行詳細(xì)介紹,如圖2所示,該方法包括以下 步驟:
[0048] 步驟1:當(dāng)用戶登錄網(wǎng)銀成功后,網(wǎng)銀客戶端接收用戶輸入的交