㈠ 誰能簡單介紹下資料庫加密
一、資料庫加密是什麼?
資料庫加密技術屬於主動防禦機制,可以防止明文存儲引起的數據泄密、突破邊界防護的外部黑客攻擊以及來自於內部高許可權用戶的數據竊取,從根本上解決資料庫敏感數據泄漏問題。資料庫加密技術是資料庫安全措施中最頂級的防護手段,也是對技術性要求最高的,產品的穩定性至關重要。
二、資料庫加密的方式有哪些?
目前,不同場景下仍在使用的資料庫加密技術主要有:前置代理加密、應用系統加密、文件系統加密、後置代理加密、表空間加密和磁碟加密等,下文將對前四種數據加密技術原理進行簡要說明。
1、前置代理加密技術
該技術的思路是在資料庫之前增加一道安全代理服務,所有訪問資料庫的行為都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略,安全代理服務通過資料庫的訪問介面實現數據存儲。安全代理服務存在於客戶端應用與資料庫存儲引擎之間,負責完成數據的加解密工作,加密數據存儲在安全代理服務中。
2、應用加密技術
該技術是應用系統通過加密API(JDBC,ODBC,CAPI等)對敏感數據進行加密,將加密數據存儲到資料庫的底層文件中;在進行數據檢索時,將密文數據取回到客戶端,再進行解密,應用系統自行管理密鑰體系。
3、文件系統加解密技術
該技術不與資料庫自身原理融合,只是對數據存儲的載體從操作系統或文件系統層面進行加解密。這種技術通過在操作系統中植入具有一定入侵性的「鉤子」進程,在數據存儲文件被打開的時候進行解密動作,在數據落地的時候執行加密動作,具備基礎加解密能力的同時,能夠根據操作系統用戶或者訪問文件的進程ID進行基本的訪問許可權控制。
4、後置代理技術
該技術是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。核心思想是充分利用資料庫自身提供的應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等核心需求。
三、資料庫加密的價值
1、在被拖庫後,避免因明文存儲導致的數據泄露
通常情況下,資料庫中的數據是以明文形式進行存儲和使用的,一旦數據文件或備份磁帶丟失,可能引發嚴重的數據泄露問題;而在拖庫攻擊中,明文存儲的數據對於攻擊者同樣沒有任何秘密可言——如Aul、MyDul等很多成熟的資料庫文件解析軟體,均可對明文存儲的數據文件進行直接分析,並輸出清晰的、結構化的數據,從而導致泄密。
資料庫加密技術可對資料庫中存儲的數據在存儲層進行加密,即使有人想對此類數據文件進行反向解析,所得到的也不過是沒有任何可讀性的「亂碼」,有效避免了因數據文件被拖庫而造成數據泄露的問題,從根本上保證數據的安全。
2、對高權用戶,防範內部竊取數據造成數據泄露
主流商業資料庫系統考慮到初始化和管理的需要,會設置以sys、sa或root為代表的資料庫超級用戶。這些超級用戶天然具備數據訪問、授權和審計的許可權,對存儲在資料庫中的所有數據都可以進行無限制的訪問和處理;而在一些大型企業和政府機構中,除系統管理員,以數據分析員、程序員、服務外包人員為代表的其他資料庫用戶,也存在以某種形式、在非業務需要時訪問敏感數據的可能。
資料庫加密技術通常可以提供獨立於資料庫系統自身許可權控制體系之外的增強權控能力,由專用的加密系統為資料庫中的敏感數據設置訪問許可權,有效限制資料庫超級用戶或其他高許可權用戶對敏感數據的訪問行為,保障數據安全。
㈡ 資料庫怎麼加密
安華金和資料庫加密的技術方案主要有三種種:包括前置代理、應用加密和後置代理。前置代理的技術思路就是在資料庫之前增加一道安全代理服務,對資料庫訪問的用戶都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略;然後安全代理服務通過資料庫的訪問介面實現數據在O中的最終存儲。
安華金和資料庫加密 應用層加密方案的主要技術原理是:
(1) 應用系統通過加密API(JDBC,ODBC,C API等)對敏感數據進行加密,將加密數據存儲到Oracle資料庫中;
(2)
在進行數據檢索時,將密文數據取回到客戶端,再進行解密;
(3) 應用系統將自行管理密鑰。
後置代理的基本技術路線是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。
該方案的核心思想是充分利用資料庫自身應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等最主要需求。後置代理方案的核心目標包括:A、實現在資料庫中敏感數據的按列加密;B、對應用提供透明的加密數據訪問;C、為加密數據提供高效的索引訪問;D、實現獨立於資料庫的許可權控制;E、調用國產的加密演算法。
目前在國內安華金和的資料庫加密產品是最成熟的,已經廣泛應用於運營商、中央部委等大型系統上。
㈢ 如何對資料庫進行加密和解密
資料庫賬號密碼加密詳解及實例
資料庫中經常有對資料庫賬號密碼的加密,但是碰到一個問題,在使用UserService對密碼進行加密的時候,spring security 也是需要進行同步配置的,因為spring security 中驗證的加密方式是單獨配置的。如下:
<authentication-manager>
<authentication-provider user-service-ref="userDetailService">
<password-encoder ref="passwordEncoder" />
</authentication-provider>
</authentication-manager>
<beans:bean class="com.sapphire.security.MyPasswordEncoder" id="passwordEncoder">
<beans:constructor-arg value="md5"></beans:constructor-arg>
</beans:bean>
如上述配置文件所示,passwordEncoder才是在spring security對賬號加密校驗的地方。
spring security在攔截之後,會首先對用戶進行查找,通過自己定義的userDetailService來找到對應的用戶,然後由框架進行密碼的匹配驗證。
從userDetailService得到user以後,就會進入到DaoAuthenticationProvider中,這是框架中定義的 ,然後跳入其中的authenticate方法中。
該方法會進行兩個檢查,分別是
* preAuthenticationChecks : 主要進行的是對用戶是否過期等信息的校驗,調用的方法在userDetail中有定義的。
* : 這個就是用戶名密碼驗證的過程了。
而PasswordEncoder是我們xml中注入的bean,所以了,我們調用的則是我們自己完成的passwordEncoder
public class MyPasswordEncoder extends MessageDigestPasswordEncoder {
public MyPasswordEncoder(String algorithm) {
super(algorithm);
}
@Override
public boolean isPasswordValid(String encPass, String rawPass, Object salt) {
return encPass.equals(DigestUtils.md5DigestAsHex(rawPass.getBytes()));
}
}
這是我對其實現的一個簡單版本,調用的就是spring自帶的加密演算法,很簡單了,當然也可以使用復雜的加密方法,這個就靠自己了
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
㈣ 如何確保數據安全
1.數據脫敏
數據脫敏是保證數據安全的最基本的手段,脫敏方法有很多,最常用的就是使用可逆加密演算法,對入倉每一個敏感欄位都需要加密。比如手機號,郵箱,身份證號,銀行卡號等信息
2.數據許可權控制
需要開發一套完善的數據許可權控制體系,最好是能做到欄位級別,有些表無關人員是不需要查詢的,所以不需要任何許可權,有些表部分人需要查詢,除數據工程師外,其他人均需要通過OA流程進行許可權審批,需要查看哪些表的哪些欄位,為什麼需要這個許可權等信息都需要審批存檔。
3.程序檢查
有些欄位明顯是敏感數據,比如身份證號,手機號等信息,但是業務庫並沒有加密,而且從欄位名來看,也很難看出是敏感信息,所以抽取到數據倉庫後需要使用程序去統一檢測是否有敏感數據,然後根據檢測結果讓對應負責人去確認是否真的是敏感欄位,是否需要加密等。
4.流程化操作
流程化主要是體現在公司內部取數或者外部項目數據同步,取數的時候如果數據量很大或者包含了敏感信息,是需要提OA 審批流程的,讓大家知道誰要取這些數據,取這些數據的意義在哪,出了問題可以回溯,快速定位到責任人。開發外部項目的時候,不同公司之間的數據同步,是需要由甲方出具同意書的,否則的話風險太大。
5.敏感sql實時審查及操作日誌分析
及時發現敏感sql的執行並詢問責任人,事後分析操作日誌,查出有問題的操作。
6.部門重視數據安全
把數據安全當做一項KPI去考核,讓大家積極的參與到數據安全管理當中去。
㈤ 資料庫透明加密是什麼
資料庫透明加密系統是一款基於透明加密技術的安全加密系統,該產品能夠實現對資料庫數據的加密存儲、訪問控制增強、應用訪問安全、許可權隔離以及三權分立等功能。資料庫加密系統基於主動防禦機制,有效防止明文存儲引起的數據泄密、突破邊界防護的外部黑客攻擊、來自於內部高許可權用戶的數據竊取、防止繞開合法應用系統直接訪問資料庫,從根本上解決資料庫敏感數據泄漏問題,真正實現了數據高度安全、應用完全透明、密文高效訪問等技術特點。
目前美創資料庫加密系統支持Windows、AIX、Linux、HP等多個平台,提供軟硬體一體化加密設備和純軟體加密的不同選擇,滿足用戶的多種部署需求。該加密系統適用於大企業、政府、軍隊、軍工、電信、電力、醫療、金融、互聯網等各個領域,同時針對國家等級保護、分級保護、軍隊保密規定均具有很強的政策合規性。
㈥ 資料庫加密的實現技術
對數據進行加密,主要有三種方式:系統中加密、客戶端(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的一個外層工具,根據加密要求自動完成對資料庫數據的加解密處理。
採用這種加密方式進行加密,加解密運算可在客戶端進行,它的優點是不會加重資料庫伺服器的負載並且可以實現網上傳輸的加密,缺點是加密功能會受到一些限制,與資料庫管理系統之間的耦合性稍差。
資料庫加密系統分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是資料庫加解密引擎。資料庫加密系統將用戶對資料庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調用數據加解密引擎實現對資料庫表的加密、解密及數據轉換等功能。資料庫信息的加解密處理是在後台完成的,對資料庫伺服器是透明的。
按以上方式實現的資料庫加密系統具有很多優點:首先,系統對資料庫的最終用戶是完全透明的,管理員可以根據需要進行明文和密文的轉換工作;其次,加密系統完全獨立於資料庫應用系統,無須改動資料庫應用系統就能實現數據加密功能;第三,加解密處理在客戶端進行,不會影響資料庫伺服器的效率。
資料庫加解密引擎是資料庫加密系統的核心部件,它位於應用程序與資料庫伺服器之間,負責在後台完成資料庫信息的加解密處理,對應用開發人員和操作人員來說是透明的。數據加解密引擎沒有操作界面,在需要時由操作系統自動載入並駐留在內存中,通過內部介面與加密字典管理程序和用戶應用程序通訊。資料庫加解密引擎由三大模塊組成:加解密處理模塊、用戶介面模塊和資料庫介面模塊。