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

相关推荐
石像鬼₧魂石2 小时前
Kali Linux 内网渗透:深度工程实施手册
linux·运维·服务器
BD_Marathon2 小时前
动态SQL(六)foreach标签2
数据库·sql
小豪GO!2 小时前
数据库-八股
数据库
IT大白2 小时前
1、一条SQL是如何执行的
数据库·sql
变身缎带2 小时前
Unity里基于Luban的buff系统
数据库·unity·游戏引擎
北京地铁1号线2 小时前
2.2 向量数据库
数据库·elasticsearch·milvus·faiss·向量数据库·hnsw
悟能不能悟2 小时前
查找oracle,存储过程包含某个单词的存储过程名称
数据库·oracle
sunlifenger2 小时前
上海兆越人员定位系统,多元技术赋能,精准守护工业安全
网络·人工智能·安全
马克学长2 小时前
SSM学生综合考评系统b8vlm(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·学生综合考评系统·高校学生管理、