国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于oracle數(shù)據(jù)庫的敏感數(shù)據(jù)加密應(yīng)用研究

2015-05-30 17:19徐毅
軟件工程 2015年12期
關(guān)鍵詞:敏感數(shù)據(jù)

徐毅

摘 要:信息系統(tǒng)在經(jīng)濟(jì)活動和社會活動中的地位和作用越來越重要,信息安全問題成為不可忽視的問題,數(shù)據(jù)加密能有效防止數(shù)據(jù)庫中敏感數(shù)據(jù)泄漏。Oracle數(shù)據(jù)庫透明數(shù)據(jù)加密(TDE)使用主密鑰和表密鑰對敏感數(shù)據(jù)字段進(jìn)行加解密。本文結(jié)合“煤粉燃燒特性管理信息系統(tǒng)”項(xiàng)目開發(fā),使用透明數(shù)據(jù)加密(TDE)對敏感數(shù)據(jù)字段進(jìn)行了加密應(yīng)用研究。

關(guān)鍵詞:敏感數(shù)據(jù);主密鑰;表密鑰;透明數(shù)據(jù)加密

中圖分類號:TP392 文獻(xiàn)標(biāo)識碼:A

Research on the Application of Sensitive Data Encryption Based on Oracle Database

XU Yi

(Business School of Northwest University of Politics and Law,Xi'an 710122,China)

Abstract:At present,the problem of information security in economic activities and social activities is becoming increasingly prominent,data encryption can effectively prevent sensitive data leakage in the database.Oracle database transparent data encryption(TDE)algorithm using the master key and table key to encrypt the sensitive data fields.Combined with"pulverized coal combustion characteristics management information system"project,paper used TDE to encrypt sensitive data fields.

Keywords:sensitive data;master key;table key;transparent data encryption

1 引言(Introduction)

數(shù)據(jù)庫安全目標(biāo)是為了維護(hù)存儲于數(shù)據(jù)庫管理系統(tǒng)(DBMS)中數(shù)據(jù)的三個安全特性,即機(jī)密性、完整性和可用性[1]。一般地,數(shù)據(jù)庫的安全性控制措施主要通過用戶標(biāo)識與鑒別、訪問控制、視圖機(jī)制、數(shù)據(jù)加密、安全審計等機(jī)制來完成,然而這些安全機(jī)制只能滿足一般的數(shù)據(jù)庫安全應(yīng)用,而對于高度敏感性數(shù)據(jù),數(shù)據(jù)庫系統(tǒng)所提供的安全性措施難以保證其安全。

造成數(shù)據(jù)庫安全隱患的一個主要原因是因?yàn)樵紨?shù)據(jù)以可讀(明文)形式存放在數(shù)據(jù)庫中。只要避開系統(tǒng)身份鑒別認(rèn)證,進(jìn)入到數(shù)據(jù)庫系統(tǒng)中,就可以竊取或篡改數(shù)據(jù)庫中的任何數(shù)據(jù)。因此,為了保證數(shù)據(jù)庫中的數(shù)據(jù)安全,限制用戶非法訪問,必須對數(shù)據(jù)庫中存儲的重要敏感數(shù)據(jù)進(jìn)行保護(hù)處理。數(shù)據(jù)庫加密技術(shù)能有效彌補(bǔ)傳統(tǒng)數(shù)據(jù)庫安全手段的不足。

數(shù)據(jù)加密(Data Encryption)是防止數(shù)據(jù)庫中數(shù)據(jù)存儲和傳輸過程中失密的有效手段。加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù)(明文plaintext)加密成為不可直接識別的格式(密文,ciphertext),數(shù)據(jù)則以密文的方式存儲和傳播,從而保證敏感數(shù)據(jù)訪問和傳輸?shù)陌踩玔2]。

2 數(shù)據(jù)加密技術(shù)(Data encryption technology)

數(shù)據(jù)加密是保證用戶與數(shù)據(jù)隔離,防止敏感數(shù)據(jù)泄漏的重要手段。數(shù)據(jù)加密后,對于不知道密鑰的攻擊者,即使利用系統(tǒng)漏洞或其他方法非法訪問到數(shù)據(jù),也無法獲取真正的數(shù)據(jù)內(nèi)容;而經(jīng)過系統(tǒng)驗(yàn)證確認(rèn)其合法性和權(quán)限的用戶擁有正確的密鑰,可以從系統(tǒng)獲得可識別的數(shù)據(jù)。

2.1 加密層次

一般地,數(shù)據(jù)存儲加密可在三個層次實(shí)現(xiàn)數(shù)據(jù)庫加密工作,即操作系統(tǒng)(OS)層、DBMS內(nèi)核層和DBMS外層[3]。

(1)操作系統(tǒng)層加密:應(yīng)用程序通過操作系統(tǒng)提供的API調(diào)用數(shù)據(jù)庫文件,直接解密整個數(shù)據(jù)庫文件,然后訪問這個完全解密的文件,而在應(yīng)用程序關(guān)閉時,再將已解密的文件進(jìn)行加密。

(2)DBMS內(nèi)核層加密:數(shù)據(jù)在物理存取之前完成加解密工作。這種加密方式功能強(qiáng)大、完全透明,應(yīng)用程序不需要做任何修改可以直接訪問數(shù)據(jù)庫系統(tǒng)。

(3)DBMS外層加密:數(shù)據(jù)庫中存儲密文數(shù)據(jù),應(yīng)用程序和外層工具交互,對數(shù)據(jù)庫的每一次操作都由加密系統(tǒng)轉(zhuǎn)化后再交給數(shù)據(jù)庫處理,然后再將數(shù)據(jù)庫返回的結(jié)果解密后返回給應(yīng)用程序。

2.2 加密粒度

加密粒度是指加密的最小數(shù)據(jù)單位,可分為數(shù)據(jù)庫級、表級、記錄級、字段級和數(shù)據(jù)項(xiàng)級??傮w來說,加密的粒度越小,靈活度越高且安全性越好,但實(shí)現(xiàn)技術(shù)難度就越大,越不易實(shí)現(xiàn)。因此,選擇合適的加密粒度是保證數(shù)據(jù)庫靈活性、安全性和執(zhí)行效率的重要因素。

數(shù)據(jù)庫級加密的弊端是每查詢一條記錄,需要對整個數(shù)據(jù)庫文件解密,極大地增加了系統(tǒng)時空開銷;表級加密對包含敏感數(shù)據(jù)的表與表密鑰運(yùn)算,形成密文后存儲,非敏感表則保持明文存儲;記錄級加密對記錄統(tǒng)一進(jìn)行加密和解密處理;記錄級加密加解密鑰數(shù)量非常龐大,密鑰管理變得困難。

2.3 加密算法

密碼算法的優(yōu)劣決定敏感信息保護(hù)的有效性。密碼學(xué)中有三大加密算法類型:對稱密鑰加密算法、公開密鑰加密算法以及哈希函數(shù)[4]。

(1)對稱加密算法的加解密過程釆用同一個密鑰。可以分為流密碼加密和分組密碼加密兩種。

(2)公開密鑰加密算法中,每一個公開密鑰都對應(yīng)一個私鑰。公鑰和私鑰構(gòu)成密鑰對,加密和解密過程使用不同密鑰,所以也成為非對稱加密算法。

(3)哈希函數(shù)的特點(diǎn)是能夠應(yīng)用在任意長度的數(shù)據(jù)上,并且生成大小固定的輸出,計算相對簡單,易于軟硬件實(shí)現(xiàn)。

3 透明數(shù)據(jù)加密(TDE)

Oracle提供兩種數(shù)據(jù)加密方法:使用程序包DBMS_CRYPTO和透明數(shù)據(jù)加密(TDE)。

(1)DBMS_CRYPTO可以生成私有密鑰,也可以自己指定并存儲密鑰。在Oracle Database 11g中,DBMS_CRYPTO甚至可以加密內(nèi)部大對象,例如BLOB和CLOB類型。

(2)透明數(shù)據(jù)加密(TDE)是基于密鑰的訪問控制,依賴于外部模塊實(shí)施授權(quán)?!巴该鳌钡囊馑际钱?dāng)訪問表中或加密表空間中的加密字段時,授權(quán)用戶不必指定密碼或密鑰[4]。

透明數(shù)據(jù)加密(TDE)的優(yōu)點(diǎn)在于可以隨時地對表中的一個或多個字段加密,只需將加密字段指定加密算法即可,不必編寫代碼。

4 TDE應(yīng)用實(shí)例(TDE application examples)

“煤粉燃燒特性管理信息系統(tǒng)”基于Oracle 11g R2數(shù)據(jù)庫,使用透明數(shù)據(jù)加密(TDE)對敏感數(shù)據(jù)進(jìn)行了加密機(jī)制應(yīng)用研究。現(xiàn)將加解密過程闡述如下。

數(shù)據(jù)庫為每個包含加密列的表創(chuàng)建一個私密的安全加密密鑰,采用指定的加密算法加密指定的明文數(shù)據(jù)。主密鑰對表密鑰加密,主密鑰保存在“錢夾(wallet)”中,加密的表密鑰保存在數(shù)據(jù)字典中。

當(dāng)寫入數(shù)據(jù)到加密的列中時,數(shù)據(jù)庫首先從wallet中獲取主密鑰,用主密鑰解密數(shù)據(jù)字典中的表密鑰,然后用解密的表密鑰加密輸入的明文數(shù)據(jù),再將加密后的數(shù)據(jù)保存在數(shù)據(jù)庫。

當(dāng)用戶查詢加密列的時候,數(shù)據(jù)庫首先將加密的表密鑰從數(shù)據(jù)字典取出,然后從wallet中取出主密鑰,解密表密鑰,再用解密的表密鑰解密磁盤上的加密數(shù)據(jù)。

以數(shù)據(jù)庫中煤粉燃燒特性工業(yè)分析表為例,表中C_No字段為試驗(yàn)編號字段(Primary Key,Not Null),C_Code字段為樣品編號字段(Not Null),C_Mt、C_Mad、C_Aar、C_Vdaf和C_Qnetar等五個字段均為試驗(yàn)數(shù)據(jù)字段。由于涉及商業(yè)機(jī)密和知識產(chǎn)權(quán)等問題,這些試驗(yàn)數(shù)據(jù)均屬于敏感數(shù)據(jù),因此需要對五個試驗(yàn)數(shù)據(jù)字段進(jìn)行加密保護(hù),試驗(yàn)編號字段作為主鍵、索引字段,樣品編號字段作為外鍵,不需要加密。

(1)創(chuàng)建主密鑰的默認(rèn)存放目錄,在sqlnet.ora文件中添加wallet文件夾的絕對路徑。

NAMES.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)

(METHOD_DATA=(DIRECTORY=G:\APP\ADMINISTRATOR\

PRODUCT\11.2.0\WALLET)))

然后,在SQL*Plus中創(chuàng)建Wallet密鑰,如圖1所示。

(2)創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu),并為需要加密的字段指定加密算法。為了兼顧效率和時空開銷,系統(tǒng)中選用了AES128加密算法。如圖2所示。

(3)打開Wallet的情況下,即使用主密鑰解密表密鑰,再用解密的表密鑰解密磁盤上的加密數(shù)據(jù),就可以正常瀏覽表數(shù)據(jù)。如圖4所示。

可以看到,通過透明數(shù)據(jù)加密(TDE)可以最大限度的加密敏感數(shù)據(jù)字段,防止數(shù)據(jù)庫被非法訪問。透明數(shù)據(jù)加密(TDE)將密鑰管理的復(fù)雜性交給數(shù)據(jù)庫引擎來處理,同時允許數(shù)據(jù)庫管理員(DBA)在不必實(shí)際看到數(shù)據(jù)的情況下管理數(shù)據(jù)庫。

5 結(jié)論(Conclusion)

透明數(shù)據(jù)加密(TDE)方法基于wallet機(jī)制,當(dāng)數(shù)據(jù)庫表中的一個或多個字段被加密時,只需要為當(dāng)前表分配一個表密鑰(即一個表只需要一個密鑰)。系統(tǒng)中所有的密鑰再經(jīng)過服務(wù)器中的一個主密鑰加密后存儲在數(shù)據(jù)字典中,即密鑰本身也是加密存儲的。而服務(wù)器主密鑰則存儲在數(shù)據(jù)庫外部,使用外部安全機(jī)制來保證主密鑰的安全。這種加密方法更加安全高效、易于實(shí)現(xiàn)。

參考文獻(xiàn)(References)

[1] (美)Mark Stamp著.張戈,譯.信息安全原理與實(shí)踐(第2版)[M].北京:清華大學(xué)出版社,2013.5:2-5.

[2] 吳世忠,等.信息安全技術(shù)[M].北京:機(jī)械工業(yè)出版社,2014,4:2-5.

[3] 李光華.基于Oracle對象的數(shù)據(jù)庫加密應(yīng)用研究[D].碩士學(xué)位論文,河南:鄭州大學(xué),2011.

[4] 莊海燕.數(shù)據(jù)庫加密技術(shù)及其在Oracle中的應(yīng)用[D]碩士學(xué)位論文,河南:鄭州大學(xué),2006.

猜你喜歡
敏感數(shù)據(jù)
干擾條件下可檢索數(shù)字版權(quán)管理環(huán)境敏感數(shù)據(jù)的加密方法
基于大數(shù)據(jù)的智能數(shù)據(jù)脫敏系統(tǒng)
實(shí)現(xiàn)虛擬機(jī)敏感數(shù)據(jù)識別
從泄密途徑談網(wǎng)絡(luò)敏感數(shù)據(jù)安全的有效防范
基于透明加密的水下通信網(wǎng)絡(luò)敏感數(shù)據(jù)防泄露方法
基于4A平臺的數(shù)據(jù)安全管控體系的設(shè)計與實(shí)現(xiàn)
大數(shù)據(jù)平臺的集中訪問控制
開放環(huán)境下高校實(shí)驗(yàn)室web服務(wù)器敏感數(shù)據(jù)防護(hù)研究
訪問日志解析與敏感數(shù)據(jù)安全
基于位置跳變的閃存數(shù)據(jù)安全存儲方法