本發(fā)明實(shí)施例涉及但不限于計(jì)算機(jī)技術(shù)和系統(tǒng)安全領(lǐng)域,尤指一種數(shù)據(jù)訪問(wèn)控制方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,電子信息的應(yīng)用逐步取代紙質(zhì)文件的使用,已成為用戶的主要信息來(lái)源和存儲(chǔ)方式?;诎踩嵌瓤紤],要保證信息資產(chǎn)的安全,業(yè)界主要集中關(guān)注信息安全的三元組為信息的保密性、完整性和可用性。
在安全操作系統(tǒng)(operatingsystem,簡(jiǎn)稱為:os)的多級(jí)安全模型中,針對(duì)信息的保密性,由davidbell和leonardlapadula在1973年提出一種安全性訪問(wèn)控制模型,即bell-lapadula(簡(jiǎn)稱為:blp)模型,該blp模型是一種基于狀態(tài)機(jī)的模型,是定義多級(jí)安全的基礎(chǔ),目前已被視為基本安全公理;針對(duì)信息的完整性,由畢巴(k.j.biba)在1977年提出一種完整性訪問(wèn)控制模型,即biba模型,該biba模型一個(gè)強(qiáng)制訪問(wèn)模型。目前的安全os中通過(guò)上述blp模型和biba模型來(lái)實(shí)現(xiàn)對(duì)信息的保護(hù),其中,blp模型是為保證信息的保密性而設(shè)計(jì)的,其實(shí)現(xiàn)原則為允許上寫和允許下讀,且禁止上讀和禁止下寫,從而保證數(shù)據(jù)的保密性;biba模型是為保護(hù)信息的完整性而設(shè)計(jì),其實(shí)現(xiàn)原則為允許上讀和允許下寫,且禁止下讀和禁止上寫,從而來(lái)保證數(shù)據(jù)的完整性。顯然地,基于blp模型和biba模型各自的設(shè)計(jì)原理而言,若在安全os中同時(shí)使用blp模型和biba模型,則會(huì)出現(xiàn)在安全級(jí)別和保密級(jí)別雙高或雙低的情況下,從而嚴(yán)重限制了主體的訪問(wèn)能力。因此,目前的安全os中只能選擇性使用blp模型或biba模型,即無(wú)法兼顧信息的保密性和完整性。
綜上所述,現(xiàn)有技術(shù)中的數(shù)據(jù)訪問(wèn)控制方式,由于只能選擇性的使用blp 模型或biba模型,從而造成了信息訪問(wèn)無(wú)法兼顧保密性和完整性的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)訪問(wèn)控制方法和裝置,以解決現(xiàn)有技術(shù)中的數(shù)據(jù)訪問(wèn)控制方式,由于只能選擇性的使用blp模型或biba模型,從而造成了信息訪問(wèn)無(wú)法兼顧保密性和完整性的問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問(wèn)控制方法,包括:
根據(jù)安全操作系統(tǒng)os中的當(dāng)前訪問(wèn)操作,調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,所述主體和所述客體的安全上下文中預(yù)先配置有用于指示安全級(jí)別的保密性標(biāo)簽;
根據(jù)所述主體和所述客體的安全級(jí)別,以及調(diào)整后的所述主體和所述客體的完整級(jí)別,執(zhí)行所述當(dāng)前訪問(wèn)操作。
在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,包括:
在完整級(jí)別較高的主體對(duì)完整級(jí)別較低的客體執(zhí)行讀操作時(shí),將所述主體的完整級(jí)別降低為所述客體的完整級(jí)別;或者,
在完整級(jí)別較低的主體對(duì)完整級(jí)別較高的客體執(zhí)行寫操作時(shí),將所述客體的完整級(jí)別降低為所述主體的完整級(jí)別。
在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,包括:
通過(guò)修改命令所指示的完整級(jí)別,將所述主體或所述客體的安全上下文中的完整性標(biāo)簽調(diào)整為相應(yīng)的完整級(jí)別。
根據(jù)第一方面、第一方面的第一種到第二種可能的實(shí)現(xiàn)方式中任意一種,在第三種可能的實(shí)現(xiàn)方式中,所述調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別之前,還包括:
分別在所述主體和所述客體的安全上下文中配置所述完整性標(biāo)簽。
根據(jù)第一方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述在所述主體的安全上下文中添加所述完整性標(biāo)簽,包括:
在所述安全os中進(jìn)行用戶登陸的過(guò)程中對(duì)所述主體的安全上下文進(jìn)行初始化配置;
通過(guò)讀取預(yù)置的主體完整性級(jí)別配置文件,在所述主體的安全上下文中添加所述完整性標(biāo)簽。
根據(jù)第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述主體完整性級(jí)別配置文件中包括第一級(jí)別調(diào)整參數(shù),所述第一級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“下讀”操作權(quán)限,所述第一級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“下讀”操作權(quán)限。
根據(jù)第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述第一級(jí)別調(diào)整參數(shù)的初始值為1。
根據(jù)第一方面的第三種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述在所述客體的安全上下文中配置所述完整性標(biāo)簽,包括:
在所述安全os啟動(dòng)的過(guò)程中對(duì)所述客體的安全上下文進(jìn)行初始化配置;
通過(guò)讀取預(yù)置的客體完整性級(jí)別配置文件,在所述客體的安全上下文中配置所述完整性標(biāo)簽。
根據(jù)第一方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述客體完整性級(jí)別配置文件中包括第二級(jí)別調(diào)整參數(shù),所述第二級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“上寫”操作權(quán)限,所述第二級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“上寫”操作權(quán)限。
根據(jù)第一方面的第八種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述第二級(jí)別調(diào)整參數(shù)的初始值為0。
第二方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問(wèn)控制裝置,所述數(shù)據(jù)訪問(wèn)控制裝置包括:相連接的調(diào)整模塊和訪問(wèn)模塊;
所述調(diào)整模塊,配置為能夠根據(jù)安全操作系統(tǒng)os中的當(dāng)前訪問(wèn)操作,調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,所述主體和所述客體的安全上下文中預(yù)先配置有用于指示安全級(jí)別的保密性標(biāo)簽;
所述訪問(wèn)模塊,配置為能夠根據(jù)所述主體和所述客體的安全級(jí)別,以及 所述調(diào)整模塊調(diào)整后的所述主體和所述客體的完整級(jí)別,執(zhí)行所述當(dāng)前訪問(wèn)操作。
在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述調(diào)整模塊配置為能夠調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,包括:
配置為能夠在完整級(jí)別較高的主體對(duì)完整級(jí)別較低的客體執(zhí)行讀操作時(shí),將所述主體的完整級(jí)別降低為所述客體的完整級(jí)別;或者,
配置為能夠在完整級(jí)別較低的主體對(duì)完整級(jí)別較高的客體執(zhí)行寫操作時(shí),將所述客體的完整級(jí)別降低為所述主體的完整級(jí)別。
在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述調(diào)整模塊配置為能夠調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,包括:
配置為能夠通過(guò)修改命令所指示的完整級(jí)別,將所述主體或所述客體的安全上下文中的完整性標(biāo)簽調(diào)整為相應(yīng)的完整級(jí)別。
根據(jù)第二方面、第二方面的第一種到第二種可能的實(shí)現(xiàn)方式中任意一種,在第三種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)訪問(wèn)控制裝置還包括:分別與所述調(diào)整模塊和所述訪問(wèn)模塊相連接的配置模塊,配置為能夠在所述調(diào)整模塊調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別之前,分別在所述主體和所述客體的安全上下文中配置所述完整性標(biāo)簽。
根據(jù)第二方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述配置模塊包括:相連接的初始化單元和配置單元;
所述初始化單元,配置為能夠在所述安全os中進(jìn)行用戶登陸的過(guò)程中對(duì)所述主體的安全上下文進(jìn)行初始化配置;
所述配置單元,配置為能夠通過(guò)讀取預(yù)置的主體完整性級(jí)別配置文件,在所述初始化單元初始化后的主體的安全上下文中添加所述完整性標(biāo)簽。
根據(jù)第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述主體完整性級(jí)別配置文件中包括第一級(jí)別調(diào)整參數(shù),所述第一級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“下讀”操作權(quán)限,所述第一級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“下讀”操作權(quán)限。
根據(jù)第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中, 所述第一級(jí)別調(diào)整參數(shù)的初始值為1。
根據(jù)第二方面的第三種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述配置模塊包括:相連接的初始化單元和配置單元;
所述初始化單元,配置為能夠在所述安全os啟動(dòng)的過(guò)程中對(duì)所述客體的安全上下文進(jìn)行初始化配置;
所述配置單元,配置為能夠通過(guò)讀取預(yù)置的客體完整性級(jí)別配置文件,在所述初始化單元初始化后的客體的安全上下文中配置所述完整性標(biāo)簽。
根據(jù)第二方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述客體完整性級(jí)別配置文件中包括第二級(jí)別調(diào)整參數(shù),所述第二級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“上寫”操作權(quán)限,所述第二級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“上寫”操作權(quán)限。
根據(jù)第二方面的第八種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述第二級(jí)別調(diào)整參數(shù)的初始值為0。
本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法和裝置,根據(jù)安全os中的當(dāng)前訪問(wèn)操作,通過(guò)調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,該安全上下文中預(yù)先配置有指示安全級(jí)別的保密性標(biāo)簽,通過(guò)上述調(diào)整,根據(jù)主體和客體的安全級(jí)別,以及調(diào)整后的完整級(jí)別,執(zhí)行當(dāng)前訪問(wèn)操作;本發(fā)明實(shí)施例中通過(guò)在blp模型的基礎(chǔ)上實(shí)現(xiàn)biba模型,將完整性標(biāo)簽和保密性標(biāo)簽設(shè)置在同一安全上下文中,并且可以根據(jù)當(dāng)前訪問(wèn)操作動(dòng)態(tài)調(diào)整完整級(jí)別,以實(shí)現(xiàn)blp模型與biba模型共存的應(yīng)用方式,解決了現(xiàn)有技術(shù)中的數(shù)據(jù)訪問(wèn)控制方式,由于只能選擇性的使用blp模型或biba模型,從而造成了信息訪問(wèn)無(wú)法兼顧保密性和完整性的問(wèn)題。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
圖1為現(xiàn)有技術(shù)中blp模型中一種數(shù)據(jù)訪問(wèn)控制原理的示意圖;
圖2為現(xiàn)有技術(shù)中blp模型中另一種數(shù)據(jù)訪問(wèn)控制原理的示意圖;
圖3為現(xiàn)有技術(shù)中biba模型中一種數(shù)據(jù)訪問(wèn)控制原理的示意圖;
圖4為現(xiàn)有技術(shù)中biba模型中另一種數(shù)據(jù)訪問(wèn)控制原理的示意圖;
圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制方法的流程圖;
圖6為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)訪問(wèn)控制方法的流程圖;
圖7為圖6所示實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法中一種模型應(yīng)用示意圖;
圖8為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)訪問(wèn)控制方法的流程圖;
圖9為圖8所示實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制方法中一種應(yīng)用場(chǎng)景示意圖;
圖10為圖8所示實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制方法中另一種應(yīng)用場(chǎng)景示意圖;
圖11為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制裝置的結(jié)構(gòu)示意圖;
圖12為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)訪問(wèn)控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
blp模型是實(shí)現(xiàn)信息保密性的控制策略,該保密性控制策略僅對(duì)主體和客體間的讀寫進(jìn)行限制。保密性控制策略的規(guī)則如下:
1)、低保密性的主體禁止讀取高保密性的客體,即禁止上讀,如圖1所示,為現(xiàn)有技術(shù)中blp模型中一種數(shù)據(jù)訪問(wèn)控制原理的示意圖。
2)、高保密性的主體禁止寫入低保密性的客體,即禁止下寫,如圖2所示,為現(xiàn)有技術(shù)中blp模型中另一種數(shù)據(jù)訪問(wèn)控制原理的示意圖。
上述規(guī)則指示不允許低安全級(jí)別的用戶讀高敏感度的信息,也不允許高敏感度的信息寫入低敏感度區(qū)域,即禁止信息從高級(jí)別流向低級(jí)別。保密性 控制策略通過(guò)這種梯度式的安全標(biāo)簽實(shí)現(xiàn)信息的單向流通,實(shí)現(xiàn)了信息只能按照安全等級(jí)從下往上流動(dòng),或者根據(jù)策略的規(guī)定在同安全級(jí)別間流動(dòng)。
biba模型是實(shí)現(xiàn)信息完整性的控制策略,該完整性控制策略同樣僅對(duì)主體和客體間的讀寫進(jìn)行限制。完整性控制策略的規(guī)則如下:
1)、高完整性的主體禁止讀取低完整性的客體,即禁止下讀,如圖3所示,為現(xiàn)有技術(shù)中biba模型中一種數(shù)據(jù)訪問(wèn)控制原理的示意圖。
2)、低完整性的主體禁止寫入高完整性的客體,即禁止上寫,如圖4所示,為現(xiàn)有技術(shù)中biba模型中另一種數(shù)據(jù)訪問(wèn)控制原理的示意圖。
在實(shí)際應(yīng)用中,完整性控制策略主要是為了避免應(yīng)用程序修改某些重要的系統(tǒng)程序或系統(tǒng)數(shù)據(jù)庫(kù)。iba模型規(guī)定信息只能從高完整等級(jí)向低完整等級(jí)流動(dòng),也就是要防止低完整等級(jí)的信息“污染”高完整等級(jí)的信息。
通過(guò)上述blp模型和biba模型的原理介紹,顯然地,在一個(gè)安全os中無(wú)法實(shí)現(xiàn)blp模型和biba模型共存的要求,由于blp模型和biba模型的訪問(wèn)存在矛盾,因此,在一個(gè)安全os中只能選擇使用blp模型或biba模型,即必須選擇性犧牲信息的保密性或完整性。如何同時(shí)滿足安全os對(duì)信息保密性和完整性的要求,成為業(yè)界目前共同期待亟需解決的問(wèn)題。
下面通過(guò)具體的實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明,本發(fā)明以下各實(shí)施例中的安全os例如可以是windows系統(tǒng)、linux系統(tǒng)或其它安全os,執(zhí)行本發(fā)明各實(shí)施例的終端設(shè)備例如具有上述安全os系統(tǒng)的計(jì)算機(jī)。本發(fā)明提供以下幾個(gè)具體的實(shí)施例可以相互結(jié)合,對(duì)于相同或相似的概念或過(guò)程可能在某些實(shí)施例不再贅述。
圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制方法的流程圖。本實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法適用于執(zhí)行數(shù)據(jù)讀寫訪問(wèn)的情況中,該方法可以由數(shù)據(jù)訪問(wèn)控制裝置執(zhí)行,該數(shù)據(jù)訪問(wèn)控制裝置通過(guò)硬件和軟件結(jié)合的方式來(lái)實(shí)現(xiàn),該裝置可以集成在終端設(shè)備的處理器中,供處理器調(diào)用使用。如圖5所示,本實(shí)施例的方法可以包括:
s110,根據(jù)安全os中的當(dāng)前訪問(wèn)操作,調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,該主體和客體的安全上下文中預(yù)先配置有用于指 示安全級(jí)別的保密性標(biāo)簽。
本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法,為在安全os中執(zhí)行數(shù)據(jù)訪問(wèn)時(shí)進(jìn)行保密性控制和完整性控制的方式。為了確保數(shù)據(jù)保密性,本發(fā)明各實(shí)施例中的訪問(wèn)控制基于安全性訪問(wèn)控制模型,例如基于blp模型,安全os將計(jì)算機(jī)信息系統(tǒng)中的實(shí)體分為主體和客體兩部分,其中,主體和客體的定義為:
主體:凡是實(shí)施操作的稱為主體,例如用戶和進(jìn)程。
客體:凡是被操作的對(duì)象則稱為客體,例如文件、數(shù)據(jù)庫(kù)等。
安全os還為每個(gè)主體和客體都配置了一個(gè)安全上下文(securitycontext),該安全上下文是對(duì)主體或客體的安全描述,類似于文件系統(tǒng)的rwx權(quán)限,存放于文件的索引節(jié)點(diǎn)(eye-node,簡(jiǎn)稱為:inode)內(nèi)。該安全上下文的格式可以為:
用戶:角色:類型:安全級(jí)別。其中,用“:”號(hào)進(jìn)行分隔。
該安全上下文的格式還可以表示為:
user_u:object_r:tmp_t:敏感屬性+分類屬性;
上述格式中,user_u為用戶(user),object_r為角色(role),tmp_t為類型(type),其中,安全級(jí)別(securitylevel,簡(jiǎn)稱為:sl)=敏感屬性+分類屬性,可以采用保密性標(biāo)簽指示sl,例如通過(guò)屬性字段“s”表示保密性標(biāo)簽。
在本實(shí)施例中,基于上述安全os中的blp模型和支撐該blp模型的安全上下文,用戶可以通過(guò)命令“l(fā)s-z文件名”查看某個(gè)文件的安全上下文,如查看文件linux系統(tǒng)中/etc/shadow文件的安全上下文,可以輸入如下命令:
#ls-z/etc/shadow;得到的安全上下文信息為:
-r--------.rootrootsystem_u:object_r:shadow_t:s0-s15/etc/shadow;其中,“system_u:object_r:shadow_t:s0-s15”即為文件shadow的安全上下文格式,其中,“s0-s15”為文件shadow的保密性標(biāo)簽,表示sl的級(jí)別為0到15。
本實(shí)施例的安全os中,可以將完整性標(biāo)簽分為兩大類:有完整性標(biāo)簽和無(wú)完整性標(biāo)簽。完整性標(biāo)簽定義如下:
i0<i1<i2<i3<...<i[n],其中0<=n<=15。
上述表達(dá)式中,i0表示主體或客體無(wú)完整性標(biāo)簽;[i1,i15]表示主體或客體有完整性標(biāo)簽。完整性標(biāo)簽通過(guò)在主體和客體的安全上下文中的新增字段“i”來(lái)實(shí)現(xiàn)。例如,新增完整性標(biāo)簽的客體安全上下文如下:
如:user_u:object_r:user_home_t:s0:i1
#ll-ztest
-rw-r--r--.rootrootuser_u:object_r:user_home_t:s0:i1test
其中i[n]是新增完整性標(biāo)簽,在當(dāng)前安全上下文的末尾添加。
再例如,針對(duì)用戶的安全上下文如下:
#id-z
user_u:user_r:user_t:s0:i8
可以看出,增加有完整性標(biāo)簽的安全上下文的格式可以表示為:
user_u:object_r:tmp_t:敏感屬性+分類屬性:完整級(jí)別;
上述格式中,user_u為用戶(user),object_r為角色(role),tmp_t為類型(type),其中,安全級(jí)別(securitylevel,簡(jiǎn)稱為:sl)=敏感屬性+分類屬性,保密性標(biāo)簽例如通過(guò)屬性字段“s”來(lái)表示,完整性標(biāo)簽例如通過(guò)屬性字段“i”來(lái)表示。另外,完整性標(biāo)簽i[n]和保密性標(biāo)簽s[n]分別代表主體、客體的完整級(jí)別和安全級(jí)別維度的標(biāo)識(shí),完整性標(biāo)簽與保密性標(biāo)簽不同,主體和客體的完整級(jí)別只是單級(jí)不能設(shè)置范圍。
本發(fā)明實(shí)施例為了便于主體和客體的完整性標(biāo)簽描述簡(jiǎn)單且易于理解,同時(shí)又能兼顧數(shù)據(jù)保密性的設(shè)計(jì),在上述blp模型中主體和客體的安全上下文格式的基礎(chǔ)上,本實(shí)施例中主體和客體的安全上下文中還具有指示完整級(jí)別的完整性標(biāo)簽,例如,在上述安全上下文的末尾增加屬性字段“i”來(lái)表示數(shù)據(jù)的完整性標(biāo)簽,從而有效實(shí)現(xiàn)對(duì)數(shù)據(jù)完整性的保護(hù)。本實(shí)施例通過(guò)在blp模型中主體和客體的安全上下文中增加可以表示數(shù)據(jù)完整性的標(biāo)簽,從而在 blp模型的基礎(chǔ)上實(shí)現(xiàn)biba模型,并且可以按照當(dāng)前訪問(wèn)操作的需求對(duì)主體或客體的完整性標(biāo)簽所指示的完整級(jí)別進(jìn)行調(diào)整,從而在blp模型的基礎(chǔ)上實(shí)現(xiàn)了非嚴(yán)格策略的biba模型,即“低水印biba模型”。
s120,根據(jù)主體和客體的安全級(jí)別,以及調(diào)整后的主體和客體的完整級(jí)別,執(zhí)行所述當(dāng)前訪問(wèn)操作。
在本實(shí)施例中,已經(jīng)根據(jù)當(dāng)前訪問(wèn)操作,例如一個(gè)進(jìn)程的安全級(jí)別和完整級(jí)別對(duì)“讀”操作和“寫”操作的限制出現(xiàn)沖突,調(diào)整了主體或客體的完整級(jí)別。例如,進(jìn)程a的標(biāo)簽為(s3:i2)需要向完整級(jí)別為i1的客體執(zhí)行“讀”操作,由于biba模型的限制,無(wú)法執(zhí)行“下讀”操作,此時(shí),通過(guò)本實(shí)施例提供的訪問(wèn)控制方法,可以將進(jìn)程a的完整性標(biāo)簽的完整級(jí)別由i2降低為i1,此時(shí),進(jìn)程a的標(biāo)簽為(s3:i1),即可執(zhí)行對(duì)客體(i1)的下讀操作。
相比之下,現(xiàn)有技術(shù)中的blp模型和biba模型是兩個(gè)獨(dú)立的模型,并且blp模型嚴(yán)格遵守“禁止上讀、禁止下寫”的原則,biba模型嚴(yán)格遵守“禁止下讀、禁止上寫”的原則,結(jié)合下表1中完整性和保密性共存的訪問(wèn)許可矩陣。
表1
顯然地,在完整性和保密性共存的訪問(wèn)許可矩陣中的每行和每列中,blp模型和biba模型的共存都嚴(yán)格遵循blp模型和biba模型的原則,只要出現(xiàn)跨行或者跨列的訪問(wèn)情形,就無(wú)法實(shí)現(xiàn)blp模型和biba模型共存。并且在完整性和保密性級(jí)別雙高或雙低的情況下,嚴(yán)重限制了主體的訪問(wèn)能力,即共存模型中存在信息孤島的問(wèn)題。
本實(shí)施例提供的訪問(wèn)控制模型,通過(guò)重新設(shè)計(jì)blp模型和biba模型工作的方式,實(shí)現(xiàn)模型共存的方式并非兩個(gè)獨(dú)立的模型,而是在blp模型的基礎(chǔ)上設(shè)計(jì)biba模型,并且biab模型中的完整性標(biāo)簽可以根據(jù)當(dāng)前訪問(wèn)操作,進(jìn)行調(diào)整,以實(shí)現(xiàn)一種“低水印biba模型”,從而可以兼顧數(shù)據(jù)訪問(wèn)的保密性和完整性。
本實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法,根據(jù)安全os中的當(dāng)前訪問(wèn)操作,通過(guò)調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,該安全上下文中預(yù)先配置有指示安全級(jí)別的保密性標(biāo)簽,通過(guò)上述調(diào)整,根據(jù)主體和客體的安全級(jí)別,以及調(diào)整后的完整級(jí)別,執(zhí)行當(dāng)前訪問(wèn)操作;本實(shí)施例中通過(guò)在blp模型的基礎(chǔ)上實(shí)現(xiàn)biba模型,將完整性標(biāo)簽和保密性標(biāo)簽設(shè)置在同一安全上下文中,并且可以根據(jù)當(dāng)前訪問(wèn)操作動(dòng)態(tài)調(diào)整完整級(jí)別,以實(shí)現(xiàn)blp模型與biba模型共存的應(yīng)用方式,解決了現(xiàn)有技術(shù)中的數(shù)據(jù)訪問(wèn)控制方式,由于只能選擇性的使用blp模型或biba模型,從而造成了信息訪問(wèn)無(wú)法兼顧保密性和完整性的問(wèn)題。
可選地,圖6為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)訪問(wèn)控制方法的流程圖,在上述圖5所示實(shí)施例的基礎(chǔ)上,本實(shí)施例中調(diào)整主體或客體的具體方式,即上述實(shí)施例中的s110可以包括:
s111,在完整級(jí)別較高的主體對(duì)完整級(jí)別較低的客體執(zhí)行讀操作時(shí),將主體的完整級(jí)別降低為客體的完整級(jí)別?;蛘呖梢园ǎ?/p>
s112,在完整級(jí)別較低的主體對(duì)完整級(jí)別較高的客體執(zhí)行寫操作時(shí),將客體的完整級(jí)別降低為主體的完整級(jí)別。
在本實(shí)施例中,如圖7所示,為圖6所示實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法中一種模型應(yīng)用示意圖。本實(shí)施例提供的訪問(wèn)控制方法中,對(duì)于共存的blp模型和biba模型,約定主體和客體的完整級(jí)別的調(diào)整是永久生效的。圖7中的進(jìn)程a的保密性標(biāo)簽和完整性標(biāo)簽為(s3:i2),即中間方框,安全級(jí)別為“s3,機(jī)密”,完整級(jí)別為“i2,中完整度”,現(xiàn)有技術(shù)中blp模型和biba模型共存的情況中,限制了主體對(duì)不同安全級(jí)別和完整級(jí)別的客體的讀寫操作,圖中的“r”和“w”為現(xiàn)有技術(shù)的共存模型可以執(zhí)行的讀寫操作,采用本實(shí)施例提供的方法實(shí)現(xiàn)的“低水印biba模型”,可以實(shí)現(xiàn)圖7 中“r(2)”和“w(3)”的訪問(wèn)許可。
舉例來(lái)說(shuō),若進(jìn)程a(s3:i2)需要執(zhí)行的當(dāng)前操作為r(2),由于該進(jìn)程a完整級(jí)別高于客體i1的完整級(jí)別,因此將該進(jìn)程a的完整級(jí)別調(diào)整為i1,即進(jìn)程a執(zhí)行r(2)操作后,該進(jìn)程a的級(jí)別調(diào)整為(s3:i1)。
再舉例來(lái)說(shuō),若進(jìn)程a(s3:i2)需要執(zhí)行的當(dāng)前操作為w(3),由于w(3)操作中客體的完整級(jí)別高于進(jìn)程a的完整級(jí)別,因此將該客體的完整級(jí)別由i3調(diào)整為i2,即進(jìn)程a執(zhí)行w(3)操作后,被寫入文件的完整級(jí)別調(diào)整為i2。
進(jìn)一步地,本實(shí)施例中對(duì)主體或客體的完整級(jí)別的調(diào)整方式,即上述實(shí)施例中的s110還可以為:s113,通過(guò)修改命令所指示的完整級(jí)別,將主體或客體的安全上下文中的完整性標(biāo)簽調(diào)整為相應(yīng)的完整級(jí)別。
在本實(shí)施例中,用戶或設(shè)計(jì)人員可以當(dāng)前訪問(wèn)需求,或者主體或客體對(duì)完整級(jí)別范圍要求,可以自行調(diào)整主體或客體的完整級(jí)別,可以通過(guò)設(shè)置命令,即“chcon命令”來(lái)設(shè)置完整級(jí)別的參數(shù)“i”。
例如,如設(shè)置/root以及目錄下所有的文件和子目錄的完整性標(biāo)簽為i2。
#chcon-ii2-r/root
通過(guò)上述命令,/root目錄下面的文件的完整性級(jí)別就會(huì)全部被修改為i2,其格式形如:
user_u:user_r:user_t:s0:i2
需要說(shuō)明的是,本實(shí)施例中的s111、s112和s113為選擇執(zhí)行的,通常根據(jù)當(dāng)前進(jìn)程執(zhí)行訪問(wèn)的類型,以及主體和客體的完整性級(jí)別選擇其中一種方式進(jìn)行調(diào)整;另外,用戶或設(shè)計(jì)人員可以根據(jù)需求在任意時(shí)刻執(zhí)行s113。
在本發(fā)明各實(shí)施例中,主體和客體安全上下文中的完整性標(biāo)簽是預(yù)先配置的,如圖8為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)訪問(wèn)控制方法的流程圖,在上述圖5所示實(shí)施例的基礎(chǔ)上,本實(shí)施例在s110之前還包括:s100,分別在主體和客體的安全上下文中配置完整性標(biāo)簽。
本實(shí)施例在具體實(shí)現(xiàn)中,客體的安全上下文中配置完整性標(biāo)簽的方式可以包括:
s101,在安全os啟動(dòng)的過(guò)程中對(duì)客體的安全上下文進(jìn)行初始化配置。
s102,通過(guò)讀取預(yù)置的客體完整性級(jí)別配置文件,在客體的安全上下文中配置所述完整性標(biāo)簽。
本實(shí)施例中客體完整性級(jí)別配置文件例如為:/etc/selinux/file_lomac
配置文件的結(jié)構(gòu)如下:
<file/directorypath><integritylevel>
/etc/*12
/root/test.txt2
此時(shí)可以在系統(tǒng)中通過(guò)命令“l(fā)s-z”查看客體的完整性級(jí)別,例如:
#ls-z/root/test.txt
得到的查看結(jié)果為:user_u:user_r:user_t:s0:i2。
需要說(shuō)明的是:上述user_u、user_r、user_t、s0可能會(huì)因?yàn)榫唧w情況而變化,這里只是為了說(shuō)明文件/root/test.txt的完整性級(jí)別為i2,至于前面的“用戶:角色:類型:安全級(jí)別”是為了更好的說(shuō)明文件后面的完整性級(jí)別i2。
其格式為:
用戶:角色:類型:安全級(jí)別:完整級(jí)別,即完整性級(jí)別是繼安全級(jí)別后的一種擴(kuò)展。同理可以利用命令“l(fā)s-d”查看/etc/目錄的完整性級(jí)別,例如:
#ls-d-z/etc/
得到的查看結(jié)果為:user_u:user_r:user_t:s0:i12。該表達(dá)式中的“用戶:角色:類型:安全級(jí)別”與上述描述相同,故不再贅述。
如圖9所示,為圖8所示實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制方法中一種應(yīng)用場(chǎng)景示意圖,圖9為在客體的安全上下文中配置完整性標(biāo)簽的應(yīng)用場(chǎng)景,在客體的安全上下文中配置完整性標(biāo)簽,通常在系統(tǒng)啟動(dòng)階段由0號(hào)進(jìn)程完成完整性標(biāo)簽的初始配置,具體包括:
s210,多操作系統(tǒng)啟動(dòng)程序(grandunifiedbootloader,簡(jiǎn)稱為:grub)和小內(nèi)核啟動(dòng)。
s220,切換根文件系統(tǒng)。
s230,啟動(dòng)0號(hào)進(jìn)程(systemd)。
s240,調(diào)用rhel-autorelabel腳本。
s250,初始化客體的完全上下文。
s260,讀取客體完整性配置文件。該完整性配置文件在上述實(shí)施例中已經(jīng)具體說(shuō)明,故在此不再贅述。
s270,系統(tǒng)服務(wù)啟動(dòng)階段。
另外,圖8所示實(shí)施例在具體實(shí)現(xiàn)中,主體的安全上下文中配置完整性標(biāo)簽的方式可以包括:
s103,在安全os中進(jìn)行用戶登陸的過(guò)程中對(duì)主體的安全上下文進(jìn)行初始化配置。
s104,通過(guò)讀取預(yù)置的主體完整性級(jí)別配置文件,在主體的安全上下文中添加完整性標(biāo)簽。
本實(shí)施例中主體完整性級(jí)別配置文件例如為:/etc/selinux/user_lomac
配置文件的結(jié)構(gòu)如下:
<username><integritylevel>
test10
#test用戶設(shè)置的完整標(biāo)簽級(jí)別為10,此時(shí)可以在系統(tǒng)中通過(guò)命令“id-z”查看用戶的完整性級(jí)別,例如:
#id-z
得到的查看結(jié)果為:user_u:user_r:user_t:s0:i10。
如圖10所示,為圖8所示實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制方法中另一種應(yīng)用場(chǎng)景示意圖,圖10為在主體的安全上下文中配置完整性標(biāo)簽的應(yīng)用場(chǎng)景,在主體的安全上下文中配置完整性標(biāo)簽,通常通過(guò)內(nèi)核態(tài)組件和用戶態(tài)組件的協(xié)同操作完成完整性標(biāo)簽的初始配置,具體包括:
s310,用戶登陸并進(jìn)行身份認(rèn)證。
s320,密碼檢驗(yàn)。
s311,會(huì)話初始化。
s321,初始化主體的完全上下文。
s322,讀取主體完整性配置文件。該完整性配置文件在上述實(shí)施例中已經(jīng)具體說(shuō)明,故在此不再贅述。
s312,后續(xù)初始化設(shè)置。
s313,成功登陸。
需要說(shuō)明的是,圖9所示應(yīng)用場(chǎng)景中的s310、s311和s312~s313,為在用戶態(tài)組件上執(zhí)行的操作,該用戶態(tài)組件例如是具有圖形用戶界面(graphicaluserinterface,簡(jiǎn)稱為:gui)的終端;s320和s321~s322為在內(nèi)核態(tài)組件上執(zhí)行的操作,該內(nèi)核態(tài)組件例如是可插拔認(rèn)證(pluggableauthenticationmodules,簡(jiǎn)稱為:pam)模塊。
還需要說(shuō)明的,圖8所示實(shí)施例中對(duì)主體和客體配置完整性標(biāo)簽,通常為在系統(tǒng)啟動(dòng)階段先配置客體的完整性標(biāo)簽,在系統(tǒng)啟動(dòng)后,通過(guò)用戶登陸來(lái)配置主體的完整性標(biāo)簽;即圖8所示實(shí)施例中的s101~s102在s103~s104之前執(zhí)行。
本發(fā)明各實(shí)施例在具體實(shí)現(xiàn)中,可以通過(guò)“低水印biba模型”的外部接口設(shè)計(jì)調(diào)整完整級(jí)別,該外部接口可以是在配置主體和客體完整性配置文件中設(shè)計(jì)的。具體地,本實(shí)施例中主體完整性級(jí)別配置文件中可以包括第一級(jí)別調(diào)整參數(shù),例如參數(shù)“l(fā)omac”,該第一級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“下讀”操作權(quán)限,即允許將主體的完整級(jí)別由高調(diào)低,該第一級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“下讀”操作權(quán)限,即禁止將主體的完整級(jí)別由高調(diào)低;另外,第一級(jí)別調(diào)整參數(shù)的初始值為1,即默認(rèn)開(kāi)啟基于主體“下讀”操作權(quán)限。本實(shí)施例通過(guò)在策略的biba模型基礎(chǔ)上,允許“下讀”操作,當(dāng)主體讀較低完整級(jí)別的客體時(shí),主體的完整級(jí)別降低為客體的完整級(jí)別。
另一方面,本實(shí)施例中客體完整性級(jí)別配置文件中包括第二級(jí)別調(diào)整參數(shù),例如參數(shù)“/proc/sys/selinux/”,該第二級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“上寫”操作權(quán)限,即允許將客體的完整級(jí)別由高調(diào)低,該第二級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“上寫”操作權(quán)限,即禁止將客體的完整級(jí)別由高調(diào)低; 另外,第二級(jí)別調(diào)整參數(shù)的初始值為0,即默認(rèn)關(guān)閉基于客體“上寫”操作權(quán)限。本實(shí)施例通過(guò)在嚴(yán)格策略的biba模型基礎(chǔ)上,允許“上寫”操作。當(dāng)主體寫高完整級(jí)別的客體時(shí),客體的完整級(jí)別降低為主體的完整級(jí)別。
進(jìn)一步地,本實(shí)施例的配置文件中還可以設(shè)置有參數(shù)“l(fā)ow-watermark”,該參數(shù)為1時(shí),指示當(dāng)前內(nèi)核開(kāi)啟本發(fā)明實(shí)施例提供的完整性控制策略,即開(kāi)啟“低水印biba模型”,該參數(shù)為0是,指示為biba模型為嚴(yán)格策略的biba模型。
需要說(shuō)明的是,本發(fā)明各實(shí)施例為了解決blp模型和biba模型共存中存在的信息孤島問(wèn)題,具有如下約定:
1、有完整標(biāo)標(biāo)簽的主體和客體之間的訪問(wèn)控制方式:采用“低水印biba模型”動(dòng)態(tài)調(diào)整主體或客體完整性標(biāo)簽級(jí)別;即本發(fā)明各實(shí)施例提供的對(duì)嚴(yán)格biba模型的一種改進(jìn)方法,所謂“低水印”就是指在動(dòng)態(tài)調(diào)整的時(shí)候取低完整級(jí)別。
2、特殊完整性標(biāo)簽的主體訪問(wèn)
1)、無(wú)完整性標(biāo)簽的主體,其完整級(jí)別等同于i0,僅允許對(duì)有完整性標(biāo)簽的客體執(zhí)行“讀操作”。
在本發(fā)明實(shí)施例提供的方法中,假設(shè)沒(méi)有完整性標(biāo)簽的主體是一個(gè)非法,那么如果通過(guò)降低客體的完整級(jí)別,從而實(shí)現(xiàn)給沒(méi)有完整性標(biāo)簽的主體賦予“上寫”權(quán)限,很可能就會(huì)破會(huì)數(shù)據(jù)的完整性,因此,該條原則就是為了與嚴(yán)格biba模型的禁止上寫操作保持一致。
2)、有完整性標(biāo)簽主體和無(wú)完整性標(biāo)簽客體的訪問(wèn),該情況下無(wú)完整性控制策略,僅受selinuxdte策略限制,selinuxdte是指selinux的域類型增強(qiáng);其中,dte為:domainandtypeenforcementforlinux,即為linux域類型增強(qiáng);selnux為:securityenhancements(se)forlinux,即為linux安全增強(qiáng),selinux和dte都是系統(tǒng)中的一種訪問(wèn)控制技術(shù)。
3)無(wú)完整性標(biāo)簽的主體和客體間的訪問(wèn),該情況下無(wú)完整性控制策略,同樣僅受selinuxdte策略限制。
進(jìn)一步地,說(shuō)明本發(fā)明各實(shí)施例提供的訪問(wèn)控制方法中完整級(jí)別的調(diào)整 原則,包括如下原則:
1、主客體完整級(jí)別自動(dòng)調(diào)整遵循當(dāng)前內(nèi)核生效的“低水印biba模型”;
2、主客體完整級(jí)別自動(dòng)調(diào)整遵循完整級(jí)別遞減原則:即高完整級(jí)別向低完整級(jí)別調(diào)整;
3、除用戶登錄讀取配置文件中的完整級(jí)別外,子進(jìn)程繼承其父進(jìn)程的完整級(jí)別;
4、進(jìn)程創(chuàng)建的文件等客體,客體繼承進(jìn)程的完整級(jí)別;
5、當(dāng)主客體的完整級(jí)別完成初始配置后:體完整級(jí)別禁止顯示調(diào)整;并且客體完整級(jí)別不能通過(guò)用戶態(tài)命令顯示調(diào)整(selinux設(shè)置為permissive情況除外)。
本發(fā)明實(shí)施例通過(guò)“低水印biba模型”的設(shè)計(jì)以及上述訪問(wèn)原則,可以有效的解決現(xiàn)有技術(shù)中blp模型和biba模型共存的情況下存在的信息孤島問(wèn)題,以及雙高或雙低的主體訪問(wèn)受限的問(wèn)題。
圖11為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問(wèn)控制裝置的結(jié)構(gòu)示意圖。本實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制裝置適用于執(zhí)行數(shù)據(jù)讀寫訪問(wèn)的情況中,該數(shù)據(jù)訪問(wèn)控制裝置通過(guò)硬件和軟件結(jié)合的方式來(lái)實(shí)現(xiàn),該裝置可以集成在終端設(shè)備的處理器中,供處理器調(diào)用使用。如圖11所示,本實(shí)施例的數(shù)據(jù)訪問(wèn)控制裝置具體包括:相連接的調(diào)整模塊11和訪問(wèn)模塊12。
其中,調(diào)整模塊11,配置為能夠根據(jù)安全操作系統(tǒng)os中的當(dāng)前訪問(wèn)操作,調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別,該主體和客體的安全上下文中預(yù)先配置有用于指示安全級(jí)別的保密性標(biāo)簽。
本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制裝置,為在安全os中執(zhí)行數(shù)據(jù)訪問(wèn)時(shí)進(jìn)行保密性控制和完整性控制的方式。為了確保數(shù)據(jù)保密性,本發(fā)明各實(shí)施例中的訪問(wèn)控制基于安全性訪問(wèn)控制模型,同樣例如基于blp模型,安全os將計(jì)算機(jī)信息系統(tǒng)中的實(shí)體分為主體和客體兩部分,其中,主體和可以的定義,以及blp模型為主體和客體配置的安全上下文的具體格式,以及對(duì)該安全上下文所執(zhí)行的各項(xiàng)操作,在上述實(shí)施例中已經(jīng)說(shuō)明,故在此不再贅述。
需要說(shuō)明的是,本實(shí)施例中主體和客體的安全上下文中配置的完整性標(biāo)簽的方式和格式,以及配置的完整性標(biāo)簽后安全上下文的格式和可以執(zhí)行的各項(xiàng)操作,在上述實(shí)施例中已經(jīng)說(shuō)明,故在此不再贅述。
本發(fā)明實(shí)施例為了便于主體和客體的完整性標(biāo)簽描述簡(jiǎn)單且易于理解,同時(shí)又能兼顧數(shù)據(jù)保密性的設(shè)計(jì),在上述blp模型中主體和客體的安全上下文格式的基礎(chǔ)上,本實(shí)施例中主體和客體的安全上下文中還具有指示完整級(jí)別的完整性標(biāo)簽,例如,在上述安全上下文的末尾增加屬性字段“i”來(lái)表示數(shù)據(jù)的完整性標(biāo)簽,從而有效實(shí)現(xiàn)對(duì)數(shù)據(jù)完整性的保護(hù)。本實(shí)施例通過(guò)在blp模型中主體和客體的安全上下文中增加可以表示數(shù)據(jù)完整性的標(biāo)簽,從而在blp模型的基礎(chǔ)上實(shí)現(xiàn)biba模型,并且可以按照當(dāng)前訪問(wèn)操作的需求對(duì)主體或客體的完整性標(biāo)簽所指示的完整級(jí)別進(jìn)行調(diào)整,從而在blp模型的基礎(chǔ)上實(shí)現(xiàn)了非嚴(yán)格策略的biba模型,即“低水印biba模型”。
訪問(wèn)模塊12,配置為能夠根據(jù)主體和客體的安全級(jí)別,以及調(diào)整模塊11調(diào)整后的主體和客體的完整級(jí)別,執(zhí)行當(dāng)前訪問(wèn)操作。
在本實(shí)施例中,已經(jīng)根據(jù)當(dāng)前訪問(wèn)操作,例如一個(gè)進(jìn)程的安全級(jí)別和完整級(jí)別對(duì)“讀”操作和“寫”操作的限制出現(xiàn)沖突,調(diào)整了主體或客體的完整級(jí)別,調(diào)整后的主體或客體的完整級(jí)別可以執(zhí)行當(dāng)前訪問(wèn)操作。
本實(shí)施例提供的訪問(wèn)控制模型,通過(guò)重新設(shè)計(jì)blp模型和biba模型工作的方式,實(shí)現(xiàn)模型共存的方式并非兩個(gè)獨(dú)立的模型,而是在blp模型的基礎(chǔ)上設(shè)計(jì)biba模型,并且biab模型中的完整性標(biāo)簽可以根據(jù)當(dāng)前訪問(wèn)操作,進(jìn)行調(diào)整,以實(shí)現(xiàn)一種“低水印biba模型”,從而可以兼顧數(shù)據(jù)訪問(wèn)的保密性和完整性。
本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制裝置用于執(zhí)行本發(fā)明圖5所示實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法,具備相應(yīng)的功能模塊,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
可選地,本發(fā)明上述實(shí)施例中調(diào)整模塊11調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別的具體方式,可以為:配置為能夠在完整級(jí)別較高的主體對(duì)完整級(jí)別較低的客體執(zhí)行讀操作時(shí),將主體的完整級(jí)別降低為客體的完整級(jí)別;或者,配置為能夠在完整級(jí)別較低的主體對(duì)完整級(jí)別較高的客 體執(zhí)行寫操作時(shí),將客體的完整級(jí)別降低為主體的完整級(jí)別。
進(jìn)一步地,調(diào)整模塊11調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別的具體方式,還可以為:配置為能夠通過(guò)修改命令所指示的完整級(jí)別,將主體或客體的安全上下文中的完整性標(biāo)簽調(diào)整為相應(yīng)的完整級(jí)別。
需要說(shuō)明的是,本實(shí)施例中調(diào)整模塊11的上述具體調(diào)整方式為選擇執(zhí)行的,通常根據(jù)當(dāng)前進(jìn)程執(zhí)行訪問(wèn)的類型,以及主體和客體的完整性級(jí)別選擇其中一種方式進(jìn)行調(diào)整;另外,用戶或設(shè)計(jì)人員可以根據(jù)需求在任意時(shí)刻通過(guò)修改命令調(diào)整主體或客體的完整級(jí)別。
本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制裝置用于執(zhí)行本發(fā)明圖6所示實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法,具備相應(yīng)的功能模塊,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
在本發(fā)明各實(shí)施例中,主體和客體安全上下文中的完整性標(biāo)簽是預(yù)先配置的,如圖12所示,為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)訪問(wèn)控制裝置的結(jié)構(gòu)示意圖,在上述圖11所示實(shí)施例的基礎(chǔ)上,本實(shí)施例中提供數(shù)據(jù)訪問(wèn)控制裝置還包括:分別與調(diào)整模塊11和訪問(wèn)模塊12相連接的配置模塊13,配置為能夠在調(diào)整模塊11調(diào)整主體或客體的安全上下文中完整性標(biāo)簽的完整級(jí)別之前,分別在主體和客體的安全上下文中配置完整性標(biāo)簽。
在具體實(shí)現(xiàn)中,本實(shí)施例中的配置模塊13包括:相連接的初始化單元14和配置單元15;用于在主體的安全上下文中配置所述完整性標(biāo)簽,其中,初始化單元14,配置為能夠在安全os中進(jìn)行用戶登陸的過(guò)程中對(duì)主體的安全上下文進(jìn)行初始化配置;配置單元15,配置為能夠通過(guò)讀取預(yù)置的主體完整性級(jí)別配置文件,在初始化單元14初始化后的主體的安全上下文中添加完整性標(biāo)簽。本實(shí)施例中的主體完整性級(jí)別配置文件中包括第一級(jí)別調(diào)整參數(shù),第一級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“下讀”操作權(quán)限,第一級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“下讀”操作權(quán)限,并且第一級(jí)別調(diào)整參數(shù)的初始值為1。
另外,本實(shí)施例中的初始化單元14和配置單元15還用于在客體的安全上下文中配置完整性標(biāo)簽,其中,初始化單元14,配置為能夠在安全os啟動(dòng)的過(guò)程中對(duì)客體的安全上下文進(jìn)行初始化配置;配置單元15,配置為能夠通過(guò)讀取預(yù)置的客體完整性級(jí)別配置文件,在初始化單元14初始化后的客體 的安全上下文中配置完整性標(biāo)簽。本實(shí)施例中的客體完整性級(jí)別配置文件中包括第二級(jí)別調(diào)整參數(shù),第二級(jí)別調(diào)整參數(shù)為1時(shí),指示開(kāi)啟“上寫”操作權(quán)限,第二級(jí)別調(diào)整參數(shù)為0時(shí),指示關(guān)閉“上寫”操作權(quán)限;并且該第二級(jí)別調(diào)整參數(shù)的初始值為0。
需要說(shuō)明的是,本實(shí)施例中配置模塊13在客體和主體的安全上下文中配置完整性標(biāo)簽的具體方式如上述圖9和圖10,通常為在系統(tǒng)啟動(dòng)階段先配置客體的完整性標(biāo)簽,在系統(tǒng)啟動(dòng)后,通過(guò)用戶登陸來(lái)配置主體的完整性標(biāo)簽。
還需要說(shuō)明的是,本實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制裝置,為了解決blp模型和biba模型共存中存在的信息孤島問(wèn)題,約定的主體和客體的訪問(wèn)方式,以及完整級(jí)別的調(diào)整原則在上述實(shí)施例中已經(jīng)說(shuō)明,故在此不再贅述。
本發(fā)明實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制裝置用于執(zhí)行本發(fā)明圖7所示實(shí)施例提供的數(shù)據(jù)訪問(wèn)控制方法,具備相應(yīng)的功能模塊,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
在具體實(shí)現(xiàn)中,本發(fā)明圖11到圖12所示各實(shí)施例中的調(diào)整模塊11、訪問(wèn)模塊12和配置模塊13可以通過(guò)終端設(shè)備的處理器來(lái)實(shí)現(xiàn),其中的各單元和子單元同樣可以通過(guò)終端設(shè)備的處理器來(lái)實(shí)現(xiàn),該處理器例如可以是一個(gè)中央處理器(centralprocessingunit,簡(jiǎn)稱為:cpu),或者是特定集成電路(applicationspecificintegratedcircuit,簡(jiǎn)稱為:asic),或者是完成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可以通過(guò)程序來(lái)指令相關(guān)硬件(例如處理器)完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),例如通過(guò)集成電路來(lái)實(shí)現(xiàn)其相應(yīng)功能,也可以采用軟件功能模塊的形式實(shí)現(xiàn),例如通過(guò)處理器執(zhí)行存儲(chǔ)于存儲(chǔ)器中的程序/指令來(lái)實(shí)現(xiàn)其相應(yīng)功能。本發(fā)明實(shí)施例不限制于任何特定形式的硬件和軟件的結(jié)合。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人 員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。