A. 資料庫怎麼加密
安華金和資料庫加密的技術方案主要有三種種:包括前置代理、應用加密和後置代理。前置代理的技術思路就是在資料庫之前增加一道安全代理服務,對資料庫訪問的用戶都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略;然後安全代理服務通過資料庫的訪問介面實現數據在O中的最終存儲。
安華金和資料庫加密 應用層加密方案的主要技術原理是:
(1) 應用系統通過加密API(JDBC,ODBC,C API等)對敏感數據進行加密,將加密數據存儲到Oracle資料庫中;
(2)
在進行數據檢索時,將密文數據取回到客戶端,再進行解密;
(3) 應用系統將自行管理密鑰。
後置代理的基本技術路線是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。
該方案的核心思想是充分利用資料庫自身應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等最主要需求。後置代理方案的核心目標包括:A、實現在資料庫中敏感數據的按列加密;B、對應用提供透明的加密數據訪問;C、為加密數據提供高效的索引訪問;D、實現獨立於資料庫的許可權控制;E、調用國產的加密演算法。
目前在國內安華金和的資料庫加密產品是最成熟的,已經廣泛應用於運營商、中央部委等大型系統上。
B. 誰能簡單介紹下資料庫加密
一、資料庫加密是什麼?
資料庫加密技術屬於主動防禦機制,可以防止明文存儲引起的數據泄密、突破邊界防護的外部黑客攻擊以及來自於內部高許可權用戶的數據竊取,從根本上解決資料庫敏感數據泄漏問題。資料庫加密技術是資料庫安全措施中最頂級的防護手段,也是對技術性要求最高的,產品的穩定性至關重要。
二、資料庫加密的方式有哪些?
目前,不同場景下仍在使用的資料庫加密技術主要有:前置代理加密、應用系統加密、文件系統加密、後置代理加密、表空間加密和磁碟加密等,下文將對前四種數據加密技術原理進行簡要說明。
1、前置代理加密技術
該技術的思路是在資料庫之前增加一道安全代理服務,所有訪問資料庫的行為都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略,安全代理服務通過資料庫的訪問介面實現數據存儲。安全代理服務存在於客戶端應用與資料庫存儲引擎之間,負責完成數據的加解密工作,加密數據存儲在安全代理服務中。
2、應用加密技術
該技術是應用系統通過加密API(JDBC,ODBC,CAPI等)對敏感數據進行加密,將加密數據存儲到資料庫的底層文件中;在進行數據檢索時,將密文數據取回到客戶端,再進行解密,應用系統自行管理密鑰體系。
3、文件系統加解密技術
該技術不與資料庫自身原理融合,只是對數據存儲的載體從操作系統或文件系統層面進行加解密。這種技術通過在操作系統中植入具有一定入侵性的「鉤子」進程,在數據存儲文件被打開的時候進行解密動作,在數據落地的時候執行加密動作,具備基礎加解密能力的同時,能夠根據操作系統用戶或者訪問文件的進程ID進行基本的訪問許可權控制。
4、後置代理技術
該技術是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。核心思想是充分利用資料庫自身提供的應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等核心需求。
三、資料庫加密的價值
1、在被拖庫後,避免因明文存儲導致的數據泄露
通常情況下,資料庫中的數據是以明文形式進行存儲和使用的,一旦數據文件或備份磁帶丟失,可能引發嚴重的數據泄露問題;而在拖庫攻擊中,明文存儲的數據對於攻擊者同樣沒有任何秘密可言——如Aul、MyDul等很多成熟的資料庫文件解析軟體,均可對明文存儲的數據文件進行直接分析,並輸出清晰的、結構化的數據,從而導致泄密。
資料庫加密技術可對資料庫中存儲的數據在存儲層進行加密,即使有人想對此類數據文件進行反向解析,所得到的也不過是沒有任何可讀性的「亂碼」,有效避免了因數據文件被拖庫而造成數據泄露的問題,從根本上保證數據的安全。
2、對高權用戶,防範內部竊取數據造成數據泄露
主流商業資料庫系統考慮到初始化和管理的需要,會設置以sys、sa或root為代表的資料庫超級用戶。這些超級用戶天然具備數據訪問、授權和審計的許可權,對存儲在資料庫中的所有數據都可以進行無限制的訪問和處理;而在一些大型企業和政府機構中,除系統管理員,以數據分析員、程序員、服務外包人員為代表的其他資料庫用戶,也存在以某種形式、在非業務需要時訪問敏感數據的可能。
資料庫加密技術通常可以提供獨立於資料庫系統自身許可權控制體系之外的增強權控能力,由專用的加密系統為資料庫中的敏感數據設置訪問許可權,有效限制資料庫超級用戶或其他高許可權用戶對敏感數據的訪問行為,保障數據安全。
C. 怎麼對資料庫已有的數據進行加密
第一層 服務主密鑰 備份服務主密鑰
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'
D. 資料庫怎麼加密
目前經常碰到的來這幾源種比較多:
1、unix下shadow文件中的加密字元串,des經好幾次加密變換的,生成的字元串為13位,由a-z,A-Z,0-9,.,/字元組成。
2、md5加密的,網站上用的比較多,常見的有16位和32位的,密文由十六進制字元組成(0-9,A-F)。
3、base64編碼,以前用在電子郵件中的,轉換後字元長度不定,由a-z,A-Z,0-9,+,/,=字元組成,現在有些網站用來加密,其實不能算是一種加密演算法。
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自帶的加密演算法,很簡單了,當然也可以使用復雜的加密方法,這個就靠自己了
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!