密码安全

前  言

 

密码是人类的发明,且历史久远。随着互联网时代的到来,密码更被广泛使用,并与人们的生存状态紧密相关,作为从现实进入各种虚拟身份的关卡,密码安全知识也成为现代人必备的基本信息素养。

不知晓风险,也就无从应对风险;要了解密码安全知识,首先应该了解密码的风险来自何方。

 

一、密码风险的来源

 

潜在但会影响密码安全的人或群体,可以分为以下五类:

(一)你自己

有点奇怪吗?但想一想,或者你自己随意使用了一个简单的密码,被轻而易举的破解,造成信息损失;或者你设置了一个难记的密码,急需使用时却无法想起,这样的例子不胜枚举。所以,第一个需要防范的正是你自己不够严谨的密码设定习惯。

(二)你身边的人

包括你的同事、朋友、商业伙伴、家庭或亲戚。因为他们知道你的一些私人信息,如果你设置的密码是常用个人信息的组合,就很容易被他们猜中,并造成你的隐私或其它秘密的泄露。

(三)网络上的窃密者

网络上有许多出于各种目的窃取信息的人。他们使用大量设备,各类密码库,多种算法,长时间的测试、破解网络账户,如果你不幸被他们盯上,你的密码又不够安全,那你将没有任何秘密可言。

(四)提供服务的网站

你你所使用的网络服务商是可信任的吗?其实,你无法确定他们会不会为了自己的利益而盗用你的密码或出售你的个人信息。即使他们不会主动这样做,他们是否有足够保管密码的能力。最近几年就有国内几个大型网站把用户密码泄露出去的报道,其中包括中国知名的技术社区 CSDN 和和国内大型社区天涯论坛。另外,你还要防范这样一种可能:几个网站串通起来,从你的几个不同的账户密码,来推测你密码生成的规律,用于破解你其它账户的密码。

(五)电脑被抄、被盗

最后,你还要防范一种更恶劣的情况 ——你的电脑被抄、被窃。当你的电脑硬件被非法占有的时候,是否仍然能保证你的信息安全?类似的例子还有,如果你的电脑发生故障无法启动,在送去维修的过程中,是否能防范信息泄露?另外,现在有一些账户的安全性是与手机绑定在一起的,如果你的手机丢失或被监听,怎样保证你的账户安全?

以上五类风险,我们在讨论密码安全问题时需要有足够的了解,并在设置密码时,把这五类风险作 为考虑密码安全性的整体框架进行防范。

 

二、升级你的密码管理方法到密码算法

 

在互联网时代,不仅风险来源是多方面的,各种新应用也层出不穷,使得用户持有的各种账户数量不断增多,密码管理难度也不断增大,过去依靠记忆或记录来保存密码的方式已经不再适用。

现在,需要升级密码管理方法,启用一种更科学的密码算法来管理密码,使你的网络生活更安全、更有效率。

采用密码算法,只需要记忆一套密码规则,就可以管理多个账户,并且在遵循密码设计规范的情况下,获得足够的安全性。

 

三、密码算法简介

 

所谓密码算法,就是设计一个方法(算法)把一些与账户及密码有关联的字串混合起来,生成一个密码。

首先,生成四个字串:一个自定义的种子字串,一个与账户域名直接有关的字串(显字串),一个与账户域名间接有关的字串(隐字串),一个与注册环境有关的字串;

其次,根据自己的设定,在这四个字串中有规律的包含字母大小写、数字和符号;

最后,用一种方法把这四个字串混淆起来,形成一个安全度较高的密码。

下面分别介绍这三个环节的具体算法。

 

四、三步法密码算法生成步骤

 

辅助生成一个完整密码算法的流程,共分为三步:

第一步  辅助生成四个字串;

第二步  伪装字串;

第三步  混淆字串。

以下分别介绍:

(一)辅助生成四个字串

下表是定义、方法及示例,你可以根据此表的示例做适合自己的扩展与扩充。

表

 附表1:网站域名隐字串模拟定义

表2

(二)伪装字串

为使密码字串不容易被识别和破解,可以对以上字串做伪装处理,包括以下三种方法:

1、 位移易识别字串:显字串和一些环境关联字串,如果容易识别,可以做位移操作,使它变得难以识别。比如 google 的前三位 goo ,可以位移两位,就是沿着英文26个字母的顺序分别向后读两位,g 就变成了 i ,o 变成了 q ,goo 位移两位就变成了:iqq ;

2、 设定字符串大小写:比如设定一组字串全部为大写字母,其它为小写字母;或者每个字串的首字母都是大写,其它字母是小写;

3、 嵌套隐藏字串:用一部分数值字串的值,做为另外一部分字串位移的数字,比如,用隐字串决定种子字串的位移,如果种子字串是 TMFE ,显字串是数字 10 ,那么就把 TMFE 按26个英文字母循环位移 10 位,变成:DWPO 。

(三)混淆字串

得到前面四种字串后,就可以做混淆操作了。也可以设计不同的混淆方式。

原始字串

表3-1

示例混淆方法:

1、混乱种子字串、显字串、隐字串、关联字串四者的顺序

2、可以把四个字串的首字母放在最前面,其它依次排列,比如:111123423223

3、可以后三个字串夹在前面一个字串中,比如:112321231234

 

五、示例步骤:模拟生成一个推特账户密码

 

练习题:用三步法给 twitter.com 生成一个密码

(一)生成四个字串

表3-2

(二)伪装字串

1、种子字串 hs36 大写为:HS36

2、关联字串bjszz位移1步,变为:cktaa

(三)混淆字串

其它字串倒序插入种子字串,HcktaaS33tir6

这样,就生成了 twitter.com 的密码 HchtkaS33tir6

 

六、结束语

 

掌握密码生成算法的原理和步骤仅仅是开始,一方面需要反复练习,做到熟能生巧、运用自如;另一方面,还需要不断探寻改进流程的方法,使它更趋完美。

密码算法还需善加使用,对于国内一些本身就不安全的网络应用,配置再强的密码意义也不大,密码只要方便使用就可以了。

要养成定期更换密码的习惯,比如一月换一次。

发表评论

邮箱地址不会被公开。 必填项已用*标注