标签:#电力安全 #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 密码算法》
- 《电力监控系统安全防护规定》(国家能源局)