电力系统如何防“明文传输”?某电网公司用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 密码算法》
  • 《电力监控系统安全防护规定》(国家能源局)

相关推荐
cui_ruicheng4 小时前
MySQL(四):数据类型与字段设计
数据库·mysql
皮皮学姐分享-ppx5 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
HackTwoHub5 小时前
最新Nessus2026.6.8版本主机漏洞扫描/探测工具Windows/Linux
linux·运维·服务器·安全·web安全·网络安全·安全架构
QWEDDRFTG5 小时前
C13/C19怎么选?服务器电源线电流与接口选型技巧
服务器
云栖梦泽在6 小时前
AI安全专项:AI人脸识别的安全风险与防护
人工智能·安全
闪电悠米7 小时前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
DIY源码阁7 小时前
JavaSwing航班订票管理系统 - MySQL版
数据库·mysql
QWEDDRFTG8 小时前
服务器电源线怎么选?接口、电流、线径、认证一次讲清
服务器
QYR-分析8 小时前
智能周界监控系统:构筑数字时代立体化安全防线
安全
HavenlonLabs8 小时前
硬件 + SaaS 产品的工程化路径:从系统架构、PCB 设计到工程样机
网络·安全·架构·系统架构·安全架构