我正在研究身份验证协议的主题,特别是与JAVA和REST API协同工作的协议,并且有关于该主题的问题。 所需系统的体系结构是一个简单的客户机 - 服务器。安全和身份验证协议
我发现了一些有用的协议,如2腿OAuth,摘要式身份验证,亚马逊S3协议,当然还有SSL。
我是这个认证业务的初学者,我不太明白为什么我们应该使用所有其他协议,而不是仅使用SSL?
据说SSL据说比较慢,但我很早以前就明白这种情况,现在这个协议没有这个问题。 无论如何,所有其他协议都采用SSL也令我感到困惑。
我知道SSL阻止重播攻击和中间人攻击。 与上述协议相比,SSL有什么不同或者不够?每个协议的贡献是不同的?
感谢您的快速回答!好吧,我现在明白了SSL只能处理安全部分,而不是认证部分,但是您的客户端证书是什么意思?您是否在OAuth协议中引用了证书(包括时间戳和/或随机数和令牌)?而当你说证书使用SSL时,以什么方式?这些事情对我来说并不是那么清楚。 –
我已经更新了答案 - 请再看一遍。客户端证书与OAuth令牌无关。 – Michael
谢谢!这是有帮助的,我接受了答案,但无法宣传,因为我还没有足够的声望。还有一件事,当您谈论客户端身份验证时,您是在讨论如何验证Web应用程序或用户本身?这个词经常会感到困惑。当我们谈论身份验证时,我们是在谈论用户名和密码?还是像从客户端识别私钥那样更复杂的东西?或两者? –