1、需要更新sqlnet.ora檔案以包含乙個encrypted_wallet_location條目
windows下的位置:
# sqlnet.ora network configuration file: d:/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
將以下條目新增到檔案末尾並儲存:
encryption_wallet_location=(source=(method=file)(method_data=(directory=d:/oracle/product/10.2.0/admin/test/wallet)))
2、開啟錢夾並建立萬能加密金鑰
sql> conn / as sysdba;
已連線。
sql> alter system set key identified by "dgpki";
系統已更改。
此命令的作用為:
如果指定的目錄中不存在加密錢夾,則將建立加密錢夾(ewallet.p12)、開啟此錢夾並建立/重新建立tde的萬能金鑰。
如果指定目錄中存在加密錢夾,則將開啟此錢夾並建立/重新建立tde的萬能金鑰。
3、建立測試表
sql> conn dgyd/dgyd@test;
已連線。
sql> create table test(id number,credit_card_number varchar2(16) encrypt no salt);
表已建立。
sql> insert into test values(1,'9974586');
已建立 1 行。
sql> insert into test values(2,'9974587');
已建立 1 行。
sql> insert into test values(3,'9974588');
已建立 1 行。
sql> commit;
提交完成。
4、測試
sql> select * from dgyd.test;
id credit_card_numb
---------- ----------------
1 9974586
2 9974587
3 9974588
sql> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
oracle 例程已經關閉。
sql> startup
oracle 例程已經啟動。
total system global area 289406976 bytes
fixed size 1248600 bytes
variable size 96469672 bytes
database buffers 188743680 bytes
redo buffers 2945024 bytes
資料庫裝載完畢。
資料庫已經開啟。
(1)系統重啟後沒有開啟加密錢夾,查詢到加密列會出錯
sql> select * from dgyd.test;
select * from test
*第 1 行出現錯誤:
ora-28365: wallet 未開啟
(2)非加密列可以正常查詢
sql> select id from test;
id----------12
3(3)開啟加密錢夾後可以正常查詢所有列
sql> alter system set key identified by "dgpki";
系統已更改。
sql> select * from dgyd.test;
id credit_card_numb
---------- ----------------
1 9974586
2 9974587
3 9974588
5、說明
(1)如果使用者想開啟錢夾,必須具有alter system許可權;
(2)sys使用者的表不能被加密;
(3)丟失ewallet加密錢夾的話,是不能再解密資料的。
可見:oracle tde是在資料層面上對表裡的資料加密,而且不會影響資料庫現有的許可權控制策略。
salt實際上就是在加密過程中引入乙個隨機性,同樣的明文產生不同樣的密文。
no salt的話,自然就是相同的明文會產生相同的密文了。對於索引來說,要求no salt也就可以理解了。
Oracle透明資料加密 TDE 真實環境使用分析
從oracle資料庫1og的r2版本開始,乙個叫做透明資料加密 tde 的特性讓資料加密變得極其容易。我們所需要做的就是把某列宣告成加密的,剩下的全部由oracle完成。當使用者輸入資料時,列值會被截獲 加密,然後用加密後的格式儲存。然後,當這一列被查詢時,又會自動對列值進行解密,然後把解密後的文字...
筆記 TDE資料庫透明加密 官檔翻譯摘選)
transparent data encryption tde tde能夠加密儲存在表和表空間中的敏感資料,對於可以訪問資料的資料庫使用者或應用程式,加密的資料被透明地解密。tde有助於在儲存 或資料檔案被盜的情況下保護儲存在 上的資料。de對儲存在資料檔案中的敏感資料進行加密 tde將加密金鑰儲存...
破解Oracle資料庫的密碼 加密解密 黑客技術
要連線遠端的 oracle 資料庫,需要知道 sid,使用者名稱,密碼,當然還有最重要的 ip 位址。sid 如果被管理 員修改的話,可以利用 sidguess 來進行破解,速度非常的快,至於成功與否,就要看你的字典配置了。破解 效果如圖 1。圖 1 oracle 不同的版本有大量的預設帳戶密碼。可...