跳到主要内容

10. 安全考量

值得注意的是, 根据 [RPL], LLN 中的每个节点都感知 RPL, 并且可以向网络注入任何基于 RPL 的攻击. 本规范使用 RPL [RPL] 中已经存在的 messages, 并带有可选的 secured versions. 同样的 secured versions 可以与本规范一起使用, 为给定网络部署的任何安全机制也适用于本规范中的 flows.

LLN nodes 的运行依赖 RPL Root 和 RANs. 需要 trust model 来确保正确设备承担这些角色, 避免 sinkhole attacks (如 [RFC7416] 第 7 节所做). 该 trust model 至少可以基于 Layer 2 secure joining 和 link-layer security. 这是通用 6LoWPAN 要求; 见 [RFC8505] 附录 B.5 中的 Req-5.1.

一般而言, [RPL] 和 [RFC7416] 中的 Security Considerations 同样适用于本规范. 特别是, 需要 link-layer security 来防止 denial-of-service attacks, 例如 rogue router 不断注入伪造 P-DAO messages, 在 RPL network 中造成高 churn, 并耗尽受攻击 routers 中所有可用存储.

当应用于 IEEE Std 802.15.4 等 radio LLNs 时, 可以结合适当的 join protocol 利用 lower-layer frame protection. 6TiSCH Constrained Join Protocol (CoJP) [RFC9031] 使用 RPL Root 作为 6LBR. 当除 lower layer 的 hop-by-hop security 外还需要额外 end-to-end security 时, join protocol 可以扩展, 为 pledges 到 6LBR 通信提供额外 key material.

根据本规范, Root 可以生成 P-DAO messages, 但其他节点不得这样做. P-DAO-REQ messages 必须发送到 Root. 本规范预期与 Root 的通信经过认证, 但不强制使用哪种方法.

此外, trust model 可以包括 role validation (例如使用 role-based authorization), 以确保声称自己是 RPL Root 的节点有权这样做. 在 Storing Mode P-DAO 情况下, 该信任应从 egress 传播到 ingress.

本规范建议对 VIO 进行一些验证以防止基本 loops, 即避免某个节点出现两次. 但这只是最低限度的保护. 可以认为, 能够注入 P-DAOs 的攻击者可以重新路由任何 traffic, 并迅速耗尽 LLN 中 spectrum 和 battery 等关键资源.