萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle 10G:透明數據加密技術(TDE)

Oracle 10G:透明數據加密技術(TDE)

在Oracle的最新版本10g R2中,出現最及時的技術應該是透明數據加密技術(Transparent Data Encryption,TDE)。

TDE用來對數據加密,通常 SQL 執行的應用程序邏輯不需要進行更改,仍能正常運行。 換言之,應用程序可以使用同一語法將數據插入到應用程序表中,並且 Oracle 數據庫在將信息寫入磁盤之前將自動對數據進行加密。 隨後的選擇操作將透明地解密數據,因此應用程序將繼續正常地運行。 這一點很重要,因為當前的應用程序通常期望未加密的應用程序數據。 顯示加密數據至少會使應用程序用戶迷惑不解,甚至還會破壞現有的應用程序。

設置加密密鑰:

Oracle 透明數據加密提供了實施加密所必需的關鍵管理基礎架構。 加密的工作原理是將明文數據以及秘密(稱作密鑰)傳遞到加密程序中。 加密程序使用提供的密鑰對明文數據進行加密,然後返回加密數據。 以往,創建和維護密鑰的任務由應用程序完成。 Oracle 透明數據加密通過為整個數據庫自動生成一個萬能密鑰解決了此問題。 在啟動 Oracle 數據庫時,管理員必須使用不同於系統口令或 DBA 口令的口令打開一個 Oracle Wallet 對象。 然後,管理員對數據庫萬能密鑰進行初始化。 萬能密鑰是自動生成的。

性能:

由於索引數據未被加密,因此加密通常會影響現有的應用程序索引。 Oracle 透明數據加密對與給定應用程序表關聯的索引值進行加密。 這意味著應用程序中的相等搜索對性能的影響很小,甚至沒有任何影響。 例如,假設應用程序 card_id存在一個索引,並且此應用程序執行以下語句:

SQL> Select cash from credit_card where card_id = '1025023590';

Oracle 數據庫將使用現有的應用程序索引,盡管 card_id信息已經在數據庫中加密。

准備用於加密的數據庫:

在本部分內容中,您將更新 sqlnet.ora、創建一個加密錢夾 (ewallet.p12)、打開此錢夾並為 TDE 創建萬能密鑰。執行以下操作:

1. 您需要更新 sqlnet.ora 文件以包含一個 ENCRYPTED_WALLET_LOCATION 條目。打開一個終端窗口,然後輸入以下命令:

cd $ORACLE_HOME/network/admin

gedit sqlnet.ora

將以下條目添加到文件末尾:

ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/admin/test97/wallet/)))

如果不加這一項的話,則會提示下面錯誤:

SQL> alter system set key identified by "hurray"
   2 ;
   alter system set key identified by "hurray"
   *
   ERROR at line 1:
   ORA-28368: cannot auto-create wallet

/opt/oracle/admin/test97/wallet/ 目錄是用來存放生成的錢夾的。

可以為加密錢夾選擇任何目錄,但路徑不應指向在數據庫安裝過程中創建的標准模糊錢夾 (cwallet.sso)。

  • 共3頁:
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
copyright © 萬盛學電腦網 all rights reserved