繁体   English   中英

身份验证系统是否需要ssl?

[英]Is ssl required for authentication system?

我正在开发一个带有视频的网站。 我的网站上没有任何交易。 我有一个登录系统。

您认为登录系统需要ssl吗? 我什至集成了Facebook,因此大多数用户都将使用其Facebook帐户登录。

对于像我的网站的ssl,还有其他替代方法吗?

在不使用SSL / TLS(或等效系统来加密/保护您所传递信息的机密性)的情况下,您通过Internet传递的任何内容都必须被假定为完全受到损害并且对所有人可见。 在您的情况下,其中包括用户名,密码和会话令牌,这可能会使攻击者了解您的UN / PW组合,以便他们可以长期模拟用户,并提供会话令牌,以便它们可以充当登录用户。 。

您需要保护这个吗? 绝对是风险决定。 您的数据的敏感级别是多少? 如果这种妥协发生了,后果将是什么? 如果用户的用户名和密码可供全世界使用,您会怎么想? 由于用户倾向于在网站之间重用密码,因此如果发生这种情况,将会损害您网站的声誉(和您的声誉)。

基于Facebook的登录可能会发生同样的事情。 这使用OAuth,这只是从客户端发送到服务器的承载令牌。 如果将其发送到SSL / TLS隧道之外,则必须假定它已被破坏,并且根据承载令牌的工作原理,任何能够看到令牌并重用它并充当用户的人都可以使用。

基本上,就获得受人尊敬和受信任的CA颁发的证书的成本以及服务器功能/延迟而言,SSL / TLS都很便宜。 如果您拥有庞大的用户群,那么使用SSL / TLS很可能是一个非常容易的决定。

我会认真考虑使用第三方OpenID或OAuth提供程序作为身份验证系统。 处理登录有许多注意事项。 通常,使用弱哈希函数存储密码的自定义登录系统会给用户带来风险。 一个很好的例子是Gawker泄漏,它使用DES来存储密码 非常可怕的东西,尤其是当您认为可以完全避免这种情况时。

显然,您需要SSL才能通过网络传输用户名和密码。 但是实际上,用户是使用Cookie值或会话令牌对您的应用程序进行身份验证的。 这是真正的身份验证方法,也是OWASP a9要求该值永远不会溢出不安全通道的原因。

如果您的网站毫无价值,那么请使用SSL保护用户的会话。 如果您的网站没有用,并且没人在乎拥有一个帐户,那为什么要建立它呢?

许多人在不同的站点上使用相同的登录名,因此为了防止窃听,建议使用ssl。

如果这是您担心的价格,并且您没有在网站上进行任何金融交易,则可以尝试获取免费证书: https : //www.startssl.com/?app=1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM