999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種高安全和易共享的數據庫加密方案

2007-01-01 00:00:00朱靜波
計算機應用研究 2007年3期

摘 要:提出一種新的數據庫加密方案,該方案借鑒PGP加密算法的設計思想,在保證數據庫中數據私密性的同時又為數據庫提供了方便的數據共享。它綜合了傳統加密算法的快速高效和公鑰加密算法進行密鑰分發便捷的優點,為關鍵敏感數據提供了安全的存儲環境,為密鑰提供了高效的管理。該方案已在面向航天系統的國產數據庫管理系統Oscar v5.1中取得成功應用。

關鍵詞:數據庫加密; 私密性; 共享; 安全目錄; 公鑰環

中圖分類號:TP309文獻標志碼:A

文章編號:1001—3695(2007)03—0128—04

互聯網的迅速發展對信息安全技術提出了新的挑戰。數據庫集中存儲著關鍵信息,容易成為攻擊的對象,特別對持有敏感信息的企業和組織來說更是如此,所以數據庫系統應該得到有效的保護。目前,增強數據庫的安全性已經成為數據庫研究和工程領域最為迫切的任務之一。

通常來說,對數據庫的保護可以分為四個層面,即物理層、操作系統層、數據庫管理系統層和數據庫加密層。每個層面都從不同方面對數據庫中的數據起到一定的保護作用,但是僅使用前三層來保護數據庫中的敏感信息不能達到令人滿意的效果。因為如果沒有數據庫加密,數據仍然處于明文狀態,一旦攻擊者突破前三層的屏障,數據將暴露無遺。對于不懷好意的數據庫系統內部用戶,特別是具有超級用戶權限的用戶,如數據庫管理員(DBA),他能夠輕而易舉地訪問到以明文形式存儲的敏感數據。這樣,一旦DBA出了問題,整個數據庫系統的安全就得不到保障。此外,數據庫中的數據不是總處于存儲狀態的,它還可能處于傳輸遷移狀態,因此除了考慮安全數據存儲外,還需考慮安全的數據遷移。然而,當數據在網絡上以未加密形式傳輸時更難以保證它不被偵聽者竊取,所以缺少了數據庫加密,數據庫中數據的私密性仍然存在相當大的安全隱患。

業界[1—3]和學術界[4—6]在數據庫加密方面已經做了大量的工作并取得了進展。但是,傳統數據庫加密的研究更注重于對加密算法和數據庫加密體系結構的研究,而對數據庫中數據共享的問題考慮不足,從而限制了數據庫加密技術在業界的廣泛應用和發展。為解決上述問題,本文提出了一種新的數據庫加密方案。

1 相關工作

在密碼學領域,Diffie和Hellman[7]于1976年在他們里程碑性的論文中提出了公鑰加密的概念,從而給密碼學帶來了革命性的變革,開創了安全數據庫系統的新局面。1978年,Rivest、Shamir等人[8, 9] 發明了RSA密鑰對加/解密算法,成為了目前在數據加密領域應用最廣泛的公鑰加密方法。

在為關系型數據庫管理系統提供加密機制的研究方面,許多具有獨創性和高效的加密方案被提了出來。Davida、Wells等人[4] 在1981年提出了基于中國剩余定理的Subkey數據庫加密方案,它是一種面向記錄的加密機制,可以對表進行行級加密以及單元格級解密。1997年,Hwang和Yang[6] 提出了改進方案,通過支持多層訪問控制擴展了Subkey加密方案;在他們的另外一篇論文[5]中還介紹了一種二階段算法來實現數據庫加密。這些方案改進了加密算法,提高了數據庫加密的效率,在很大程度上增強了數據庫的安全性。但是他們沒有給出有效的方法來管理密鑰并確保密鑰的安全存儲。

2002年,Bouganim和Pucheral[10]提出了利用智能芯片進行安全數據訪問控制的方案來解決加密數據的安全問題。該方案的安全性大大增強,但是實現卻較為復雜,成本也較高。因為該方案要求把DBMS移植到智能卡上并對大量SQL查詢語句進行修改和擴展。

He Jingmin和Wang Min[11]研究了如何從密碼學的角度將現代密碼學技術集成到關系型數據庫管理系統中。他們采用了一種稱為安全字典的技術來解決與用戶管理和密鑰管理相關的問題,即通過把密鑰對存儲在目錄服務器中來實現密鑰和數據的分離。因此每次數據庫服務器需要密鑰來加密或解密數據時,必須先從目錄服務器上獲取密鑰,這降低了加密和解密操作的性能。

本文提出的數據庫加密方案綜合了不同加密算法的優點,主要著眼于增強數據庫的安全性能,并為用戶提供方便的加密數據共享。該方案提供了高效的密鑰管理以及安全相關數據的存儲管理,同時還保證了加/解密操作的效率,防止提升安全性能的同時所帶來的性能損失;此外,該方案對已有數據庫的改動較小,實現較為簡單。

2 OSCAR數據庫加密方案

本文提出的解決方案融合了傳統加密方法和公鑰加密方法的優點,既利用了傳統加密快速的優點,又利用了公鑰加密的便捷性。

如果用戶想要加密私有數據,使其只能被自己所訪問和修改,系統首先會產生一個隨機的工作密鑰,采用傳統加密方法用工作密鑰加密私有數據,然后工作密鑰本身又被用戶的公鑰用公鑰加密算法加密。當用戶需要訪問加密的私有數據時,他需要通過提供自己的私鑰來對工作密鑰進行解密,然后再用工作密鑰解密私有數據。如果用戶想要加密共享數據,使其只能被指定的一組用戶訪問或修改,工作密鑰同樣會被隨機生成來加密數據,然后用公鑰加密算法對工作密鑰分別用每個共享用戶的公鑰進行加密,產生對應每個用戶的加密工作密鑰。當共享用戶需要解密數據時,先用自己的私鑰來解密工作密鑰,然后再使用工作密鑰來解密實際要訪問或修改的共享數據。

為了保證安全相關數據的存儲安全,采用了安全目錄技術。除了具有嚴格的訪問控制以外,安全目錄如同一個傳統的存儲目錄,其中存儲的是安全相關的數據,如訪問控制信息等。安全目錄提供了一種安全的存儲環境,由數據庫管理系統內部控制對它的訪問行為。對其內部數據的修改需要符合一定的安全策略,任何由用戶即使是DBA提交執行的操作都需要通過安全策略的檢查。它防止了對安全相關數據的未授權訪問和修改,安全目錄為加密方案的實現奠定了基礎。

圖1顯示了該數據庫加密方案的體系結構。它主要由服務端密鑰管理、安全相關數據管理、加密數據管理和客戶端密鑰管理以及安全信道組成。

2.1 符號

在詳細論述之前,先引入一些符號以簡化后面的討論。使用符號PK和SK分別表示公鑰和私鑰;符號E和D分別表示加密和解密操作。給定一個明文m和一個密鑰k,E(m, k)表示對明文m使用密鑰k加密后的密文;類似地,給定一個密文c和一個密鑰k,D(c, k)表示對密文c使用密鑰k解密后的明文。此外,DMK表示數據庫主密鑰,WK表示工作密鑰。2.2 密鑰產生

數據加密算法所采用的密鑰強壯程度直接關系到加密算法的安全性。為了讓密鑰足夠強壯以抵御攻擊,用來產生密鑰的隨機數必須足夠隨機,但事實上很難獲得絕對的隨機數[12]。在本文方案中,如圖1所示,Locksmith模塊包含了一個強偽隨機數生成器,生成用于加密數據的工作密鑰。每個用戶都有一個隨機種子文件,記錄用戶上次產生的隨機種子,隨機數生成器根據用戶的隨機事件,如鼠標移動的速度和鍵盤敲擊的頻率來生成隨機數。當需要一個工作密鑰時,隨機數生成器將根據用戶的隨機種子文件中的舊種子和新的隨機事件生成新的種子,并把新種子存入文件。但是由于存在根據隨機種子能推理出前一個種子或后一個種子的可能性,還引入了如DES和AES這樣的傳統加密算法來加密隨機種子文件,使隨機種子文件在沒有被使用時總是處于加密狀態。

2.3 密鑰分發

密鑰分發的作用是使加密數據能夠被多個用戶方便共享。每個用戶都有一個密鑰對,即公鑰和私鑰。私鑰產生后通過安全信道被發送到用戶手中;而公鑰則存儲在數據庫的安全目錄中。安全目錄的特性可以保證存儲其中的公鑰的安全,它維護了一個從用戶到公鑰的映射結構,禁止除公鑰所有者以外的其他任何用戶竄改公鑰。

通常情況下,還需要CA(Certification Authority,認證中心)來驗證公鑰是否對應用戶的真實身份。但是這樣每次加密操作數據庫服務器都需要額外地與CA進行交互,影響了加密操作的性能。本方案中,數據庫系統可以借助安全目錄以內部方式完成與CA同樣的功能,因為安全目錄保證了用來加密數據的密鑰確實是想要與之共享數據的那個用戶的真正密鑰。這帶來了兩個方面的好處:①數據庫服務器與CA之間的交互不再有必要;②由此帶來的風險也可以被忽略了。

2.4 密鑰管理

加密數據的安全在很大程度上依賴于密鑰的安全性。把用來解密數據的密鑰和加密數據放在同一個數據庫服務器上的做法是不明智的,因為這大大增加了兩者同時泄密的可能性。本文方案保證了每個用戶密鑰對的分離,即將它們分別存儲在不同的地方,私鑰由客戶端用戶自己保管,而公鑰則由數據庫服務器來管理。如此一來,即使數據庫服務器被入侵,但由于缺少私鑰來解密數據,入侵者仍然很難獲取真正的數據信息。

在客戶端,用戶必須保證口令(Passphrase)的安全,因為私鑰是用口令加密的,而私鑰又是用來解密工作密鑰的,口令的丟失將會導致用戶再也不能訪問加密數據。保證私鑰的安全同樣也是重要的,但是私鑰往往不容易被記憶,所以把私鑰加密以后存儲到智能卡里是一個比較好的選擇。智能卡是一種安全設備,它通過高安全組件來保護存儲數據不被非法獲取和竄改 [13—15]。智能卡內置的訪問控制使得存儲數據只能被數據所有者訪問。當然,口令也可以存儲到智能卡中,但是如果卡丟失或被竊將會使一切都變得不安全。

在數據庫服務器端有三種類型的密鑰,分別是用戶公鑰、數據庫主密鑰和工作密鑰。公鑰存儲在安全目錄的Sys_public_key表中。在存儲前,先通過傳統加密算法用數據庫主密鑰加密公鑰。數據庫主密鑰是數據庫級別的密鑰,主要用來加密公鑰以確保公鑰的安全,它被存儲在安全目錄的Sys_database_key表中;對每個數據庫來說只有一個數據庫主密鑰。工作密鑰是在每次加密數據時生成的,然后被用戶的公鑰加密后存儲到安全目錄中名為Sys_working_key的表中。

3 自適應算法

在保證工作密鑰安全的前提下,加密數據也應該是安全的,但是一旦工作密鑰泄露,加密數據就將面臨危險。本文方案中,加密數據的安全性已經得到了提高,但是仍然需要重視工作密鑰的安全,周期性更新工作密鑰以保障加密數據的安全是一個比較好的方法。每次更新工作密鑰都需要對加密數據先用舊密鑰解密,再用新密鑰重新加密。

可以為每個工作密鑰指定一個安全級別參數,它定義了工作密鑰多久需要被更新。安全級別參數越大,更新就越頻繁。數據庫系統根據安全級別參數自動周期性地更新工作密鑰,然而,事實上某些不能預見的事情影響了加密數據的安全。例如,如果某個加密數據的訪問頻率很高,則用來加密它的工作密鑰也多次被訪問,所以工作密鑰泄密的可能性也增加了。假如能夠讓數據庫以指定的安全級別參數為基準,根據工作密鑰的訪問頻度自動調整工作密鑰的更新頻率,加密數據的安全將得到進一步的保障。

基于以上思想提出了更新工作密鑰的自適應算法。該算法基于對數據庫管理系統收集的信息的分析加工,作出如何調整工作密鑰更新頻度的決定。下面的偽代碼展示了該自適應算法的主要思想:

數據庫系統負責周期性地檢查工作密鑰的訪問頻度。如果發現工作密鑰在最近一段時間內的訪問頻度與過去的訪問頻度之差超過某一個設定的閾值,則把工作密鑰的安全級別參數在原有的基礎上提升一個級別,即更頻繁地更新工作密鑰,然后重新加密數據;反之,如果訪問頻度降低了,則相應降低安全級別參數,但是不會低于用戶設定的參數值。數據庫系統另外一個線程將會根據每個工作密鑰的安全級別參數周期性地更新工作密鑰。

4 實現和討論

首先來討論密鑰管理和安全目錄的工作機制。假設數據庫中有一個用戶Alice,于是在Sys_public_key表中存在一條與Alice相關的記錄,其主要部分為

其中,PKAlice 是Alice的公鑰,它被數據庫主密鑰加密。在該表中,每個用戶都存在這樣一條類似的記錄,在安全目錄的保護下,任何用戶即使是DBA也不能任意修改或刪除記錄,除非他滿足安全策略。每條記錄的securityflag字段表明了應用到該記錄的安全策略,該字段有三個可能的值,分別是dba、owner和none。Dba表示只有DBA和該公鑰的所有者有更改和刪除該記錄的權限;owner表示只有公鑰的所有者可以更改和刪除該記錄;none表示沒有人可以更改或刪除記錄。在這個例子中,securityflag被設置為owner,所以如果DBA想要用自己的公鑰替換Alice的公鑰來達到假扮Alice的目的,他的企圖將會被數據庫系統拒絕,因為在執行前安全目錄會先檢查安全策略。通過安全策略的方式,安全目錄對修改安全相關記錄的操作進行控制,本文可以在創建一個用戶時指定安全策略。對于工作密鑰,使用類似的技術來保證它們免于被竄改。

為了使加密數據在多個用戶之間的共享變得更加方便,還引入了公鑰環的概念。它與地址簿的概念類似,每個用戶都有這樣一個公鑰環,其中存放的是該用戶的所有共享用戶的公鑰列表。本文方案中,公鑰環被形式化為安全目錄中的數據庫表Sys_public_key_ring。在該表中用戶可以添加或刪除自己公鑰環中共享用戶的公鑰,但是不可以更改其他用戶的公鑰環。Sys_public_key_ring表結構很簡單,再次以用戶Alice來舉例。如果Alice把Bob加入為共享用戶,則在該表中會有兩條記錄:

(Alice, PKIDAlice)和(Alice, PKIDBob),其中

PKIDAlice 和 PKIDBob 分別表示Alice和Bob的公鑰。在用戶的公鑰環中,自己的公鑰總被加入在內。要往公鑰環中加入其他用戶的公鑰,只需簡單地插入一條記錄;反之刪除一個用戶的公鑰只需從表中刪除一條記錄即可。每次用戶想要與其他用戶共享加密數據時,他要做的只是從他的公鑰環中選取要共享用戶的公鑰。

本文方案中,加密操作可以應用在表級、行級或單元格級,首先以列級加密舉例說明。假設Alice想要創建一個需要對某一列加密的表,可以通過執行如下擴展的SQL語句:

該記錄表示Employee表的ssn字段是一個加密列,該加密列只能與Bob共享。此外,Alice還指定應用到該加密列的加密算法是256位長密鑰的高級加密標準(AES)算法。事實上,在本文方案中,加密算法還有其他多種選擇,包括DES、Triple DES、IDEA、CASE、TwoFish等。用戶可以根據加密數據的安全需求自主決定選用哪種加密算法和生成多長的工作密鑰。當Alice通過執行下面的SQL語句來插入一條記錄到Employee表中時:

數據庫會首先判斷該語句的執行人是否是Alice或Bob。如果是,Locksmith模塊就會生成一個新的工作密鑰,然后Encryption 模塊用它來加密Joe的社會安全號(ssn)字段。在本例中,該操作先使用256位長密鑰的AES算法加密數據;然后工作密鑰被分別用Alice和Bob的公鑰加密,再存儲到安全目錄的Sys_col_working_key表中。該表中會新增如下兩條記錄:

用戶Bob需要動態提供已加密的私鑰SKBob 和口令passphraseBob,數據庫服務端的Decryption組件就可以解密出Bob的私鑰。數據庫系統首先會檢查Bob是否是加密字段ssn的共享用戶之一,如果是則找到加密該字段的工作密鑰。由于工作密鑰是被加密存儲的,所以先得用Bob的私鑰解密工作密鑰,然后再用工作密鑰解密ssn字段。但是,如果執行這條語句的用戶既不是Bob也不是Alice,那么該語句的執行就會被拒絕。加密數據就是以這種方式被保護,防止未授權用戶的訪問和竄改。

表級加密過程與列級加密類似。創建表時,用戶可以通過以下定義來指定要對整個表進行加密:

單元格的加密在表定義方面與未加密定義沒有什么不同。用戶可以創建一個工作密鑰,然后在擴展SQL語句中以如下形式顯式地指定加密單元格:

總的來說,本文提出的數據庫加密方案解決了數據庫面臨的主要威脅。密鑰對加密數據庫系統的安全性至關重要。本方案中,私鑰與公鑰及加密數據隔離存儲,這樣即使數據庫系統被入侵,加密數據仍能保證不被輕易破解。在服務端,公鑰在其整個生命周期都被存儲于安全目錄中,安全目錄保證了它們免于被竄改的危險,而且同樣可以確保用戶密鑰的真實性。所以不需要借助CA認證,也可使用戶在加密數據時安全地直接使用共享用戶的公鑰。作為真正用來加密數據的密鑰,工作密鑰每次都需要自動更新,這減少了數據泄密的可能性。在客戶端,智能卡設備被用來保護每個用戶的私鑰。此外,服務端與客戶端之間的安全信道防止了數據傳輸和密鑰分發過程的泄密。

在加密和解密機制方面,本方案利用了傳統加密快速和公鑰加密密鑰分發便捷的特點,不僅使加密數據更安全、更易于共享,而且不會導致使用加密操作造成的性能下降。

5 結束語

本文提出的數據庫加密方案能有效抵制對數據庫加密數據的攻擊。該方案的基本思想可以很容易地應用到現有的通用數據庫管理系統中;其實現機制可以與數據庫安全架構無縫集成,為敏感數據提供進一步的安全保護。

本文主要貢獻如下:①提出了新的數據庫加密方案,提供了更高的數據安全性能,同時也方便加密數據共享;②設計了自適應算法來智能更新工作密鑰,更好地保護了加密數據的安全。

該解決方案已經在面向航空航天的數據庫中得到了具體應用。未來的工作主要有兩方面:①進一步改進加密算法的安全機制和性能;②對本數據庫加密方案進行進一步的研究和擴展從而真正適用于商用數據庫。

本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 国产精品男人的天堂| 亚洲成a人片77777在线播放| 久久五月视频| 欧美激情伊人| 欧美日韩资源| 国产国产人成免费视频77777| 成人va亚洲va欧美天堂| 成人国产免费| 亚洲三级色| 一区二区在线视频免费观看| 激情国产精品一区| 亚洲无码免费黄色网址| 亚洲最大看欧美片网站地址| 91亚瑟视频| 成人亚洲国产| 午夜色综合| 久久香蕉国产线| 午夜精品久久久久久久无码软件| 欧洲极品无码一区二区三区| 亚洲一本大道在线| 精品国产网站| 亚洲人免费视频| 91麻豆国产视频| 国模在线视频一区二区三区| 这里只有精品在线| 久久五月天综合| 日韩美一区二区| 一级毛片免费观看久| 极品av一区二区| 青青草综合网| 91久久精品国产| 国产区在线观看视频| 日韩毛片免费视频| 91久久国产热精品免费| 在线色国产| 一本一本大道香蕉久在线播放| 91亚洲精品第一| 欧美日韩国产综合视频在线观看| 大学生久久香蕉国产线观看| 国内嫩模私拍精品视频| 美女扒开下面流白浆在线试听| 毛片视频网址| 亚洲永久免费网站| 幺女国产一级毛片| 美女毛片在线| 国产精品亚洲天堂| 91在线一9|永久视频在线| 色婷婷丁香| 免费在线成人网| 99视频在线免费| 2022国产91精品久久久久久| 一级香蕉视频在线观看| 国产成人做受免费视频| 麻豆精品在线播放| 91小视频在线| 亚洲 日韩 激情 无码 中出| 国产农村1级毛片| 伊大人香蕉久久网欧美| 91成人免费观看| 国产门事件在线| 亚洲嫩模喷白浆| 国产又黄又硬又粗| 亚洲欧美不卡| 在线亚洲小视频| 亚洲床戏一区| 精品伊人久久久香线蕉| 97无码免费人妻超级碰碰碰| 久996视频精品免费观看| 狠狠亚洲五月天| 亚洲国产综合自在线另类| 九九久久99精品| 国产一级毛片网站| 国产高清无码第一十页在线观看| 国产精品久久久久久久久kt| 国产亚洲欧美另类一区二区| 欧美视频在线不卡| 影音先锋丝袜制服| 在线日韩日本国产亚洲| 永久成人无码激情视频免费| 国产一区二区三区在线无码| 成人国产一区二区三区| 亚洲成A人V欧美综合|