高校信息平台用户口令安全策略研究

2016-11-21 05:13张烨青金健宇方丹丹
信息安全研究 2016年6期
关键词:字符串明文哈希

韩 霖 张烨青 金健宇 方丹丹

(对外经济贸易大学信息化管理处 北京 100029)



高校信息平台用户口令安全策略研究

韩 霖 张烨青 金健宇 方丹丹

(对外经济贸易大学信息化管理处 北京 100029)

(hanlin@uibe.edu.cn)

研究了高校信息平台用户口令安全策略,通过分析口令在创建、存储和传输过程中面临的威胁以及口令策略存在的脆弱性,并结合攻击者为了窃取用户口令可能采取的攻击手段,设计了基于挑战应答和加盐哈希运算的动态混合加密策略,实现口令在传输与存储过程中一律不以明文存在,在密文层次实现一次一密且运算不可逆,为用户提供口令明文不会被窃取的安全的认证过程.最后提出了在口令管理和用户习惯上的一些建议,作为利用技术手段保护用户口令的补充.

高校;信息平台;口令;传输;哈希;挑战应答

随着计算机技术和高校信息化建设的发展,信息平台成为高校信息共享、发布通知以及师生交流的重要载体,各用户具有与其身份对应的权限,并且每个用户在平台中都有与个人相关的大量信息,包括一些隐私信息.存在的威胁是一旦用户的口令泄露,高权限用户的权限将被利用获取更多其他信息或者进行恶意操作等,普通用户也会面临个人信息或隐私的泄露,可能会继续遭受社会工程学攻击等.所以保护好高校信息平台用户口令是用户认证的核心环节,也是高校信息化建设中非常重要的一部分[1].

1 脆弱性和面临的威胁

在建设高校信息平台过程中,往往更加重视平台的各项功能模块的开发,以满足学校各部门和广大师生使用的需求[2],用户口令的保存和传输往往设计得比较简单,导致脆弱性大大增加,无法应对口令的创建、存储和传输等过程中面临的威胁[3].如图1所示,攻击者在网络中可以对数据进行窃听,实施重放攻击、中间人攻击、SQL注入、碰撞口令以及暴力破解等众多攻击行为.

图1 面临的攻击

关于口令在创建、存储和传输中面临的威胁,具体分析如下:

1) 口令的创建

如果开放自由注册新用户,那攻击者可以随意注册用户并登录以获得更多应用系统相关信息来降低攻击难度,而对于高校信息平台的用户群体来说是相对比较固定的,所以每位教职工和学生都由管理员统一批量建立新用户,同时不开放注册,如此防止了不合法用户的存在,通过工号学号来识别用户也方便管理.

2) 口令的存储

口令的存储通常是在数据库中,面临的威胁分别来自Web前端、数据库软件、数据库运行所在的服务器操作系统以及数据库设计等方面.Web代码的不安全编写会导致注入等漏洞,被攻击者利用后可以获得甚至修改数据库中的信息,造成用户数据泄露破坏了数据库的保密性.数据库软件自身的漏洞和操作系统的漏洞同样会造成数据泄露甚至导致数据库不能提供服务等,破坏其可用性和完整性.口令数据在存储时,由于设计的失误如果以明文方式存储,在数据库信息泄露的情况下会造成更大的损失.

3) 口令的传输

用户在Web页面上输入口令登录信息平台,浏览器向服务器提交的数据包中包含用户的相关信息.其中口令部分数据的传输形式如果是以明文形式传输,那么在网络被攻击且数据包被截获的情况下攻击者可以直接获得用户的口令.而利用https来加密传输口令时虽然增加了安全性,但是在攻击者利用中间人攻击进行欺骗时仍可获得用户口令.开发者也可用加密和哈希算法对口令进行处理,再在网络中传输,但是加密和哈希算法在Web前端的代码中是可以被发现的,攻击者通过对代码的分析可以通过解密和查询彩虹表的方法来还原出用户口令.

2 动态混合加密策略

由于口令的创建过程经过严格的控制后用户是固定的,所以主要的安全问题和需要改进的环节在于口令的传输和存储,针对2个环节中的各个攻击面,本文设计了一套动态混合加密策略,使得攻击者在获取包含口令信息的网络数据包时也无法还原出口令明文,并且即使窃取到数据库中包含口令的内容后也无法还原出口令明文.主要利用到的是哈希算法和挑战应答机制[4-5].

1) 使用哈希保存口令的一般方案

哈希算法是一种单向的函数.它可以把任意数量的数据转换成固定长度的“指纹”,这个过程是不可逆的.而且只要输入发生改变,哪怕只有一个bit,输出的哈希值也会有很大不同.这种特性恰好适合用来保存口令.因为我们希望使用一种不可逆的算法来加密保存的口令,同时又需要在用户登录时验证口令是否正确.

在一个使用哈希的账号系统中,用户注册和认证的大致流程如下:

① 创建用户的账号.

② 用户口令经过哈希操作之后存储在数据库中.没有任何明文的口令存储在服务器的硬盘上.

③ 用户登录时,将用户输入的口令进行哈希操作后与数据库里保存的口令哈希值进行对比.

④ 如果哈希值完全一样则认为用户输入的口令是正确的.否则就认为用户输入了无效的口令.

⑤ 每次用户尝试登录时就重复步骤③和④.

在步骤④时不要告诉用户是账号还是口令错误.只需要显示一个通用的提示,比如账号或口令不正确就可以.这样可以防止攻击者枚举有效的用户名.

2) 哈希加盐技术

图2 动态混合加密

直接保存口令的哈希值容易遭受多种攻击,包括字典和暴力破解攻击、查表攻击、反向查表攻击以及彩虹表攻击等.查表和彩虹表的方式之所以有效是因为每一个口令都是通过同样的方式来进行哈希的.如果2个用户使用了同样的口令,那么他们的口令哈希也一定相同.引入加盐技术后使用相同口令的用户其口令的哈希值是不同的,具体的操作就是给口令加一个随机的前缀或者后缀,然后再进行哈希.这个随机的后缀或者前缀即为“盐”.

3) 本方案中的哈希加盐

利用哈希加盐技术,存储在数据库中的口令信息为用户名与口令字符串相接后再进行哈希计算的结果.在这里哈希计算的对象不是单纯的口令字符串,而是将用户名与口令拼接后的较长的字符串,其作用是防止在数据库泄露时攻击者可以通过彩虹表来查询出口令哈希值对应的明文.明文长度由于用户名的加入而变长,那么能够查询出明文则需要彩虹表数据库的规模大大超出攻击者或组织所能实现的计算量.

4) 本方案中的挑战应答

在用户打开登录页面时会收到服务器生成的一个随机字符串,该字符串在每个用户每次建立登录的网络连接时都不相同.此机制可以防止重放攻击和中间人攻击,攻击者在截获包含登录信息的网络数据包后,如果进行重放攻击,那么提交的加密结果一定不是通过服务器发送给攻击者的新随机字符串计算得到的,而是由旧随机字符串计算而来,那么在服务器端必然不能匹配成功.而进行中间人攻击时,攻击者只能截获用户单次登录产生的口令密文和通信的信息,无法通过逆运算来获得口令明文.在客户端先通过用户名和口令拼接的字符串计算哈希值,得到的32 b结果与随机字符串拼接后再进行哈希运算,在服务端则直接用数据库存储的哈希值与随机字符串拼接后进行哈希运算用于与用户提交密文进行比对.由于随机字符串的加入,在32 b哈希值的基础上再次增加了哈希运算的输入字符串的长度,同样使得攻击者由于计算量成本过高而无法实现破译.

如图2所示,在服务器的数据库中存在口令的哈希值t_h字符串,当用户打开登录页面时客户端向服务器发出登录请求,服务端生成随机的t_r字符串,并发送给客户端.用户在客户端输入的用户名和口令分别是t_u和t_p,通过式(1)计算得到哈希值t_h′,再通过式(2)计算得到哈希值t_h_r′,作为用户登录口令的密文发送至服务端.在服务端则通过式(3)计算得到哈希值t_h_r,并将其与接收到的t_h_r′进行对比,如果相同则可以证明用户知道正确的口令,并且是通过正确的随机字符串进行运算得到正确的密文,可以允许登录.

t_h′=Hash(t_u+t_p),

(1)

t_h_r′=Hash(t_h′+t_r),

(2)

t_h_r=Hash(t_h+t_r).

(3)

3 口令管理和用户习惯

从技术角度对口令进行保护的同时,也要在口令的管理和用户习惯上加强安全意识来作为补充,以防口令在技术之外的其他途径泄露.

首先,对于批量创建的新用户,其口令不应设置为相同的初始口令,否则在用户本人登录之前,可能有恶意尝试登录的行为,据不完全统计,在广大师生中存在大量长时间未首次登录或者登录后不更改口令的现象.所以初始口令应设置为与本人相关的个性化字符串,例如身份证指定的某几位,并且首次登录后要强制修改口令.

其次,如果口令过于简单,那么攻击者可以通过暴力尝试以很少的时间代价得到用户口令,所以在口令的强度上也要进行限制,口令要达到一定的长度以上,并且包含字母和数字甚至符号.

再次,要建议用户在设置口令时尽量不与其他账户共用相同口令,并且不要使用个人相关信息中容易被他人获得到的部分作为口令,以防攻击者猜测成功.

4 总 结

口令作为个人信息保密非常重要的一道关卡应该受到极大的重视,理想的状态是口令明文只有所有者所知,其他任何位置都不存在,进行记录和认证的只是口令的密文,并且不可用同一密文进行登录,也不能从密文恢复出明文.为了实现这个目标不仅从技术上进行处理,在口令管理和用户的安全习惯上也要加强.随着技术的不断发展,将来可能会出现更多先进的破解和攻击技术,这就需要我们不断学习和加强安全防护,更好地保护口令及信息的安全.

[1]谢瑾, 刘凡保, 谢涛. 网络用户账号密码安全问题调查[J]. 信息安全与技术, 2015 (3): 3-6, 10

[2]朱傲男, 周坤. 企业管理信息系统建设的密码安全策略[J]. 山东电力技术, 2010 (6): 78-80

[3]姚晓津, 彭汤静, 詹东东, 等. 新时期企业安全管理信息系统的实现策略探究[J]. 电脑与电信, 2015 (3): 82-84

[4]蒋巍巍, 沈鑫, 傅川. 基于混合密码体制的Web用户验证安全策略[J]. 计算机时代, 2007 (6): 20-22

[5]黄朝阳, 徐颖. 一种改进的基于挑战/应答机制的动态口令认证方案[J]. 中国科技信息, 2009 (4): 103-105

韩 霖

硕士研究生,助理工程师,主要研究方向为信息安全、软件工程.

hanlin@uibe.edu.cn

张烨青

硕士研究生,助理工程师,主要研究方向为计算机技术、信息安全.

zhangyeqing@uibe.edu.cn

金健宇

硕士研究生,助理工程师,主要研究方向为计算机技术、大数据.

jinjianyu@uibe.edu.cn

方丹丹

硕士研究生,工程师,主要研究方向为教育技术、大数据.

fdd@uibe.edu.cn

Research on Security Policy of Information Platform User’s Password in University

Han Lin, Zhang Yeqing, Jin Jianyu, and Fang Dandan

(DepartmentofInformationManagement,UniversityofInternationalBusinessandEconomics,Beijing100029)

This paper studies university information platform user password security policies, by analyzing the threats and vulnerabilities faced in the process of password creation, storage and transmission, and password policy, combined with the attacker to steal user passwords may take means of attack, the design of the dynamic mixing of challenge response and salted hash algorithm based on encryption strategy, realize the password in the process of transmission and storage shall not expressly exists, in the cipher text level to achieve a one-time-pad encrypt and irreversible operation, for the user provided password expressly not stolen safety certification process. At last, some suggestions are put forward on password management and user’s habit.

university; information platform; cryptography; transmission; Hash; challenge response

2016-05-29

TP309.2

猜你喜欢
字符串明文哈希
基于特征选择的局部敏感哈希位选择算法
哈希值处理 功能全面更易用
基于文本挖掘的语词典研究
文件哈希值处理一条龙
奇怪的处罚
SQL server 2008中的常见的字符串处理函数
奇怪的处罚
四部委明文反对垃圾焚烧低价竞争
巧用哈希数值传递文件
最简单的排序算法(续)