新四季網

一種基於USBKey的安全傳輸數據的方法及系統的製作方法

2023-04-23 07:31:56

一種基於USBKey的安全傳輸數據的方法及系統的製作方法
【專利摘要】本發明涉及一種基於USBKey的安全傳輸數據的方法及系統,屬於信息安全領域。現有的通過USB接口傳輸密文數據的加解密密鑰需要存儲在應用程式中,容易被黑客、惡意程序等獲取。本發明所述的方法及系統首先啟動上位機的應用進程,建立應用進程與USBKey的通訊;然後應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰;最後應用進程與USBKey之間通過所述的邏輯信道號和會話密鑰進行數據傳輸。採用本發明所述的方法及系統進行多個進程和USBKey之間的通訊,使得每個進程和USBKey通訊時採用臨時且獨立的會話密鑰,保證了數據傳輸的安全性。
【專利說明】—種基於USBKey的安全傳輸數據的方法及系統
【技術領域】
[0001]本發明屬於信息安全領域,具體涉及一種基於USBKey的安全傳輸數據的方法及系統。
【背景技術】
[0002]數字證書是網際網路通訊中標誌通訊各方身份信息的一系列數據,提供了一種在Internet上驗證您身份的方式,其作用類似於司機的駕駛執照或日常生活中的身份證。它是由一個由權威機構——CA機構,又稱為證書授權中心發行的,人們可以在網上用它來識別對方的身份。數字證書是一個經證書授權中心數字籤名的包含公開密鑰擁有者信息以及公開密鑰的文件。
[0003]USBKey作為數字證書的載體在PKI(Public Key Infrastructure公鑰基礎設施)領域的應用越來越普遍,特別是在網上銀行金融業務系統上的應用非常廣泛,能夠較好地保證用戶網絡付款、轉帳等操作的安全性。然而正是由於USBKey地位的重要性,近幾年來對USBKey的攻擊手段層出不窮,黑客通過在用戶機器上安裝病毒、木馬等惡意程序非法截取在USB信道上傳輸的交易數據等關鍵信息,或通過解析獲取到的傳輸信息非法插入指令等手段以達到攻擊目的。
[0004]由於USBKey面臨的環境越來越複雜,所以充分保證USB信道上傳輸信息的機密性至關重要。因此,需要採取切實有效的加密方法對USB信道上傳輸的信息進行加密。同時為了保證傳輸的效率,採用的加密算法大多為流密碼算法(又稱「序列密碼算法」)或其它對稱密碼算法,這些密碼算法都需要一個秘密密鑰(即加解密密鑰),並且上位機和USBKey須持有相同的秘密密鑰。由於作業系統的不安全性,將秘密密鑰存儲在應用程式軟體中是不安全的,黑客、惡意程序等可以通過反編譯等手段獲取到存儲在軟體中的秘密密鑰。

【發明內容】

[0005]針對現有技術中存在的缺陷,本發明的目的是提供一種基於USBKey的安全傳輸數據的方法及系統。該方法及系統能夠採用非對稱密碼算法臨時協商會話密鑰,並結合多邏輯信道技術實現每一個邏輯信道採用不同的會話密鑰,能夠防止黑客和惡意程序等輕易地獲取密鑰,保證多個進程和USBKey通訊的安全性。
[0006]為達到以上目的,本發明採用的技術方案是:一種基於USBKey的安全傳輸數據的方法,包括以下步驟:
[0007](I)啟動上位機的應用進程,建立應用進程與USBKey的通訊;
[0008](2)應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰;
[0009](3)應用進程與USBKey之間通過所述的邏輯信道號和會話密鑰進行數據傳輸。
[0010]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,該方法還包括:
[0011](4)應用進程結束後,應用進程向USBKey註銷所述的邏輯信道號。[0012]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟(I)中,所述的USBKey在初始化階段,在USBKey中存儲會話密鑰協商專用非對稱密鑰對K2,以及通過非對稱密鑰對Kl的私鑰對K2的公鑰進行數字籤名後得到的籤名值;非對稱密鑰對Kl的公鑰存儲在上位機中間件中。
[0013]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟(2)中,應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰的具體步驟包括:
[0014]I)應用進程向USBKey申請邏輯信道號,並從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值;
[0015]2)應用進程生成與USBKey之間通訊的會話密鑰SK ;
[0016]3)使用非對稱密鑰對K2的公鑰加密會話密鑰SK,得到SK密文;
[0017]4)應用進程將邏輯信道號、進程ID、SK密文發送給USBKey ;
[0018]5) USBKey使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK。
[0019]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,所述的會話密鑰SK為一設定長度的隨機數。
[0020]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟(2)中,應用進程與USBKey完成會話密鑰的協商後,USBKey設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰SK協商成功標誌,應用進程將邏輯信道號、USBKey的唯一標識信息UID和會話密鑰SK緩存到當前進程中。
[0021]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟I)中,應用進程向USBKey申請邏輯信道號時,USBKey首先根據該應用進程的進程ID查找應用進程是否已經申請邏輯信道號,若未申請則返回新申請標識和新申請的邏輯信道號並進入步驟2),若已申請則返回已申請標識和已申請的邏輯信道號,應用進程通過USBKey的唯一標識信息UID查找並讀取緩存在當前進程中的會話密鑰SK並直接進入步驟(3)。
[0022]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟I)中,應用進程從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值後,應用進程首先讀取上位機中間件保存的非對稱密鑰對Kl的公鑰,並採用該公鑰對該籤名值進行驗籤,若驗籤通過則直接進入步驟2),若驗籤失敗則重新從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值。
[0023]進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟4)中,應用進程將邏輯信道號、進程ID、SK密文發送給USBKey時,同時將校驗碼發送給USBKey ;步驟5)中,USBKey首先使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK,其次驗證收到的校驗碼是否正確,若是則設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰SK協商成功標誌,若否則向應用進程返回錯誤標誌,協商失敗。
[0024]再進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟(3 )中,應用進程與USBKey之間通過邏輯信道號和會話密鑰進行數據傳輸的具體步驟包括:
[0025]a)應用進程根據需要向USBKey發送數據傳輸的請求數據包;所述的請求數據包中包括邏輯信道號和使用會話密鑰加密後的請求數據;
[0026]b) USBKey接收並解析所述的請求數據包,得到邏輯信道號和加密後的請求數據,查詢所述邏輯信道號對應的會話密鑰SK,使用該會話密鑰SK對加密後的請求數據進行解密,得到解密後的請求數據;
[0027]c) USBKey根據請求數據對應用進程的請求進行處理,得到處理後的響應數據,並使用所述的會話密鑰SK對該響應數據進行加密,得到加密後的響應數據並發送給應用進程;
[0028]d)應用進程接收所述的加密後的響應數據,使用會話密鑰SK對加密後的響應數據進行解密,得到解密後的響應數據。
[0029]更進一步,如上所述的一種基於USBKey的安全傳輸數據的方法,步驟(4)中,應用進程向USBKey註銷所述的邏輯信道號的具體步驟包括:
[0030]i )應用進程將邏輯信道號和進程ID發送給USBKey ;
[0031]ii) USBKey判斷該邏輯信道號是否存在,以及該邏輯信道號與進程ID是否匹配,若是則清除會話密鑰已協商標誌,並刪除會話密鑰SK,若否則不作處理。
[0032]一種基於USBKey的安全傳輸數據的系統,包括:
[0033]通訊建立模塊,用於啟動上位機的應用進程,建立應用進程與USBKey的通訊;
[0034]會話密鑰協商模塊,用於應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰;
[0035]數據傳輸模塊,用於應用進程與USBKey之間通過所述的邏輯信道號和會話密鑰進行數據傳輸。
[0036]進一步,如上所述的一種基於USBKey的安全傳輸數據的系統,所述的會話密鑰協商模塊包括:
[0037]邏輯信道號申請單元,用於應用進程向USBKey申請邏輯信道號,並從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值;所述非對稱密鑰對K2為在USBKey的初始化階段,存儲在USBKey中的會話密鑰協商專用非對稱密鑰對;
[0038]會話密鑰生成單元,用於應用進程生成與USBKey之間通訊的會話密鑰SK ;
[0039]會話密鑰加密單元,用於使用非對稱密鑰對K2的公鑰加密會話密鑰SK,得到SK密文;
[0040]會話密鑰傳輸單元,用於應用進程將邏輯信道號、進程ID、SK密文發送給USBKey ;
[0041]會話密鑰獲取單元,用於USBKey使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK。
[0042]本發明的效果在於:採用本發明所述的方法及系統,通過利用多邏輯信道技術,即每個進程和USBKey通訊時協商不同的邏輯信道號,相應邏輯信道號對應的進程和USBKey臨時協商不同於其它進程的會話密鑰,並將協商的會話密鑰置於緩存之中而不是長期存儲於應用程式之中,從而能夠防止黑客和惡意程序等輕易地獲取密鑰,保證多個進程和USBKey通訊的安全性。
【專利附圖】

【附圖說明】
[0043]圖1是本發明【具體實施方式】中一種基於USBKey的安全傳輸數據的系統的結構框圖;
[0044]圖2是本發明【具體實施方式】中一種基於USBKey的安全傳輸數據的方法的流程圖。【具體實施方式】
[0045]下面結合說明書附圖和【具體實施方式】對本發明作進一步描述。
[0046]如圖1所示,為本發明【具體實施方式】中一種基於USBKey的安全傳輸數據的系統的結構框圖,該系統主要包括以下三個子模塊:通訊建立模塊11、會話密鑰協商模塊12和數據傳輸模塊13,其中:
[0047]通訊建立模塊11用於啟動上位機的應用進程,建立應用進程與USBKey的通訊。
[0048]會話密鑰協商模塊12用於應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰;該模塊包括:
[0049]邏輯信道號申請單元,用於應用進程向USBKey申請邏輯信道號,並從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值;
[0050]會話密鑰生成單元,用於應用進程生成與USBKey之間通訊的會話密鑰SK ;
[0051]會話密鑰加密單元,用於使用非對稱密鑰對K2的公鑰加密會話密鑰SK,得到SK密文;
[0052]會話密鑰傳輸單元,用於應用進程將邏輯信道號、進程ID、SK密文發送給USBKey ;
[0053]會話密鑰獲取單元,用於USBKey使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK。
[0054]數據傳輸模塊13用於應用進程與USBKey之間通過所述的邏輯信道號和會話密鑰進行數據傳輸。
[0055]優選的,本實施方式中所述的系統還包括一個註銷模塊14,用於應用進程結束後,應用進程向USBKey註銷所述的邏輯信道號。
[0056]其中,所述的USBKey在生產初始化階段需要生成或通過外部非對稱密鑰對生成設備(如加密機)或工具導入一對會話密鑰協商專用非對稱密鑰對K2,並且存儲後不能進行擦除和修改,私鑰不可以讀取,公鑰在會話密鑰協商階段可以被應用進程讀取;優選的,為了防止K2中的公鑰在該讀取過程中被替換(如中間人攻擊,即應用進程從USBKey中讀取公鑰時,惡意程序攔截了 USBKey發送的公鑰,並替換成偽造的公鑰發給應用進程),需要採用籤名專用非對稱密鑰對Kl對K2中的公鑰進行數字籤名,Kl中的私鑰存儲在在加密設備或(如加密機)或生產加密軟體中,生產初始化階段使用此私鑰對K2中的公鑰進行籤名,得到籤名值,將此籤名值和K2 —同寫入USBKey的專用存儲空間,Kl的公鑰存儲在上位機中間件中,用於應用進程讀取K2中的公鑰時對其進行驗籤;
[0057]具體的,非對稱密鑰對Kl及K2可以採用的非對稱算法包括RSA-1024、RSA-2048及國密SM2等。
[0058]具體的,應用進程向USBKey申請邏輯信道號時,USBKey首先根據該應用進程的進程ID查找應用進程是否已經申請邏輯信道號,若未申請則返回新申請標識和新申請的邏輯信道號並進入會話密鑰生成單元,若已申請則返回已申請標識和已申請的邏輯信道號,應用進程通過USBKey的唯一標識信息UID查找並讀取緩存在當前進程中的會話密鑰SK並直接進入數據傳輸模塊13 ;
[0059]其中,進程ID為系統隨機分配的唯一的進程標識符PID,優選的,為了保證進程異常退出後(此時USBKey未清除原有的PID),該進程PID被系統重新分配給其它進程,申請時可以採用由該PID和η (優選η=2)個字節的隨機數組合而成的標識符,作為該進程的ID ;另外,USBKey返回的邏輯信道號長度為I字節。
[0060]應用進程從USBKey中讀取非對稱密鑰對Κ2的公鑰和籤名值後,應用進程首先讀取上位機中間件的非對稱密鑰對Kl的公鑰,並採用該公鑰對該籤名值進行驗籤,若驗籤通過則直接進入會話密鑰生成單元,若驗籤失敗則重新從USBKey中讀取非對稱密鑰對Κ2的公鑰和籤名值。
[0061]會話密鑰生成單元中所述的會話密鑰SK是對USB信道上傳輸的信息進行加密和解密時所採用的加密和解密密鑰,應用進程可以通過調用軟體取隨機數接口獲得一設定長度的隨機數,作為流密碼或其它對稱密碼算法的會話密鑰SK。該隨機數的設定長度可以是16位元組也可以是其它長度,如採用RC4密碼算法則可以為1-256位元組。優選的,可採用RC4密碼算法。
[0062]優選的,會話密鑰傳輸單元中,應用進程將邏輯信道號、進程ID、SK密文發送給USBKey時,同時將校驗碼發送給USBKey ;會話密鑰確認單元中,USBKey首先使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK,其次驗證收到的校驗碼是否正確,若是則設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰協商成功標誌,若否則向應用進程返回錯誤標誌,協商失敗;
[0063]至此,應用進程與USBKey完成了會話密鑰的協商,在USBKey設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰SK協商成功標誌,應用進程將邏輯信道號、USBKey的唯一標識信息UID (如唯一序列號)和會話密鑰SK (以明文或密文的方式)緩存到當前進程中。應用進程與USBKey通過所述的邏輯信道號和會話密鑰進行數據的傳輸。在應用進程結束後,應用進程將邏輯信道號和進程ID發送給USBKey ;USBKey判斷該邏輯信道號是否存在,以及該邏輯信道號與進程ID是否匹配,若是則清除會話密鑰已協商標誌,並刪除會話密鑰SK,若否則不作處理。
[0064]如圖2所示,為本發明【具體實施方式】中一種基於USBKey的安全傳輸數據的方法的流程圖,該方法包括以下步驟:
[0065]步驟S21:啟動上位機的應用進程,建立應用進程與USBKey的通訊;
[0066]在進行數據的傳輸前,首先啟動上位機的應用進程,初始化應用進程與USBKey的通訊,在實際操作中,應用進程X在打開USBKey設備後,即建立了兩者的通訊。
[0067]其中,USBKey在生產初始化階段需要生成或通過外部非對稱密鑰對生成設備(如加密機)或工具導入一對會話密鑰協商專用非對稱密鑰對K2,並且存儲後不能進行擦除和修改,私鑰不可以讀取,公鑰在會話密鑰協商階段可以被應用進程讀取。其中,每個USBKey的會話密鑰協商專用非對稱密鑰對K2具有唯一性。
[0068]優選的,為了防止K2中的公鑰在該讀取過程中被替換(如中間人攻擊,即應用進程從USBKey中讀取公鑰時,惡意程序攔截了 USBKey發送的公鑰,並替換成偽造的公鑰發給應用進程),需要採用籤名專用非對稱密鑰對Kl對K2中的公鑰進行數字籤名,Kl中的私鑰存儲在加密設備或(如加密機)或生產加密軟體中,生產初始化階段使用此私鑰對K2中的公鑰進行籤名,得到籤名值,將此籤名值和K2 —同寫入USBKey的專用存儲空間,Kl的公鑰存儲在上位機中間件中,用於應用進程讀取K2中的公鑰時對其進行驗籤;
[0069]具體的,非對稱密鑰對Kl及K2可以採用的非對稱算法包括RSA-1024、RSA-2048及國密SM2等。
[0070]步驟S22:應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰;
[0071]該步驟具體包括以下五個步驟:
[0072]I)應用進程向USBKey申請邏輯信道號,並從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值;
[0073]具體的,應用進程向USBKey申請邏輯信道號時,USBKey首先根據該應用進程的進程ID查找應用進程是否已經申請邏輯信道號,若未申請則返回新申請標識和新申請的邏輯信道號並進入步驟2),若已申請則返回已申請標識和已申請的邏輯信道號,應用進程通過USBKey的唯一標識信息UID查找並讀取緩存在當前進程中的會話密鑰SK並直接進入步驟S23。由於在具體的實際應用中,有可能存在某一進程打開多個USBKey的情況,通過USBKey的唯一標識信息UID可以準確的查找到對應的USBKey。
[0074]其中,進程ID為系統隨機分配的唯一的進程標識符PID,優選的,為了保證進程異常退出後(此時USBKey未清除原有的PID),該進程PID被系統重新分配給其它進程,申請時可以採用由該PID和η (優選η=2)個字節的隨機數組合而成的標識符,作為該進程的ID ;另外,USBKey返回的邏輯信道號長度為I字節。
[0075]應用進程從USBKey中讀取非對稱密鑰對Κ2的公鑰和籤名值後,應用進程首先讀取上位機中間件的非對稱密鑰對Kl的公鑰,並採用該公鑰對該籤名值進行驗籤,若驗籤通過則直接進入會話密鑰生成單元,若驗籤失敗則重新從USBKey中讀取非對稱密鑰對Κ2的公鑰和籤名值。
[0076]其中,驗籤的一種方法為=USBKey生產時,首先對非對稱密鑰對Κ2的公鑰採用Hash算法計算摘要值H,並對該摘要值H採用非對稱密鑰對Kl的私鑰進行籤名,將籤名值和非對稱密鑰對K2的公鑰一同存儲在USBKey中;應用進程採用非對稱密鑰對Kl的公鑰對該籤名值進行驗籤,得到非對稱密鑰對K2的公鑰的摘要值H1,並對非對稱密鑰對K2的公鑰採用與生產時相同的Hash算法計算摘要值H2,比較Hl和H2是否相同,如果相同,則驗籤通過,如果不同,則驗籤失敗。
[0077]當然,也可以不計算非對稱密鑰對K2的公鑰摘要值而採用非對稱密鑰對Kl的私鑰直接對非對稱密鑰對K2的公鑰進行籤名,則驗籤後得到非對稱密鑰對K2的公鑰,將該公鑰與之前存儲在USBKey中的非對稱密鑰對K2的公鑰進行比較,如果相同,則驗籤通過,如果不同,則驗籤失敗。
[0078]這樣一來,假設中間人攻擊USBKey的傳輸,替換了 USBKey發出的公鑰和其籤名值,但由於中間人拿不到Kl的私鑰,所以應用進程必定驗籤失敗。需要說明的是,這是一種現有的非對稱籤名驗籤方法,目的是防範中間人替換USBKey發出的公鑰和其籤名值,本發明中所述的驗籤包括但不限於此方法。
[0079]2)應用進程生成與USBKey之間通訊的會話密鑰SK ;
[0080]具體的,會話密鑰生成單元中所述的會話密鑰SK是對USB信道上傳輸的信息進行加密和解密時所採用的加密和解密密鑰,應用進程可以通過調用軟體取隨機數接口獲得一設定長度的隨機數,作為流密碼或其它對稱密碼算法的會話密鑰SK。該隨機數的設定長度可以是16位元組也可以是其它長度,如採用RC4密碼算法則可以為1-256位元組。優選的,採用RC4密碼算法。
[0081]3)使用非對稱密鑰對K2的公鑰加密會話密鑰SK,得到SK密文;
[0082]4)應用進程將邏輯信道號、進程ID、SK密文發送給USBKey ;
[0083]5) USBKey使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK。
[0084]優選的,會話密鑰傳輸單元中,應用進程將邏輯信道號、進程ID、SK密文發送給USBKey時,同時將校驗碼發送給USBKey ;會話密鑰確認單元中,USBKey首先使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK,其次驗證收到的校驗碼是否正確,若是則設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰SK協商成功標誌,若否則向應用進程返回錯誤標誌,協商失敗;
[0085]其中,所述的校驗碼即錯誤校驗碼EDC (Error Detection Code),如CRC16或CRC32,或採用Hash算法的摘要值,或消息認證碼MAC (MessageAuthentication Code),本【具體實施方式】中由邏輯信道號、進程ID及會話密鑰SK明文參與計算得到;根據這些大數據計算得出的校驗碼Cl,附加在大數據上一同傳輸,USBKey接收到後採用相同的算法計算校驗碼C2,通過比較Cl和C2是否相同,即可以檢測數據傳輸過程中是否發生錯誤或被篡改,但不糾正數據誤碼。此校驗過程為現有技術。
[0086]至此,應用進程與USBKey完成了會話密鑰的協商,在USBKey設置對應的邏輯信道號的會話密鑰SK已協商標誌,應用進程將邏輯信道號、USBKey的唯一標識信息WD (如唯一序列號)和會話密鑰SK (以明文或密文的方式)緩存到當前進程中。
[0087]本【具體實施方式】中,應用進程與USBKey之間協商會話密鑰SK的過程如下表所
示:
[0088]
【權利要求】
1.一種基於USBKey的安全傳輸數據的方法,包括以下步驟: (O啟動上位機的應用進程,建立應用進程與USBKey的通訊; (2)應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰; (3)應用進程與USBKey之間通過所述的邏輯信道號和會話密鑰進行數據傳輸。
2.如權利要求1所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,該方法還包括: (4)應用進程結束後,應用進程向USBKey註銷所述的邏輯信道號。
3.如權利要求1或2所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟(I)中,所述的USBKey在初始化階段,在USBKey中存儲會話密鑰協商專用非對稱密鑰對K2,以及通過非對稱密鑰對Kl的私鑰對K2的公鑰進行數字籤名後得到的籤名值;非對稱密鑰對Kl的公鑰存儲在上位機中間件中。
4.如權利要求3所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟(2)中,應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰的具體步驟包括: 1)應用進程向USBKey申請邏輯信道號,並從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值; 2)應用進程生成與USBKey之間通訊的會話密鑰SK; 3)使用非對稱密鑰對K2的公鑰加密會話密鑰SK,得到SK密文; 4)應用進程將邏輯信道號、進程ID、SK密文發送給USBKey; 5)USBKey使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK。
5.如權利要求4所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,所述的會話密鑰SK為一設定長度的隨機數。
6.如權利要求4所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟(2)中,應用進程與USBKey完成會話密鑰的協商後,USBKey設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰SK協商成功標誌,應用進程將邏輯信道號、USBKey的唯一標識信息UID和會話密鑰SK緩存到當前進程中。
7.如權利要6所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟I)中,應用進程向USBKey申請邏輯信道號時,USBKey首先根據該應用進程的進程ID查找應用進程是否已經申請邏輯信道號,若未申請則返回新申請標識和新申請的邏輯信道號並進入步驟2),若已申請則返回已申請標識和已申請的邏輯信道號,應用進程通過USBKey的唯一標識信息UID查找並讀取緩存在當前進程中的會話密鑰SK並直接進入步驟(3)。
8.如權利要求4所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟I)中,應用進程從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值後,應用進程首先讀取上位機中間件保存的非對稱密鑰對Kl的公鑰,並採用該公鑰對該籤名值進行驗籤,若驗籤通過則直接進入步驟2),若驗籤失敗則重新從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值。
9.如權利要求4所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟4)中,應用進程將邏輯信道號、進程ID、SK密文發送給USBKey時,同時將校驗碼發送給USBKey ;步驟5)中,USBKey首先使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK,其次驗證收到的校驗碼是否正確,若是則設置對應的邏輯信道號的會話密鑰SK已協商標誌,並向應用進程返回會話密鑰SK協商成功標誌,若否則向應用進程返回錯誤標誌,協商失敗。
10.如權利要求4所述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟(3)中,應用進程與USBKey之間通過邏輯信道號和會話密鑰進行數據傳輸的具體步驟包括: a)應用進程根據需要向USBKey發送數據傳輸的請求數據包;所述的請求數據包中包括邏輯信道號和使用會話密鑰加密後的請求數據; b)USBKey接收並解析所述的請求數據包,得到邏輯信道號和加密後的請求數據,查詢所述邏輯信道號對應的會話密鑰SK,使用該會話密鑰SK對加密後的請求數據進行解密,得到解密後的請求數據; c)USBKey根據請求數據對應用進程的請求進行處理,得到處理後的響應數據,並使用所述的會話密鑰SK對該響應數據進行加密,得到加密後的響應數據並發送給應用進程; d)應用進程接收所述的加密後的響應數據,使用會話密鑰SK對加密後的響應數據進行解密,得到解密後的響應數據。
11.如權利要求6所 述的一種基於USBKey的安全傳輸數據的方法,其特徵在於,步驟(4)中,應用進程向USBKey註銷所述的邏輯信道號的具體步驟包括: i)應用進程將邏輯信道號和進程ID發送給USBKey; ii)USBKey判斷該邏輯信道號是否存在,以及該邏輯信道號與進程ID是否匹配,若是則清除會話密鑰已協商標誌,並刪除會話密鑰SK,若否則不作處理。
12.—種基於USBKey的安全傳輸數據的系統,包括: 通訊建立模塊,用於啟動上位機的應用進程,建立應用進程與USBKey的通訊; 會話密鑰協商模塊,用於應用進程向USBKey申請邏輯信道號,並通過非對稱密碼算法與USBKey協商所述邏輯信道號的會話密鑰; 數據傳輸模塊,用於應用進程與USBKey之間通過所述的邏輯信道號和會話密鑰進行數據傳輸。
13.如權利要求12所述的一種基於USBKey的安全傳輸數據的系統,其特徵在於,所述的會話密鑰協商模塊包括: 邏輯信道號申請單元,用於應用進程向USBKey申請邏輯信道號,並從USBKey中讀取非對稱密鑰對K2的公鑰和所述的籤名值;所述非對稱密鑰對K2為在USBKey的初始化階段,存儲在USBKey中的會話密鑰協商專用非對稱密鑰對; 會話密鑰生成單元,用於應用進程生成與USBKey之間通訊的會話密鑰SK ; 會話密鑰加密單元,用於使用非對稱密鑰對K2的公鑰加密會話密鑰SK,得到SK密文;會話密鑰傳輸單元,用於應用進程將邏輯信道號、進程ID、SK密文發送給USBKey ;會話密鑰獲取單元,用於USBKey使用非對稱密鑰對K2的私鑰解密接收到的SK密文獲得會話密鑰SK。
【文檔編號】H04L29/06GK103546289SQ201310453289
【公開日】2014年1月29日 申請日期:2013年9月29日 優先權日:2013年9月29日
【發明者】陳國
申請人:北京握奇智能科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀