15. 安全考虑
由于认证 (authentication) 与时间同步 (time synchronization) 之间存在循环依赖, NTP 的安全要求非常严格. 可靠的时间同步要求加密密钥 (cryptographic keys) 在特定时间区间内有效, 但这些时间区间又只能依靠可靠同步来强制执行.
攻击类型
1. 归档攻击 (archive attacks): 入侵者可以截获分组并无限期保存.
2. 资源耗尽 (resource exhaustion): 攻击者以超过处理能力的速率生成分组, 尤其是在需要高成本加密操作时.
3. 窃听攻击 (wiretap attacks): 在不中断传输的情况下截获, 修改并重放分组.
4. 中间人/冒充攻击 (middleman/masquerade attacks): 攻击者位于服务器与客户端之间, 可以阻断原始分组, 但没有服务器的私钥.
内置防御
- 线上时间戳交换本身对欺骗 (spoofing), 分组丢失 (packet-loss) 和重放攻击 (replay attacks) 具有抗性.
- 时钟过滤 (clock filter), 选择 (selection) 和聚类 (clustering) 算法可抵御拜占庭叛徒 (Byzantine traitors).
- 多服务器关联与一致性算法可区分真实时间源 (truechimers) 和错误时间源 (falsetickers).
安全建议
应使用加密认证 (cryptographic authentication), 维护安全的密钥分发, 配置多个独立时间源, 实现访问控制列表 (access control lists), 监控异常, 并定期更新密钥.