敏感數(shù)據(jù)庫加密方法

隨著Internet技術(shù)的蓬勃發(fā)展和網(wǎng)絡用戶數(shù)量的劇增,人們越來越多地利用Internet進行著信息交換和處理,使工作效率和水平得到了很大的提高。Internet已經(jīng)成為人們生活的一部分。然而,人們在享受網(wǎng)絡帶來的巨大方便的同時,也面臨著極為嚴峻的信息安全問題。其中,金融、軍事等各種網(wǎng)絡敏感數(shù)據(jù)庫的數(shù)據(jù)安全性問題就顯得尤為重要了,那么今天,我就來給大家介紹一下敏感數(shù)據(jù)庫加密的方法。

敏感數(shù)據(jù)庫加密方法

一、敏感數(shù)據(jù)庫系統(tǒng)對加密技術(shù)的特殊要求

敏感信息數(shù)據(jù)庫不同于一般的數(shù)據(jù)庫,對數(shù)據(jù)的安全性有著十分特殊的要求。

首先、敏感數(shù)據(jù)庫要求對數(shù)據(jù)的保存必須是長期的,而且由于客戶對數(shù)據(jù)庫數(shù)據(jù)的訪問多是隨機性進行的,加上某些應用對數(shù)據(jù)的訪問要求高效實時。這決定了對敏感數(shù)據(jù)庫進行加解密機制的時限性要求比較高,應能夠保證查詢、檢索、修改、更新等數(shù)據(jù)訪問基本操作的效率。

其次、由于數(shù)據(jù)庫中的數(shù)據(jù)處于開放的數(shù)據(jù)共享環(huán)境中,因此如何限制內(nèi)部不同級別有權(quán)用戶,解決好授權(quán)機制也是難點之一。敏感數(shù)據(jù)庫對密鑰管理要求也特別嚴格,必須非常安全,管理失誤如密鑰遺失,就會導致數(shù)據(jù)庫信息失效或者拒絕服務。在多個客戶的數(shù)據(jù)庫訪問中,可能會出現(xiàn)多用戶同時訪問同一共享資源的情況。如何處理好共享資源訪問時的互斥問題,而又不改變數(shù)據(jù)庫鎖粒度的靈活性,也成為難點。

再次、對數(shù)據(jù)庫加密時,由于索引項在對數(shù)據(jù)庫的一致性檢查及加快檢索的速度上起著至關重要的作用,對索引項加密可能引起內(nèi)部數(shù)據(jù)的不一致,即使不出現(xiàn)這種情況,也可能限制了用索引加快檢索速度的作用。

在事務處理的上下文中,查詢語句都有著數(shù)量不等的關系運算,如果對用于比較的關系字段加密,則按客戶的查詢條件可能無法找到匹配數(shù)據(jù)。特別是數(shù)據(jù)庫由多個表組成,表與表之間都有匹配的連接字段,加密手段必須能夠保證這些連接字段內(nèi)部數(shù)據(jù)的一致,否則,表格之間將無法進行關聯(lián)。

二、常用敏感數(shù)據(jù)庫系統(tǒng)加密方法

針對敏感數(shù)據(jù)庫系統(tǒng)加密所存在的問題,通過對數(shù)據(jù)庫管理系統(tǒng)的應用及存儲結(jié)構(gòu)進行分析,可以采用如下方式對數(shù)據(jù)庫文件加密和解密:

1、庫外加密

由于數(shù)據(jù)庫總是依賴于某種操作系統(tǒng)或者文件系統(tǒng)而存在,而數(shù)據(jù)總是以特定大小的數(shù)據(jù)塊存在于文件系統(tǒng)之上,所以開發(fā)者可以在客戶應用程序與數(shù)據(jù)庫管理系統(tǒng)之間增加一個客戶應用層接口,類似于事務處理監(jiān)視器,采用網(wǎng)絡分布計算技術(shù)實現(xiàn)一個中間件。當客戶應用程序訪問數(shù)據(jù)庫系統(tǒng)時,由客戶應用接口對數(shù)據(jù)進行加解密。具體做法是:

可以直接調(diào)用操作系統(tǒng)的文件存取功能,對數(shù)據(jù)庫中的數(shù)據(jù)進行存取,也可以直接調(diào)用操作系統(tǒng)的磁盤功能,對數(shù)據(jù)庫中的數(shù)據(jù)塊進行存取。直接調(diào)用系統(tǒng)文件存取功能,是在文件系統(tǒng)內(nèi)部對數(shù)據(jù)進行加解密,形成數(shù)據(jù)庫可以存儲的數(shù)據(jù)塊后,通過文件系統(tǒng)一次一個分組地進行加密存入數(shù)據(jù)庫,或解密取出提供給客戶方程序。這種方式的弊端是操作效率低,但容易由客戶服務管理程序?qū)?shù)據(jù)庫系統(tǒng)進行管理。而調(diào)用操作系統(tǒng)磁盤功能,則由操作系統(tǒng)直接存取數(shù)據(jù)塊,必須包含數(shù)據(jù)塊的長度、塊號、數(shù)據(jù)的頭標、尾標等信息,對于不了解數(shù)據(jù)庫所使用的操作系統(tǒng)的人來說,破解數(shù)據(jù)幾乎是不可能的。

敏感數(shù)據(jù)庫加密方法

2、庫內(nèi)加密

在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫結(jié)構(gòu)分為三層:存儲模式、內(nèi)模式、外模式。其中,存儲模式負責描述數(shù)據(jù)的物理結(jié)構(gòu),內(nèi)模式描述數(shù)據(jù)的局部邏輯結(jié)構(gòu),外模式描述數(shù)據(jù)的全局邏輯結(jié)構(gòu)。在對數(shù)據(jù)庫進行庫內(nèi)加密時,只需在三個層次中再增加一個虛擬層次用于存放密鑰數(shù)據(jù)庫,由服務方應用程序?qū)γ荑€數(shù)據(jù)庫進行管理。

服務方應用程序在接受到客戶方的查詢處理請求后,從密鑰數(shù)據(jù)庫中讀取密鑰,對相應查詢條件進行加密,再到數(shù)據(jù)庫中查詢匹配數(shù)據(jù)或者添加到數(shù)據(jù)庫中。找到匹配數(shù)據(jù)后,再由服務方應用程序從客戶密鑰數(shù)據(jù)庫中讀取相應密鑰對其進行解密并反饋給客戶。而數(shù)據(jù)在網(wǎng)絡上的傳輸則由網(wǎng)絡加密方案來解決。這樣,數(shù)據(jù)庫中存放的數(shù)據(jù),實際上都是密文,使數(shù)據(jù)庫的邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的直接對應關系變?yōu)殚g接的映射關系。加密的粒度可以是數(shù)據(jù)庫、表、字段、記錄等,形成一個針對庫、表、字段、記錄的密鑰數(shù)據(jù)庫。加密的粒度越小,數(shù)據(jù)庫中的數(shù)據(jù)就越安全,但密鑰管理的難度和復雜性也越高。由于這種加密方式是在一個數(shù)據(jù)庫管理系統(tǒng)內(nèi)進行加密,所以在加密的同時必須首先解決好訪問控制和內(nèi)部用戶的授權(quán)機制。

敏感數(shù)據(jù)庫加密方法

3、硬件加密

硬件加密是一種采用對數(shù)據(jù)處理芯片或者網(wǎng)卡進行點到點的加密方式,在數(shù)據(jù)庫服務器上的應用程序處理客戶請求時,讀出的數(shù)據(jù)經(jīng)過網(wǎng)卡或數(shù)據(jù)處理芯片內(nèi)部駐留的加密程序加密后,返回給有訪問權(quán)限的客戶,再由客戶數(shù)據(jù)芯片內(nèi)的解密程序進行相處理,還原成客戶訪問數(shù)據(jù)庫要得到的原始數(shù)據(jù)。

敏感數(shù)據(jù)庫加密方法

隨著網(wǎng)絡及信息技術(shù)的高速發(fā)展,數(shù)據(jù)信息的安全性越來越重要,敏感數(shù)據(jù)庫加密技術(shù)的地位和作用也越來越突出,我們必須引起足夠重視。

小知識之密鑰:

密鑰,即密匙,一般范指生產(chǎn)、生活所應用到的各種加密技術(shù),能夠?qū)Ω魅速Y料、企業(yè)機密進行有效的監(jiān)管,密鑰管理就是指對密鑰進行管理的行為,如加密、解密、破解等等。