我正在研究身份验证协议的主题,特别是适用于 JAVA 和 REST API 的协议,并且对此主题有疑问。所需系统的架构是一个简单的客户端 - 服务器。
我发现了一些有用的协议,比如 2 legged OAuth、digest authentication、Amazons S3 协议,当然还有 SSL。
我是这个身份验证业务的初学者,我不太明白为什么我们应该使用所有其他协议而不是只使用 SSL?
据说SSL速度较慢,但我知道很久以前就是这种情况,现在这个协议没有这个问题。无论如何,所有其他协议都依赖于 SSL,这也让我感到困惑。
我知道 SSL 会阻止重放攻击和中间人攻击。与上述协议相比,SSL 有何不同或不足?每个协议的贡献是什么不同?