news 2026/8/11 19:37:58

燃气门站报警记录被静默篡改,透明加密怎么做到不停机、不改代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
燃气门站报警记录被静默篡改,透明加密怎么做到不停机、不改代码

一个问题:明文报警记录,谁能改、怎么防

某城燃集团 18 座门站/分输站的 SCADA 数据统一汇入集团监测数据库,一次内部安全检查发现:泄漏报警记录是明文存的——任何一个能连上数据库的人都能直接查看,甚至改掉一条报警记录。

检查结论写得很克制:报警记录缺少完整性保护,存在被静默篡改后无法追溯的风险。

这个问题本质上是存储层的信任问题:不是"谁有权限改"的问题,而是"改没改、谁改的、原始记录还在不在"——在明文数据库里,这些全都说不清。这也是为什么燃气门站这类工业 SCADA 系统的数据加密,核心验收项永远是"报警记录能不能被篡改"。

数据体量先看清:8.6 亿条,靠权限控制已经兜不住了

把集团监测库拆开看,四类数据:

数据类型累计数据量日均新增敏感级别
甲烷浓度采样(ppm)4.3 亿条(滚动保留30天)约 1200 万条
泄漏报警记录(时间/点位/级别)58 万条约 1600 条(含预警级)极高
压力/温度/流量运行参数3.6 亿条约 980 万条
门站视频与门禁事件65 万条约 2600 条

浓度采样这个量是怎么来的:全集团 2800 余路可燃气体检测点,每 20 秒轮询一次,一天约 1200 万条。四张表加起来约 8.6 亿条,全部明文落盘。数据量大到不能再靠"控制谁能登录"来兜底,只能靠存储层加密。

加密的三种做法,为什么多数人一开始选错

一说加密,第一反应是"应用层改代码"——往每个读写 SQL 里加解密函数。这条路改造的账通常这么算:

第1-2周 → 逐表梳理加密需求(监测库4类业务表、20+张物理表) 第3-6周 → 逐段SQL修改,加加解密函数(核心两张表的读写SQL涉及约800行) 第7-8周 → 全量回归测试,验证SQL执行计划不受影响 第9周 → 申请停机窗口,上线加密版本 ← 合计8周,停机1次

问题出在最后一步:要停机。门站 SCADA 是 7×24 生产监控系统,年度可用性要求不低于 99.9%。为加密停一次机,等于安全改造期间先放弃监测——燃气门站没法接受。

对比三种加密路线的实际差异:

对比维度应用层加密数据库内置加密驱动层透明加密(TDE)
是否改应用代码是,逐段SQL是,需表空间配置否,零改造
改造周期8周4周2-3周
是否停服上线否,在线加密
运维/DBA隔离无(DBA仍见明文)部分按PID控制,DBA不可见明文
性能影响5-15%5-10%< 3%
国密认证需自证需自证已获国密局认证

透明加密(TDE)的落地,完整 SQL

以燃气门站监测库为例,落地分三步走。

第一步:先扫敏感字段,别靠人肉翻表

在从库上跑一遍 KDPS 敏感字段扫描,把四类数据里的敏感字段清单自动拉出来(从库扫描不影响主库运行,全程约 1 小时)。靠人工逐张翻 20 多张物理表列"哪些字段该加密",既容易遗漏,验收时也说不清口径。

第二步:启用表级加密,一表一密

对每张核心表单独配置加密策略和密钥,在线加密不停机:

-- 泄漏报警表启用TDE加密(在线加密,不停机)EXECtde_enable_table_encryption@database_name='gas_station_leak',@table_name='t_leak_alarm',@encryption_algorithm='SM4_256',@key_id='tde_leak_alarm_key',@rotation_interval_days=90,@mode='online';

报警记录表单独一把密钥、独立轮换——因为敏感级别最高(极高),要单独审计。

第三步:存量数据渐进加密,不锁表

4.3 亿条存量浓度数据不可能一次性加密完。TDE 走渐进加密,凌晨窗口执行,加密 I/O 不超过总 I/O 的 30%,不锁表。加密进度可实时查:

SELECTtable_name,ROUND(encrypted_mb/NULLIF(total_mb,0)*100,1)ASprogress_pct,estimated_remaining_minutesFROMtde_catalog.encryption_progressWHEREdatabase_name='gas_station_leak'ANDstatus='in_progress';

密钥是怎么管的:三级体系 + 90 天轮换

加密不是配一次就完事,密钥的生成、轮换、销毁不管好,加密等于留后门。透明加密的密钥走三级体系:

  • 根密钥 KEK:存于 HSM 国密密码机,永不导出
  • 工作密钥 DEK:由 KEK 加密保护,数据库中存的是密文
  • TDE 密钥:由 DEK 派生,运行时加载到 TDE 过滤驱动

即使门站数据库服务器被攻破,攻击者拿到的也只是 DEK 密文,根密钥在硬件里出不来。轮换配置在线执行不停机,旧密钥保留到存量数据全部重新加密完成:

# KSP 自动轮换配置(90天,凌晨执行,在线轮换)curl-XPOST https://ksp.internal.gasgroup.cn/api/v1/keys/rotation-policy\-H"Authorization: Bearer <ksp_admin>"\-d'{ "key_id": "tde_leak_alarm_key", "rotation_interval_days": 90, "rotation_time": "02:00", "online_rotation": true }'

验收:三条 SQL 证明"真的防篡改了"

这是每个项目交付时被问得最多的问题,三条 SQL 当场可验:

-- 验证1:以数据库root身份直查泄漏报警表SELECT*FROMgas_station_leak.t_leak_alarmORDERBYalarm_timeDESCLIMIT10;-- 输出:密文(非授权进程不解密,DBA看不到明文)-- 验证2:以SCADA应用身份查同一张表SELECT*FROMgas_station_leak.t_leak_alarmWHEREalarm_level='HIGH'LIMIT10;-- 输出:明文(授权进程自动解密,业务照常)-- 验证3:查加密状态与进度SELECTtable_name,encryption_statusFROMtde_catalog.encryption_statusWHEREdatabase_name='gas_station_leak';

三条走完,"报警记录能不能被改"就有了确定答案:

  • 外部拖库→ 拿到的是密文,无用
  • 内部 DBA 直查→ 看到的是密文,改不了
  • 授权运行的燃气SCADA进程→ 正常读明文,业务无损

合规上对应什么

合规标准要求方案实现方式
等保2.0三级-数据保密性数据库加密存储驱动层SM4加密,DBA隔离
等保2.0三级-安全审计操作日志留存密钥轮换全链路审计日志
GB/T 39786-2021密码应用合规产品国密局认证,证书直接举证
《城镇燃气管理条例》燃气安全监测数据可追溯报警记录加密落盘+防篡改

对燃气门站这类"不能停、不能改代码"的 SCADA 系统,透明加密是唯一能同时满足零改造、不停机、DBA 隔离三条硬约束的路线。安当 TDE 数据库透明加密 + KSP 密钥管理就是为这类工业场景设计的,可提供完整落地支持。

文章作者:安当加密技术负责人

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/11 19:37:26

Visual Studio Dump文件生成与分析实战:从崩溃黑匣子到问题定位

1. 项目概述&#xff1a;为什么我们需要Dump文件&#xff1f;在软件开发&#xff0c;尤其是C、C#这类原生或托管代码的开发中&#xff0c;最让人头疼的问题莫过于程序在生产环境或测试环境中突然崩溃&#xff0c;留下一句“程序已停止工作”或者干脆悄无声息地退出。在开发者的…

作者头像 李华
网站建设 2026/8/11 19:36:36

大数据时代,谁来守护你的“数字隐私”?

大数据让生活更智能&#xff0c;也让个人隐私更脆弱。如何在享受便利的同时守住隐私边界&#xff0c;已成为全社会必须面对的课题。 政策加码&#xff0c;企业跟进 近日&#xff0c;中央网信办、工信部、公安部、国家标准委等四部门完成对10款网络产品的隐私条款评审。京东、支…

作者头像 李华
网站建设 2026/8/11 19:34:39

STM32CubeIDE_1.19.0_安装及STM32H745I固件包配置教程

STM32CubeIDE 1.19.0 安装及 STM32H745I 固件包配置教程 本教程详细介绍如何在 Windows 系统上下载安装 STM32CubeIDE 1.19.0&#xff0c;并配置 STM32H745I&#xff08;STM32H7 系列&#xff09;芯片固件包&#xff0c;从零搭建完整的 STM32H7 双核开发环境。 这个IDE编辑器和…

作者头像 李华
网站建设 2026/8/11 19:34:16

告别复杂HTTP操作!requests库POST请求实战指南

告别复杂HTTP操作&#xff01;requests库POST请求实战指南 【免费下载链接】requests A golang HTTP client library. Salute to python requests. 项目地址: https://gitcode.com/gh_mirrors/requests2/requests 在Go语言开发中&#xff0c;处理HTTP请求往往需要编写大…

作者头像 李华
网站建设 2026/8/11 19:32:26

金智农与渔德盛、渔可盛、鸿兰生物签约AI+新媒体年度陪跑

2026年7月7日&#xff0c;郑州金智农网络科技有限公司CEO王东杰&#xff08;阿杰老师&#xff09;带领助教团队&#xff0c;为渔德盛、渔可盛、鸿兰生物三家水产动保销售企业逾200名员工&#xff0c;开展为期一天的“水产行业专属AI实操训练营”中阶班内训。学员现场即制作出几…

作者头像 李华