当前位置:首页 > 行业动态 > 正文

密Oracle加密技术保护你的重要信息

Oracle加密技术是一种用于保护数据库中敏感信息的安全措施,它可以确保即使数据被盗或泄露,也无法被未经授权的人员解读,Oracle提供了多种加密技术,包括透明数据加密(TDE)、数据库加密、列加密等,本文将详细介绍这些技术,并提供一些实用的教学指南。

1、透明数据加密(TDE)

透明数据加密是Oracle提供的一种基于磁盘的加密技术,它可以在不修改应用程序的情况下对整个数据库进行加密,TDE使用服务器端的密钥来加密和解密数据,因此不需要在客户端安装任何额外的软件。

要使用TDE,首先需要创建一个密钥存储库,用于存储加密和解密所需的密钥,可以使用Oracle提供的默认密钥存储库,也可以创建自己的密钥存储库,接下来,需要在数据库中启用TDE,并为其分配一个密码,需要将需要加密的表空间添加到TDE策略中。

以下是创建密钥存储库和使用TDE的示例:

创建密钥存储库
CREATE KEYSTORE my_keystore
    WITH ENCRYPTION BY PASSWORD 'my_password'
    UNLIMITED ACCESS;
启用TDE
ALTER DATABASE ENABLE EDITIONING ON;
ALTER DATABASE ADD EDITION TO MY_TABLESPACE USING MY_KEYSTORE;

2、数据库加密

数据库加密是一种用于保护数据库中的敏感数据的技术,它使用服务器端的密钥对数据进行加密和解密,与TDE不同,数据库加密需要修改应用程序以使用加密的数据。

要使用数据库加密,首先需要在数据库中启用数据库加密功能,需要为每个需要进行加密的表空间创建一个加密区域,需要修改应用程序以使用加密的数据。

以下是启用数据库加密和创建加密区域的示例:

启用数据库加密
ALTER SYSTEM SET DB_BLOCK_CHECKING = OFF SCOPE=SPFILE;
ALTER SYSTEM SET DB_CREDENTIAL_REUSE = FALSE SCOPE=SPFILE;
ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata/ORCL/dbfileencrypt' SCOPE=SPFILE;
ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_1='location=/u01/app/oracle/oradata/ORCL/redolog' SCOPE=SPFILE;
ALTER SYSTEM SET DB_DOMAIN = 'ORCL' SCOPE=SPFILE;
ALTER SYSTEM SET DB_FIREWALL = ON SCOPE=SPFILE;
ALTER SYSTEM SET DB_NAME = 'orcl' SCOPE=SPFILE;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/app/oracle/oradata/ORCL/fast_recovery_area' SCOPE=SPFILE;
ALTER SYSTEM SET DB_RECOVERY_PARAMETERS='DB_RECOVERY_FILE_DEST=/u01/app/oracle/oradata/ORCL/fast_recovery_area' SCOPE=SPFILE;
ALTER SYSTEM SET DB_RECOVERY_TIME = 0 SCOPE=SPFILE;
ALTER SYSTEM SET DB_UNIQUE_NAME = 'orcl' SCOPE=SPFILE;
ALTER SYSTEM SET FGA_MAXMEMSIZE = '4G' SCOPE=SPFILE;
ALTER SYSTEM SET FGA_MEMSIZE = '2G' SCOPE=SPFILE;
ALTER SYSTEM SET ORACLE_HOME = '/u01/app/oracle/product/11.2.0/dbhome_1' SCOPE=SPFILE;
ALTER SYSTEM SET ORACLE_SID = 'orcl' SCOPE=SPFILE;
ALTER SYSTEM SET SQLNET_EXPIRE_TIME = 86400 SCOPE=SPFILE;
ALTER SYSTEM SET SQLNET_INBOUND_CONNECT_TIMEOUT = 30 SCOPE=SPFILE;
ALTER SYSTEM SET SQLNET_LOGIN_TIMEOUT = 180 SCOPE=SPFILE;
ALTER SYSTEM SET SQLNET_OUTBOUND_CONNECT_TIMEOUT = 30 SCOPE=SPFILE;
ALTER SYSTEM SET X$KSMXPI = 'TRUE' SCOPE=SPFILE;
GRANT CONNECT, RESOURCE TO c##myuser IDENTIFIED BY mypassword;
GRANT ALTER ANY DICTIONARY TO c##myuser IDENTIFIED BY mypassword;
GRANT ALTER ANY PROCEDURE TO c##myuser IDENTIFIED BY mypassword;
GRANT ALTER ANY SEQUENCE TO c##myuser IDENTIFIED BY mypassword;
GRANT ALTER ANY TRIGGER TO c##myuser IDENTIFIED BY mypassword;
GRANT ALTER ANY TYPE TO c##myuser IDENTIFIED BY mypassword;
GRANT ALTER ANY VOLATILE PROCEDURE TO c##myuser IDENTIFIED BY mypassword;
GRANT AUDIT ANY TO c##myuser IDENTIFIED BY mypassword;
GRANT CONNECT, RESOURCE, DBA TO c##myuser IDENTIFIED BY mypassword;
GRANT FLASHBACK ARCHIVE ADMINISTRATOR TO c##myuser IDENTIFIED BY mypassword;
GRANT FLASHBACK ARCHIVE DEVICE ADMINISTRATOR TO c##myuser IDENTIFIED BY mypassword;
GRANT FLASHBACK ARCHIVE OPERATOR TO c##myuser IDENTIFIED BY mypassword;
GRANT FLASHBACK ARCHIVE PRIVILEGES TO c##myuser IDENTIFIED BY mypassword;
GRANT IMPLICIT CRUD DML ON SCHEMA Cmyschema TO cmyuser IDENTIFIED BY mypassword;
GRANT QUOTA ON Cmyschema TO cmyuser IDENTIFIED BY mypassword;
GRANT UNLIMITED TABLESPACE TO c##myuser IDENTIFIED BY mypassword;
GRANT UNLIMITED UTL_TCP TO c##myuser IDENTIFIED BY mypassword;
GRANT WAIT ON SEQUENCE Cmyschema.MYSEQUENCE TO cmyuser IDENTIFIED BY mypassword;
创建加密区域
CREATE CLUSTER MyEncryptedData (ENCRYPTED) DENSITY FACTOR 16 KEEP PHYSICAL NODES NODES ALL NODES; NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密区域;ALL NODES表示所有节点都不参与加密区域;NODES ALL NODES表示所有节点都参与加密区域;NODES表示只有指定的节点参与加密
0