非对称算法中的公钥预计恰好是公开的,因此预计会被公知
大家
。如果您尝试通过仅将公钥分发给“授权”用户来实现身份验证,那么您的机制基本上是有缺陷的。
更常见的方法是让您的客户各自生成自己的非对称密钥对,并为您提供公钥,同时保持私钥的安全。然后,客户端可以通过使用其私钥对消息进行签名来验证自己,您可以使用其公钥进行验证。
这就是说我强烈建议使用像TLS这样的客户端证书身份验证来在传输级别实现保密,完整性和身份验证,而不是尝试在应用程序级别推送自己的密码系统。它可能比你自己实现的任何东西都安全得多,并且对你的客户来说更容易实现。