由iOS11密码管理器想到的

iOS11引入了密码管理器,其功能类似Safari和Chrome等浏览器保存密码的功能,只不过这是系统级的功能,在应用、浏览器等任何需要输入密码的地方,键盘右上角会有一个钥匙图标,点击并完成认证后就可以调出保存的密码列表,选择对应的账号密码就可以了,不再需要手工逐个字符输入。我不知道是我的原因,还是本来就是这样——每次都需要我手动选择密码,而不能根据域名等信息自动填充密码。

这一波操作是这样的:
ios11_pw_mgr
使用起来还是比较方便的,原则上,我们不再需要记忆各种乱七八糟的账号密码,也极大地提升输入效率。原生系统的支持,一般都会比第三方app实现的方便一点点。

在iOS 11 public beta 1版本里,进入设置/账号和密码就可以直接看到所有保存的密码的明文,我觉得这有安全风险——PC上Chrome里如果要查看密码也需要输入设备用户密码——我给Apple反馈了我的顾虑。在后来的正式版本里,需要Touch ID或解锁密码验证通过才能查看保存的账号密码。
刚开始,我没有觉得这有不妥。

直到有一天,我在公共汽车上想到这样一个问题:如果旁边的人不小心看到了我输入的解锁密码——其实这很常见,一般人iPhone的解锁密码都是只有4位或6位数字,如果用心,还是很容易得到的。然后我的手机不小心掉了,并且刚好被这个人捡到,那我还能找回来么?他有了解锁密码,但没有Apple ID密码,还不能注销我的Apple ID,那我还是可以Find my iPhone。然后我突然想到,如果有了解锁密码,就可以直接去密码管理器里面查看所有密码,如果不幸刚好保存了Apple ID,那就可以轻易获取到,就可以注销擦除设备了。并且,在擦除前,还可以把密码管理器里面的所有密码翻个遍,这里面可能有邮箱、社交账号、网银。。。

想到这儿,我赶紧打开我的账号和密码看了下,果断删除了里面的Apple ID,Google账号等敏感账号。

在个人账号密码管理上,我推荐采用账号分级管理:

  • 一级账号:如银行账号、支付宝账号、Google账号、Apple ID、社交账号等,一旦泄露,可能倾家荡产或者身败名裂,所以要重点保护。
  • 二级账号:如手机解锁密码,如果泄露,可以通过一级账号来止损——如通过Apple ID远程锁定或擦除设备。
  • 三级账号:某些非要先注册才能用的僵尸账号。

密码的复杂程度也需要随账号的重要性而递增——这一点应该是公认的。那从Apple对Apple ID密码和iPhone解锁密码复杂程度对要求来看,Apple也是认为Apple ID的重要性要高于解锁密码。
但是在iOS的密码管理器上,我觉得这里出现了用一个安全性较低的密码却可以查看安全性较高的密码,这不符合密钥分级管理的要求。

后来,我接着想了拿到手机解锁密码之后还能干啥。我发现,即使密码管理器没有保存Apple ID,别人还是获取到——可以通过邮箱重置——因为我手机还登陆Apple ID的邮箱。手机解锁之后,不再需要进一步验证即可处理邮件。如果可以控制我邮箱,那基本也就可以控制全部了。。。

想到这里,觉得我的手机解锁密码真是设得太简单了。

PS:本文应该是在3月上旬完成的。

The header image is from LOBOCOMPUTERS