您的所有帐户都属于我们

作者: Shawn Powers

上周末,我的工作手机突然停止工作了。不是手机本身,而是所有服务都停止了。我首先注意到(当然)是因为无法加载任何网页。然后我尝试给别人打电话,才意识到我的手机已断开连接。事实上,当有人试图给我打电话时,提示音说该线路已停止服务。那天是星期天,我的手机是公司设备,所以我不得不等到星期一才能把事情处理好。

结果是有人打电话给 Verizon,声称是我。这个人声称他的手机(我的手机)被盗了,他想将服务转移到另一台设备上。他掌握了足够关于我的信息,通过了 Verizon 要求的任何验证,如果他在电话里表现得更圆滑一点,他很可能就拿走了我的号码。结果是,Verizon 的员工觉得这个电话很可疑,所以禁用了帐户,而不是转移服务。(我知道这一点仅仅是因为该员工在帐户上做了备注。)经过一整天紧张的来回沟通,我工作的公司终于让我的手机恢复了服务,我仍然拥有我一直以来的手机号码——谢天谢地。

Kyle Rankin 在推特上看到了我关于手机问题的推文,他立即回复说我应该检查我的在线帐户,特别是那些启用了双因素身份验证的帐户。如果其他人能够拿到我的手机号码,他们就可以用它作为“身份证明”来重置我的许多密码。我以前从未意识到我们在安全方面如此依赖我们的手机公司,即使是对于我们的个人银行帐户也是如此。这并不意味着双因素身份验证 (2FA) 不重要,这只是意味着我们需要将手机视为一种可行的攻击媒介。因此,在本文中,我想谈谈如何保护您的在线帐户。

致电您的移动运营商

在谈论保护在线帐户之前,我敦促您联系您的手机公司。我自己使用多家运营商的服务,在经历了公司手机的事件后,我意识到联系运营商并设置安全措施是多么重要。默认情况下,您的手机公司可能会让您回答几个安全问题。它也可能只是要求您提供出生日期,以便访问帐户信息。重要的是打电话询问您可以为帐户添加哪些类型的安全措施,以确保第三方无法冒充您。这种安全措施的具体形式对于每家公司来说都会有所不同,但真的,请给他们打电话。任何人在 Facebook 上都可以查到我的生日,如果这就是更改帐户所需的全部信息……好吧,太可怕了。

一旦您确信您的手机不易被盗用,就该开始查看您的在线帐户了。并非所有企业都提供双因素身份验证,但越来越多的企业每天都在添加这项服务。即使您的银行、电子邮件帐户和 Spotify 站点没有额外的保护层,拥有一个好的密码也至关重要。

我的名字是我的通行证,验证我

我过去曾写过关于创建“好”密码的文章。我当时推荐的一些方法是有效的,而另一些方法则目光短浅。我的目光短浅并非孤例,因为很多公司仍然要求“复杂”的密码。问题是,密码复杂性会生成人类难以记住但计算机容易猜测的密码。著名的 xkcd 漫画比我能更好地解释这个问题(图 1)。

图 1. 这张名为“密码强度”的漫画来自 xkcd,真实得令人心痛。

(注:Randall Munroe 来自 xkcd 已经明确表示,只要注明出处,偶尔转载他的漫画是可以的。我甚至要说,他的作品不仅很棒,而且您应该去他的商店买东西。说真的,他太棒了。)

真正“好”密码的问题在于,它们很少能满足大多数网站要求的复杂性要求。似乎公司完全可以接受八个字符的密码,只要其中包含一个大写字母、标点符号、一个数字,并且没有常用词即可。基本上,他们要求我们使用糟糕的、难以记住的密码。这非常令人沮丧。

如果您没有使用密码管理器来生成随机密码,我能给出的最佳建议是尽可能使您的密码足够长。我创建密码的方法是将单词串在一起(例如 correcthorsebatterystaple,我甚至不需要查阅,因为我完全记住了它),然后在末尾添加奇怪的复杂性要求。然而,这仍然无法解决密码重用的问题,而密码重用是一个比使用强密码更大的问题。同样,Randall 在 这里 完美地说明了这个问题。(这次我只给出一个链接;我不想碰运气。)

基本上,如果您在所有地方都使用相同的密码,那么如果一个系统被攻破,您的所有帐户都将受到威胁。我在上一篇关于设置好密码的文章中解决了这个问题,但不幸的是,您可能用来创建密码的任何模式都可能被破解。我的意思是说。假设您使用以下模式来生成密码


word1 word2 sitename word3 word4 complexity_junk

表面上看,这似乎很聪明。您可以记住四个单词,拥有一个标准的“复杂性”结尾来满足愚蠢的密码要求,并且您可以在中间添加网站的名称。这意味着每个密码都会不同。问题是,这仍然是一种模式。假设攻击者发现您的 Facebook 密码是这样的


hampergranitefacebookcoffeeostrich53BLT!

这是一个不错的、长的、唯一的密码。问题是,现在攻击者知道您的 Amazon 密码是这样的


hampergraniteamazoncoffeeostrich53BLT!

真正地,我所知道的最佳方法是使用密码管理器,它可以存储并可能为您生成密码。我更喜欢不需要复制/粘贴即可使用的密码,所以我通常使用单词生成长密码。这样,我可以瞥一眼密码并快速输入。本节的重点是让您思考密码。考虑真正强大的密码,但也要记住,在多个站点上重复使用密码是非常重要的。

添加另一个因素

双因素身份验证有很多种形式。对于手机,趋势是使用指纹。诚然,指纹并不是最安全的身份验证方法,但与密码结合使用时,它确实增加了显著的安全性。(我曾经听 Kyle Rankin 说过,指纹是很糟糕的密码,因为您只能更改十次您的“密码”,而且您会在触摸过的任何地方留下它们。)

手机号码本身是最常见的 2FA 形式之一。正如我最初的例子所演示的那样,许多网站利用发送到手机号码的短信作为身份验证。短信作为唯一的身份验证形式存在许多问题,但作为必需的第二因素,它还不错。我的意思是,许多公司允许您使用手机进行 2FA,但他们也允许您通过简单地证明您的身份(通过输入通过短信发送的代码)来恢复您的密码。这完全消除了 2FA 的安全性!

我个人最喜欢的 2FA 方法是 Google 提供的。该实现相当强大,而且在功能上,它非常易于使用。基本上,您验证您的手机,Google 验证器不会向您发送短信验证码,您必须将其输入到 Web 表单中,而是直接在您的手机上弹出,询问您是否正在尝试登录(并提供有关您尝试登录位置的信息)。您只需单击“是”,2FA 即可成功。我喜欢它不仅是因为它的简单性,还因为即使我的手机号码被劫持,也不会自动让窃贼有能力提供 2FA。

当然还有其他方法可以获得多重身份验证因素。Yubi 是一家多年来一直提供基于硬件的 USB 身份验证的公司。我通常遇到的问题是并非所有地方都支持多种形式的 2FA。但是,如果网站允许您使用 Google 帐户登录,则 Google 会处理 2FA,从而保护站点安全,而无需在特定站点上使用任何自定义 2FA 代码。

如果您使用 Google,请加强安全

我有点不喜欢推荐 Google 作为您 2FA 的首选来源。Google 是一家商业公司,使用其专有系统作为身份验证形式有点令人不安。但事实是:我宁愿每个人都相信 Google 的诚信,也不愿相信互联网上随机黑客的诚信。Google 的 2FA 易于设置,已被证明是可靠的,并且至少,它比根本不使用 2FA 要好。因此,如果您有兴趣继续深入 Google 的兔子洞,我强烈建议您通过其安全向导来确保您的帐户是您的。

访问 https://127.0.0.1(图 2)。在左侧,您会看到登录和安全选项。此页面也是您可以配置隐私设置和近期活动的地方。但对于本文,我将重点关注登录和安全页面。图 3 显示了您上次更改密码的时间、是否启用了 2FA(Google 称之为两步验证)以及您是否拥有任何应用密码。您还可以在此页面上设置您的帐户恢复信息,提供备用电子邮件、电话号码和安全问题。

图 2. 关注所有这些链接。检查非常有用,过度准备胜于准备不足。

图 3. 请启用 2FA。它很简单,而且比单独使用密码安全得多。

当您启用两步验证(图 4)时,您可以配置多个 2FA 选项并设置默认选项。我使用 Google 提示(如前所述)作为我的默认方法,但我也将我的电话号码作为一个选项。此外,Google 允许您配置许多备用选项,例如 USB 硬件密钥、可打印的离线代码以及身份验证器应用程序,即使您的手机处于离线状态,该应用程序也会生成 2FA 代码。真正地,正是选项的多样性让我喜欢 Google 来满足我的 2FA 需求。

图 4. Google 的 2FA 确实做得很好。

最终,我敦促您在尽可能多的支持 2FA 的网站上设置 2FA。大多数网站仍然要求您使用短信作为第二因素,因此请确保您的手机号码安全(记住联系您的手机运营商)。如果网站支持 Google 而不是短信进行 2FA,我个人推荐它。它更简单,这意味着您实际上更有可能使用它。但无论您选择哪种方法,2FA 都是一件好事。

密码管理

我使用密码管理器。多年来我使用过几种,但我发现拥有一个安全的密码数据库很有帮助。如果我完全诚实地说,我尝试过的密码管理器都不是完美的。通常,将密码(尤其是难以输入的密码)从管理器转移到您需要的网站是很麻烦的。此外,在桌面设备和移动设备之间切换始终是一个挑战。我使用 LastPass,但它不是一个完美的解决方案,而且移动设备不是免费的。有开源密码管理工具,如 KeePass、Padlock 和 Passbolt,但我还没有找到完美的解决方案。如果您有一个跨平台和设备以方便而安全的方式工作的密码管理系统,请告诉我。我很乐意写一篇关于它的文章。

所以,这个故事的寓意是确保您的手机安全,然后确保您的帐户也安全——最好使用多重身份验证因素。至少,请不要在多个网站上使用相同的密码!

Shawn 是 Linux Journal 的副编辑,并且从 Linux 诞生之初就与 Linux 打交道。他对开源充满热情,并且喜欢教学。他还喝了太多的咖啡,这经常在他的写作中表现出来。

加载 Disqus 评论