注册
加密传输参数COMM_ENCRYPT_NAME验证
专栏/技术分享/ 文章详情 /

加密传输参数COMM_ENCRYPT_NAME验证

Ma- 2025/08/29 9 0 0
摘要

加密传输参数COMM_ENCRYPT_NAME验证


一 参数概况

参数功能
COMM_ENCRYPT_NAME 用于控制应用层消息通信加密:指定加密算法名后,客户端与服务器之间的消息包将加密传输。


参数取值与默认值

取值 含义
空字符串 不启用应用层加密(默认值)
有效算法名 启用加密(如 RC4, AES256CBC 等)
无效算法名 自动使用默认算法 DESCFB(需确保 DESCFBV$CIPHERS 中存在)

注:有效算法名需满足:

  1. 在动态视图 V$CIPHERS 中存在;
  2. 算法类型为分组加密(CYTTYPE=1)或流加密(CYTTYPE=2);
  3. 非填充模式(WORKMODE 不能为 ECBNOPADCBC_NOPAD)。

二 参数配置

  1. 查询支持的加密算法
SELECT CYT_NAME FROM V$CIPHERS WHERE (CYT_TYPE=1 OR CYT_TYPE=2) AND WORK_MODE NOT IN ('ECBNOPAD', 'CBC_NOPAD');

常见算法:RC4AES256CBCDES_CFB 等。

  1. 修改参数值
-- 示例:启用 RC4 加密 SF_SET_SYSTEM_PARA_VALUE('COMM_ENCRYPT_NAME', 'R4', 1, 2);

关键说明:

  • 此为静态参数,需重启数据库生效。
  • 若算法名错误(如拼写错误),系统自动使用 DES_CFB
  1. 验证配置
SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME = 'COMM_ENCRYPT_NAME';
  1. 重启数据库服务
[dmdba@dj01 ~]$ cd $DM_HOME/bin [dmdba@dj01 bin]$ ./DmServiceDMSERVER restart Stopping DmServiceDMSERVER: [ OK ] Starting DmServiceDMSERVER: [ OK ]

三 验证加密

验证通信加密生效的方法

  1. 网络抓包对比分析
    工具准备:
    Linux:tcpdumpyum install tcpdump
    Windows:Wireshark

操作步骤:

1. 未加密环境抓包:

SF_SET_SYSTEM_PARA_VALUE('COMM_ENCRYPT_NAME', 'NULL', 1, 2); ---调整为不加密模式 ----重启数据库服务 DmServiceDMSERVER restart

验证数据库加密类型

SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME = 'COMM_ENCRYPT_NAME';

当前无加密参数
image.png

使用tcpdump进行抓取
image.png
创建测试表和测试数据,同时查看tcpdump抓取信息
image.png

结果:抓包数据可见明文SQL语句
image.png

2. 启用加密后抓包:

SF_SET_SYSTEM_PARA_VALUE('COMM_ENCRYPT_NAME', 'RC4', 1, 2); ---调整为加密模式 ----重启数据库服务 DmServiceDMSERVER restart

验证数据库加密类型

SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME = 'COMM_ENCRYPT_NAME';

加密类型调整为RC4
image.png

创建测试表和测试数据,同时查看tcpdump抓取信息
image.png
结果:抓包数据显示乱码或密文(如[,[\mI,j!BJ3823]),无SQL明文。
image.png

四 验证结论:

对比两次抓包结果,加密后数据包内容不可读(非明文),通信加密生效。


评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服