最大的安全漏洞并不是存在于什么程序或者服务器内,人类才是最大的安全漏洞

账户与密码,可能是我们生活中最不可或缺的一部分。虽然随着科技的不断发展,越来越多的公司开始朝着无密码化的方向发展,但当下,在没有找到比密码更加安全可靠的验证方式的情况下,学会保护我们的密码,仍然是一件非常重要的事情。

密码设置

密码的设置,是看似简单,其实却非常麻烦的一件事。

不同的账户,使用相同的密码不够安全,但全部设置成不同的密码,却又难以记忆。笔者身边的很多朋友不同账户都使用了相同的密码,就是因为太多的密码记忆起来太过麻烦,这种情况是非常危险的。

也许有人会疑惑,现在已经有了非常多的密码管理软件。使用这些管理软件,不就可以解决密码难以记忆的问题了吗?其实不然。密码管理软件当然是密码安全中一个重要的帮手,但它只是锦上添花而不是雪中送炭。在移动端APP大行其道的今天,很多软件并不支持自动填充,还是需要我们自己记忆。尤其是在国内和安卓上,这种情况尤为明显。所以,使用一个好用好记且比较安全的方法设置密码,是非常重要的。

笔者使用的方法,是拼音首字母法。

首先选择一句你能记住的话,喜欢的名言警句或古诗词都可以。例如People hate what they don't understand这句话,首字母为Phwtdu。我们都知道,密码的长度越长,使用的符号越多,越安全。所以,接下来,随机选择几个数字和几个特殊符号插入其中的特殊位置。比如,选择8567四个数字和+-两个符号,并将首字母两个分为一组,组成的密码为Ph85wt67du+-,组成了密码的基础组成部分。当然,你可以随意增加数字和符号,或者首字母的长度,以及字符插入的位置。

你选择的那句话,请一定不要透漏给别人。

接下来,当每创建一个新的账户时,创建密码的可变部分。

如果是微博,则可变部分可以为weibo或者wb;如果为腾讯系,则可以选择tengxun或者tx或者qq,weixin等。最后,按照你喜欢的顺序,将密码的可变部分与基础部分组装在一起,即可为不同的账户创建不同的密码。例如,按照上面的方式,微博的密码可以设置为Ph85wt67du+-wb;微信的密码可以设置为Ph85wt67du+-wx,不同的账户拥有不同的密码。

密码管理

上文中也说过,密码管理软件是密码安全中锦上添花的部分。善用密码管理软件,能我们的密码更加安全。

现在主要的密码管理类软件,笔者将其分为三类,下面是常用的软件:

  • 通用软件
    • LastPass
    • 1password
    • Keepass
  • 系统自带
    • Android
    • ios/macos
  • 浏览器
    • Chrome
    • Firefox

通用软件

通用软件的好处是跨平台,并且可以随时查阅。相比于浏览器,更加安全。

上述三个软件中,Lastpass有免费和付费账户,免费版即可满足绝大多数用户需求。1password是付费软件,据称比Lastpass可能更加可靠,笔者并未使用过,因此不做过多阐释。Keepass是开源软件。

推荐程度,Keepass > 1password > Lastpass,理由如下:

  • Keepass为开源软件,可以清楚看到源代码,不会有后门的风险,甚至可以自己修改,使其更加符合自己的需求。
  • Keepass数据存储在本地,可以通过各种你喜欢的云服务实现云同步。其它两个软件存储在自己的服务器上。1password也可以存储到云服务。
  • Keepass有许多实现不同功能的插件,甚至有些支持下文所述的两步验证。

三个密码管理软件的数据可以相互导入导出。

系统自带

Androidios/macos都自带了钥匙串的功能,ios/macos可以互通。系统自带的好处在于不用安装第三方软件,但查阅修改、添加纪录比较麻烦,国内Android更是无法使用。

浏览器

ChromeFirefox的密码管理软件大同小异,在浏览器中登录后,会记录用户名和密码,通过云同步在全平台客户端使用。移动端可以查阅复制。两者比较之下,Chrome的安全保护更加谨慎,用户查阅密码时需要输入系统账户密码。Firefox也可以设置主密码实现类似功能。

浏览器端的限制在于,浏览器内非常好用,客户端密码的记录比较麻烦。

其它浏览器的功能都不如这两家强大,所以不再阐述。

两步验证

两步验证,即在输入密码后,用户需要再次输入软件提供的一组随机验证码,以确保账户安全。是一种已经被广泛应用的账户安全措施。

在国内,使用最多的两步验证大概是短信验证和邮件验证,但很多软件其实还支持OTP算法生成的动态密码。比如我们熟知的QQ安全中心,不过它只能使用于QQ。

和它不同,绝大多数软件使用了通用的生成算法,在开启两步验证时,提供了二维码并要求你扫描的软件,都使用了通用算法。现在,最广泛的通用软件是Google的身份验证器应用,但无法备份数据是它的一大缺陷。当你重新安装应用或换用新手机,验证码无法转移。

如果你保存了当初的生成验证码,可以重新扫描;而如果你连密码都忘了,就需要重新启用两步验证,非常麻烦。

这里推荐一款开源的通用两步验证应用:andotp,点击这里下载。它可以使用自己的密码备份所有两步验证的数据,换手机时,只需重新导入备份文件即可。

例外情况

有时,手机未安装Google框架,不能扫描二维码。此时,可尝试使用系统自带二维码扫描器。

若还是无法使用。或者,软件并非提供二维码,而是一串字符串,该怎样生成二维码,设置两步验证?

其实,通用验证算法的格式是固定的:

otpauth://totp/username?secret=password&issuer=appName

可以根据自己获得的字符串,生成相应的二维码

密码保护

电影《我是谁:没有绝对安全的系统》中说:

最大的安全漏洞并不是存在于什么程序或者服务器内,人类才是最大的安全漏洞

不管算法生成的密码有多么安全,如果我们使用时不加注意,再复杂的密码也无法保证账户安全。

不轻易透漏自己的密码,账户最好不要与他人公用,尽量使用两步验证,多注意类似的安全小细节,才能更好地保护自己的账户安全。