transparent data encryption (tde)
tde能夠加密儲存在表和表空間中的敏感資料,對於可以訪問資料的資料庫使用者或應用程式,加密的資料被透明地解密。tde有助於在儲存**或資料檔案被盜的情況下保護儲存在**上的資料。
de對儲存在資料檔案中的敏感資料進行加密
tde將加密金鑰儲存在資料庫外部的安全模組中
tde不需要額外的維護,對使用者透明
應用程式不參與加密和解密,加密和解密由資料庫完成
加密金鑰自動產生,不需要使用者管理。只需要做好備份,不要丟失即可。
如果是dg環境,備庫也要相關操作,請謹慎操作,否則會導致同步停止。
tde 不支援對外鍵約束中使用的列進行加密。這是因為各個表有自己獨有的加密金鑰。以下查詢可以列出資料庫中存在的所有 ri(引用完整性)約束:
sql> select a.owner, a.table_name, a.column_name, a.constraint_name
from dba_cons_columns a, dba_constraints b
where a.table_name = b.table_name and b.constraint_type = 'r';
tde 表空間加密透明地支援所有索引。而對於 tde 列加密,索引必須是用於等式搜尋的普通 b 樹索引。如果是基於函式的復合索引,則不能對相應函式使用的列進行加密。當對已有索引的列進行加密時,建議首先利用 dbms_metadata.get_ddl 獲取索引定義,然後丟棄該索引,使用「no salt」選項對該列進行加密,最後重建索引。
使用 tde 加密後的資料在從資料庫檔案中讀回時會被解密。因此,如果在網路上傳輸該資料,它將處於明文狀態。
對於 tde 列加密,加密資料在 sga 中仍保持加密狀態,但是對於 tde 表空間加密,資料在 sga 中已被解密,從而提供 100% 的透明性。
tde 是 oracle advanced security 選件的一部分,該選件還包含網路加密和強身份驗證。oracle 企業版客戶可以使用該選件。
檢視資料庫元件:
set lines 90 numwidth 12 pages 10000 long 2000000000
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
col version format a12
col comp_id format a8
col schema like version
col comp_name format a35
col status format a12
select comp_id,schema,status,version,comp_name from dba_registry;
透明資料加密(tde)具有以下優點:
作為安全管理員,您可以確保敏感資料是安全的,以防儲存**或資料檔案被盜。
1,實現tde可以幫助您解決與安全性相關的法規遵從性問題。
2,您不需要為授權使用者或應用程式建立觸發器或檢視來解密資料。對於資料庫使用者和應用程式,表中的資料被透明地解密。
3,資料庫使用者和應用程式不需要知道他們訪問的資料是以加密的形式儲存的。對於資料庫使用者和應用程式,資料被透明地解密。
4,不需要修改應用程式來處理加密的資料。資料加密和解密由資料庫管理。
5,金鑰管理操作是自動化的。使用者或應用程式不需要管理加密金鑰。
tde可以對錶的列或表空間做加密
tde表空間加密使您能夠加密整個表空間。在加密的表空間中建立的所有物件都會自動加密。
tde表空間加密利用了批量加密和快取來提供增強的效能。雖然對應用程式的實際效能影響可能有所不同,但效能開銷大致估計在5%到8%之間。
tde表空間加密對儲存在加密表空間中的所有資料進行加密。這包括內部大型物件(lob),如blob和clob。
tde表空間加密不加密儲存在表空間之外的資料。例如,bfile資料沒有加密,因為它儲存在資料庫之外。如果在加密的表空間中建立具有bfile列的表,則不會加密此特定列。但
加密表空間中的所有資料都以加密格式儲存在磁碟上。對於具有檢視或修改資料的必要特權的授權使用者,資料被透明地解密。資料庫使用者或應用程式不需要知道特定表中的資料是否在磁碟上加密。如果磁碟或備份**上的資料檔案被盜,資料不會受到影響。
tde表空間加密使用兩層的、基於金鑰的體系結構來透明地加密(和解密)表空間。tde主金鑰儲存在外部安全模組(oracle wallet或hsm)中。tde主金鑰用於加密tde表空間加密金鑰,而tde表空間加密金鑰又用於加密和解密表空間中的資料。
如果您沒有使用共享檔案系統來儲存錢包,那麼您需要在主金鑰rekey之後將錢包複製到所有節點。如果您需要重置資料庫的主加密金鑰,請使用以下步驟:
1,在第乙個oracle rac節點上重置主加密金鑰。
2,將新的主加密金鑰錢包從第乙個節點複製到所有其他節點。
3,關閉並重新開啟任何乙個節點上的錢包。使用以下命令:
sql> alter system set encryption wallet close identified by "password";
sql> alter system set encryption wallet open identified by "password";
oracle 透明資料加密和 oracle rman
應用資料
rman 壓縮備份
rman 加密備份
rman 壓縮和加密備份
未加密壓縮資料
加密資料
資料先壓縮再加密
使用 tde 列進行加密
壓縮資料;將加密列視為未加密
加密資料;對加密列雙重加密
資料先壓縮再加密;將加密資料視為未加密;對加密列雙重加密
使用 tde 表空間加密進行加密
對加密的表空間進行解密、壓縮和重新加密
加密的表空間原樣傳送給備份
對加密的表空間進行解密、壓縮和重新加密
當存在本地 tde 主加密金鑰時「透明」加密[和壓縮]的示例:
rman> connect target /rman> set encryption on;
rman> backup [as compressed backupset] database;
無論使用 tde 主加密金鑰還是密碼短語對檔案進行加密,對傳送到磁碟的 rman 備份進行加密都需要 advanced security 選件的許可。
可以。當 tde 用於 data guard 物理備用資料庫(10gr2 及更高版本)時,在向輔助資料庫傳輸資料的過程中加密資料在日誌檔案中仍保持加密狀態,此時可以選擇使用 aso 網路加密在傳輸過程中對磁碟上未加密的資料進行加密。請參閱 metalink 說明 749947.1 了解如何配置 aso 自帶的網路加密,並參閱 metalink 說明 1143443.1 了解如何配置基於 ssl 的加密。對此,必須將包含主金鑰的錢夾複製到全部物理備用資料庫站點並開啟該錢夾,不管是僅應用重做日誌、以唯讀方式開啟、在 active data guard 中開啟(唯讀和應用重做日誌),還是進行角色轉換(切換或故障切換)都是如此。
當 tde 與 11gr1 中的 streams 一起使用時,在活動資料庫之間以明文傳輸資料,以允許資料轉換(字符集、資料庫版本、平台等)。當無法到達接收端且需要臨時儲存資料時,加密列以加密形式儲存在磁碟上。在 11gr1 之前的資料庫版本中,streams 將加密列視為「不受支援的資料型別」,因此跳過這些表。
可以。如果目標表包含加密列,資料將在載入時進行加密。以下簡單示例說明了如何使用帶有直接路徑的 sql*loader。只需將 ulcase6.sql 中的一行從
sal number(7,2),
更改為sal number(7,2) encrypt,
並使用 sql*loader 的正確語法:
$ sqlldr userid=scott/tiger control=ulcase6.ctl log=ulcase6.log direct=true
《step by step method to implement transparent data encryption (tde) in 11g data guard and 11g rac environments (文件 id 1627807.1)》
資料加密 TDE透明資料加密原理
首先需要確定你需要加密的列,oracle 10g資料庫將為包含加密列的表建立乙個私密的安全加密金鑰 表秘鑰 然後採用你指定的加密演算法 aes或3des 加密指定列的明文資料。此時,保護表的加密金鑰 表金鑰 就非常重要了。oracle 10g通過乙個master金鑰來對錶金鑰進行加密。master金...
什麼是透明資料加密 TDE
tde是sql server 2008推出的乙個新特性 透明資料加密 transparent data encryption 簡稱tde,是sql server 2008推出的乙個新特性,用來對整個資料庫提供保護。資料庫開啟tde加密後,對於連線到所選資料庫的應用程式來說是完全透明的,它不需要對現有...
sqlServer透明資料加密(TDE)操作解析
透明資料加密 tde 可對資料和日誌檔案執行實時 i o 加密和解密。這種加密使用資料庫加密金鑰 dek 該金鑰儲存在資料庫引導記錄中以供恢復時使用。資料庫檔案的加密在頁級執行。已加密資料庫中的頁在寫入磁碟之前會進行加密,在讀入記憶體時會進行解密。使用tde加密操作步驟 建立主金鑰 建立或獲取由主金...