Oracle資料庫的透明加密特性

2021-05-04 05:04:59 字數 2299 閱讀 3195

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 不同的版本有大量的預設帳戶密碼。可...