在Ubuntu上實現Oracle數據庫數據加密,可采用以下方式:
透明數據加密(TDE)
$ORACLE_HOME/network/admin/sqlnet.ora中指定錢包路徑,創建錢包并設置密碼。mkdir -p /u01/app/oracle/admin/ORCL/wallet
orapki wallet create -wallet /u01/app/oracle/admin/ORCL/wallet -pwd "WalletPassword"
CREATE TABLESPACE secure_ts DATAFILE '/u01/oradata/ORCL/secure01.dbf' SIZE 100M
ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);
列級加密(TDE)
ALTER TABLE修改現有列。CREATE TABLE sensitive_data (id NUMBER, ssn VARCHAR2(11) ENCRYPT);
使用DBMS_CRYPTO包(應用層加密)
DECLARE
l_key RAW(128) := UTL_RAW.CAST_TO_RAW('MySecretKey');
l_data RAW(2000) := UTL_RAW.CAST_TO_RAW('Sensitive Data');
l_encrypted RAW(2000);
BEGIN
l_encrypted := DBMS_CRYPTO.ENCRYPT(l_data, DBMS_CRYPTO.AES256_CBC_PKCS5, l_key);
END;
注意事項:
參考來源: