【发布时间】:2018-02-14 10:35:33
【问题描述】:
我有一个以用户“U”身份运行的应用程序,它访问多个 Web 服务(托管在不同的 Web 服务器上)S1、S2 等。我想要一种安全的方式来验证所有服务 S1、S2 上的用户“U”等等。我可以控制应用程序和服务。下面是我为此场景考虑的身份验证设计。
我计划拥有一对非对称密钥。私钥将受到保护,并且只能由应用程序/用户访问,而公钥将与所有服务 S1、S2 共享。在访问服务时,它会发送一条使用私钥加密的消息,如果服务能够在服务器端使用公钥成功解密消息,它会验证/识别用户为 U。
如果这看起来不错,请提出建议。欢迎任何反馈。
提前致谢
【问题讨论】:
-
PKI 以相反的方式工作。您可以使用公钥加密并使用私钥解密。所以 Chantanya 提出了一个很好的建议,你可以考虑使用双向/客户端身份验证的 TLS,以确保机密性、完整性和身份验证。
标签: authentication cryptography public-key-encryption encryption-asymmetric