4. 密码学基础

无线仪表通常部署在开放或半开放的工业现场,报文经空中接口传输,任何具备相应射频能力的设备都可能截获、重放或篡改数据。密码学不是单一算法,而是一组按目标分工的工具:机密性靠对称/非对称加密,完整性靠哈希与消息认证码,身份真实性与不可否认性靠数字签名。理解它们各自“保护什么、不保护什么”,是后续密钥管理设计的前提。

一、五类密码学原语的核心原理

对称加密使用同一密钥完成加密与解密,典型算法有 AES-128/256、SM4。其优势是速度快、适合资源受限的无线仪表;难点在于密钥分发——n 台仪表两两通信需要 n(n-1)/2 个密钥。工作模式上,无线仪表应优先选用带认证的 AEAD 模式(如 AES-GCM、AES-CCM),一次运算同时得到密文和完整性标签,避免“先加密再单独算 MAC”的拼接错误。

非对称加密使用公钥加密、私钥解密(或私钥签名、公钥验签),典型算法有 RSA、ECC(如 secp256r1)、SM2。它解决了密钥分发问题,但运算开销大、密文膨胀明显,通常不直接加密业务数据,而是用于加密“会话密钥”或做密钥协商(ECDH)。

哈希函数把任意长度输入压缩为固定长度摘要,具备单向性和抗碰撞性,如 SHA-256、SM3。它本身不提供机密性,也不带密钥,因此单独使用只能检测“意外损坏”,无法抵御主动篡改。

消息认证码(MAC)是带密钥的哈希,如 HMAC-SHA256、CMAC-AES。它同时保证完整性和来源真实性,但通信双方共享同一密钥,因此无法向第三方证明“消息只可能由某一方发出”。

数字签名用私钥签名、公钥验签,兼具完整性、真实性和不可否认性,适合固件升级包、配置下发、审计日志等场景。

无线仪表密码学原语适用性分析 按“保护目标 → 典型算法 → 仪表侧开销 → 推荐用途”四维定位 对称加密 AES-GCM / SM4 保护:机密性 速度:极快 密钥:共享密钥 开销:低 用途:业务报文加密 非对称加密 ECC / RSA / SM2 保护:密钥分发 速度:慢 密钥:公私钥对 开销:高 用途:会话密钥协商 哈希函数 SHA-256 / SM3 保护:完整性 速度:快 密钥:无 开销:低 用途:摘要/指纹比对 消息认证码 HMAC / CMAC 保护:完整性+来源 速度:快 密钥:共享密钥 开销:低 用途:报文防篡改 数字签名 ECDSA / SM2 保护:真实性+不可否认 速度:慢 密钥:私钥签/公钥验 开销:高 用途:固件/配置签名 无线仪表典型密码学数据流 无线仪表 传感器+射频 无线网关 协议转换+汇聚 管理平台 密钥/策略中心 AES-GCM 密文 + HMAC TLS/DTLS 隧道 ECDH 密钥协商 / 证书签发(非对称) 对称加密承载数据面,非对称加密与签名承载控制面,哈希与 MAC 贯穿完整性校验

二、无线仪表场景下的选型方法

无线仪表普遍存在 MCU 主频低、RAM 小、电池供电、带宽窄等约束,选型不能只看“算法强度”,而要看“单位能耗下的安全收益”。建议按以下流程决策:

  1. 明确保护目标:是防窃听、防篡改、防伪造,还是防抵赖?目标不同,原语不同。
  2. 评估资源预算:列出可用 RAM、Flash、单次通信能耗上限与允许时延。
  3. 优先复用 AEAD:AES-CCM/GCM 一次完成加密与认证,减少一轮运算和报文长度。
  4. 非对称只用于控制面:入网认证、密钥协商、固件验签,避免逐包使用。
  5. 签名用于低频高价值操作:固件升级、参数下发、审计存证。
在 802.15.4 等低速率链路上,AES-CCM* 已被标准采纳;若仪表仅需防篡改而不需保密,可只启用 MAC 而不加密,进一步节省能耗。

三、典型场景:固件升级与遥测上报

某化工厂无线压力变送器通过 802.15.4 接入网关。遥测上报路径采用 AES-128-CCM,每包附带 8 字节 MIC,网关用共享会话密钥校验并解密;会话密钥由 ECDH(secp256r1)协商生成,有效期 24 小时。固件升级包则由厂商用 ECDSA 私钥签名,仪表用预置公钥验签后才写入 Flash。

遥测上报帧结构(简化):
| 帧头 | 计数器 | 密文载荷 | MIC(8B) |
   2B      4B       n B        8B

固件升级校验流程:
1. 读取升级包 + 签名值
2. 计算 SHA-256(package)
3. ECDSA_Verify(pubKey, hash, signature)
4. 校验通过 → 写入;失败 → 丢弃并告警

该方案中,对称加密保护了数据面机密性,MAC 保证逐包完整性,非对称仅用于密钥协商和固件验签,整体能耗可控。

四、常见误区与复盘

  • 误区一:用哈希代替 MAC。 哈希无密钥,攻击者可同时篡改数据和摘要,无法防主动攻击。
  • 误区二:逐包使用 RSA 签名。 运算开销大、报文膨胀,电池仪表可能数天耗尽。
  • 误区三:忽略计数器与随机数。 仅加密不防重放,攻击者可原样重发旧报文触发误动作。
  • 误区四:自创“加密+哈希”拼接。 顺序、密钥复用处理不当会引入可证明的安全缺陷,应直接使用 AEAD 或 Encrypt-then-MAC。
任何密码学方案的安全性最终取决于密钥管理。算法再强,若密钥硬编码、明文存储或长期不更新,无线仪表仍可被轻易攻破。

五、五类原语适用性对照清单

原语 保护目标 典型算法 仪表侧开销 推荐用途
对称加密 机密性 AES-GCM、SM4 低 遥测/控制报文加密
非对称加密 密钥分发 ECC、RSA、SM2 高 会话密钥协商、入网认证
哈希函数 完整性(非对抗) SHA-256、SM3 低 摘要比对、口令派生
消息认证码 完整性+来源真实性 HMAC-SHA256、CMAC 低 逐包防篡改
数字签名 真实性+不可否认性 ECDSA、SM2 高 固件升级、配置下发、审计

综上,无线仪表的密码学设计应遵循“对称为主、非对称为辅、哈希与 MAC 贯穿、签名守关键”的分层原则:数据面用 AEAD 保证机密性与完整性,控制面用非对称完成密钥协商与身份认证,高价值低频操作用数字签名实现不可否认。只有把原语选型与密钥管理、计数器防重放、资源预算结合起来,才能形成真正可落地的无线仪表安全方案。