主要观点:SSH 提供远程安全访问,需确保保密性、完整性、可用性和认证,通过加密、MAC 及用户认证等方式实现,同时存在一些可防范的攻击如降级攻击等,SSH 协议本身对可用性处理不足但实现可防范,最后介绍了进一步阅读的资源。
关键信息:
- 威胁模型:客户端 Alice 与服务器,Eve 试图破坏,需防止 Eve 执行命令、查看命令输出、关闭服务器。
- 保密性:通过加密实现,有对称和不对称加密,不对称加密易被 Eve 中间人攻击,需用 Diffie-Hellman 密钥交换和密钥派生来避免,确保前向保密性。
- 完整性:通过 MAC 实现,使用 HMAC 防止消息被篡改,现代多用 AEAD 如 AES-GCM 和 ChaCha20Poly1305。
- 用户认证:有密码和公钥认证,公钥认证更安全,需每次签名不同内容防止重放攻击。
- 可用性:SSH 协议本身不处理,实现可通过限制连接数等方式,最好通过防火墙或 VPN 保护。
重要细节: - 加密算法协商:SSH 支持多种算法,需防止 Eve 篡改算法支持列表进行降级攻击。
- 具体攻击示例:Eve 可通过修改流密码的密文来篡改命令,如将
ls -l
改为rm -r
。 - 密码认证弊端:需输入密码,易暴露给服务器,安全性和可用性差。
- 进一步阅读资源:RFC 4251 SSH 架构及 Computerphile 关于密码学的视频。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。