Oracle Data Redaction数据加密

上传人:m**** 文档编号:71534472 上传时间:2019-01-21 格式:DOCX 页数:26 大小:30.91KB
返回 下载 相关 举报
Oracle Data Redaction数据加密_第1页
第1页 / 共26页
Oracle Data Redaction数据加密_第2页
第2页 / 共26页
Oracle Data Redaction数据加密_第3页
第3页 / 共26页
Oracle Data Redaction数据加密_第4页
第4页 / 共26页
Oracle Data Redaction数据加密_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《Oracle Data Redaction数据加密》由会员分享,可在线阅读,更多相关《Oracle Data Redaction数据加密(26页珍藏版)》请在金锄头文库上搜索。

1、Oracle Data Redaction数据加密1.Oracle Redaction概述Oracle Data Redaction是Oracle安全加密类的高级功能,可用于对于敏感数据的加密处理,加密配置处理均在Oracle层面实现。这是一项和安全相关的技术类别,对于指定的用户可以限制某些表的某些列显示被加密改过的值。对于Redaction之前,可能需要自定义加密函数、创建特定的视图,或者在存储到数据库的时候就用加密算法进行加密。而Redaction可以直接对数据进行加密,不会影响到数据真实的存储,对应用透明,不需要改动。对于权限,Redaction不能对sys和system用户进行数据的加

2、密。因为他们都有EXP_FULL_DATABASE这个角色,而这个角色又包含了EXEMPT REDACTION POLICY系统权限。同时,也不能直接赋予用户dba权限,dba自动包含EXP_FULL_DATABASE角色。测试过程中发现,对于拥有dba权限的用户来说,表的数据可以加密操作,但没有实际加密效果。对于常用的加密类型说明如下:1.Full redaction:对某字段数据全部加密,number类型的列将全部返回为0,character类型的列将全部返回为空格,日期类型返回为yyyy-mm-dd;2.Partial redaction:对列中的一部分数据进行redact,比如,可以对

3、身份证号或手机号的中间几位设置返回为*,剩下的几位保持不变,这种场景适用于固定长度;3.Regular expressions:对于非固定长度的character类型数据进行部分加密;4.Random redaction:随机加密,每次展现的加密结果是不一定一样;本次加密测试环境介绍信息如下:OS版本Oracle版本是否RACRHEL6.511.2.0.4.170418是2. Oracle Redaction加密测试2.1环境测试准备本次只模拟几种常用加密场景,创建用户、表,并赋予相应权限;若无特殊说明时,调用DBMS_REDACT所使用的均为zhangxg用户。SQL create user

4、 zhangxg identified by zhangxg;User created.SQLgrant connect,resource to zhangxg;Grant succeeded.SQL grant select on sys.redaction_policies TO zhangxg;Grant succeeded.SQL grant select on sys.redaction_columns TO zhangxg;Grant succeeded.SQL grant execute on dbms_redact TO zhangxg;Grant succeeded.SQL

5、create user nosee identified by zhangxg;User created.SQL grant connect,resource to nosee;Grant succeeded.SQL CREATE TABLE ZHANGXG.TAB1 ( 2 EMPLOYEE_ID NUMBER(6,0), 3 FIRST_NAME VARCHAR2(20), 4 LAST_NAME VARCHAR2(25), 5 SOCIAL_SECURITY VARCHAR2(11), 6 SALARY NUMBER(4,0) 7 );Table created.SQL insert i

6、nto tab1 values (100,steven,king,247-85-9056,7000);1 row created.SQL insert into tab1 values (101,neena,kochhar,334-08-6578,5000);1 row created.SQL commit;commit complete.SQL grant select on zhangxg.tab1 to nosee;grant succeeded.SQL select * from tab1;EMPLOYEE_ID FIRST_NAME LAST_NAME SOCIAL_SECU SAL

7、ARY- - - - - 100 Steven King 247-85-9056 7000 101 Neena Kochhar 334-08-6578 50002.2对表的某些字段加密调用DBMS_REDACT包创建policy策略 http:/SQL BEGIN 2 DBMS_REDACT.ADD_POLICY ( 3 object_schema = ZHANGXG, 4 object_name = TAB1, 5 policy_name = REDACT_1, 6 column_name = SOCIAL_SECURITY, 7 function_type = DBMS_REDACT.PA

8、RTIAL, 8 EXPRESSION =1=1, 9 function_parameters = VVVFVVFVVVV,VVV-VV-VVVV,*,1,510 );11 END;12 /PL/SQL procedure successfully completed.SQLSQL select * from tab1;EMPLOYEE_ID FIRST_NAME LAST_NAME SOCIAL_SECURITY SALARY- - - - - 100 Steven King *-*-9056 7000 101 Neena Kochhar *-*-6578 5000SQL SQL conn

9、nosee/zhangxgConnected.SQLSQL select * from zhangxg.tab1;EMPLOYEE_ID FIRST_NAME LAST_NAME SOCIAL_SECU SALARY- - - - - 100 Steven King *-*-9056 7000 101 Neena Kochhar *-*-6578 5000基于某列加密的基础上,再增加一个乱码显示的列,即多列加密显示SQL BEGIN 2 DBMS_REDACT.ALTER_POLICY( 3 object_schema = ZHANGXG, 4 object_name = TAB1, 5 po

10、licy_name = REDACT_1, 6 action = DBMS_REDACT.ADD_COLUMN, 7 column_name = LAST_NAME, 8 function_type = DBMS_REDACT.RANDOM); 9 END;10 /PL/SQL procedure successfully completed.SQL select * from tab1;EMPLOYEE_ID FIRST_NAME LAST_NAME SOCIAL_SECU SALARY- - - - - 100 Steven K5r. *-*-9056 7000 101 Neena ymP

11、Ea *-*-6578 5000SQL conn nosee/zhangxgConnected.SQL select * from zhangxg.tab1;EMPLOYEE_ID FIRST_NAME LAST_NAME SOCIAL_SECU SALARY- - - - - 100 Steven YZ$z *-*-9056 7000 101 Neena HSTk5l *-*-6578 50002.3Redaction的权限控制对于权限的控制,我们可以直接选择用户去过滤,但用户过多时可以使用role来进行权限的控制。http:/www.f-1.ccnosee用户看到的结果也是加密的SQL show userUSER is ZHANGXGSQLSQL select * from tab1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号