專利背景
截至2010年12月,網路檔案的傳輸、網上銀行交易已經成為人們生活或是工作的一部分,因此網路的安全性就更加成為了人們關注的焦點。
為了確保網路數據在傳輸過程中不會被人惡意修改,出現了數字簽名技術。數字簽名技術即進行身份認證的技術。隨著該項技術的發展和套用,尤其是在網上銀行進行交易的過程中,對數據的簽名過程已經發展到可在一種智慧型密鑰設備中進行。對數據的簽名在智慧型密鑰設備中進行的過程主要包括:客戶端主機在將數據發往伺服器之前,先將數據傳送到智慧型密鑰設備內部,再在智慧型密鑰設備內部完成對數據的簽名過程,以此來保證數據信息的安全性。
在2010年12月前已有技術中,為了保證數字簽名的安全性,通常是在智慧型密鑰設備內部按照預設的規則對交易報文進行解析,然後對解析得到的內容進行簽名,但由於智慧型密鑰設備的資源有限,在智慧型密鑰設備內部對較複雜或較長的交易報文進行解析就比較難以實現,因此也難以處理比較複雜的規則,也不能處理較長的交易報文。
發明內容
專利目的
《一種交易報文的處理方法、設備和系統》提供了一種交易報文的處理方法、設備和系統,保證了簽名的安全性,提高了靈活性,加快了對交易報文的處理效率。
技術方案
一種交易報文的處理方法,所述方法包括:客戶端主機與智慧型密鑰設備建立連線,根據交易信息生成交易報文;
所述客戶端主機按照所述交易報文中的內容是否需要進行顯示將所述交易報文分割成若干段;所述客戶端主機將所述分割後的交易報文段依次發給所述智慧型密鑰設備,同時對需要顯示的交易報文段進行標記;所述智慧型密鑰設備接收所述分割後的交易報文段,對所述交易報文段進行運算,並判斷所述交易報文段是否需要進行顯示;若需要,則將所述需要顯示的交易報文段存到顯示快取區中,並在接收到簽名指令後顯示存儲在顯示快取區中的交易報文段,進行簽名操作,將簽名結果返回給所述客戶端主機;若不需要,則直接在接收到簽名指令後顯示存儲在顯示快取區中的交易報文段,並進行簽名操作,將簽名結果返回給所述客戶端主機。
一種客戶端主機,所述客戶端主機與智慧型密鑰設備進行連線,包括:接口模組,用於與所述智慧型密鑰設備進行連線;通訊模組,用於與所述智慧型密鑰設備進行通訊;輸入模組,用於供用戶輸入相關交易信息;生成模組,用於根據用戶輸入的所述交易信息生成交易報文;判斷模組,用於判斷所述交易報文中的內容是否需要進行顯示;分割模組,用於根據所述判斷模組判斷得到的所述交易報文中的內容是否需要進行顯示來將所述交易報文分割成若干段;標記模組,用於對所述需要進行顯示的交易報文段進行標記。
一種智慧型密鑰設備,所述智慧型密鑰設備與客戶端主機進行連線,包括:接口模組,用於與所述客戶端主機進行連線;通訊模組,用於與所述客戶端主機進行通訊,具體用於接收所述客戶端主機傳送的分割後的交易報文段;運算模組,用於對所述交易報文段進行運算;判斷模組,用於判斷所述交易報文段是否需要進行顯示;存儲模組,用於存儲所述判斷模組判斷得到的需要進行顯示的交易報文段;顯示模組,用於顯示所述存儲模組中存儲的交易報文段;簽名模組,用於進行簽名操作。
一種交易報文的處理系統,所述系統包括客戶端主機和智慧型密鑰設備,所述智慧型密鑰設備與所述客戶端主機連線;所述客戶端主機,用於與所述智慧型密鑰設備建立連線,根據交易信息生成交易報文,對所述交易報文進行解析,按照所述交易報文中的內容是否需要進行顯示將所述交易報文分割成若干段,將所述分割後的交易報文段傳送給所述智慧型密鑰設備,同時對需要顯示的交易報文段進行標記;所述智慧型密鑰設備,用於接收所述客戶端主機傳送的分割後的交易報文段,對所述交易報文段進行運算,判斷所述交易報文段是否需要進行顯示,若需要,則將所述交易報文段存到顯示快取區中,並在接收到簽名指令後顯示所述存儲在顯示快取區中的交易報文段,進行簽名操作,並將簽名結果返回給所述客戶端主機,若不需要,則直接在接收到簽名指令後顯示所述存儲在顯示快取區中的交易報文段,進行簽名操作,並將簽名結果返回給所述客戶端主機。
有益效果
《一種交易報文的處理方法、設備和系統》提供了一種交易報文處理的方法、設備和系統,通過該發明提供的方法、設備和系統,交易報文可以在客戶端主機進行解析,無需在智慧型密鑰設備內部進行解析,並且還保證了智慧型密鑰設備對需要簽名的信息進行簽名的安全,提高了靈活性,加快了對交易報文的處理效率。
附圖說明
圖1為《一種交易報文的處理方法、設備和系統》實施例提供的一種交易報文的處理方法的流程圖;
圖2為《一種交易報文的處理方法、設備和系統》實施例提供的一種交易報文的處理設備的結構圖;
圖3為《一種交易報文的處理方法、設備和系統》實施例提供的一種交易報文的處理系統圖。
技術領域
《一種交易報文的處理方法、設備和系統》涉及信息安全領域,特別涉及一種交易報文的處理方法、設備和系統。
權利要求
1.一種交易報文的處理方法,其特徵在於,所述方法包括:客戶端主機與智慧型密鑰設備建立連線,根據交易信息生成交易報文;所述客戶端主機按照所述交易報文中的內容是否需要進行顯示將所述交易報文分割成若干段;所述客戶端主機將所述分割後的交易報文段依次發給所述智慧型密鑰設備,同時對需要顯示的交易報文段進行標記;所述智慧型密鑰設備接收所述分割後的交易報文段,對所述交易報文段進行分組HASH運算,並判斷所述交易報文段是否需要進行顯示;若需要,則將所述需要顯示的交易報文段存到顯示快取區中,並在接收到簽名指令後顯示存儲在顯示快取區中的交易報文段,進行簽名操作,將簽名結果返回給所述客戶端主機;若不需要,則直接在接收到簽名指令後顯示存儲在顯示快取區中的交易報文段,並進行簽名操作,將簽名結果返回給所述客戶端主機;所述客戶端主機對需要顯示的交易報文段進行標記的方法具體包括:用預先約定的覆核標記符對所述需要顯示的交易報文段進行標記;或者,通過對預先約定的與所述交易報文段對應的第一標誌位進行設定來對所述需要顯示的交易報文段進行標記;所述智慧型密鑰設備對所述交易報文段進行分組HASH運算的操作具體還包括:判斷所述客戶端主機是用覆核標記符對需要進行顯示的交易報文段進行標記的,還是通過對預先約定的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記的;當判斷得到是用覆核標記符對需要進行顯示的交易報文段進行標記時,則所述智慧型密鑰設備對所述接收到的所有交易報文段進行分組HASH運算;當判斷得到是通過對所述預先約定的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記時,則所述智慧型密鑰設備還需要判斷第一標誌位是設定為第一約定值或第二約定值還是設定為第三約定值,若是設定為第一約定值或第二約定值時,則表示所述交易報文段需要參與簽名運算,對所述交易報文段進行運算,若是設定為第三約定值時,則表示所述交易報文段不需要參與簽名運算,不需要對所述交易報文段進行運算;所述智慧型密鑰設備判斷所述交易報文段是否需要進行顯示的方法具體包括:所述智慧型密鑰設備判斷所述交易報文段中是否含有所述預先約定的覆核標記符,若含有所述預先約定的覆核標記符,則表示所述交易報文段需要進行顯示,若不含有所述預先約定的覆核標記符,則表示所述交易報文段不需要進行顯示;或者,所述智慧型密鑰設備判斷預先約定的與所述交易報文段對應的第一標誌位是設定為第一約定值,還是設定為第二約定值或第三約定值,若是設定為第一約定值時,則表示所述交易報文段不需要進行顯示,若是設定為第二約定值或第三約定值時,則表示所述交易報文段需要進行顯示。
2.根據權利要求1所述的交易報文的處理方法,其特徵在於,所述交易信息具體為所述客戶端主機通過所述客戶端主機的輸入裝置接收用戶輸入的交易信息,或者所述交易信息還具體為所述客戶端主機通過所述智慧型密鑰設備的輸入裝置接收用戶輸入的交易信息。
3.根據權利要求1所述的交易報文的處理方法,其特徵在於,當所述客戶端主機用覆核標記符對所述需要顯示的交易報文段進行標記時,則所述客戶端主機將所述分割後的交易報文段傳送給所述智慧型密鑰設備之前,所述方法還包括:所述客戶端主機在所述分割後的交易報文段中加入一些不參與簽名運算的修飾性文字和控制字元,以提高顯示效果,改善用戶體驗,並且所述修飾性文字和控制字元並不會改變所述交易報文段的內容及所述交易報文段的先後順序;或者,當所述客戶端主機通過對預先約定的與所述交易報文段對應的第一標誌位進行設定來對所述需要顯示的交易報文段進行標記時,則所述客戶端主機將所述分割後的交易報文段傳送給所述智慧型密鑰設備之前,所述方法還包括:所述客戶端主機通過對預先約定的與所述交易報文段對應的第二標誌位進行設定來增強顯示效果,便於用戶理解,改善用戶體驗。
4.根據權利要求1所述的交易報文的處理方法,其特徵在於,所述智慧型密鑰設備顯示所述存儲在顯示快取區中的交易報文段,進行簽名操作,將簽名結果返回給所述客戶端主機的操作具體為:所述智慧型密鑰設備顯示所述存儲在快取顯示區中的交易報文段,等待用戶輸入信息;若所述用戶輸入的信息為取消信息,則所述智慧型密鑰設備向所述客戶端主機提示出錯信息或取消信息;若所述用戶輸入的信息為確認信息,則所述智慧型密鑰設備對最終運算結果進行簽名,並將簽名結果返回給所述客戶端主機。
5.一種智慧型密鑰設備,其特徵在於,所述智慧型密鑰設備與客戶端主機進行連線,包括:接口模組,用於與所述客戶端主機進行連線;通訊模組,用於與所述客戶端主機進行通訊,具體用於接收所述客戶端主機傳送的分割後的交易報文段;運算模組,用於對所述交易報文段進行分組HASH運算;判斷模組,用於判斷所述交易報文段是否需要進行顯示;存儲模組,用於存儲所述判斷模組判斷得到的需要進行顯示的交易報文段;顯示模組,用於顯示所述存儲模組中存儲的交易報文段;簽名模組,用於進行簽名操作;所述運算模組對交易報文段進行運算之前,所述判斷模組還用於判斷所述客戶端主機是用覆核標記符對需要進行顯示的交易報文段進行標記的,還是通過對預先約定的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記的;當判斷得到是用覆核標記符對需要進行顯示的交易報文段進行標記時,則所述運算模組對所有交易報文段進行運算;當判斷得到是通過對所述預先約定的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記時,則所述判斷模組還用於判斷第一標誌位是設定為第一約定值或第二約定值還是設定為第三約定值,若是設定為第一約定值或第二約定值時,則表示所述交易報文段需要參與簽名運算,所述運算模組對所述交易報文段進行運算,若是設定為第三約定值時,則表示所述交易報文段不需要參與簽名運算,所述運算模組不需要對所述交易報文段進行運算;所述判斷模組判斷所述交易報文段是否需要進行顯示的方法具體包括:所述判斷模組判斷所述交易報文段中是否含有預先約定的覆核標識符,若含有所述預先約定的覆核標識符,則表示所述交易報文段需要進行顯示;若不含有所述預先約定的覆核標識符,則表示所述交易報文段不需要進行顯示;或者,所述判斷模組判斷預先約定的與所述交易報文段對應的第一標誌位是設定為所述第一約定值,還是設定為所述第二約定值或第三約定值,若是設定為所述第一約定值,則表示所述交易報文段不需要進行顯示,若是設定為所述第二約定值或所述第三約定值,則表示所述交易報文段需要進行顯示。
6.根據權利要求5所述的智慧型密鑰設備,其特徵在於,所述智慧型密鑰設備還包括:輸入模組,用於供用戶輸入相關交易信息,以及還用於供用戶輸入取消信息或確認信息。
7.根據權利要求5所述的智慧型密鑰設備,其特徵在於,所述判斷模組還用於判斷用戶輸入的是取消信息還是確認信息;當所述用戶輸入的是取消信息時,所述通訊模組還用於向所述客戶端主機返回出錯信息或取消信息;當所述用戶輸入的是確認信息時,所述簽名模組用於對最終運算結果進行簽名;相應地,所述通訊模組還用於將簽名結果返回給所述客戶端主機。
8.一種交易報文的處理系統,其特徵在於,所述系統包括客戶端主機和智慧型密鑰設備,所述智慧型密鑰設備與所述客戶端主機連線;所述客戶端主機,用於與所述智慧型密鑰設備建立連線,根據交易信息生成交易報文,對所述交易報文進行解析,按照所述交易報文中的內容是否需要進行顯示將所述交易報文分割成若干段,將所述分割後的交易報文段傳送給所述智慧型密鑰設備,同時對需要顯示的交易報文段進行標記;所述智慧型密鑰設備,用於接收所述客戶端主機傳送的分割後的交易報文段,對所述交易報文段進行分組HASH運算,判斷所述交易報文段是否需要進行顯示,若需要,則將所述交易報文段存到顯示快取區中,並在接收到簽名指令後顯示存儲在顯示快取區中的交易報文段,進行簽名操作,並將簽名結果返回給所述客戶端主機,若不需要,則直接在接收到簽名指令後顯示所述存儲在顯示快取區中的交易報文段,進行簽名操作,並將簽名結果返回給所述客戶端主機;所述客戶端主機對所述需要顯示的交易報文段進行標記的方法具體包括:用預先約定的覆核標記符對所述需要顯示的交易報文段進行標記;或者,通過對預先約定的與所述交易報文段對應的第一標誌位進行設定來對所述需要顯示的交易報文段進行標記;所述智慧型密鑰設備對所述交易報文段進行分組HASH運算的操作具體還包括:判斷所述客戶端主機是用覆核標記符對需要進行顯示的交易報文段進行標記的,還是通過對預先約定的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記的;當判斷得到是用覆核標記符對需要進行顯示的交易報文段進行標記時,則所述智慧型密鑰設備對所述接收到的所有交易報文段進行分組HASH運算;當判斷得到是通過對所述預先約定的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記時,則所述智慧型密鑰設備還需要判斷第一標誌位是設定為第一約定值或第二約定值還是設定為第三約定值,若是設定為第一約定值或第二約定值時,則表示所述交易報文段需要參與簽名運算,對所述交易報文段進行運算,若是設定為第三約定值時,則表示所述交易報文段不需要參與簽名運算,不需要對所述交易報文段進行運算;所述智慧型密鑰設備判斷所述交易報文段是否需要進行顯示的操作具體為:所述智慧型密鑰設備通過判斷所述交易報文段中是否含有預先約定的覆核標記符來判斷所述交易報文段是否需要進行顯示,若沒有所述預先約定的覆核標記符,則表示所述交易報文段不需要進行顯示,若含有所述預先約定的覆核標記符,則表示所述交易報文段需要進行顯示;或者,所述智慧型密鑰設備通過判斷所述交易報文段對應的第一標誌位是設定為第一約定值,還是設定為第二約定值或第三約定值來判斷所述交易報文段是否需要進行顯示,若設定為第一約定值時,則表示該交易報文段不需要進行顯示,若設定為第二約定值或第三約定值時,則表示該交易報文段需要進行顯示。
9.根據權利要求8所述的交易報文的處理系統,其特徵在於,所述智慧型密鑰設備顯示所述存儲在顯示快取區中的交易報文段,進行簽名操作,將簽名結果返回給所述客戶端主機的操作具體為:所述智慧型密鑰設備顯示所述存儲在快取顯示區中的交易報文段,等待用戶輸入信息,若所述用戶輸入的信息為取消信息,則所述智慧型密鑰設備向所述客戶端主機提示出錯信息或取消信息,若所述用戶輸入的信息為確認信息,則所述智慧型密鑰設備對最終運算結果進行簽名,並將簽名結果返回給所述客戶端主機。
實施方式
《一種交易報文的處理方法、設備和系統》實施例提供了一種交易報文的處理方法,具體以智慧型密鑰設備為USBKey來進行說明。在該實施例中,USB Key連線到客戶端主機,並且上述USB Key上帶有輸出裝置與輸入裝置。
參見圖1,一種交易報文的處理方法,具體實現步驟如下:
步驟101:客戶端主機與USB Key建立連線;
步驟102:客戶端主機接收用戶輸入的交易信息,並根據上述交易信息生成交易報文;在該實施例步驟102中,客戶端主機接收到的用戶輸入的交易信息可以是通過客戶端主機的輸入裝置接收到的,同時當USB Key上帶有輸入裝置時,客戶端主機接收到的用戶輸入的交易信息也可以是通過USB Key的輸入裝置接收到的;
在《一種交易報文的處理方法、設備和系統》實施例中,用戶輸入的交易信息可以為:
轉出賬戶:6222030200000384 轉入賬戶:6227881000987 金額:1000.5 時間:2009-12-06 |
在《一種交易報文的處理方法、設備和系統》實施例中,交易報文的格式有多種;優選地,在該實施例中,根據上述交易信息可以生成XML格式的交易報文,為交易報文1,具體地,交易報文1為:
<?xml version=″1.0″encoding=″utf-8″?><SignData><TradeType name=″行內轉賬″>innerTransfer</TradeType><SubType name=″工資卡″>salary card</SubType><Timestamp>12345</Timestamp><Fields><PayerAcNo name=″轉出賬戶:″>6222030200000384</PayerAcNo><PayeeAcNo name=″轉入賬戶:″>6227881000987</PayeeAcNo><Amount name=″金額:″>1000.5</Amount><TranDate name=″時間:″>2009-12-06</TranDate><JnlNo>xxxxxxx</JnlNo></Fields></SignData> |
或者,《一種交易報文的處理方法、設備和系統》實施例中,用戶輸入的交易信息還可以為:
轉入帳號:6227881000987 金額:1000.5 |
相應地,根據上述交易信息也可以生成不是XML格式的交易報文,為交易報文2,具體地,生成的交易報文2為:
accountNoFrom=6222030200000384*fromName=行內轉賬*toAccountNo=6227881000987*amount=1000.5*purpose=交易支付*remark=2009-12-06 |
步驟103:客戶端主機對交易報文進行解析,按照交易報文中的內容是否需要進行顯示將交易報文分割成若干段;在該實施例步驟103中,客戶端主機按照交易報文中的內容是否需要進行顯示將交易報文分割成若干段的操作具體為:客戶端主機先按照預先約定的規則判斷交易報文中的內容是否需要進行顯示,再根據交易報文中的內容是否需要進行顯示將交易報文分割成若干段,其中預先約定的規則是客戶端主機與USB Key預先約定的;具體地,在該實施例中,當交易報文為XML格式的交易報文時,預先約定的規則為:判斷交易報文中是否含有Fields元素,當交易報文中含有Fields元素,且Fields元素的子元素帶有name屬性,則需要顯示的內容包括name屬性的值和元素的值;並且對於交易報文中的其他元素,如果這些元素中帶有name屬性,則需要顯示的內容還包括這些元素中name屬性的值;並且每個元素的顯示部分自成一行;例如,根據上述規則,可以得到該實施例的交易報文1中需要顯示的內容是:
行內轉賬 工資卡 轉出賬戶:6222030200000384 轉入賬戶:6227881000987 金額:1000.5 時間:2009-12-06 |
相應地,對交易報文1進行分割後的若干交易報文段具體為:
<?xml version=″1.0″encoding=″utf-8″?><SignData><TradeType name=″ 行內轉賬 ″>innerTransfer</TradeType><SubType name=″ 工資卡 ″>salarycard</SubType><Timestamp>12345</Timestamp><Fields><PayerAcNo name=″ 轉出賬戶: ″> 6222030200000384 </PayerAcNo><PayeeAcNo name=″ 轉入賬戶: ″> 6227881000987 </PayeeAcNo><Amount name=″ 金額: ″> 1000.5 </Amount><TranDate name=″ 時間: ″> 2009-12-06 </TranDate><JnlNo>xxxxxxx</JnlNo></Fields></SignData> |
從上述交易報文可以看出分割後的交易報文與原交易報文沒有區別,對交易報文進行分割並沒有對交易報文進行改動,每一行就表示一段分割後的交易報文,該實施例中,客戶端主機將交易報文分割成了21段;或者,當交易報文不是XML格式的交易報文,且交易報文具體為X=Y結構,並且中間是以*號分隔時,則預先約定的規則還可以為:需要顯示的內容為X=toAccountNo和X=amount時的Y,其中toAccountNo在實際業務中表示的是轉入帳號,而Amount表示的是金額;例如,根據上述規則,可以得到該實施例的交易報文2中需要顯示的內容是:
相應地,對交易報文2進行分割後的若干交易報文段具體為:
accountNoFrom=6222030200000384*fromName=行內轉賬*toAccountNo= 6227881000987 *amount= 1000.5 *purpose=交易支付*remark=2009-12-06 |
從上述交易報文也可以看出對交易報文進行分割並沒有對交易報文進行改動,每一行就表示一段分割後的交易報文,該實施例中,客戶端主機將交易報文分割成了5段;同時,在該實施例中,還可以將分割後的若干交易報文段之間用分隔設定進行分隔,分隔設定可以是“*”號、“#”和“;”等等。
步驟104:客戶端主機將分割後的若干個交易報文段依次發給USB Key,同時對需要顯示的交易報文段進行標記;具體地,在該實施例中,客戶端主機通過若干條Hash指令將分割後的若干交易報文段發給USB Key,其中每條指令包含一個交易報文段,各個交易報文段的長度可以是不相同的,最後一個交易報文段可以同樣通過Hash指令發給USBKey,然後用不帶數據的Sign指令表明交易報文傳送完畢,或者直接用Sign指令攜帶最後一個交易報文段發給USB Key;其中,對需要顯示的交易報文段進行標記的方法有兩種,分別為:
方法一,用覆核標記符對需要顯示的交易報文段進行標記;以交易報文1為例進行說明,在交易報文1中,需要進行標記的交易報文段具體為:
行內轉賬 工資卡 轉出賬戶: 6222030200000384 轉入賬戶: 6227881000987 金額: 1000.5 時間: 2009-12-06 |
其中,覆核標記符是客戶端主機與USB Key預先約定好的,用覆核標記符對交易報文段進行標記對交易報文本身不會有任何改動;進一步地,在該實施例中,還可以在分割後的交易報文段中加入一些不參與簽名運算的修飾性的文字和控制字元,以提高顯示效果,改善用戶體驗,這些修飾性的文字和控制字元並不會改變交易報文段及其先後次序。
方法二,通過對各個交易報文段的相應標誌位進行設定來對需要顯示的交易報文段進行標記,其中標誌位是指客戶端主機與USB Key預先約定的將一些位元組;在該實施例中,各個分割後的交易報文段都預先約定一個第一標誌位,通過對第一標誌位進行設定不僅可以對需要顯示的交易報文段進行標記,還可以對該交易報文段是否參與運算進行標記,當將第一標誌位設定為第一約定值時,則表示該交易報文段參與運算,但不需要進行顯示,當將第一標誌位設定為第二約定值時,則表示該交易報文段參與運算,並需要進行顯示,當將第一標誌位設定為第三約定值時,則表示該交易報文段不參與運算,但需要進行顯示;其中第一約定值、第二約定值和第三約定值是客戶端主機與USB Key預先約定好的;具體地,該實施例以第一約定值、第二約定值和第三約定值分別為0、1和2為例來說明,即將第一標誌位設定為0時,表示該交易報文段參與運算,但不需要進行顯示;將第一標誌位設定為1時,表示該交易報文段參與運算,並需要進行顯示;將第一標誌位設定為2時,表示該交易報文段不參與運算,但需要進行顯示;在該方法中,客戶端主機在下傳分割後的交易報文段的同時還需要下傳一些需要顯示但不需要參與簽名的中文欄位,以便於用戶理解;具體以交易報文2為例進行說明,在交易報文2中,客戶端主機在下傳分割後的交易報文段的同時還需要下傳“轉入帳號:”和“金額:”中文欄位,並且通過對各個交易報文段對應的第一標誌位進行設定來對各個交易報文段是否需要進行顯示以及是否需要參與運算來進行標記,具體如下:
accountNoFrom=6222030200000384*fromName=行內轉賬*toAccountNo= 第一標誌位設定為0; 轉入帳號: 第一標誌位設定為2; 6227881000987 第一標誌位設定為1; *amount= 第一標誌位設定為0; 金額: 第一標誌位設定為2; 1000.5 第一標誌位設定為1; *purpose=交易支付*remark=2009-12-06 第一標誌位設定為0; |
進一步地,為了增強顯示效果,使用戶易於理解,還可以在預先約定第一標誌位時約定一個第二標誌位,通過在設定第一標誌位的同時設定第二標誌位來增強顯示效果,具體參見下表;
相應地,實際下傳的報文序列如下所示:
相應地,最終的顯示效果是:
轉入帳號:6227881000987 金額:1000.5 |
步驟105:USB Key依次接收客戶端主機傳送的分割後的若干個交易報文段,並對接收到的交易報文段進行分組HASH運算,保留該次計算的結果和分組剩餘的部分,作為下次Hash分組運算的起始參數,並累計數據長度;在該實施例步驟105中,對接收到的交易報文段進行分組HASH運算具體還包括:判斷是用覆核標記符對需要進行顯示的交易報文段進行標記的,還是通過對第一標誌位進行設定來對需要進行顯示的交易報文段進行標記的;當是用覆核標記符對需要進行顯示的交易報文段進行標記時,則該步驟105對接收到的所有交易報文段進行分組HASH運算;當是通過對第一標誌位進行設定來對需要進行顯示的交易報文段進行標記時,則該步驟105還包括判斷第一標誌位是設定為0或1還是設定為2,若是設定為0或1時,則表示該交易報文段需要參與簽名運算,對該交易報文段進行分組HASH運算,若是設定為2時,則表示該交易報文段不需要參與簽名運算,不需要對該交易報文段進行分組HASH運算。
步驟106:USB Key判斷接收到的交易報文段是否需要進行顯示,若需要,則執行步驟107,否則直接執行步驟108;在該實施例中,相應地,USB Key判斷交易報文段是否需要進行顯示的方法也包括兩種,具體如下:方法1,判斷交易報文段中是否含有預先約定的覆核標記符,若有,則說明該交易報文段需要進行顯示,若沒有,則說明該交易報文段不需要進行顯示;方法2,判斷交易報文段對應的第一標誌位是設定為0,還是設定為1或2,若設定為0,則表示該交易報文段不需要進行顯示,若設定為1或2,則表示該交易報文段需要進行顯示。
步驟107:將該交易報文段存到顯示快取區中。
步驟108:判斷接收到的指令是否為Sign指令,若是,則執行步驟109,若否,則返回步驟105,繼續對接收到的下一段交易報文段進行分組HASH運算,保留該次計算的結果和分組剩餘的部分,作為下次Hash分組運算的起始參數,並累計數據長度。
步驟109:在當前起始參數的基礎上添加該次接收到的數據、數據總長度並補位,生成整體報文的最終Hash結果。
步驟110:USB Key顯示存儲在快取顯示區中的交易報文段,等待用戶輸入信息。
在該實施例中,若以交易報文1為例時,則USB Key顯示的信息可以是:
行內轉賬 工資卡 轉出賬戶:6222030200000384 轉入賬戶:6227881000987 金額:1000.5 時間:2009-12-06 |
或者,顯示的信息還可以是:
行內轉賬工資卡轉出賬戶:6222030200000384轉入賬戶:6227881000987金額:1000.5時間:2009-12-06 若以交易報文2為例時,則USB Key顯示的信息可以是: 轉入帳號:6227881000987 金額:1000.5 |
步驟111:對用戶輸入的信息進行判斷,若用戶輸入的信息為取消信息,則執行步驟112,若用戶輸入的信息為確認信息,則執行步驟113;
步驟112:USB Key向客戶端主機主機提示出錯信息或取消信息;
步驟113:USB Key對步驟109中計算得出的最終Hash結果進行簽名,並將簽名結果返回給客戶端主機。
該實施例提供了一種交易報文處理的方法,通過該實施例提供的方法,交易報文可以在客戶端主機進行解析,無需在USB Key內部進行解析,並且還保證了USB Key對需要簽名的信息進行簽名的安全,提高了靈活性,加快了對交易報文的處理效率。
《一種交易報文的處理方法、設備和系統》實施例提供了一種客戶端主機20和一種智慧型密鑰設備30,以便於上述實施例1中的方法實施。其中,智慧型密鑰設備30與客戶端主機20相連,參見圖2,客戶端主機20包括:接口模組21、通訊模組22、輸入模組23、生成模組24、判斷模組25、分割模組26和標記模組27;接口模組21,用於客戶端主機20與智慧型密鑰設備30建立連線;通訊模組22,用於客戶端主機20與智慧型密鑰設備30進行通訊,具體用於將分割後的交易報文段傳送智慧型密鑰設備30,向智慧型密鑰設備30傳送簽名指令,還用於接收智慧型密鑰設備30返回的出錯信息或取消信息,以及還用於接收智慧型密鑰設備30返回的簽名結果;輸入模組23,用於供用戶輸入相關交易信息;生成模組24,用於根據用戶通過輸入模組23輸入的交易信息生成交易報文;判斷模組25,用於按照預先約定的規則判斷交易報文中的內容是否需要進行顯示;分割模組26,用於按照交易報文中的內容是否需要進行顯示來對交易報文進行分割,將交易報文分割成若干段;相應地,通訊模組22具體用於將分割模組26得到的若干段交易報文依次傳送給智慧型密鑰設備30;標記模組27,用於對需要進行顯示的交易報文段進行標記。
在實施例中,標記模組27對需要進行顯示的交易報文段進行標記的方法有兩種,如下:方法1,用覆核標記符對需要進行顯示的交易報文段進行標記;方法2,通過對每段交易報文段對應的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記;進一步地,當使用方法2對需要進行顯示的交易報文段進行標記時,為了增強顯示效果,還可以對每段交易報文段對應的第二標誌位進行設定,從而增強顯示效果,便於用戶理解。
在該實施例中,客戶端主機20還可以包括:解析模組28,用於在分割模組26對交易報文進行分割之前對生成模組24生成的交易報文進行解析;添加模組29,用於在分割後的交易報文段中加入一些不參與簽名運算的修飾性文字和控制字元,以提高顯示效果,改善用戶體驗。
《一種交易報文的處理方法、設備和系統》實施例的各個模組可以集成於一體,也可以分離部署,上述模組可以合併為一個模組,也可以進一步拆分成多個子模組。
進一步地,在該實施例中,智慧型密鑰設備30還包括:接口模組31、通訊模組32、運算模組33、判斷模組34、存儲模組35、顯示模組36、輸入模組37和簽名模組38;接口模組31,用於智慧型密鑰設備30與客戶端主機20建立連線;通訊模組32,用於智慧型密鑰設備30與客戶端主機20進行通訊,具體用於接收客戶端主機20傳送的若干交易報文段;運算模組33,用於對通訊模組32接收到的交易報文段進行分組HASH運算,保留該次計算的結果和分組剩餘的部分,作為下次Hash分組運算的起始參數,並累計數據長度;判斷模組34,用於判斷通訊模組32接收到的交易報文段是否需要進行顯示;相應地,在該實施例中,判斷接收到的交易報文段是否需要進行顯示的方法也有兩種,如下:方法1,判斷接收到的交易報文段中是否含有預先約定的覆核標記符,若有,則表示該交易報文段需要進行顯示,若沒有,則表示該交易報文段不需要進行顯示;方法2,判斷接收到的交易報文段對應的第一標誌位是設定為第一約定值,還是設定為第二約定值或第三約定值,若設定為第一約定值時,則表示該交易報文段不需要進行顯示,若設定為第二約定值或第三約定值時,則表示該交易報文段需要進行顯示。
相應地,該實施例中,在運算模組33對交易報文段進行分組HASH運算之前,判斷模組34還用於判斷是用覆核標記符對需要進行顯示的交易報文段進行標記的,還是通過對第一標誌位進行設定來對需要進行顯示的交易報文段進行標記的;當是用覆核標記符對需要進行顯示的交易報文段進行標記時,則運算模組33對通訊模組32接收到的所有交易報文段進行分組HASH運算;當是通過對第一標誌位進行設定來對需要進行顯示的交易報文段進行標記時,則判斷模組34還用於判斷第一標誌位是設定為第一約定值或第二約定值還是設定為第三約定值,若是設定為第一約定值或第二約定值時,則表示該交易報文段需要參與簽名運算,運算模組33對該交易報文段進行分組HASH運算,若是設定為第三約定值時,則表示該交易報文段不需要參與簽名運算,運算模組33不需要對該交易報文段進行分組HASH運算。
存儲模組35,用於當判斷模組34判斷得到交易報文段需要進行顯示時,存儲該交易報文段;進一步地,判斷模組34還用於判斷通訊模組32接收到指令是否為Sign指令,若是,則運算模組33還用於在當前起始參數的基礎上添加該次接收到的數據、數據總長度並補位,生成整體報文的最終Hash結果,若否,則運算模組33繼續對通訊模組32接收到的交易報文段進行分組HASH運算。
顯示模組36,用於顯示存儲在快取顯示區中的交易報文段;輸入模組37,用於供用戶輸入交易信息,還用於供用戶輸入取消信息或是確認信息;相應地,判斷模組34還用於判斷用戶通過輸入模組37輸入的是取消信息還是確認信息;若是取消信息,則通訊模組32還用於向客戶端主機20傳送出錯信息或取消信息;若是確認信息,則簽名模組38用於當判斷模組33判斷得到用戶輸入的是確認信息時,對運算模組33得到的最終Hash結果進行簽名;相應地,通訊模組32還用於將簽名模組38得到的簽名結果返回給客戶端主機20。
該實施例提供了一種客戶端主機和一種智慧型密鑰設備,交易報文可以在客戶端主機進行解析,無需在智慧型密鑰設備內部進行解析,並且還保證了智慧型密鑰設備對需要簽名的信息進行簽名的安全,提高了靈活性,加快了對交易報文的處理效率。
該實施例提供了一種交易報文的處理系統,參見圖3,該系統包括客戶端主機20和智慧型密鑰設備30,智慧型密鑰設備30與客戶端主機20連線;其中客戶端主機20,用於與智慧型密鑰設備30建立連線,根據用戶輸入的交易信息生成交易報文,對交易報文進行解析,按照交易報文中的內容是否需要進行顯示將交易報文分割成若干段,通過若干條HASH指令將分割後的若干個交易報文段依次傳送給智慧型密鑰設備30,同時對需要顯示的交易報文段進行標記;智慧型密鑰設備30,用於依次接收客戶端主機20傳送的包含有分割後的交易報文段的若干條HASH指令,對接收到的交易報文段進行分組HASH運算,將需要進行顯示的交易報文段存到快取顯示區中,當接收到客戶端主機20傳送的簽名指令後顯示需要進行顯示的交易報文段,並進行簽名,並將簽名結果返回給所述客戶端主機20。
在該實施例中,用戶輸入的交易信息可以是用戶通過客戶端主機20的輸入裝置輸入的交易信息,還可以是用戶通過智慧型密鑰設備30的輸入裝置輸入的交易信息;進一步地,客戶端主機20對需要顯示的交易報文段進行標記的方法有兩種,如下:方法1,用覆核標記符對需要進行顯示的交易報文段進行標記;方法2,通過對每段交易報文段對應的第一標誌位進行設定來對需要進行顯示的交易報文段進行標記;進一步地,當使用方法2對需要進行顯示的交易報文段進行標記時,為了增強顯示效果,還可以對每段交易報文段對應的第二標誌位進行設定,從而增強顯示效果,便於用戶理解。
並且在該實施例中,智慧型密鑰設備30對接收到的交易報文段進行分組HASH運算之前,還包括:判斷是用覆核標記符對需要進行顯示的交易報文段進行標記的,還是通過對第一標誌位進行設定來對需要進行顯示的交易報文段進行標記的;當是用覆核標記符對需要進行顯示的交易報文段進行標記時,則智慧型密鑰設備30對接收到的所有交易報文段進行分組HASH運算;當是通過對第一標誌位進行設定來對需要進行顯示的交易報文段進行標記時,則智慧型密鑰設備30還包括判斷第一標誌位是設定為0或1還是設定為2,若是設定為0或1時,則表示該交易報文段需要參與簽名運算,對該交易報文段進行分組HASH運算,若是設定為2時,則表示該交易報文段不需要參與簽名運算,不需要對該交易報文段進行分組HASH運算。
在接收到分割後的交易報文之後還包括:判斷接收到的交易報文段是否需要進行顯示,其中判斷交易報文段是否需要進行顯示的方法也有兩種,如下:方法1,判斷接收到的交易報文段中是否含有預先約定的覆核標記符,若有,則表示該交易報文段需要進行顯示,若沒有,則表示該交易報文段不需要進行顯示;方法2,判斷接收到的交易報文段對應的第一標誌位是設定為第一約定值,還是設定為第二約定值或第三約定值,若設定為第一約定值時,則表示該交易報文段不需要進行顯示,若設定為第二約定值或第三約定值時,則表示該交易報文段需要進行顯示。
相應地,對存儲在快取顯示區中的需要進行顯示的交易報文段進行分組HASH運算之前還可以包括:判斷該需要進行顯示的交易報文段是否需要參與簽名運算,即判斷該交易報文段對應的第一標誌位是設定為第二約定值,還是設定為第三約定值,若是設定為第二約定值時,則表示該交易報文段需要參與簽名運算,對該交易報文段進行分組HASH運算,若是設定為第三約定值時,則表示該交易報文段不需要參與簽名運算,不需要對該交易報文段進行分組HASH運算。
相應地,智慧型密鑰設備30在顯示所述存儲在顯示快取區中的交易報文段,進行簽名操作,將簽名結果返回給客戶端主機20的操作具體為:智慧型密鑰設備30顯示存儲在快取顯示區中的交易報文段,等待用戶輸入信息,若用戶輸入的信息為取消信息,則智慧型密鑰設備30向客戶端主機20提示出錯信息或取消信息,若用戶輸入的信息為確認信息,則智慧型密鑰設備30對最終運算結果進行簽名,並將簽名結果返回給客戶端主機20。
該實施例提供了一種交易報文的處理系統,交易報文可以在客戶端主機進行解析,無需在智慧型密鑰設備內部進行解析,並且還保證了智慧型密鑰設備對需要簽名的信息進行簽名的安全,提高了靈活性,加快了對交易報文的處理效率。
專利榮譽
2021年6月24日,《一種交易報文的處理方法、設備和系統》獲得第二十二屆中國專利優秀獎。