gpt4 book ai didi

java - 安全和认证协议(protocol)

转载 作者:行者123 更新时间:2023-11-30 11:34:11 25 4
gpt4 key购买 nike

我正在研究身份验证协议(protocol)的主题,特别是与 JAVA 和 REST API 配合良好的协议(protocol),并且有一个关于该主题的问题。所需系统的架构是一个简单的客户端-服务器。

我发现了一些有用的协议(protocol),例如 2 条腿的 OAuth、摘要式身份验证、Amazon 的 S3 协议(protocol),当然还有 SSL。

我是这个身份验证业务的初学者,我不太明白为什么我们应该使用现有的所有其他协议(protocol)而不是只使用 SSL?

有人说 SSL 据说速度较慢,但​​我知道很久以前就是这样,现在这个协议(protocol)没有这个问题。让我感到困惑的是,所有其他协议(protocol)无论如何都依赖于 SSL。

我知道 SSL 可以阻止重放攻击和中间人攻击。与上述协议(protocol)相比,SSL 有何不同或不足之处?每个协议(protocol)的贡献是什么?

最佳答案

您描述了 2 种不同的要求。您可以将其中一项或两项应用于您的申请:

1) 数据保护

2) 身份验证

数据保护意味着 secret 性、内容完整性、重放攻击和中间人攻击等。所有这些特性都可以通过 SSL 来实现。 SSL几乎可以适用于所有的协议(protocol)。

身份验证意味着您要控制谁可以访问您的应用程序。有很多协议(protocol),您应该根据您的要求和您希望在身份验证上投入的时间来选择身份验证协议(protocol)。请考虑 OAuth2。

此外,客户端身份验证在 SSL 中是可选的。SSL 中的客户端身份验证是使用客户端证书执行的(一般是 X.509 证书 http://en.wikipedia.org/wiki/X.509 )查看客户端证书身份验证: http://docs.oracle.com/javaee/1.4/tutorial/doc/Security5.html

客户端证书是最安全的身份验证,但基础设施投资成本最高。至少它需要 PKI 基础设施 http://en.wikipedia.org/wiki/Public-key_infrastructure在您的组织中。

关于java - 安全和认证协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15782972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com