版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)加密綜述石磊摘要 數(shù)據(jù)庫(kù)加密是利用現(xiàn)有的數(shù)據(jù)庫(kù)和加密技術(shù),來(lái)研究如何對(duì)數(shù)據(jù)庫(kù)中的數(shù) 據(jù)加、 解密,從而提高數(shù)據(jù)庫(kù)系統(tǒng)的安全。 數(shù)據(jù)庫(kù)加密可以在 OS、DBMS 內(nèi)層、 DBMS 外層上實(shí)現(xiàn)。 OS 層上的數(shù)據(jù)庫(kù)加密由于存在太多的問(wèn)題和缺陷,已經(jīng)不 被人們考慮。已有的數(shù)據(jù)庫(kù)加密產(chǎn)品都是在 DBMS 外層實(shí)現(xiàn)的,這種實(shí)現(xiàn)方式 雖說(shuō)做到了數(shù)據(jù)和密鑰的分離, 可以有效地抵御外部的非法入侵, 但對(duì)企業(yè)內(nèi)部 的攻擊卻沒(méi)有很好的防范措施; 另外,這種方式還存在著: 使數(shù)據(jù)和應(yīng)用程序緊 密結(jié)合起來(lái)、在 DBMS 之外又增加了其他的數(shù)據(jù)管理工具、硬盤(pán)存儲(chǔ)空間浪費(fèi) 大等缺陷。 其實(shí),數(shù)據(jù)的加密與否只是數(shù)據(jù)的
2、一個(gè)屬性, 數(shù)據(jù)的加密存儲(chǔ)是數(shù)據(jù) 的一種保存方式,關(guān)乎數(shù)據(jù)的物理存儲(chǔ),這些都是 DBMS 現(xiàn)有功能的一部分。 另外從數(shù)據(jù)和應(yīng)用程序的分離、數(shù)據(jù)的維護(hù)和安全來(lái)看,數(shù)據(jù)庫(kù)加密都應(yīng)當(dāng)在 DBMS 內(nèi)實(shí)現(xiàn)。本文就是基于關(guān)系 DBMS ,介紹一種數(shù)據(jù)庫(kù)加密的實(shí)現(xiàn)方法。1 引言隨著網(wǎng)絡(luò)應(yīng)用的不斷發(fā)展,信息成為社會(huì)發(fā)展需要的重要戰(zhàn)略資源。圍繞 信息的獲取、 使用和控制的競(jìng)爭(zhēng)愈演愈烈, 信息安全成為在激烈競(jìng)爭(zhēng)中立于不敗 之地的重要保障。 調(diào)查顯示, 我國(guó)互聯(lián)網(wǎng)安全狀況有所好轉(zhuǎn), 但互聯(lián)網(wǎng)用戶的網(wǎng) 絡(luò)安全意識(shí)仍比較薄弱, 對(duì)發(fā)生網(wǎng)絡(luò)安全事件未給予足夠重視, 聯(lián)網(wǎng)單位對(duì)外部 網(wǎng)絡(luò)攻擊防范的意識(shí)有所增強(qiáng),但單位內(nèi)部
3、的網(wǎng)絡(luò)安全管理工作還不到位。數(shù)據(jù)庫(kù)作為信息存儲(chǔ)中心,其安全問(wèn)題尤為突出。一方面,企業(yè)為了本身 的利益,需要對(duì)其敏感信息進(jìn)行保護(hù)而不讓外界獲??; 另一方面, 在數(shù)據(jù)庫(kù)作為 服務(wù)DAS(Database As Service)的數(shù)據(jù)管理模型下,企業(yè)需要從數(shù)據(jù)庫(kù)服務(wù)提供 商DSP(DatabaseService Provider)處獲得專業(yè)的數(shù)據(jù)庫(kù)服務(wù)。這種情況之下,企 業(yè)的數(shù)據(jù)存放在數(shù)據(jù)庫(kù)服務(wù)提供商處, 其完全性無(wú)法得到有效的保障。 因?yàn)槿绻?數(shù)據(jù)庫(kù)只使用訪問(wèn)控制來(lái)限制數(shù)據(jù)訪問(wèn)的話,數(shù)據(jù)庫(kù)提供商處的數(shù)據(jù)庫(kù)管理員 (DBA)就可能會(huì)有意或無(wú)意訪問(wèn)到企業(yè)的所有數(shù)據(jù),從而給企業(yè)造成巨大損失。對(duì)于這種“監(jiān)
4、守自盜”的行為,只有從 DBMS 內(nèi)完成對(duì)數(shù)據(jù)的加密,這樣 不僅可以有效減少來(lái)自于外界的危害,也可以有效防止 DBA 對(duì)數(shù)據(jù)安全造成的 威脅。我的綜述通過(guò)敘述數(shù)據(jù)庫(kù)的安全現(xiàn)狀說(shuō)明數(shù)據(jù)庫(kù)加密技術(shù)的重要性, 根據(jù) 數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)的特點(diǎn)提出數(shù)據(jù)庫(kù)加密的要求, 詳細(xì)闡述數(shù)據(jù)庫(kù)加密技術(shù)的一般 原理,并重點(diǎn)介紹基于關(guān)系 DBMS 的一種數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)方法,最后提出對(duì)數(shù) 據(jù)庫(kù)安全管理前景的展望。2 數(shù)據(jù)庫(kù)的安全現(xiàn)狀I(lǐng)、數(shù)據(jù)庫(kù)的安全需求面對(duì)外部攻擊者可能造成的安全威脅, 可以將數(shù)據(jù)庫(kù)的安全需求歸納為五個(gè) 方面:數(shù)據(jù)的完整性、數(shù)據(jù)的保密性、用戶鑒別、訪問(wèn)控制和安全審計(jì)。2、數(shù)據(jù)庫(kù)的安全威脅數(shù)據(jù)庫(kù)在信息系統(tǒng)中的核
5、心地位是數(shù)據(jù)庫(kù)面臨著更加嚴(yán)重的安全威脅。凡是可能造成數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)錯(cuò)誤 (遺漏非授權(quán)的修改、刪除等 )、數(shù)據(jù)的非法獲 取、拒絕正常服務(wù)等行為都屬于對(duì)數(shù)據(jù)庫(kù)的安全造成了威脅。 數(shù)據(jù)庫(kù)的安全威脅主要來(lái)自人為惡意攻擊、自然災(zāi)害、 設(shè)備故障或管理失誤等其中對(duì)數(shù)據(jù)庫(kù)安全非法篡改數(shù)據(jù)和引威脅最大的是人為惡意攻擊。 惡意攻擊將造成非法獲取數(shù)據(jù)、 發(fā)系統(tǒng)的拒絕服務(wù)等多種安全威脅。其攻擊手段主要有 :(1) 非法用戶通過(guò)竊取被授權(quán)用戶的用戶名、口令及密鑰等手段訪問(wèn)其未 被授權(quán)訪問(wèn)的數(shù)據(jù)。( 2 ) 使用被授予訪問(wèn)權(quán)限的帳戶來(lái)進(jìn)行未被授權(quán)的操作也就是合法用戶的 越權(quán)行為。( 3 )繞過(guò) DBMS 直接對(duì)數(shù)據(jù)庫(kù)文
6、件進(jìn)行讀寫(xiě)。( 4 ) 利用病毒、 特洛伊木馬等破壞性程序, 在特定的條件下, 攻擊者可以繞 過(guò)系統(tǒng)設(shè)置的安全機(jī)制進(jìn)入系統(tǒng)以達(dá)到破壞和竊取數(shù)據(jù)的目的。( 5 )通過(guò)拒絕服務(wù)攻擊, 使服務(wù)器過(guò)載、 崩潰,從而阻止合法用戶對(duì)數(shù)據(jù)的 正常訪問(wèn)。( 6 )通過(guò)控制通信, 例如錯(cuò)誤信息的插入、 故意的延時(shí)或無(wú)序傳送等手段通 過(guò)網(wǎng)絡(luò)進(jìn)人系統(tǒng)竊取數(shù)據(jù)并進(jìn)行破壞性操作。( 7 )在數(shù)據(jù)傳輸信道上采用搭線竊聽(tīng)、電磁接受、傳輸監(jiān)控等手段竊取數(shù) 據(jù)。綜合分析數(shù)據(jù)庫(kù)系統(tǒng)的漏洞及其面臨的安全威脅,我們認(rèn)為對(duì)數(shù)據(jù)庫(kù)中敏 感數(shù)據(jù)進(jìn)行加密處理 ,不僅是堵塞“隱秘通道”的有效手段,更是確保數(shù)據(jù)庫(kù)中 的數(shù)據(jù)內(nèi)容不被泄漏的最重要的
7、手段。 通過(guò)加密,不僅管理員無(wú)法知道數(shù)據(jù)內(nèi)容, 即使數(shù)據(jù)不幸泄露或丟失, 其內(nèi)容也難以被人破譯。 因此, 實(shí)現(xiàn)數(shù)據(jù)庫(kù)中敏感數(shù) 據(jù)的保密是保證數(shù)據(jù)庫(kù)安全的重點(diǎn)。3 數(shù)據(jù)庫(kù)加密的功能和特點(diǎn)一般而言,一個(gè)行之有效的數(shù)據(jù)庫(kù)加密技術(shù)主要應(yīng)有以下幾方面的功能和 特點(diǎn):a) 身份認(rèn)證:用戶除提供用戶名、口令外,還必須按照系統(tǒng)安全要求提供 其他相關(guān)安全憑證。系統(tǒng)可以選擇使用終端密鑰、用戶 USB Key 等來(lái)增強(qiáng)身份 認(rèn)證的安全性。b) 通信加密與完整性保護(hù):有關(guān)數(shù)據(jù)庫(kù)的訪問(wèn)在網(wǎng)絡(luò)傳輸中都應(yīng)被加密, 通信的目的地還可以校驗(yàn)通信的完整性; 通信一次一密的意義在于防重放、 防篡 改。c) 數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)加密與完整
8、性保護(hù):系統(tǒng)采用數(shù)據(jù)項(xiàng)級(jí)存儲(chǔ)加密,即數(shù) 據(jù)庫(kù)中不同的記錄、 每條記錄的不同字段都采用不同的密鑰加密, 并輔以校驗(yàn)措 施,以保證數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)的保密性和完整性,防止數(shù)據(jù)的非授權(quán)訪問(wèn)和修改。d)數(shù)據(jù)庫(kù)加密設(shè)置:系統(tǒng)中可以選擇需要加密的數(shù)據(jù)庫(kù)列,以便于用戶選 擇那些敏感信息進(jìn)行加密而不是全部數(shù)據(jù)都加密。 只對(duì)用戶的敏感數(shù)據(jù)加密, 可 以提高數(shù)據(jù)庫(kù)訪問(wèn)速度,有利于用戶在效與安全性之間進(jìn)行自主平衡。e)多級(jí)密鑰管理模式:主密鑰和主密鑰變量保存在安全區(qū)域,二級(jí)密鑰受 主密鑰變量加密保護(hù);數(shù) 據(jù)加密的密鑰存儲(chǔ)或傳輸時(shí)利用二級(jí)密鑰加密保護(hù), 使用時(shí)受主密鑰保護(hù)。f)安全備份:系統(tǒng)提供數(shù)據(jù)庫(kù)明文備份功能(為防止
9、災(zāi)難發(fā)生,系統(tǒng)提供明 文形式的數(shù)據(jù)庫(kù)內(nèi)容備份功能, 以防止丟失密鑰或數(shù)據(jù)造成災(zāi)難性后果) 和密鑰 備份功能(用戶可以同時(shí)使用 DBMS 的備份功能和數(shù)據(jù)庫(kù)加密系統(tǒng)的密鑰備份 功能,同時(shí)備份密文和密鑰,在需要時(shí)進(jìn)行恢復(fù)) 。g) 通用接口和廣泛的平臺(tái)支持:系統(tǒng)采用開(kāi)放的體系結(jié)構(gòu),支持標(biāo)準(zhǔn)SQL 語(yǔ)句。4 數(shù)據(jù)庫(kù)加密的要求由于數(shù)據(jù)庫(kù)本身的特點(diǎn)和實(shí)際應(yīng)用需求,對(duì)數(shù)據(jù)庫(kù)加密一般應(yīng)具有以下功 能:(1)由于數(shù)據(jù)庫(kù)數(shù)據(jù)信息的生命周期一般比較長(zhǎng),無(wú)論采取何種加密方法 都應(yīng)能做到實(shí)際不可破譯的程度;( 2)數(shù)據(jù)信息在加密后,其占用的存儲(chǔ)空間不宜明顯增大;(3)加密和解密速度都應(yīng)足夠快,尤其對(duì)解密的速度要求更高
10、,應(yīng)使用戶 盡量感覺(jué)不到由于加、解密所產(chǎn)生的延時(shí);(4)加密系統(tǒng)要有盡可能靈活的授權(quán)機(jī)制;(5)加密系統(tǒng)應(yīng)同時(shí)提供一套安全的、靈活的密鑰管理機(jī)構(gòu);(6)對(duì)數(shù)據(jù)庫(kù)的加密不應(yīng)影響系統(tǒng)的原有功能,應(yīng)保持對(duì)數(shù)據(jù)庫(kù)操作的靈 活性和簡(jiǎn)便性;(7)加密后的數(shù)據(jù)庫(kù)仍能滿足用戶在不同類別程度上的訪問(wèn);( 8)防止非法拷貝。5 數(shù)據(jù)庫(kù)加密的原理數(shù)據(jù)加密就是把數(shù)據(jù)信息即明文轉(zhuǎn)換為不可辨識(shí)的形式即密文的過(guò)程,目 的是使不應(yīng)了解該數(shù)據(jù)信息的人不能夠知道和識(shí)別。將密文轉(zhuǎn)變?yōu)槊魑牡倪^(guò)程 (如圖所示) 就是解密。加密和解密過(guò)程形成加密系統(tǒng), 明文與密文統(tǒng)稱為報(bào)文。 任何加密系統(tǒng)通常都包括如下 4 個(gè)部分:(1)需要加密的報(bào)文
11、,也稱為明文 P;(2)加密以后形成的報(bào)文,也稱為密文 Y;(3)加密(解密)算法 E ( D);(4)用于加密和解密的鑰匙,稱為密鑰 K。加密過(guò)程可描述為:在發(fā)送端利用加密算法 E和加密密鑰Ke對(duì)明文P進(jìn)行 加密,得到密文丫 = E Ke( P )。密文丫破傳送到接收端后應(yīng)進(jìn)行解密。 解密過(guò)程 可描述為:接收端利用解密算法 D 和解密密鑰 Kd 對(duì)密文 Y 進(jìn)行解密,將密文 恢復(fù)為明文 P = D Kd ( 丫 )在密碼學(xué)中, 把設(shè)計(jì)密碼的技術(shù)稱為密碼編碼, 把破澤 密碼的技術(shù)稱為密碼分析。 密碼編碼和密碼分析合起來(lái)稱為密碼學(xué)。 在加密系統(tǒng) 中,算法是相對(duì)穩(wěn)定的。為了加密數(shù)據(jù)的安全性,應(yīng)經(jīng)常
12、改變密鑰。加密密鑰解密密鑰6基于關(guān)系DBMS的一種數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)方法前面已經(jīng)說(shuō)到數(shù)據(jù)庫(kù)加密的特點(diǎn)和要求, 基于以上的考慮,這種方法的設(shè)計(jì) 思路是在DBMS中引入一個(gè)加密子系統(tǒng),該子系統(tǒng)提供和軟、硬件加密模塊的 接口,完成加密定義、操作、維護(hù)以及密鑰的管理、使用等各項(xiàng)功能,所有和加 密有關(guān)的操作都需要在加密子系統(tǒng)中完成。用戶連接到數(shù)據(jù)庫(kù)或進(jìn)入DBMS交互式處理環(huán)境,可以執(zhí)行原有的各項(xiàng)功能。但如果要執(zhí)行和加密有關(guān)的操作,就 需要通過(guò)命令、輸入密碼進(jìn)入加密子系統(tǒng)。需要說(shuō)明的是:在實(shí)現(xiàn)數(shù)據(jù)庫(kù)加密后,用戶對(duì)表中加密屬性列的訪問(wèn),既需 要加密子系統(tǒng)中的訪問(wèn)授權(quán),也需要數(shù)據(jù)庫(kù)訪問(wèn)控制中的授權(quán)。 下面就加密子
13、系 統(tǒng)的設(shè)置以及其他相關(guān)功能的實(shí)現(xiàn)及操作分別進(jìn)行闡述。6.1為用戶設(shè)置加密子系統(tǒng)用戶能夠或被取消訪問(wèn)加密子系統(tǒng),這需要由系統(tǒng)安全員在DBMS的交互用戶要訪問(wèn)加密子系統(tǒng),必須先連接到數(shù)據(jù)庫(kù)或進(jìn)入 DBMS 交互式處理環(huán)境。 用戶可以使用下列命令進(jìn)入和退出加密子系統(tǒng):set encrypt on on usingpasswordset encrypt off 在加密子系統(tǒng)中,用戶、系統(tǒng)安全員使用下面的命令更改用戶加密子系統(tǒng)密碼: set password new_password passwordconfirm set password new_password passwordconfirm f
14、or user_id6.2 加密屬性及密鑰管理在數(shù)據(jù)庫(kù)系統(tǒng)中引入個(gè)新的對(duì)象 cryptograph,用來(lái)指定加密需要的加密算 法、密鑰、密鑰長(zhǎng)度等加密屬性。用戶根據(jù)要求創(chuàng)建自己需要的 cryptograph 對(duì) 象,從而在創(chuàng)建表時(shí)可以為需要加密的屬性列指定一個(gè)對(duì)象, 確定加密時(shí)所需要 的加密屬性。(1)對(duì)象創(chuàng)建。使用下面的命令創(chuàng)建 cryptograph對(duì)象:create cryptograph cryptograph_name with algorithm_name lemgth interval參數(shù) length、interval 指定密鑰的長(zhǎng)度、 密鑰有效期信息, 對(duì)象的密鑰由系統(tǒng) 自動(dòng)
15、生成、加密后存儲(chǔ), 用戶無(wú)法直接獲取。 創(chuàng)建對(duì)象的用戶就成為它的所有者, 有關(guān)對(duì)象的所有信息都存放在數(shù)據(jù)字典中。(2)對(duì)象授權(quán)管理。具有加密子系統(tǒng)訪問(wèn)能力的用戶,能夠在加密子系統(tǒng)中創(chuàng) 建 cryptograph 對(duì)象,該用戶就成為新建對(duì)象的所有者。只有對(duì)象的所有者才能 夠修改、刪除crytograph對(duì)象,才能將對(duì)象的使用權(quán)限授予其他的用戶。用戶只有在獲得 crypfograph 對(duì)象的使用權(quán)限之后,才能在屬性列的定義中 使用該對(duì)象,才能操作由該對(duì)象定義的屬性列。使用下列命令授予、撤消用戶對(duì)數(shù)據(jù)庫(kù)對(duì)象crytograph的使用權(quán)限:grand use on cryptograph_name t
16、o user_id revoke use oncryptograph_name from user_id 要成功地撤消用戶 cryptogral 幽對(duì)象的使用權(quán)限,必須保證該用戶沒(méi)有使用 該對(duì)象定義任何表的屬性列。對(duì)象的使用授權(quán)被單獨(dú)存放在數(shù)據(jù)字典的授權(quán)表中, 系統(tǒng)在對(duì)象創(chuàng)建時(shí)自動(dòng) 為對(duì)象所有者在授權(quán)表中添加一條記錄, 對(duì)象所有者給其他用戶的授權(quán)也是在授 權(quán)表中增加一條和該對(duì)象有關(guān)的授權(quán)記錄。 授權(quán)表中所有記錄都包含了相應(yīng)對(duì)象 的密鑰, 對(duì)對(duì)象所有者來(lái)說(shuō), 記錄中對(duì)象的密鑰是在創(chuàng)建對(duì)象時(shí), 系統(tǒng)將自動(dòng)生 成的密鑰使用所有者的加密子系統(tǒng)密碼加密后存儲(chǔ)的; 對(duì)其他的用戶來(lái)說(shuō), 記錄 中對(duì)象的密鑰是
17、在所有者授權(quán)時(shí), 系統(tǒng)將經(jīng)所有者密碼解密后的對(duì)象密鑰, 再使 用被授權(quán)用戶的密碼加密后存儲(chǔ)的。 這樣,用戶在成功地登錄進(jìn)加密子系統(tǒng)之后, 由于系統(tǒng)能夠使用用戶的加密子系統(tǒng)密碼獲得對(duì)象的密鑰, 從而就可以操作和該 對(duì)象有關(guān)的所有加密屬性列了。用戶在修改了自己的加密子系統(tǒng)密碼后, 由于加密子系統(tǒng)不會(huì)自動(dòng)對(duì)授權(quán)表 進(jìn)行更新, 用戶現(xiàn)有密碼和加密對(duì)象密鑰的密碼不一致, 用戶由于無(wú)法獲取正確 的對(duì)象密鑰, 進(jìn)而無(wú)法正常操作和該對(duì)象有關(guān)的加密屬性列。 這時(shí)就需要對(duì)象所 有者首先收回授權(quán),然后重新給用戶授權(quán)。如果對(duì)象所有者忘記或修改了加密子系統(tǒng)密碼, 他就無(wú)法正常操作和該對(duì)象 相關(guān)的加密屬性列, 也無(wú)法再向
18、其他的用戶進(jìn)行授權(quán)。 這時(shí)盡管其他已經(jīng)被授權(quán) 的用戶仍舊可以正常操作, 但最好是對(duì)數(shù)據(jù)進(jìn)行明文備份, 重建對(duì)象、 表后進(jìn)行 恢復(fù)。這種對(duì)象授權(quán)及密鑰保存方式, 可以有效地限制特權(quán)用戶的權(quán)限, 他們?cè)跊](méi) 有得到對(duì)象所有者授權(quán)的情況下, 是沒(méi)有辦法正常操作和該對(duì)象有關(guān)的加密屬性 列。如果數(shù)據(jù)庫(kù)管理員更改用戶的帳號(hào)密碼, 由于無(wú)法得到正確的加密子系統(tǒng)密 碼,他無(wú)法以該用戶的名義進(jìn)入加密子系統(tǒng): 如果系統(tǒng)安全員更改了用戶的加密 子系統(tǒng)密碼并以該用戶的名義進(jìn)入加密子系統(tǒng), 系統(tǒng)利用這個(gè)密碼不會(huì)得到正確 的對(duì)象密鑰,因而對(duì)有關(guān)加密屬性列的操作也不會(huì)成功。( 3)對(duì)象刪除。使用下面的命令刪除 cryptog
19、raph 對(duì)象:drop cryptograph cryptograph_name要成功地刪除 crytograph 對(duì)象,需要滿足下面的兩個(gè)條件:(A) 沒(méi)有一個(gè)加密屬性列在定義中使用了這個(gè)對(duì)象;(B) 除了對(duì)象所有者,沒(méi)有一個(gè)用戶被賦予該對(duì)象的使用權(quán)限。( 4)對(duì)象更改。使用下面的命令修改 cryptograph 對(duì)象的加密算法、密鑰長(zhǎng)度、 密鑰生存期等信息:alter cryptograph cryptograph_name with aigorithm_name length interval如果修改了對(duì)象的加密算法、 密鑰長(zhǎng)度, 系統(tǒng)將會(huì)重新生成新的密鑰, 還將 自動(dòng)執(zhí)行下面的操作:
20、 (A) 對(duì)所有使用這個(gè)對(duì)象的加密屬性列,首先使用舊的密 鑰解密數(shù)據(jù),然后再用新的密鑰加密后存儲(chǔ);(B)對(duì)所有被賦予該對(duì)象使用權(quán)限的用戶,用他們的加密子系統(tǒng)密碼加密新的密鑰后更新授權(quán)表。另外加密子系統(tǒng)提供系統(tǒng)故障恢復(fù)能力, 保證這些操作的正常完成并能夠從 中斷中恢復(fù)。6.3 加密屬性列的定義在數(shù)據(jù)庫(kù)系統(tǒng)中引入新的數(shù)據(jù)類型 en cryptio n,將所有需要加密的屬性列都 一律定義為 encryption 類型。在創(chuàng)建表時(shí)可以使用下面的格式定義加密屬性列: coIumn_name encryption with cryptograph_name type_name length 其中:參 數(shù)
21、cryptograph_name 指定了屬性 列使用 的 cryptograph 對(duì)象, type_name和length指定明文數(shù)值的類型、長(zhǎng)度。給定屬性列的明文數(shù)據(jù)類型和長(zhǎng)度, 系統(tǒng)就可以在操作加密屬性列時(shí)進(jìn)行數(shù) 據(jù)類型及取值的一致性檢查: 另外系統(tǒng)會(huì)自動(dòng)根據(jù)明文數(shù)據(jù)的類型、 長(zhǎng)度以及加 密算法、密鑰長(zhǎng)度計(jì)算出該屬性列所需存儲(chǔ)空間,然后作為這個(gè) encryption 類型 的長(zhǎng)度。 (由于加密屬性列明文數(shù)據(jù)類型、長(zhǎng)度可變,系統(tǒng)無(wú)法為encryption 類型設(shè)定固定的長(zhǎng)度 )如果要修改加密屬性列的加密屬性定義,需要將表中數(shù)據(jù)以明文的方式導(dǎo) 出,在修改了加密屬性后,再將明文數(shù)據(jù)加密后裝入表中
22、。6.4 對(duì)加密屬性列的操作對(duì)加密屬性列的操作是通過(guò)兩個(gè)系統(tǒng)函數(shù) Fun_encryption、 Fun_decryption 來(lái)實(shí)現(xiàn),它們的定義如下:Encryption Fun_encryption (column_name, column_vaIue)Void Fun_decryption (coIumn_name)Fun_encryption 函數(shù)調(diào)用加密模塊,對(duì)輸入的數(shù)據(jù)加密后返回 encryption 類 型的數(shù)據(jù)。在執(zhí)行加密操作前,該函數(shù)會(huì)根據(jù) coIumn_name 值在數(shù)據(jù)字典中查 找屬性列定義,然后執(zhí)行明文數(shù)據(jù)的類型匹配檢查、數(shù)據(jù)取值的一致性檢查; Fun_decrypti
23、on函數(shù)對(duì)屬性列的數(shù)據(jù)進(jìn)行解密,根據(jù)屬性列明文數(shù)據(jù)類型返回?cái)?shù) 據(jù)。向加密屬性列中插入數(shù)據(jù)時(shí), 需要使用 Fun_encryption 函數(shù)加密數(shù)據(jù)并轉(zhuǎn)換 為 encryption 類型;對(duì)加密屬性列的修改,首先通過(guò) Fun_decryption 函數(shù)獲得明 文數(shù)據(jù),在更改完成后再使用 Funencryption 函數(shù)加密后存儲(chǔ)。對(duì)加密屬性列的查詢,可以使用 Fun_e ncryption函數(shù)加密要查詢的數(shù)據(jù),然 后在屬性列上尋找滿足條件的記錄; 也可以使用Fun_decryption函數(shù)解密屬性列 上的每一個(gè)數(shù)值后再進(jìn)行比較,比較而言,前者的執(zhí)行效率肯定會(huì)更高一些。6.5 加密數(shù)據(jù)的備份和恢復(fù)
24、為保證數(shù)據(jù)的可用性、可恢復(fù)性,在實(shí)現(xiàn)數(shù)據(jù)庫(kù)加密后,系統(tǒng)應(yīng)提供加密屬 性列在密文、 明文兩種形式下的備份和恢復(fù)、 數(shù)據(jù)的導(dǎo)出和裝入。 密文方式的操 作可以直接在 DBMS 的交互處理環(huán)境下完成,而明文方式則需要進(jìn)入加密子系 統(tǒng)并在命令中指定加、 解密選項(xiàng)。具體的備份和恢復(fù)、 數(shù)據(jù)導(dǎo)出和裝入命令如下:backup table table_name wjth decryption to device_name restore tabIetable_name with encryption from device_name export table tabIe_name with decryption
25、 to device_name import table table_name with encryption from device_name6.6 加密屬性列存在的限制屬性列被加密后,仍舊可以在查詢語(yǔ)句中實(shí)現(xiàn)表問(wèn)連接、 數(shù)據(jù)的分組和排序, 仍舊可以實(shí)現(xiàn)表間的參 照完整性 (這時(shí)需要兩個(gè) 表的加密屬性列 使用相同的 crytograph對(duì)象),但不可避免地要影響系統(tǒng)性能。 另外需要指出的是:在實(shí)現(xiàn)加 密后,對(duì)加密屬性列的操作會(huì)存在以下兩個(gè)限制:(1)不能在加密屬性列上建立索引。 加密后屬性的值已經(jīng)改變。 如果建立索引, 索引的排序順序和明文數(shù)據(jù)的順序并不一致, 這不但不會(huì)給查詢帶來(lái)好處, 反而 使敏感數(shù)據(jù)多處存放。(2)不能對(duì)加密屬性列進(jìn)行信息統(tǒng)計(jì)。在屬性列被加密后,由于數(shù)值的改變, 數(shù)據(jù)的統(tǒng)計(jì)信息對(duì)優(yōu)化器的優(yōu)化算法已經(jīng)失去意義。雖然存在以上的限制和性能影響,但需要加密的數(shù)據(jù)一般是企業(yè)的敏感數(shù) 據(jù),只有極少數(shù)人可以訪問(wèn), 使用頻度低, 一般也不會(huì)出現(xiàn)在查詢條件中, 因此 屬性列在加密后不會(huì)給數(shù)據(jù)庫(kù)系統(tǒng)帶來(lái)太大的影響。7 結(jié)語(yǔ)隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫(kù)的應(yīng)用十分廣泛,深入到各個(gè)領(lǐng)域, 但隨之而來(lái)產(chǎn)生了數(shù)據(jù)的安全問(wèn)題。 數(shù)據(jù)庫(kù)系統(tǒng)作為信息的聚集體, 是計(jì)算機(jī)信 息系統(tǒng)的核心部件,其安全性至關(guān)重要,關(guān)系到企業(yè)興衰、國(guó)家安全。因此,如 何有
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度互聯(lián)網(wǎng)企業(yè)派遣員工網(wǎng)絡(luò)安全合同3篇
- 2025年全新公對(duì)公借款合同模板下載及服務(wù)支持10篇
- 二零二五年度體育館租賃合同附體育賽事推廣及贊助招商服務(wù)
- 2025版智能工廠生產(chǎn)線改造施工合同4篇
- 二零二五年度新能源產(chǎn)品銷售代理合作合同范本3篇
- Bobath技術(shù)閆秀麗講解
- 2025年度個(gè)人藝術(shù)品租賃借款合同范本及租賃期限約定
- 2025年室內(nèi)墻面批白工程售后服務(wù)合同
- 二零二五年度戶外廣告照明外接電源供應(yīng)合同
- 2025年度個(gè)人房屋抵押貸款擔(dān)保及養(yǎng)老保障服務(wù)合同
- 道路瀝青工程施工方案
- 2025年度正規(guī)離婚協(xié)議書(shū)電子版下載服務(wù)
- 《田口方法的導(dǎo)入》課件
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場(chǎng)營(yíng)銷策略考核試卷
- 電力電纜工程施工組織設(shè)計(jì)
- 醫(yī)生給病人免責(zé)協(xié)議書(shū)(2篇)
- 票據(jù)業(yè)務(wù)居間合同模板
- 高中物理選擇性必修2教材習(xí)題答案
- 應(yīng)急預(yù)案評(píng)分標(biāo)準(zhǔn)表
- “網(wǎng)絡(luò)安全課件:高校教師網(wǎng)絡(luò)安全與信息化素養(yǎng)培訓(xùn)”
- 鋰離子電池健康評(píng)估及剩余使用壽命預(yù)測(cè)方法研究
評(píng)論
0/150
提交評(píng)論