使用或不使用SSL?为什么总是使用SSL?

时间:2010-12-21 01:23:09

标签: ssl https security

使用SSL的论点是为了防止一些经历过窥探流量的恶意用户能够读取您的流量。因此,如果您使用不安全的无线(非WPA2)网络登录到您的银行帐户或提供您的信用卡号码时使用SSL可能有意义,我发现很难看到它在更常见的商业案例中的必要性。

为什么甚至打扰SSL? (当您的客户不在无担保的无线网络上时)

有人可以窥探您的特定HTTP连接和数据的唯一方法是,如果他们具有管理员访问您的路由器(然后只有有一些设施来监控/复制流量),在您的计算机上安装了一些工具(一键)记录器当然会通过SSL,或者他们在ISP监控你(在大多数司法管辖区都需要手令)。

更新警告某些司法管辖区并非像您想象的那样自由,尤其是第一和第二世界,例如在英国,政府可能很快就不需要手令:http://en.wikipedia.org/wiki/Communications_Data_Bill_2008这可能需要能够阅读历史上的网站(即解密SSL)和美国的“爱国者法案”http://en.wikipedia.org/wiki/US_Patriot_Act#Title_II:_Surveillance_procedures

此外:

  • 接受SSL连接服务器端会增加大量负载,因为建立连接是处理器密集型的(在生成密钥期间)。
  • 必须定期从第三方购买公开信任的SSL证书

更新:我实际上在使用SSL,但我认为无论如何都要提出问题是值得的。当然我认为有时间SSL不是必需的。也许这可以变成一个关于SSL优缺点的社区维基?如果是这样的话?

在下面的答案中似乎经常出现神话:“你和服务器之间的任何人都可以窃听你”......

  • 这在因特网上是不可能的,因为低级TCP路由器只转发它们必须去的数据包,即使在同一个会话中也可以通过不同的路由进行路由,除非在极端情况下,否则没有人可以查看这些数据包 - 技术上或合法地。
  • 至于ISP的某个人在查看你的流量,我想知道为什么他们会发出信号告诉你并查看“非常重要的数据”,毫无疑问这对他们来说很无聊,如果没有授权,这也是非法的。
  • 在你的局域网(无线除外)上,除非你使用恐龙集线器播放每个数据包,否则无法监听别人的流量 - 这是不可能的,因为即使你有你的网卡,硬件也不会发送给你的数据包在混杂模式下,正在使用嗅探工具,如Snort或Wireshark。

被动ARP中毒是一种监听的方式,但必须在内部完成,并且应该在名称冲突等情况下被接收并且通常默认网关将是静态的,因此将是v。难以导致默认网关将是在你之前。

6 个答案:

答案 0 :(得分:42)

SSL应该用于您传达不应公开的信息的任何地方。认为没有人在监听您的计算机和远程服务器之间的流量是一种非常危险的假设。

所有人都需要做的就是窥探流量在你的网络上 - 他们不需要管理员访问你的路由器。如果不使用SSL进行敏感通信,只需在同事计算机上安装一台带有病毒的计算机就可以窃取您的身份。

ISP还可以访问所有网络流量 - 您信任他们的技术人员多少?

  

亲爱的用户,

     

我们决定反对   加密我们的互联网流量   因为我们只是不认为这是   重要。我们决定这是   真的太难监控互联网了   交通,所以,如果有人真的   准备好去做那件事   他们应该获得所有可获得的数据   他们的手。如果你使用旧的   路由器的风格,有腐败的IT   员工和/或同事,或某人   只是不喜欢你并决定   窃取你的数据,我们接受不   责任。

     

我们建议您不要告诉任何人我们的决定,因为这会引起我们对IP流量的不必要的关注。

     

Kindest Regards,

     

良好的编程

     

免责声明:如果您是黑客并在监控IP流量时偶然发现此消息,我们会礼貌地指出您所做的是非法的,并要求您假装从未见过它。< / p>

答案 1 :(得分:5)

问题是,使用WPA2只能保护计算机和路由器之间的连接。路由器和目的地之间有一大块不安全的网络 - 这就是互联网的设计。你不知道谁在路上,可能有任何数量的恶意(或只是多管闲事)听众。他们可能甚至不在你的管辖范围内,所以防止窃听可能是不可能的。

SSL为您提供加密隧道,一直到另一端。

如果您正在谈论一家没有流量离开内部网络的小型公司局域网,那么请确保,如果您不愿意,请不要使用SSL。但如果有任何敏感信息通过互联网传输,那么你真的想用SSL来阻止任何人看到它。这完全取决于信息的重要性。

需要注意的是,许多网站都使用cookie来记住登录信息。如果这些cookie以明文形式通过互联网,那么劫持会话是相当微不足道的 - 想想FireSheep。因此,您需要非常小心您认为的“敏感”信息。鉴于许多业务应用程序正在转移到远程服务器(我认为年轻人称之为“云”),这不是一个小问题。

长话短说,如果您不希望任何其他人看到穿过不完全由您控制的网络,请使用SSL。

答案 2 :(得分:3)

SSL提供身份验证和加密。

对于未加密的连接MITM有点困难,但在您提供的未加密无线网络上并不那么难以作为示例。任何允许您使用ARP欺骗(许多交换有线网络)的网络都允许您进行MITM。但是你在路上忘记了每个路由器。还记得几个月前,中国(希望)配置不当的路由器在互联网流量中占据了相当大的一小部分(虽然相对较小)吗?他们可以看到你的明文。其他客户也可以在有线网络上使用,等等。

但SSL也提供身份验证。如果我从您那里获得了有效SSL证书的私钥,我就完全相信您就是您所说的那个人 - 如果它是一个称职的CA,那就加倍了。

但更重要的是 - 你似乎并不太了解SSL,所以我建议你不要自己做出某种决定 - 至少在你阅读更多内容之前。 SSL确实要求您为每个请求生成一个新密钥,如果确实如此,则实际上不会生效。此外,任何合理的计算机都可以同时处理数千个SSL请求 - 算法非常快。此外,您可以使用加密加速器将工作卸载到专用硬件上。

如果您认为可能需要使用SSL来保护某些数据,而且如果您不这样做,则几乎没有理由避免使用SSL。是的,涉及一些支出,但任何后果数据都值300美元/年。

编辑我看了你的评论 - 这是一个客户端应用?在您的情况下,解决方案可能是使用自签名密钥,您可以使用应用程序分发公钥。这允许您加密并验证您正在与谁交谈。

答案 3 :(得分:1)

我不认为每个网站都需要SSL,如果您使用SSL,但有时您希望能够在不使用SSL的情况下对用户进行身份验证。

我为此目的创建了(javascript-&gt; perl)单次使用随机哈希身份验证。

http://www.furiousgryphon.com/jauthenticatedemo.html

https://github.com/thomasoeser/jAuthenticate

答案 4 :(得分:0)

过去八年来,一般的理解可能已经发生了变化。这个网站提供了一个很好的答案:

https://doesmysiteneedhttps.com/

即使没有传输“敏感”数据,SSL也会阻止页面内容注入。

答案 5 :(得分:-1)

这里大多数人忘记解决的问题之一是您认为敏感数据是什么?一个人认为无聊的无用数据可能被其他人视为高度机密,反之亦然。你接下来打算怎么办?在所有数据上使用SSL以保证安全,这样您就不会被起诉?变得真实。以聊天程序为例。大多数人都同意加密用户名和密码很重要,但聊天文本本身呢?大多数聊天都是平凡的事情,消除SSL将提供更好的性能。就个人而言,我会让最终用户决定什么是重要的,然后只为他们认为需要加密的那些类型的信息提供SSL。这就是谷歌对Gmail所做的事情。您可以选择是否使用SSL。