專利名稱:事務(wù)性密封存儲的制作方法
事務(wù)性密封存儲站旦 H爾事務(wù)性存儲系統(tǒng)通常至少部分地提供多個(gè)期望事務(wù)性屬性,諸如常常使用縮寫"ACID"描述的原子性、 一致性、絕緣性和持久性。具體地,原子性指 執(zhí)行一事務(wù)使得或者該事務(wù)內(nèi)的所有變化都被提交、或者該事務(wù)內(nèi)的變化都不 被提交。該事務(wù)被視為是"原子的",因?yàn)樵撌聞?wù)內(nèi)的改變被視為是整體的并 且不能分成更小的子集。 一致性指在事務(wù)開始時(shí)和事務(wù)完成時(shí)存儲系統(tǒng)都處于 合法狀態(tài)。這表示事務(wù)不能破壞存儲系統(tǒng)的規(guī)則,這可被稱為完整性約束。例 如,如果存儲系統(tǒng)具有同一目錄中的任意兩個(gè)文件必須具有不同名稱的規(guī)則, 則導(dǎo)致同一目錄內(nèi)有具有相同名稱的兩個(gè)文件的任意事務(wù)將被丟棄。絕緣性指確保嘗試并發(fā)地修改存儲系統(tǒng)狀態(tài)的多個(gè)程序不干擾彼此的能 力。理想地,即使實(shí)現(xiàn)可并行地執(zhí)行多個(gè)修改,存儲系統(tǒng)也像這些修改是以某 順序進(jìn)行一樣動(dòng)作。持久性指一旦事務(wù)被成功提交事務(wù)就將持久且不會(huì)被取消 的保證。例如,這表示已提交事務(wù)將在系統(tǒng)故障時(shí)幸存,并且已提交事務(wù)將滿 足存儲系統(tǒng)的完整性約束。為了說明具體地為原子性屬性的事務(wù)性屬性的某些優(yōu)點(diǎn),考慮使各種財(cái)務(wù) 事務(wù)能從個(gè)人計(jì)算機(jī)執(zhí)行的在線銀行應(yīng)用程序。該應(yīng)用程序?qū)研畔Υ嬖诒?地盤上,諸如銀行帳戶的當(dāng)前狀態(tài)、帳戶上的過往交易記錄、以及歷史股價(jià)信 息。假設(shè)應(yīng)用程序正在處理股票購買,并且該應(yīng)用程序已用記入借方的款項(xiàng)更 新了銀行帳戶以支付新購買的股票。還假設(shè),就在用新購買的股票更新證券組 合之前,個(gè)人計(jì)算機(jī)曾掉電。在一非事務(wù)性存儲系統(tǒng)中,在供電恢復(fù)后,所儲 存的數(shù)據(jù)將示出股票支付,但在證券組合中并沒有股票。顯然,這種情形會(huì)導(dǎo) 致相當(dāng)大的混亂和問題。大多數(shù)這種應(yīng)用程序?qū)⒖赡茉谧烂娴脑S多不同地方更 新信息,并且找出對磁盤的更新會(huì)失敗的所有可能途徑可能會(huì)是相當(dāng)費(fèi)時(shí)和費(fèi) 力的。因而,對每種情形編寫專用的恢復(fù)代碼并不可行。事務(wù)性存儲系統(tǒng)以一 種系統(tǒng)方法來解決這些問題。或者執(zhí)行所有更新,或者不執(zhí)行任何更新。在這 兩種情形中,存儲系統(tǒng)中的信息都保持一致。一些存儲系統(tǒng)僅僅對它們所儲存數(shù)據(jù)的一部分是事務(wù)性的。例如,廣泛使用來自華盛頓州雷蒙德市微軟公司的新技術(shù)文件系統(tǒng)(NTFS)是一種這樣的 部分事務(wù)性文件系統(tǒng)。NTFS對文件元數(shù)據(jù)是事務(wù)性的,但對文件內(nèi)的數(shù)據(jù)不 提供完全的事務(wù)性保證。這些部分事務(wù)性存儲系統(tǒng)向所儲存數(shù)據(jù)的事務(wù)性屬性 的益處對其最為有利的那些部分提供事務(wù)性屬性,而不使所儲存數(shù)據(jù)的全部承 受與事務(wù)性系統(tǒng)相關(guān)聯(lián)的管理復(fù)雜性的負(fù)擔(dān)。密封存儲系統(tǒng)是一種不同的最近引入的存儲系統(tǒng),它提供與事務(wù)性存儲系 統(tǒng)不同的益處。密封存儲系統(tǒng)將對底層數(shù)據(jù)的訪問限制于一組一個(gè)或多個(gè)安全 應(yīng)用程序。以這種方式限制對數(shù)據(jù)的訪問可以例如對抗病毒、木馬程序、或其 它可能嘗試改變和/或破壞所儲存數(shù)據(jù)的惡意程序。密封存儲系統(tǒng)還可通過幫助 保持所儲存數(shù)據(jù)的機(jī)密性來保護(hù)其用戶的隱私。在財(cái)務(wù)數(shù)據(jù)的以上示例中,銀 行應(yīng)用程序可以是被允許讀取或修改所儲存數(shù)據(jù)的唯一安全應(yīng)用程序。例如, 這可防止惡意用戶向要支付帳單列表添加一假造帳單、以其它方式以未獲授權(quán) 方式支取帳戶、或閱讀機(jī)密的財(cái)務(wù)事務(wù)。概述以下將描述事務(wù)性密封存儲系統(tǒng)。事務(wù)性密封存儲系統(tǒng)使數(shù)據(jù)能根據(jù)事務(wù) 性屬性來訪問,并且還使對數(shù)據(jù)的訪問被限制于安全應(yīng)用程序。根據(jù)其可訪問 數(shù)據(jù)的事務(wù)性屬性可包括例如至少某一程度的原子性、 一致性、絕緣性和持久 性。對數(shù)據(jù)的訪問可通過例如采用包括加密數(shù)據(jù)、并且還認(rèn)證請求訪問經(jīng)加密 數(shù)據(jù)的任何應(yīng)用程序的雙層安全策略來限制。事務(wù)性密封存儲系統(tǒng)可以是部分 事務(wù)性的,即只有一部分的底層密封數(shù)據(jù)是根據(jù)事務(wù)性屬性來訪問的。事務(wù)性 密封存儲系統(tǒng)還可以是部分密封的,即只有對一部分底層事務(wù)性數(shù)據(jù)的訪問被 限制于安全應(yīng)用程序。提供本概述是為了用簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述 的一些概念。本概述并不旨在確定所要求保護(hù)的主題的關(guān)鍵特征或必要特 征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。附圖簡述各個(gè)例示實(shí)施例在參照附圖閱讀以下詳細(xì)描述之后將得到更佳的理解,在 附圖中
圖1示出一種示例性事務(wù)性密封存儲系統(tǒng),其中密封存儲系統(tǒng)之上有事務(wù) 性存儲系統(tǒng);圖2示出一示例性分區(qū)的密封數(shù)據(jù)集合;圖3示出使用一安全操作系統(tǒng)實(shí)現(xiàn)的一示例性事務(wù)性密封存儲系統(tǒng); 圖4示出一示例性分層安全模型;圖5示出一種示例性事務(wù)性密封存儲系統(tǒng),其中事務(wù)性存儲系統(tǒng)之上有密 封存儲系統(tǒng);圖6是用于管理對事務(wù)性密封數(shù)據(jù)的訪問的一種示例性方法的流程圖;圖7是示出一示例性計(jì)算設(shè)備的框圖。
具體實(shí)施方式
事務(wù)性密封存儲系統(tǒng)可使用多種不同配置來實(shí)現(xiàn)。一種這樣的配置包括在 密封存儲系統(tǒng)的頂部構(gòu)建一事務(wù)性存儲系統(tǒng)。該配置的一個(gè)示例在圖1中示出。如圖所示,該配置包括帶有事務(wù)性部分109的密封數(shù)據(jù)集合101。事務(wù)性部分 109可構(gòu)成密封數(shù)據(jù)集合101的全部或不到全部。密封數(shù)據(jù)管理器104管理對密封數(shù)據(jù)集合101的訪問,使得密封數(shù)據(jù)集合 101僅對一組安全應(yīng)用程序是可訪問的。該組安全應(yīng)用程序包括至少一個(gè)應(yīng)用 程序。因而,盡管在圖1中僅示出一個(gè)安全應(yīng)用程序,但可以有一個(gè)以上的安 全應(yīng)用程序可以訪問密封數(shù)據(jù)集合。密封數(shù)據(jù)管理器104可在操作系統(tǒng)中運(yùn)行, 或者它可在其中或自己構(gòu)建一個(gè)獨(dú)立的稱為"安全操作系統(tǒng)"的操作系統(tǒng)。密封數(shù)據(jù)管理器104可通過例如采用包括加密密封數(shù)據(jù)集合101、并且還 認(rèn)證請求訪問經(jīng)加密數(shù)據(jù)的任何應(yīng)用程序的雙層安全策略,來管理對密封數(shù)據(jù) 集合101的訪問。具體地,密封數(shù)據(jù)管理器104可持有能用來解密加密密封數(shù) 據(jù)集合的密碼解密密鑰。在使該密鑰對請求訪問密封數(shù)據(jù)集合101的應(yīng)用程序 可用之前,密封數(shù)據(jù)管理器104可要求驗(yàn)證請求應(yīng)用程序的身份。如果請求應(yīng) 用程序的身份不能得到驗(yàn)證,則可拒絕它訪問密封數(shù)據(jù)集合101的請求。密封數(shù)據(jù)集合101可以是比如本地盤或數(shù)據(jù)庫的數(shù)據(jù)的任意集合。密封數(shù)據(jù)集合101可以僅僅是它存儲其中的更大底層數(shù)據(jù)集合的一部分。例如,密封 數(shù)據(jù)集合101可以僅僅是本地盤的一部分或數(shù)據(jù)庫的一部分,其它部分對其它 非安全應(yīng)用程序可用。事務(wù)性部分109是根據(jù)事務(wù)性屬性可訪問的密封數(shù)據(jù)集合101的一部分。 這種事務(wù)性屬性可包括例如至少某一程度的原子性、 一致性、絕緣性和持久性。 事務(wù)性部分109可例如包括密封數(shù)據(jù)集合101的根據(jù)事務(wù)性屬性訪問數(shù)據(jù)將最 為有利的各個(gè)部分?;蛘?,事務(wù)性部分109可例如包括密封數(shù)據(jù)集合101的根 據(jù)事務(wù)性屬性訪問數(shù)據(jù)最為有效和/或最為成本-效果合算的各個(gè)部分。事務(wù)性 部分109可包括密封數(shù)據(jù)集合101內(nèi)數(shù)據(jù)組織的任何單元。例如,如果密封數(shù) 據(jù)集合101是一關(guān)系數(shù)據(jù)庫,則事務(wù)性部分109可包括組織的的單元,諸如完 整的表格或表格的特定行或列。事務(wù)性數(shù)據(jù)管理器102根據(jù)事務(wù)性屬性管理對事務(wù)性部分109的訪問。事 務(wù)性數(shù)據(jù)管理器102可以是例如事務(wù)性數(shù)據(jù)管理系統(tǒng)(DBMS)。 一種這樣的 事務(wù)性DBMS是來自華盛頓州雷蒙德市微軟公司的SQL Server。事務(wù)性部分109內(nèi)的數(shù)據(jù)享有高效、安全、私密、以及與事務(wù)性存儲和密 封存儲相關(guān)聯(lián)的其它期望益處。為說明這些益處,考慮這樣的情形事務(wù)性部 分109為財(cái)務(wù)數(shù)據(jù),且安全應(yīng)用程序103是先前描述的可訪問和處理財(cái)務(wù)數(shù)據(jù) 的財(cái)務(wù)應(yīng)用程序。在該情形中,事務(wù)性部分109中的財(cái)務(wù)數(shù)據(jù)可享有事務(wù)性益 處,比如對抗前述情形的保護(hù)財(cái)務(wù)帳戶被支取以支付新購買的股票,但在新 購買的股票被記錄到證券組合中之前發(fā)生掉電。此外,事務(wù)性部分109中的財(cái) 務(wù)數(shù)據(jù)可享有比如機(jī)密性、私密和對抗嘗試閱讀財(cái)務(wù)數(shù)據(jù)的未獲授權(quán)方的保護(hù)的安全性益處。此外,財(cái)務(wù)數(shù)據(jù)受到保護(hù)以對抗病毒、木馬程序、或其它可通 過例如為不存在的事物或以未獲授權(quán)方式支取帳戶來改變財(cái)務(wù)數(shù)據(jù)的其它惡 意用戶。諸如圖1中示出的密封配置之上的事務(wù)性配置比其它配置是更為優(yōu)選的, 因?yàn)槌嗽谑聞?wù)性密封存儲系統(tǒng)中密封實(shí)際數(shù)據(jù)之外,它還具有密封有關(guān)那些 訪問實(shí)際數(shù)據(jù)的應(yīng)用程序的管理數(shù)據(jù)的優(yōu)點(diǎn)。這種管理數(shù)據(jù)的密封可以是有利 的,因?yàn)槔缢杀3钟嘘P(guān)安全應(yīng)用程序103的過往行為的信息的機(jī)密性。密封數(shù)據(jù)集合101可被分區(qū),使得只有特定的安全應(yīng)用程序才能訪問該集合中的各個(gè)分區(qū)。圖2中示出一示例性分區(qū)密封數(shù)據(jù)集合。如圖所示,安全應(yīng)用程序103z具有對分區(qū)101a的訪問權(quán),安全應(yīng)用程序103y和103x具有對分 區(qū)101b的訪問權(quán),而安全應(yīng)用程序103w具有對分區(qū)101c的訪問權(quán)。每個(gè)分 區(qū)101a-c都具有相應(yīng)的事務(wù)性部分109a-c。事務(wù)性部分109a-c可包括其相應(yīng) 分區(qū)101a-c的全部或不到全部。密封數(shù)據(jù)管理器104可持有針對分區(qū)部分 101a-c的每一個(gè)的一組相對應(yīng)獨(dú)立的解密密鑰,從而使得只有特定的安全應(yīng)用 程序能訪問其相應(yīng)的密封分區(qū)101a-c。盡管未在圖2中示出,但單個(gè)安全應(yīng)用 程序可具有對一個(gè)以上分區(qū)的訪問權(quán)。如上所述,密封數(shù)據(jù)管理器104本身可構(gòu)成一安全操作系統(tǒng)。在特定實(shí)例 中,單個(gè)主存計(jì)算設(shè)備可被配置成多個(gè)"虛擬"操作系統(tǒng)可同時(shí)在單個(gè)主機(jī)上 運(yùn)行。這些虛擬操作系統(tǒng)之一可以是安全虛擬操作系統(tǒng)。使用該安全虛擬操作 系統(tǒng)實(shí)現(xiàn)的一示例性事務(wù)性安全存儲系統(tǒng)在圖3中示出。如圖所示,圖3的系 統(tǒng)包括管理程序212,它是用于管理單個(gè)主存計(jì)算設(shè)備210上的多個(gè)虛擬操作 系統(tǒng)211a-c的眾所周知的軟件組件。安全虛擬操作系統(tǒng)21 la是為安全應(yīng)用程 序103提供安全環(huán)境的虛擬操作系統(tǒng)(并且如果有其它安全應(yīng)用程序存在于安 全操作系統(tǒng)211a中可能是其它安全應(yīng)用程序)。為了提供這個(gè)安全環(huán)境,安 全虛擬操作系統(tǒng)211a將對密封數(shù)據(jù)集合101的訪問限制于僅僅安全應(yīng)用程序 103。虛擬操作系統(tǒng)211b和21 lc是在在主機(jī)210上運(yùn)行的其它虛擬操作系統(tǒng)。 主機(jī)210可以包括多個(gè)虛擬操作系統(tǒng)并且可以包括多于一個(gè)安全虛擬操作系 統(tǒng)。密封數(shù)據(jù)集合101是磁盤220的一部分。正與圖1中一樣,密封數(shù)據(jù)集合 101包括根據(jù)事務(wù)性屬性可訪問的事務(wù)性部分109。事務(wù)性數(shù)據(jù)管理器102根 據(jù)事務(wù)性屬性管理對事務(wù)性部分109的訪問。密封數(shù)據(jù)集合101可被稱為"虛 擬盤",因?yàn)樗谴疟P220的其訪問受安全虛擬操作系統(tǒng)211a管理的一部分。 對磁盤220的其它部分的訪問可由其它虛擬操作系統(tǒng)211a和211b管理。在圖 3中,磁盤220被示為整個(gè)地包含在主機(jī)210內(nèi)的本地盤。這種整個(gè)包含的本 地盤可以是例如本地硬盤。然而,磁盤220并非必需包含在主機(jī)210內(nèi)。虛擬 操作系統(tǒng)211a-c具有對外部盤的訪問權(quán)是可能的。此外,盡管事務(wù)性數(shù)據(jù)管理 器102也被示為包含在主機(jī)210內(nèi),但事務(wù)性數(shù)據(jù)管理器102仍然可以在主機(jī)210外部。
圖3的系統(tǒng)可根據(jù)分層安全模型來實(shí)現(xiàn)。 一示例性分層安全模型在圖4 中示出。在該模型的頂層是頂層密鑰發(fā)布器400。頂層密鑰發(fā)布器400可以是 例如受信任平臺模塊(TPM)。 一般而言,頂層密鑰發(fā)布器400向第二層應(yīng)用 程序212a-c (其中之一為管理程序212a)發(fā)布密鑰集401a-c。具體地,密鑰集 401a被發(fā)布給管理程序212a,密鑰集401b被發(fā)布給第二層應(yīng)用程序212b,而 密鑰集401c被發(fā)布給第二層應(yīng)用程序212c。如可以理解地,盡管在圖3中僅 示出三個(gè)第二層應(yīng)用程序212a-c,但可存在任意數(shù)量的第二層應(yīng)用程序。三個(gè) 密鑰集401a-c的每一個(gè)都是針對其相應(yīng)第二層應(yīng)用程序212a-c的唯一和安全 的密鑰集。
管理程序212又向主機(jī)210上的三個(gè)虛擬操作系統(tǒng)211a-c的每一個(gè)提供 密鑰集。管理程序212然后發(fā)布三個(gè)獨(dú)立和唯一的密鑰401aa-401ac。盡管未 在圖3中示出,但其它第二層應(yīng)用程序212b和212c可發(fā)布其它密鑰。安全虛 擬操作系統(tǒng)21 la又發(fā)布三個(gè)獨(dú)立和唯一的密鑰401aaa-401aac。密鑰401aaa用 來加密圖2的分區(qū)101a,密鑰401aab用來加密圖2的分區(qū)101b,以及密鑰401aac 用來加密圖2的分區(qū)101c。如果安全應(yīng)用程序103z請求訪問分區(qū)101a,則安 全操作系統(tǒng)211a可在認(rèn)證安全應(yīng)用程序103z之后向安全應(yīng)用程序103z提供 密鑰401aaa以解密分區(qū)101a。如果安全應(yīng)用程序103y或103x請求訪問分區(qū) 101b,則安全操作系統(tǒng)211a可在認(rèn)證安全應(yīng)用程序103x或103y之后向安全 應(yīng)用程序103x或103y提供密鑰401aab以解密分區(qū)101b。如果安全應(yīng)用程序 103w請求訪問分區(qū)101c,則安全操作系統(tǒng)211a可在認(rèn)證安全應(yīng)用程序103w 之后向安全應(yīng)用程序103w提供密鑰401aac以解密分區(qū)101c。
除了在密封存儲系統(tǒng)之上配置事務(wù)性存儲系統(tǒng)之外,密封存儲系統(tǒng)也可被 配置在事務(wù)性存儲系統(tǒng)之上。該配置的一個(gè)示例在圖5中示出。圖5的系統(tǒng)包 括帶有密封部分108的事務(wù)性數(shù)據(jù)集合105。密封部分108可構(gòu)成密封數(shù)據(jù)集 合105的全部或密封數(shù)據(jù)集合105的不到全部。
事務(wù)性數(shù)據(jù)集合105可以是比如本地盤或數(shù)據(jù)庫的數(shù)據(jù)的任意集合。事務(wù) 性數(shù)據(jù)集合105可以僅僅是它存儲其中的更大底層數(shù)據(jù)集合的一部分。例如, 事務(wù)性數(shù)據(jù)集合105可以僅僅是本地盤的一部分或數(shù)據(jù)庫的一部分,其它部分包括非事務(wù)性數(shù)據(jù)。
密封部分108是事務(wù)性數(shù)據(jù)集合105的僅對相應(yīng)的一組諸如安全應(yīng)用程序 103的一個(gè)或多個(gè)安全應(yīng)用程序可訪問的一部分。密封部分108可以例如包括 事務(wù)性數(shù)據(jù)集合105的最高私密和機(jī)密部分,限制對其的訪問將是最為有益的 并且如果其數(shù)據(jù)被未獲授權(quán)方訪問和/或破壞則將導(dǎo)致最大風(fēng)險(xiǎn)。密封部分108 可包括事務(wù)性數(shù)據(jù)集合105內(nèi)數(shù)據(jù)組織的任何單元。例如,如果事務(wù)性數(shù)據(jù)集 合105是一關(guān)系數(shù)據(jù)庫,則密封部分128可包括組織的諸如完整表格或表格的 特定行或列的單元。正像圖1的事務(wù)性部分109—樣,密封部分108內(nèi)的數(shù)據(jù) 享有高效、安全、私密、以及與事務(wù)性存儲和密封存儲相關(guān)聯(lián)的其它期望益處。
除了在密封存儲系統(tǒng)之上構(gòu)建事務(wù)性存儲系統(tǒng)(反之亦然)之外,事務(wù)性 密封存儲系統(tǒng)還可例如使用"統(tǒng)一"配置來實(shí)現(xiàn)。該統(tǒng)一配置可例如使用管理 該存儲系統(tǒng)的事務(wù)性方面和密封方面的單個(gè)統(tǒng)一數(shù)據(jù)管理器來實(shí)現(xiàn)。
圖6中示出用于管理對事務(wù)性密封數(shù)據(jù)的訪問的一示例性方法的流程圖。 在動(dòng)作600,密封數(shù)據(jù)管理器104接收來自請求應(yīng)用程序的訪問事務(wù)性密封數(shù) 據(jù)的請求。在動(dòng)作602,密封數(shù)據(jù)管理器104確定請求實(shí)體是否是一安全應(yīng)用 程序。如果請求應(yīng)用程序不是安全應(yīng)用程序,則在動(dòng)作606其請求將被拒絕。 請求應(yīng)用程序是否是一安全應(yīng)用程序的判定可通過例如檢査密封事務(wù)性數(shù)據(jù) 對其可用的安全應(yīng)用程序列表來作出。當(dāng)然,請求應(yīng)用程序必須是針對其請求 訪問的密封事務(wù)性數(shù)據(jù)部分的安全應(yīng)用程序。例如,再參看圖2,盡管應(yīng)用程 序103z是一安全應(yīng)用程序,但它僅對分區(qū)101a安全。因而,如果安全應(yīng)用程 序103z請求訪問分區(qū)101b,則其請求將被拒絕,因?yàn)樗鼘Ψ謪^(qū)101b是不安全 的。
如果請求應(yīng)用程序是一安全應(yīng)用程序(或至少聲稱是一安全應(yīng)用程序), 則在動(dòng)作604密封數(shù)據(jù)管理器104嘗試認(rèn)證請求應(yīng)用程序的身份。在動(dòng)作608, 確定請求應(yīng)用程序是否可被認(rèn)證。如果請求應(yīng)用程序不能被認(rèn)證,則在動(dòng)作606 其請求被拒絕。另一方面,如果請求應(yīng)用程序被認(rèn)證,則在動(dòng)作610向請求應(yīng) 用程序提供適當(dāng)?shù)慕饷苊荑€。然后,在動(dòng)作612,事務(wù)性數(shù)據(jù)管理器102根據(jù) 事務(wù)性屬性管理請求應(yīng)用程序?qū)κ聞?wù)性密封數(shù)據(jù)的訪問。
認(rèn)證過程可通過例如計(jì)算唯一標(biāo)識請求應(yīng)用程序的應(yīng)用程序可執(zhí)行文件的散列值來執(zhí)行。所計(jì)算的散列值然后與所儲存的請求應(yīng)用程序所聲稱的應(yīng)用 程序的散列值作比較。如果兩值相匹配,則請求應(yīng)用程序被認(rèn)證,而如果不匹 配則請求應(yīng)用程序不能被認(rèn)證。
作為上述雙層加密和認(rèn)證策略的替換方案、或除此之外,密封數(shù)據(jù)管理器 104可采用眾多其它技術(shù)來管理對密封數(shù)據(jù)的訪問。例如,當(dāng)它接收來自應(yīng)用
程序的讀取或?qū)懭朊芊鈹?shù)據(jù)集合內(nèi)的數(shù)據(jù)的請求時(shí),密封數(shù)據(jù)管理器104可作 為過濾代理來運(yùn)行。具體地,密封數(shù)據(jù)管理器104可校驗(yàn)請求應(yīng)用程序的訪問 權(quán)限,并且如果請求被許可則執(zhí)行所請求的操作。此外,密封數(shù)據(jù)管理器104 可指示底層硬件或操作系統(tǒng)準(zhǔn)許安全應(yīng)用程序?qū)γ芊鈹?shù)據(jù)集合的訪問。另外, 除了上述雙層加密和認(rèn)證策略之外,可采用其它安全系統(tǒng)來防止欺詐程序或應(yīng) 用程序修改經(jīng)加密數(shù)據(jù)。
圖7示出了其中可實(shí)現(xiàn)參照圖l-6所述的主題的合適計(jì)算環(huán)境100的一個(gè) 示例。計(jì)算系統(tǒng)環(huán)境100僅為合適計(jì)算環(huán)境的一個(gè)示例,并非對上述主題的使 用范圍或功能提出任何局限。也不應(yīng)將計(jì)算環(huán)境IOO解釋為對示例性計(jì)算環(huán)境 100中示出的任一組件或其組合具有任何依賴或需求。參考圖7,計(jì)算系統(tǒng)環(huán) 境100包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。該計(jì)算設(shè)備110的組件可包括但 不限于,處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器的各類系統(tǒng)組 件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu) 中的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線體 系結(jié)構(gòu)中的任一種的局部總線。作為示例而非局限,這類體系結(jié)構(gòu)可包括工業(yè) 標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA (EISA) 總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線、以及外圍部件互連(PCI) 總線(也稱為夾層(Mezzanine)總線)。計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可 讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)110訪問的任一可用介質(zhì),包括易 失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非局限,計(jì)算機(jī)可 讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括以用于儲存諸如 計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性,可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括但不限于,RAM、 ROM、 EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功 能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或 可以用來儲存所期望的信息并可由計(jì)算機(jī)110訪問的任一其它介質(zhì)。通信介質(zhì) 通常以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù) 據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù) 信號"指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信 號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接, 以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包 括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。系統(tǒng)存儲器130包括易失性和/或非易失性存 儲器形式的計(jì)算機(jī)存儲介質(zhì),如只讀存儲器(ROM) 131和隨機(jī)存取存儲器 (RAM) 132?;据斎?輸出系統(tǒng)133 (BIOS)包括如在啟動(dòng)時(shí)幫助在計(jì)算機(jī) 110內(nèi)的元件之間傳輸信息的基本例程,它通常儲存在ROM 131中。RAM 132 通常包含處理單元120立即可訪問和/或當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。 作為示例而非局限,圖7示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊 136和程序數(shù)據(jù)137。計(jì)算機(jī)110也可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易 失性計(jì)算機(jī)存儲介質(zhì)。僅作示例,圖7示出了對不可移動(dòng)、非易失性磁介質(zhì)進(jìn) 行讀寫的硬盤驅(qū)動(dòng)器141,對可移動(dòng)、非易失性磁盤152進(jìn)行讀寫的磁盤驅(qū)動(dòng) 器151,以及對可移動(dòng)、非易失性光盤156,如CD-RW、 DVD-RW或其它光 介質(zhì)進(jìn)行讀寫的光盤驅(qū)動(dòng)器155。可以在示例性操作環(huán)境中使用的其它可移動(dòng)/ 不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、 數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器141 通常通過不可移動(dòng)存儲器接口,如接口 140連接到系統(tǒng)總線121,磁盤驅(qū)動(dòng)器 151和光盤驅(qū)動(dòng)器155通常通過可移動(dòng)存儲器接口,如接口 150連接到系統(tǒng)總 線121。上文討論并在圖7中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲介質(zhì)為計(jì)算 機(jī)IIO提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖7中,示出硬盤驅(qū)動(dòng)器141儲存操作系統(tǒng)144、應(yīng)用程序145、其它程序 模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、 其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng) 144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號來說明 至少它們是不同的副本。用戶可以通過輸入設(shè)備,如鍵盤162和定位設(shè)備161 (諸如鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)IIO輸入命令和信息。其它輸入設(shè)備 (未示出)可包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這 些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線121的用戶輸入接口 160連接至處 理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端 口或通用串行總線(USB)。圖形接口 182也可連接到系統(tǒng)總線121。 一個(gè)或 多個(gè)圖形處理單元(GPU) 184可與圖形接口 182通信。監(jiān)視器191或其它類 型的顯示設(shè)備也通過接口,如視頻接口 190連接至系統(tǒng)總線121,視頻接口 190 又可與視頻存儲器186通信。除了監(jiān)視器191之外,計(jì)算機(jī)還可包括其它外圍 輸出設(shè)備,諸如揚(yáng)聲器197和打印機(jī)196,它們通過輸出外圍接口 195連接。計(jì)算機(jī)110可以使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)180的邏輯 連接在網(wǎng)絡(luò)化或分布式環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù) 器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括許多 或所有以上相對于計(jì)算機(jī)IIO所描述的元件,盡管在圖7中僅示出了存儲器存 儲設(shè)備181。圖7描述的邏輯連接包括局域網(wǎng)(LAN) 181和廣域網(wǎng)(WAN) 173,但也可包括其它網(wǎng)絡(luò)/總線。這類網(wǎng)絡(luò)環(huán)境常見于家庭、辦公室、企業(yè)范 圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī) 110通過網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使 用時(shí),計(jì)算機(jī)IIO通常包括調(diào)制解調(diào)器172或用于通過WAN173,如因特 網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,它通過用戶輸入接口 160或其它適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,
相對于計(jì)算機(jī)110所描述的程序模塊或其部分可被儲存在遠(yuǎn)程存儲器存儲
設(shè)備中。作為示例而非局限,圖7示出遠(yuǎn)程應(yīng)用程序185駐留在存儲器設(shè)
備181上。應(yīng)該理解示出的網(wǎng)絡(luò)連接是示例性的,并且可以使用在計(jì)算機(jī)
之間建立通信鏈路的其它手段。
盡管以對結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但是可以 理解所附權(quán)利要求書中定義的主題不必限于上述具體特征或動(dòng)作。相反,
所描述的具體特征和動(dòng)作是作為實(shí)現(xiàn)所要求保護(hù)的主題的示例性形式來公 開的。
權(quán)利要求
1.一種事務(wù)性密封存儲系統(tǒng),包括底層密封數(shù)據(jù)集合,它被密封成它僅可由至少一個(gè)安全應(yīng)用程序訪問;以及事務(wù)性數(shù)據(jù)管理器,根據(jù)事務(wù)性屬性提供對所述底層密封數(shù)據(jù)集合的一部分的訪問。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述底層密封數(shù)據(jù)集合被加密。
3. 如權(quán)利要求2所述的系統(tǒng),其特征在于,還包括所述至少一個(gè)安全應(yīng) 用程序可訪問的解密密鑰。
4. 如權(quán)利要求3所述的系統(tǒng),其特征在于,還包括密封數(shù)據(jù)管理器,它 通過在向嘗試訪問所述解密密鑰的請求應(yīng)用程序提供所述解密密鑰之前認(rèn)證 所述請求應(yīng)用程序來管理對所述解密密鑰的訪問。
5. 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述密封數(shù)據(jù)管理器通過計(jì) 算唯一地標(biāo)識所述請求應(yīng)用程序的應(yīng)用程序可執(zhí)行文件的散列值、并將所述計(jì) 算后的散列值與相應(yīng)的已儲存散列值作比較來認(rèn)證所述請求應(yīng)用程序。
6. 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述密封數(shù)據(jù)管理器是一安 全操作系統(tǒng)。
7. 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述密封數(shù)據(jù)管理器和所述 事務(wù)性數(shù)據(jù)管理器被實(shí)現(xiàn)為單個(gè)統(tǒng)一事務(wù)性密封數(shù)據(jù)管理器的一部分。
8. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述底層密封數(shù)據(jù)集合的一 部分包括所述整個(gè)底層密封數(shù)據(jù)集合。
9. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述底層密封數(shù)據(jù)集合的一 部分包括不到所述整個(gè)底層密封數(shù)據(jù)集合。
10. —種事務(wù)性密封存儲系統(tǒng),包括底層事務(wù)性數(shù)據(jù)集合,根據(jù)事務(wù)性屬性來訪問;以及 密封數(shù)據(jù)管理器,密封所述底層事務(wù)性數(shù)據(jù)集合的一部分,使它只能被至 少一個(gè)安全應(yīng)用程序訪問。
11. 如權(quán)利要求10所述的系統(tǒng),其特征在于,還包括事務(wù)性數(shù)據(jù)管理器, 它根據(jù)所述事務(wù)性屬性提供對所述底層事務(wù)性數(shù)據(jù)集合的訪問。
12. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述密封數(shù)據(jù)管理器和所 述事務(wù)性數(shù)據(jù)管理器被實(shí)現(xiàn)為單個(gè)統(tǒng)一事務(wù)性密封數(shù)據(jù)管理器的一部分。
13. 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述底層密封數(shù)據(jù)集合的所述密封部分被加密。
14. 如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括所述至少一個(gè)安全 應(yīng)用程序可訪問的解密密鑰。
15. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述密封數(shù)據(jù)管理器通過 在向嘗試訪問所述解密密鑰的請求應(yīng)用程序提供所述解密密鑰之前認(rèn)證所述 請求應(yīng)用程序來管理對所述解密密鑰的訪問。
16. 如權(quán)利要求15所述的系統(tǒng),其特征在于,所述密封數(shù)據(jù)管理器通過 計(jì)算唯一地標(biāo)識所述請求應(yīng)用程序的應(yīng)用程序可執(zhí)行文件的散列值、并將所述計(jì)算后的散列值與相應(yīng)的已儲存散列值作比較來認(rèn)證所述請求應(yīng)用程序。
17. —種用于管理對事務(wù)性密封數(shù)據(jù)的訪問的方法,包括 接收來自應(yīng)用程序的訪問所述數(shù)據(jù)的請求;確定所述應(yīng)用程序是否是具有訪問所述數(shù)據(jù)的許可的安全應(yīng)用程序;如果所述應(yīng)用程序是安全應(yīng)用程序,則根據(jù)事務(wù)性屬性向所述應(yīng)用程序提供對所述數(shù)據(jù)的訪問權(quán);以及如果所述應(yīng)用程序不是安全應(yīng)用程序,則拒絕所述請求。
18. 如權(quán)利要求17所述的方法,其特征在于,向所述應(yīng)用程序提供對所 述數(shù)據(jù)的訪問權(quán)包括向所述應(yīng)用程序提供用于解密所述數(shù)據(jù)的解密密鑰。
19. 如權(quán)利要求17所述的方法,其特征在于,還包括通過嘗試驗(yàn)證所述 應(yīng)用程序的身份來認(rèn)證所述應(yīng)用程序,并在所述應(yīng)用程序的身份不能被驗(yàn)證時(shí) 拒絕所述請求。
20. 如權(quán)利要求19所述的方法,其特征在于,認(rèn)證所述應(yīng)用程序包括 計(jì)算唯一地標(biāo)識所述應(yīng)用程序的應(yīng)用程序可執(zhí)行文件的散列值;以及確定所述計(jì)算后的散列值是否與對應(yīng)于所述應(yīng)用程序的已儲存散列值相 匹配。
全文摘要
一種事務(wù)性密封存儲系統(tǒng)使數(shù)據(jù)能根據(jù)事務(wù)性屬性訪問,并且使對數(shù)據(jù)的訪問被限制于安全應(yīng)用程序。根據(jù)其可訪問數(shù)據(jù)的事務(wù)性屬性包括例如至少一定程度的原子性、一致性、絕緣性和持久性。對數(shù)據(jù)的訪問可通過例如采用包括加密數(shù)據(jù)、并且還認(rèn)證請求訪問經(jīng)加密數(shù)據(jù)的任何應(yīng)用程序的雙層安全策略來限制。
文檔編號G06F12/14GK101263463SQ200680033760
公開日2008年9月10日 申請日期2006年9月13日 優(yōu)先權(quán)日2005年9月15日
發(fā)明者N·T·弗格森, S·N·斯托尼奇 申請人:微軟公司