專利名稱:Usb令牌上的密鑰容器的制作方法
技術(shù)領(lǐng)域:
本技術(shù)領(lǐng)域一般涉及計算機處理,且更具體地涉及計算安全性。
背景
經(jīng)由密碼保護數(shù)據(jù)并非不常見。通常,使用密鑰來加密和解密數(shù)據(jù)。因為 密鑰提供保護數(shù)據(jù)的手段并提供對受保護數(shù)據(jù)的訪問,所以密鑰也被保護。不 受保護的密鑰可向各種類型的攻擊打開方便之門,如網(wǎng)站欺騙、扮演認(rèn)證和偽 造電子郵件。
保護密鑰的一種嘗試是將其存儲在智能卡上。然而,這一嘗試的問題是智 能卡需要在處理器上實現(xiàn)的、智能卡將與其通信的專用基礎(chǔ)結(jié)構(gòu)。通常,該基 礎(chǔ)結(jié)構(gòu)在處理器的操作系統(tǒng)中實現(xiàn),并且因此可能需要相當(dāng)多的努力和時間來 實現(xiàn)。同樣,智能卡需要可能是大體積而且昂貴的智能卡閱讀器形式的附加硬 件。
保護密鑰的另一嘗試是將其存儲在位于處理器上的受保護的容器內(nèi)。通 常,對密鑰的訪問是受口令保護的。這一嘗試的問題是口令保護被認(rèn)為是較弱 的。獲得對處理器的訪問的攻擊者可以通過使用口令破解器等來確定口令并獲 得對存儲在容器中的密鑰的訪問。
概述
提供本概述以便以簡化的形式介紹將在以下說明性實施例的詳細(xì)描述中 進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識出所要求保護的主題的關(guān)鍵特征 或必要特征,也不旨在用于限定所要求保護的主題的范圍。
密鑰被存儲在通用串行總線(USB)兼容存儲設(shè)備中。USB兼容存儲設(shè) 備不需要在處理器的操作系統(tǒng)中實現(xiàn)的、該USB兼容存儲設(shè)備將與其通信的 專用基礎(chǔ)結(jié)構(gòu)。USB兼容存儲設(shè)備不需要專用閱讀器。密鑰存儲從處理器內(nèi)的 容器重新定向到USB兼容存儲設(shè)備。因此,USB兼容存儲設(shè)備是用于存儲密鑰的安全令牌。在一示例實施例中,對USB兼容存儲設(shè)備上的密鑰的訪問是
經(jīng)由安全執(zhí)行環(huán)境來實現(xiàn)的。對USB兼容存儲設(shè)備上的密鑰的訪問不必需要口令。
附圖簡述
以上概述以及以下詳細(xì)描述在結(jié)合附圖閱讀時可被更好地理解。出于說明
USB令牌上的密鑰容器的目的,在附圖中示出其各示例性構(gòu)造;然而,USB
令牌上的密鑰容器不限于所公開的具體方法和手段。
圖1是用于訪問USB令牌上的密鑰容器的示例過程的流程圖。 圖2是用于實現(xiàn)USB令牌上的密鑰容器的示例性處理器的圖。 圖3是其中可以實現(xiàn)提供USB令牌上的密鑰容器的合適計算環(huán)境的描繪。
說明性實施例的詳細(xì)描述
在通用串行總線(USB)兼容存儲設(shè)備上實現(xiàn)密鑰容器。USB兼容存儲 設(shè)備被用作安全令牌。處理器的密碼子系統(tǒng)訪問(例如讀、寫、存儲、檢索) USB兼容存儲設(shè)備上的容器中的密鑰。不在處理器上實現(xiàn)訪問USB兼容存儲 設(shè)備上的密鑰的USB兼容存儲設(shè)備專用基礎(chǔ)結(jié)構(gòu)。在一示例實施例中,可以 在不需要個人識別號(PIN) 、 口令、交互式認(rèn)證機制等的情況下訪問密鑰。 USB兼容存儲設(shè)備上的密鑰容器提供便攜性,從而提供用于攜帶密鑰的方便機 制。USB兼容存儲設(shè)備上的密鑰容器經(jīng)由該設(shè)備的物理擁有來提供安全性。在 受保護的進(jìn)程中訪問和處理USB兼容存儲設(shè)備上的密鑰提供運行時安全性。
圖1是用于訪問USB令牌上的密鑰容器的示例過程的流程圖。在步驟12 處,接收訪問密鑰的指示。在一示例實施例中,該指示是在用戶和/或開發(fā)者與 其交互的處理器上接收到的。該指示可以是生成密鑰、存儲密鑰、讀取密鑰或 其組合的結(jié)果。在步驟14處,搜索USB令牌。g卩,對其上存儲有密鑰容器的 USB兼容存儲設(shè)備進(jìn)行搜索。在步驟16處,如果找到USB令牌,則在步驟 18處訪問其上存儲的容器,并且在步驟20處訪問其中存儲的一個或多個密鑰。
在步驟16處,如果沒有找到USB令牌,則在步驟22處提供提示。該提 示可以是任何適當(dāng)?shù)奶崾?,如插入USB設(shè)備的指示等。取決于用戶/開發(fā)者是偏愛利用USB兼容存儲設(shè)備上的密鑰容器還是偏愛利用處理器中存儲的密鑰 容器,用戶/開發(fā)者可用各種方式對該提示作出響應(yīng)。例如,如果用戶/開發(fā)者
偏愛利用USB兼容存儲設(shè)備上的密鑰容器,則該用戶/開發(fā)者可以插入USB兼 容存儲設(shè)備。處理器可以檢測到這一插入。另選地,用戶/開發(fā)者可以通過壓下 鍵盤上的"Enter"鍵、點擊鼠標(biāo)等來提供要利用處理器內(nèi)的密鑰容器而非USB 兼容存儲設(shè)備上的密鑰容器的指示。
在步驟24處,確定USB設(shè)備是否已被耦合到處理器。如果USB兼容存 儲設(shè)備已經(jīng)響應(yīng)于插入USB設(shè)備的提示而耦合到處理器,則在步驟18處訪問 其上存儲的容器,并在步驟20處訪問其中存儲的一個或多個密鑰。如果USB 兼容存儲設(shè)備尚未耦合到處理器,則在步驟26處訪問處理器內(nèi)的容器,并且 在步驟20處訪問其中存儲的一個或多個密鑰。
在一示例配置中,處理器經(jīng)由密碼編程接口 (例如WINDOWS 兼容密碼 應(yīng)用程序編程接口 -CAPI、 VISTA 兼容密碼下一代-CNG)與USB兼容存 儲設(shè)備通信。在接收到訪問密鑰的指示(例如步驟12)時,密碼編程接口 (例 如CAPI、 CNG)通過搜索USB兼容存儲設(shè)備的索引以尋找密鑰容器來搜索密 鑰。如果未在處理器中存儲的容器上找到作為用戶/開發(fā)者簡檔的一部分的、用 于讀取或刪除訪問的密鑰,則密碼編程接口還將搜索耦合到處理器的USB兼 容存儲設(shè)備上的路徑。
密鑰的默認(rèn)生成可以利用USB兼容存儲設(shè)備上的密鑰容器,或者密鑰的 生成可以是用戶指定的。因此,在一示例實施例中,密鑰的生成是基于注冊表 值的。注冊表值指示了密鑰應(yīng)被如何生成。因此,根據(jù)注冊表值,密碼編程接 口將只在指定USB兼容存儲設(shè)備上、只在處理器中、或在用戶/開發(fā)者指定的 位置上生成新密鑰。可以使用任何適當(dāng)?shù)闹祦碇甘久荑€生成方法。
在一示例實施例中,密鑰是在受保護的執(zhí)行環(huán)境中訪問的。受保護的執(zhí)行 環(huán)境基本上隔離處理器的密碼子系統(tǒng)。受保護的執(zhí)行環(huán)境提供密鑰和操作系統(tǒng) 之間的隔離。受保護的執(zhí)行環(huán)境還提供密鑰和在處理器上執(zhí)行的應(yīng)用程序之間 的隔離。因此,經(jīng)由受保護的執(zhí)行環(huán)境訪問密鑰通過在密鑰和惡意軟件和/或攻 擊者之間添加另一層保護來提供附加安全性。在一示例實施例中,用戶應(yīng)用程 序無權(quán)直接訪問USB令牌上的密鑰,而相反通過本地RPC (遠(yuǎn)程過程調(diào)用)向受保護的密碼進(jìn)程發(fā)送密碼請求。密碼進(jìn)程代表受保護的密碼進(jìn)程中的用戶 應(yīng)用程序訪問USB令牌,以進(jìn)行該用戶應(yīng)用程序所請求的操作(讀、生成、
使用諸如簽名生成等密碼操作等)。在受保護的密碼進(jìn)程之外,USB令牌上的
密鑰的秘密部分都不可獲得,從而通過將用戶進(jìn)程對秘密密鑰的訪問只限于受
保護的密碼進(jìn)程來隔離這些訪問。在一示例配置中,為阻止對USB令牌的非 所需的直接訪問,操作系統(tǒng)阻止用戶進(jìn)程訪問USB令牌。
圖2是用于在USB兼容存儲設(shè)備52上實現(xiàn)USB令牌上的密鑰容器的 示例性處理器30的圖。處理器30包括處理部分32、存儲器部分34和輸入 /輸出部分36。器30不包括USB兼容存儲設(shè)備52專用的基礎(chǔ)結(jié)構(gòu)。 處理部分32、存儲器部分34和輸入/輸出部分36被耦合在一起(耦合未在 圖2中示出)以允許它們之間的通信。輸入/輸出部分36能夠提供和/或接 收被用來實現(xiàn)上述USB令牌上的密鑰容器的組件。例如,輸入/輸出部分 36能夠與USB兼容存儲設(shè)備52通信。輸入/輸出部分36能夠從USB兼容 存儲設(shè)備52接收密鑰,向USB兼容存儲設(shè)備52提供密鑰,或其組合。
處理器30表示任何適當(dāng)類型的處理器或可與USB兼容存儲設(shè)備52 —起 利用的處理器。處理器30可以表示單個處理器或多個處理器。多個處理器可 以分布式或集中式地定位。處理器30可以表示一個或多個便攜式設(shè)備,如便 攜式媒體播放器(例如MP3播放器、隨身聽等便攜式音樂播放器)、便攜式 計算設(shè)備(如膝上型計算機、個人數(shù)字助理("PDA"))、便攜式電話(如蜂 窩電話之類、智能電話、視頻電話)、便攜式電子郵件設(shè)備、瘦客戶機、便攜 式游戲設(shè)備等、或其組合。
USB兼容存儲設(shè)備52表示各種類型的一個或多個USB兼容存儲設(shè)備。 例如,USB兼容存儲設(shè)備52可包括閃存設(shè)備、盤存儲設(shè)備、數(shù)據(jù)庫、或其組 合。USB兼容存儲設(shè)備可包括各種類型的功能。例如,特定USB兼容存儲設(shè) 備可以只提供只讀支持,并且不允許生成(寫)新密鑰和刪除現(xiàn)有密鑰。在這 種情況下,密碼框架將只能夠讀這些密鑰并將它們用于密碼操作中,但將不能 夠更改USB兼容存儲設(shè)備內(nèi)容的內(nèi)容。在這一場景中,這一類型的USB兼容 存儲設(shè)備可在工廠制造并且此后不可被修改。
處理部分32能夠?qū)崿F(xiàn)如上所述的USB令牌上的密鑰容器。例如,處理部分32能夠在USB兼容存儲設(shè)備52上建立容器以存儲密鑰、搜索USB 令牌、接收訪問密鑰的指示、提供提示、確定USB令牌是否耦合到處理器 30、訪問存儲在USB兼容存儲設(shè)備52上的密鑰、建立受保護的執(zhí)行環(huán)境、 維護受保護的執(zhí)行環(huán)境、或其組合。
處理器30可被實現(xiàn)為客戶機處理器和/或服務(wù)器處理器。在基本配置 中,處理器30可包括至少一個處理部分32和存儲器部分34。存儲器部分 34可以存儲結(jié)合USB令牌上的密鑰容器利用的任何信息,如密鑰和/或密 鑰的密碼散列。取決于處理器的精確配置和類型,存儲器部分34可以是易 失性的(如RAM) 38、非易失性的(如ROM、閃存等)40、或其組合。 處理器30可以具有附加特征/功能。例如,處理器30可以包括附加存儲(可 移動存儲42和/或不可移動存儲44),包括但不限于,磁盤或光盤、磁帶、 閃存、智能卡或其組合。諸如存儲器部分34、 38、 40、 42和44等計算機 存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其 它數(shù)據(jù)等信息的任意方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不 可移動介質(zhì)。計算機存儲介質(zhì)包括,但不限于,隨機存取存儲器(RAM)、 只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、閃存或 其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁 帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、通用串行總線(USB)兼容存 儲器、智能卡、或能用于存儲所需信息且可以由處理器30訪問的任何其它 介質(zhì)。任何這樣的計算機存儲介質(zhì)都可以是處理器30的一部分。
處理器30還可包含允許處理器30與其它設(shè)備進(jìn)行通信的通信連接50。 通信連接50是通信介質(zhì)的一個示例。通信介質(zhì)通常以諸如載波或其它傳輸 機制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其 它數(shù)據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"指的是其一 個或多個特征以在信號中編碼信息的方式被設(shè)定或更改的信號。作為示例 而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無 線介質(zhì),諸如聲學(xué)、RF、紅外線和其它無線介質(zhì)。如此處所使用的術(shù)語計 算機可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。處理器30還可具有諸如鍵盤、 鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等輸入設(shè)備48。也可以包括諸如顯示器、揚聲器、打印機等輸出設(shè)備46。
圖3和以下討論提供了其中可實現(xiàn)USB令牌上的密鑰容器的合適計算 環(huán)境的簡要概括描述。盡管并非必需,但USB令牌上的密鑰容器的各方面 可以在諸如程序模塊等由諸如客戶機工作站或服務(wù)器等計算機執(zhí)行的計算 機可執(zhí)行指令的一般上下文中描述。 一般而言,程序模塊包括執(zhí)行特定任 務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。此 外,游戲軟件調(diào)試器的多線程檢測的實現(xiàn)可用其它計算機系統(tǒng)配置來實施, 包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)或可編程消費電子設(shè) 備、網(wǎng)絡(luò)PC、小型機、大型計算機等。此外,游戲軟件調(diào)試器的多線程檢 測也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行的分布式 計算環(huán)境中實施。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存 儲器存儲設(shè)備中。
計算機系統(tǒng)可被大致分為三個組件組硬件組件、硬件/軟件接口系統(tǒng)
組件、以及應(yīng)用程序組件(也被稱為"用戶組件"或"軟件組件")。在
計算機系統(tǒng)的各實施例中,硬件組件可包括中央處理單元(CPU) 321;存 儲器(ROM 364和RAM 325兩者);基本輸入/輸出系統(tǒng)(BIOS) 366; 以及諸如鍵盤340、鼠標(biāo)342、監(jiān)視器347和/或打印機(未示出)等各種輸 入/輸出(I/O)設(shè)備。硬件組件包括計算機系統(tǒng)的基本物理基礎(chǔ)結(jié)構(gòu)。
應(yīng)用程序組件包括各種軟件程序,包括但不限于編譯器、數(shù)據(jù)庫系統(tǒng)、 文字處理程序、商務(wù)程序、視頻游戲等。應(yīng)用程序提供用于利用計算機資 源來解決問題、提供解決方案、及處理各種用戶(機器、其它計算機系統(tǒng) 和/或最終用戶)的數(shù)據(jù)的手段。在一示例實施例中,應(yīng)用程序執(zhí)行與上述 USB令牌上的密鑰容器相關(guān)聯(lián)的功能。
硬件/軟件接口系統(tǒng)組件包括(并且在某些實施例中只包括)操作系統(tǒng), 其本身在大多數(shù)情況下包括外殼和內(nèi)核。"操作系統(tǒng)"(OS)是擔(dān)當(dāng)應(yīng)用 程序和計算機硬件之間的中介的特殊程序。硬件/軟件接口系統(tǒng)組件還可以 包括虛擬機管理器(VMM)、公共語言運行庫(CLR)或其功能等效物、 Java虛擬機(JVM)或其功能等效物、或者作為對計算機系統(tǒng)中的操作系 統(tǒng)的替換或補充的其它這樣的軟件組件。硬件/軟件接口系統(tǒng)的目的在于提執(zhí)行應(yīng)用程序的環(huán)境。
硬件/軟件接口系統(tǒng)通常在啟動時被加載到計算機系統(tǒng)中,并且之后管 理計算機系統(tǒng)中的所有應(yīng)用程序。應(yīng)用程序通過經(jīng)由應(yīng)用程序接口 (API)
請求服務(wù)來與硬件/軟件接口系統(tǒng)交互。某些應(yīng)用程序使得最終用戶能夠經(jīng) 由諸如命令語言或圖形用戶界面(GUI)等用戶界面來與硬件/軟件接口系 統(tǒng)交互。
硬件/軟件接口系統(tǒng)傳統(tǒng)上執(zhí)行用于應(yīng)用程序的各種服務(wù)。在其中多個 程序可同時運行的多任務(wù)硬件/軟件接口系統(tǒng)中,硬件/軟件接口系統(tǒng)確定各 應(yīng)用程序應(yīng)該以何種次序運行以及在為輪換而切換至另一應(yīng)用程序之前應(yīng) 該允許每一個應(yīng)用程序多長時間。硬件/軟件接口系統(tǒng)還管理多個應(yīng)用程序 之間的內(nèi)部存儲器的共享,并且處理來自諸如硬盤、打印機和撥號端口等 附連硬件設(shè)備的輸入以及對其的輸出。硬件/軟件接口系統(tǒng)還將關(guān)于操作的 狀態(tài)和可能已發(fā)生的任何錯誤的消息發(fā)送給每一個應(yīng)用程序(并且在某些 情況下發(fā)送給最終用戶)。硬件/軟件接口系統(tǒng)還可卸載批作業(yè)(例如,打 印)的管理以使得啟動應(yīng)用程序免除該工作并能夠繼續(xù)執(zhí)行其它處理和/或 操作。在能提供并行處理的計算機上,硬件/軟件接口系統(tǒng)還管理劃分程序 以使其同時在多于一個的處理器上運行。
硬件/軟件接口系統(tǒng)外殼(被稱為"外殼")是對硬件/軟件接口系統(tǒng)的 交互式最終用戶接口。(外殼也稱為"命令解釋程序",或在操作系統(tǒng)中 被稱為"操作系統(tǒng)外殼")。外殼是可直接由應(yīng)用程序和/或最終用戶訪問 的硬件/軟件接口系統(tǒng)的外層。與外殼相反,內(nèi)核是直接與硬件組件交互的 硬件/軟件接口系統(tǒng)的最內(nèi)層。
如圖3所示,示例性通用計算系統(tǒng)包括常規(guī)計算設(shè)備360等,其包括 處理單元321、系統(tǒng)存儲器362和將包括系統(tǒng)存儲器的各種系統(tǒng)組件耦合到 處理單元321的系統(tǒng)總線323。系統(tǒng)總線323可以是幾種類型的總線結(jié)構(gòu)中 的任何一種,包括存儲器總線或存儲控制器、外圍總線、以及使用各種總 線體系結(jié)構(gòu)中的任一種的局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM) 364和隨機存取存儲器(RAM) 325?;据斎?輸出系統(tǒng)(BIOS) 366被存 儲在ROM 364中,它包含幫助在諸如啟動期間在計算設(shè)備360內(nèi)的元件之間傳遞信息的基本例程。計算設(shè)備360還可包括對硬盤(硬盤未示出)讀
寫的硬盤驅(qū)動器327、對可移動磁盤329 (例如,軟盤、移動存儲)讀寫的 磁盤驅(qū)動器328 (例如,軟盤驅(qū)動器)、以及對諸如CD-ROM或其它光學(xué) 介質(zhì)等可移動光盤331讀寫的光盤驅(qū)動器330。硬盤驅(qū)動器327、磁盤驅(qū)動 器328和光盤驅(qū)動器330分別通過硬盤驅(qū)動器接口 332、磁盤驅(qū)動器接口 333和光盤驅(qū)動器接口 334來連接到系統(tǒng)總線323。驅(qū)動器及其相關(guān)聯(lián)的計 算機可讀介質(zhì)為計算設(shè)備360提供了對計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序 模塊和其它數(shù)據(jù)的非易失性存儲。雖然此處所描述的示例性環(huán)境采用了硬
盤、可移動磁盤329和可移動光盤331,但本領(lǐng)域的技術(shù)人員可以理解,在 示例性操作環(huán)境中也可以使用可儲存可由計算機訪問的數(shù)據(jù)的其它類型的 計算機可讀介質(zhì),如磁帶盒、閃存卡、數(shù)字視頻盤、貝努利盒式磁帶、隨 機存取存儲器(RAM)、只讀存儲器(ROM)等等。同樣,示例性環(huán)境還 可包括諸如熱傳感器和安全或火警系統(tǒng)等許多類型的監(jiān)控設(shè)備,以及其它 信息源。
多個程序模塊可被存儲在硬盤、磁盤329、光盤331、 ROM 364或RAM 325中,包括操作系統(tǒng)335、 一個或多個應(yīng)用程序336、其它程序模塊337 和程序數(shù)據(jù)338。用戶可通過諸如鍵盤340和定點設(shè)備342 (例如,鼠標(biāo)) 等輸入設(shè)備將命令和信息輸入到計算設(shè)備360中。其它輸入設(shè)備(未示出) 可以包括話筒、操縱桿、游戲鍵盤、圓盤式衛(wèi)星天線、掃描儀等。這些和 其它輸入設(shè)備通常由耦合至系統(tǒng)總線的串行端口接口 346連接至處理單元 321,但也可以由其它接口,諸如并行端口、游戲端口或通用串行總線(USB) 連接。監(jiān)視器347或其它類型的顯示設(shè)備也經(jīng)由接口,諸如視頻適配器348 連接至系統(tǒng)總線323。除監(jiān)視器347之外,計算機通常包括其它外圍輸出設(shè) 備(未示出),諸如揚聲器或打印機等。圖3的示例性環(huán)境還包括主機適 配器355、小型計算機系統(tǒng)接口 (SCSI)總線356和連接到SCSI總線356 的外部存儲設(shè)備362。
計算設(shè)備360可使用至諸如遠(yuǎn)程計算機349等一個或多個遠(yuǎn)程計算機 的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機349可以是另一計算設(shè)備(例 如,個人計算機)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點,且通常包括上文相對于計算設(shè)備360描述的許多或所有元件,盡
管在圖3中只示出了存儲器存儲設(shè)備350 (軟盤驅(qū)動器)。圖3所描繪的邏 輯連接包括局域網(wǎng)(LAN) 351和廣域網(wǎng)(WAN) 352。這樣的網(wǎng)絡(luò)環(huán)境常 見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算設(shè)備360通過網(wǎng)絡(luò)接口或適配器 353連接至LAN 351。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算設(shè)備360可包括 調(diào)制解調(diào)器354或用于通過諸如因特網(wǎng)等廣域網(wǎng)352來建立通信的其它裝 置?;驗閮?nèi)置或為外置的調(diào)制解調(diào)器354經(jīng)由串行端口接口 346連接到系 統(tǒng)總線323。在網(wǎng)絡(luò)化環(huán)境中,相對于計算設(shè)備360描繪的程序模塊或其部 分可被儲存在遠(yuǎn)程存儲器存儲設(shè)備中??梢岳斫?,所示的網(wǎng)絡(luò)連接是示例 性的,且可以使用在計算機之間建立通信鏈路的其它手段。
雖然可以想象USB令牌上的密鑰容器的眾多實施例尤其適用于計算機 化的系統(tǒng),但本文并不旨在將本發(fā)明限于這些實施例。相反,此處所使用 的術(shù)語"計算機系統(tǒng)"旨在包括能夠存儲和處理信息和/或能夠使用所存儲 的信息來控制設(shè)備本身的行為或執(zhí)行的任何及所有設(shè)備,而不管那些設(shè)備 本質(zhì)上是否為電子的、機械的、邏輯的、或虛擬的。
此處所述的各種技術(shù)可結(jié)合硬件或軟件,或在適當(dāng)時以其組合來實現(xiàn)。 由此,用于實現(xiàn)USB令牌上的密鑰容器的方法和裝置或其某些方面或部分 可采取包含在諸如軟盤、CD-ROM、硬盤驅(qū)動器或任何其它機器可讀存儲 介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式,其中當(dāng)程序代碼被加
載到諸如計算機等機器內(nèi)并由其執(zhí)行時,該機器成為用于實現(xiàn)USB令牌上 的密鑰容器的裝置。
如果需要,程序可以用匯編語言或機器語言來實現(xiàn)。在任何情況下, 語言可以是編譯的或解釋的語言,且與硬件實現(xiàn)相結(jié)合。用于實現(xiàn)USB令 牌上的密鑰容器的方法和裝置也可以經(jīng)由以通過某種傳輸介質(zhì)傳輸?shù)某绦?代碼的形式體現(xiàn)的通信來實現(xiàn),傳輸介質(zhì)比如通過電線或電纜、通過光纖 或經(jīng)由任何其它傳輸形式,其中,當(dāng)程序代碼由諸如EPROM、門陣列、可 編程邏輯器件(PLD)、客戶計算機等機器接收、加載并執(zhí)行時。當(dāng)在通 用處理器上實現(xiàn)時,程序代碼與處理器相結(jié)合來提供一種用于調(diào)用USB令牌上的密鑰容器的功能的獨特裝置。另外,結(jié)合USB令牌上的密鑰容器所 使用的任何存儲技術(shù)總是可以是硬件和軟件的組合。
盡管已結(jié)合各個附圖的各示例實施例對USB令牌上的密鑰容器進(jìn)行了
描述,但是可以理解,可以使用其它類似的實施例,或可以對所述實施例
進(jìn)行修改或添加,來實現(xiàn)USB令牌上的密鑰容器的相同功能而不背離本發(fā) 明。因此,此處所描述的USB令牌上的密鑰容器不應(yīng)限于任何單個實施例, 而是應(yīng)該根據(jù)所附權(quán)利要求書的廣度和范圍來解釋。
權(quán)利要求
1.一種用于訪問密鑰的方法,所述方法包括處理器接收訪問密鑰的指示;搜索通用串行總線(USB)兼容存儲設(shè)備;以及如果找到USB兼容存儲設(shè)備,則訪問所述USB兼容存儲設(shè)備上的密鑰,其中訪問包括存儲和檢索中的至少一個。
2. 如權(quán)利要求l所述的方法,其特征在于,還包括如果未找到USB兼容存儲設(shè)備,則訪問所述處理器的存儲器中的密鑰。
3. 如權(quán)利要求l所述的方法,其特征在于,還包括 如果未找到USB兼容存儲設(shè)備,貝IJ:呈現(xiàn)提供USB兼容存儲設(shè)備的提示; 確定是否提供了 USB兼容存儲;如果已經(jīng)提供了 USB兼容存儲,則訪問所提供的USB兼容存儲設(shè)備上 的密鑰;以及如果未提供USB兼容存儲設(shè)備,則訪問所述處理器的存儲器中的密鑰。
4. 如權(quán)利要求1所述的方法,其特征在于,所述密鑰是隔離在所述處 理器的受保護的執(zhí)行環(huán)境中的。
5. 如權(quán)利要求1所述的方法,其特征在于,所述USB兼容存儲設(shè)備包 括便攜式設(shè)備。
6. 如權(quán)利要求1所述的方法,其特征在于,不在所述處理器上實現(xiàn)所 述USB兼容存儲設(shè)備專用的基礎(chǔ)結(jié)構(gòu)。
7. 如權(quán)利要求1所述的方法,其特征在于,所述密鑰是經(jīng)由密碼編程 接口訪問的。
8. —種用于實現(xiàn)通用串行總線(USB)兼容存儲設(shè)備上的密鑰的系統(tǒng), 所述系統(tǒng)包括輸入/輸出部分,所述輸入/輸出部分被配置成接收訪問密鑰的指示;以及 處理部分,所述處理部分被配置成搜索并索引所述USB兼容存儲設(shè)備的指示;以及如果找到所述USB兼容存儲設(shè)備的指示,則經(jīng)由密碼編程接口訪問所述USB兼容存儲設(shè)備上的密鑰,其中訪問包括存儲和檢索中的至少一個。
9. 如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括存儲器部分,其中 如果未找到所述USB兼容存儲設(shè)備的指示,則經(jīng)由所述密碼編程接口訪問所述存儲器部分中的密鑰。
10. 如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括存儲器部分,所述 處理部分還被配置成如果未找到所述USB兼容存儲設(shè)備的指示,貝IJ: 呈現(xiàn)提供USB兼容存儲設(shè)備的提示; 確定是否提供了 USB兼容存儲;如果已經(jīng)提供了 USB兼容存儲,則經(jīng)由所述密碼編程接口訪問所提供的USB兼容存儲設(shè)備上的密鑰;以及如果未提供USB兼容存儲設(shè)備,則經(jīng)由所述密碼編程接口訪問所述存儲器部分中的密鑰。
11. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述密鑰是隔離在所述系統(tǒng)的受保護的執(zhí)行環(huán)境中的。
12. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述USB兼容存儲設(shè)備 包括便攜式設(shè)備。
13. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)不包括所述USB 兼容存儲設(shè)備專用的基礎(chǔ)結(jié)構(gòu)。
14. 一種其上存儲有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令用 于通過執(zhí)行以下步驟來訪問通用串行總線(USB)兼容存儲設(shè)備上的密鑰處理器接收訪問密鑰的指示; 搜索USB兼容存儲設(shè)備;以及如果找到USB兼容存儲設(shè)備,則訪問所述USB兼容存儲設(shè)備上的密鑰, 其中訪問包括存儲和檢索中的至少一個。
15. 如權(quán)利要求13所述的計算機可讀介質(zhì),其特征在于,所述計算機 可執(zhí)行指令還用于經(jīng)由密碼編程接口訪問所述密鑰。
16. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,所述計算機 可執(zhí)行指令還用于如果未找到USB兼容存儲設(shè)備,則訪問所述處理器的存儲器中的密鑰。
17. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,所述計算機可執(zhí)行指令還用于如果未找到USB兼容存儲設(shè)備,貝U: 呈現(xiàn)提供USB兼容存儲設(shè)備的提示; 確定是否提供了 USB兼容存儲;如果已經(jīng)提供了 USB兼容存儲,則訪問所提供的USB兼容存儲設(shè)備上 的密鑰;以及如果未提供USB兼容存儲設(shè)備,則訪問所述處理器的存儲器中的密鑰。
18. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,所述密鑰是 隔離在所述處理器的受保護的執(zhí)行環(huán)境中的。
19. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,所述USB兼 容存儲設(shè)備包括便攜式設(shè)備。
20. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,不在所述處 理器上實現(xiàn)所述USB兼容存儲設(shè)備專用的基礎(chǔ)結(jié)構(gòu)。
全文摘要
通用串行總線(USB)兼容存儲設(shè)備被用作用于存儲密鑰的安全令牌。處理器的密碼子系統(tǒng)訪問USB兼容存儲設(shè)備上的容器中的密鑰。訪問包括存儲和/或檢索。處理器不包括USB兼容存儲設(shè)備專用的基礎(chǔ)結(jié)構(gòu)。密鑰存儲從處理器內(nèi)的容器重新定向到USB兼容存儲設(shè)備。不需要口令或PIN來訪問密鑰,而仍然提供增強的安全性。利用USB兼容存儲設(shè)備作為密鑰容器提供用于攜帶密鑰的方便的、便攜的機制,并且經(jīng)由該設(shè)備的物理擁有來提供附加安全性。
文檔編號G06F21/00GK101589397SQ200780050523
公開日2009年11月25日 申請日期2007年12月21日 優(yōu)先權(quán)日2007年1月26日
發(fā)明者C·M·埃利森, T·阿卡 申請人:微軟公司