oracle TDE技術 oracle 透明加密技術

1.新建一個空目錄如下:

C:\Oracle\Wallets\walletTDE

--請保證walletTDE下沒有任何文件。

 

2. sqlnet.ora中指定上述目錄爲ENCRYPTION_WALLET所在目錄。指定方式如下:

在參數文件C:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora中,按照下面的格式加入信息:

ENCRYPTION_WALLET_LOCATION=

(SOURCE =  (METHOD = FILE)

           (METHOD_DATA=

           (DIRECTORY =C:\Oracle\Wallets\walletTDE)))

加入信息之後,請保存關閉sqlnet.ora文件。

 

3.重新啓動oracle數據庫服務和偵聽器服務。

net stop OracleServiceORCL

net stop OracleOraDb11g_home1TNSListener

net start OracleServiceORCL

net start OracleOraDb11g_home1TNSListener

 

4. conn / as SYSDBA登錄之後執行:

SQL>alter system setencryption key identified by "Qwer1234";

這條語句正常執行結果是“系統已更改”或者“Systemaltered”;

執行完之後,C:\Oracle\Wallets\walletTDE目錄下會生成一個wallet文件,即“ewallet.p12”;若該目錄在執行語句之前已經存在該文件,不爲空的話,可能出現“無法自動創建wallet”等錯誤。語句中的"Qwer1234"是用於打開和關閉wallet(即ewallet.p12)的口令, ewallet.p12存放的是主密鑰(primary key),主密鑰是在生成ewallet.p12文件時隨機生成的,ewallet.p12用“Qwer1234”打開之後,主密鑰纔可用;否則主密鑰是不可用的。主密鑰也是用戶不可知的,不能採用文本方式打開ewallet.p12看見主密鑰。“Qwer1234”這個wallet打開關閉口令設置不可太簡單,要同時包含大小寫數字,長度大於等於8,否則設置不成功。

 

5.執行下述SQL打開wallet,wallet處理打開狀態時,用戶纔可以使用主密鑰:

SQL>ALTER SYSTEM SETENCRYPTION WALLET OPEN IDENTIFIED BY "Qwer1234";

這條語句正常執行結果是“系統已更改”或者“Systemaltered”;

這條語句的目的是打開wallet,當然需要步驟4所設的的口令,才能打開;若將步驟4設置的口令寫錯,則無法打開wallet,也就無法使用主密鑰。

 

6.HR/HR登錄建帶透明加密列的表,如下

SQL>create tableHR.TEST1(C1 varchar(20) encrypt);

這條語句正常執行結果是“表已創建”,表示表創建成功。其中C1列是透明加密的,加密算法是默認的AES192,加密密鑰是oracle自動生成的表密鑰,表密鑰採用的是主密鑰進行加密存放的,存放在數據文件之內;主密鑰是脫離數據文件,存在在wallet當中,wallet是需要口令纔可以打開的,wallet處於打開狀態纔可以建立加密表。該walllet一直處於打開狀態直至執行ALTER SYSTEM SETENCRYPTION WALLET CLOSE IDENTIFIED BY "Qwer1234";進行關閉

或者oracle實例被關閉。

7.此wallet是加密用的wallet,和客戶端採用wallet進行無用戶名、無口令登錄有所不同。

發佈了21 篇原創文章 · 獲贊 10 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章