暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

磐维数据库透明加密本地测试

wzg 2025-12-06
143

本文在磐维数据库3.2.0版本测试TDE软加密的使用过程,生产环境需要结合加密机使用。

1.准备主密钥

本地测试直接使用软算法:

echo -n "12345678abc@2025" | base64

得到base64加密24位长度的主密钥:MTIzNDU2NzhhYmNAMjAyNQ==

2.修改磐维数据库配置文件postgresql.conf

文件末尾增加:

enable_tde=on

3.启动数据库

gs_ctl start

启动过程中会提示输入master key
image.png

这里要输入的就是我们第一步准备的主密钥:MTIzNDU2NzhhYmNAMjAyNQ==

4.创建加密表进行安全验证

建表时需要设置enable_tde=on,建立tde联系,加密算法可选AES或者SM4

create table test1(id int,name text default 'testkoalkms') with(enable_tde=on,encrypt_algo='AES_128_CTR'); create table test2(id int,name text default 'testkoalkms') with(enable_tde=on,encrypt_algo='SM4_CTR');

接着插入两条数据

insert into test1 values(100,'PanWeiDB'); insert into test2 values(200,'panweidb'); checkpoint;

此时使用strings命令查看表存储的数据文件,不会显示明文

=# select pg_relation_filepath('test1'); pg_relation_filepath ---------------------- base/17249/17251 (1 row) =# select pg_relation_filepath('test2'); pg_relation_filepath ---------------------- base/17249/17258 (1 row) $ strings base/17249/17251 &?s}h .x5mrTfk2NUtpTrL6NRezE39sELMCMP8wYK0anOpbkP8= %$'J $ strings base/17249/17258 +D45 I11txTxUyVVJ5iMuH0+BngZ4MfcbZgceylefAl1TKWM=

可以继续对表做DML操作来进一步验证。

最后修改时间:2025-12-06 10:59:08
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论