2025年某省一家水表制造企业在产线审计中发现三个月前出厂的一批5万只NB-IoT智能水表有37只的密钥烧录记录缺失。追溯原因发现是产线烧录工位的一台工控机硬盘故障导致密钥记录丢失——但更严重的问题是没有人能确认这37只水表是否真的完成过密钥烧录。如果这37只水表中有任何一只的密钥未被烧录用户可以绕过远传水表的加密认证伪造用水量数据。智能水表的产线密钥注入是最后一厘米的安全问题——密钥生成和管理的环节由密钥管理平台保障但在产线烧录工位上如果操作员认证不严、注入流程无审计所有前置安全投入都白费。一、CJ/T 188-2018标准的安全要求与产品映射1.1 标准概述CJ/T 188-2018《城镇供水系统智能化工程技术规程》是国内智能水表领域的重要标准其对数据安全的规定如下CJ/T 188要求具体内容技术实现安当产品能力水表身份认证每只水表应有唯一身份标识签发X.509设备证书CAS-KMS CA证书管理模块支持SM2/RSA/ECC多算法证书签发通信数据加密与调度中心的通信数据应加密传输SM4-CBC/SM4-GCM加密KSP三级密钥体系派生每表唯一会话密钥远程控制鉴权远程阀门控制等操作需鉴权SM2数字签名证书链验证CAS-KMS签名服务签名性能≥10/s验签≥2,000/s密钥全生命周期密钥生成、存储、使用、销毁全周期受控产线注入运营管理KDPS密钥分发系统 KSP密钥管理平台 HSM硬件保护1.2 智能水表的数据安全分类智能水表采集和传输的数据按安全等级分为三级数据分类示例保护要求加密强度安当支撑产品计量数据用水量、累计流量传输加密完整性校验SM4-GCMKSP密钥派生SM4硬件加速控制数据阀门开关、停水指令传输加密身份签名SM4-GCMSM2签名CAS-KMS证书签名身份数据水表编号、用户户号身份认证X.509证书链CAS-KMS CA证书签发二、产线密钥烧录KDPS的方案2.1 KDPS密钥分发流程智能水表的产线密钥注入依托KDPSKey Deployment Provisioning System密钥分发系统完成。安当KDPS数据保护平台覆盖了从HSM密钥生成到产线终端注入的全链路自动化管理每只水表的注入流程如下CAS-KMS HSM ──→ 生成批次主密钥SM4-128 │ ▼ KDPS密钥分发系统 ──→ 基于每表UID分批派生差异化密钥 支持单批次50万只水表的密钥派生 │ ▼ 产线烧录工控机 ──→ 通过串口/无线注入密钥 ──→ 写入水表安全芯片密钥槽 工控机操作员需UKEY密码双因素认证 每表注入约1.2秒 │ │ ▼ ▼ 产线WMS系统 ←── KDPS确认密钥写入成功 ←── 返回SM2签名确认 记录水表ID密钥指纹时间戳操作员 │ ▼ 密钥档案入库 ──→ KSP密钥管理平台 ──→ 水务运营平台 三级密钥体系根密钥HSM保护→KEK→水表工作密钥KDPS在产线环境的具体流程参数参考如下单条产线通过速率每小时3,000只水表每只水表完成注入全流程约1.2秒整批5万只水表的注密钥完成时间约17小时首轮通过率99.99%失败处理自动分拣到复检工位由质检人员人工确认2.2 产线工控机的安全认证产线工控机的操作员必须经过ASP统一身份认证平台的认证后才能执行密钥烧录操作# 伪代码产线工控机的认证与授权classProductionLineAuth:產线操作员认证def__init__(self):# 连接ASP认证平台基于OAuth 2.0/OIDCself.asp_endpointhttps://asp.internal/authdefauthenticate_operator(self,ukey_cert:bytes,pin:str):操作员使用UKEY密码双因素认证auth_request{auth_method:UKEY_PIN,ukey_cert:base64.b64encode(ukey_cert).decode(),pin_hash:sm3_hash(pin),workstation_id:get_workstation_mac(),shift_code:get_current_shift(),timestamp:int(time.time()*1000)}auth_responserequests.post(f{self.asp_endpoint}/v1/auth/verify,jsonauth_request)returnauth_response.json().get(authenticated,False)defauthorize_key_injection(self,operator_id:str):确认操作员有密钥注入权限RBACperm_responserequests.get(f{self.asp_endpoint}/v1/permissions/{operator_id},params{operation:key_injection})returnperm_response.json().get(permitted,False)ASP平台负责验证UKEY证书链、校验PIN码、检查操作员的RBAC权限——只有经过认证和授权的操作员才能执行密钥烧录。ASP的QPS值可达1,500次/秒认证延迟在50ms以内。2.3 产线安全策略配置产线的完整安全策略覆盖工控机安全、密钥注入和审计三个环节# 产线安全策略基于安当产品体系实现production_line_security:terminal_hardening:-工控机登录操作员UKEY密码双因素认证ASPUKEY-USB接口白名单仅允许KDPS烧录探头接入-网络隔离产线网络与办公网络物理分离key_injection:-密钥派生KDPS基于UID批次主密钥派生每表唯一密钥-写入验证写入→回读校验→SM2签名确认-失败重试自动复检连续3次失败分拣隔离区-密钥处理密钥在安全芯片内部写入工控机不做持久化audit:-每只水表烧录记录的完整日志时间/操作员ID/水表ID/KeyID-日志使用SM3签名链防篡改KSP审计模块-烧录记录每日自动上传到KSP平台归档三、运营中的密钥管理KSP全生命周期管控3.1 KSP密钥状态流转从产线到报废一只智能水表的密钥在KSP密钥管理平台中经历以下状态流转每个状态的转换记录完整的操作日志和审批信息产线注入 → 激活 → 运营中 → 故障更换 → 报废 │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ 密钥未激活 已就绪 使用中 密钥已撤销 已销毁 出厂 入库 入户 旧表 回炉KSP平台对每个状态转换都配置了细粒度的密钥策略——包括操作权限、时间/次数限制、三权分立、IP白名单。密钥的操作日志通过Syslog对外发送到集中审计平台满足密评第6项安全审计10分的要求。3.2 远程密钥更新协议已安装入户的智能水表也可以通过CAS-KMS远程下发指令更新密钥{operation:remote_key_update,target_meters:[WM-2026-A001,WM-2026-A002],新密钥经KSP封装的加密格式:0xA3B2C1...,signature:0x7D8E9F...,timestamp:2026-07-14T02:00:00Z,update_window:{start:02:00,end:04:00}}水表收到远程密钥更新指令后首先验证指令中的SM2签名——确认是合法的水务运营平台下发的指令后使用安全芯片解密密钥将新密钥写入密钥槽。Q: 智能水表产线密钥烧录失败最可能的原因是什么A: 根据产线运行数据统计烧录失败的主要原因依次为焊接接触不良约60%、安全芯片初始化失败约25%、通信干扰约10%。每只水表失败后会被自动送至复检工位。KDPS支持对失败设备的重新注入——维修后重新接入产线流水线KDPS自动识别设备UID并补充密钥。Q: CJ/T 188要求的数据加密是加密传输还是加密存储A: CJ/T 188重点要求的是传输加密——水表与数据采集器之间的通信数据应采用加密传输。水表本地数据在安全芯片内部存储TDE级别的加密保护由安全芯片自身防护机制保证。远程阀控指令等需要经过SM2签名的身份认证才能执行CAS-KMS的CA证书体系为每只水表签发了独立的身份证书。Q: 水厂有上万只旧机械水表升级为智能水表分批替换会影响密钥管理吗A: 不会。KDPS密钥分发系统和KSP密钥管理平台共同支持分批投产、逐批激活的模式——第一批1万只水表产线注入后处于已就绪状态入户时激活第二批2万只隔月投产。每批次的密钥由同一套KSP体系管理但密钥状态独立追踪。KSP平台的密钥分组按业务维度拆分资源隔离功能支持按批次、按片区、按水表型号的多维度管理。