專利名稱:安全通信的制作方法
技術領域:
本發(fā)明涉及安全信息交換。
背景技術:
安全裝置可用于電子檢驗中,例如驗證用戶、檢驗軟件的可靠性或登錄到計算機 系統(tǒng)。安全裝置可以不同形狀因數(shù)出現(xiàn),包含USB軟件保護器(dongle)、智能卡、 存儲于媒體上的軟件權標及PC卡。所述安全裝置可包含用于與其它系統(tǒng)通信的信息。 舉例來說,用戶在登錄到銀行的web服務器時可使用插入到個人計算機中的USB軟 件保護器來檢驗其身份。由于存儲于安全裝置內(nèi)的信息對于電子檢驗可為關鍵的,因 此可能難以在不暴露所述信息的情況下發(fā)射或修改所述信息。
發(fā)明內(nèi)容
大體來說,本說明書描述安全通信。
在第一一般方面中,描述一種設備。所述設備包含檢驗模塊,其用以提供用于 識別所述設備的用戶的信息;存儲器,其用于存儲用于防護發(fā)射到遠程裝置的通信的 信息;處理單元,其用于基于所述存儲的信息來產(chǎn)生安全通信;及接口,其用以與主 機裝置的外圍接口通信。所述主機裝置經(jīng)配置以在不接入所述安全通信的內(nèi)容的情況 下將所述安全通信發(fā)射到所述遠程裝置。
在第二一般方面中,描述一種方法。所述方法包含提供用于檢驗與安全裝置相 關聯(lián)的用戶的信息;在所述安全裝置處產(chǎn)生用于防護所述安全裝置與遠程裝置之間的 通信的信息;及使用外圍接口將安全通信發(fā)射到主機裝置,所述主機裝置具有經(jīng)配置 以使用網(wǎng)絡將所述安全通信轉(zhuǎn)發(fā)到所述遠程裝置的橋接器應用程序,其中所述主機裝 置不可接入所述安全通信的內(nèi)容。
在另一一般方面中,描述一種方法,其包含提供用于檢驗與安全裝置相關聯(lián)的 用戶的信息;在本地裝置處從安全裝置接收通過所述本地裝置的本地連接發(fā)射的安全通信,其中所述本地裝置不可接入所述安全通信的內(nèi)容;及通過非安全網(wǎng)絡將所述安 全通信轉(zhuǎn)發(fā)到經(jīng)配置以接入所述安全通信的所述內(nèi)容的遠程安全裝置。
在又一一般方面中,描述一種系統(tǒng),其包含安全信息產(chǎn)生器,其用于確定用于 防護發(fā)射到遠程裝置的消息的信息;消息產(chǎn)生器,其用于使用所述確定的信息來產(chǎn)生 安全消息;及接口,其用以與主機裝置的外圍接口通信,所述主機裝置經(jīng)配置以將所 述安全消息發(fā)射到所述遠程裝置,其中所述主機裝置不可接入所述安全消息的內(nèi)容。
在另一方面中,描述一種系統(tǒng),其包含用于在接口處產(chǎn)生用于通過非安全本地裝 置發(fā)射到遠程裝置的安全通信的構件。所述系統(tǒng)還包含用于將所述安全通信發(fā)射到所 述非安全本地裝置的接口構件,其中所述非安全本地裝置不可接入所述安全通信的內(nèi) 容。
在又一一般方面中,描述一種方法,其包含產(chǎn)生用于防護安全裝置與遠程裝置 之間的通信的信息;及使用外圍連接將所述產(chǎn)生的信息發(fā)射到主機裝置。所述主機裝 置在使得所述產(chǎn)生的信息不可由所述主機裝置接入的情況下耦合到所述遠程裝置。
此處所描述的系統(tǒng)及技術可不提供以下優(yōu)點、提供以下優(yōu)點中的一者或一者以 上。當僅安全裝置及遠程裝置為可信時,可實現(xiàn)安全通信。用于將信息轉(zhuǎn)發(fā)到遠程裝 置的本地裝置及用于發(fā)射的網(wǎng)絡可為不安全的但仍維持所述安全裝置與所述遠程裝置 之間的通信的機密性??杀苊鈱νㄐ虐l(fā)射的攻擊,例如中間人攻擊、包內(nèi)容探測等。 另外,可以安全方式更新存儲于安全裝置上的信息,例如加密或數(shù)字簽名密鑰。
將在附圖及以下說明中描述本發(fā)明的一個或一個以上實施例的細節(jié)。依據(jù)所述說 明及圖式并依據(jù)權利要求書,本發(fā)明的其它特征及優(yōu)點將顯而易見。
圖1是描繪用于經(jīng)由不可信網(wǎng)絡與安全裝置遠程通信的系統(tǒng)的實例的示意圖。 圖2是描繪安全數(shù)據(jù)發(fā)射實施方案的系統(tǒng)的示意圖。
圖3是描繪用于經(jīng)由不可信網(wǎng)絡與安全裝置遠程通信的方法的實例的流程圖。 圖4是描繪安全服務器與安全裝置之間經(jīng)由安全信道互動的實例的序列圖。 圖5是描繪安全服務器、非安全客戶端與安全裝置之間的互動的實例的序列圖。 圖6是實例性計算機系統(tǒng)的圖示。
具體實施例方式
本文件描述用于經(jīng)由非安全網(wǎng)絡在遠程裝置與安全裝置之間建立安全通信的系 統(tǒng)及方法的實施方案。安全裝置的實例可包含USB密碼密鑰、智能卡或存儲于包含軟 件權標的計算機外圍裝置上的軟件權標??赡苡衅渌问降陌踩b置。在某些實施方 案中,安全裝置連接到客戶端且可經(jīng)由網(wǎng)絡(例如,不可信網(wǎng)絡)與服務器通信。另 外,所述安全裝置與所述服務器可使用管理密鑰建立用于通信的安全信道。建立所述安全性在所述服務器與所述安全裝置之間進行通 信。舉例來說,所述安全裝置所連接到的客戶端可為不安全或不可信的,但不損害所 述安全裝置與所述服務器之間的安全通信。
在某些實施方案中,所描述的系統(tǒng)及方法可用于對安全裝置進行遠程管理。舉例 來說,所述安全信道可用于更新包含于所述安全裝置中的信息,例如加密密鑰、驗證 密鑰、識別符、半靜態(tài)存儲的信息、用于產(chǎn)生加密及驗證密鑰的信息等。
圖1是描繪用于經(jīng)由非安全網(wǎng)絡與安全裝置102遠程通信的實例性系統(tǒng)100的示
意圖。在圖1的實施方案中,系統(tǒng)IOO包含安全服務器104,所述安全服務器通過非 安全網(wǎng)絡106 (舉例來說,因特網(wǎng))與安全裝置102中的一者或一者以上通信。安全 服務器104的通信可由代表安全裝置102的非安全客戶端機器108發(fā)射或接收。安全 裝置102可以無線方式(例如,通過藍牙)或直接(例如,通過通用串行總線(USB) 連接)連接到非安全客戶端機器108。安全裝置102的實例可包含USB軟件保護器 102a、智能卡102b或PDA 102c ,如圖1中所示。
安全服務器104及安全裝置102可駐存于對其所存儲、發(fā)送或接收、處理等的專 用信息的接入是有限的受控環(huán)境中??梢晕锢矸绞较拗苹蛞噪娮臃绞较拗茖Π踩b置 102的接入。舉例來說,以物理方式防護裝置可包含限制對所述裝置的物理接入及僅 通過到所述裝置的物理連接發(fā)射或接收信息。以電子方式防護裝置可包含通過需要登 錄及口令信息、需要對所述裝置所存儲或所處理的通信進行加密或數(shù)字簽名、將安全 裝置102定位于限制通信的防火墻后面來限制對所述裝置的接入。
在某些情況下,如果某些系統(tǒng)組件(例如,應用程序、網(wǎng)絡或裝置)不在用戶的 控制之下,那么可能無法限定或限制對所述組件的接入(例如,公共因特網(wǎng))。在此 情況下,系統(tǒng)的若干部分可為不可信或不安全的。非安全裝置可易于遭受例如信息竊 取等問題。另外,非安全裝置可易于受到來自惡意用戶、軟件病毒、間諜軟件、惡意 廣告軟件及鍵盤記錄(key-logging)軟件(舉例來說)的攻擊。
在某些實施方案中,在安全裝置102與安全服務器104之間建立安全通信可準許 使用非安全的客戶端,因為對通信的保護是在安全裝置102 (或服務器104)上而非在 其中可更改或接入通信的客戶端處執(zhí)行。另外,在某些實施方案中,直接在安全裝置 102與安全服務器104之間建立安全層(例如,使用加密、數(shù)字簽名)準許使用公共 或非安全網(wǎng)絡來發(fā)射通信,因為即使所述網(wǎng)絡被損害也存在至少一個安全層。
在于安全裝置102與客戶端108之間建立通信之后,安全服務器104可形成可用 于與安全裝置102通信的安全信道112。在某些實施方案中,安全服務器104可與安 全裝置102交換已加密及己簽名的消息,其中加密及驗證基于為安全服務器104及安 全裝置102兩者所知的密鑰。
在建立安全信道的一個實施方案中,安全服務器104構造其進行簽名及加密的消 息114。接著,已加密及已簽名的消息114可被發(fā)射到安全裝置102。安全裝置102 可使用由安全服務器104發(fā)送的消息114中所含有的信息來準備對消息114的響應116。響應116也可在發(fā)射到安全服務器104之前被簽名及被加密。在某些實施方案中, 可使用消息114及響應116借助存儲于服務器104及安全裝置102上的靜態(tài)密鑰來產(chǎn) 生用于額外安全通信的會話密鑰。所述會話密鑰可實現(xiàn)建立安全信道112,下文將結 合圖4對其進行更詳細的描述。
在某些實施方案中,在建立安全信道112之后,安全服務器104可產(chǎn)生例如應用 程序協(xié)議數(shù)據(jù)單元(APDU)消息114的消息并經(jīng)由非安全網(wǎng)絡106使用例如超文本 傳送協(xié)議(HTTP)的網(wǎng)絡協(xié)議將其發(fā)送到非安全客戶端機器108。非安全客戶端機器 108可包含用以將APDU消息114發(fā)送到安全裝置102的軟件。在圖1的實例中,非 安全客戶端機器108可用作將通信轉(zhuǎn)發(fā)到安全裝置102及從安全裝置102轉(zhuǎn)發(fā)通信的 網(wǎng)關。用作網(wǎng)關可包含通過提供(舉例來說)用戶接口、 HTTP通信及/或TCP/IP通信 來促進安全服務器104與安全裝置102之間的通信。
雖然將網(wǎng)絡106及客戶端108描述為不安全的,但在其它實施方案中,其可以是 安全的。舉例來說,網(wǎng)絡106可以是受保密控制的內(nèi)聯(lián)網(wǎng)且所述客戶端可以是所述內(nèi) 聯(lián)網(wǎng)上的節(jié)點,所述節(jié)點對可接入所述節(jié)點的用戶施加制約。
在某些實施方案中,安全裝置102還包含檢驗模塊103。所述檢驗模塊可用于檢 驗與所述安全裝置相關聯(lián)的用戶。舉例來說,可在非安全客戶端機器108上安裝軟件, 其中所述軟件僅在將安全裝置102插入到客戶端機器108的USB端口時(或之后) 可操作。
在某些實施方案中,檢驗模塊103可產(chǎn)生用于檢驗與所述安全裝置相關聯(lián)的用戶 (例如,將所述安全裝置插入到客戶端機器108的USB端口中的人)是經(jīng)授權而使用 所述軟件的檢驗信息。舉例來說,所述檢驗信息可以是發(fā)射到非安全客戶端機器108 上的應用程序的密碼密鑰。所述應用程序可使用所述密鑰來確定所述密鑰是否與所述 應用程序的經(jīng)授權用戶(例如許可證持有者)相關聯(lián)。如果所述密鑰匹配經(jīng)授權用戶, 那么所述應用程序可將所述應用程序的全部功能或一部分功能解鎖以供所述用戶使 用。
在其它實施方案中,檢驗模塊103可產(chǎn)生用于檢驗用戶是經(jīng)授權而登錄到遠程裝 置(未顯示)(例如,金融機構的web服務器)的檢驗信息。在一些實施方案中,檢 驗模塊103可產(chǎn)生包含與裝置相關聯(lián)的用戶的唯一識別符的檢驗信息??蓪⑺鰴z驗 信息發(fā)射到所述非安全客戶端,所述非安全客戶端可將所述信息轉(zhuǎn)發(fā)到所述用戶需要 接入的遠程裝置。
舉例來說,用戶可使用公共計算機導航到銀行的網(wǎng)站,其中提醒所述用戶將其安 全裝置連接到所述公共計算機以接入其在線銀行賬單。所述用戶可將其安全裝置102 連接到所述公共計算機(例如,通過將由銀行發(fā)行的智能卡插入到所述公共計算機的 智能卡讀取器中)。所述智能卡的檢驗模塊103可包含由存取存儲于所述安全裝置的 存儲器中的唯一識別符的處理器執(zhí)行的軟件算法。所述處理器可將所述唯一識別符發(fā) 射到所述公共計算機,所述公共計算機將其發(fā)射到托管銀行的網(wǎng)站的web服務器。所述web服務器可使用所述唯一識別符來檢驗所述用戶在所述銀行具有帳戶且接著可將
包含所述用戶的銀行賬單的網(wǎng)頁發(fā)射到所述公共計算機。在某些實施方案中,可對發(fā)射到所述非安全客戶端的檢驗信息進行加密及數(shù)字簽名。
圖2是用于將安全通信從安全服務器104發(fā)射到安全裝置102的實例性系統(tǒng)200的示意圖。在此實施方案中,安全服務器104、非安全客戶端108及安全裝置102經(jīng)由安全信道202進行通信??墒褂?舉例來說)靜態(tài)密鑰204對安全服務器104與安全裝置102之間的通信進行加密及解密。靜態(tài)密鑰204可由用于密碼及驗證操作中的信息組成。
在某些實施方案中,可在安全環(huán)境中(例如在制造期間)創(chuàng)建靜態(tài)密鑰204并將其在安全服務器104與安全裝置102之間加以共享。在一些實施方案中,所述靜態(tài)密鑰永久性地或半永久性地存儲于安全裝置102及安全服務器104中。另外,在一些實施方案中,所述靜態(tài)密鑰可用于產(chǎn)生例如會話密鑰的臨時密鑰,所述臨時密鑰可用于裝置之間有限數(shù)目的通信。舉例來說,靜態(tài)密鑰204可以是安全密鑰、專用密鑰或其組合。安全密鑰可用于加密中,包含高級加密標準(AES)。專用密鑰可使用數(shù)個算法來加密,包含瑞維斯特(Rivest)、薛米爾(Shamir)和艾多曼(Adleman) (RSA)算法。在一些實施方案中,靜態(tài)密鑰204也可用于通信的數(shù)字簽名中以及用于加密。
在一些實施方案中,服務器104、非安全客戶端108、安全裝置102或其任一組合可托管用于發(fā)射安全裝置102與安全服務器104之間的安全通信的應用程序。舉例來說,服務器應用程序206可通過提供起始安全裝置102更新的功能來對所述安全裝置進行遠程管理。另外,服務器應用程序206可執(zhí)行檢驗或驗證功能,例如檢驗軟件許可或存儲并驗證用戶證書。
如圖2的實施方案中所示,服務器應用程序206可通過一個或數(shù)個協(xié)議層與客戶端應用程序208通信,所述協(xié)議層中的一些協(xié)議層描繪于圖2中。舉例來說,服務器應用程序206使用例如超文本傳送協(xié)議(HTTP)的應用程序協(xié)議來發(fā)射信息。可將所述應用程序協(xié)議包裹于例如輸送協(xié)議發(fā)射控制協(xié)議(TCP)及連網(wǎng)協(xié)議因特網(wǎng)協(xié)議(IP)的額外協(xié)議中。接著,又可將這些協(xié)議包裹于例如數(shù)據(jù)鏈路層的以太網(wǎng)協(xié)議的其它協(xié)議中。
應注意,在圖2的實例中,這些額外協(xié)議不需要額外安全機制來維持安全裝置102與安全服務器104之間的安全通信。舉例來說,并非必需IPSec來維持所述通信。在此實例中,安全通信是通過先前所建立的信道202來建立的。
從安全服務器104到安全裝置102的通信可通過非安全客戶端108使用客戶端應用程序208來傳送??蛻舳藨贸绦?08可用作安全服務器104與安全裝置102之間的橋接器應用程序。在一些實施方案中,客戶端應用程序208在不對消息進行加密/解密或簽名/驗證的情況下轉(zhuǎn)發(fā)安全服務器104與安全裝置102之間的通信。而是,所述消息可在無修改的情況下被轉(zhuǎn)發(fā)。另外,在一些實施方案中,非安全客戶端108可能不具有對用于對所述消息進行加密或簽名的安全信息的接入且因此可能無法接入或修改所述消息。
客戶端應用程序208可使用與安全裝置102兼容的裝置協(xié)議216來傳送安全通信。在一些實施方案中,協(xié)議216可包含(舉例來說)個人計算機/智能卡(PC/SC)協(xié)議、USB芯片/智能卡接口裝置(CCID)協(xié)議及通用串行總線(USB)協(xié)議。通過使用客戶端應用程序208在服務器應用程序206與安全裝置應用程序218之間傳送信息,所述非安全客戶端可用作系統(tǒng)200中的轉(zhuǎn)發(fā)元件。
在一些實施方案中,安全裝置102可經(jīng)由有線連接(例如,USB)或以無線方式(例如,藍牙)連接到非安全客戶端108。安全裝置102可包含安全裝置應用程序218。安全裝置應用程序218可將安全通信發(fā)射到客戶端應用程序208,所述客戶端應用程序可將所述通信傳送到服務器應用程序206。在一些實施方案中,安全裝置應用程序218可由(舉例來說)服務器應用程序206更新或修改。舉例來說,服務器應用程序206可發(fā)射用以修改存儲于安全裝置102上的靜態(tài)密鑰204的請求。 一個或一個以上密鑰可嵌入于發(fā)射到安全裝置102的安全通信中。在接收到之后,安全裝置應用程序218可在使用所述通信的內(nèi)容更新靜態(tài)密鑰204之前對所述通信進行解密及驗證。
在圖2中未顯示的其它實施方案中,可存在服務器應用程序206與客戶端應用程序208之間的替代協(xié)議,包含因特網(wǎng)包交換/順序包交換(IPX/SPX)、用戶數(shù)據(jù)報協(xié)議(UDP)、因特網(wǎng)協(xié)議安全(IPsec)、異步傳送模式(ATM)等。
圖3是描繪用于經(jīng)由包含非安全網(wǎng)絡的網(wǎng)絡與安全裝置遠程通信的方法300的實例的流程圖。舉例來說,可通過例如系統(tǒng)100及200的系統(tǒng)執(zhí)行方法300。為清晰呈現(xiàn)起見,以下描述使用系統(tǒng)100及200的組件作為用于描述方法300的實例的基礎。然而,可使用另一系統(tǒng)或系統(tǒng)組合來執(zhí)行方法300。
如圖3中所指示,方法300可包含用于接收及發(fā)送安全通信的步驟。方法300以產(chǎn)生用于建立安全通信的安全信息開始,如步驟302中所指示。舉例來說,安全裝置102可產(chǎn)生安全信息,例如從存儲于安全服務器104及安全裝置102兩者上的靜態(tài)密鑰獲得的會話密鑰。
方法300可包含兩個分支,其中一個分支可包含用于發(fā)射安全通信的步驟且另一分支可包含用于接收安全通信的步驟。圖解說明發(fā)射安全信息的分支的第一步驟是步驟304。在步驟304中,使用所述安全信息對通信進行加密及簽名。舉例來說,安全裝置應用程序218可使用存儲于安全裝置102上的存儲器中的加密函數(shù)對通信進行加密及簽名。
在步驟306中,將通信發(fā)射到本地客戶端以供轉(zhuǎn)發(fā)到安全服務器104。舉例來說,安全裝置102可通過直接物理連接(例如,安全裝置102的凸式USB接納器到客戶端108的凹式USB接納器的耦合)使用USB協(xié)議將通信發(fā)射到本地客戶端。在步驟306之后,方法300可結束。
圖解說明接收安全信息的分支的第一步驟是步驟308。在步驟308中,經(jīng)由客戶端108從服務器104接收安全通信。舉例來說,安全裝置102可經(jīng)由無線藍牙網(wǎng)絡連接接收通信。在一個實施方案中,圖解說明接收安全信息的分支的下一步驟係步驟
310。在步驟310中,使用所述安全信息來接入安全通信。舉例來說,安全裝置應用程序218可使用例如會話密鑰的安全信息對所述安全通信進行解密并驗證可嵌入于所述通信中的簽名。在步驟310之后,方法300可結束。
圖4是描繪安全服務器402與安全裝置404之間經(jīng)由安全信道互動的實例的序列圖。 一旦建立,所述安全信道即可用于安全裝置404與服務器402之間的通信。為清晰解釋起見,從以下描述中省略了非安全客戶端。然而,非安全客戶端可充當用以傳送及轉(zhuǎn)發(fā)服務器402與安全裝置404之間所描述的通信的橋接器。在某些實施方案中,可使用永久性地(或半永久性地)存儲于安全裝置102及服務器104兩者上的靜態(tài)密鑰來建立所述安全信道。舉例來說,可在安全環(huán)境中在制造安全裝置102期間(例如)經(jīng)由安全網(wǎng)絡或使用安全裝置404與服務器402的直接物理連接將所述靜態(tài)密鑰加以共享。
序列400以從服務器402到安全裝置404的發(fā)射406開始,其中所述發(fā)射包含安全裝置404將詢問發(fā)射到服務器402的請求。舉例來說,所述詢問可以是隨機系列的數(shù)字或字母數(shù)字字符。箭頭408包含從安全裝置404到服務器402的發(fā)射,其中所述發(fā)射包含對所述詢問的響應(RSD)。
箭頭410指示服務器402產(chǎn)生詢問(RSD),所述詢問從服務器402被發(fā)射到安全裝置404,如箭頭412所指示。如箭頭414所指示,服務器402依據(jù)所述靜態(tài)密鑰及由安全服務器104與安全裝置102產(chǎn)生的詢問產(chǎn)生會話密鑰。
在一個實施方案中,所述服務器可計算用于對通信進行驗證及加密的多個會話密鑰。舉例來說,
KSM = f(Rs,RsD,Ks訓)
可表示用于對消息進行數(shù)字簽名的會話密鑰,其中KsM是用于簽名的會話密鑰,Rs是來自安全服務器104的詢問響應,RsD是來自安全裝置102的響應,Ks^是與用于消息的數(shù)字簽名功能相關聯(lián)的靜態(tài)密鑰,且f是對每一參數(shù)執(zhí)行的加密函數(shù)。
另外,用于簽名響應的會話密鑰可由下式表示
Ksr = f,(Rs,RsD,KsiGN)
其中K"是用于簽名的會話密鑰,Rs是來自安全服務器104的詢問響應,Rsd是來自安全裝置102的響應,KsK^是與用于響應的數(shù)字簽名功能相關聯(lián)的靜態(tài)密鑰,且f是對每一參數(shù)執(zhí)行的加密函數(shù)。
另一會話密鑰可以是
Kem = f(Rs,RsD,KENC)
其可用于對消息進行加密,其中KEM是用于對消息進行加密的會話密鑰,Rs是來
自安全服務器104的詢問響應,Rs。是來自安全裝置102的響應,K^c是與對消息進行加密相關聯(lián)的靜態(tài)密鑰,且f是對每一參數(shù)執(zhí)行的加密函數(shù)。在某些實施方案中,用于計算K^的加密函數(shù)不同于如上所述用于計算Ksm的加密函數(shù)。用于對響應進行加密的會話密鑰可表達為
KER = f,(Rs,RsD,KENc)
其中K^是用于對響應進行加密的會話密鑰,Rs是來自安全服務器104的詢問響應,Rsd是來自安全裝置102的響應,K^c是與對響應進行加密相關聯(lián)的靜態(tài)密鑰,f是對每一參數(shù)執(zhí)行的加密函數(shù)。在某些實施方案中,用于計算Km的加密函數(shù)不同于如上所述用于計算K^的加密函數(shù)。
通過使用會話密鑰,服務器402可產(chǎn)生如箭頭416所指示的密文。箭頭418指示從服務器402到安全裝置404的發(fā)射,其中所述發(fā)射包含密文CRYPTs。舉例來說,所述密文可表達為
CRYPTs = Enc(KEM, f ,(RSD, Rs)
箭頭420指示安全裝置404產(chǎn)生互補密文以與服務器402上的密文進行比較。在一些實施方案中,如果所述密文在與由服務器402產(chǎn)生的密文進行比較時由安全裝置404成功地檢驗,那么安全裝置402可使用會話密鑰來產(chǎn)生其自身的密文,如箭頭422所指示。舉例來說,由安全裝置102產(chǎn)生的密文可表達為
CRYPTsd = Enc(KEM, f ,(RS, RSD)
其中KEM是用于消息加密的會話密鑰,f'是對Rs及RsD執(zhí)行的加密函數(shù),且Enc是對K^會話密鑰及f'加密函數(shù)的結果執(zhí)行的加密函數(shù)。用于產(chǎn)生所述密文的函數(shù)可不同于如上所述用于對其它信息進行加密的函數(shù)。
箭頭424指示從安全裝置404到服務器402的發(fā)射且箭頭426指示服務器402檢驗在發(fā)射424期間所發(fā)送的密文。舉例來說,所述服務器可使用存儲于所述服務器處的會話密鑰來產(chǎn)生互補密文且接著將所述互補密文與CRYPTSD進行比較以檢驗其匹配。
圖5是描繪安全服務器502、非安全客戶端504及安全裝置506之間的互動的實例的序列圖500。
箭頭508指示服務器502產(chǎn)生已簽名的消息(SM)??墒褂脮捗荑€KsM對消息進行簽名且所得的簽名是SM??墒褂脮捗荑€Kem対所述消息及Sm迸行加密,如箭頭510所指示,且所得的消息是Me。服務器502可將已簽名及已加密的消息發(fā)射到非安全客戶端,如箭頭512所指示。在一些實施方案中,可使用非安全協(xié)議(例如HTTP)來發(fā)射所述消息。所述非安全客戶端可包含橋接器應用程序,所述橋接器應用程序隨后可使用適當協(xié)議將已簽名的經(jīng)加密消息(MEISM)轉(zhuǎn)發(fā)到所連接的安全裝置。
箭頭514指示使用USB協(xié)議將已簽名的經(jīng)加密消息(ME I SM)從非安全客戶端504發(fā)射到安全裝置506。雖然所述實例性實施方案表明使用USB協(xié)議,但可使用替代協(xié)議,例如但不限于RS-232串行協(xié)議、RS-494串行協(xié)議、并行端口協(xié)議或無線藍牙連接(舉例來說)。
箭頭516指示安全裝置506對消息Me迸行解密。舉例來說,安全裝置102可使用如先前所描述的會話密鑰kem來對所述消息進行解密。還可檢驗所述消息,如箭頭518所指示。舉例來說,已解密的通信可包含消息(M)以及數(shù)字簽名(SM)。安全裝置102可使用會話密鑰KsM來對所接收的消息(M)進行簽名且接著將新產(chǎn)生的已簽名消息與所接收的數(shù)字簽名(SM)進行比較。如果簽名匹配,那么所述消息通過驗證(例如,所述安全裝置具有所述消息是從所述服務器發(fā)出的保證)且證明為未經(jīng)更改。
圖5描繪消息發(fā)射的時序圖。在一些實施方案中,可以大致類似的方式完成響應的發(fā)射、簽名及加密。
圖6是實例性計算機系統(tǒng)的圖示。根據(jù)一個實施方案,系統(tǒng)600可用于結合先前所描述方法中的任一者描述的操作中。另外,可使用系統(tǒng)600來實施客戶端108、服務器104或安全裝置102。系統(tǒng)600包含處理器610、存儲器620、存儲裝置630及輸入/輸出裝置640。使用系統(tǒng)總線650來互連組件610、 620、 630及640中的每一者。處理器610能夠處理供在系統(tǒng)600內(nèi)執(zhí)行的指令。在一個實施方案中,處理器610是單線程處理器。在另一實施方案中,處理器610是多線程處理器。.處理器610能夠處理存儲于存儲器620中或存儲裝置630上的指令以在輸入/輸出裝置640上顯示用戶接口的圖形信息。
存儲器620將信息存儲于系統(tǒng)600內(nèi)。在一個實施方案中,存儲器620是計算機可讀媒體。在一個實施方案中,存儲器620是易失性存儲器單元。在另一實施方案中,存儲器620是非易失性存儲器單元。
存儲裝置630能夠為系統(tǒng)600提供大容量存儲。在一個實施方案中,存儲裝置630是計算機可讀媒體。在各種不同實施方案中,存儲裝置630可以是軟磁盤裝置、硬磁盤裝置、光盤裝置或磁帶裝置。
輸入/輸出裝置640為系統(tǒng)600提供輸入/輸出操作。在一個實施方案中,輸入/輸出裝置640包含鍵盤及/或指向裝置。在另一實施方案中,輸入/輸出裝置640包含用于顯示圖形用戶接口的顯示單元。
所描述的特征可實施于數(shù)字電子電路中或計算機硬件、固件、軟件中或其組合中。所述設備可實施于有形地體現(xiàn)于信息載體中(例如,機器可讀存儲裝置中或傳播的信號中)的由可編程處理器執(zhí)行的計算機程序產(chǎn)品中;且方法步驟可由可編程處理器實施,所述可編程處理器執(zhí)行指令程序以通過對輸入數(shù)據(jù)進行操作并產(chǎn)生輸出來實施所描述實施方案的功能。所描述的特征可有利地實施于可在可編程系統(tǒng)上執(zhí)行的一個或一個以上計算機程序中,所述可編程系統(tǒng)包含至少一個可編程處理器(其經(jīng)耦合以從數(shù)據(jù)存儲系統(tǒng)接收數(shù)據(jù)及指令及將數(shù)據(jù)及指令發(fā)射到所述數(shù)據(jù)存儲系統(tǒng))、至少一個輸入裝置及至少一個輸出裝置。計算機程序是計算機中可直接或間接用來執(zhí)行某一活動或引起某一結果的指令集。可以任何形式的編程語言(包含編譯語言或解譯語言)來寫入計算機程序,且可將所述計算機程序部署成任何形式,包含部署為獨立程序或
部署為模塊、組件、子例程或適合在計算環(huán)境中使用的其它單元。
舉例來說,用于執(zhí)行指令程序的適合處理器包含通用及專用微處理器兩者及任一種計算機的唯一處理器或多個處理器中的一者。在一些實施方案中,所述處理器包含 安全微控制器,例如Ca (加利福尼亞)、San Jose (圣何塞)的ATMEL (愛特梅爾) 公司出售的SecureAVRTM。例如安全裝置的系統(tǒng)組件可包含所述安全微控制器,其可
阻礙或阻止從組件提取數(shù)據(jù)(例如,從所述安全裝置提取密鑰信息)。在一些實施方 案中,所述安全微控制器可實施安全特征,例如包含溫度傳感器、電壓傳感器、光傳 感器等環(huán)境傳感器。所述安全特征還可包含若干對策,例如電流消耗置亂、隨機執(zhí)行
定時等。
一般來說,處理器將從只讀存儲器或隨機存取存儲器或兩者接收指令及數(shù)據(jù)。計 算機的實質(zhì)元件是用于執(zhí)行指令的處理器及用于存儲指令及數(shù)據(jù)的一個或一個以上存 儲器。 一般來說,計算機還將包含用于存儲數(shù)據(jù)文件的一個或一個以上大容量存儲裝 置或以操作方式經(jīng)耦合以與其通信;此類裝置包含磁盤(例如,內(nèi)部硬磁盤及可抽 換式磁盤);磁光盤;及光盤。適合于有形地體現(xiàn)計算機程序指令及數(shù)據(jù)的存儲裝置 包含所有形式的非易失性存儲器,舉例來說,包含半導體存儲器裝置(例如,EPROM、 EEPROM及快閃存儲器裝置);磁盤(例如,內(nèi)部硬磁盤及可抽換式磁盤);磁光盤; 以及CD-ROM及DVD-ROM磁盤。所述處理器及所述存儲器均可由ASIC (專用集成 電路)進行補充或并入于ASIC中。
為實現(xiàn)與用戶的互動,所述特征可實施于具有用于向所述用戶顯示信息的顯示裝 置(例如,CRT (陰極射線管)或LCD (液晶顯示器)監(jiān)視器)及可由用戶用來向計 算機提供輸入的鍵盤及指向裝置(例如,鼠標或軌跡球)的計算機上。
所述特征可實施于包含后端組件(例如數(shù)據(jù)服務器)或包含中間軟件組件(例如 應用程序服務器或因特網(wǎng)服務器)或包含前端組件(例如具有圖形用戶接口或因特網(wǎng) 瀏覽器的客戶端計算機)或其任一組合的計算機系統(tǒng)中。所述系統(tǒng)的組件可通過任何 數(shù)字數(shù)據(jù)通信形式或媒介(例如通信網(wǎng)絡)來連接。通信網(wǎng)絡的實例包含,例如,LAN、 WAN以及形成因特網(wǎng)的計算機及網(wǎng)絡。
所述計算機系統(tǒng)可包含客戶端及服務器。客戶端與服務器一般彼此遠離且通常通 過網(wǎng)絡(例如所述網(wǎng)絡)來互動??蛻舳伺c服務器之間的關系借助運行于相應計算機 上且彼此之間具有客戶端-服務器關系的計算機程序而產(chǎn)生。
本文已描述了本發(fā)明的若干實施例。然而,應理解,可對本發(fā)明做出各種修改, 此并不背離本發(fā)明的精神及范圍。舉例來說,圖中所描繪的邏輯流程未必需要所顯示 的特定次序或順序次序來實現(xiàn)所需的結果。另外,可提供其它步驟,或可從所述流程 除去若干步驟,且可向所述系統(tǒng)添加或從所述系統(tǒng)移除其它組件。因此,其它實施例 也歸屬于以上權利要求書的范圍內(nèi)。
權利要求
1、一種設備,其包括檢驗模塊,其用以提供用于識別所述設備的用戶的信息;存儲器,其用于存儲用于保護發(fā)射到遠程裝置的通信的信息;處理單元,其用于基于所述存儲的信息來產(chǎn)生安全通信;及接口,其用以與主機裝置的外圍接口通信,所述主機裝置經(jīng)配置以在不接入所述安全通信的內(nèi)容的情況下將所述安全通信發(fā)射到所述遠程裝置。
2、 根據(jù)權利要求1所述的設備,其中所述設備的所述用戶包括與所述設備相關 聯(lián)的人。
3、 根據(jù)權利要求1所述的設備,其中所述處理單元在產(chǎn)生所述安全通信中使用 數(shù)字簽名或加密中的一者。
4、 根據(jù)權利要求1所述的設備,其中所述外圍接口包括與所述主機裝置的直接 一對一連接。
5、 根據(jù)權利要求1所述的設備,其中所述外圍接口使用無線協(xié)議。
6、 根據(jù)權利要求5所述的設備,其中所述無線協(xié)議包括藍牙協(xié)議、IEEE 802協(xié) 議或射頻協(xié)議。
7、 根據(jù)權利要求1所述的設備,其中所述設備為便攜式。
8、 根據(jù)權利要求1所述的設備,其中所述外圍接口使用有線協(xié)議。
9、 根據(jù)權利要求8所述的設備,其中所述有線協(xié)議包括USB協(xié)議、正EE 1394 協(xié)議、串行RS-232協(xié)議或并行接口協(xié)議。
10、 根據(jù)權利要求1所述的設備,其中所述存儲的信息包括用于保護通信的一個 或一個以上靜態(tài)密鑰。
11、 根據(jù)權利要求10所述的設備,其中產(chǎn)生所述安全通信包括基于所述一個或 一個以上靜態(tài)密鑰來產(chǎn)生一個或一個以上會話密鑰。
12、 根據(jù)權利要求11所述的設備,其中產(chǎn)生所述安全通信進一步包括使用所述 一個或一個以上會話密鑰對通信進行加密或簽名。
13、 根據(jù)權利要求10所述的設備,其中用于保護通信的所述存儲的信息的至少 一部分在所述設備的制造或處理中的一者期間存儲于所述存儲器中。
14、 根據(jù)權利要求1所述的設備,其中所述主機裝置與所述遠程裝置之間的所述 發(fā)射基于非安全協(xié)議。
15、 根據(jù)權利要求14所述的設備,其中所述非安全協(xié)議包括非安全TCP/IP或非 安全HTTP。
16、 根據(jù)權利要求1所述的設備,其中基于所述存儲的信息來產(chǎn)生所述安全通信 包括建立用于將通信發(fā)射到所述遠程裝置的安全信道。
17、 根據(jù)權利要求16所述的設備,其中所述處理單元部分地通過檢驗從所述遠 程裝置接收的一個或一個以上詢問或響應來建立所述安全信道。
18、 根據(jù)權利要求17所述的設備,其中所述處理單元使用所述一個或一個以上 通過檢驗的詢問或通過檢驗的響應來產(chǎn)生一個或一個以上會話密鑰,所述一個或一個 以上會話密鑰包含于用于保護發(fā)射到所述遠程裝置的通信的所述存儲的信息中。
19、 根據(jù)權利要求1所述的設備,其中所述主機裝置為不安全的。
20、 一種方法,其包括-提供用于檢驗與安全裝置相關聯(lián)的用戶的信息;在所述安全裝置處產(chǎn)生用于保護所述安全裝置與遠程裝置之間的通信的信息;及 使用外圍接口將安全通信發(fā)射到主機裝置,所述主機裝置具有經(jīng)配置以使用網(wǎng)絡將所述安全通信轉(zhuǎn)發(fā)到所述遠程裝置的橋接器應用程序,其中所述主機裝置不可接入所述安全通信的內(nèi)容。
21、 根據(jù)權利要求20所述的方法,其中待檢驗的所述用戶是與所述安全裝置相 關聯(lián)的人。
22、 根據(jù)權利要求20所述的方法,其進一步包括保護所述安全通信。
23、 根據(jù)權利要求22所述的方法,其中保護所述安全通信包括使用數(shù)字簽名或 加密中的一者。
24、 根據(jù)權利要求20所述的方法,其進一步包括使用無線協(xié)議來建立與所述外 圍接口的連接。
25、 根據(jù)權利要求20所述的方法,其中所述安全裝置為便攜式。
26、 根據(jù)權利要求20所述的方法,其進一步包括使用有線協(xié)議來建立與所述外 圍接口的連接。
27、 根據(jù)權利要求20所述的方法,其中產(chǎn)生用于保護通信的所述信息包括產(chǎn)生 用于保護通信的一個或一個以上會話密鑰。
28、 根據(jù)權利要求27所述的方法,其進一步包括使用存儲于所述安全裝置處的 一個或一個以上靜態(tài)密鑰來產(chǎn)生所述一個或一個以上會話密鑰。
29、 根據(jù)權利要求28所述的方法,其進一步包括在所述安全裝置的制造或處理 中的一者期間將所述一個或一個以上靜態(tài)密鑰存儲于所述安全裝置處。
30、 根據(jù)權利要求20所述的方法,其進一步包括使用非安全協(xié)議經(jīng)由所述網(wǎng)絡 將所述安全通信從所述主機裝置發(fā)射到所述遠程裝置。
31、 根據(jù)權利要求20所述的方法,其進一步包括建立用于所述安全裝置與所述 遠程裝置之間的發(fā)射的安全信道。
32、 根據(jù)權利要求31所述的方法,其中建立所述安全信道包括檢驗在所述安全 裝置與所述遠程裝置之間發(fā)射的一個或一個以上詢問或響應。
33、 根據(jù)權利要求32所述的方法,其中使用所述一個或一個以上詢問或響應來 產(chǎn)生一個或一個以上會話密鑰,所述一個或一個以上會話密鑰包含于用于保護所述安 全裝置與所述遠程裝置之間的所述通信的所述信息中。
34、 一種方法,其包括提供用于檢驗與安全裝置相關聯(lián)的用戶的信息;在本地裝置處從安全裝置接收通過所述本地裝置的本地連接發(fā)射的安全通信,其中所述本地裝置不可接入所述安全通信的內(nèi)容;及通過非安全網(wǎng)絡將所述安全通信轉(zhuǎn)發(fā)到經(jīng)配置以接入所述安全通信的所述內(nèi)容 的遠程安全裝置。
35、 根據(jù)權利要求34所述的方法,其中所述本地連接包括用以將計算機外圍設 備耦合到所述本地裝置的外圍連接。
36、 一種系統(tǒng),其包括安全信息產(chǎn)生器,其用于確定用于保護發(fā)射到遠程裝置的消息的信息; 消息產(chǎn)生器,其用于使用所述確定的信息來產(chǎn)生安全消息;及 接口,其用以與主機裝置的外圍接口通信,所述主機裝置經(jīng)配置以將所述安全消 息發(fā)射到所述遠程裝置,其中所述主機裝置不可接入所述安全消息的內(nèi)容。
37、 根據(jù)權利要求36所述的系統(tǒng),其中所述確定的信息包括會話密鑰。
38、 根據(jù)權利要求37所述的系統(tǒng),其中所述消息產(chǎn)生器使用所述會話密鑰來進 行對消息進行簽名或加密中的一者。
39、 一種系統(tǒng),其包括用于在外圍設備處產(chǎn)生用于通過非安全本地裝置發(fā)射到遠程裝置的安全通信的 構件;及用于將所述安全通信發(fā)射到所述非安全本地裝置的接口構件,其中所述非安全本 地裝置不可接入所述安全通信的內(nèi)容。
40、 一種方法,其包括產(chǎn)生用于保護安全裝置與遠程裝置之間的通信的信息;及使用外圍連接將所述產(chǎn)生的信息發(fā)射到主機裝置,所述主機裝置在使得所述產(chǎn)生 的信息不可由所述主機裝置接入的情況下耦合到所述遠程裝置。
全文摘要
本說明書的標的物可尤其體現(xiàn)于一種設備中,所述設備包含用以提供用于識別所述設備的用戶的信息的檢驗模塊;用于存儲用于保護發(fā)射到遠程裝置的通信的信息的存儲器;用于基于所述存儲的信息來產(chǎn)生安全通信的處理單元;及用以與主機裝置的外圍接口通信的接口。所述主機裝置經(jīng)配置以在不接入所述安全通信的內(nèi)容的情況下將所述安全通信發(fā)射到所述遠程裝置。
文檔編號H04L29/06GK101682628SQ200880017907
公開日2010年3月24日 申請日期2008年5月22日 優(yōu)先權日2007年5月30日
發(fā)明者斯特凡娜·迪維托 申請人:愛特梅爾公司