數(shù)據(jù)加密技術(shù)論文(2)
數(shù)據(jù)加密技術(shù)論文
數(shù)據(jù)加密技術(shù)論文篇二
數(shù)據(jù)庫(kù)加密技術(shù)研究
摘要:文章結(jié)合筆者多年工作的實(shí)踐經(jīng)驗(yàn),就數(shù)據(jù)庫(kù)加密層次的選擇、加密算法的選擇以及數(shù)據(jù)庫(kù)加密與外部系統(tǒng)之間的關(guān)系進(jìn)行了分析與闡述。
關(guān)鍵詞:數(shù)據(jù)庫(kù)加密;加密算法;加密粒度
隨著計(jì)算機(jī)在社會(huì)各個(gè)領(lǐng)域的廣泛應(yīng)用,人們對(duì)信息系統(tǒng)的依賴程度越來(lái)越高,數(shù)據(jù)庫(kù)在計(jì)算機(jī)和軟件開(kāi)發(fā)領(lǐng)域的作用是至關(guān)重要。數(shù)據(jù)庫(kù)系統(tǒng)負(fù)擔(dān)著客戶端對(duì)數(shù)據(jù)信息的訪問(wèn)控制和存儲(chǔ)管理的任務(wù),數(shù)據(jù)庫(kù)中的數(shù)據(jù)(包括一些機(jī)密數(shù)據(jù))一般以明文的形式保存。關(guān)鍵數(shù)據(jù)以明文的形式在數(shù)據(jù)庫(kù)中存儲(chǔ)使數(shù)據(jù)庫(kù)的安全性降低,通過(guò)對(duì)數(shù)據(jù)庫(kù)中關(guān)鍵字段的加密可以提高其安全性。
一、加密層次的選擇
可以考慮在3個(gè)不同層次實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的加密,這3個(gè)層次分別是OS、DBMS內(nèi)核層和DBMS外層。
第一,從操作系統(tǒng)的角度來(lái)看OS層位于DBMS層之下,所以無(wú)法辨認(rèn)數(shù)據(jù)庫(kù)文件中的數(shù)據(jù)關(guān)系,也就無(wú)法合理地產(chǎn)生、管理和使用密鑰。因此,在OS層對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密,對(duì)于大型數(shù)據(jù)庫(kù)來(lái)說(shuō),目前還難以實(shí)現(xiàn)。
第二,DBMS內(nèi)核層加密是指數(shù)據(jù)在物理存取之前完成加解密工作。這種方式的優(yōu)點(diǎn)是加密功能強(qiáng),并且加密功能幾乎不會(huì)影響DBMS的功能;缺點(diǎn)是在服務(wù)器端進(jìn)行加解密運(yùn)算,加重了數(shù)據(jù)庫(kù)服務(wù)器的負(fù)載,并且因?yàn)榧咏饷苁窃贒BMS內(nèi)核中完成,就勢(shì)必需要數(shù)據(jù)庫(kù)供應(yīng)商對(duì)其進(jìn)行技術(shù)支持,這一點(diǎn)不容易實(shí)現(xiàn)。
第三,DBMS外層實(shí)現(xiàn)加密的優(yōu)點(diǎn)是可擴(kuò)充性強(qiáng),數(shù)據(jù)庫(kù)的加解密系統(tǒng)可以做成一個(gè)獨(dú)立于DBMS的平臺(tái),不需要數(shù)據(jù)庫(kù)供應(yīng)商進(jìn)行技術(shù)支持,并且可以將加密密文直接在網(wǎng)上傳輸;缺點(diǎn)是數(shù)據(jù)庫(kù)的功能和查詢效率會(huì)受一些限制。
根據(jù)以上理論得出,應(yīng)用程序的數(shù)據(jù)通過(guò)數(shù)據(jù)庫(kù)加密接口轉(zhuǎn)換成相應(yīng)的密文保存在數(shù)據(jù)源中;當(dāng)應(yīng)用程序需要調(diào)用數(shù)據(jù)源時(shí),通過(guò)數(shù)據(jù)解密模塊將相應(yīng)的密文轉(zhuǎn)換成原本的數(shù)據(jù)。這樣,即使其他非法用戶竊取數(shù)據(jù)庫(kù)文件他們也只能得到密文無(wú)法得到有意義的明文,從而提高數(shù)據(jù)庫(kù)的安全性。
數(shù)據(jù)庫(kù)加密系統(tǒng)分成兩個(gè)功能獨(dú)立的主要部件:一個(gè)是加密字典管理程序,另一個(gè)是數(shù)據(jù)庫(kù)加解密引擎。按以上方式實(shí)現(xiàn)的數(shù)據(jù)庫(kù)加密系統(tǒng)具有很多優(yōu)點(diǎn):首先,系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的最終用戶是完全透明的,管理員可以根據(jù)需要進(jìn)行明文和密文的轉(zhuǎn)換工作;其次,加密系統(tǒng)完全獨(dú)立于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),無(wú)須改動(dòng)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)就能實(shí)現(xiàn)數(shù)據(jù)加密功能;再次,加解密處理在客戶端進(jìn)行,不會(huì)影響數(shù)據(jù)庫(kù)服務(wù)器的效率。
二、加密算法
數(shù)據(jù)庫(kù)加密技術(shù)的安全很大程度上取決于加密算法的強(qiáng)度,加密算法直接影響到數(shù)據(jù)庫(kù)加密的安全和性能。因此,加密算法的選擇在數(shù)據(jù)庫(kù)加密方案中也顯得舉足輕重。選擇算法主要指標(biāo)是安全和便于使用。
安全的算法是可靠的算法。一個(gè)算法要可靠應(yīng)該至少滿足這樣一些條件:首先,核心加密必須公認(rèn)可靠,如DES和RSA算法,他們經(jīng)過(guò)二十多年的考驗(yàn)、鑒定,數(shù)人攻擊而無(wú)人承認(rèn)攻破;加密算法復(fù)雜度,主要是解密算法的復(fù)雜性要強(qiáng),事實(shí)證明,僅靠對(duì)算法保密是不安全的,因?yàn)檐浖用芸梢酝ㄟ^(guò)反匯編可執(zhí)行程序來(lái)發(fā)現(xiàn);另外加密算法必須支持足夠長(zhǎng)的密鑰,加密算法的實(shí)現(xiàn)必須可靠,這樣才能具有較強(qiáng)的抗分析破譯能力。
三、數(shù)據(jù)庫(kù)加密與操作系統(tǒng)的關(guān)系
數(shù)據(jù)庫(kù)管理系統(tǒng)是建立在操作系統(tǒng)的平臺(tái)上,數(shù)據(jù)庫(kù)管理系統(tǒng)的安全離不開(kāi)操作系統(tǒng)的安全,沒(méi)有操作系統(tǒng)的安全,就不能真正解決數(shù)據(jù)庫(kù)的安全。作為加強(qiáng)數(shù)據(jù)庫(kù)安全技術(shù)之一,數(shù)據(jù)庫(kù)加密,必須依賴操作系統(tǒng)自身的安全。如數(shù)據(jù)以加密形式存儲(chǔ)于數(shù)據(jù)庫(kù)中,一旦訪問(wèn)這些加密數(shù)據(jù),往往需要把它們調(diào)入內(nèi)存并解密。這時(shí),如果內(nèi)存的安全得不到保障,那么這些數(shù)據(jù)就可能被攻擊者竊取,即使再好的加密方法也是無(wú)效的。而內(nèi)存的安全問(wèn)題通常由操作系統(tǒng)解決。典型的,操作系統(tǒng)提供的安全機(jī)制有:
第一,訪問(wèn)控制機(jī)制。操作系統(tǒng)提供了訪問(wèn)控制機(jī)制,用來(lái)標(biāo)識(shí)、鑒別、審核用戶,只有通過(guò)認(rèn)證的用戶才能根據(jù)授權(quán)訪問(wèn)特定的數(shù)據(jù)。但是,操作系統(tǒng)中的對(duì)象一般是文件系統(tǒng),粒度較粗。而數(shù)據(jù)庫(kù)需要處理更為精細(xì)粒度的數(shù)據(jù),如記錄、字段值,所以,數(shù)據(jù)庫(kù)管理系統(tǒng)也提供了訪問(wèn)控制機(jī)制,以便更好控制數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn)。數(shù)據(jù)庫(kù)加密和數(shù)據(jù)庫(kù)訪問(wèn)控制室兩種不同的安全措施,二者不可互相替換。
數(shù)據(jù)庫(kù)加密以犧牲性能為代價(jià),并且不能提供靈活的訪問(wèn)控制。因此,數(shù)據(jù)庫(kù)中的數(shù)據(jù)加密后,一方面應(yīng)該對(duì)特權(quán)用戶(DBA,SA)的訪問(wèn)進(jìn)行限制,使只有經(jīng)過(guò)授權(quán)的用戶才能訪問(wèn)密文數(shù)據(jù),為數(shù)據(jù)增加進(jìn)一步的保護(hù);另一方面也不能單純?yōu)榱税踩远ㄟ^(guò)分配密鑰控制數(shù)據(jù)庫(kù)的訪問(wèn),因?yàn)檫@樣極大地犧牲了系統(tǒng)性能,破壞了安全性和可用性的平衡,并且失去了靈活的控制策略。
加密技術(shù)和訪問(wèn)控制技術(shù)是兩種不同的安全措施,可以這么說(shuō),如果訪問(wèn)控制是保護(hù)數(shù)據(jù)庫(kù)的第一道防線,那么加密技術(shù)就是進(jìn)一步保護(hù)數(shù)據(jù)庫(kù)的第二道防線,有了加密技術(shù)的保護(hù),數(shù)據(jù)庫(kù)更加安全。二者的結(jié)合,可以對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行深度的保護(hù)。
第二,內(nèi)存保護(hù)。在多道程序運(yùn)行的系統(tǒng)中,需要對(duì)緩沖區(qū)中的各用戶(私人)空間采取隔離措施,使之不要互相干擾。用戶進(jìn)程一旦退出,應(yīng)當(dāng)及時(shí)清空用戶數(shù)據(jù)。
第三,提供最小特權(quán)管理。操作系統(tǒng)提供了最小特權(quán)管理,不給用戶超過(guò)執(zhí)行任務(wù)所需要特權(quán)以外的特權(quán),使特權(quán)用戶(如系統(tǒng)管理員)只具有完成其任務(wù)所需要的特權(quán),盡量減少誤操作、惡意操作、特權(quán)用戶口令丟失所引起的損失。
第四,監(jiān)控機(jī)制。提供審計(jì)、隱蔽通道分析、病毒防護(hù)等措施。當(dāng)然,僅僅依靠目前操作系統(tǒng)的安全措施,還不能夠完全保證數(shù)據(jù)庫(kù)的安全。對(duì)于數(shù)據(jù)庫(kù),操作系統(tǒng)的安全措施是防御攻擊者攻擊數(shù)據(jù)庫(kù)的一道基本屏障,而加密措施則是加固數(shù)據(jù)庫(kù)安全的又一道防線,兩者結(jié)合起來(lái),能夠更加有效地增強(qiáng)數(shù)據(jù)庫(kù)的安全。
總之,數(shù)據(jù)庫(kù)加密技術(shù)是提高數(shù)據(jù)庫(kù)安全的一個(gè)重要手段,但加密數(shù)據(jù)并提高安全性的同時(shí)也帶來(lái)了其他問(wèn)題,頻繁的加密和解密使得數(shù)據(jù)庫(kù)的性能降低用戶體驗(yàn)降低,故此還需進(jìn)一步做研究,進(jìn)一步提高數(shù)據(jù)庫(kù)加密技術(shù)的各項(xiàng)性能。
(作者單位:浙江省氣象信息網(wǎng)絡(luò)中心)
看了“數(shù)據(jù)加密技術(shù)論文”的人還看:
1.詳解加密技術(shù)概念加密方法以及應(yīng)用論文