Ethan's Blog

记录和思考

个人密码安全策略

互联网的时代,我们无可避免要使用各个网站提供的服务,我们使用论坛来交流,使用微博来社交,使用邮箱来联系,使用网银来购物…… 每使用一个服务我们通常需要一个账户和密码来进行认证,就像我们有了一个个的储物箱和一把把对应的钥匙。随着使用互联网的时间越来越长,我们有了数不清的网络账户和密码,那么,对于如此众多的账户,应该采用什么样的策略维护庞大数量的用户名和密码?

有的人选择一个自己常用的用户名、邮箱和密码组合,无论注册什么网站,使用什么服务,都使用同样的一套账号和密码,以为这样方便又好记,但是殊不知这样完全将自己放到了一个非常危险的地步。一旦自己的密码泄漏,随之而来的是其他所有账户都存在了风险,特别是对于网银、邮箱等等敏感的账户,一旦泄漏,后果不堪设想。难道我们要为每个账户单独设置密码?这样岂不是根本记不过来!那么,究竟应该如何处理便利与安全的关系,制定即方便又相对安全的个人密码策略?

我把个人密码安全策略概括成三个原则:

  • 使用不易被猜到和难以被暴力破解的密码
  • 密码分级,不同重要程度的网站账户使用不同的密码
  • 定时更换密码

在平时注册和使用网络账号的时候,有意识的使用基于这几个原则的个人密码安全策略能够有效地规避风险。

使用不易被猜到和难以被暴力破解的密码

我们首先要明白,什么是不安全的密码。密码的不安全性主要体现在三个方面:

首要的是泄漏。例如注册的某个网站存储了你的明文密码,然后数据库泄漏了,自然你的密码也就被广而告之了,这留待后文的另两个原则中讨论。

其次是使用简单密码组合,例如生日、姓名全拼或简拼以及姓名生日组合或者其他的特别容易被他人熟知的个人信息,这样的密码很容易被猜到,特别如果是某个特意留意你很久,想窃取你的密码的人或者黑客,猜出盗取你这样的密码简直易如反掌。

最后是密码的暴力破解,人们常常以为密码的暴力破解是使用一个个的字符(如数字 0-9, 字母 a-z 以及标点等)来穷举,实际不然,黑客通常会开发一些特殊的算号程序,这些程序拥有一些最基本的 “根” 字符词典,就像英语的词缀、词根一样,一般密码都会由这些 “根” 字符衍生出来。这些字符又叫密码字典,就是新华字典里选出字词来可以组合一句句话,从密码字典里选出 “根” 字符可以组成一个个密码,此外,黑客还可能会事先向目标电脑植入恶意程序来收集用户的输入习惯,例如,检测到用户经常输入 Ethan,那么密码字典中可能就有 Ethan123、Ethan111、123Ethan、Ethanpass 等等各种和 Ethan 相关的 “根” 字符,如果你使用的密码真的恰好就包含 Ethan,那么破解起来毫不费力。

这样,知道了密码不安全性的主要缘由,我们就应该反其道而行之,设计不易被猜到和难以被暴力破解的密码。

对此,给出的建议是不要用单一的词组来作为密码主体,而是要以一个短句的变形来设计密码,并在其中使用数字、符号等混淆信息。我觉得这样非常有效,推荐给大家。

举例来说,如果用户以 “This little piggy went to market.” 这句话为基础来设计密码,那么就可以设置成 “tlpWENT2m”,这里面包含了大小写和数字两种混淆信息,并且前后字符之间没有明显的联系,且从字面来看只有设置者才能理解其中的意思,因此一般的算号器将很难猜中。这样无疑能非常好地保护密码信息。

密码分级,不同重要程度的网站账户使用不同的密码

我们不可能所有的网站账户都使用一个密码,我们也不可能为每个账户设置单独的密码,那么比较好的折中办法就是对密码进行分级,针对不同重要程度的网站使用不同的密码。密码分级应该和自己的常用网站对密码安全的迫切程度分级对应起来,在不同重要程度的网站使用不同程度的密码。我建议密码分级为三级比较好。

最高级:绝密安全需求账号使用最高级密码

区分账号对密码安全的需求程度可以用考虑一旦密码丢失带来的潜在损失来衡量。一般最高级的绝密安全需求账号要是一旦丢失会为你带来物质或者隐私或者其他某方面损失威胁的账号,例如网银和支付宝的支付密码、含有重要商业机密的邮箱登录密码、个人财产管理(实际财产和虚拟财产)密码等等,对于这些账号应当设置最高级密码。

最高级密码应当至少 8 位字符,必须包含大写字母、小写字母、数字、符号四种类型字符的至少三种。要牺牲容易记忆来保证安全。

次高级:保密安全需求账号使用次高级密码

次高级安全需求账号主要指那些密码一旦丢失可能会丢失隐私、造成较大不便,对个人生活带来影响的账号,也包括如果丢失,会威胁到绝密型账号安全的账号密码。例如微博账号、QQ 登录密码、个人邮箱密码、微信密码、重要论坛密码、博客管理密码和支付宝和网银的登录密码等。对于这些账号应当设置次高级密码。

最高级密码应当至少 8 位字符,必须包含大写字母、小写字母、数字、符号四种类型字符的至少两种。可以平衡处理容易记忆和保证安全。

普通级密码:默认丢不丢失密码无所谓的账号

普通密码应用于对密码安全无所谓的账户,也就是说,如果密码丢失,自己不会有任何损失或者潜在风险的账户。要特别注意的是潜在风险包括影响上一级账户密码安全需求的账户。可以应用普通密码的账户包括各种中小网站、闲逛的论坛、社区和个人网站等。

普通密码应当至少 6 位字符,必须包含大写字母、小写字母、数字、符号四种类型字符的至少两种。平衡处理容易记忆和保证安全时可以稍微倾向于容易记忆。

这样把密码分级设置和使用时,已经能够较好地保证密码安全,但同时还要再考虑一个因素,那就是网站的安全性。例如,你觉得某个账户很重要,你需要对其设置次高级密码,但是这个网站本身却并不让人放心,只是一个小网站,那么这个时候你就要谨慎了,你可以为这个网站单独设置一个次高级密码,同样,你也可以一开始就设置两套次高级密码,一个用于安全系数高的网站,一个用于安全系数低的网站。总的来说,只要你掌握密码分级这个原理,你可以熟练的根据实际情况来调整策略。

定时更换密码

没有绝对的一成不变的安全,不变的是变化。无论多么安全的密码和策略都有泄漏和被破解的可能,我们能做的是定时更换密码,一直走在威胁的前面,让它永远无法追上你。

结语

密码在互联网时代的重要性不言而喻,我们有必要好好设计自己的密码,保障自己在互联网的生活安逸,遵循上述的个人密码安全策略能在一定程度上提高自己账号密码的安全性,规避个人信息和财产的丢失风险。

相关文章: