编者按:密码作为一种重要的身份认证手段,随着时代的演变,也在不断更新。在1976年,美国密码学家迪菲和赫尔曼在一篇题为“密码学的新方向”一文中提出了一个崭新的思想,不仅加密算法本身可以公开,甚至加密用的密钥也可以公开。
但这不意味着保密程度的降低。因为如果加密密钥和解密密钥不一样。而将解密密钥保密就可以。这一理论的提出,无疑打开了密码学新篇章。本文节选了汪德嘉博士《身份危机》一书中的账号密码体系,带大家一起解密账号密码的发展现状及账号密码存在众多的安全性及可用性问题。
账号密码发展现状
20世纪90年代互联网进入千家万户以来,互联网服务(如邮件、电子商务、社交网络)蓬勃发展,账号密码成为互联网世界里保护用户信息安全的最主要手段之一。也是现今大多数网络系统所使用的最简单的访问控制方法,通过密码的匹配来确认用户的合法性。
系统为每一个合法用户建立一个ID/PW(账号/密码)对,当用户登录系统时,提示用户输入自己的账号和密码,系统通过核对用户输入的账号密码与系统内已有的合法用户的ID/PW是否匹配,来验证用户的身份。
“账号+密码”身份验证方式中提及的密码为静态密码,是由用户自己设定的一串静态数据,静态密码一旦设定之后,除非用户更改,否则将保持不变。这也就导致了静态密码的安全性缺点,比如偷窥、猜测、字典攻击、暴力破解、窃取、监听、重放攻击、木马攻击等。
另一方面,由于许多用户为了防止忘记密码,经常采用诸如生日、电话号码等容易被猜测的字符串作为密码,或者把密码记录在一个自认为安全的地方,这样很容易造成密码泄露。
当然,为了从一定程度上提高静态密码的安全性,用户可以定期对密码进行更改,但是这又导致了静态密码在使用和管理上的困难,特别是当一个用户有几个甚至几十个密码需要处理时,非常容易造成密码记错和密码遗忘等问题,而且也很难要求所有的用户都能够严格执行定期修改密码的操作,即使用户定期修改,密码也会有相当一段时间是固定的。账号密码的不足之处主要表现在以下几点:
账号密码的易用性和安全性互相排斥,两者不能兼顾,简单容易记忆的密码安全性弱,复杂的静态密码安全性高但是不易记忆和维护;
账号密码安全性低,容易遭受各种形式的安全攻击;
账号密码的风险成本高,一旦泄密将可能造成最大程度的损失,而且在发生损失以前,通常不知道静态密码已经泄密;
账号密码的使用和维护不便,特别一个用户有几个甚至十几个静态密码需要使用和维护时,静态密码遗忘及遗忘以后所进行的挂失、重置等操作通常需要花费不少的时间和精力,非常影响正常的使用感受。
静态口令认证技术在面临上述形式的网络攻击时就显得非常的脆弱,攻击者非法获得合法用户的口令并入侵网络系统的安全事件经常发生。为了提高静态口令认证系统的安全性,一些系统对用户的口令管理作一定的限制,例如限制口令的长度和内容
要求定期更换口令
要求用户在固定时间段内登录
要求用户在固定设备上登录
不允许多人共享一个用户名和口令等。
尽管账号密码存在众多的安全性及可用性问题,同时也有大量的新型身份认证技术被提出,这些替代型方案有的在安全性方面优于账号密码,有的在可用性方面胜过账号密码,但几乎都在可部署性(deployability)方面劣于账号密码,并且各自存在一些固有的缺陷。账号密码身份认证方式凭借其简单易用、成本低、容易更改等特点,在可预见的未来,仍然是互联网中最主要的身份认证方式。
账号密码市场调研分析
静态口令即账号密码,账号密码是由人生成的,因此帐号密码的安全性与人有着必然的联系,大多数用于为了记忆方便,习惯性使用弱密码、多个平台使用同一密码、未定期更换密码等。
比如,同样是注册12306账号,有的人认为该账号不重要,使用弱口令“111111”作为密码;也有的人采用“p@ssword”作为密码,但是,如果其他人也有同样设置密码的习惯,攻击者即会了解这一用户行为,该密码也就成为弱口令的一种;再有的人习惯用自己的生日作为密码,甚至是多个平台使用同一密码,这一用户行为大大降低账号密码的安全性。
在第二届国家网络安全宣传周的启动仪式上,《我国公众网络安全意识调查报告(2015)》正式发布。该调查为我国首次开展的全国性网络安全意识调查活动,在一个月的时间里,回收有效问卷25万余份,调查对象覆盖我国31个省(区、市),年龄跨度从7岁的儿童至60岁以上的老年人。我国公众使用账号密码安全性问题主要表现在如下三个方面:
1. 弱口令
1979年,Morris和Thompson在他们的开创性论文里分析了3289个真实用户口令,发现86%落入普通字典,33%可以在5min内搜索出来。后续大量研究表明,除了选择单词作口令,用户常常将单词进行简单变换,以满足网站口令设置策略的要求。
比如“123abc”可以满足“字母+数字”的策略要求。这些最流行的单词及其变换就形成了国民口令。中文国民口令多为纯数字,而英文国民口令多含字母,这体现了语言对口令行为的影响。有趣的是,爱情这一主题在国民口令中占据了重要地位。高达1.01%~10.44%的用户选择最流行的10个口令,这意味着攻击者只要尝试10个最流行的口令,其成功率就会达到1.01%~10.44%。
2. 未定期更换密码:
《我国公众网络安全意识调查报告(2015)》显示,定期更换密码的被调查者仅占18.36%,而遇到问题才更换密码的被调查者有64.59%,有17.05%的被调查者从来不更换密码(见图6-1)。
对此,工业和信息化部电子科学技术情报研究所所长洪京一表示,定期更换密码对保证个人账户安全、防止个人隐私泄露具有重要意义,尤其是个人网银等较为重要的账号应该定期更换密码。
图6-1 公众更换密码情况分析
3. 多账号同密码
调查指出,公众多账号使用同一密码的情况高达75.93%(见图6-2),多账户使用同一密码更容易遭到黑客攻击,因为黑客可通过防御性较弱的网站获取密码信息,再登录到账户中进行信息窃取。
调查显示,我国超七成被调查者存在多账号使用同一密码的问题,特别是青少年多账号使用同一密码的比例高达82.39%。
图6-2 公众密码设置情况
技术原理
在账号密码技术的运作过程中,系统将账号密码的配对信息以密文形式存储在数据库中,通过系统管理员分配给用户,用户在需要进行身份认证时,在页面输入注册的用户名及密码,系统获取这组输入的信息后,将其与数据库中存储的用户名,密码进行比对,比对一致即视为认可该用户为合法用户,若比对不通过,则视为非法用户。静态密码技术原理图(见图6-3)。
图6-3 静态密码技术验证流程图
用户名(账号)/密码的对比校验支持在本地完成,对于无需网络支持的系统或者移动端信息系统,例如手机、平板电脑的开机密码,我们称之为本地密码认证,而与之相对的是远程密码认证,一般用于需要网络支持的应用及信息系统,由服务器端来负责验证,例如电子邮件、网络游戏的账号、密码等。
账号密码的存储方式分为:Hash杂凑存储、盐处理存储等,详细介绍如下:
Hash杂凑存储
技术原理
使用杂凑函数为口令文件产生指纹,将每一个用户的账号和密码的杂凑值存储在一个口令文件(数据库)中。当用户需要认证身份时,输入口令后,系统在计算口令的杂凑值,与数据库中存储的杂凑值比对。比对成功,则身份认证成功;反之,若比对失败,则身份认证失败。静态密码杂凑存储技术原理(见图6-4)。
图6-4 静态密码杂凑存储技术原理
加盐处理
技术原理
加盐加密是一种对系统口令的加密方式,它实现的方式是将每一个口令同一个叫做“盐(salt)的n位随机数相关联。
无论何时只要口令改变,随机数就改变。随机数以未加密的方式存放在口令文件(数据库)中,这样每个人都可以读。不再只保存加密过的口令,而是先将口令和随机数连接起来然后一同加密,加密后的结果放在口令文件中。静态密码加盐存储技术原理(见图6-5)。
图6-5 静态密码加盐存储技术原理
在带有盐度值的安全哈希加密算法中,盐度值的作用极其重要,通过系统为每个用户随机生成一个盐度值,并与用户提供的密码相结合,使得用户的密码具有高度的随机性,即便多个用户提供了相同的密码,但由于系统为他们随机生成的盐度值的不同,使得他们密码的哈希值也是不同的。
这样,即便攻击者可以通过特定的密码和其对应的哈希值来找具有这个特定密码的用户,但是其成功率就明显地降低了。
带有盐值的Hash算法优势
采用带有盐值的安全哈希加密算法对用户密码进行加密后,即便多个用户提供了相同的初始密码字符串,但由于系统为每个用户随机生成的盐值不同,而使得加密得到的密文不同,这就使得利用字典、彩虹表进行攻击的攻击者需要为每个盐度值创建一条字典记录,这将使攻击变得非常复杂。
此外,通过将系统提供的较长的、含有特殊字符的附加码和用户输入的密码相结合,可以使得明文密码进一步随机化,并且增加了明文密码的长度,这也在一定程度上增加了攻击者利用字典、彩虹表进行攻击的难度。因此,采用带有盐度值的安全哈希加密算法对用户密码进行加密可以很好地提升用户密码的安全性。
结束:
在现代密码学中,除了信息保密外,还有另一方面的要求,即信息安全体制还要能抵抗对手的主动攻击。
所谓主动攻击指的是攻击者可以在信息通道中注入他自己伪造的消息,以骗取合法接收者的相信。主动攻击还可能窜改信息,也可能冒名顶替,这就产生了现代密码学中的认证体制。该体制的目的就是保证用户收到一个信息时,他能验证消息是否来自合法的发送者,同时还能验证该信息是否被窜改。在许多场合中,如电子汇款,能对抗主动攻击的认证体制甚至比信息保密还重要。
社会已逐步步入了信息时代,随着数据库技术和计算机网络应用的不断深入,信息的安全传输也有着广阔的应用前景。
PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。用户可利用PKI平台提供的服务进行安全通信。PKI的理论基础是基于密码学,它所使用的基础技术包括加密(非对称和对称)、数字签名、数据完整性机制、数字信封、双重数字签名等。在下篇文章中将带大家一同了解什么PKI体系?又是什么?敬请期待!