一種基于可信計(jì)算技術(shù)的數(shù)據(jù)庫(kù)安全保護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明基于可信計(jì)算技術(shù)提出一種數(shù)據(jù)庫(kù)安全保護(hù)方法,屬于數(shù)據(jù)庫(kù)安全領(lǐng)域。
【背景技術(shù)】
[0002]隨著信息化的發(fā)展,越來(lái)越多的數(shù)據(jù)被存儲(chǔ)在了數(shù)據(jù)庫(kù)中,無(wú)論是外部的病毒、木馬、黑客攻擊等威脅,還是內(nèi)部人員的惡意行為都能夠?qū)?shù)據(jù)庫(kù)系統(tǒng)產(chǎn)生嚴(yán)重的影響。為了應(yīng)對(duì)這些威脅,安全數(shù)據(jù)庫(kù)使用了各種安全機(jī)制如認(rèn)證、訪問(wèn)控制,審計(jì)等。然而,安全數(shù)據(jù)庫(kù)對(duì)于這些機(jī)制的實(shí)施的依據(jù)并沒(méi)有提供足夠的保護(hù)。這些數(shù)據(jù)庫(kù)安全相關(guān)數(shù)據(jù)一旦被篡改將會(huì)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)造成極其嚴(yán)重的影響。因此為了應(yīng)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)安全機(jī)制自身安全防護(hù)措施的滯后性帶來(lái)的數(shù)據(jù)安全威脅,有必要對(duì)數(shù)據(jù)庫(kù)中存放的數(shù)據(jù)庫(kù)安全相關(guān)數(shù)據(jù)進(jìn)行安全保護(hù)。
[0003]然而現(xiàn)有數(shù)據(jù)庫(kù)安全技術(shù)存在以下兩個(gè)顯著缺陷無(wú)法確保這些安全相關(guān)數(shù)據(jù)的安全:其一,安全相關(guān)數(shù)據(jù)的保護(hù)沒(méi)有和環(huán)境安全性綁定。傳統(tǒng)的數(shù)據(jù)庫(kù)安全相關(guān)數(shù)據(jù)的完整性保護(hù)措施通常建立在環(huán)境相對(duì)安全的前提下,例如操作系統(tǒng)中不存在病毒、木馬等,而這種假設(shè)很難成立。在系統(tǒng)環(huán)境已被破壞的情況下,安全數(shù)據(jù)庫(kù)即使對(duì)安全相關(guān)數(shù)據(jù)進(jìn)行了完整性保護(hù)也無(wú)法保證其完整性。這是由于在對(duì)安全相關(guān)數(shù)據(jù)在進(jìn)行完整性度量時(shí)缺少對(duì)系統(tǒng)環(huán)境安全性的檢測(cè),導(dǎo)致在非安全環(huán)境下安全相關(guān)數(shù)據(jù)產(chǎn)生的完整性度量值自身就是不可信的,而基于該值進(jìn)行完整性檢驗(yàn)就更加不可信了。而且在缺少對(duì)系統(tǒng)環(huán)境安全性的檢測(cè)的情況下,完整性度量值的驗(yàn)證結(jié)果也可以被篡改,也是不可信的。
[0004]其二,安全相關(guān)數(shù)據(jù)的保護(hù)沒(méi)有建立在硬件基礎(chǔ)上。傳統(tǒng)的數(shù)據(jù)庫(kù)安全相關(guān)數(shù)據(jù)的完整性保護(hù)通常建立在軟件方式實(shí)現(xiàn)的系統(tǒng)可信計(jì)算基(Trusted Computer Base, TCB)的安全性基礎(chǔ)上。這種軟件方式實(shí)現(xiàn)的TCB并不能完全阻止攻擊者對(duì)安全相關(guān)數(shù)據(jù)的篡改,例如能夠接觸數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部人員一旦是惡意的,那么他們能夠篡改安全相關(guān)數(shù)據(jù)數(shù)據(jù)而不被輕易發(fā)覺(jué),造成嚴(yán)重的損失。這是缺少硬件支持的安全數(shù)據(jù)庫(kù)方案無(wú)法解決的冋題。
[0005]總之,目前的安全數(shù)據(jù)庫(kù)中尚缺乏一種能夠安全存儲(chǔ)數(shù)據(jù)庫(kù)安全相關(guān)數(shù)據(jù),并將其安全機(jī)制的實(shí)施與系統(tǒng)環(huán)境、底層硬件安全性綁定的數(shù)據(jù)庫(kù)安全保護(hù)方法。
【發(fā)明內(nèi)容】
[0006]針對(duì)上述問(wèn)題,本發(fā)明提供了一種基于可信計(jì)算技術(shù)的數(shù)據(jù)庫(kù)安全保護(hù)方法,能夠確保數(shù)據(jù)庫(kù)安全機(jī)制實(shí)施的依據(jù)是可信的,即對(duì)身份信息、訪問(wèn)控制授權(quán)信息、審計(jì)配置信息及審計(jì)日志進(jìn)行完整性保護(hù),并將其完整性與系統(tǒng)環(huán)境及底層硬件相綁定,從而能夠有效發(fā)現(xiàn)遠(yuǎn)程攻擊者或內(nèi)部人員對(duì)這些數(shù)據(jù)庫(kù)安全相關(guān)數(shù)據(jù)的篡改。
[0007]該技術(shù)的基本原理為:利用安全芯片TCM/TPM產(chǎn)生的簽名密鑰對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)身份信息、授權(quán)信息、審計(jì)配置信息及審計(jì)日志等安全相關(guān)數(shù)據(jù)的表的完整性度量值進(jìn)行簽名保護(hù),指定使用該簽名密鑰的安全系統(tǒng)環(huán)境。由于該簽名密鑰受到安全芯片的硬件保護(hù),攻擊者無(wú)法直接獲得該密鑰,所以無(wú)法偽造簽名。同時(shí),由于該簽名密鑰的使用環(huán)境為數(shù)據(jù)庫(kù)的安全狀態(tài),所以攻擊者也無(wú)法通過(guò)篡改數(shù)據(jù)庫(kù)管理系統(tǒng)TCB來(lái)使用該簽名密鑰對(duì)篡改后的數(shù)據(jù)進(jìn)行簽名。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0009]一種基于可信計(jì)算技術(shù)的數(shù)據(jù)庫(kù)安全保護(hù)方法,在數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的基礎(chǔ)上,通過(guò)安全芯片及可信度量模塊實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的安全保護(hù),該方法具體包括:
[0010]I)采用該方法的系統(tǒng)基于安全芯片實(shí)施安全啟動(dòng),并構(gòu)建信任鏈,所述信任鏈中包括可信度量模塊及數(shù)據(jù)庫(kù)管理系統(tǒng)TCB ;同時(shí),所述安全芯片產(chǎn)生一個(gè)簽名密鑰,該簽名密鑰的使用環(huán)境指定為此信任鏈環(huán)境;
[0011]2)在通過(guò)安全機(jī)制向數(shù)據(jù)庫(kù)中寫(xiě)入安全相關(guān)數(shù)據(jù)時(shí),首先通過(guò)可信度量模塊對(duì)當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的安全狀態(tài)進(jìn)行可信度量;若當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB處于安全狀態(tài),則利用簽名密鑰對(duì)所述安全相關(guān)數(shù)據(jù)的完整性度量值進(jìn)行簽名,并將該安全相關(guān)數(shù)據(jù)及簽名值一起存入數(shù)據(jù)庫(kù)中;
[0012]3)在通過(guò)安全機(jī)制從數(shù)據(jù)庫(kù)中讀取所述安全相關(guān)數(shù)據(jù)時(shí),首先通過(guò)可信度量模塊對(duì)當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的安全狀態(tài)進(jìn)行可信度量;若當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB處于安全狀態(tài),則對(duì)所讀取的簽名值及安全相關(guān)數(shù)據(jù)的完整性進(jìn)行驗(yàn)證(即將當(dāng)前得到的完整性值和步驟2)中的得到的完整性值進(jìn)行比較,如果一樣就證明是安全的)。
[0013]進(jìn)一步地,所述安全機(jī)制包括:認(rèn)證機(jī)制、訪問(wèn)控制機(jī)制及審計(jì)機(jī)制,所述安全相關(guān)數(shù)據(jù)包括:身份信息、授權(quán)信息、審計(jì)配置信息及審計(jì)日志;所述認(rèn)證機(jī)制負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的身份信息進(jìn)行身份確認(rèn);訪問(wèn)控制機(jī)制負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的授權(quán)信息進(jìn)行訪問(wèn)控制;審計(jì)機(jī)制負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的審計(jì)配置信息進(jìn)行審計(jì)。
[0014]進(jìn)一步地,所述身份信息的寫(xiě)入流程包括以下步驟:
[0015]1-a)通過(guò)認(rèn)證機(jī)制獲取用戶的身份信息,并請(qǐng)求安全芯片的簽名密鑰;
[0016]Ι-b)利用可信度量模塊對(duì)當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的安全狀態(tài)進(jìn)行可信度量;
[0017]Ι-c)若數(shù)據(jù)庫(kù)管理系統(tǒng)TCB處于安全狀態(tài),認(rèn)證機(jī)制則利用簽名密鑰對(duì)身份信息的完整性值進(jìn)行簽名,然后將該信息及簽名值一起存入數(shù)據(jù)庫(kù)中。
[0018]進(jìn)一步地,所述身份信息的讀取流程包括以下步驟:
[0019]2-a)認(rèn)證機(jī)制從數(shù)據(jù)庫(kù)中讀取出身份信息及其簽名值;
[0020]2-b)認(rèn)證機(jī)制驗(yàn)證簽名值及身份信息的完整性。若通過(guò)檢測(cè),則可以進(jìn)行后繼的認(rèn)證操作,否則報(bào)告驗(yàn)證失敗。
[0021]進(jìn)一步地,所述授權(quán)信息的寫(xiě)入流程包括以下步驟:
[0022]3-a)通過(guò)訪問(wèn)控制機(jī)制獲得安全管理員的授權(quán)信息,并請(qǐng)求安全芯片的簽名密鑰;
[0023]3-b)利用可信度量模塊對(duì)當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的安全狀態(tài)進(jìn)行可信度量;
[0024]3-c)若數(shù)據(jù)庫(kù)管理系統(tǒng)TCB處于安全狀態(tài),訪問(wèn)控制機(jī)制則利用簽名密鑰對(duì)授權(quán)信息的完整性值進(jìn)行簽名,然后將授權(quán)信息及簽名值一起存入數(shù)據(jù)庫(kù)中。
[0025]進(jìn)一步地,所述授權(quán)信息的讀取流程包括以下步驟:
[0026]4-a)訪問(wèn)控制機(jī)制從數(shù)據(jù)庫(kù)中讀取出授權(quán)信息及其簽名值;
[0027]4-b)訪問(wèn)控制機(jī)制驗(yàn)證簽名值及授權(quán)信息的完整性。若通過(guò)檢測(cè),則按照此授權(quán)信息進(jìn)行訪問(wèn)控制,否則報(bào)告驗(yàn)證失敗。
[0028]進(jìn)一步地,所述審計(jì)配置信息的寫(xiě)入流程包括以下步驟:
[0029]5-a)通過(guò)審計(jì)機(jī)制獲得審計(jì)管理員的審計(jì)配置信息,并請(qǐng)求安全芯片的簽名密鑰;
[0030]5-b)利用可信度量模塊會(huì)對(duì)當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的安全狀態(tài)進(jìn)行可信度量;
[0031]5-c)若數(shù)據(jù)庫(kù)管理系統(tǒng)TCB處于安全狀態(tài),審計(jì)機(jī)制則利用簽名密鑰對(duì)審計(jì)配置信息的完整性值進(jìn)行簽名,然后將該信息及簽名值一起存入數(shù)據(jù)庫(kù)中。
[0032]進(jìn)一步地,所述審計(jì)配置信息的讀取流程包括以下步驟:
[0033]6-a)審計(jì)機(jī)制從數(shù)據(jù)庫(kù)中讀取出配置信息及其簽名值;
[0034]6-b)審計(jì)機(jī)制驗(yàn)證簽名值及配置信息的完整性。若通過(guò)檢測(cè),則按照此配置信息進(jìn)行審計(jì),否則報(bào)告驗(yàn)證失敗。
[0035]進(jìn)一步地,所述審計(jì)日志的寫(xiě)入流程包括以下步驟:
[0036]7-a)審計(jì)機(jī)制在進(jìn)行審計(jì)記錄前,請(qǐng)求安全芯片的簽名密鑰;
[0037]7-b)利用可信度量模塊會(huì)對(duì)當(dāng)前數(shù)據(jù)庫(kù)管理系統(tǒng)TCB的安全狀態(tài)進(jìn)行可信度量;
[0038]7-c)若數(shù)據(jù)庫(kù)管理系統(tǒng)TCB處于安全狀態(tài),審計(jì)機(jī)制則利用簽名密鑰對(duì)審計(jì)記錄的完整性值進(jìn)行簽名,然后將審計(jì)記錄及簽名值一起存入數(shù)據(jù)庫(kù)中。
[0039]進(jìn)一步地,上述步驟還包括:對(duì)原有審計(jì)日志的格式進(jìn)行修改,增加兩列屬性分別用于存儲(chǔ)計(jì)數(shù)值和完整性值,每次產(chǎn)生審計(jì)記錄時(shí),都由審計(jì)機(jī)制查詢由安全芯片提供的單調(diào)計(jì)數(shù)器的當(dāng)前的計(jì)數(shù)值,并利用安全芯片的簽名密鑰對(duì)該記錄的完整性值和計(jì)數(shù)器值一起進(jìn)行簽名并存儲(chǔ)。
[0040]進(jìn)一步地,所述審計(jì)日志的讀取流程包括以下步驟:
[0041]8-a)審計(jì)機(jī)制從數(shù)據(jù)庫(kù)中讀取出審計(jì)日志及其簽名值;
[0042]8-b)審計(jì)機(jī)制驗(yàn)證簽名值及審計(jì)記錄的完整性。若通過(guò)檢測(cè),則可以進(jìn)行后繼的審計(jì)查詢分析操作,否則報(bào)告驗(yàn)證失敗。
[0043]本發(fā)明的有益效果在于:
[0044]本發(fā)明將認(rèn)證機(jī)制、訪問(wèn)控制機(jī)制、審計(jì)機(jī)制等數(shù)據(jù)庫(kù)安全機(jī)制的實(shí)施依據(jù)一一身份信息、訪問(wèn)控制授權(quán)信息、審計(jì)配置信息及審計(jì)日志等安全相關(guān)數(shù)據(jù)建立在系統(tǒng)環(huán)境可信及硬件安全的基礎(chǔ)上,阻止敵手通過(guò)篡改上述依據(jù)進(jìn)而影響數(shù)據(jù)庫(kù)安全機(jī)制來(lái)達(dá)到各類攻擊目的的問(wèn)題。當(dāng)需要使用上述安全相關(guān)數(shù)據(jù)時(shí),本發(fā)明會(huì)對(duì)這些數(shù)據(jù)的完整性進(jìn)行驗(yàn)證,以確保這些數(shù)據(jù)沒(méi)有被非法篡改。在進(jìn)行完整性驗(yàn)證前,本發(fā)明還將利用可信度量技術(shù)對(duì)系統(tǒng)環(huán)境進(jìn)行檢驗(yàn),確保驗(yàn)證的結(jié)果是可信的。此外,安全相關(guān)數(shù)據(jù)的簽名密鑰也采用了硬件安全芯片進(jìn)行加密保護(hù),因此實(shí)現(xiàn)了基于硬件的安全。從而確保數(shù)據(jù)庫(kù)安全機(jī)制的安全相關(guān)數(shù)據(jù)不會(huì)被篡改,進(jìn)而提高了其中的數(shù)據(jù)庫(kù)管理系統(tǒng)的安全機(jī)制的安全。
【附圖說(shuō)明】
[0045]圖1是基于可信計(jì)算技術(shù)的數(shù)據(jù)庫(kù)安全保護(hù)方法架構(gòu)示意圖。
【具體實(shí)施方式】
[0046]下面將對(duì)
【發(fā)明內(nèi)容】
中所描述的關(guān)鍵技術(shù)模塊的具體實(shí)施做示例性解釋,但不以這種解釋限制發(fā)明的范圍。
[0047]本發(fā)明基于可信計(jì)算技術(shù)的數(shù)據(jù)庫(kù)安全保護(hù)方法的組成架構(gòu)參見(jiàn)圖1,主要包括安全芯片TCM/TPM、可信度量模塊、數(shù)據(jù)庫(kù)管理系統(tǒng)TCB中的認(rèn)證機(jī)制、訪問(wèn)控制機(jī)制及審計(jì)機(jī)制。其中,安全芯片負(fù)責(zé)提供信任根以及簽名密鑰;可信度量模塊負(fù)責(zé)在系統(tǒng)啟動(dòng)后形成的信任鏈基礎(chǔ)上對(duì)系統(tǒng)環(huán)境中的進(jìn)程或文件進(jìn)行可信度量;認(rèn)證機(jī)制則負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的身份信息進(jìn)行身份確認(rèn);訪問(wèn)控制機(jī)制則負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的授權(quán)信息進(jìn)行訪問(wèn)控制;審計(jì)機(jī)制則負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的審計(jì)配置信息進(jìn)行審計(jì)。
[0048]首先介紹一下安全芯片模塊、可信度量模塊這兩