




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)平安機(jī)制數(shù)據(jù)庫(kù)平安機(jī)制是用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)的各種平安策略的功能集合,正是由這些平安機(jī)制來(lái)實(shí)現(xiàn)平安模型,進(jìn)而實(shí)現(xiàn)保護(hù)數(shù)據(jù)庫(kù)系統(tǒng)平安的目標(biāo)。數(shù)據(jù)庫(kù)系統(tǒng)的平安機(jī)制如下圖:觸發(fā)器觸發(fā)器數(shù)據(jù)庫(kù)效勞器(RDBMS)授權(quán)機(jī)制約束機(jī)制審計(jì)視圖操作系統(tǒng)用戶(hù)身份驗(yàn)證存儲(chǔ)過(guò)程用戶(hù)標(biāo)識(shí)與鑒別用戶(hù)標(biāo)識(shí)是指用戶(hù)向系統(tǒng)出示自己的身份證明,最簡(jiǎn)單的方法是輸入用戶(hù)ID和密碼。標(biāo)識(shí)機(jī)制用于惟一標(biāo)志進(jìn)入系統(tǒng)的每個(gè)用戶(hù)的身份,因此必須保證標(biāo)識(shí)的惟一性。鑒別是指系統(tǒng)檢查驗(yàn)證用戶(hù)的身份證明,用于檢驗(yàn)用戶(hù)身份的合法性。標(biāo)識(shí)和鑒別功能保證了只有合法的用戶(hù)才能存取系統(tǒng)中的資源。由于數(shù)據(jù)庫(kù)用戶(hù)的平安等級(jí)是不同的,因此分配給他們的權(quán)限也是不一樣的,數(shù)據(jù)庫(kù)系統(tǒng)必須建立嚴(yán)格的用戶(hù)認(rèn)證機(jī)制。身份的標(biāo)識(shí)和鑒別是DBMS對(duì)訪問(wèn)者授權(quán)的前提,并且通過(guò)審計(jì)機(jī)制使DBMS保存追究用戶(hù)行為責(zé)任的能力。功能完善的標(biāo)識(shí)與鑒別機(jī)制也是訪問(wèn)控制機(jī)制有效實(shí)施的根底,特別是在一個(gè)開(kāi)放的多用戶(hù)系統(tǒng)的網(wǎng)絡(luò)環(huán)境中,識(shí)別與鑒別用戶(hù)是構(gòu)筑DBMS平安防線的第1個(gè)重要環(huán)節(jié)。近年來(lái)一些實(shí)體認(rèn)證的新技術(shù)在數(shù)據(jù)庫(kù)系統(tǒng)集成中得到應(yīng)用。目前,常用的方法有通行字認(rèn)證、數(shù)字證書(shū)認(rèn)證、智能卡認(rèn)證和個(gè)人特征識(shí)別等。通行字也稱(chēng)為“口令”或“密碼”,它是一種根據(jù)事物驗(yàn)證身份的方法,也是一種最廣泛研究和使用的身份驗(yàn)證法。在數(shù)據(jù)庫(kù)系統(tǒng)中往往對(duì)通行字采取一些控制措施,常見(jiàn)的有最小長(zhǎng)度限制、次數(shù)限定、選擇字符、有效期、雙通行字和封鎖用戶(hù)系統(tǒng)等。一般還需考慮通行字的分配和管理,以及在計(jì)算機(jī)中的平安存儲(chǔ)。通行字多以加密形式存儲(chǔ),攻擊者要得到通行字,必須知道加密算法和密鑰。算法可能是公開(kāi)的,但密鑰應(yīng)該是秘密的。也有的系統(tǒng)存儲(chǔ)通行字的單向Hash值,攻擊者即使得到密文也難以推出通行字的明文。數(shù)字證書(shū)是認(rèn)證中心頒發(fā)并進(jìn)行數(shù)字簽名的數(shù)字憑證,它實(shí)現(xiàn)實(shí)體身份的鑒別與認(rèn)證、信息完整性驗(yàn)證、機(jī)密性和不可否認(rèn)性等平安效勞。數(shù)字證書(shū)可用來(lái)證明實(shí)體所宣稱(chēng)的身份與其持有的公鑰的匹配關(guān)系,使得實(shí)體的身份與證書(shū)中的公鑰相互綁定。智能卡〔有源卡、IC卡或Smart卡〕作為個(gè)人所有物,可以用來(lái)驗(yàn)證個(gè)人身份,典型智能卡主要由微處理器、存儲(chǔ)器、輸入輸出接口、平安邏輯及運(yùn)算處理器等組成。在智能卡中引入了認(rèn)證的概念,認(rèn)證是智能卡和應(yīng)用終端之間通過(guò)相應(yīng)的認(rèn)證過(guò)程來(lái)相互確認(rèn)合法性。在卡和接口設(shè)備之間只有相互認(rèn)證之后才能進(jìn)行數(shù)據(jù)的讀寫(xiě)操作,目的在于防止偽造應(yīng)用終端及相應(yīng)的智能卡。根據(jù)被授權(quán)用戶(hù)的個(gè)人特征來(lái)進(jìn)行確證是一種可信度更高的驗(yàn)證方法,目前已得到應(yīng)用的個(gè)人生理特征包括指紋、語(yǔ)音聲紋〔voice-print〕、DNA、視網(wǎng)膜、虹膜、臉型和手型等。訪問(wèn)控制概述訪問(wèn)控制的目的是確保用戶(hù)對(duì)數(shù)據(jù)庫(kù)只能進(jìn)行經(jīng)過(guò)授權(quán)的有關(guān)操作。在存取控制機(jī)制中,一般把被訪問(wèn)的資源稱(chēng)為“客體”,把以用戶(hù)名義進(jìn)行資源訪問(wèn)的進(jìn)程、事務(wù)等實(shí)體稱(chēng)為“主體”。傳統(tǒng)的存取控制機(jī)制有兩種,即DAC〔DiscretionaryAccessControl,自主存取控制〕和MAC〔MandatoryAccessControl,強(qiáng)制存取控制〕。近年來(lái),RBAC〔Role-basedAccessControl,基于角色的存取控制〕得到了廣泛的關(guān)注。數(shù)據(jù)訪問(wèn)級(jí)別和類(lèi)型DBMS中的平安系統(tǒng)必須具有伸縮性以便為各種數(shù)據(jù)級(jí)別授權(quán)。數(shù)據(jù)級(jí)別有以下幾種:整個(gè)數(shù)據(jù)庫(kù)、單個(gè)關(guān)系表〔所有行和所有列〕、關(guān)系表中特定列〔所有行〕、關(guān)系表中的特定行〔所有列〕以及關(guān)系表的特定行和特定列。數(shù)據(jù)的所有訪問(wèn)模式和類(lèi)型如下:插入或建立。在文件中添加數(shù)據(jù),不銷(xiāo)毀任何數(shù)據(jù)。讀取。用戶(hù)可通過(guò)應(yīng)用程序或數(shù)據(jù)庫(kù)查詢(xún),將數(shù)據(jù)從數(shù)據(jù)庫(kù)復(fù)制到用戶(hù)環(huán)境。更新。編寫(xiě)更新值。刪除。刪除和銷(xiāo)毀特定數(shù)據(jù)庫(kù)對(duì)象。移動(dòng)。移動(dòng)數(shù)據(jù)對(duì)象,但沒(méi)有讀取內(nèi)容的權(quán)限。執(zhí)行。使用執(zhí)行需要的權(quán)限,運(yùn)行程序或過(guò)程。確認(rèn)存在性。確認(rèn)數(shù)據(jù)庫(kù)是否存在特定數(shù)據(jù)庫(kù)對(duì)象。任意控制〔DAC〕采用該方法以假設(shè)干種指派模式授予各個(gè)用戶(hù)訪問(wèn)特定數(shù)據(jù)項(xiàng)的權(quán)限或權(quán)力?;跈?quán)限說(shuō)明,用戶(hù)能以讀取、更新、插入或刪除模式隨意訪問(wèn)數(shù)據(jù)項(xiàng)。建立數(shù)據(jù)庫(kù)對(duì)象的用戶(hù)自動(dòng)得到此對(duì)象的所有訪問(wèn)權(quán)限,包括將此對(duì)象的權(quán)限再授予他人。在授予或撤消訪問(wèn)權(quán)限時(shí),有兩種主要級(jí)別:數(shù)據(jù)庫(kù)對(duì)象:數(shù)據(jù)項(xiàng)或數(shù)據(jù)元素,一般是根本表或視圖用戶(hù):可以用一些授權(quán)標(biāo)識(shí)符識(shí)別的單個(gè)用戶(hù)或用戶(hù)組授權(quán)通常都是在這兩種級(jí)別上進(jìn)行。1.授權(quán)DBMS提供了功能強(qiáng)大的授權(quán)機(jī)制,它可以給用戶(hù)授予各種不同對(duì)象〔表、視圖、存儲(chǔ)過(guò)程等〕的不同使用權(quán)限〔如Select、update、insert、delete等〕。在用戶(hù)級(jí)別,可以授予數(shù)據(jù)庫(kù)模式和數(shù)據(jù)操縱方面的以下幾種授權(quán),包括:創(chuàng)立和刪除索引、創(chuàng)立新關(guān)系、添加或刪除關(guān)系中的屬性、刪除關(guān)系、查詢(xún)數(shù)據(jù)、插入新數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)等。在數(shù)據(jù)庫(kù)對(duì)象級(jí)別,可將上述訪問(wèn)權(quán)限應(yīng)用于數(shù)據(jù)庫(kù)、根本表、視圖和列等。2.數(shù)據(jù)庫(kù)角色如果要給成千上萬(wàn)個(gè)雇員分配許可,將面臨很大的管理難題,每次有雇員到來(lái)或者離開(kāi)時(shí),就得有人分配或去除可能與數(shù)百?gòu)埍砘蛞晥D有關(guān)的權(quán)限。這項(xiàng)任務(wù)很耗時(shí)間而且非常容易出錯(cuò)。即使建立SQL過(guò)程來(lái)幫助,也幾乎需要時(shí)時(shí)去維護(hù)。一個(gè)相對(duì)特別簡(jiǎn)單有效的解決方案就是定義數(shù)據(jù)庫(kù)角色。數(shù)據(jù)庫(kù)角色是被命名的一組與數(shù)據(jù)庫(kù)操作相關(guān)的權(quán)限,角色是一組相關(guān)權(quán)限的集合。因此,可以為一組具有相同權(quán)限的用戶(hù)創(chuàng)立一個(gè)角色,使用角色來(lái)管理數(shù)據(jù)庫(kù)權(quán)限可以簡(jiǎn)化授權(quán)的過(guò)程。先創(chuàng)立一個(gè)角色,并且把需要的許可分配給角色,而不是分配給個(gè)人用戶(hù),然后再把角色分配給特定用戶(hù)。當(dāng)有新的雇員到來(lái)時(shí),把角色添加給用戶(hù)就提供了所有必要的權(quán)限。授權(quán)管理機(jī)制如圖4-3所示。DBADBA角色用戶(hù)用戶(hù)用戶(hù)用戶(hù)授權(quán)授權(quán)強(qiáng)制控制〔MAC〕強(qiáng)制訪問(wèn)控制模型基于與每個(gè)數(shù)據(jù)項(xiàng)和每個(gè)用戶(hù)關(guān)聯(lián)的平安性標(biāo)識(shí)(SecurityLabel)。平安性標(biāo)識(shí)被分為假設(shè)干級(jí)別:絕密(TopSecret)、機(jī)密(Secret)、秘密(Confidential)、一般(Public)。數(shù)據(jù)的標(biāo)識(shí)稱(chēng)為密級(jí)(SecurityClassification),用戶(hù)的標(biāo)識(shí)稱(chēng)為許可級(jí)別證(SecurityClearance)。在計(jì)算機(jī)系統(tǒng)中,每個(gè)運(yùn)行的程序繼承用戶(hù)的許可證級(jí)別,也可以說(shuō),用戶(hù)的許可證級(jí)別不僅僅應(yīng)用于作為人的用戶(hù),而且應(yīng)用于該用戶(hù)運(yùn)行的所有程序。當(dāng)某一用戶(hù)以某一密級(jí)進(jìn)入系統(tǒng)時(shí),在確定該用戶(hù)能否訪問(wèn)系統(tǒng)上的數(shù)據(jù)時(shí)應(yīng)遵守如下規(guī)那么:當(dāng)且僅當(dāng)用戶(hù)許可證級(jí)別大于等于數(shù)據(jù)的密級(jí)時(shí),該用戶(hù)才能對(duì)該數(shù)據(jù)進(jìn)行讀操作。當(dāng)且僅當(dāng)用戶(hù)的許可證級(jí)別小于或等于數(shù)據(jù)的密級(jí)時(shí),該用戶(hù)才能對(duì)該數(shù)據(jù)進(jìn)行寫(xiě)操作。第二條規(guī)那么說(shuō)明用戶(hù)可以為其寫(xiě)入的數(shù)據(jù)對(duì)象賦予高于自己許可證級(jí)別的密級(jí),這樣的數(shù)據(jù)被寫(xiě)入后用戶(hù)自己就不能再讀該數(shù)據(jù)對(duì)象了。這兩種規(guī)那么的共同點(diǎn)在于它們禁止了擁有高級(jí)許可證級(jí)別的主體更新低密級(jí)的數(shù)據(jù)對(duì)象,從而防止了敏感數(shù)據(jù)的泄露?;诮巧拇嫒】刂啤睷BAC〕RBAC在主體和權(quán)限之間增加了一個(gè)中間橋梁——角色。權(quán)限被授予角色,而管理員通過(guò)指定用戶(hù)為特定角色來(lái)為用戶(hù)授權(quán)。從而大大簡(jiǎn)化了授權(quán)管理,具有強(qiáng)大的可操作性和可管理性。角色可以根據(jù)組織中的不同工作創(chuàng)立,然后根據(jù)用戶(hù)的責(zé)任和資格分配角色,用戶(hù)可以輕松地進(jìn)行角色轉(zhuǎn)換。而隨著新應(yīng)用和新系統(tǒng)的增加,角色可以分配更多的權(quán)限,也可以根據(jù)需要撤銷(xiāo)相應(yīng)的權(quán)限。RBAC核心模型包含了5個(gè)根本的靜態(tài)集合,即用戶(hù)集〔users〕、角色集〔roles〕、特權(quán)集
〔perms〕〔包括對(duì)象集〔objects〕和操作集〔operators〕〕,以及一個(gè)運(yùn)行過(guò)程中動(dòng)態(tài)維護(hù)的集合,即會(huì)話集〔sessions〕,如圖1-1所示。用戶(hù)集包括系統(tǒng)中可以執(zhí)行操作的用戶(hù),是主動(dòng)的實(shí)體;對(duì)象集是系統(tǒng)中被動(dòng)的實(shí)體,包含系統(tǒng)需要保護(hù)的信息;操作集是定義在對(duì)象上的一組操作,對(duì)象上的一組操作構(gòu)成了一個(gè)特權(quán);角色那么是RBAC模型的核心,通過(guò)用戶(hù)分配〔UA〕和特權(quán)分配〔PA〕使用戶(hù)與特權(quán)關(guān)聯(lián)起來(lái)。RBAC屬于策略中立型的存取控制模型,既可以實(shí)現(xiàn)自主存取控制策略,又可以實(shí)現(xiàn)強(qiáng)制存取控制策略。它可以有效緩解傳統(tǒng)平安管理處理瓶頸問(wèn)題,被認(rèn)為是一種普遍適用的訪問(wèn)控制模型,尤其適用于大型組織的有效的訪問(wèn)控制機(jī)制。視圖機(jī)制幾乎所有的DBMS都提供視圖機(jī)制。視圖不同于根本表,它們不存儲(chǔ)實(shí)際數(shù)據(jù),數(shù)據(jù)庫(kù)表存儲(chǔ)數(shù)據(jù),視圖好象數(shù)據(jù)庫(kù)表的窗口,是虛擬表。當(dāng)用戶(hù)通過(guò)視圖訪問(wèn)數(shù)據(jù)時(shí),是從根本表獲得數(shù)據(jù),但只是由視圖中定義的列構(gòu)成。視圖提供了一種靈活而簡(jiǎn)單的方法,以個(gè)人化方式授予訪問(wèn)權(quán)限,是強(qiáng)大的平安工具。在授予用戶(hù)對(duì)特定視圖的訪問(wèn)權(quán)限時(shí),該權(quán)限只用于在該視圖中定義的數(shù)據(jù)項(xiàng),而未用于完整根本表本身。因此,在使用視圖的時(shí)候不用擔(dān)憂用戶(hù)會(huì)無(wú)意地刪除數(shù)據(jù)或者給真實(shí)表中添加有害的數(shù)據(jù),并且可以限制用戶(hù)只能使用指定局部的數(shù)據(jù),增加了數(shù)據(jù)的保密性和平安性。數(shù)據(jù)庫(kù)加密概述由于數(shù)據(jù)庫(kù)在操作系統(tǒng)中以文件形式管理,所以入侵者可以直接利用操作系統(tǒng)的漏洞竊取數(shù)據(jù)庫(kù)文件,或者篡改數(shù)據(jù)庫(kù)文件內(nèi)容。另一方面,數(shù)據(jù)庫(kù)管理員〔DBA〕可以任意訪問(wèn)所有數(shù)據(jù),往往超出了其職責(zé)范圍,同樣造成平安隱患。因此,數(shù)據(jù)庫(kù)的保密問(wèn)題不僅包括在傳輸過(guò)程中采用加密保護(hù)和控制非法訪問(wèn),還包括對(duì)存儲(chǔ)的敏感數(shù)據(jù)進(jìn)行加密保護(hù),使得即使數(shù)據(jù)不幸泄露或者喪失,也難以造成泄密。同時(shí),數(shù)據(jù)庫(kù)加密可以由用戶(hù)用自己的密鑰加密自己的敏感信息,而不需要了解數(shù)據(jù)內(nèi)容的數(shù)據(jù)庫(kù)管理員無(wú)法進(jìn)行正常解密,從而可以實(shí)現(xiàn)個(gè)性化的用戶(hù)隱私保護(hù)。對(duì)數(shù)據(jù)庫(kù)加密必然會(huì)帶來(lái)數(shù)據(jù)存儲(chǔ)與索引、密鑰分配和管理等一系列問(wèn)題,同時(shí)加密也會(huì)顯著地降低數(shù)據(jù)庫(kù)的訪問(wèn)與運(yùn)行效率。保密性與可用性之間不可防止地存在沖突,需要妥善解決二者之間的矛盾。數(shù)據(jù)庫(kù)中存儲(chǔ)密文數(shù)據(jù)后,如何進(jìn)行高效查詢(xún)成為一個(gè)重要的問(wèn)題。查詢(xún)語(yǔ)句一般不可以直接運(yùn)用到密文數(shù)據(jù)庫(kù)的查詢(xún)過(guò)程中,一般的方法是首先解密加密數(shù)據(jù),然后查詢(xún)解密數(shù)據(jù)。但由于要對(duì)整個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)表進(jìn)行解密操作,因此開(kāi)銷(xiāo)巨大。在實(shí)際操作中需要通過(guò)有效的查詢(xún)策略來(lái)直接執(zhí)行密文查詢(xún)或較小粒度的快速解密。一般來(lái)說(shuō),一個(gè)好的數(shù)據(jù)庫(kù)加密系統(tǒng)應(yīng)該滿(mǎn)足以下幾個(gè)方面的要求。①足夠的加密強(qiáng)度,保證長(zhǎng)時(shí)間且大量數(shù)據(jù)不被破譯。②加密后的數(shù)據(jù)庫(kù)存儲(chǔ)量沒(méi)有明顯的增加。③加解密速度足夠快,影響數(shù)據(jù)操作響應(yīng)時(shí)間盡量短。④加解密對(duì)數(shù)據(jù)庫(kù)的合法用戶(hù)操作〔如數(shù)據(jù)的增、刪、改等〕是透明的。⑤靈活的密鑰管理機(jī)制,加解密密鑰存儲(chǔ)平安,使用方便可靠。數(shù)據(jù)庫(kù)加密的實(shí)現(xiàn)機(jī)制數(shù)據(jù)庫(kù)加密的實(shí)現(xiàn)機(jī)制主要研究執(zhí)行加密部件在數(shù)據(jù)庫(kù)系統(tǒng)中所處的層次和位置,通過(guò)比照各種體系結(jié)構(gòu)的運(yùn)行效率、可擴(kuò)展性和平安性,以求得最正確的系統(tǒng)結(jié)構(gòu)。按照加密部件與數(shù)據(jù)庫(kù)系統(tǒng)的不同關(guān)系,數(shù)據(jù)庫(kù)加密機(jī)制可以從大的方面分為庫(kù)內(nèi)加密和庫(kù)外加密?!?〕庫(kù)內(nèi)加密庫(kù)內(nèi)加密在DBMS內(nèi)核層實(shí)現(xiàn)加密,加/解密過(guò)程對(duì)用戶(hù)與應(yīng)用透明,數(shù)據(jù)在物理存取之前完成加/解密工作。這種方式的優(yōu)點(diǎn)是加密功能強(qiáng),并且加密功能集成為DBMS的功能,可以實(shí)現(xiàn)加密功能與DBMS之間的無(wú)縫耦合。對(duì)于數(shù)據(jù)庫(kù)應(yīng)用來(lái)說(shuō),庫(kù)內(nèi)加密方式是完全透明的。庫(kù)內(nèi)加密方式的主要缺點(diǎn)如下?!獙?duì)系統(tǒng)性能影響比擬大,BMS除了完成正常的功能外,還要進(jìn)行加/解密運(yùn)算,從而加重了數(shù)據(jù)庫(kù)效勞器的負(fù)載?!荑€管理風(fēng)險(xiǎn)大,加密密鑰與庫(kù)數(shù)據(jù)保存在效勞器中,其平安性依賴(lài)于DBMS的訪問(wèn)控制機(jī)制?!用芄δ芤蕾?lài)于數(shù)據(jù)庫(kù)廠商的支持,DBMS一般只提供有限的加密算法與強(qiáng)度可供選擇,自主性受限。〔2〕庫(kù)外加密在庫(kù)外加密方式中,加/解密過(guò)程發(fā)生在DBMS之外,DBMS管理的是密文。加/解密過(guò)程大多在客戶(hù)端實(shí)現(xiàn),也有的由專(zhuān)門(mén)的加密效勞器或硬件完成。與庫(kù)內(nèi)加密方式相比,庫(kù)外加密的明顯優(yōu)點(diǎn)如下?!捎诩樱饷苓^(guò)程在客戶(hù)端或?qū)iT(mén)的加密效勞器實(shí)現(xiàn),所以減少了數(shù)據(jù)庫(kù)效勞器與DBMS的運(yùn)行負(fù)擔(dān)?!梢詫⒓用苊荑€與所加密的數(shù)據(jù)分開(kāi)保存,提高了平安性?!煽蛻?hù)端與效勞器的配合,可以實(shí)現(xiàn)端到端的網(wǎng)上密文傳輸。庫(kù)外加密的主要缺點(diǎn)是加密后的數(shù)據(jù)庫(kù)功能受到一些限制,例如加密后的數(shù)據(jù)無(wú)法正常索引。同時(shí)數(shù)據(jù)加密后也會(huì)破壞原有的關(guān)系數(shù)據(jù)的完整性與一致性,這些都會(huì)給數(shù)據(jù)庫(kù)應(yīng)用帶來(lái)影響。在目前新興的外包數(shù)據(jù)庫(kù)效勞模式中,數(shù)據(jù)庫(kù)效勞器由非可信的第三方提供,僅用來(lái)運(yùn)行標(biāo)準(zhǔn)的DBMS,要求加密解密都在客戶(hù)端完成。數(shù)據(jù)庫(kù)加密的粒度一般來(lái)說(shuō),數(shù)據(jù)庫(kù)加密的粒度可以有4種,即表、屬性、記錄和數(shù)據(jù)元素。不同加密粒度的特點(diǎn)不同,總的來(lái)說(shuō),加密粒度越小,那么靈活性越好且平安性越高,但實(shí)現(xiàn)技術(shù)也更為復(fù)雜,對(duì)系統(tǒng)的運(yùn)行效率影響也越大。〔1〕表加密表級(jí)加密的對(duì)象是整個(gè)表,這種加密方法類(lèi)似于操作系統(tǒng)中文件加密的方法。即每個(gè)表與不同的表密鑰運(yùn)算,形成密文后存儲(chǔ)。這種方式最為簡(jiǎn)單,但因?yàn)閷?duì)表中任何記錄或數(shù)據(jù)項(xiàng)的訪問(wèn)都需要將其所在表的所有數(shù)據(jù)快速解密,因而執(zhí)行效率很低,浪費(fèi)了大量的系統(tǒng)資源。在目前的實(shí)際應(yīng)用中,這種方法根本已被放棄?!?〕屬性加密屬性加密又稱(chēng)為“域加密”或“字段加密”,即以表中的列為單位進(jìn)行加密。一般而言,屬性的個(gè)數(shù)少于記錄的條數(shù),需要的密鑰數(shù)相對(duì)較少。如果只有少數(shù)屬性需要加密,屬性加密是可選的方法?!?〕記錄加密記錄加密是把表中的一條記錄作為加密的單位,當(dāng)數(shù)據(jù)庫(kù)中需要加密的記錄數(shù)比擬少時(shí),采用這種方法是比擬好的?!?〕數(shù)據(jù)元素加密數(shù)據(jù)元素加密是以記錄中每個(gè)字段的值為單位進(jìn)行加密,數(shù)據(jù)元素是數(shù)據(jù)庫(kù)中最小的加密粒度。采用這種加密粒度,系統(tǒng)的平安性與靈活性最高,同時(shí)實(shí)現(xiàn)技術(shù)也最為復(fù)雜。不同的數(shù)據(jù)項(xiàng)使用不同的密鑰,相同的明文形成不同的密文,抗攻擊能力得到提高。不利的方面是,該方法需要引入大量的密鑰。一般要周密設(shè)計(jì)自動(dòng)生成密鑰的算法,密鑰管理的復(fù)雜度大大增加,同時(shí)系統(tǒng)效率也受到影響。在目前條件下,為了得到較高的平安性和靈活性,采用最多的加密粒度是數(shù)據(jù)元素。為了使數(shù)據(jù)庫(kù)中的數(shù)據(jù)能夠充分而靈活地共享,加密后還應(yīng)當(dāng)允許用戶(hù)以不同的粒度進(jìn)行訪問(wèn)。加密算法加密算法是數(shù)據(jù)加密的核心,一個(gè)好的加密算法產(chǎn)生的密文應(yīng)該頻率平衡,隨機(jī)無(wú)重碼,周期很長(zhǎng)而又不可能產(chǎn)生重復(fù)現(xiàn)象。竊密者很難通過(guò)對(duì)密文頻率,或者重碼等特征的分析獲得成功。同時(shí),算法必須適應(yīng)數(shù)據(jù)庫(kù)系統(tǒng)的特性,加/解密,尤其是解密響應(yīng)迅速。常用的加密算法包括對(duì)稱(chēng)密鑰算法和非對(duì)稱(chēng)密鑰算法。對(duì)稱(chēng)密鑰算法的特點(diǎn)是解密密鑰和加密密鑰相同,或解密密鑰由加密密鑰推出。這種算法一般又可分為兩類(lèi),即序列算法和分組算法。序列算法一次只對(duì)明文中的單個(gè)位或字節(jié)運(yùn)算;分組算法是對(duì)明文分組后以組為單位進(jìn)行運(yùn)算,常用有DES等。非對(duì)稱(chēng)密鑰算法也稱(chēng)為“公開(kāi)密鑰算法”,其特點(diǎn)是解密密鑰不同于加密密鑰,并且從解密密鑰推出加密密鑰在計(jì)算上是不可行的。其中加密密鑰公開(kāi),解密密鑰那么是由用戶(hù)秘密保管的私有密鑰。常用的公開(kāi)密鑰算法有RSA等。目前還沒(méi)有公認(rèn)的專(zhuān)門(mén)針對(duì)數(shù)據(jù)庫(kù)加密的加密算法,因此一般根據(jù)數(shù)據(jù)庫(kù)特點(diǎn)選擇現(xiàn)有的加密算法來(lái)進(jìn)行數(shù)據(jù)庫(kù)加密。一方面,對(duì)稱(chēng)密鑰算法的運(yùn)算速度比非對(duì)稱(chēng)密鑰算法快很多,二者相差大約2~3個(gè)數(shù)量級(jí);另一方面,在公開(kāi)密鑰算法中,每個(gè)用戶(hù)有自己的密鑰對(duì)。而作為數(shù)據(jù)庫(kù)加密的密鑰如果因人而異,將產(chǎn)生異常龐大的數(shù)據(jù)存儲(chǔ)量。因此,在數(shù)據(jù)庫(kù)加密中一般采取對(duì)稱(chēng)密鑰的分組加密算法。密鑰管理對(duì)數(shù)據(jù)庫(kù)進(jìn)行加密,一般對(duì)不同的加密單元采用不同的密鑰。以加密粒度為數(shù)據(jù)元素為例,如果不同的數(shù)據(jù)元素采用同一個(gè)密鑰,由于同一屬性中數(shù)據(jù)項(xiàng)的取值在一定范圍之內(nèi),且往往呈現(xiàn)一定的概率分布,因此攻擊者可以不用求原文,而直接通過(guò)統(tǒng)計(jì)方法即可得到有關(guān)的原文信息,這就是所謂的統(tǒng)計(jì)攻擊。大量的密鑰自然會(huì)帶來(lái)密鑰管理的問(wèn)題。根據(jù)加密粒度的不同,系統(tǒng)所產(chǎn)生的密鑰數(shù)量也不同。越是細(xì)小的加密粒度,所產(chǎn)生的密鑰數(shù)量越多,密鑰管理也就越復(fù)雜。良好的密鑰管理機(jī)制既可以保證數(shù)據(jù)庫(kù)信息的平安性,又可以進(jìn)行快速的密鑰交換,以便進(jìn)行數(shù)據(jù)解密。對(duì)數(shù)據(jù)庫(kù)密鑰的管理一般有集中密鑰管理和多級(jí)密鑰管理兩種體制,集中密鑰管理方法是設(shè)立密鑰管理中心。在建立數(shù)據(jù)庫(kù)時(shí),密鑰管理中心負(fù)責(zé)產(chǎn)生密鑰并對(duì)數(shù)據(jù)加密,形成一張密鑰表。當(dāng)用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)時(shí),密鑰管理機(jī)構(gòu)核對(duì)用戶(hù)識(shí)別符和用戶(hù)密鑰。通過(guò)審核后,由密鑰管理機(jī)構(gòu)找到或計(jì)算出相應(yīng)的數(shù)據(jù)密鑰。這種密鑰管理方式方便用戶(hù)使用和管理,但由于這些密鑰一般由數(shù)據(jù)庫(kù)管理人員控制,因而權(quán)限過(guò)于集中。目前研究和應(yīng)用比擬多的是多級(jí)密鑰管理體制,以加密粒度為數(shù)據(jù)元素的三級(jí)密鑰管理體制為例,整個(gè)系統(tǒng)的密鑰由一個(gè)主密鑰、每個(gè)表上的表密鑰,以及各個(gè)數(shù)據(jù)元素密鑰組成。表密鑰被主密鑰加密后以密文形式保存在數(shù)據(jù)字典中,數(shù)據(jù)元素密鑰由主密鑰及數(shù)據(jù)元素所在行、列通過(guò)某種函數(shù)自動(dòng)生成,一般不需要保存。在多級(jí)密鑰體制中,主密鑰是加密子系統(tǒng)的關(guān)鍵,系統(tǒng)的平安性在很大程度上依賴(lài)于主密鑰的平安性。數(shù)據(jù)庫(kù)加密的局限性數(shù)據(jù)庫(kù)加密技術(shù)在保證平安性的同時(shí),也給數(shù)據(jù)庫(kù)系統(tǒng)的可用性帶來(lái)一些影響?!?〕系統(tǒng)運(yùn)行效率受到影響數(shù)據(jù)庫(kù)加密技術(shù)帶來(lái)的主要問(wèn)題之一是影響效率。為了減少這種影響,一般對(duì)加密的范圍做一些約束,如不加密索引字段和關(guān)系運(yùn)算的比擬字段等?!?〕難以實(shí)現(xiàn)對(duì)數(shù)據(jù)完整性約束的定義數(shù)據(jù)庫(kù)一般都定義了關(guān)系數(shù)據(jù)之間的完整性約束,如主/外鍵約束及值域的定義等。數(shù)據(jù)一旦加密,DBMS將難以實(shí)現(xiàn)這些約束。〔3〕對(duì)數(shù)據(jù)的SQL語(yǔ)言及SQL函數(shù)受到制約SQL語(yǔ)言中的Groupby、Orderby及Having子句分別完成分組和排序等操作,如果這些子句的操作對(duì)象是加密數(shù)據(jù),那么解密后的明文數(shù)據(jù)將失去原語(yǔ)句的分組和排序作用。另外,DBMS擴(kuò)展的SQL內(nèi)部函數(shù)一般也不能直接作用于密文數(shù)據(jù)。〔4〕密文數(shù)據(jù)容易成為攻擊目標(biāo)加密技術(shù)把有意義的明文轉(zhuǎn)換為看上去沒(méi)有實(shí)際意義的密文信息,但密文的隨機(jī)性同時(shí)也暴露了消息的重要性,容易引起攻擊者的注意和破壞,從而造成了一種新的不平安性。加密技術(shù)往往需要和其他非加密平安機(jī)制相結(jié)合,以提高數(shù)據(jù)庫(kù)系統(tǒng)的整體平安性。數(shù)據(jù)庫(kù)加密作為一種對(duì)敏感數(shù)據(jù)進(jìn)行平安保護(hù)的有效手段,將得到越來(lái)越多的重視??傮w來(lái)說(shuō),目前數(shù)據(jù)庫(kù)加密技術(shù)還面臨許多挑戰(zhàn),其中解決保密性與可用性之間的矛盾是關(guān)鍵。審計(jì)“審計(jì)”功能是DBMS到達(dá)C2以上平安級(jí)別必不可少的一項(xiàng)指標(biāo)。因?yàn)槿魏蜗到y(tǒng)的平安措施都是不完美的,蓄意盜竊、破壞數(shù)據(jù)的人總是想方設(shè)法打破控制。審計(jì)通常用于以下情況:審查可疑的活動(dòng)。例如:當(dāng)出現(xiàn)數(shù)據(jù)被非授權(quán)用戶(hù)所刪除、用戶(hù)越權(quán)操作或權(quán)限管理不正確時(shí),平安管理員可以設(shè)置對(duì)該數(shù)據(jù)庫(kù)的所有連接進(jìn)行審計(jì),和對(duì)數(shù)據(jù)庫(kù)中所有表的操作進(jìn)行審計(jì)。監(jiān)視和收集關(guān)于指定數(shù)據(jù)庫(kù)活動(dòng)的數(shù)據(jù)。例如:DBA可收集哪些表經(jīng)常被修改、用戶(hù)執(zhí)行了多少次邏輯I/O操作等統(tǒng)計(jì)數(shù)據(jù),為數(shù)據(jù)庫(kù)優(yōu)化與性能調(diào)整提供依據(jù)。對(duì)DBA而言,審計(jì)就是記錄數(shù)據(jù)庫(kù)中正在做什么的過(guò)程。審計(jì)記錄可以告訴你正在使用哪些系統(tǒng)權(quán)限,使用頻率是多少,多少用戶(hù)正在登錄,會(huì)話平均持續(xù)多長(zhǎng)時(shí)間,正在特殊表上使用哪些命令,以及許多其他有關(guān)事實(shí)。審計(jì)能幫助DBA完成的操作類(lèi)型包括:為管理程序準(zhǔn)備數(shù)據(jù)庫(kù)使用報(bào)表(每天/周連接多少用戶(hù),每月發(fā)出多少查詢(xún),上周添加或刪除了多少雇員記錄)。如果疑心有黑客活動(dòng),記錄企圖闖入數(shù)據(jù)庫(kù)的失敗嘗試。確定最繁忙的表,它可能需要額外的調(diào)整。調(diào)查對(duì)關(guān)鍵表的可疑更改。從用戶(hù)負(fù)載方面的預(yù)期增長(zhǎng),規(guī)劃資源消耗。審計(jì)功能把用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志〔AuditLog〕中。審計(jì)日志一般包括以下內(nèi)容:操作類(lèi)型〔如修改、查詢(xún)等〕。操作終端標(biāo)識(shí)與操作人員標(biāo)識(shí)。操作日期和時(shí)間。操作的數(shù)據(jù)對(duì)象〔如表、視圖、記錄、屬性等〕。數(shù)據(jù)修改前后的值。DBA可以利用審計(jì)跟蹤的功能,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)狀的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。審計(jì)通常比擬費(fèi)時(shí)間和空間,所以DBMS往往都將其作為可選特征,允許DBA根據(jù)應(yīng)用對(duì)平安性的要求,靈活地翻開(kāi)或關(guān)閉審計(jì)功能。審計(jì)功能一般主要用于平安性要求較高的部門(mén)。審計(jì)一般可以分為用戶(hù)級(jí)審計(jì)和系統(tǒng)級(jí)審計(jì)。用戶(hù)級(jí)審計(jì)是任何用戶(hù)可設(shè)置的審計(jì),主要是針對(duì)自己創(chuàng)立的數(shù)據(jù)庫(kù)或視圖進(jìn)行審計(jì),記錄所有用戶(hù)對(duì)這些表或視圖的一切成功和〔或〕不成功的訪問(wèn)要求以及各種類(lèi)型的SQL操作。系統(tǒng)級(jí)審計(jì)只能由DBA設(shè)置,用以監(jiān)測(cè)成功或失敗的登錄要求、監(jiān)測(cè)Grant和Revoke操作以及其他數(shù)據(jù)庫(kù)級(jí)權(quán)限下的操作。備份與恢復(fù)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)總是防止不了故障的發(fā)生。平安的數(shù)據(jù)庫(kù)系統(tǒng)必須能在系統(tǒng)發(fā)生故障后利用已有的數(shù)據(jù)備份,恢復(fù)數(shù)據(jù)庫(kù)到原來(lái)的狀態(tài),并保持?jǐn)?shù)據(jù)的完整性和一致性。數(shù)據(jù)庫(kù)系統(tǒng)所采用的備份與恢復(fù)技術(shù),對(duì)系統(tǒng)的平安性與可靠性起著重要作用,也對(duì)系統(tǒng)的運(yùn)行效率有著重大影響。數(shù)據(jù)庫(kù)備份常用的數(shù)據(jù)庫(kù)備份的方法有如下3種?!?〕冷備份冷備份是在沒(méi)有終端用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)的情況下關(guān)閉數(shù)據(jù)庫(kù)并將其備份,又稱(chēng)為“脫機(jī)備份”。這種方法在保持?jǐn)?shù)據(jù)完整性方面顯然最有保障,但是對(duì)于那些必須保持每天24小時(shí)、每周7天全天候運(yùn)行的數(shù)據(jù)庫(kù)效勞器來(lái)說(shuō),較長(zhǎng)時(shí)間地關(guān)閉數(shù)據(jù)庫(kù)進(jìn)行備份是不現(xiàn)實(shí)的?!?〕熱備份熱備份是指當(dāng)數(shù)據(jù)庫(kù)正在運(yùn)行時(shí)進(jìn)行的備份,又稱(chēng)為“聯(lián)機(jī)備份”。因?yàn)閿?shù)據(jù)備份需要一段時(shí)間,而且備份大容量的數(shù)據(jù)庫(kù)還需要較長(zhǎng)的時(shí)間,那么在此期間發(fā)生的數(shù)據(jù)更新就有可能使備份的數(shù)據(jù)不能保持完整性,這個(gè)問(wèn)題的解決依賴(lài)于數(shù)據(jù)庫(kù)日志文件。在備份時(shí),日志文件將需要進(jìn)行數(shù)據(jù)更新的指令“堆起來(lái)”,并不進(jìn)行真正的物理更新,因此數(shù)據(jù)庫(kù)能被完整地備份。備份結(jié)束后,系統(tǒng)再按照被日志文件“堆起來(lái)”的指令對(duì)數(shù)據(jù)庫(kù)進(jìn)行真正的物理更新。可見(jiàn),被備份的數(shù)據(jù)保持了備份開(kāi)始時(shí)刻前的數(shù)據(jù)一致性狀態(tài)。熱備份操作存在如下不利因素?!绻到y(tǒng)在進(jìn)行備份時(shí)崩潰,那么堆在日志文件中的所有事務(wù)都會(huì)被喪失,即造成數(shù)據(jù)的喪失。—在進(jìn)行熱備份的過(guò)程中,如果日志文件占用系統(tǒng)資源過(guò)大,如將系統(tǒng)存儲(chǔ)空間占用完,會(huì)造成系統(tǒng)不能接受業(yè)務(wù)請(qǐng)求的局面,對(duì)系統(tǒng)運(yùn)行產(chǎn)生影響?!獰醾浞荼旧硪加孟喈?dāng)一局部系統(tǒng)資源,使系統(tǒng)運(yùn)行效率下降?!?〕邏輯備份邏輯備份是指使用軟件技術(shù)從數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù)并寫(xiě)入一個(gè)輸出文件,該文件的格式一般與原數(shù)據(jù)庫(kù)的文件格式不同,而是原數(shù)據(jù)庫(kù)中數(shù)據(jù)內(nèi)容的一個(gè)映像。因此邏輯備份文件只能用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行邏輯恢復(fù),即數(shù)據(jù)導(dǎo)入,而不能按數(shù)據(jù)庫(kù)原來(lái)的存儲(chǔ)特征進(jìn)行物理恢復(fù)。邏輯備份一般用于增量備份,即備份那些在上次備份以后改變的數(shù)據(jù)。數(shù)據(jù)庫(kù)恢復(fù)在系統(tǒng)發(fā)生故障后,把數(shù)據(jù)庫(kù)恢復(fù)到原來(lái)的某種一致性狀態(tài)的技術(shù)稱(chēng)為“恢復(fù)”,其根本原理是利用“冗余”進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。問(wèn)題的關(guān)鍵是如何建立“冗余”并利用“冗余”實(shí)施數(shù)據(jù)庫(kù)恢復(fù),即恢復(fù)策略。數(shù)據(jù)庫(kù)恢復(fù)技術(shù)一般有3種策略,即基于備份的恢復(fù)、基于運(yùn)行時(shí)日志的恢復(fù)和基于鏡像數(shù)據(jù)庫(kù)的恢復(fù)。〔1〕基于備份的恢復(fù)基于備份的恢復(fù)是指周期性地備份數(shù)據(jù)庫(kù)。當(dāng)數(shù)據(jù)庫(kù)失效時(shí),可取最近一次的數(shù)據(jù)庫(kù)備份來(lái)恢復(fù)數(shù)據(jù)庫(kù),即把備份的數(shù)據(jù)拷貝到原數(shù)據(jù)庫(kù)所在的位置上。用這種方法,數(shù)據(jù)庫(kù)只能恢復(fù)到最近一次備份的狀態(tài),而從最近備份到故障發(fā)生期間的所有數(shù)據(jù)庫(kù)更新將會(huì)喪失。備份的周期越長(zhǎng),喪失的更新數(shù)據(jù)越多?!?〕基于運(yùn)行時(shí)日志的恢復(fù)運(yùn)行時(shí)日志文件是用來(lái)記錄對(duì)數(shù)據(jù)庫(kù)每一次更新的文件。對(duì)日志的操作優(yōu)先于對(duì)數(shù)據(jù)庫(kù)的操作,以確保記錄數(shù)據(jù)庫(kù)的更改。當(dāng)系統(tǒng)突然失效而導(dǎo)致事務(wù)中斷時(shí),可重新裝入數(shù)據(jù)庫(kù)的副本,把數(shù)據(jù)庫(kù)恢復(fù)到上一次備份時(shí)的狀態(tài)。然后系統(tǒng)自動(dòng)正向掃描日志文件,將故障發(fā)生前所有提交的事務(wù)放到重做隊(duì)列,將未提交的事務(wù)放到撤銷(xiāo)隊(duì)列執(zhí)行,這樣就可把數(shù)據(jù)庫(kù)恢復(fù)到故障前某一時(shí)刻的數(shù)據(jù)一致性狀態(tài)。〔3〕基于鏡像數(shù)據(jù)庫(kù)的恢復(fù)數(shù)據(jù)庫(kù)鏡像就是在另一個(gè)磁盤(pán)上復(fù)制數(shù)據(jù)庫(kù)作為實(shí)時(shí)副本。當(dāng)主數(shù)據(jù)庫(kù)更新時(shí),DBMS自動(dòng)把更新后的數(shù)據(jù)復(fù)制到鏡像數(shù)據(jù),始終使鏡像數(shù)據(jù)和主數(shù)據(jù)保持一致性。當(dāng)主庫(kù)出現(xiàn)故障時(shí),可由鏡像磁盤(pán)繼續(xù)提供使用,同時(shí)DBMS自動(dòng)利用鏡像磁盤(pán)數(shù)據(jù)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。鏡像策略可以使數(shù)據(jù)庫(kù)的可靠性大為提高,但由于數(shù)據(jù)鏡像通過(guò)復(fù)制數(shù)據(jù)實(shí)現(xiàn),頻繁的復(fù)制會(huì)降低系統(tǒng)運(yùn)行效率,因此一般在對(duì)效率要求滿(mǎn)足的情況下可以使用。為兼顧可靠性和可用性,可有選擇性地鏡像關(guān)鍵數(shù)據(jù)。數(shù)據(jù)庫(kù)的備份和恢復(fù)是一個(gè)完善的數(shù)據(jù)庫(kù)系統(tǒng)必不可少的一局部,目前這種技術(shù)已經(jīng)廣泛應(yīng)用于數(shù)據(jù)庫(kù)產(chǎn)品中,如Oracle數(shù)據(jù)庫(kù)提供對(duì)聯(lián)機(jī)備份、脫機(jī)備份、邏輯備份、完全數(shù)據(jù)恢復(fù)及不完全數(shù)據(jù)恢復(fù)的全面支持。據(jù)預(yù)測(cè),以“數(shù)據(jù)”為核心的計(jì)算〔DataCentricComputing〕將逐漸取代以“應(yīng)用”為核心的計(jì)算。在一些大型的分布式數(shù)據(jù)庫(kù)應(yīng)用中,多備份恢復(fù)和基于數(shù)據(jù)中心的異地容災(zāi)備份恢復(fù)等技術(shù)正在得到越來(lái)越多的應(yīng)用。聚合、推理與多實(shí)例數(shù)據(jù)庫(kù)平安中,用戶(hù)根據(jù)低密級(jí)的數(shù)據(jù)和模式的完整性約束推導(dǎo)出高密級(jí)的數(shù)據(jù),造成未經(jīng)授權(quán)的信息泄露,其主要有兩種方式:推理和聚合。聚合〔Aggregation〕聚合是指這種情形:如果用戶(hù)沒(méi)有訪問(wèn)特定信息的權(quán)限,但是他有訪問(wèn)這些信息的組成局部的權(quán)限。這樣,她就可以將每個(gè)組成局部組合起來(lái),得到受限訪問(wèn)的信息。用戶(hù)可以通過(guò)不同的途徑得到信息,通過(guò)綜合就可以得到本沒(méi)有明確訪問(wèn)權(quán)限的信息。注意:聚合〔Aggregation〕指的是組合不同來(lái)源的信息的行為。用戶(hù)沒(méi)有明確的權(quán)限可以訪問(wèn)組合起來(lái)得到的信息,而組合得到的信息比信息的各個(gè)組成局部擁有更高的機(jī)密性。下面是一個(gè)簡(jiǎn)單的概念化例子。假設(shè)數(shù)據(jù)庫(kù)管理員不想讓Users組的用戶(hù)訪問(wèn)一個(gè)特定的句子“Thechickenworefunnyredculottes.”,他將這個(gè)句子分成六個(gè)局部,限制用戶(hù)訪問(wèn)。如圖:Emily可以訪問(wèn)A、C、F三個(gè)局部,由于她是個(gè)特別聰明的人,她可以根據(jù)這三個(gè)局部結(jié)合起來(lái)得出這個(gè)句子的局部。為了防止聚合,需要防止主體和任何主體的應(yīng)用程序和進(jìn)程獲得整個(gè)數(shù)據(jù)集合的權(quán)限,包括數(shù)據(jù)集合的各個(gè)獨(dú)立組成局部。客體可以進(jìn)行分類(lèi)并賦予較高的級(jí)別,存儲(chǔ)在容器中,防止低級(jí)別權(quán)限的主體訪問(wèn)。對(duì)主體的查詢(xún),可以進(jìn)行跟蹤,并實(shí)施基于上下文的分類(lèi)。這將記錄主體對(duì)客體的訪問(wèn)歷史,并在聚合攻擊發(fā)生時(shí)限制訪問(wèn)企圖。推理〔Inference〕推理〔Inference〕和聚合很相似。推理指的是主體通過(guò)他可以訪問(wèn)的信息推理出受限訪問(wèn)的信息。當(dāng)可以由平安級(jí)別較低的數(shù)據(jù)描述出較高級(jí)別的數(shù)據(jù)時(shí),就會(huì)發(fā)生推理攻擊。注意:推理是得到不是顯性可用的信息的能力。例如,如果一個(gè)職員不應(yīng)該知道軍隊(duì)在沙特阿拉伯的行動(dòng)方案,但是他可以訪問(wèn)到食品需求表格和帳篷位置的文檔,那么他就可以根據(jù)食品和帳篷運(yùn)送的目的地推算出軍隊(duì)正在向Dubia地區(qū)移動(dòng)。在文檔平安性分類(lèi)中,食品需求和帳篷位置文檔是機(jī)密文檔〔Confidential〕,而軍隊(duì)行動(dòng)方案是絕密文檔〔TopofSecret〕。由于不同的分類(lèi),這個(gè)職員可以根據(jù)他知道的信息推理出他不應(yīng)該知道的秘密。 常見(jiàn)的推理通道有以下4種。①執(zhí)行屢次查詢(xún),利用查詢(xún)結(jié)果之間的邏輯聯(lián)系進(jìn)行推理。用戶(hù)一般先向數(shù)據(jù)庫(kù)發(fā)出多個(gè)查詢(xún)請(qǐng)求,這些查詢(xún)大多包含一些聚集類(lèi)型的函數(shù)〔如合計(jì)和平均值等〕。然后利用返回的查詢(xún)結(jié)果,在綜合分析的根底上推斷出高級(jí)數(shù)據(jù)信息。②利用不同級(jí)別數(shù)據(jù)之間的函數(shù)依賴(lài)進(jìn)行推理分析,數(shù)據(jù)表的屬性之間常見(jiàn)的一種關(guān)系是“函數(shù)依賴(lài)”和“多值依賴(lài)”。這些依賴(lài)關(guān)系有可能產(chǎn)生推理通道,如同一病房的病人患的是同一種病,以及由參加會(huì)議的人員可以推得參與會(huì)議
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鑿井勘查合同范例
- 勞務(wù)損傷賠償合同范本
- 化工生產(chǎn)合同范本
- 2024年中國(guó)動(dòng)漫博物館(杭州)招聘考試真題
- 2024年重慶永川區(qū)五間鎮(zhèn)招聘公益性崗位人員筆試真題
- 鄉(xiāng)下房屋轉(zhuǎn)賣(mài)合同范本
- gf分包合同范本
- 修路合同范本簡(jiǎn)版
- 出售小區(qū)公共用地合同范本
- 北京三室一廳租房合同范本
- 2022年全國(guó)新高考Ⅰ卷:馮至《江上》
- 體能訓(xùn)練概論(NSCA)
- 青島版三年級(jí)數(shù)學(xué)下冊(cè)《美麗的街景》教學(xué)課件7
- 銅陵油庫(kù)重油罐區(qū)工藝設(shè)計(jì)
- 液壓傳動(dòng)全套ppt課件(完整版)
- 質(zhì)量手冊(cè)CCC認(rèn)證完整
- DB51∕T 2767-2021 安全生產(chǎn)風(fēng)險(xiǎn)分級(jí)管控體系通則
- 反興奮劑考試試題與解析
- 低壓電氣安全知識(shí)培訓(xùn)課件(35張PPT)
- 電子支氣管鏡檢查、清洗消毒保養(yǎng)及注意事項(xiàng)解讀
- 建筑工程材料取樣及收費(fèi)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論