按:1. 一个简明教程,或者介绍我自己网络安全实践的短文,写到第10篇,大概真的该停下来了。我已经迫不及待要想讨论以弗所书1:4-5中的“爱”的翻译问题了。明天就结束这个系列。以后可以使用“Kuawen, LLC”的名义提供网络安全咨询服务,$250一个小时,只聊天不动手。

下面是我2018年写的相同系列之一:“密码管理”。除了lastpass的部分,现在应该还没有过时,但内容略有增加:


很多人的账号被黑,密码币被盗,都是因为密码管理的问题。

一般来说,有三种情况:

1. 有人为了方便记忆,采用很简单的密码。这些密码早已经在黑客的字典库中,轻易就被破解了。比如,“0000”,“12345678”,“19800101”……
2. 有人把一个复杂的密码写在纸上,但是过一阵就忘记了。于是重新修改成为简单的密码。然后……同第1步一样,密码被破解了。
3. 有的人的密码很复杂,但是为了方便记忆,所有网站都是用同一个密码。但是有的网站被黑客攻破,所以密码丢失。于是,对于个人来说,他/她的所有网站都被破解了。

近来,关于密码的设定标准,已经有了新的修改。过去我们认为一个完全随机的长密码是最好的,但是这样的密码无法记忆,所以很难让每个人在每个账户上使用安全密码。有句玩笑说,经过20年的训练,我们已经成功地让每个人都采用人类难以记忆、而计算机很容易猜出的密码

现在的标准认为,攻击密码的主要方式是计算机暴力破解,所以密码是否随机无关紧要,只要足够长就可以抵御攻击。所以,建议大家使用pass phrase,也就是一句长长的句子来作为密码,好记又安全。

现代专家建议四种设置密码的方式:

  1. Bruce Schneier’s Method:把一个句子转变为一个密码。比如,根据唐诗“明月松间照,清泉石上流”,将你的密码设为“mysjzqqssl”,但若加上其他方法会更好一些。
  2. The Electrum Method:用随机的单词组成密码。比如,我曾经用“duck can not fly”作为密码,我能记住,但是别人很难猜到,熵值也足够高,让计算机也很难猜。这种方法近年来有失效的趋势,因为黑客也开始采用以单词为单位的暴力攻击了。
  3. The PAO Method:讲故事,要有一个人物,一个动作,和一个对象(person-action-object)。所以,找一幅图片,然后根据图片编一个故事,作为你的密码。记住那幅图片即可。
  4. 肌肉记忆法:设定一个随机密码,不要用大脑记忆,而是在键盘上反复输入n遍,直到你的肌肉记住密码为止。如果群众需要,我可以开发一个训练程序,设定一个时限和正确率,帮助大家训练。

但是最重要的原则是,每个网站的密码一定要不同(!!),所以无论采用怎样的方式,都会带来很大的记忆负担。

比如,我有521个网站设定了密码和用户名以及注册邮箱、电话等信息。另外还有72条安全笔记,比如我的公钥和私钥,家里的路由器配置参数,wifi密码之类。事实上,无论如何,我都不可能把所有密码记住。

所以,我们需要密码管理器

我不推荐商业产品,只是介绍我现在使用的密码管理器:lastpass。lastpass有免费版的,但我总是使用付费版,一个月2美元,等于我在超市结帐的时候顺手拿了一盒口香糖。(从前我使用lastpass,而且是付费版。但**lastpass上个月改变了用户协议——**还是一样,没有永久免费的服务,没有物美价廉的服务,只有认真付出代价的服务。所以,即使痛苦,即使我的付费版仍然正常工作之中,我也花时间将密码管理器更换了)。

即使免费版,也可以帮助你保存密码、生成强密码、浏览器插件自动填写密码、手机app同步等等功能。如果不放心,也可以将所有密码导出到本地保存,lastpass就变成一个本地密码管理器。

但是,我喜欢将密码保存在云端,这样随时都可以访问所有网站,又有足够的安全性。

只要认真使用,lastpass可以大大提高我们上网的安全性。

我的密码管理器是bitwarden,网站是https://bitwarden.com/。

照例,这是免费、开源、口碑良好的软件工具。(警告:本文不是推荐工具,也和bitwarden没有任何商业关联。若照此采取行动,出现安全问题,我不承担责任。我鼓励大家自行研究和选择适合你的工具集合。)

bitwarden(或者其他密码管理器)带有浏览器插件,可以帮助填写用户名和密码,也可以自动保存某个网站的用户登录信息。另外,它也可以帮助生成任意长度的随机密码,确保每个网站的登录信息都不一样。

bitwarden也有手机app,可以在pc端和手机端同步数据,协同工作。

简单说一下密码管理的原则。

  1. 你必须记住一个很长的主密码。这个密码用来打开密码管理器。主密码要长——我用了超过30位长度的主密码,确保暴力攻击破解的时间会长于我在世上与主同行的时间(参创 5:22b)。
  2. 这个密码可以考虑使用一句话,比如电影《风语者》里印第安人说的一句话。使用你不常用的语言,基督徒可以考虑使用亚兰文圣经或拉丁文圣经或七十士译本,找一句喜欢而不常见的经文(不要用诗篇23或约翰3:16),花一个小时背诵下来。我的导师Geoge Murray博士大概会推荐路加福音 17:32——据说,他结婚的时候,同学们送了他一块刻有圣经经文的牌子,上面写的就是这句话。但记住,不要使用中文,换一种语言更好。
  3. 在手机上安装一个两阶段认证的app——我现在使用的还是lastpass的authenticator,但谷歌,微软什么的也行。在美国的时候,我们可以自己diy一个硬件authenticator来用,但现在我使用google titan作为物理凭证。
  4. 使用两阶段认证(不要用手机短信作为认证凭证,因为通讯服务商很容易拦截短信上的验证码。使用authenticator或fido2的凭证保护密码管理器。
  5. 将所有密码都集中管理在密码管理器中(我使用bitwarden),所有生成密码的地方,都使用密码管理器来自动生成随机密码,绝不要记忆任何多余的密码——只有这样才能保证每个网站的密码都不一样。
  6. 定期改变常用重要网站的密码,比如常用邮箱,聊天工具,银行网站等。

简明的部分就差不多了,其他的不说也吧。明天总结一下,就结束了。TOS一章应该是计划之外。