是否可以在不使用会话,Cookie和SSL的情况下进行安全身份验证?
我已经查看了其他协议,例如SRP和Diffie Helman,但最终你必须通过线路发送密钥证明,这将容易受到“中间人”攻击......
答案 0 :(得分:4)
只要在连接之前没有某些通信(私密交换密钥,因此您可以加密消息等),没有在网络上使用SSL就没有任何安全措施。
答案 1 :(得分:2)
如果没有一些预先共享的信息,中间人攻击就没有任何安全措施。您总是需要一些预先共享的信息来保护中间人。如果您只想安全地避免被动窃听,则不需要预共享信息。
SSL最有效的主要原因是您拥有预共享安全信息 - 证书。 Web浏览器已与它捆绑在一起。例如,在Firefox中查看工具/选项/高级/加密/查看证书/授权,然后选择证书并单击查看。
您当然可以根据预共享信息使用不同的加密协议,因此原则上可以不使用SSL。 但在目前的做法中,与网络浏览器捆绑在一起的唯一预共享信息是SSL证书。
答案 2 :(得分:1)
仅用于身份验证,任何基于公钥的加密都可以替代。您可以添加自定义HTTP请求标头,包括数字签名和对签名者证书的引用。这将是一种完全专有的方法,但它可能适合您的需求。