如何正确设置和管理密码


作者:郑凯

首先,要使用密码管理软件,包括但不限于 1Password Lastpass Dashlane Bitwarden Roboform Keeper,各有优缺点而且将来可能某个软件爆出漏洞/作死操作,所以不具体推荐某一款,只要知道应该用软件来记就可以了。

每个网站一个密码。不要用 Chrome 等浏览器自带的。不要让插件自动填写密码(就是输入框已经填好的),必须手动操作才会填上去,防止其他插件、脚本嗅探密码。

密码分两种规则,一种有特殊字符,一种只有数字和大小写字母,因为有的蹩脚网站/app 不允许特殊字符。我是用脚本生成,如刚新生成的一个是 5hV4{3j,8rbP,qc,15 位长,中间一位是逗号 ,,因为如果你用的网站被黑了的话,通常被用于交流的格式叫 csv,每个字段之间以逗号分隔,如

id,用户名,邮箱,密码,生日,居住地

但如果密码本身包含逗号,可能会被截断,得到的是密码的前半段,可能还是用不了。毕竟大部分人被攻击并不是你多重要,而只是被顺便被攻击,你并不特别,这类错误数据会被剔掉。

其实跟常人想的字面意义不同,现代密码学不太考虑密码本身,而研究的是算法,具体的密码/密钥/盐/初始向量都只是算法里的参数而已。怎么起密码/存密码更多的是工程问题。反而是你只用鼠标点击网页时,倒是每时每刻都用到的高强度的 TLS 1.2/1.3 才是现代密码学的最新成果,也就是那些以 https:// 开头的网页。

最后再介绍个能大幅度提高安全性的方法:买一个自己的域名,使用企业邮箱,将所有未定义用户转到同一个邮箱。这样注册时,邮箱使用该网站的名字,假设我有个域名 example.com,那注册 zhihu 我用信箱 zhihu@example.com,注册百度我用 baidu@example.com,这样不同帐号之间没法用邮箱做关联。要知道世界上有大量网站泄漏了密码,如果你都用的同一个邮箱,哪怕是不同的用户名、昵称、生日,还是会被关联上,有一门手艺叫社会工程学,会通过这些信息寻找更高价值的用户(比方说某奢侈品网站注册过,或者是某网站的 VIP 会员),如果你被认为是孤立帐号,就会显得很没价值,也就更不容易被盯上。


在 zhihu 上看到个问题“精通密码学的人是怎么设置密码的?”随手写了个回答,过几天发现被删了……原因是“垃圾信息与违规营销”,以后不会在 zhihu 敲一个字了