什么时候会用到透明加密表空间呢?

最近ISO20000随着和煦的春风吹遍各家公司,作为传统行业的金融系统自然躲不开这一轮折腾。

在金融系统对数据库安全有着明确的规范,例如:

数据保密性
本项评价指标包括:
——应采用加密或其他有效措施实现系统管理数据、鉴别信息和重要业务数据传输保密性;

——应采用加密或其他保护措施实现系统管理数据、鉴别信息和重要业务数据存储保密性。


这个需求从数据库和应用程序两方面都可以实现,对于数据库运维方面可以使用透明加密的技术来实现。这个技术平时很少用到,下面是根据官方文档中的描述整理出来的步骤,当有业务需求时可以参考。

为了使用透明数据加密,首先指定一个wallet路径并且设置一个秘钥,步骤如下:
1. 在sqlnet.ora文件中指定一个wallet路径
2. 创建主秘钥
3. 开启wallet
4. 创建表空间

下面看具体步骤
1.在$ORACLE_HOME/network/admin路径下编辑sqlnet.ora文件,添加下面的语句,将wallet路径设置到/home/oracle
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(/home/oracle)))

2. 创建主秘钥
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "oracle";

3. 当数据库关闭时wallet也会随之关闭。在这一步手工开启wallet
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "oracle";

4. 创建加密表空间后,在该表空间中创建的表默认支持加密功能。
CREATE TABLESPACE sec_tbs
DATAFILE '/oradata/sec_tbs01.dbf'
SIZE 100M
ENCRYPTION
DEFAULT SOREAGE(ENCRYPT);

5. 在加密表空间上创建表,不再需要特别指定加密语法
CREATE TABLE sec_tab
(id INT, name VARCHAR2(10))
TABLESPACE sec_tbs;

6. 查看表空间加密方式
SELECT tablespcae_name,status,encrypted
FROM dba_tablespaces
WHERE tablespace_name='SEC_TBS';

这个做法也有个隐患,就是wallet文件。该文件就是密码本,如果丢失了或者损坏了密码本,加密后的数据就无法解密了,所以注意保护好该文件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29047826/viewspace-1473689/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29047826/viewspace-1473689/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值