1. 程式人生 > >資料庫安全之TDE列加密

資料庫安全之TDE列加密

TDE - 基於列的加密 由於有了Oracle的TDE-基於列的加密,你所要做的只是定義需要加密的列,Oracle將為包含加密列的表建立一個私密的安全加密金鑰,然後採用你指定的加密演算法加密指定列的明文資料。  這個加密,不需要我們寫特殊的程式碼,只要我們制定“需要加密的列”,當用戶插入下一行資料的時候,資料庫透明的加密資料然後儲存加密後的資料。當用戶讀取資料時,資料庫給我們自動解密,也不需要應用程式去修改任何程式碼。 1.保證資料庫相容版本高於10gSQL> show parameter compatible

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 11.2.0

2. 設定wallet的位置(在sqlnet.ora檔案中寫入如下內容,需要重啟資料庫才能生效):   指定 ENCRYPTION_WALLET_LOCATION 引數

[[email protected] admin]$ cat sqlnet.ora

#SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES)
ENCRYPTION_WALLET_LOCATION =
(SOURCE=
(METHOD=file)
(METHOD_DATA=
(DIRECTORY=/home/oracle/wallet)))

3)在指定(DIRECTORY路徑下建好wallet目錄。 不然報:ORA-28368: cannot auto-create wallet

[[email protected] ~]$ mkdir wallet

[[email protected] wallet]$ pwd

/home/oracle/wallet

4)在wallet裡面建立key

SQL> alter system set encryption key authenticated by "andy";

System altered.

5)建立一個表,對其中某列加密

SQL> create table andy.andy_tde(
id number(10) primary key,
col_tde varchar2(50) encrypt using 'AES192'
); 2 3 4

Table created.

說明:TDE支援的加密演算法:

3DES168 AES128  AES192(預設)  AES256

SQL> set linesize 300
SQL> select * from dba_encrypted_columns;

OWNER TABLE_NAME COLUMN_NAME ENCRYPTION_ALG
------------------------------ ------------------------------ ------------------------------ ------------------
ANDY ANDY_TDE COL_TDE AES 192 bits key

SQL> insert into andy_tde values (1,'tde');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from andy_tde;

ID COL_TDE
---------- ---------------------------------
1 tde

6)如果關閉wallet,無法訪問加密的資料:

SQL> alter system set wallet close identified by "andy";

System altered.

SQL> select * from andy_tde;
select * from andy_tde
*
ERROR at line 1:
ORA-28365: wallet is not open

7)重新開啟wallet,才可以訪問加密的資料

SQL> alter system set wallet open identified by "andy";

System altered.

SQL> select * from andy_tde;

ID COL_TDE
---------- ----------------------------
1 tde

相關推薦

資料庫安全TDE加密

TDE - 基於列的加密 由於有了Oracle的TDE-基於列的加密,你所要做的只是定義需要加密的列,Oracle將為包含加密列的表建立一個私密的安全加密金鑰,然後採用你指定的加密演算法加密指定列的明文資料。  這個加密,不需要我們寫特殊的程式碼,只要我們制定“需要加密的列”,當用戶插入下一行資料的時候

系統安全數據加密解密

數據加密解密1.為什麽要進行數據加密? 若不對數據加密,難免在進程間通信時,會有第三者竊聽甚至修改通信數據;因此為了更好的確保數據的機密性,完整性,需要對數據加密。2.加密方案組成 加密算法及協議 加密密鑰3.常用的數據加密算法 1.對稱加密算法: 特點:加密密鑰和解密密鑰相

網路安全 (非對稱加密、數字摘要、數字簽名、數字證書、SSL、HTTPS及其他)

對於一般的開發人員來說,很少需要對安全領域內的基礎技術進行深入的研究,但是鑑於日常系統開發中遇到的各種安全相關的問題,熟悉和了解這些安全技術的基本原理和使用場景還是非常必要的。本文將對非對稱加密、數字摘要、數字簽名、數字證書、SSL、HTTPS等這些安全領域內的技術進行一

Mysql資料庫安全連結和密碼加密方式及破解

使用SSL安全連結Mysql資料庫 一、使用SSL安全連線 To use SSL connections between the MySQL server and client programs, your system must support either Ope

以前寫的兩本書《安全路:Web滲透技術及實戰案例解析(第2版)》和《黑客攻防實戰加密與解密》

Web滲透技術及實戰案例解析 黑客攻防實戰加密與解密 應一些朋友的要求,我重新將書封面和購買地址發一下說明一下:www.antian365.com原來域名轉移到國外去了。現在國家對境外域名在國內訪問必須實名制,進行備份啥的,情況你懂的。最近正在制作《黑客攻防實戰加密與解密》的視頻課程,對黑客攻防過程遇

系統安全數據的加密和解密、CA的介紹、SSL或TLS協議簡介及握手過程

網絡運維 網絡通信需要安全 所謂的網絡通信就是進程與進程之間的通信 然而進程的通信一般可以分成兩類:1、同一主機之間的進程通信

web安全資料庫相關知識

web安全 MySQL注入常用函式 system_user() 系統使用者名稱 concat() 沒有分隔符地連線字串 user() 使用者名稱 concat_ws() 含有分隔符地連結字串 current_user() 當前使用者名稱

資料庫MySQL如何新增、刪除

文章目錄 新增/刪除 列 1. 新增單列 2. 新增多列:無法指定FIRST/AFTER、只能預設為最後方。 3. 刪除單列 4. 刪除多列 新增/刪除 列 1

資料庫MySQL表級約束與級約束是什麼?

表級約束與列級約束 表級約束與列級約束 (1)對一個數據列建立的約束,稱為列級約束 (2)對多個數據列建立的約束,稱為表級約束 (3)列級約束既可以在列定義時宣告,也可以在列定以後宣告 (4)表級約束只能在列定義後宣告 主鍵、外來鍵、非空、唯一、default都是約束條

資料庫MySQL如何修改定義?

如何修改列定義? 文章目錄 修改列定義兩種方法 modify change 修改列定義兩種方法 modify 語法: ALTER TABLE 表名 MODIFY 列名 資料型別 其他屬性 舉例:

java安全加密技術

加密方式 主要有:對稱加密演算法,基礎加密演算法,非對稱加密演算法。 一,對稱加密演算法 只有一個金鑰key進行加密解密,可以逆向加解密。 1.凱撒密碼 古代有名的加密演算法,將加密的資料進行一定的以為,屬於對稱加密,金鑰key = 2(int

安全加密演算法(-)

**目前各種系統,特別是政府和金融領域的系統對於系統的安全都是特別重視的,提到安全,不得不提加密演算法,提到加密演算法不得不提的兩種加密型別: 對稱加密和非對稱加密** 抄下百度吧: 對稱加密: 需要對加密和解密使用相同金鑰的加密演算法。由於其速度快

WebAPi介面安全公鑰私鑰加密

WebAPi使用公鑰私鑰加密介紹和使用 隨著各種裝置的興起,WebApi作為服務也越來越流行。而在無任何保護措施的情況下介面完全暴露在外面,將導致被惡意請求。最近專案的專案中由於提供給APP的介面未對介面進行時間防範導致簡訊介面被怒對造成一定的損失,臨時的措施導致PC和ap

移動安全修改加密帶sig簽名的APP資料包

現在越來越多的app應用都採取了加sig簽名的方法來防止自身的資料包在傳輸中被修改所以有時要測一個APP是否有邏輯問題,有時可能會變得棘手.因為每個APP的實現的sig演算法都不盡相同,要想成功的修改資料包再重新簽名,你可能會要先反編譯它,然後在找到sig演算法,有時可能運

WIFI安全測試WPS(PIN)加密暴力破解

前言 無線AP的接入驗證有很多種方式,家用無線路由器的驗證方式包括OPEN,WEP,WPA,WPA2,WPS的出現降低了接入驗證的複雜度,但是這種方式卻隱含帶來許多問題。 同時由於很早就入手了第一批WIFI安全測試資料,一直沒有機會進行實踐,老的本子正好可以

MongoDB安全實戰SSL協議加密

鄧開表同學實戰MongoDB系列文章,非常不錯,贊!大力推薦!本文主要講述MongoDB的SSL

安全路 —— 利用APC隊實現跨進程註入

single obj 介紹 自己 for call 經典的 rap wait 簡介 在之前的文章中筆者曾經為大家介紹過使用CreateRemoteThread函數來實現遠程線程註入,毫無疑問最經典的註入方式,但也因為如此,這種方式到今天已經幾乎被所有安全軟件所防禦。所以今

Java安全安全加密演算法

# Java安全之安全加密演算法 ## 0x00 前言 本篇文來談談關於常見的一些加密演算法,其實在此之前,對演算法的瞭解並不是太多。瞭解的層次只是基於加密演算法的一些應用上。也來淺談一下加密演算法在安全領域中的作用。寫本篇文也是基於演算法的應用和實現,也是我的基本原則,能用就行。 ## 0x01

web安全同源策略

rip 瀏覽器中 屬性。 名單 java get message 否則 cookie 為什麽使用同源策略?一個重要原因就是對cookie的保護,cookie 中存著sessionID 。如果已經登錄網站,同時又去了任意其他網站,該網站有惡意JS代碼。如果沒有同源策略,那麽這

數據結構

隊、順序隊列、循環隊列、鏈隊列 本來此篇是準備總結堆棧順序表的一些應用,但是覺得先接著上篇把隊總結完,然後再將應用總結。ok,廢話不多數,我們先來看隊定義: 和棧相反,隊列是一種先進先出的線性表。它只允許在表的一端進行插入,而在另一端刪除元素。這和我們日常生活中的排隊是一樣的,最早進入隊列