孫 彤
(長春市地方道路運(yùn)輸管理局,吉林 長春 130061)
淺析數(shù)據(jù)庫加密技術(shù)及其應(yīng)用
孫 彤
(長春市地方道路運(yùn)輸管理局,吉林 長春 130061)
信息化管理提高了企事業(yè)單位各部門的辦公效率,但數(shù)據(jù)信息的完整性、安全性、可用性卻受到了嚴(yán)重的威脅。數(shù)據(jù)信息加密是保護(hù)數(shù)據(jù)信息的最后一道防線。只有做好數(shù)據(jù)庫加密工作,數(shù)據(jù)信息才能得到更好的保障。數(shù)據(jù)加密技術(shù)種類較多,管理者要根據(jù)實(shí)際情況選擇合適的加密方法。文章著重探討了數(shù)據(jù)庫加密技術(shù)在實(shí)際應(yīng)用中的一些注意事項(xiàng)。
數(shù)據(jù)庫加密技術(shù);加密算法;加密粒度;加密層次
1.1 數(shù)據(jù)加密技術(shù)的內(nèi)涵
簡(jiǎn)單來說,數(shù)據(jù)庫加密技術(shù)就是信息資料管理者采用加密軟件系統(tǒng)為機(jī)密信息資料設(shè)置查看和修改權(quán)限的技術(shù)。查看和修改者只有符合查看權(quán)限才能夠進(jìn)入信息數(shù)據(jù)系統(tǒng)中,根據(jù)自己的需求查閱和修正相關(guān)的內(nèi)容。針對(duì)不符合查看條件的人員,信息數(shù)據(jù)保護(hù)系統(tǒng)則會(huì)對(duì)其進(jìn)行阻止。詳細(xì)的解釋則是,數(shù)據(jù)加密技術(shù)就是管理者通過某種“加密算法”將“明文”進(jìn)行處理,使它成為一段不可閱讀的亂碼的技術(shù)。這種亂碼俗稱“密文”。查看者想要進(jìn)入數(shù)據(jù)庫查看相關(guān)內(nèi)容,必須具備查看的權(quán)限。這種查看的權(quán)限稱為“密鑰”。當(dāng)使用者輸入密鑰后,加解密軟件就會(huì)對(duì)“密文”展開加密運(yùn)算的逆運(yùn)算,即解密運(yùn)算。加密和解密的過程是一個(gè)不可分割的整體,是互逆的。加密的方式多種多樣,可以是密碼,可以是數(shù)字簽名等。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫加密技術(shù)也在不斷地向前發(fā)展,否則,就會(huì)失去保護(hù)信息數(shù)據(jù)的意義。
1.2 數(shù)據(jù)加密技術(shù)的原理
加密者在發(fā)送端對(duì)明文進(jìn)行加密,把明文轉(zhuǎn)化為不可識(shí)別的亂碼,也就是密文,并發(fā)送給使用者。加密者發(fā)送文件前的加密是為了防止數(shù)據(jù)信息被竊密者獲取。使用者受到密文后,通過加密者提供的密鑰,進(jìn)行解密運(yùn)算,將不可識(shí)別的密文,轉(zhuǎn)化為可以識(shí)別的明文。在加密系統(tǒng)中,算法是相對(duì)穩(wěn)定的,長時(shí)間使用容易被竊密者破譯。為了防止密鑰被竊密者破譯,加密者要經(jīng)常更換密鑰,以保證數(shù)據(jù)信息的安全性、完整性和可讀性。
1.3 加密的方法
(1)靜態(tài)加密。靜態(tài)加密,是指在文件在加密之前,還沒有被打開過,加密者直接通過密鑰對(duì)其進(jìn)行加密。使用者要查看文件的內(nèi)容時(shí),需要加密者通過輸入密鑰解密后,方可查看文件內(nèi)容。這種加密方式一般應(yīng)用與應(yīng)用系統(tǒng)或軟件加密中[1]。
(2)動(dòng)態(tài)加密。動(dòng)態(tài)加密,也叫作實(shí)時(shí)加密或透明加密技術(shù)。其最大的特點(diǎn)是從文件的創(chuàng)建時(shí),電腦系統(tǒng)已經(jīng)開始對(duì)文件自動(dòng)加密,存儲(chǔ)器中的文件也是加密形式存在的。這是動(dòng)態(tài)加密方法的“實(shí)時(shí)性”。所謂“透明性”的含義是:有使用權(quán)限的用戶,在查看加密文件時(shí),不需要專門輸入密鑰進(jìn)行解密,就像打開未加密的文件一樣,查看非常方便。
(3)硬件加密。硬件加密是指加密者必須通過“加密芯片”來完成加解密運(yùn)算。加密時(shí),加密者要將加密芯片、專有電子鑰匙、硬盤有機(jī)組合在一起。當(dāng)三者的信息組合在一起、相互間加密運(yùn)算才可以順利進(jìn)行。這種加密技術(shù)最大的特點(diǎn)是,加密芯片、專有電子鑰匙、硬盤三者缺一不可。
1.4 加密運(yùn)算方式
(1)對(duì)稱加密。對(duì)稱加密,是指加密者對(duì)數(shù)據(jù)信息制作的加密密鑰和使用者所使用的解密密鑰是相同的。加密者和解密者采用相同的運(yùn)算方法,實(shí)現(xiàn)明文與密文之間的相互轉(zhuǎn)換。這種加密方式出現(xiàn)較早,技術(shù)也比較成熟,是最常見的加密方法之一。其最大特點(diǎn)是速度快、計(jì)算量小,同時(shí),還具有一定程度的公開性,代表性的運(yùn)算方法包括DES,AES,IDEA[2]。
(2)非對(duì)稱加密算法。對(duì)稱算法,是指加密者在對(duì)數(shù)據(jù)信息進(jìn)行加密時(shí)采用的密鑰,與解密者解密文件時(shí),使用的密鑰不同。加密的密鑰成為公鑰,解密的密鑰成為私鑰。非對(duì)稱加解密算法,相對(duì)于對(duì)稱加密算法,在抵御竊密者的破壞干擾方面,性能更加強(qiáng)大。其具有代表性的運(yùn)算方法是RSA運(yùn)算方法。
(3)混合加密。混合加密,是指加密者采用公鑰對(duì)隨機(jī)生成的私鑰進(jìn)行加密處理,然后一起發(fā)送給使用者。使用者采用私鑰把密文轉(zhuǎn)化為明文。這種加密運(yùn)算方法每一次自動(dòng)隨機(jī)生成的私鑰都不相同,所以既具有速度快的特點(diǎn),又具有安全系數(shù)高的特征。目前,這種加密方式存在的問題是私鑰的自動(dòng)生成還有一些問題,還不能得到廣泛的應(yīng)用。
數(shù)據(jù)庫加密,可以給各企事業(yè)單位、政府機(jī)構(gòu)的數(shù)據(jù)信息提供有效的安全保障,所以應(yīng)用非常廣泛。目前,數(shù)據(jù)庫加密主要應(yīng)用于數(shù)據(jù)庫系統(tǒng)、電子商務(wù)等方面。數(shù)據(jù)庫加密的方式多種多樣,加密者要根據(jù)工作中的實(shí)際情況選擇合適的加密方法。
2.1 數(shù)據(jù)加密層次的選擇
對(duì)數(shù)據(jù)庫數(shù)據(jù)信息進(jìn)行加解密,可以從3個(gè)層次來進(jìn)行,分別是OS層、DBMS內(nèi)核層、DBMS外層。OS層加密最大的特點(diǎn)是加密范圍大,是對(duì)整個(gè)數(shù)據(jù)庫進(jìn)行整體加密。這種加密方法不能對(duì)數(shù)據(jù)庫內(nèi)的各元素之間的關(guān)系有效識(shí)別,所以不能形成合理的密鑰。數(shù)據(jù)庫規(guī)模越大,在OS層加密的問題就越多。由于OS層加密存在很多問題,各企事業(yè)單位、政府機(jī)構(gòu)都不會(huì)在這種層次進(jìn)行加密;DBMS內(nèi)核層加密,是指加密者在對(duì)數(shù)據(jù)信息物理存儲(chǔ)之前進(jìn)行加密。這種層次的加密,加密功能強(qiáng)大,對(duì)數(shù)據(jù)信息的保護(hù)力度最大,并且不會(huì)影響DBMS系統(tǒng)的運(yùn)行。這種層次的加密的缺點(diǎn):(1)加密操作需要在服務(wù)器端開展,會(huì)加重服務(wù)器的運(yùn)行負(fù)擔(dān)。(2)內(nèi)核層加密方式加密器和DBMS之間的接口的使用,需要獲得開發(fā)商的支持,難度較大。DBMS外層加密,是目前最常用的加密方式,是指將數(shù)據(jù)加密系統(tǒng)做成DBMS的一個(gè)外層工具。這種層次的加密優(yōu)點(diǎn)是可以實(shí)現(xiàn)客戶端的加解密動(dòng)作,不會(huì)加重服務(wù)器的運(yùn)行負(fù)擔(dān);缺點(diǎn)是對(duì)來自于內(nèi)部的攻擊無法實(shí)現(xiàn)有效的防御,磁盤空間浪費(fèi)嚴(yán)重。
2.2 加密算法強(qiáng)度的選擇
目前的加密算法主要有DES,AES,RSA等。DES是對(duì)稱加密方法,RSA是非對(duì)稱加密方法。DES加密方式的優(yōu)勢(shì)是操作速度快、效率高;RSA加密方式公鑰和私鑰同時(shí)并存,加密效果好。但是兩者又有各自的缺點(diǎn),DES加密方式由于加密方和使用者之間使用的密鑰相同,安全系數(shù)較低;RSA加密方式的缺點(diǎn)則是算法復(fù)雜,效率較低。為了在增加數(shù)據(jù)信息保存安全性的同時(shí)提高安全效率,加密者可以將兩種加密算法結(jié)合起來共同使用。加密者可以采用DES對(duì)需要加密數(shù)據(jù)信息和私鑰進(jìn)行加密,并一起發(fā)送給使用者。使用者使用公鑰解密私鑰,然后用私鑰查看數(shù)據(jù)信息。這種混合加密的方法,既可以增加數(shù)據(jù)加密的效率,又可以降低服務(wù)器端的負(fù)擔(dān)。
2.3 加密粒度的選擇
根據(jù)數(shù)據(jù)庫的結(jié)構(gòu)層次,可以將加密的層次劃分為:庫級(jí)、表級(jí)、記錄級(jí)、字段級(jí)、數(shù)據(jù)項(xiàng)級(jí)。庫級(jí)加密是指加密者對(duì)整個(gè)數(shù)據(jù)庫進(jìn)行整體加密。它主要有兩種加密方式:(1)庫內(nèi)加密;(2)庫外加密。這種加密方法一般不會(huì)使用,原因是加解密對(duì)象是整個(gè)數(shù)據(jù)庫,耗費(fèi)時(shí)間長,效率低下。表級(jí)加密是指加密者對(duì)數(shù)據(jù)信息中的表進(jìn)行加密。相對(duì)于庫級(jí)加密技術(shù),表級(jí)加密技術(shù)加密范圍小,只對(duì)需要加密的表進(jìn)行加密,加解密時(shí)系統(tǒng)負(fù)擔(dān)減輕,效率也得到了很大的提高。記錄級(jí)、字段級(jí)、數(shù)據(jù)項(xiàng)級(jí)的加密對(duì)象分別是表中的記錄、字段、某字段的值。這3種加密方式,加密范圍更小,操作更便捷,效率更高。加密者在選擇加密粒度時(shí),要根據(jù)需要選擇合適的加密方式。
2.4 密鑰管理
為了方便使用者查看,提高查看者查看效率,加密者往往設(shè)置了不同層次的、數(shù)量較大的密鑰。密鑰管理就成為一項(xiàng)重要的工作。密鑰管理,主要涉及兩個(gè)方面的內(nèi)容:(1)密鑰的保密管理;(2)各種密鑰與加密密文之間的一一對(duì)應(yīng)管理。在密鑰的保密管理方面,管理者要將密鑰數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)分別放置于不同的服務(wù)器中。這樣不至于導(dǎo)致密鑰和數(shù)據(jù)庫同時(shí)丟失,數(shù)據(jù)大量外泄的現(xiàn)象;在密鑰和密文之間的一一對(duì)應(yīng)管理方面,管理者要對(duì)密鑰進(jìn)行分類分層管理。一級(jí)密鑰要和二級(jí)密鑰采用不同的管理機(jī)制。
2.5 數(shù)據(jù)庫加密技術(shù)的局限性
數(shù)據(jù)加密的使用增加了數(shù)據(jù)系統(tǒng)的安全系數(shù),但是在使用過程中也存在著幾方面的問題:(1)數(shù)據(jù)加密會(huì)增加系統(tǒng)的負(fù)擔(dān)。數(shù)據(jù)加密會(huì)降低系統(tǒng)的運(yùn)行效率。在對(duì)數(shù)據(jù)信息進(jìn)行加密時(shí),加密者要選擇加密粒度更小的內(nèi)容量,以提高系統(tǒng)運(yùn)行效率;(2)影響DBMS系統(tǒng)對(duì)數(shù)據(jù)信息的整體約束。數(shù)據(jù)庫一般會(huì)對(duì)數(shù)據(jù)之間的關(guān)系進(jìn)行完整性的約束。但是一旦某些文件被加密后,DBMS就無法進(jìn)行識(shí)別,無法對(duì)數(shù)據(jù)庫進(jìn)行完整性約束;(3)容易被竊密者發(fā)現(xiàn),成為攻擊的主要對(duì)象。加密者為了提高系統(tǒng)的運(yùn)行效率,往往只對(duì)重要的內(nèi)容,進(jìn)行加密。也正是由于這個(gè)原因,重要的數(shù)據(jù)信息由于被單獨(dú)加密,暴露出來,成了竊密者攻擊的主要對(duì)象。
隨著,計(jì)算機(jī)技術(shù)的快速發(fā)展,社會(huì)各個(gè)行業(yè)的數(shù)據(jù)管理都實(shí)現(xiàn)了信息化。信息化的數(shù)據(jù)管理模式,提高了各企事業(yè)單位和政府部門的辦公效率。但是,數(shù)據(jù)信息的安全性、完整性、可用性也遇到了嚴(yán)峻的挑戰(zhàn)。數(shù)據(jù)信息加密成了各部門保護(hù)數(shù)據(jù)信息的重要工作。數(shù)據(jù)信息加密技術(shù)根據(jù)加密的層次、加密的粒度、加密的方法可以分為多種類型。這些加密方式各有各的優(yōu)缺點(diǎn)。加密者要根據(jù)加密數(shù)據(jù)信息的特征和實(shí)際的需求選擇合適的加密方式。
[1]吳婧.淺析數(shù)據(jù)庫加密技術(shù)[J].數(shù)字技術(shù)與應(yīng)用,2016(5):15.
[2]歐義發(fā).數(shù)據(jù)庫加密技術(shù)及其應(yīng)用探討[J].電腦知識(shí)與技術(shù),2015(12):28.
Analysis and application of database encryption technology
Sun Tong
(Changchun Local Road Management Office, Changchun 130061, China)
Ιnformation management has improved the efficiency of each department office in enterprises and institutions. However, the data integrity, security and usability has
a serious threat. Data encryption is the last line of defense to protect the data information. Only if we do a good job in database encryption, can data information get a better protection. There are various kinds of data encryption technology, and the adm inistrator should choose the appropriate encryption methods according to actual situation. This paper discusses some points for attention in practical application of the database encryption technology.
database encryption technology; encryption algorithm; encryption granularity; encryption level
孫彤(1967— ),女,吉林長春,本科,高級(jí)工程師;研究方向:數(shù)據(jù)庫技術(shù),數(shù)據(jù)及網(wǎng)絡(luò)安全技術(shù)。