第12章 网络安全
本章目标
搞清 Zigbee 3.0 的安全体系(信任中心、Link Key/Network Key、加密算法),并明确 ns-3 对安全协商的支持程度。
12.1 安全体系总览
| 机制 | 作用 | 说明 |
|---|---|---|
| 信任中心 TC | 网络的「安保总管」,协调器兼任 | 批准入网、分发密钥 |
| Network Key 网络密钥 | 全网一条,加密所有广播数据 | 数据链路层加密 |
| Link Key 链路密钥 | 设备两两之间/与 TC 之间 | APS 层端到端 |
| AES-128 | 加密算法 | Zigbee 唯一算法 |
类比
Network Key=小区大门钥匙(人人都有);Link Key=你家入户钥匙(只有你家和保安有)。
12.2 入网与密钥分发流程
设备请求入网 → TC 批准 → TC 下发 Network Key → 后续数据用网络密钥加密
(Install Code / 预置 Link Key 做保护)- Zigbee 3.0 强制使用分布式信任中心或集中式信任中心;
- 入网必须经过 TC 确认,杜绝陌生设备混入。
12.3 ns-3 能仿真什么、不能仿真什么
| 能力 | ns-3 支持? | 说明 |
|---|---|---|
| 入网控制/角色(ZC/ZR/ZE) | ✅ | 模块实现建网、入网、邻居表 |
| 路由发现与转发 | ✅ | RREQ/RREP 全流程 |
| AES-128 实际加密 | ⚠️ | 模块提供安全帧结构框架,未实现完整密钥协商 |
| 信任中心完整会话(Install Code/TC Join) | ❌ | 属 Z-Stack 应用层行为,需真机/协议分析 |
| Touchlink 配网安全 | ❌ | ns-3 无接口 |
边界声明
ns-3 能验证「谁入网、谁转发、帧长什么样」,但完整的安全协商、密钥管理必须在 CC2530 + Z-Stack 3.0 上开发验证(对应你站点第四部分 BDB 章节的实操)。
12.4 安全开发建议
- 设计阶段用 ns-3 验证网络拓扑与数据流;
- 安全功能在 Z-Stack 里通过编译选项开启(
SECURE=1、配置 Trust Center); - 用 SmartRF Packet Sniffer 抓包验证:数据帧已加密(Payload 不可读)、Beacon 帧公开。