4. 密码学基础:对称加密与非对称加密、哈希函数、数字签名在物联网中的应用
在物联网(IoT)环境中,数以亿计的传感器、执行器、网关和云平台之间需要安全地交换数据。密码学是保障物联网通信机密性、完整性、身份认证和不可否认性的基石。本章将深入剖析对称加密、非对称加密、哈希函数与数字签名四大核心密码学原语,并结合物联网资源受限、海量连接、异构网络等特性,讲解其实际部署策略。
4.1 对称加密:轻量级、高性能的机密性保障
核心思想:通信双方使用同一个密钥进行加密和解密。在物联网中,对称加密常用于传感器节点与网关之间的数据链路层加密,因其计算开销小、吞吐量高,非常适合资源受限的MCU(微控制器)。
常用算法对比
| 算法 |
密钥长度 |
分组大小 |
IoT适用性 |
| AES-128 |
128 bit |
128 bit |
✅ 硬件加速,极低功耗 |
| AES-256 |
256 bit |
128 bit |
⚠️ 安全等级高,计算稍重 |
| ChaCha20 |
256 bit |
流加密 |
✅ 无硬件加速时性能优异 |
物联网部署模式:CCM / GCM 认证加密
在IoT中,单纯加密是不够的,必须同时保证完整性。推荐使用 AES-CCM 或 AES-GCM 模式,它们将加密与MAC(消息认证码)结合,一次操作同时提供机密性和完整性校验。
📌 实战建议: 对于Zigbee、BLE Mesh等低功耗网络,默认使用AES-CCM*(CCM的变体)。对于Wi-Fi类IoT设备,优先选择AES-GCM,支持硬件加速且性能更优。
图4-1 对称加密在传感器-网关通信中的应用
4.2 非对称加密:密钥分发与身份认证的基石
核心思想:使用一对密钥——公钥(公开)和私钥(秘密)。公钥加密的数据只能用对应的私钥解密,反之亦然。在物联网中,非对称加密主要用于安全密钥协商(如TLS握手)和数字签名,但计算开销较大,通常仅用于网关或云侧。
主流算法对比
| 算法 |
密钥长度 |
性能特征 |
IoT场景 |
| RSA-2048 |
2048 bit |
加密慢,签名验证较快 |
网关证书、固件签名 |
| ECC P-256 |
256 bit |
同等安全下密钥更短,速度快 |
✅ 物联网首选 |
| Curve25519 |
256 bit |
侧信道攻击防护强,极快 |
✅ 新兴IoT标准 |
🔑 密钥分发策略: 在IoT中,通常采用混合加密:使用非对称加密(如ECC)安全交换对称密钥(如AES密钥),后续通信使用对称加密。这既解决了密钥分发难题,又保证了高性能。
图4-2 基于ECC的混合加密密钥交换流程
4.3 哈希函数:数据完整性校验的指纹
核心思想:哈希函数将任意长度的输入数据映射为固定长度的输出(摘要/哈希值)。它具有单向性(不可逆)和抗碰撞性(难以找到两个不同输入产生相同输出)。在物联网中,哈希函数用于固件完整性校验、消息完整性验证以及密码存储。
IoT常用哈希算法
- SHA-256 — 最广泛使用的哈希算法,输出256位。用于TLS、固件签名验证。在ESP32、STM32等芯片上通常有硬件加速。
- SHA-3 — 新一代标准,抗量子攻击潜力更好,但IoT硬件支持尚在普及中。
- BLAKE2s — 针对8/16位MCU优化的轻量级哈希,速度比SHA-256快,安全性相当。
⚠️ 安全警告: 严禁在IoT中使用MD5或SHA-1!它们已被证明存在碰撞攻击,攻击者可伪造固件或消息。所有新设计必须使用SHA-256或更高强度算法。
图4-3 使用SHA-256验证固件完整性
4.4 数字签名:身份认证与不可否认性
核心思想:数字签名结合了哈希函数和非对称加密。发送方使用自己的私钥对消息的哈希值进行签名,接收方使用发送方的公钥验证签名。这提供了身份认证(确认发送方身份)、完整性(消息未被篡改)和不可否认性(发送方无法抵赖)。
物联网中的典型应用
| 场景 |
签名者 |
验证者 |
算法推荐 |
| 固件空中升级(OTA) |
厂商签名服务器 |
IoT设备 |
ECDSA P-256 |
| 设备身份认证 |
IoT设备 |
云平台/网关 |
Ed25519 |
| 安全日志审计 |
网关 |
审计服务器 |
RSA-2048 / ECDSA |
🛡️ 实战要点: 在IoT设备上执行签名验证时,务必使用恒定时间比较函数来比对签名,防止时序攻击。同时,公钥应硬编码在设备的安全存储区(如eFuse或TPM),不可被用户修改。
图4-4 数字签名生成与验证流程
4.5 物联网密码学综合架构图
下图展示了一个典型的物联网安全通信架构,融合了对称加密、非对称加密、哈希函数和数字签名四种密码学原语,覆盖从传感器到云端的全链路安全。