導航:首頁 > 文檔加密 > 資料庫數據加密實驗

資料庫數據加密實驗

發布時間:2023-03-14 02:53:26

㈠ 資料庫加密的實現技術

對數據進行加密,主要有三種方式:系統中加密、客戶端(DBMS外層)加密、伺服器端(DBMS內核層)加密。客戶端加密的好處是不會加重資料庫伺服器的負載,並且可實現網上的傳輸加密,這種加密方式通常利用資料庫外層工具實現。而伺服器端的加密需要對資料庫管理系統本身進行操作,屬核心層加密,如果沒有資料庫開發商的配合,其實現難度相對較大。此外,對那些希望通過ASP獲得服務的企業來說,只有在客戶端實現加解密,才能保證其數據的安全可靠。
1.常用資料庫加密技術
信息安全主要指三個方面。一是數據安全,二是系統安全,三是電子商務的安全。核心是資料庫的安全,將資料庫的數據加密就抓住了信息安全的核心問題。
對資料庫中數據加密是為增強普通關系資料庫管理系統的安全性,提供一個安全適用的資料庫加密平台,對資料庫存儲的內容實施有效保護。它通過資料庫存儲加密等安全方法實現了資料庫數據存儲保密和完整性要求,使得資料庫以密文方式存儲並在密態方式下工作,確保了數據安全。
1.1資料庫加密技術的功能和特性
經過近幾年的研究,我國資料庫加密技術已經比較成熟。
一般而言,一個行之有效的資料庫加密技術主要有以下6個方面的功能和特性。
(1)身份認證:
用戶除提供用戶名、口令外,還必須按照系統安全要求提供其它相關安全憑證。如使用終端密鑰。
(2) 通信加密與完整性保護:
有關資料庫的訪問在網路傳輸中都被加密,通信一次一密的意義在於防重放、防篡改。
(3) 資料庫數據存儲加密與完整性保護:
資料庫系統採用數據項級存儲加密,即資料庫中不同的記錄、每條記錄的不同欄位都採用不同的密鑰加密,輔以校驗措施來保證資料庫數據存儲的保密性和完整性,防止數據的非授權訪問和修改。
(4)資料庫加密設置:
系統中可以選擇需要加密的資料庫列,以便於用戶選擇那些敏感信息進行加密而不是全部數據都加密。只對用戶的敏感數據加密可以提高資料庫訪問速度。這樣有利於用戶在效率與安全性之間進行自主選擇。
(5)多級密鑰管理模式:
主密鑰和主密鑰變數保存在安全區域,二級密鑰受主密鑰變數加密保護,數據加密的密鑰存儲或傳輸時利用二級密鑰加密保護,使用時受主密鑰保護。
(6) 安全備份:
系統提供資料庫明文備份功能和密鑰備份功能。
1.2對資料庫加密系統基本要求
(1) 欄位加密;
(2) 密鑰動態管理;
(3) 合理處理數據;
(4) 不影響合法用戶的操作;
(5) 防止非法拷貝;
1.3資料庫數據加密的實現
使用資料庫安全保密中間件對資料庫進行加密是最簡便直接的方法。主要是通過系統中加密、DBMS內核層(伺服器端)加密和DBMS外層(客戶端)加密。
在系統中加密,在系統中無法辨認資料庫文件中的數據關系,將數據先在內存中進行加密,然後文件系統把每次加密後的內存數據寫入到資料庫文件中去,讀入時再逆方面進行解密就,這種加密方法相對簡單,只要妥善管理密鑰就可以了。缺點對資料庫的讀寫都比較麻煩,每次都要進行加解密的工作,對程序的編寫和讀寫資料庫的速度都會有影響。
在DBMS內核層實現加密需要對資料庫管理系統本身進行操作。這種加密是指數據在物理存取之前完成加解密工作。這種加密方式的優點是加密功能強,並且加密功能幾乎不會影響DBMS的功能,可以實現加密功能與資料庫管理系統之間的無縫耦合。其缺點是加密運算在伺服器端進行,加重了伺服器的負載,而且DBMS和加密器之間的介面需要DBMS開發商的支持。
在DBMS外層實現加密的好處是不會加重資料庫伺服器的負載,並且可實現網上的傳輸,加密比較實際的做法是將資料庫加密系統做成DBMS的一個外層工具,根據加密要求自動完成對資料庫數據的加解密處理。
採用這種加密方式進行加密,加解密運算可在客戶端進行,它的優點是不會加重資料庫伺服器的負載並且可以實現網上傳輸的加密,缺點是加密功能會受到一些限制,與資料庫管理系統之間的耦合性稍差。
資料庫加密系統分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是資料庫加解密引擎。資料庫加密系統將用戶對資料庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調用數據加解密引擎實現對資料庫表的加密、解密及數據轉換等功能。資料庫信息的加解密處理是在後台完成的,對資料庫伺服器是透明的。
按以上方式實現的資料庫加密系統具有很多優點:首先,系統對資料庫的最終用戶是完全透明的,管理員可以根據需要進行明文和密文的轉換工作;其次,加密系統完全獨立於資料庫應用系統,無須改動資料庫應用系統就能實現數據加密功能;第三,加解密處理在客戶端進行,不會影響資料庫伺服器的效率。
資料庫加解密引擎是資料庫加密系統的核心部件,它位於應用程序與資料庫伺服器之間,負責在後台完成資料庫信息的加解密處理,對應用開發人員和操作人員來說是透明的。數據加解密引擎沒有操作界面,在需要時由操作系統自動載入並駐留在內存中,通過內部介面與加密字典管理程序和用戶應用程序通訊。資料庫加解密引擎由三大模塊組成:加解密處理模塊、用戶介面模塊和資料庫介面模塊。

㈡ 怎麼對資料庫已有的數據進行加密

第一層
服務主密鑰
備份服務主密鑰
backup
service
master
key
to
file='c:\smk.bak'
encryption
by
password='P@ssw0rd'

restore
service
master
key
from
file='c:\smk.bak'
decryption
by
password='P@ssw0rd'

第二層
資料庫主密鑰
1)必須先在該資料庫上創建資料庫主密鑰才能使用
create
master
key
encryption
by
password='P@ssw0rd'

2)使用資料庫主密鑰
-如果資料庫主密鑰使用服務密鑰進行保護,則在使用時會自動打開
opren
master
key
decryption
by
password='P@ssw0rd'

3)查看資料庫主密鑰狀態
sys.symmetric_keys

4)備份資料庫主密鑰
backup
master
key
to
file='c:\smk.bak'
encryption
by
password='P@ssw0rd'

restore
master
key
from
file='c:\smk.bak'
decryption
by
password='P@ssw0rd'

㈢ 如何實現資料庫連接的密碼加密

C#中有數據加密的類using System.Security.Cryptography,在這個類中你可以調用它的兩個方法分別是加密方法
public static string Encrypt(string text)
{}
解密方法
public static string Decrypt(string text)
{}
我們一般使用連接資料庫加密的話,都會使用一個配置文件在配置文件中對資料庫鏈接進行讀寫,通過加密方法把鏈接寫到配置文件,然後讀取的時候再使用解密方法。

㈣ 如何利用MySQL資料庫自帶加密函數進行加密

首先,先介紹下加密函數,PASSWORD(string)函數可以對字元串string進行加密,代碼如下:
SELECT
PASSWORD('you');
如下圖所示:
執行第一步的SQL語句,查詢結果是一串字元串,並且PASSWORD(string)函數加密是不可逆轉,
如下圖所示:
另外一個加密函數MD5(string),主要針對普通的數據進行加密,代碼如下:
SELECT
MD5('hai');
如下圖所示:
最後一個加密函數ENCODE(string,pass),可以使用字元串pass來加密字元串string。首先要創建一個資料庫表t_pass_info,代碼如下:
CREATE
TABLE
t_pass_info(
id
int(10),
pass_info
blob
);
如下圖所示:
然後,向這個資料庫表插入一條數據,代碼如下:
INSERT
INTO
t_pass_info(id,pass_info)
VALUES
(1,ENCODE('dong','bb'));
如下圖所示:
6
查看插入資料庫表t_pass_info記錄,代碼如下:
SELECT
*
FROM
t_pass_info;
如下圖所示:
7
MySQL自帶還有一個解密函數DECODE(str,pass_str),可以使用字元串pass_str來為str解密,代碼如下:
SELECT
DECODE(ENCODE('dong','aa'),'aa');
如下圖所示:

㈤ 資料庫怎麼加密

當數據被存儲時候被加密,它們被使用的時候就會自動加密。在其他的情況下,你可以選擇數據是否要被加密。SQL Server資料庫可以加密下列這些組件:密碼存儲過程,視圖,觸發器,用戶自定義函數,默認值,和規則。
在伺服器和用戶之間傳輸的數據密碼加密SQL Server自動將你分配給登陸和應用角色的密碼加密。盡管當你可以從主資料庫中直接察看系統表格而不需要密碼。你不能給對這種情況作出任何修改,事實上,你根本不能破壞它。
定義加密在有些時候,如果對對象進行加密是防止將一些信息分享給他人。例如,一個存儲進程可能包含所有者的商業信息,但是這個信息不能和讓其他的人看到,即使他們公開的系統表格並可以看到對象的定義。這就是為什麼SQL Server資料庫允許你在創建一個對象的時候進行加密。為了加密一個存儲進程,使用下面形式的CREAT PROCEDURE 語句:
CREATEPROCEDUREprocerename[;number]
[@parameterdatatype
[VARYING][=defaultvalue][OUTPUT]]
[,]
[WITHRECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION]
我們關心的僅僅是可選的WITH參數。你可以詳細說明ARECOMPILE或者ENCRYPTION,或者你可以同時說明它們。ENCRYPTION關鍵字保護SQL Server資料庫它不被公開在進程中。結果,如果ENCRYPTION在激活的時候系統存儲進程sp_helptext就會被忽視,這個存儲進程將被存儲在用戶創建進程的文本中。
如果你不想要加密,你可以使用ALTER PROCEDURE,忽略WITH ENCRYPTION子句來重新創建一個進程。
為了能夠使用加密。用戶和伺服器都應該使用TCP/IP NetworkLibraries用來連接。運行適當的Network Utility和檢查Force protocol encryption,看下錶,用戶和伺服器之間的連接將不會被加密。
加密也不能完全自由。當連接確定後源碼天空
,要繼續其他的構造,並且用戶和伺服器必須運行代碼來解釋加密和解釋的包裹。這里將需要一些開銷並且當在編譯碼的時候會使進程慢下來。
是否可以解決您的問題?

㈥ 資料庫怎麼加密

資料庫加密作為近年來興起的資料庫安防技術,已經被越來越多的人所重視。這種基於存儲層加密的防護方式,不僅可以有效解決資料庫明文存儲引起的泄密風險,也可以防止來自內部或者外部的入侵及越權訪問行為。從技術手段上來看,現今資料庫加密技術主要有三大類,分別是前置代理及加密網關方式、應用層加密方式以及後置代理方式,其中後置代理技術有有兩種不同的技術路線,分別為:基於視圖和觸發器的後置代理技術和基於TDE技術的加密技術。你與安華金和了解下吧,以前他們還專門有過相關文章介紹。

㈦ 誰能簡單介紹下資料庫加密

一、資料庫加密是什麼?
資料庫加密技術屬於主動防禦機制,可以防止明文存儲引起的數據泄密、突破邊界防護的外部黑客攻擊以及來自於內部高許可權用戶的數據竊取,從根本上解決資料庫敏感數據泄漏問題。資料庫加密技術是資料庫安全措施中最頂級的防護手段,也是對技術性要求最高的,產品的穩定性至關重要。
二、資料庫加密的方式有哪些?
目前,不同場景下仍在使用的資料庫加密技術主要有:前置代理加密、應用系統加密、文件系統加密、後置代理加密、表空間加密和磁碟加密等,下文將對前四種數據加密技術原理進行簡要說明。
1、前置代理加密技術
該技術的思路是在資料庫之前增加一道安全代理服務,所有訪問資料庫的行為都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略,安全代理服務通過資料庫的訪問介面實現數據存儲。安全代理服務存在於客戶端應用與資料庫存儲引擎之間,負責完成數據的加解密工作,加密數據存儲在安全代理服務中。
2、應用加密技術
該技術是應用系統通過加密API(JDBC,ODBC,CAPI等)對敏感數據進行加密,將加密數據存儲到資料庫的底層文件中;在進行數據檢索時,將密文數據取回到客戶端,再進行解密,應用系統自行管理密鑰體系。
3、文件系統加解密技術
該技術不與資料庫自身原理融合,只是對數據存儲的載體從操作系統或文件系統層面進行加解密。這種技術通過在操作系統中植入具有一定入侵性的「鉤子」進程,在數據存儲文件被打開的時候進行解密動作,在數據落地的時候執行加密動作,具備基礎加解密能力的同時,能夠根據操作系統用戶或者訪問文件的進程ID進行基本的訪問許可權控制。
4、後置代理技術
該技術是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。核心思想是充分利用資料庫自身提供的應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等核心需求。
三、資料庫加密的價值
1、在被拖庫後,避免因明文存儲導致的數據泄露
通常情況下,資料庫中的數據是以明文形式進行存儲和使用的,一旦數據文件或備份磁帶丟失,可能引發嚴重的數據泄露問題;而在拖庫攻擊中,明文存儲的數據對於攻擊者同樣沒有任何秘密可言——如Aul、MyDul等很多成熟的資料庫文件解析軟體,均可對明文存儲的數據文件進行直接分析,並輸出清晰的、結構化的數據,從而導致泄密。
資料庫加密技術可對資料庫中存儲的數據在存儲層進行加密,即使有人想對此類數據文件進行反向解析,所得到的也不過是沒有任何可讀性的「亂碼」,有效避免了因數據文件被拖庫而造成數據泄露的問題,從根本上保證數據的安全。
2、對高權用戶,防範內部竊取數據造成數據泄露
主流商業資料庫系統考慮到初始化和管理的需要,會設置以sys、sa或root為代表的資料庫超級用戶。這些超級用戶天然具備數據訪問、授權和審計的許可權,對存儲在資料庫中的所有數據都可以進行無限制的訪問和處理;而在一些大型企業和政府機構中,除系統管理員,以數據分析員、程序員、服務外包人員為代表的其他資料庫用戶,也存在以某種形式、在非業務需要時訪問敏感數據的可能。
資料庫加密技術通常可以提供獨立於資料庫系統自身許可權控制體系之外的增強權控能力,由專用的加密系統為資料庫中的敏感數據設置訪問許可權,有效限制資料庫超級用戶或其他高許可權用戶對敏感數據的訪問行為,保障數據安全。

閱讀全文

與資料庫數據加密實驗相關的資料

熱點內容
cad命令縮小 瀏覽:152
linux發展史 瀏覽:627
伺服器選用什麼CPU比較好 瀏覽:334
明星怎麼宣傳安卓 瀏覽:953
8255晶元編程 瀏覽:65
java文件bat運行 瀏覽:747
java常見筆試 瀏覽:529
360程序員模式 瀏覽:363
AQS演算法的查詢樹構造 瀏覽:329
小豬微信營銷源碼 瀏覽:12
阿里雲伺服器能連接列印機嗎 瀏覽:175
命令行參考 瀏覽:281
怎麼初步認識編程 瀏覽:208
為什麼程序員都喜歡谷歌 瀏覽:891
壓縮性骨拆能自愈嗎 瀏覽:277
安卓怎麼設置游戲畫面 瀏覽:114
k線上寫字源碼 瀏覽:457
單擊按鈕保存資料源碼 瀏覽:354
華為gt加密卡 瀏覽:213
河北超融合伺服器廠家雲主機 瀏覽:894