【问题标题】:User authentication with no password but certificate instead?没有密码而是证书的用户身份验证?
【发布时间】:2018-07-19 10:32:20
【问题描述】:

在我的应用程序中存在接受用户名和密码的现有身份验证机制。我需要的是一种无需密码即可以给定用户身份登录的安全方式。假设我有一个 REST API 和一个使用它的可信源 Java 应用程序。一种方法是允许从受信任的 IP 地址进行此​​类访问,但这还不够。最好的方法是什么?例如。客户端必须使用的一些受信任的证书。目标基本上是在没有密码的情况下从内部应用程序中以给定用户身份进行身份验证。我们假设这是应该被允许这样做的可信应用程序,但我们仍然需要以某种方式授予该信任并能够验证它。任何帮助表示赞赏。谢谢

【问题讨论】:

  • 问题是?让我们解释基于 PKI 的身份验证机制的整个机制?从 1000 英里的视野到最后的细节?这是一个相当高的要求。
  • 我的意思是一些指针,例如现有的 API/框架或 TLS 认证验证的一些示例。谢谢

标签: java security authentication


【解决方案1】:

您当然可以使用 TLS 客户端证书来验证对您的服务器的 HTTPS 访问。在服务器端,您已经实施了一些方案来将客户端证书的主题名称 (DN) 映射到您用于授权的某个名称或 ID。

此外,您需要适当的证书更新程序,就像服务器证书一样。您应该自动执行此操作并进行证书到期监控。

另一种方法可能是研究 OAuth 2.0。

【讨论】:

  • 谢谢,我一开始就是这么想的,你能提供任何代码示例吗?
  • 我的意思是客户端证书方法
猜你喜欢
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-27
  • 2020-08-22
  • 2020-12-09
  • 2011-11-09
  • 1970-01-01
相关资源
最近更新 更多