《物联网数据加密技术实战》
第2章 密码学基础
2、密码学基础:对称加密与非对称加密、哈希函数、数字签名、密钥管理基础
在物联网(IoT)系统中,海量设备通过无线网络传输敏感数据(如温度、位置、身份凭证)。密码学是保障数据机密性、完整性、真实性和不可否认性的核心基石。本章将深入剖析四大密码学原语:对称加密、非对称加密、哈希函数与数字签名,并探讨在资源受限的IoT环境下的密钥管理策略。
2.1 对称加密:共享密钥的“保险箱”
定义:加密和解密使用同一把密钥的算法。通信双方必须事先安全地共享这把密钥。
IoT适用场景:传感器节点采集数据后,使用轻量级对称算法(如AES-128)加密,再发送给网关。速度快,适合大量数据。
核心算法对比
| 算法 | 密钥长度 | 分组大小 | 模式(IoT常用) | 硬件加速 |
|---|---|---|---|---|
| AES | 128 / 192 / 256 bit | 128 bit | CCM, GCM (认证加密) | ✅ 多数MCU支持 |
| ChaCha20 | 256 bit | 流加密 | Poly1305 (MAC) | ✅ 软件高效 |
| SM4 (国密) | 128 bit | 128 bit | CTR, CBC | ✅ 国产芯片支持 |
内联SVG:对称加密流程
代码示例:AES-128-GCM 加密(Python)
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
import os
# 生成随机密钥(128位 = 16字节)
key = AESGCM.generate_key(bit_length=128)
aesgcm = AESGCM(key)
# 加密
nonce = os.urandom(12) # 96位随机数
plaintext = b"Temperature: 25.6C, Humidity: 68%"
ciphertext = aesgcm.encrypt(nonce, plaintext, None)
print(f"密文 (hex): {ciphertext.hex()}")
# 解密
decrypted = aesgcm.decrypt(nonce, ciphertext, None)
print(f"解密结果: {decrypted.decode()}")
2.2 非对称加密:公钥与私钥的“密钥对”
定义:使用公钥 (Public Key) 加密,私钥 (Private Key) 解密。公钥公开,私钥保密。
IoT适用场景:设备身份认证、安全固件升级、密钥交换(如ECDH)。计算开销大,通常只用于握手阶段。
内联SVG:非对称加密流程
算法对比
| 算法 | 密钥长度 (安全等级) | 计算开销 | IoT 典型用途 |
|---|---|---|---|
| RSA | 2048 / 3072 bit | 高 (指数运算) | 数字签名、证书 |
| ECC (椭圆曲线) | 256 bit (≈ RSA 3072) | 中 (标量乘法) | 密钥交换 (ECDH)、签名 (ECDSA) |
| SM2 (国密) | 256 bit | 中 | 国产IoT设备认证 |
2.3 哈希函数:数据的“数字指纹”
定义:将任意长度数据映射为固定长度摘要(Hash Value),具有单向性、抗碰撞性。
IoT适用场景:固件完整性校验、密码存储、消息认证码(HMAC)的基础。
内联SVG:哈希函数示意图
常用哈希算法
- SHA-256:最广泛使用,256位输出,IoT固件校验首选。
- SHA-3:新一代标准,抗量子攻击潜力。
- SM3 (国密):256位输出,国产IoT设备强制要求。
- BLAKE2:速度极快,适合资源受限的传感器。
2.4 数字签名:防伪造的“电子印章”
定义:使用私钥对消息摘要进行签名,任何人可用公钥验证签名。提供真实性、完整性和不可否认性。
IoT适用场景:固件签名验证、设备身份认证、安全启动(Secure Boot)。
内联SVG:数字签名与验证流程
2.5 密钥管理基础:IoT安全的“命门”
核心挑战:IoT设备数量庞大、资源受限、物理暴露,密钥管理是系统中最薄弱的环节。
密钥生命周期管理
- 生成:使用硬件真随机数发生器(TRNG)或安全芯片(SE)生成。
- 分发:预置(工厂烧录)、密钥协商协议(如DTLS握手)、公钥基础设施(PKI)。
- 存储:安全元件(SE)、TrustZone、TEE(可信执行环境)。
- 使用:限制密钥使用次数、设置会话密钥有效期。
- 更新/撤销:远程密钥轮换(Over-the-Air)、证书吊销列表(CRL)。
- 销毁:物理销毁或安全擦除(如NIST SP 800-88)。
内联SVG:IoT密钥管理架构
IoT密钥管理技术选型
| 技术方案 | 安全等级 | 资源消耗 | 适用场景 |
|---|---|---|---|
| 预置对称密钥 | ⭐⭐⭐ | 极低 | 低功耗传感器、Zigbee设备 |
| PKI + 证书 | ⭐⭐⭐⭐⭐ | 高 | 高端网关、工业IoT |
| 物理不可克隆函数 (PUF) | ⭐⭐⭐⭐⭐ | 低 (硬件) | 防克隆芯片、安全身份 |
| 量子密钥分发 (QKD) | ⭐⭐⭐⭐⭐ | 极高 | 未来高安全场景 |
本章小结:对称加密保障数据机密性(如AES-GCM),非对称加密解决密钥分发难题(如ECC),哈希函数确保完整性(如SHA-256),数字签名提供不可否认性(如ECDSA)。在IoT实战中,需根据设备算力、功耗和安全等级,灵活组合这些原语,并建立从生成到销毁的全生命周期密钥管理体系。