13. 安全考虑 (Security Considerations)
据推测,使用APOP命令为POP3会话提供来源标识和重放保护。因此,同时实现PASS和APOP命令的POP3服务器不应允许给定用户使用两种访问方法;也就是说,对于给定的"USER name",只允许PASS或APOP命令,但不能同时使用两者。
此外,请注意,随着共享密钥长度的增加,推导它的难度也会增加。因此,共享密钥应该是长字符串(比APOP命令示例中显示的8字符示例长得多)。
重要的是要认识到APOP命令不为POP3会话提供数据完整性或机密性保护。它仅为初始认证交换提供来源认证和重放保护。
对USER命令回答-ERR的服务器正在向潜在攻击者提供关于哪些名称有效的线索。
使用PASS命令会在网络上以明文形式发送密码。
使用RETR和TOP命令会在网络上以明文形式发送邮件。
除此之外,本备忘录中不讨论安全考虑。
关键安全问题 (Key Security Issues):
-
APOP与PASS对比:
- APOP提供认证而不以明文发送密码
- 服务器应仅允许每个用户使用一种认证方法
-
密码安全 (Password Security):
- PASS命令以明文发送密码
- APOP需要长共享密钥以确保安全
-
数据保护 (Data Protection):
- APOP仅保护初始认证
- 通过RETR/TOP发送的邮件内容未加密
- 考虑使用TLS/SSL进行会话加密
-
信息泄露 (Information Disclosure):
- 错误消息可能揭示有效用户名
- 服务器应谨慎处理错误响应
建议 (Recommendations):
- 尽可能使用APOP而非USER/PASS
- 实施TLS/SSL以保护整个会话
- 对APOP使用长随机共享密钥
- 考虑实施认证延迟以防止暴力攻击