Meteor 使用 Secure Remote Password Protocol (SRP) 来验证用户。 Meteor 文档没有进一步声明所提供的安全级别,但我想知道 SRP 是否可以在不需要 SSL/TLS 的情况下提供安全性? SRP 上的维基百科页面指出:
我承认我对安全知之甚少,但我找不到有关其使用的任何建议。
非常感谢
最佳答案
SRP 仅用于交换密码。更准确地说,它纯粹是为了让通信的两端保证他们都拥有相同的共享 secret ,而不允许窃听者或中间人猜测共享 secret 。这就是它所做的一切:双向身份验证,因此如果/何时(例如)我登录到服务器,我知道该服务器确实是我想要登录的服务器,并且它知道我是具有正确的密码。
但是,它不会(甚至尝试)在各方之间创建加密连接,例如 SSL/TLS。尽管有人在监听时无法获得足够的密码信息以登录我的位置(或模仿服务器供其他人登录),但它不会(本身)对进一步的通信进行加密——除非你做的不仅仅是SRP 本身,其他任何人仍然可以读取通过连接传递的所有数据。
关于security - 在 Web 应用程序中,SRP 是 SSL/TLS(服务器证书)的安全替代方案吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19982658/