电力系统如何防“明文传输”?某电网公司用SM2+UKey构建“端到端加密”实战

标签:#电力安全 #SM2 #UKey #数据加密 #国密算法 #等保三级 #信创


一、背景:客户身份证号在浏览器里明文显示?

我们是某省级电网公司,运行着一套 B/S 架构的 客户信息与用电管理系统。业务人员通过浏览器访问系统,查询:

  • 客户身份证号;
  • 银行账号;
  • 用电明细;
  • 计量点坐标等高敏感数据。

但审计发现一个严重问题:

当用户打开页面时,敏感字段在浏览器开发者工具中以明文形式暴露

这意味着:

  • 如果攻击者劫持网络,可直接窃取数据;
  • 内部人员可通过 F12 查看完整信息;
  • 不满足《网络安全法》第40条:"采取监测、记录网络运行状态的技术措施"。

更糟的是,系统原生未支持加密传输

🚨 我们需要一种 不改后台代码、不依赖HTTPS、能适配国产环境 的加密方案。


二、破局思路:构建"服务端加密---安全传输---前端解密"的闭环

我们提出一个轻量级方案:

在服务端对敏感字段加密,在客户端由 UKey 解密,全程无明文暴露

核心技术路径:

  • 服务端使用 SM2 公钥加密 敏感字段;
  • 客户端通过 UKey 存储私钥,本地解密;
  • 所有操作基于国密算法,满足信创与密评要求。

✅ 核心优势:

  • 不修改应用代码;
  • 支持国产化环境(麒麟OS + 飞腾CPU + 莲花浏览器);
  • 实现"可信赖验证"------仅授权用户可见明文。

三、技术实现:四步构建端到端加密体系

步骤1:统一密钥与证书签发(KSP 平台核心)

部署 KSP 密钥管理平台,实现:

  • 所有授权用户配备经认证的 国密 SM2 算法智能 UKey
  • 用户首次注册时,系统调用 KSP 平台,为该 UKey 签发 唯一身份证书(含公私钥对);
  • 私钥安全写入 UKey 芯片,不可导出;
  • 公钥同步至应用系统的用户安全档案;
  • KSP 集中管理证书生命周期(签发、更新、吊销),满足"可信验证"要求。

💡 关键点

  • 证书由 KSP 统一签发,防止私钥泄露;
  • 支持 OCSP/CRL 在线检查证书有效性。

步骤2:服务端加密敏感字段

当用户请求数据页面时,后端应用执行以下流程:

text 复制代码
1. 后端从 KSP 获取当前用户的 SM2 公钥;
2. 对响应中的敏感字段(如身份证、银行账号)使用该公钥进行非对称加密(SM2);
3. 生成密文;
4. 密文通过 HTTPS 通道传输至浏览器。

🔐 效果

即使网络被监听,攻击者也无法解密内容。


步骤3:浏览器端 UKey 驱动解密(前端安全呈现)

前端集成 Web 前端密码中间件(支持国密标准,兼容主流国产浏览器):

text 复制代码
1. 页面加载时,中间件自动检测 UKey 插入状态;
2. 若 UKey 有效且用户有权限,则调用其内置私钥对密文进行本地解密;
3. 解密后的明文仅在受控 DOM 区域短暂显示;
4. 私钥永不离开 UKey,JavaScript 无法访问。

安全设计

  • 明文只存在于内存,且生命周期极短;
  • 一旦 UKey 拔出或证书失效,敏感字段立即显示为 ***

步骤4:安全日志与审计追溯

  • 所有加密/解密操作日志由 KSP 记录;
  • 支持审计追踪:谁在何时解密了什么数据;
  • 方案完全基于 国密算法(SM2/SM4),适配信创环境。

四、系统架构图(手绘风格示意)

plaintext 复制代码
[用户] → [浏览器客户端]
               ↓
       [UKEY驱动 + Web密码中间件]
               ↓
   [HTTPS传输:密文(SM2加密)]
               ↓
      [服务端:KSP获取公钥 → 加密敏感字段]
               ↓
    [KSP证书签发系统]
               ↑
         [OCSP/CRL检查]
               ↑
       [ASP身份认证系统]

📌 关键组件说明

  • KSP:密钥与证书管理中心;
  • UKey:国密 SM2 智能令牌,私钥不可导出;
  • Web 中间件:前端加密解密代理,支持国产浏览器;
  • ASP:身份认证系统,提供用户权限校验。

五、实施效果:从"高风险"到"合规标杆"

维度 改造前 改造后
敏感字段传输 明文暴露 全程加密,无明文
审计能力 无操作日志 KSP 记录加密/解密行为
合规水平 不达标 满足等保三级 + 密评
信创适配 不支持 兼容麒麟OS + 飞腾CPU
运维成本 高(需改造代码) 低(无需改后台)

💡 成果

  • 获评"省级电力系统安全示范项目";
  • 全省 8 个地市推广复制。

六、为什么适合电力行业?

该方案特别适用于:

  • 使用 B/S 架构系统 的电力、能源、金融等行业;
  • 需要保护 身份证、银行账号、地理坐标 等高敏感数据;
  • 正在推进 信创替代(国产芯片 + 操作系统);
  • 必须满足 国密算法、等保三级、密评 要求。

互动话题

你们公司的敏感数据是如何传输的?

是否遇到过"明文暴露"风险?

欢迎评论区交流你的"数据加密实践"!
参考资料

  • GB/T 22239-2:2019《网络安全等级保护基本要求》
  • GM/T 0009-2012《SM2 密码算法》
  • 《电力监控系统安全防护规定》(国家能源局)

相关推荐
jiayou643 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData15 小时前
NineData 迁移评估功能正式上线
数据库·dba
用户9623779544820 小时前
DVWA 靶场实验报告 (High Level)
安全
NineData20 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码