第19章:加密与认证技术
密码学是信息安全的基石。本章将介绍物联网中常用的加密算法和认证协议。
19.1 密码学基础
19.1.1 对称加密 (Symmetric Encryption)
- 原理:加密和解密使用同一个密钥。
- 算法:AES (Advanced Encryption Standard) 是目前最安全的标准。
- 优点:速度快,适合加密大量数据(如固件包、视频流)。
- 缺点:密钥分发困难(如何安全地把密钥给对方?)。
19.1.2 非对称加密 (Asymmetric Encryption)
- 原理:使用一对密钥(公钥和私钥)。公钥加密,私钥解密;私钥签名,公钥验签。
- 算法:RSA (经典,慢), ECC (椭圆曲线) (快速,适合嵌入式)。
- 优点:解决了密钥分发问题。
- 缺点:计算量大,速度慢。
19.1.3 哈希算法 (Hash)
- 原理:将任意长度数据映射为固定长度摘要。不可逆。
- 算法:SHA-256。
- 应用:完整性校验(下载固件后对比 Hash)、密码存储。
19.2 PKI 体系与证书
如何证明“公钥”属于你?需要权威机构(CA)背书。
- **CA (Certificate Authority)**:数字证书认证机构。
- **证书 (X.509)**:包含你的公钥、有效期、域名,以及 CA 的签名。
- 信任链:设备内置根证书 (Root CA),通过根证书验证服务器证书的合法性。
19.3 认证协议:JWT (JSON Web Token)
在 HTTP API 中,常用 JWT 进行身份验证。
- 结构:
Header.Payload.Signature - Payload:包含用户 ID、过期时间等信息。
- 流程:
- 设备登录,发送账号密码。
- 服务器验证通过,签发 JWT。
- 设备后续请求在 Header 中携带
Authorization: Bearer <token>。 - 服务器校验签名,无需查库即可确认身份。
软件安全固然重要,但固件本身的更新也是巨大的风险点。下一章我们将讨论固件安全更新。