当前位置: 首页 > news >正文

达梦数据库-数据库存储加密02-记录总结

1.1小总结

1数据库全库和REDO日志透明加密只能初始化时设置。
2表空间透明加密只能创建时设置 。
3表列透明加密,可以创建时设置,也可后期更改为透明加密,但是更改前的数据不加密,只对更改后插入数据加密。
4支持对存储过程等其它对象加密。
5表列半透明加密,半透明加密模式用户默认只能看到自己插入的数据。
6表列半透明加密,表列由不加密改为半透明加密,报错:第1行附近出现错误[-2704]:试图执行半透明加密表不支持的DDL。

本节主要介绍半透明加密和非透明加密。

接上节

1.2具体内容

1.2.2半透明加密

1.2.2.1用户半透明加密

创建用户时可以指定存储加密密钥,这个密钥就是为了进行半透明加密时使用的。如果在创建用户时并没有指定存储加密密钥,系统也会自动为用户生成一个默认的加密密钥。
示例:
create user "TEST3" identified by "HUN_admin2026" encrypt by "CSenc123";

1.2.2.2表列半透明加密

表列半透明加密设置如果在创建用户时并没有指定存储加密密钥,系统也会自动为用户生成一个默认的加密密钥。如果在创建表或修改表时指定对表列进行半透明加密,DM会使用用户的存储加密密钥对数据进行加密。

透明加密模式用户只能看到自己插入的数据。

CREATE TABLE TEST_ENCRYPT6(C1 INT, C2 INT ENCRYPTMANUAL);

CREATE TABLE TEST_ENCRYPT7(C1 INT, C2 INT ENCRYPT WITH SM4 MANUAL);

CREATE TABLE TEST_ENCRYPT8(C1 INT, C2 INT ENCRYPT WITH DES_ECB MANUAL HASH WITH MD5 SALT);

CREATE TABLE TEST_ENCRYPT9(C1 INT, C2 INT ENCRYPT MANUAL HASH WITH MD5 SALT);

示例1-创建表时设置

create tablespace TEST3 datafile 'test3.dbf' size 128 CACHE = NORMAL;

create user "TEST3" identified by "HUN_admin2026" encrypt by "CSenc123"

default tablespace "TEST3"

default index tablespace "TEST3";

grant "PUBLIC","RESOURCE","SOI" to TEST3;

(1)test3用户登录数据库创建表、插入数据、查询

disql test3/HUN_admin2026@192.168.118.236:5237

CREATE TABLE TEST_ENCRYPT1(C1 INT, C2 VARCHAR2(20) ENCRYPTMANUAL);

insert into TEST_ENCRYPT1 values(1,'TEST_ENCRYPT2');

commit;

select * from TEST_ENCRYPT1;

(2)查询表空间数据文件。

strings /data/dmdata/DAMENG/test3.dbf --密文

(3)其它用户插入数据并查询。

disql sysdba/HUN_admin2026@192.168.118.236:5237

insert into test3.TEST_ENCRYPT1 values(2,'TEST_ENCRYPT-sysdba');

commit;

select * from test3.TEST_ENCRYPT1;

(4)所属用户插入数据并查询。

disql test3/HUN_admin2026@192.168.118.236:5237

insert into TEST_ENCRYPT1 values(3,'TEST_ENCRYPT3');

commit;

select * from test3.TEST_ENCRYPT1;

drop table test3.TEST_ENCRYPT1;

示例2-修改表时设置

(1)test3用户登录数据库创建表、插入数据、查询

disql test3/HUN_admin2026@192.168.118.236:5237

CREATE TABLE TEST_ENCRYPT1(C1 INT, C2 VARCHAR2(20));

insert into TEST_ENCRYPT1 values(1,'TEST_ENCRYPT1');

commit;

select * from TEST_ENCRYPT1;

(2)查询表空间数据文件。

strings /data/dmdata/DAMENG/test3.dbf --明文

(3)修改表C2列为半透明加密--报错

alter table TEST3.TEST_ENCRYPT1 modify "C2" VARCHAR2(20) encrypt with "SM4_ECB" manual hash with "SM3" salt ;

​​​​​​​1.2.3透明加密

DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。

非透明加密通过用户调用存储加密函数来进行,DM 提供了一系列的存储加密函数,还提供了一个数据加密包DBMS_OBFUSCATION_TOOLKIT。

​​​​​​​1.2.4客体重用

数据库客体(主要指数据库对象、数据文件、缓存区)回收后不做处理,直接分配给新来的请求,但是有些窃密者会利用这一点编写特殊的非法进程通过数据库管理系统的内存泄露来获取数据库系统的信息。

DM 提供了客体重用安全功能。为防止非法进程利用数据库客体的内存泄露来攻击数据库,DM 主要从内存和文件两个方面进行了处理:

  1. 内存重用:DM 从系统分配内存及释放内存时均对内存内容进行清零,以保证不利用内存中前一进程所残留内容,且不泄漏 DM 的内容给其他进程。
  2. 文件重用:DM 在系统生成、扩展及删除文件时,对文件内容也进行了清零。

DM 提供了INI参数ENABLE_OBJ_REUSE用来控制是否启用客体重用功能,将该参数置为1表示启用客体重用,0 表示不启用,缺省为 0。

--查询当前设置

SELECT * FROM V$PARAMETER WHERE NAME='ENABLE_OBJ_REUSE';

--修改当前设置

SP_SET_PARA_VALUE(2,'ENABLE_OBJ_REUSE',0);

更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享

访问 https://eco.dameng.com/

http://www.jsqmd.com/news/706738/

相关文章:

  • 成都地区、H型钢、400X400X13X21、Q235B、包钢、现货批发供应 - 四川盛世钢联营销中心
  • 每日一学:设计模式之观察者模式
  • 从虚拟化到容器化:华为云弹性计算架构的演进与实践
  • 重庆二手房历史交易信息2015-2023年
  • R语言机器学习模型保存与部署实战指南
  • 2026就近回收技术解析:西餐厅回收/高价回收/上门回收/专业回收/中餐馆回收/二手货回收/厨房设备回收/奶茶店回收/选择指南 - 优质品牌商家
  • NVIDIA Nemotron 3架构解析:智能体AI与混合Mamba-Transformer MoE设计
  • RNN与LSTM:序列预测模型原理与实战技巧
  • 2026无纺布中药煎药袋标杆名录:水果果框套袋透气袋、汽车配件包装透气袋、热封款无纺布袋、缝纫款无纺布袋、蔬菜框套袋透气袋选择指南 - 优质品牌商家
  • 想给照片换背景底色?2026 年这几款工具+1 个微信小程序的搭配建议
  • RAGFlow · 第 3 章:第一节 RAGFlow 配置参数全景图与实验结论
  • 机器学习概率校准:原理与实践指南
  • Proxmox VE Ceph 超融合集群落地实战
  • 成都地区、H型钢、340X250X9X14、Q235B、包钢、现货批发供应 - 四川盛世钢联营销中心
  • 5分钟快速上手:崩坏星穹铁道游戏自动化脚本终极指南
  • 紧急预警:MCP 1.8+版本中隐藏的跨模态梯度坍塌风险(附3行代码热修复方案)
  • 商业航天与航空安全场景下抗辐射 MCU 选型、应用实践及发展趋势
  • 【紧急更新】VS Code 1.92+已默认启用MCP v2.1协议!你的插件生态是否已通过RFC-8921合规性审计?
  • Superpowers:可视化编排AI智能体,构建协作式应用开发平台
  • PyTorch实现逻辑回归:从原理到实战
  • LaVague:赋予大语言模型GUI操作能力的开源AI智能体框架
  • 10款机器学习运维(MLOps)工具实战指南
  • 智能结对编程工具the-pair:实时代码审查与AI辅助开发实践
  • 构建机器学习作品集:提升数据科学求职竞争力的关键策略
  • 利用Obsidian Local REST API构建可检索的AI对话知识库
  • 时间序列重采样与插值技术详解
  • DaVinci Linux驱动架构与优化实践
  • Docker + WASM边缘计算落地实战:5个被90%团队忽略的关键配置,今天必须改!
  • Jenkins EC2 Plugin实战:动态构建代理的弹性伸缩与成本优化
  • hcia第四次作业