專利名稱:一種usb設備與主機進行安全通信的方法及裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)通信領域,特別涉及一種提高USB設備中的數(shù)據(jù)在與主機間實現(xiàn)安全通信的方法及裝置。
背景技術:
USBUniversal Serial Bus,通用串行總線,其接口是一種串行接口的新標準,其主要優(yōu)點是速度快、功耗低、支持即插即用(Plug & Play)、使用安裝方便。
隨著計算機技術和信息存儲技術的快速發(fā)展,USB設備已成為人們?nèi)粘I?、辦公和學習必不可少的設備。越來越多的用戶都習慣于將大量的文件存放到USB設備之中,通過它很容易地傳遞文件,這種改進無疑給人們帶來便利,但是同時也帶來安全性的問題——很多USB設備內(nèi)部的信息具有機密性,在其與主機進行交互的過程中容易被隨意截獲,但是,目前的USB設備與主機進行通信時還沒有成熟的安全機制對數(shù)據(jù)進行保護,USB設備的不安全性給敏感信息安全帶來了極大的隱患,一旦機密被他人竊取或被非法復制,由此帶來的損失是無法估計的。
現(xiàn)有技術中外部設備與主機進行數(shù)據(jù)通信的過程常采用存儲加密或用戶身份認證裝置來保證設備中數(shù)據(jù)的安全性,控制非法用戶監(jiān)聽或截獲敏感信息。例如利用各種密鑰機制實現(xiàn)對設備中數(shù)據(jù)的加密存儲,或者利用雙因子認證模式來認證用戶的身份。然而,非法用戶可以通過第三方軟件截獲該設備與計算機進行通信的數(shù)據(jù),并對特征信息進行破解分析,達到竊取設備內(nèi)部數(shù)據(jù)的目的,從而給外部設備與計算機通信帶來安全隱患。
發(fā)明內(nèi)容
本發(fā)明為了解決現(xiàn)有技術中USB設備與主機間進行數(shù)據(jù)通信時存在安全隱患的問題,提供了一種USB設備與主機進行安全通信的方法及裝置。所述技術方案如下一種USB設備與主機進行安全通信的方法,方法包括以下步驟步驟A主機用加密密鑰對數(shù)據(jù)進行加密后發(fā)送給USB設備;步驟BUSB設備收到所述加密數(shù)據(jù)后用解密密鑰進行解密,并進行處理;
步驟CUSB設備將處理后的數(shù)據(jù)用所述加密密鑰進行加密,然后發(fā)送給主機;步驟D主機收到所述加密數(shù)據(jù)后用所述解密密鑰進行解密,得到經(jīng)USB設備處理后的數(shù)據(jù)。
所述USB設備為智能密鑰裝置。
所述加/解密密鑰是固定密鑰。
所述加/解密密鑰是動態(tài)密鑰。
所述加密密鑰與解密密鑰相同或者是公私鑰對。
所述的動態(tài)密鑰的生成為主機向USB設備發(fā)命令協(xié)商加/解密密鑰;USB設備得到主機發(fā)來的協(xié)商加/解密密鑰命令后生成加/解密密鑰,把所述加/解密密鑰發(fā)送給主機。
所述的動態(tài)密鑰的生成為主機生成加/解密密鑰后發(fā)送給USB設備。
所述加/解密密鑰的生成是在USB設備與主機建立連接時進行,或者是在USB設備與主機的通信過程中進行。
所述的加/解密密鑰發(fā)送是以明文的形式發(fā)送,或者用提前約定的密鑰加密后發(fā)送。
所述的加/解密的算法是DES、3DES、RC4、RC5、RSA、AES或ECC。
本發(fā)明同時提供了一種USB設備與主機進行安全通信的裝置,所述裝置包括主機與USB設備,主機具體包括主機密鑰協(xié)商模塊,用于主機向USB設備發(fā)協(xié)商加/解密密鑰命令,或用于主機生成加/解密密鑰后發(fā)送給USB設備;主機加/解密模塊,用于主機端數(shù)據(jù)的加/解密;主機通信模塊,用于主機端數(shù)據(jù)的發(fā)送和接收;USB設備具體包括USB設備密鑰生成模塊,用于USB設備得到主機發(fā)來的協(xié)商加/解密密鑰命令后,生成加/解密密鑰;USB設備加/解密模塊,用于USB設備端數(shù)據(jù)的加/解密;USB設備通信模塊,用于USB設備端數(shù)據(jù)的發(fā)送和接收。
本發(fā)明的技術方案帶來的有益效果是
通過采用加密方法,使整個過程中傳輸于計算機和USB設備之間的數(shù)據(jù)都是經(jīng)過加密處理的數(shù)據(jù),隱藏了有效信息,從而增加了非法用戶分析破譯通信數(shù)據(jù)的難度,在一定程度上保證了通信過程中的數(shù)據(jù)安全。
本發(fā)明實現(xiàn)方法多樣,可以根據(jù)需要定制安全等級,設備簡單,使用方便。
圖1是本發(fā)明實施例1中USB設備與主機進行密鑰協(xié)商的流程圖;圖2是本發(fā)明實施例1提供的安全通信方法流程圖;圖3是本發(fā)明USB設備與主機進行安全通信的裝置示意圖;圖4是本發(fā)明應用圖3提供的裝置進行數(shù)據(jù)通信的流程圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。
本發(fā)明采用在USB設備與主機通信前,對需要通信的數(shù)據(jù)用密鑰進行加密,當收到加密后的數(shù)據(jù)后,用該密鑰對應的解密密鑰進行解密獲取原始數(shù)據(jù),從而實現(xiàn)安全通信。
該USB設備為智能密鑰裝置,可以是USB Token等。智能密鑰裝置是一種帶有處理器和存儲器的小型硬件裝置,它可通過計算機的數(shù)據(jù)通訊接口與計算機連接。其具有密鑰生成功能,并可安全存儲密鑰,可預置加密算法功能。智能密鑰裝置與密鑰相關的運算完全在裝置內(nèi)部運行,且智能密鑰裝置具有抗攻擊的特性,安全性極高。
實施例1該加/解密密鑰可以是固定密鑰,也可以是動態(tài)密鑰。如果是固定密鑰,則直接用該固定密鑰進行數(shù)據(jù)通信。參見圖1,動態(tài)密鑰的生成過程如下步驟101將USB設備插入主機。
加/解密密鑰的生成是在USB設備與主機建立連接時進行,或者是在USB設備與主機的通信過程中進行。本實施例采用USB設備與主機剛建立連接時進行。
步驟102主機發(fā)命令取加/解密密鑰。
如果采用的是對稱算法,則加密密鑰和解密密鑰是相同的,如果采用的是非對稱算法,則加密密鑰和解密密鑰是公私鑰對,不相同。
步驟103USB設備得到主機發(fā)來的命令后生成加/解密密鑰。
步驟104USB設備用基本密鑰對生成的加/解密密鑰進行加密。
加/解密密鑰發(fā)送是以明文的形式發(fā)送,或者用提前約定的密鑰加密后發(fā)送??紤]到安全性,本實施例采用基本密鑰(提前約定的密鑰)對加/解密密鑰進行加密后發(fā)送。
這里的基本密鑰為USB設備與主機約定的的密鑰,此密鑰僅僅用于加密協(xié)商后的密鑰,可以定期由生產(chǎn)密鑰的管理程序進行更換。在本實施例中,所述基本密鑰在密鑰有效期內(nèi)是固定不變的,如何更換基本密鑰不是本文的說明范圍。
步驟105主機接收到加密后的加/解密密鑰后,對其進行解密,得到以明文形式存在的會話密鑰,以后此加/解密密鑰用于加/解密USB設備與主機間的通信數(shù)據(jù)。
另外,動態(tài)密鑰也可以直接在主機端生成后發(fā)送給USB設備。
上述過程為USB設備插入主機后與主機進行密鑰協(xié)商的過程,密鑰協(xié)商完成后,即可進行數(shù)據(jù)通信。
協(xié)商后的密鑰用于加/解密USB設備與主機間的通信數(shù)據(jù),從而在加/解密密鑰每次使用后可以更換,實現(xiàn)一次一密。
如圖2所示,USB設備完成與主機間加/解密密鑰的協(xié)商后,主機與USB設備間建立秘密通道,可以開始安全的數(shù)據(jù)通信,具體步驟如下步驟201主機根據(jù)獲取的加/解密密鑰,對需要進行通信的數(shù)據(jù)用加密密鑰進行加密生成密文數(shù)據(jù),然后將密文數(shù)據(jù)發(fā)送給USB設備。
所述加密和發(fā)送過程在主機內(nèi)部完成。
本實施例采用對稱算法為例進行說明,如加密前,明文數(shù)據(jù)為1 2 3 4 5 6 7 8,加密密鑰是Key 1,對其加密后的密文數(shù)據(jù)為ab c d e f g h。
主機發(fā)送a b c d e f g h給USB設備。
步驟202USB設備接收到密文數(shù)據(jù)后,用解密密鑰對其進行解密得到原始數(shù)據(jù)。
本實施例的USB設備使用的解密密鑰為Key 1,對接收到a b c d e f g h解密后恢復為1 2 3 4 5 6 7 8。
由于密鑰可以通過主機隨時發(fā)命令與USB設備進行協(xié)商,從而使每次協(xié)商后的密鑰得到更換,做到一次一密,即動態(tài)密鑰。例如USB設備再次插入主機時,主機與USB設備協(xié)商得到新的密鑰Key 2,USB設備用Key 2對明文12345678加密后的密文數(shù)據(jù)為a′b′c′d′e′f′g′h′并發(fā)送,主機接收a′b′c′d′e′f′g′h′后使用會話密鑰Key 2對密文數(shù)據(jù)解密后恢復為1 2 3 4 5 6 7 8。
從以上過程可以看出,使用同樣一段明文用不同會話密鑰加密后,在通信過程中的密文數(shù)據(jù)也不同,從而增加破譯通信中密文數(shù)據(jù)的難度。
步驟203USB設備內(nèi)部對解密后的數(shù)據(jù)進行相應的處理。
該處理包括對數(shù)據(jù)的讀、寫及進行相應的變換等。
步驟204USB設備用與主機協(xié)商的密鑰對處理后的數(shù)據(jù)用加密密鑰進行加密生成密文數(shù)據(jù),然后將該密文數(shù)據(jù)發(fā)送給主機。此時的加密和發(fā)送過程在USB設備內(nèi)部完成。
步驟205主機接收到密文數(shù)據(jù)后,用解密密鑰對其進行解密,得到經(jīng)USB設備處理后的數(shù)據(jù)。
本實施例中的加/解密采用的算法包括但不限于以下幾種1)DES、3DES、RC4、RC5、RSA、AES、ECC等常用算法;2)用戶自定義算法;3)簡單數(shù)據(jù)變換。
在本實施例中,加/解密和通信過程可以在主機端的應用程序、動態(tài)鏈接庫或者驅(qū)動程序中實現(xiàn)。會話密鑰的不同性主要取決于通信雙方在進行數(shù)據(jù)通信前,產(chǎn)生的密鑰不同。
如圖3所示,本發(fā)明同時提供了一種USB設備與主機進行安全通信的裝置,包括主機與USB設備,其中,主機具體包括主機密鑰協(xié)商模塊,用于主機向USB設備發(fā)協(xié)商加/解密密鑰命令,或用于主機生成加/解密密鑰后發(fā)送給USB設備;主機加/解密模塊,用于主機端數(shù)據(jù)的加/解密;主機通信模塊,用于主機端數(shù)據(jù)的發(fā)送和接收;USB設備具體包括USB設備密鑰生成模塊,用于USB設備得到主機發(fā)來的協(xié)商加/解密密鑰命令后,生成加/解密密鑰;USB設備加/解密模塊,用于USB設備端數(shù)據(jù)的加/解密;USB設備通信模塊,用于USB設備端數(shù)據(jù)的發(fā)送和接收。
在本發(fā)明中,USB設備與主機進行數(shù)據(jù)通信要進行密鑰協(xié)商生成密鑰,密鑰生成過程可以是在USB設備與主機建立連接時進行,也可以是根據(jù)需要在USB設備與主機的通信過程中隨時進行。
如圖4所示,使用上述裝置進行數(shù)據(jù)通信時,各個模塊的交互過程如下USB設備與主機建立連接,通過主機密鑰協(xié)商模塊和USB設備密鑰生成模塊確定加/解密密鑰。
主機加/解密模塊對要與USB設備進行通信的明文數(shù)據(jù)進行加密形成密文數(shù)據(jù)。
加密是指使用密鑰對明文數(shù)據(jù)進行一定的運算后形成密文數(shù)據(jù),數(shù)據(jù)的加密過程在主機內(nèi)部完成。
主機通信模塊將密文發(fā)送給USB設備通信模塊。
USB設備通信模塊接收密文數(shù)據(jù)后,通過USB設備加/解密模塊將密文數(shù)據(jù)解密成明文數(shù)據(jù)。該解密過程采用與加密過程對應的算法。
USB設備內(nèi)部對解密還原后的明文數(shù)據(jù)進行相應處理。
USB設備加/解密模塊對處理后的明文數(shù)據(jù)進行加密形成密文數(shù)據(jù),然后通過USB設備通信模塊將密文數(shù)據(jù)發(fā)送給主機。
主機通信模塊接收到密文數(shù)據(jù)后,通過主機加/解密模塊將密文數(shù)據(jù)解密成明文數(shù)據(jù),得到經(jīng)USB設備處理后的數(shù)據(jù)。
以上對本發(fā)明所提供的一種USB設備與主機進行安全通信的方法及裝置進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
權利要求
1.一種USB設備與主機進行安全通信的方法,其特征在于,所述方法包括以下步驟步驟A主機用加密密鑰對數(shù)據(jù)進行加密后發(fā)送給USB設備;步驟BUSB設備收到所述加密數(shù)據(jù)后用解密密鑰進行解密,并進行處理;步驟CUSB設備將處理后的數(shù)據(jù)用所述加密密鑰進行加密,然后發(fā)送給主機;步驟D主機收到所述加密數(shù)據(jù)后用所述解密密鑰進行解密,得到經(jīng)USB設備處理后的數(shù)據(jù)。
2.如權利要求1所述的USB設備與主機進行安全通信的方法,其特征在于,所述USB設備為智能密鑰裝置。
3.如權利要求1所述的USB設備與主機進行安全通信的方法,其特征在于,所述加/解密密鑰是固定密鑰。
4.如權利要求1所述的USB設備與主機進行安全通信的方法,其特征在于,所述加/解密密鑰是動態(tài)密鑰。
5.如權利要求1所述的USB設備與主機進行安全通信的方法,其特征在于,所述加密密鑰與解密密鑰相同或者是公私鑰對。
6.如權利要求4所述的USB設備與主機進行安全通信的方法,其特征在于,所述的動態(tài)密鑰的生成為主機向USB設備發(fā)命令協(xié)商加/解密密鑰;USB設備得到主機發(fā)來的協(xié)商加/解密密鑰命令后生成加/解密密鑰,把所述加/解密密鑰發(fā)送給主機。
7.如權利要求4所述的USB設備與主機進行安全通信的方法,其特征在于,所述的動態(tài)密鑰的生成為主機生成加/解密密鑰后發(fā)送給USB設備。
8.如權利要求6或7所述的USB設備與主機進行安全通信的方法,其特征在于,所述加/解密密鑰的生成是在USB設備與主機建立連接時進行,或者是在USB設備與主機的通信過程中進行。
9.如權利要求6或7所述的USB設備與主機進行安全通信的方法,其特征在于,所述的加/解密密鑰發(fā)送是以明文的形式發(fā)送,或者用提前約定的密鑰加密后發(fā)送。
10.如權利要求1所述的USB設備與主機進行安全通信的方法,其特征在于,所述的加/解密的算法是DES、3DES、RC4、RC5、RSA、AES或ECC。
11.一種USB設備與主機進行安全通信的裝置,所述裝置包括主機與USB設備,其特征在于,主機具體包括主機密鑰協(xié)商模塊,用于主機向USB設備發(fā)協(xié)商加/解密密鑰命令,或用于主機生成加/解密密鑰后發(fā)送給USB設備;主機加/解密模塊,用于主機端數(shù)據(jù)的加/解密;主機通信模塊,用于主機端數(shù)據(jù)的發(fā)送和接收;USB設備具體包括USB設備密鑰生成模塊,用于USB設備得到主機發(fā)來的協(xié)商加/解密密鑰命令后,生成加/解密密鑰;USB設備加/解密模塊,用于USB設備端數(shù)據(jù)的加/解密;USB設備通信模塊,用于USB設備端數(shù)據(jù)的發(fā)送和接收。
全文摘要
本發(fā)明提供了一種USB設備與主機進行安全通信的方法及裝置,屬于數(shù)據(jù)通信領域。為了解決現(xiàn)有技術中USB設備與主機進行通信時存在安全隱患的問題,本發(fā)明提供了一種USB設備與主機進行安全通信的方法,包括主機對數(shù)據(jù)進行加密發(fā)送給USB設備,USB設備對接收的加密數(shù)據(jù)進行解密并處理,然后對處理后的數(shù)據(jù)進行加密發(fā)送給主機,主機收到后解密得到經(jīng)USB設備處理后的數(shù)據(jù)的步驟。本發(fā)明還提供了一種USB設備與主機進行安全通信的裝置,包括主機和USB設備。本發(fā)明隱藏了有效信息,保證了通信過程中的數(shù)據(jù)安全,同時實現(xiàn)方法多樣,可以根據(jù)需要定制安全等級。
文檔編號G06F21/00GK1916925SQ20061011284
公開日2007年2月21日 申請日期2006年9月5日 優(yōu)先權日2006年9月5日
發(fā)明者陸舟, 于華章 申請人:北京飛天誠信科技有限公司