Mobile IP: Issues, Challenges and Solutions¶
背景
🔥 移动用户增多 -> 无缝衔接的体验需求增多 🔥
Mobile IP -> 在多个区域的 Access Point 切换时,不用重新建立 End2End
的连接
组分
- Mobile Node (MN)
- Home Network (HN)
- Home Agent (HA)
- Foreign Network (FN)
- Foreign Agent (FA)
- Care-of-Address (CoA)
- FA CoA: equals to FA's IP Addr. shared by all connected MNs
- CO CoA: by DHCP Server
- Correspondent Node (CN)
- Tunneling
其实这些的工作原理都已经在 Mobility Management Slide 中详细解释了 👍
优点
- 可扩展性: 但凡能用 IP 的设备就能用 Mobile IP
- 错误恢复: 一个子网连接出问题,可以迅速切换到别的网络
- 平台无关: Mobile IP 是 standard protocol, 与平台无关
- 成本节约: 维护简单 + 错误处理强
- 安全性提升: 🔥🔥🔥
- Integrity: Mobile-Home Authentication Extension (
MHAE
) - Authentication: Hash-based message authentication code (
HMAC-MD5
)
- Integrity: Mobile-Home Authentication Extension (
目前存在的问题
(1) Security Issues
- Denial Of Service Attacks
- DoS 攻击单一节点 💣
- DoS 使关键链路拥塞 🚗
- Defense: Secret-key Authentication + Integrity Checking
- 信息窃取
- 未经认证者访问局域网 (WLAN 的本质是 broadcast 的) 🔑
- Defense: Link2Layer Encryption + End2End Enc
- 内部信息外泄
- 某些心怀不满的员工将内部数据导出外泄 🧨
- Defense: Strict Access Control + User Authentication
- Replay Attack
- Attackers 获取一些 过期的副本,用假装自己是MN 🕶️
- Defense: Add "Identification Field" (
ID
字段)
ID 字段是如何工作的
为了防止上述攻击,移动IP协议设计了一个动态生成的Identification字段,其作用是确保每次注册请求都是唯一且不可重复的:
- Identification字段的组成:
- Identification字段可以包含时间戳(timestamp)或随机数(nonce):
- 时间戳:移动节点在发送注册请求时,记录当前时间
- 随机数:移动节点生成一个不可预测的随机值
- 这些值确保每次请求都与之前不同
- Identification字段可以包含时间戳(timestamp)或随机数(nonce):
- 验证过程:
- 当“家乡代理”(Home Agent,HA)收到注册请求时,它会检查Identification字段:
- 如果字段中的值是过期的时间戳或与预期不符,则拒绝该请求
- 如果字段有效,HA会将其复制到响应消息中并返回给移动节点
- 当“家乡代理”(Home Agent,HA)收到注册请求时,它会检查Identification字段:
- 防御效果:
- 即使攻击者截获了某个合法请求并试图重放,由于Identification字段已经过期或无效,家乡代理能够识别并拒绝该伪造请求
(2) Triangulation Problem
三角路由,解决方式是 cache binding
(3) Reliability Issues
这是 移动IP 在设计上的一个争议点,即: 是否需要确保基于TCP的连接在移动节点发生“换站” 时能够保持可靠性
支持的观点 (网络承担重传责任):
TCP连接应该在移动节点切换到新的网络时保持不中断,旨在提高用户体验,避免因网络切换导致通信失败
返对的观点 (用户承担重传责任):
很多操作实际上是burst的短时操作。如传输失败,用户习惯于手动重新尝试
📌 目前实际上是用户承担
(4) Latency Issues
- 三角路由
- 全程要靠 HA 和 FA 进行交互
Conclusion
存在部分的问题需要解决,但是潜力巨大!💥