身份验证系统需要ssl吗?

时间:2012-03-26 21:11:02

标签: php security encryption ssl

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

你认为我需要ssl登录系统吗?我甚至整合了Facebook,因此大多数用户都会使用他们的Facebook帐户登录。

对于像我这样的网站,ssl还有其他选择吗?

3 个答案:

答案 0 :(得分:4)

任何通过互联网而不使用SSL / TLS(或等效系统来加密/保护您正在传递的信息的机密性)的任何内容都必须假定为完全受损并且对任何人都可见。在您的情况下,这将包括用户名,密码和会话令牌,这可能允许攻击者学习您的UN / PW组合,因此他们可以长期模仿用户和会话令牌,以便他们可以充当登录用户

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

基于Facebook的登录也会发生同样的事情。这使用OAuth,它只是从客户端发送到服务器的承载令牌。如果这是在SSL / TLS隧道之外发送的,则必须假定它受到损害,并且根据承载令牌的工作方式,任何人都可以看到令牌并重新使用它并充当用户。

基本上,SSL / TLS在来自受尊重和可信CA的证书的成本和服务器功率/延迟方面都很便宜。如果您拥有任何大小的用户群,那么很可能很容易决定使用SSL / TLS。

答案 1 :(得分:1)

我会认真考虑使用第三方OpenID或OAuth提供程序作为身份验证系统。处理登录有很多注意事项。使用弱哈希函数存储密码的自定义登录系统通常会使用户面临风险。一个很好的例子是Gawker leak which used DES for password storage。非常可怕的东西,特别是当你认为这可以完全避免时。

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

如果您的网站有任何价值,请使用SSL保护您的用户会话。如果您的网站没用,并且没有人关心拥有帐户,那么为什么要建立它呢?

答案 2 :(得分:0)

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

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