APP下载

哈希算法在口令访问控制模块中的应用研究

2018-10-17蒋志强

计算机时代 2018年8期
关键词:数据加密身份认证访问控制

蒋志强

摘 要: 为了加强应用系统用户口令的安全性,本文在口令访问控制模块中引入了单向哈希算法,提出一个安全用户认证模型,采取有效的数据加密技术来控制存取数据访问。通过哈希算法把用户身份认证信息加密后以密文的形式存放在数据库中,进一步提高了系统的安全性。对于身份认证,相对于明文的验证方式,哈希认证的单项散列特性使它更加具有安全性,对穷举攻击更具有抵抗性。

关键词: 访问控制; 身份认证; 哈希算法; 口令; 数据加密

中图分类号:TP315 文献标志码:A 文章编号:1006-8228(2018)08-54-03

Application of Hash algorithm in password access control module

Jiang Zhiqiang

(Zhixing College Of Northwest Normal University, Lanzhou, Gansu 730070, China)

Abstract: In order to enhance the security of the user password of the application system, this paper introduces one-way Hash Algorithm to the password access control module, proposes a secure user authentication model and takes effective data encryption to control data access. The Hash algorithm is used to encrypt the user identity authentication information and the encrypted information is store as ciphertext in the database so as to further improve the security of the system. Compared with the verifying method of the plaintext, one-way hash characteristic of the Hash authentication makes it more secure and resistant to the exhaustive attack.

Key words: access control; identity authentication; Hash algorithm; password; data encryption

0 引言

随着网络技术的不斷发展和计算机应用管理系统的普遍运用,信息安全越来越受到人们的高度关注。建立信息安全体系,目的是保证存储在计算机及网络系统中的数据只能够被有操作权限的人访问,而未被授权的人无法访问到这些数据。身份认证是网络安全中最令人关心的热点问题之一,所谓身份认证,就是判断一个用户是否为合法用户,从而确定该用户是否具有对某种资源的访问和使用权限,保障授权用户的合法权益,防止非法用户获得资源的访问权限[1]。身份认证技术是在计算机网络中确认操作者身份的过程而产生的解决方法。目前身份认证的主要手段有静态密码,短信密码,动态口令,生物识别,智能卡等。在这几种身份认证方式中,基于口令的认证方式由于实施便捷、成本较低而应用最为广泛,这种简单身份认证方式是系统通过比对用户输入的用户名和口令,看其是否与数据库系统中存储的该用户名和口令一致,来判断用户身份是否正确。对于用户个人或者企业的身份认证信息,如果不使用有效的加密存储技术,一旦数据库被攻击,身份认证的信息将完全暴露出来[2]。因此,必须采取加密措施来控制存取数据访问。复杂一些的身份认证方式采用一些较复杂的加密算法,使计算机和网络系统的访问策略能够更可靠、有效地执行,进而保证系统和数据的安全性。

1 单向哈希算法概述

哈希算法是现代密码学的中心,应用于很多密码系统中,现在常用的几种Hash算法有MD5、SHA算法等[3]。单向哈希算法S(N)就是作用于任意长度的消息N,而返回一个固定长度的哈希值s,s=S(N),其中s长度为n。给定N,很容易计算s。给定s,根据S(N)=s计算N很难。给定N,要找到另一消息并满足S(N)=S(N')很难。也就是说,给定一个Hash值,求其逆是比较困难的,但通过给定的输入计算Hash值是比较容易的,因此也称Hash函数为单向Hash函数。

SHA算法是安全性很高的一种哈希算法,其主要功能是输入长度小于2^64bit的明文消息,经过预处理操作使数据的长度变成512bit的倍数,再按512bit为一个分组进行处理,最终得到固定长度为160bit的信息摘要,相比较MD4算法而言,主要增加了扩展变化,将上一轮的输出送到下一轮。因此,只要输入的明文发生细微的改变,信息摘要即散列值将会发生很大的变化,引起更快的雪崩效应,而且,由于其160bit的输出,对穷举攻击更具有抵抗性。

SHA-1算法实现的基本过程主要如下。

⑴ 将明文信息转换成位字符串。

⑵ 对转换后的位字符串进行补位操作。使得数据长度对512求余的结果为448,在位字符串后面先补一个1,1后面的其余位补0,直到长度满足补位操作的要求。总之,无论在什么情况下,补位是至少补一位,最多补512位。

⑶ 补长度值。在明文信息后面增加一个64位的二进制数据,来表示原始明文信息的长度,然后添加到已经进行了补位操作的信息后面。最终将原始信息的长度补到512位的倍数。

⑷ 初始化缓存。一个160位缓冲区用以保存中间和最终散列函数的结果。这个160位的缓冲区可以用5个32位的寄存器来表示,可以标识位:H0,H1,H2,H3,H4。在计算信息摘要之前初始化为:

⑸ 计算消息摘要。通过对补位和补长度两步预处理操作后的消息进行多轮迭代运算,最终得到一个长度为160位的字符串,以下面的顺序标识:

H0 H1 H2 H3 H4

2 哈希安全认证模型

目前的研究热点主要集中在基于Hash函数的口令管理方式上,此方式的特点是真正的口令是由Hash函数计算产生,如Gabber等提出的LPWA,Ros等提出的PwdHash,Halderman等提出的PasswordMultiplier和Yee等提出的Passpet方案[4]。安全哈希算法的设计思想是将一段明文,以一种不可逆的方式转换成一段位数固定的输出序列即散列值的过程[5-6]。

为了方便记忆,大多数用户在注册时往往会选取一些自己或家人的生日、生活中常用的号码以及比较短的、有意义的字母组合作为口令,但这些类型的口令数是有限的,也是极其不安全的,攻击者可以利用电脑将所有可能的口令存放在数据字典中,然后快速地遍历字典进行反复猜测与比对,并在很短的时间内就有可能猜出一个用户的口令。因此,可以在访问控制模块设计中,应用哈希散列函数的性质对用户注册时所输入的明文密钥进行散列操作,并把散列操作后的160位密钥存放到数据库中,以便提高系统的安全性。

在用户注册阶段,系统会对用户提交的注册信息进行严格的审核,用户的信息通过审核后,系统应用SHA-1散列函数对用户的密钥进行操作,并把操作后的密钥存到数据库中,使密钥的安全性不再依赖于数据库的安全性,提高了系统的安全性。在之后用户进行登录时,系统会将用户提交的密钥进行SHA-1散列,并与数据库中存储的密钥进行对比,若相等则为合法用户,否则认证不通过。整个流程如图1所示。

3 安全访问控制模块设计

访问控制模块实体认证的安全性主要集中在用户名对应的口令上。为了在口令管理方式上增强用户口令的安全性,此处在用户登录模块中采用口令机制结合单向哈希算法进行,如图2所示。

为用户注册和登录时输入的明文口令H()指哈希函数,即SHA-1散列函数,ID为用户名,为经过哈希函数运算后得到的散列值。

在用户进行普通注冊时,客户端把用户名和密文密钥发送给服务器,服务器进行哈希运算得到,然后以密文形式存储在数据库中,当用户进行普通登录输入明文密钥时,服务器再通过哈希函数运算得到,并根据用户名在数据库中找到与之对应的哈希值,比较即可认证通过。这样可保证在数据库被攻击的情况下,攻击者得到的只是哈希值,就很难推测出用户的口令原文。

这样,在普通注册登录模块中引入单向哈希算法时,注册和登录所输入的明文密钥经过哈希散列函数多轮迭代运算后,最终得到一个160位哈希值的密钥,并存放在数据库的Password表中,该表用来存放用户名和口令,这里实际存储的是经过哈希算法加密后的口令,如图3所示,从而加大了密码攻击难度。

4 结束语

身份认证技术是现代网络安全系统设计中必须要考虑的问题之一。本文先介绍了单向哈希算法以及哈希安全认证模型,再进行了安全性分析,着重对哈希算法在基于口令访问控制模块中的技术应用进行了研究。在用户注册登录模块中引入SHA-1散列函数对用户所输入的明文密钥进行了散列操作,并把经过散列操作后的密文存放在数据库表中,也就是说数据库中存放的就是经过加密后的用户身份认证信息,即使非法用户得到了数据库中加密后的口令数据,也无法解析出口令原文,从而有效抵抗非法用户的各种攻击,进而提高了数据库系统的安全性。随着计算机技术的不断发展,还有待我们改进哈希算法,并在口令访问控制模块中结合其他先进的加密算法对认证信息进行更为细微度的管理。

参考文献(References):

[1] 刘蔚洋.电子商务CA认证加密技术浅析[J].现代商业,

2016.11(1):55-56.

[2] 高洪波,马素萍.MD5算法及在用户口令加密应用中的改进[J].

物流技术,2010.30(9):83-84

[3] 王凤忠,吕亚飞等.军事物流数据库加密与AES算法的探究[J].

物流技术,2016.36(9):164-168

[4] 黄伟,孟博等.基于口令的安全用户认证模型[J].现代电子技

术,2003.27(21):79-82

[5] 方宏.电子文件管理系统的设计与实现[D].湖北工业大学硕

士学位,2016.

[6] 徐安东.Visual C#程序设计基础[M].清华大学出版社,2012.

猜你喜欢

数据加密身份认证访问控制
ONVIF的全新主张:一致性及最访问控制的Profile A
大数据时代个人隐私的保护
校园网云盘系统存在的安全问题及对策
AES和RSA混合加密技术在网络数据传输中的应用
基于指纹身份认证的固定通信台站干部跟班管理系统设计
云数据存储安全关键技术研究
动态自适应访问控制模型
Kerberos身份认证协议的改进
浅析云计算环境下等级保护访问控制测评技术
基于USB存储设备的透明监控系统