我今天发现自己告诉同事“电子邮件不安全,这就是我们开发安全报告应用程序的原因。”
但后来我震惊了,为什么电子邮件被认为是不安全的?如果它如此不安全,我们为什么要信任它来重置密码?
我以前从来没有质疑过...
我今天发现自己告诉同事“电子邮件不安全,这就是我们开发安全报告应用程序的原因。”
但后来我震惊了,为什么电子邮件被认为是不安全的?如果它如此不安全,我们为什么要信任它来重置密码?
我以前从来没有质疑过...
我们相信电子邮件可以重置密码,因为我们没有更好的办法。这并不是真正的信任问题,就像“我们完全相信电子邮件”那样;它更像是“嗯,好像我们有一个选择......”。
尤其是与消费者进行基于 Web 的业务:消费者通过其动态 IP 地址进行身份验证(除非作为警察行动的一部分,并获得搜查 ISP 日志的授权)、可能的信用卡详细信息(同上),以及任何客户接受告诉我们,这充其量是一个有效的电子邮件地址。所以,电子邮件。
如您所知,您在浏览器中打开的链接不会通过隧道传送到端点。所以它容易受到许多攻击。但是,这就是内置其他验证方法的原因。例如,许多系统提供 2 或 3 因素身份验证方法。它涉及实施/部署/维护成本。但是,有协作方法:
现在,大部分电子邮件传输都是安全的。有没有默认不使用 TLS 的主要电子邮件服务提供商?IIRC,谷歌甚至不允许未加密的 IMAP 访问 Gmail。
我最近在 Yahoo.com 上重置了我的密码,这是邮件从 Yahoo 网络发送到 Google 网络的标头:
Received: from n2.bullet.mail.ne1.yahoo.com (n2.bullet.mail.ne1.yahoo.com. [98.138.229.123])
by mx.google.com with ESMTPS id pp10si18879814igb.52.2013.01.23.13.07.56
(version=TLSv1 cipher=RC4-SHA bits=128/128);
这使用了 128 位加密。在此之下,发件人已通过 DKIM 身份验证。Gmail 默认使用 HTTPS,因此在传输到我的浏览器的每个点,这封电子邮件都经过加密,发件人经过身份验证等。该邮件可能经过了额外的自动检查,以确保它不是网络钓鱼电子邮件。考虑到所有因素,这实际上是一个用于重置密码的非常安全的协议。电子邮件不需要安全性,但将其称为本质上不安全有点过时了。
我们使用电子邮件作为密码重置过程的一部分,因为在许多情况下没有好的选择。但是,所有使用电子邮件的密码重置程序都不尽相同。有些肯定比其他的好。随着其他形式的通信变得越来越普遍,您将看到密码重置程序转向使用这些新技术,因为它们通常更安全(或看起来更安全) - 例如,我现在使用的更多系统使用 SMS 而不是用于找回密码的电子邮件。
电子邮件重置不安全的部分原因是密码本身就是不安全的。如果您使用 2 因素身份验证之类的方法来增加标准密码,则可以降低与基于电子邮件的密码重置相关的风险,因为电子邮件仅包含访问相关资源所需的部分信息。
在评估密码重置中使用的电子邮件的安全方面时要考虑的另一点是影响与便利性。我真的不介意我用于跟踪我的杂货购物清单的那个网站是否使用基于不安全电子邮件的密码重置程序,但我确实介意我的银行是否这样做(是的,我为每个网站设置了不同的密码)。
当然,基于电子邮件的密码重置系统有好有坏。那些实际向您发送新密码的安全性低于那些发送特殊重置链接的安全性。那些只有一次使用且仅在有限时间内有效的链接比永久有效或可以多次使用的链接要好。那些随机的和不可预测的比那些可以基于一些容易获得的信息推导出的要好。
我们应该首先进行基本的风险评估——查看密码重置机制被破坏的可能性以及这种破坏会产生的影响。如果结果是可以接受的,那么过程就OK了。如果不是,则需要修改该过程,直到达到令人满意的折衷。但是,这些妥协可能会反映在较低级别的便利性上,因此您需要在评估被利用的过程的潜力/可能性以及这种利用可能产生的影响时保持现实。过度估计,你最终可能会得到一个过度设计和不方便的解决方案。估计不足,并且该过程将无法充分设计以提供足够的安全性 - 它可能非常方便且易于使用,但会使用户面临太多风险。
归根结底,电子邮件是不安全的,但如果实施得当,基于电子邮件的密码重置过程可能会在足够安全和方便之间取得很好的平衡。如果您认为您使用的服务的基于电子邮件的密码重置工具不够用,请不要使用该服务。