当前位置: 首页 > 书屋 > 正文

透明加密 处于主库打开状态

作者:admin 发布时间:2023-11-16 20:09:06 分类:书屋 浏览:69


数据库的存储加密,主要是为了防止用户可以直接对数据数据进行解析获取数据库的用户信息,它是一种有效的安全手段。

在达梦数据库中提供了非常全面的数据加密的功能,主要包括透明加密、半透明加密和非透明加密。

这里,我们来重点看看什么是透明加密。

#DM数据库专栏#

我们先来看看达梦数据库中关于透明加密的描述:

在透明加密中,密钥生成、密钥管理和加解密过程由数据库管理系统自动完成,用户不可见。

透明加密的加密和解密过程对用户来说就是透明的,用户读写数据非常方便,和读写非加密数据完全一样。

透明加密的目的主要是保证存储在数据文件中的敏感数据的安全,并不能保护合法用户的个人私密数据。

系统内置了常用的 DES,AES,RC4 等类型的加密算法,以此来保护数据的安全性。

简单来说,就是透明加密更多是保证存储在数据文件中数据的安全,对于数据库的用户来说,整个加密、解密以及相关密钥的管理等是有数据库系统自己完成的,不需要要干预,对于用户来说是不可见的。

用户在数据库的使用中,透明加密和不加密状态下使用数据库读取数据、修改数据等一系列操作时没有任何变化的。

达梦数据库提供了多种类型的加密算法,包括DES、AES、RC4等,对于国密的算法也是支持的,具体的加密算法可以在达梦数据库中查询V$CIPHERS视图获取,当然也支持第三方的加密算法,不过需要提前按要求加载到达梦数据库中,这里就不详细介绍了。

达梦数据库的透明加密支持包括全库加密、表空间透明加密、表列透明加密以及其他数据库对象加密,具体的语法定义可以参考达梦在线服务平台中的《DM8_SQL语言使用手册》。

这里小编以表列的透明加密和半透明加密为例为大家演示以下透明加密。

--1、登录达梦数据库

[dmdba@dmdsc01 bin]$ ./disql

disql V8

用户名:

密码:

服务器[LOCALHOST:5236]

登录使用时间 : 1.654(ms)

--2、创建ENCRYPT1 和ENCRYPT2的两个用户,都给dba权限

SQL> CREATE USER ENCRYPT1 IDENTIFIED BY 123456789;

操作已执行

已用时间: 199.200(毫秒). 执行号:102100.

SQL> CREATE USER ENCRYPT2 IDENTIFIED BY 123456789;

操作已执行

已用时间: 5.141(毫秒). 执行号:102101.

SQL> GRANT DBA TO ENCRYPT1,ENCRYPT2;

操作已执行

已用时间: 4.913(毫秒). 执行号:102102.

--3、连接ENCRYPT1 的用户

SQL> CONN ENCRYPT1/123456789

服务器[LOCALHOST:5236]

登录使用时间 : 1.308(ms)

SQL> SELECT USER;

行号 USER()

---------- --------

1 ENCRYPT1

已用时间: 0.982(毫秒). 执行号:105500.

--4、在ENCRYPT1 用户中创建测试表B列采用半透明加密,C列采用透明加密

SQL> CREATE TABLE ENCRYPT_T0 (A INT,B VARCHAR2 ENCRYPT WITH DES_ECB MANUAL,C VARCHAR2 ENCRYPT WITH DES_ECB);

操作已执行

已用时间: 52.011(毫秒). 执行号:105501.

SQL> INSERT INTO ENCRYPT_T0 VALUES(1,'半透明加密测试','半透明加密测试');

影响行数 1

已用时间: 0.949(毫秒). 执行号:105502.

SQL> commit;

操作已执行

已用时间: 2.666(毫秒). 执行号:105503.

SQL>

SQL> SELECT * FROM ENCRYPT_T0;

行号 A B C

---------- ----------- --------------------- ---------------------

1 1 半透明加密测试 半透明加密测试

已用时间: 1.040(毫秒). 执行号:264802.

SQL>

--5、使用ENCRYPT2查看ENCRYPT1插入的数据

SQL> CONN ENCRYPT2/123456789

服务器[LOCALHOST:5236]

登录使用时间 : 1.481(ms)

SQL> SELECT USER;

行号 USER()

---------- --------

1 ENCRYPT2

已用时间: 0.838(毫秒). 执行号:126800.

SQL> SELECT * FROM ENCRYPT1.ENCRYPT_T0;

行号 A B C

---------- ----------- ---- ---------------------

1 1 NULL 半透明加密测试

已用时间: 0.466(毫秒). 执行号:275200.

SQL>

通过上述实验,我们可以看到,采用透明加密的列对于用户来说基本没什么变化,区别于半透明加密,半透明加密中用户只能查看自己插入的数据。

这里大家只需要把握住一点,透明加密针对的是数据文件的安全,对于用户来说对数据库的操作与非加密情况下无差异。

存储加密在保证数据文件安全性的同时,也会带来一定的性能影响,不同的加密算法对性能的影响各有不同,用户需要根据自己的需求来决定是否进行加密以及加密算法的选择。

以上就是关于达梦数据库存储加密的透明加密的具体介绍了,感兴趣的大家可以自己实验,如果本地没环境,可以到达梦在线服务平台中的实验室直接试玩。


标签:加密透明用户


最新推荐

关灯