欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

關(guān)系數(shù)據(jù)庫管理系統(tǒng)的非侵入式加密的制作方法

文檔序號:6567559閱讀:280來源:國知局
專利名稱:關(guān)系數(shù)據(jù)庫管理系統(tǒng)的非侵入式加密的制作方法
技術(shù)領(lǐng)域
0001本申請要求2005年3月28日申請的美國臨時申請 No.60/665,357的權(quán)益,其通過引用包括在本文中。
0002本發(fā)明涉及關(guān)系數(shù)據(jù)庫系統(tǒng),具體地涉及在關(guān)系數(shù)據(jù)庫 系統(tǒng)內(nèi)實(shí)施的非侵入式數(shù)據(jù)加密。
背景技術(shù)
0003關(guān)系數(shù)據(jù)庫提供組織、存儲和檢索大量數(shù)據(jù)的有效系統(tǒng)。 所有類型的事務(wù)持續(xù)增加存儲在關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的量和類型。此外, 事務(wù)不斷發(fā)現(xiàn)數(shù)據(jù)的新益處和用途。這驅(qū)動對具有更高性能和增加容 量的數(shù)據(jù)庫系統(tǒng)的需求。
0004在許多行業(yè),累積的數(shù)據(jù)是機(jī)密的且必須安全地存儲。 例如金融機(jī)構(gòu)跟蹤并存儲關(guān)于所執(zhí)行交易的數(shù)據(jù)、賬號、賬戶結(jié)余、 賬戶所有人等。類似的,衛(wèi)生保健行業(yè)跟蹤和存儲關(guān)于個人健康和治 療歷史的私人信息。這些行業(yè)要求其數(shù)據(jù)庫系統(tǒng)的安全和性能。
0005因此,存在對一種關(guān)系數(shù)據(jù)庫系統(tǒng)的需求,該數(shù)據(jù)庫系 統(tǒng)能夠加密存儲在其中的數(shù)據(jù),而無需大量修改系統(tǒng)的部件,也不顯 著損害關(guān)系數(shù)據(jù)庫系統(tǒng)的整體性能。

發(fā)明內(nèi)容
0006本發(fā)明通過提供用于加密存儲在關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的安 全關(guān)系數(shù)據(jù)庫系統(tǒng)而解決了前面需求和顧慮。本發(fā)明將硬件加密過程 插入到系統(tǒng)中,而不需要對系統(tǒng)的單個部件做大的改動。而且,本發(fā) 明平衡多通道硬件加密引擎的能力,以使對整個系統(tǒng)性能的影響最小。
0007按照本發(fā)明的一個方面,提供了加密數(shù)據(jù)存儲系統(tǒng)中關(guān) 系數(shù)據(jù)庫管理系統(tǒng)存儲的數(shù)據(jù)頁的方法。指定用于存儲的數(shù)據(jù)頁被分 割到多個緩沖器中。緩沖器被提供給硬件加密引擎,從而被同時加密。一旦硬件加密引擎完成緩沖器的加密,就用加密的緩沖器重新組合數(shù) 據(jù)頁并將其存儲在數(shù)據(jù)存儲系統(tǒng)中。
0008按照本發(fā)明的另一方面,提供了以加密形式存儲關(guān)系數(shù) 據(jù)庫數(shù)據(jù)的安全關(guān)系數(shù)據(jù)庫系統(tǒng)。該系統(tǒng)包括具有處理器、存儲器和 數(shù)據(jù)存儲系統(tǒng)的計算機(jī)服務(wù)器。由計算機(jī)服務(wù)器中的處理器執(zhí)行的操 作系統(tǒng)管理處理器、存儲器和數(shù)據(jù)存儲系統(tǒng)。由計算機(jī)服務(wù)器中處理 器執(zhí)行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)管理存儲在數(shù)據(jù)存儲系統(tǒng)中的關(guān)系數(shù)據(jù) 庫。在調(diào)用操作系統(tǒng)的寫功能從而在數(shù)據(jù)存儲系統(tǒng)中存儲數(shù)據(jù)頁之前, 關(guān)系數(shù)據(jù)庫管理系統(tǒng)將數(shù)據(jù)頁分割到多個緩沖器中并將這些緩沖器提 供給硬件加密引擎,從而被同時加密。 一旦加密完成,硬件加密引擎 就用加密的緩沖器重組數(shù)據(jù)頁。
0009提供了本發(fā)明的前述概要,以便可快速理解本發(fā)明的本 質(zhì)。通過參考下面本發(fā)明的詳細(xì)描述和相關(guān)附圖,可獲得對本發(fā)明優(yōu) 選實(shí)施例的更詳細(xì)和完整的理解。


0010結(jié)合附圖閱讀可理解下面本發(fā)明實(shí)施例的詳細(xì)描述,圖
中特征部件沒有按比例示出,而是為了最好地示出相關(guān)特征。
0011圖1是方框圖,其描繪關(guān)系數(shù)據(jù)庫系統(tǒng)的部件。0012圖2是方框圖,其示出按照本發(fā)明一個實(shí)施例的安全的
關(guān)系數(shù)據(jù)庫系統(tǒng)的部件。
0013圖3是方框圖,其示出按照本發(fā)明一個實(shí)施例的計算機(jī)
服務(wù)器系統(tǒng)。
0014圖4是流程圖,其示出按照本發(fā)明一個實(shí)施例的加密關(guān) 系數(shù)據(jù)庫管理系統(tǒng)存儲的數(shù)據(jù)頁而執(zhí)行的過程步驟。
0015圖5是方框圖,其示出按照本發(fā)明一個實(shí)施例的加密引 擎處理數(shù)據(jù)頁的順序。
0016圖6是流程圖,其示出按照本發(fā)明的一個實(shí)施例,解密 由關(guān)系數(shù)據(jù)庫管理系統(tǒng)請求的數(shù)據(jù)頁而執(zhí)^1的過程步驟。
具體實(shí)施方式
0017現(xiàn)在將參考附圖更完整描述本發(fā)明,所有附圖中相同的 參考數(shù)字標(biāo)識表示相同的元件。下面的描述包括本發(fā)明的優(yōu)選實(shí)施例, 這些實(shí)施例是為了以例子形式向本領(lǐng)域技術(shù)人員描述本發(fā)明而提供 的。
0018圖1是方框圖,其描繪關(guān)系數(shù)據(jù)庫系統(tǒng)10的部件。如圖 l所示,關(guān)系數(shù)據(jù)庫系統(tǒng)IO包括關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS) 11、 操作系統(tǒng)(OS) 12和數(shù)據(jù)存儲系統(tǒng)13。 RDBMS 11是管理關(guān)系數(shù)據(jù)庫 內(nèi)數(shù)據(jù)的組織、存儲和檢索的一個計算機(jī)應(yīng)用程序或一組應(yīng)用程序。 關(guān)系數(shù)據(jù)庫存儲在數(shù)據(jù)存儲系統(tǒng)13中,其包括被配置成存儲關(guān)系數(shù)據(jù) 庫的單個硬盤或硬盤驅(qū)動器陣列。OS 12控制對數(shù)據(jù)存儲系統(tǒng)13的存 取并管理RDBMS 11和數(shù)據(jù)存儲系統(tǒng)13之間的接口。
0019如上所述,RDBMS 11是管理關(guān)系數(shù)據(jù)庫的計算機(jī)應(yīng)用 程序。本發(fā)明不限于特殊的關(guān)系數(shù)據(jù)庫管理系統(tǒng)并可用本領(lǐng)域技術(shù)人 員公知的任意數(shù)目的系統(tǒng)實(shí)現(xiàn)。這樣的系統(tǒng)包括Omcle、 mM和 Microsoft提供的那些系統(tǒng)。類似地,OS12不限于特定的操作系統(tǒng)并可
用本領(lǐng)域技術(shù)人員公知的任意數(shù)目的操作系統(tǒng)實(shí)現(xiàn),包括基于 Microsoft Windows的操作系統(tǒng)和基于Unix/Linux的操作系統(tǒng)。
0020上述的數(shù)據(jù)存儲系統(tǒng)13包括單個硬盤驅(qū)動器或硬盤驅(qū)動 器陣列。這些驅(qū)動器可以被布置成獨(dú)立的巻,或可替換地,布置成使 用本領(lǐng)域技術(shù)人員公知的RAID配置的冗余獨(dú)立磁盤陣列(RAID)。 本領(lǐng)域技術(shù)人員也將認(rèn)識到,除了硬盤驅(qū)動器,驅(qū)動器也可用其他存 儲裝置實(shí)現(xiàn)。例如,固態(tài)驅(qū)動器或光學(xué)驅(qū)動器可用來取代硬盤驅(qū)動器。0021RDBMS 11在數(shù)據(jù)存儲系統(tǒng)13中以數(shù)據(jù)頁形式存儲數(shù)據(jù), 圖1中以數(shù)據(jù)頁14表示。每個數(shù)據(jù)頁包含來自關(guān)系數(shù)據(jù)庫的多行數(shù)據(jù)。 通常,數(shù)據(jù)頁的大小在2kB和64kB之間,但可以根據(jù)用來實(shí)現(xiàn)關(guān)系 數(shù)據(jù)庫系統(tǒng)的部件而改變。
0022為了訪問存儲在數(shù)據(jù)存儲系統(tǒng)13中的關(guān)系數(shù)據(jù)庫, RDBMS 11請求在OS 12和RDMBS11之間轉(zhuǎn)移數(shù)據(jù)頁14。具體地, 為了在關(guān)系數(shù)據(jù)庫中存儲數(shù)據(jù),RDBMS 11調(diào)用OS 12的寫入例程來 存儲數(shù)據(jù)頁14,該數(shù)據(jù)頁含需要存儲在數(shù)據(jù)存儲系統(tǒng)13中的數(shù)據(jù)。 OS 12隨后在數(shù)據(jù)存儲系統(tǒng)13中的一系列磁盤扇區(qū)中存儲數(shù)據(jù)頁14,磁盤扇區(qū)由磁盤扇區(qū)15a、 15b和15c表示。雖然僅在圖1中示出三 個磁盤扇區(qū),但磁盤扇區(qū)的實(shí)際數(shù)目可根據(jù)因素數(shù)目改變,所述因素 包括操作系統(tǒng)的類型、數(shù)據(jù)存儲系統(tǒng)的類型和數(shù)據(jù)頁的大小。
0023為了從關(guān)系數(shù)據(jù)庫檢索數(shù)據(jù),RDBMS U調(diào)用OS 12的 讀取例程從而從數(shù)據(jù)存儲系統(tǒng)13檢索包含所需數(shù)據(jù)的數(shù)據(jù)頁14。 OS 12從數(shù)據(jù)存儲系統(tǒng)13檢索含所需數(shù)據(jù)的磁盤扇區(qū)15a、 15b和15c, 并返回含所需數(shù)據(jù)的數(shù)據(jù)頁14至RDBMS 11。操作系統(tǒng)使用的讀取 和寫入例程對本領(lǐng)域的技術(shù)人員是公知的,因此在此不詳細(xì)描述。
0024圖2是方框圖,其描繪按照本發(fā)明一個實(shí)施例的安全的 關(guān)系數(shù)據(jù)庫系統(tǒng)20的部件。類似于圖1中所描繪的系統(tǒng),安全的關(guān) 系數(shù)據(jù)庫系統(tǒng)200包括RDBMS 21、 OS 22和數(shù)據(jù)存儲系統(tǒng)23。如上 所述,RDBMS 21是一個計算機(jī)應(yīng)用程序或一組應(yīng)用程序,其管理關(guān) 系數(shù)據(jù)庫中數(shù)據(jù)的組織、存儲和檢索。關(guān)系數(shù)據(jù)庫存儲在數(shù)據(jù)存儲系 統(tǒng)23中,該系統(tǒng)包括經(jīng)配置存儲關(guān)系數(shù)據(jù)庫的單個硬盤驅(qū)動器或硬 盤驅(qū)動器陣列。操作系統(tǒng)22控制對數(shù)據(jù)存儲系統(tǒng)23的訪問,并且管 理RDBMS 21和數(shù)據(jù)存儲系統(tǒng)23之間的接口 。和圖1所示系統(tǒng)一樣, 可使用任意數(shù)目本領(lǐng)域公知的關(guān)系數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)和/或數(shù) 據(jù)存儲系統(tǒng),而不偏離本發(fā)明的范圍。
0025安全的關(guān)系數(shù)據(jù)庫系統(tǒng)20以類似于圖1中系統(tǒng)使用的 方式存儲和檢索數(shù)據(jù)。具體地,RDBMS 21發(fā)送包含所需數(shù)據(jù)的數(shù)據(jù) 頁24至OS 22,或從其請求數(shù)據(jù)頁24。 OS 22隨后向數(shù)據(jù)存儲系統(tǒng) 23的一系列磁盤扇區(qū)25a、 25b和25c中寫入數(shù)據(jù)頁24包含的數(shù)據(jù), 或檢索存儲在存儲系統(tǒng)23的系列磁盤扇區(qū)25a、 25b和25c中的所需 數(shù)據(jù)。然而,與圖1中系統(tǒng)不同,安全的關(guān)系數(shù)據(jù)庫系統(tǒng)200在RDBMS 21和OS 22之間插入加密引擎26,并在數(shù)據(jù)頁在RDBMS 21和OS 22 之間傳送之前將數(shù)據(jù)頁轉(zhuǎn)移至加密引擎26。在數(shù)據(jù)頁被傳輸?shù)?RDBMS21或OS22之前,加密引擎26加密/解密數(shù)據(jù)頁。例如,圖 2示出被轉(zhuǎn)移到加密引擎26的數(shù)據(jù)頁24,加密引擎26加密含在其中 的數(shù)據(jù)從而創(chuàng)建加密的數(shù)據(jù)頁27。加密的數(shù)據(jù)頁27然后由OS 22存 儲在數(shù)據(jù)存儲系統(tǒng)23的磁盤扇區(qū)25a、 25b和25c。安全的關(guān)系數(shù)據(jù) 庫20操作的更詳細(xì)描述在下面給出。0026傳統(tǒng)的安全關(guān)系數(shù)據(jù)庫系統(tǒng)通常在RDBMS內(nèi)或在 RDBMS之前加密數(shù)據(jù),從而要求RDBMS對加密數(shù)據(jù)操作。對加密 數(shù)據(jù)的操作限制功能并降低RDBMS的性能。另一方面,本發(fā)明用單 獨(dú)的加密引擎將加密處理從RDBMS分開,并在RDBMS和OS之間 執(zhí)行加密處理。因此,RDBMS的內(nèi)部操作不必知道RDBMS之外發(fā) 生的加密處理。以這種方式,RDBMS對未加密的數(shù)據(jù)操作并能夠全 性能工作。
0027按照本發(fā)明的一個實(shí)施例,加密引擎26是多通道硬件 加密引擎,這里每個通道經(jīng)配置而使用加密算法加密/解密數(shù)據(jù)。與依 賴于系統(tǒng)中央處理器來執(zhí)行必要處理的軟件加密引擎不同,硬件加密 引擎用其自身的內(nèi)部電路執(zhí)行加密過程。因此,硬件加密引擎節(jié)約整 個系統(tǒng)的處理器資源,并且使其對整個系統(tǒng)性能的影響最小。
0028使用多通道硬件加密引擎以便允許同時處理多個數(shù)據(jù) 塊。用硬件加密引擎的滿處理能力同時處理數(shù)據(jù)改善了系統(tǒng)的整體性 能??商鎿Q地,可使用多個單通道硬件加密引擎而不偏離本發(fā)明的范 圍。
0029硬件加密引擎的結(jié)構(gòu)和內(nèi)部操作是本領(lǐng)域人員所公知 的,所以不在這里詳細(xì)描述。注意,本發(fā)明可用任意數(shù)目的商業(yè)可用 硬件加密引擎實(shí)施,而不偏離本發(fā)明的范圍。而且,本發(fā)明不限于特 定加密算法,并可使用本領(lǐng)域技術(shù)人員公知的任意數(shù)目的算法。例如, 基于高級加密標(biāo)準(zhǔn)(AES)或數(shù)據(jù)加密標(biāo)準(zhǔn)(DES,三重DES)的算 法都可以使用。
0030按照本發(fā)明的一個實(shí)施例,安全的關(guān)系數(shù)據(jù)庫系統(tǒng)是用 計算機(jī)服務(wù)器系統(tǒng)實(shí)現(xiàn)的。圖3是描述一個計算機(jī)服務(wù)器系統(tǒng)30例 子的方框圖。計算機(jī)服務(wù)器系統(tǒng)30包括用于執(zhí)行指令和處理信息的 處理器31。隨機(jī)存取存儲器(RAM) 32臨時存儲信息和要由處理器 31執(zhí)行的指令。只讀存儲器(ROM) 33是非易失性存儲裝置,其存 儲靜態(tài)指令序列,如由處理器31在啟動時執(zhí)行從而啟動計算機(jī)服務(wù) 器系統(tǒng)30的操作的基本輸入/輸出系統(tǒng)(BIOS)。存儲裝置34表示另 一個非易失性存儲器,如磁盤或光盤,其存儲由處理器31執(zhí)行的信 息和指令。每個前述部件都耦合到總線35,總線35促進(jìn)多個部件之間信息和指令的轉(zhuǎn)移。
0031網(wǎng)絡(luò)接口 36、加密引擎37和數(shù)據(jù)存儲系統(tǒng)38也耦合到 總線35。加密引擎37和數(shù)據(jù)存儲系統(tǒng)38在本說明書的別處描述。網(wǎng) 絡(luò)接口 36是光學(xué)特征部件,其允許計算機(jī)服務(wù)器系統(tǒng)30經(jīng)一個或更 多個網(wǎng)絡(luò)與其他計算裝置互連和通信。可能的網(wǎng)絡(luò)包括局域網(wǎng)(LAN) 和因特網(wǎng)。信息是用電、電磁或光信號經(jīng)這些網(wǎng)絡(luò)傳輸?shù)?。以這種方 式,計算機(jī)服務(wù)器系統(tǒng)30能夠傳送和/或接收數(shù)據(jù)和代碼,以及與其 他連接至同一網(wǎng)絡(luò)的裝置共享資源。
0032其他裝置可以經(jīng)總線35連接至計算機(jī)服務(wù)器系統(tǒng)30。 例如,顯示裝置,如CRT或LCD監(jiān)視器可以被連接從而向用戶顯示 信息。此外,用戶輸入裝置,如鍵盤和光標(biāo)控制裝置也可連接至計算 機(jī)服務(wù)器系統(tǒng)30從而允許在計算機(jī)服務(wù)器系統(tǒng)30上執(zhí)行的應(yīng)用程序 中用戶輸入和控制。
0033上述計算機(jī)服務(wù)器系統(tǒng)30的所有部件已經(jīng)作為單個計 算機(jī)系統(tǒng)的部分描述。本領(lǐng)域技術(shù)人員可以認(rèn)識到,本發(fā)明的可替換 實(shí)施例可將一個或更多個部件分成分離的計算系統(tǒng),它們經(jīng)一個或更 多個網(wǎng)絡(luò)互連。例如,數(shù)據(jù)存儲系統(tǒng)28可位于另一個系統(tǒng)中或分布 于經(jīng)網(wǎng)絡(luò)互連的多個系統(tǒng)中,而不偏離本發(fā)明的范圍。
0034本發(fā)明使用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)和操作系統(tǒng)由處理器 31提供,該處理器執(zhí)行一個或更多個存儲在RAM 32中的指令序列。 這些指令序列或計算機(jī)代碼,或由處理器31從計算機(jī)可讀介質(zhì)如存 儲裝置34加載到RAM 32中。計算機(jī)可讀介質(zhì)的其他例子包括,但 不限于軟盤、可變形磁盤(flexible disk)、硬盤、磁帶、任何其他磁 性介質(zhì)、CD-ROM、 DVD、任何其他光學(xué)介質(zhì)、物理介質(zhì)如穿孔卡和 紙帶、RAM、 PROM、 EPROM、 EEPROM、閃存等。可替換地,計 算機(jī)代碼可經(jīng)傳輸介質(zhì),如同軸纜線、銅線或光纖轉(zhuǎn)移到計算機(jī)服務(wù) 器系統(tǒng)30。本發(fā)明操作的更詳細(xì)描述在下面給出。
0035圖4是流程圖,其示出按照本發(fā)明一個實(shí)施例的加密關(guān) 系數(shù)據(jù)庫管理系統(tǒng)存儲的數(shù)據(jù)頁的過程。如上所述,本發(fā)明轉(zhuǎn)移由 RDBMS轉(zhuǎn)送的數(shù)據(jù)頁以便存儲到加密引擎。圖4中描述的過程表示 與該轉(zhuǎn)移相關(guān)的處理。該過程在RDBMS已經(jīng)準(zhǔn)備并指定數(shù)據(jù)頁以存儲在關(guān)系數(shù)據(jù)庫時啟動。按照一個實(shí)施例,當(dāng)調(diào)用操作系統(tǒng)的寫入功
能/例程時,RDBMS被稍微修改從而啟動和/或執(zhí)行圖4中表示的過程 步驟。這個過程的執(zhí)行無需另外的用戶介入,因此使得本發(fā)明的操作 對關(guān)系數(shù)據(jù)庫系統(tǒng)的最終用戶是透明的。在替代的實(shí)施例中,使用軟 件代理例程代替標(biāo)準(zhǔn)的操作系統(tǒng)調(diào)用,用于將數(shù)據(jù)寫入到數(shù)據(jù)存儲系 統(tǒng)。無論何時調(diào)用操作系統(tǒng)的寫入功能/例程,該軟件代理例程都啟動 和/或執(zhí)行圖4中示出的過程步驟。軟件代理例程對本領(lǐng)域技術(shù)人員是 公知的,因此這里不做進(jìn)一步的詳細(xì)說明。
0036在步驟S400,數(shù)據(jù)頁被分割到多個緩沖器中。緩沖器的 數(shù)量和大小是基于加密引擎中的通道數(shù)量決定的。例如,圖5是描述 使用加密引擎51的數(shù)據(jù)頁50處理的方框圖。如圖5所示,加密引擎 51包括8個通道(通道1到通道8)。因此,數(shù)據(jù)頁50被分割到8個 緩沖器中(緩沖器1到緩沖器8)。緩沖器的數(shù)目優(yōu)選被選擇為等于加 密引擎中的通道數(shù)目,以便使用加密引擎的滿處理能力。所有緩沖器 優(yōu)選具有相同的大小,以在通道之間均勻分布數(shù)據(jù)用于處理。例如64 kB數(shù)據(jù)頁被分割到8個緩沖器中,每個都具有8kB的數(shù)據(jù)。
0037
一旦RDBMS已經(jīng)準(zhǔn)備并指定供存儲的數(shù)據(jù)頁,數(shù)據(jù)頁 就駐存在計算機(jī)服務(wù)器系統(tǒng)的主存儲器(RAM)中。按照本發(fā)明的一 個實(shí)施例,通過確定對應(yīng)于多個緩沖器中每個緩沖器的數(shù)據(jù)頁部分在 主存儲器中的存儲地址,數(shù)據(jù)頁被分到多個緩沖器中。因此,數(shù)據(jù)頁 的分割不要求數(shù)據(jù)轉(zhuǎn)移到實(shí)際的存儲器緩沖器。然而,本發(fā)明可替換 的實(shí)施例可將數(shù)據(jù)頁劃分并轉(zhuǎn)移到實(shí)際存儲緩沖器中。
0038在步驟S401中,緩沖器被轉(zhuǎn)移到加密引擎的各通道。 轉(zhuǎn)移在兩個步驟中完成。首先,所有緩沖器同時提供給加密引擎,作 為通道處理的獨(dú)立任務(wù)。通過提供指向主存儲器中每個緩沖器的存儲 地址的指針而給出緩沖器。第二,加密引擎轉(zhuǎn)移緩沖器至它們各自的 通道。使用指針與緩沖器大小,加密引擎使用本領(lǐng)域技術(shù)人員公知的 直接存儲器存取(DMA)方法轉(zhuǎn)移緩沖器至它們各自的通道用于處理。 該轉(zhuǎn)移在圖5中由從緩沖器1到8指向通道1到8的箭頭組表示。
0039按照本發(fā)明的一個實(shí)施例,將數(shù)據(jù)頁分到緩沖器中和將 緩沖器提供給加密引擎的通道是由硬件加密引擎的軟件驅(qū)動器管理的。當(dāng)準(zhǔn)備存儲數(shù)據(jù)頁時,該驅(qū)動器被經(jīng)改動的RDBMS調(diào)用??商?換地,可修改RDMBS來執(zhí)行緩沖器劃分和提供緩沖器給通道。
0040在步驟S402,每個緩沖器中的數(shù)據(jù)被加密引擎的各通道 用加密算法加密。因?yàn)榫彌_器被同時提供給加密引擎且每個緩沖器大 小相等,每個緩沖器的加密是以基本相同的時間量執(zhí)行的,因此所有 緩沖器同時完成加密處理。對于存儲數(shù)據(jù)頁的單個數(shù)據(jù)庫操作,用加 密引擎的所有通道同時處理緩沖器就允許加密引擎的最大處理能力。
0041
一旦緩沖器的加密完成,含經(jīng)加密數(shù)據(jù)的緩沖器在步驟 S403被加密引擎用本領(lǐng)域技術(shù)人員公知的DMA方法轉(zhuǎn)移回主存儲器 中。用前面提供給加密引擎的相同指針,經(jīng)加密的緩沖器被轉(zhuǎn)移回主 存儲器。這個轉(zhuǎn)移在圖5中通過一組從通道1到8指向緩沖器1到8 的箭頭示出。因此,存儲在主存儲器中的數(shù)據(jù)頁的數(shù)據(jù)被經(jīng)加密的數(shù) 據(jù)有效覆蓋,從而以經(jīng)加密的數(shù)據(jù)頁取代數(shù)據(jù)頁。以這種方式,加密 引擎在主存儲器中用經(jīng)加密的數(shù)據(jù)重組數(shù)據(jù)頁。 一旦加密引擎提供通 知,即經(jīng)加密數(shù)據(jù)的轉(zhuǎn)移完成,則操作系統(tǒng)寫入功能在步驟S404被 調(diào)用,以在數(shù)據(jù)存儲系統(tǒng)中存儲經(jīng)加密的數(shù)據(jù)頁。
0042圖6是流程圖,其示出按照本發(fā)明一個實(shí)施例,解密由 關(guān)系數(shù)據(jù)庫管理系統(tǒng)請求的經(jīng)加密的數(shù)據(jù)頁的過程。該過程在 RDBMS己經(jīng)請求將從數(shù)據(jù)存儲系統(tǒng)檢索的數(shù)據(jù)頁時啟動。類似于上 面關(guān)于圖4描述的過程,當(dāng)調(diào)用操作系統(tǒng)的讀取功能從而檢索存儲在 數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)時,RDBMS被稍微修改從而啟動和/或執(zhí)行圖 6中給出的過程步驟。在可替換的實(shí)施例中,軟件代理例程被用來取 代標(biāo)準(zhǔn)操作系統(tǒng)調(diào)用,用于從數(shù)據(jù)存儲系統(tǒng)讀取數(shù)據(jù)。無論何時調(diào)用 操作系統(tǒng)讀取功能,軟件代理例程都啟動和/或執(zhí)行圖6中表示的過程 步驟。軟件代理例程對本領(lǐng)域技術(shù)人員是公知的,因此這里不進(jìn)一步 詳細(xì)說明。
0043在步驟S600, RDBMS用操作系統(tǒng)讀取功能從數(shù)據(jù)系統(tǒng) 請求所需的數(shù)據(jù)頁。在步驟S601,含經(jīng)加密數(shù)據(jù)的數(shù)據(jù)頁由OS從數(shù) 據(jù)存儲系統(tǒng)中檢索并存儲在計算機(jī)服務(wù)器系統(tǒng)的主存儲器(RAM)中。 以與上面參考圖4描述的相同方式,在步驟S602,經(jīng)加密的數(shù)據(jù)頁被 分到多個緩沖器中并在步驟S603中轉(zhuǎn)移到各通道。然后經(jīng)加密的緩沖器在步驟S604解密。
0044和參考圖4描述的過程一樣,緩沖器被同時提供給加密 引擎的各通道,每個緩沖器大小相同。因此,每個緩沖器的解密是以 基本相同量的時間執(zhí)行的,所有緩沖器基本同時完成解密處理。 一旦 解密完成,在步驟S605,加密引擎以與上面參考圖4描述的相同方式 轉(zhuǎn)移經(jīng)解密的數(shù)據(jù)至主存儲器中。通過重寫主存儲器中經(jīng)加密的緩沖 器,該過程用未加密的緩沖器重組數(shù)據(jù)頁。最后,在步驟S606,含未 加密數(shù)據(jù)的被請求數(shù)據(jù)頁被發(fā)送給RDBMS。
0045上面描述的本發(fā)明為關(guān)系數(shù)據(jù)庫系統(tǒng)提供非侵入式加 密。通過稍微修改RDBMS,或使用軟件代理例程,存儲在關(guān)系數(shù)據(jù) 庫中的數(shù)據(jù)加密是以對用戶透明的方式實(shí)現(xiàn)的。通過使用具有多個通 道的硬件加密引擎并在通道間分布每個數(shù)據(jù)頁用于處理,對關(guān)系數(shù)據(jù) 庫系統(tǒng)整體性能的影響被最小化。
0046在可替換的實(shí)施例中,多通道硬件壓縮引擎被增加到硬 件加密引擎中,從而在存儲到數(shù)據(jù)存儲系統(tǒng)之前壓縮數(shù)據(jù)頁,并在從 數(shù)據(jù)存儲系統(tǒng)檢索后解壓縮該數(shù)據(jù)頁??墒褂萌魏螖?shù)目的已知壓縮算 法,而不偏離本發(fā)明的范圍。關(guān)于數(shù)據(jù)頁的硬件壓縮引擎的操作和上 面為硬件加密引擎描述的操作一樣,還增加包括跟蹤在用于存儲壓縮 數(shù)據(jù)頁的數(shù)據(jù)存儲系統(tǒng)中的磁盤扇區(qū)的數(shù)目和位置的功能。因?yàn)閴嚎s 通常會改變存儲每個數(shù)據(jù)頁所需的扇區(qū)數(shù)目以及數(shù)據(jù)頁在數(shù)據(jù)存儲 系統(tǒng)中的位置,因此這個跟蹤是必要的。這樣的跟蹤功能的實(shí)現(xiàn)對本 領(lǐng)域技術(shù)人員是顯而易見的,因此這里不做另外詳細(xì)說明。
0047本發(fā)明已經(jīng)在上面被描述為在存儲或檢索數(shù)據(jù)頁時處理 整個數(shù)據(jù)頁。在可替代的實(shí)施例中,硬件加密引擎被配置成僅加密/ 解密數(shù)據(jù)頁內(nèi)文本字段。硬件加密引擎頁也可經(jīng)配置來僅處理數(shù)據(jù)頁 內(nèi)的指定列。以該方式,加密系統(tǒng)可被精細(xì)調(diào)整,從而僅加密敏感數(shù) 據(jù)同時將數(shù)據(jù)頁內(nèi)剩余數(shù)據(jù)以未加密的形式保留。
0048本發(fā)明的前述描述說明了數(shù)據(jù)在關(guān)系數(shù)據(jù)庫管理系統(tǒng)和 操作系統(tǒng)之間的轉(zhuǎn)移。在本發(fā)明可替換的實(shí)施例中,該系統(tǒng)可被配置 成在操作系統(tǒng)緩存和文件系統(tǒng)之間,在文件系統(tǒng)和磁盤控制器之間, 在RDBMS內(nèi)的頁和行處理之間,或在RDBMS內(nèi)的行和列處理之間轉(zhuǎn)移數(shù)據(jù)。本領(lǐng)域技術(shù)人員可以認(rèn)識到如何移動本發(fā)明的轉(zhuǎn)移至任意 前述位置。
0049本發(fā)明的前面描述示出和說明本發(fā)明的優(yōu)選實(shí)施例。然 而,可以理解,本發(fā)明能夠以這里所表達(dá)的本發(fā)明概念、與上面教導(dǎo) 等效的原理和/或相關(guān)領(lǐng)域的技術(shù)或知識的范圍內(nèi)的各種其他組合和修 改使用。上述實(shí)施例計劃進(jìn)一步解釋實(shí)踐本發(fā)明的最佳模式,并使得 本領(lǐng)域技術(shù)人員以這種或其他實(shí)施例利用本發(fā)明,并用本發(fā)明的特定 應(yīng)用或用途要求的各種修改利用本發(fā)明。因此,本說明書不打算限制 本發(fā)明的范疇,本發(fā)明的范疇僅由所附的權(quán)利要求解釋。
權(quán)利要求
1.一種加密由關(guān)系數(shù)據(jù)庫管理系統(tǒng)存儲在數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)頁的方法,該方法包括以下步驟將指定用于存儲的數(shù)據(jù)頁分割到多個緩沖器中;將所述多個緩沖器提供給硬件加密引擎,以被同時加密;在所述硬件加密引擎完成所述多個緩沖器的加密后,在數(shù)據(jù)存儲系統(tǒng)中存儲所述數(shù)據(jù)頁,其中所述硬件加密引擎用所述多個經(jīng)加密的緩沖器重組所述數(shù)據(jù)頁。
2. 如權(quán)利要求1所述的方法,其中所述多個緩沖器的大小相等。
3. 如權(quán)利要求1所述的方法,其中所述硬件加密引擎包括多個通 道,且所述多個緩沖器中的每個緩沖器被提供給所述多個通道中相應(yīng) 的一個通道。
4. 如權(quán)利要求3所述的方法,其中緩沖器的數(shù)目等于通道數(shù)目。
5. 如權(quán)利要求1所述的方法,其中所述分割步驟包括為所述多個 緩沖器中的每個緩沖器確定所述數(shù)據(jù)頁內(nèi)的存儲地址,和其中所述提供步驟包括提供指向所述多個緩沖器中每個緩沖器的 存儲地址的指針給所述硬件加密引擎。
6. 如權(quán)利要求1所述的方法,進(jìn)一步包括將所述多個緩沖器提供 給硬件壓縮引擎,以被同時壓縮的步驟,其中所述數(shù)據(jù)頁是在所述硬件壓縮引擎完成所述多個緩沖器的壓 縮后存儲的。
7. —種用于以加密形式存儲關(guān)系數(shù)據(jù)庫的數(shù)據(jù)的安全的關(guān)系數(shù)據(jù) 庫系統(tǒng),所述系統(tǒng)包括計算機(jī)服務(wù)器,其具有處理器、存儲器和數(shù)據(jù)存儲系統(tǒng);操作系統(tǒng),其由所述計算機(jī)服務(wù)器中的所述處理器執(zhí)行,用于管理所述計算機(jī)服務(wù)器的所述處理器、所述存儲器和所述數(shù)據(jù)存儲系統(tǒng); 硬件加密引擎;關(guān)系數(shù)據(jù)庫管理系統(tǒng),其由所述計算機(jī)服務(wù)器中的所述處理器執(zhí) 行,用于管理存儲在所述數(shù)據(jù)存儲系統(tǒng)中的關(guān)系數(shù)據(jù)庫;用于在存儲由所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)寫入的數(shù)據(jù)頁到所述數(shù)據(jù) 存儲系統(tǒng)中之前,將用于存儲在所述數(shù)據(jù)存儲系統(tǒng)中的所述數(shù)據(jù)頁從 所述操作系統(tǒng)轉(zhuǎn)移至所述硬件加密引擎從而被加密的裝置;以及用于在所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)接收所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)讀 取的數(shù)據(jù)頁之前,將該數(shù)據(jù)頁從所述數(shù)據(jù)存儲系統(tǒng)轉(zhuǎn)移到所述硬件加 密引擎從而被解密的裝置。
8. 如權(quán)利要求7所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),進(jìn)一步包括用于將 所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)寫入的數(shù)據(jù)頁分割到多個緩沖器中,并將所 述多個緩沖器提供給所述硬件加密引擎從而被同時加密的裝置,其中所述硬件加密引擎用所述多個加密的緩沖器重組所述數(shù)據(jù)頁。
9. 如權(quán)利要求8所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中所述多個緩沖 器的大小相等。
10. 如權(quán)利要求8所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中所述硬件加密 引擎包括多個通道,且所述多個緩沖器的每個緩沖器被提供給所述多 個通道中的相應(yīng)一個通道。
11. 如權(quán)利要求10所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中緩沖器的數(shù) 目等于通道的數(shù)目。
12. 如權(quán)利要求8所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中所述用于分割 所述數(shù)據(jù)頁步驟的裝置包括為所述多個緩沖器中的每個緩沖器確定所 述數(shù)據(jù)頁內(nèi)的存儲地址,和其中用于提供所述多個緩沖器給所述硬件加密引擎的裝置提供指 向所述多個緩沖器中每個緩沖器的存儲地址的指針給所述硬件加密引擎。
13. 如權(quán)利要求7所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),進(jìn)一步包括 硬件壓縮引擎;用于在將所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)寫入的數(shù)據(jù)頁存儲在所述數(shù)據(jù) 存儲系統(tǒng)中之前,將該數(shù)據(jù)頁轉(zhuǎn)移至所述硬件壓縮引擎從而被壓縮的 裝置;和用于在所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)接收所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)讀 取的數(shù)據(jù)頁之前,將該數(shù)據(jù)頁轉(zhuǎn)移到所述硬件壓縮引擎從而被解壓縮 的裝置。
14. 一種安全的關(guān)系數(shù)據(jù)庫系統(tǒng),其用于以加密形式存儲關(guān)系數(shù)據(jù) 庫的數(shù)據(jù),該系統(tǒng)包括計算機(jī)服務(wù)器,其具有處理器、存儲器和數(shù)據(jù)存儲系統(tǒng); 操作系統(tǒng),其由所述計算機(jī)服務(wù)器中的所述處理器執(zhí)行,用于管 理所述處理器、所述存儲器和所述數(shù)據(jù)存儲系統(tǒng); 硬件加密引擎;關(guān)系數(shù)據(jù)庫管理系統(tǒng),其由所述計算機(jī)服務(wù)器中的所述處理器執(zhí) 行,用于管理存儲在所述數(shù)據(jù)存儲系統(tǒng)中的關(guān)系數(shù)據(jù)庫;其中在調(diào)用所述操作系統(tǒng)的寫入功能從而在所述數(shù)據(jù)存儲系統(tǒng)中 存儲數(shù)據(jù)頁之前,所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)被配置成將所述數(shù)據(jù)頁分 到多個緩沖器中,并將所述多個緩沖器提供給所述硬件加密引擎從而 被同時加密,其中所述硬件加密引擎用所述多個加密的緩沖器重組所 述數(shù)據(jù)頁。
15. 如權(quán)利要求14所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中所述多個緩 沖器的大小相等。
16. 如權(quán)利要求14所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中所述硬件加密引擎包括多個通道,且所述多個緩沖器中的每個緩沖器被提供給所 述多個通道中相應(yīng)的一個通道。
17. 如權(quán)利要求16所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中緩沖器的數(shù) 目等于通道的數(shù)目。
18. 如權(quán)利要求14所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),其中所述關(guān)系數(shù) 據(jù)庫管理系統(tǒng)被配置成為所述多個緩沖器中的每個緩沖器確定所述數(shù) 據(jù)頁內(nèi)的存儲地址,和其中所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)被配置成提供指向所述多個緩沖器 中每個緩沖器的存儲地址的指針給所述硬件加密引擎。
19. 如權(quán)利要求14所述的安全關(guān)系數(shù)據(jù)庫系統(tǒng),進(jìn)一步包括硬件 壓縮引擎,其中所述關(guān)系數(shù)據(jù)庫管理系統(tǒng)被配置成在調(diào)用所述操作系 統(tǒng)的寫入功能從而存儲所述數(shù)據(jù)頁到所述數(shù)據(jù)存儲系統(tǒng)中之前,提供 所述多個緩沖器給所述硬件壓縮引擎,從而被同時壓縮。
20. —種存儲在計算機(jī)可讀介質(zhì)中的計算機(jī)可執(zhí)行的程序代碼;所 述計算機(jī)可執(zhí)行的程序代碼用于加密由關(guān)系數(shù)據(jù)庫管理系統(tǒng)存儲在數(shù) 據(jù)存儲系統(tǒng)中的數(shù)據(jù)頁,所述計算機(jī)可執(zhí)行的程序代碼包括將指定用于存儲的數(shù)據(jù)頁分割到多個緩沖器中的代碼; 將所述多個緩沖器提供給硬件加密引擎,以被同時加密的代碼; 在所述硬件加密引擎完成所述多個緩沖器的加密后,在數(shù)據(jù)存儲 系統(tǒng)中存儲所述數(shù)據(jù)頁的代碼,其中所述硬件加密引擎用所述多個經(jīng)加密的緩沖器重組所述數(shù)據(jù)頁。
21. 如權(quán)利要求20所述的計算機(jī)可執(zhí)行程序代碼,其中所述多個 緩沖器的大小相等。
22. 如權(quán)利要求20所述的計算機(jī)可執(zhí)行程序代碼,其中所述硬件 加密引擎包括多個通道,且所述多個緩沖器中的每個緩沖器被提供給所述多個通道中相應(yīng)的一個通道。
23. 如權(quán)利要求22所述的計算機(jī)可執(zhí)行程序代碼,其中緩沖器的 數(shù)目等于通道數(shù)目。
24. 如權(quán)利要求20所述的計算機(jī)可執(zhí)行程序代碼,其中分割所述 數(shù)據(jù)頁的代碼為所述多個緩沖器中的每個緩沖器確定所述數(shù)據(jù)頁內(nèi)的 存儲地址,和其中提供所述多個緩沖器的代碼提供指向所述多個緩沖器中每個 緩沖器的存儲地址的指針給所述硬件加密引擎。
25. 如權(quán)利要求20所述的計算機(jī)可執(zhí)行程序代碼,進(jìn)一步包括將 所述多個緩沖器提供給硬件壓縮引擎從而被同時壓縮的代碼,其中所述數(shù)據(jù)頁是在所述硬件壓縮引擎已經(jīng)完成所述多個緩沖器 的壓縮后存儲的。
全文摘要
提供了一種利用非侵入式加密技術(shù)的安全關(guān)系數(shù)據(jù)庫系統(tǒng)。關(guān)系數(shù)據(jù)庫管理系統(tǒng)存儲或檢索的數(shù)據(jù)頁被轉(zhuǎn)移到多通道硬件加密引擎以供處理。每個數(shù)據(jù)頁被分到多個緩沖器中并分布在要被同時處理的硬件加密引擎的通道中。然后數(shù)據(jù)頁被重組并傳輸給其計劃的目的地。
文檔編號G06F17/00GK101288065SQ200680018338
公開日2008年10月15日 申請日期2006年3月28日 優(yōu)先權(quán)日2005年3月28日
發(fā)明者D·沙齊, S·弗羅斯特 申請人:德塔勒哥若公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
同江市| 乌鲁木齐县| 邵武市| 拜城县| 常山县| 三门峡市| 普陀区| 明星| 基隆市| 呼图壁县| 崇阳县| 岫岩| 石家庄市| 东阿县| 宜春市| 黎川县| 蓬莱市| 青海省| 犍为县| 乡城县| 商丘市| 朔州市| 新宁县| 吴堡县| 吉林省| 乐山市| 临澧县| 巨野县| 潼南县| 高要市| 双桥区| 甘泉县| 驻马店市| 敦化市| 乡宁县| 微山县| 临邑县| 井陉县| 额敏县| 大渡口区| 班戈县|