电子邮件系统,网上银行系统,各种C/S模式的客户端,B/S模式的登录界面,甚至个人计算机等等,都要应用到身份识别系统。这些系统的身份识别大都使用“用户名+固定密码”的认证方式,用户直接在登录界面输入用户名和密码,然后提交服务器端认证。这种身份识别方式的优点是简单、方便、便于记忆,但是却隐藏着很多的安全隐患,非法用户只要知道合法用户的用户名和密码,就可获得合法用户的使用权限,从而窃取相关资料。为此基于AES加密算法的适合各种身份识别的动态密码生成机制应运而生。

一、AES加密算法

AES加密算法是美国国家标准技术研究所NIST旨在取代DES的加密标准。

AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES加密有很多轮的重复和变换。大致步骤如下:

1、密钥扩展(KeyExpansion),

2、初始轮(Initial Round),

3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,

4、最终轮(Final Round),最终轮没有MixColumns。

二、AES加密算法在身份识别中的应用及可行性分析

1、AES加密算法在身份识别中的应用

在身份识别系统的应用中,我们先设计一种加密计算器用于生成动态密码,该计算器中存有用户ID(数字)和原始密码。在每次需要身份认证之前,登录系统给用户6-8位的随机数,用户将随机数输入至加密计算器中,计算器将用户ID、原始密码和随机数按照一定的规则组成128位的明文,再将其按不同的规则组成128位的密钥,利用AES加密算法将明文和密钥计算得到128位的密文。

为了方便用户,我们再将计算器计算得到的128位的密文用哈希函数进行压缩至3字节,该3字节压缩密文即作为每次身份认证的动态密码。将该动态密码输入至身份识别系统,在身份识别系统中运用同样的算法生成3字节的密文,若用户输入的密文同身份识别系统生成的密文一致,则认为该用户为合法用户,否则为非法用户,拒绝其登录。

由于用户的原始密码只存在加密计算器和登录验证系统中,是完全不公开的,而且登录系统每次提供给用户的随机数都不相同,根据AES加密算法计算出的密文也不相同,即每次的登录密码不同,因此可以非常有效地保护合法用户的密码信息。

2、AES加密算法在身份识别中的应用的可行性分析

对身份认证系统的这种改进,是利用了每次计算生成的登录密码的随机性来对用户信息进行保护,因此产生的动态登录密码的重复率要低,才能保证每次操作足够的安全性。为此,我们做了以下实验来验证该算法产生动态密码的重复率:

实验一:

明文前3字节为000000—999999,后13字节全为零;密钥为000102030405060708090A0B0C0D0E0F;用上述的AES加密算法进行加密,得到128位的密文,再利用哈希函数将该密文压缩至3字节。表1给出其中二十万个数的重复率;表2给出其中四十万个数的重复率;表3给出百万个数的重复率。由表3可以计算出,对于任给一个随机数,使用者猜出另一个随机数,使两个数对应密文相同的概率为6*10-8

实验二:

明文前0字节为000000—999999,后13字节全为零;密钥为010102030405060708090A0B0C0F(和实验一比较密钥仅改变了一位);用AES加密算法进行加密,得到128位的密文,再利用哈希函数将该密文压缩至3字节。表4给出其中二十万个数的重复率;表5给出其中四十万个数的重复率。

三、AES加密算法在身份识别中的应用的可行性分析实验结果比较、分析

分析实验一、实验二的结果及对其比较可得以下结论:

1、密钥任意改变一位对应同一明文其密文改变很大,即AES加密算法的扩散性很好。

2、密钥任意改变一位其重复率改变不大并且重复率很小,这样可以保证足够高的安全性。

3、对于百万个数进行穷举比较,重复率为5.83%,任给两个数对应密文相同的概率为6*10-8

由此可以看出,将AES加密算法运用到各种身份识别系统中,由于采用的是动态密码的形式,可以很好地保护用户的登录信息,从而有效地保护用户信息。但是使用这种身份识别方式也会带来一些弊端,例如要求用户配备加密计算器,这无疑会增加开支;对于原来的身份识别系统也要进行重新的改进;对于大量的用户同时在线时如何提高其执行速度也是一个待解决的难题。

小知识之身份识别技术:

身份识别技术采用密码技术(尤其是公钥密码技术)设计出安全性高的协议。可分为以下两种方法:

(一)口令方式:口令是应用最广的一种身份识别方式,一般是长度为5~8的字符串,由数字、字母、特殊字符、控制字符等组成。用户名和口令的方法几十年来一直用于提供所属权和准安全的认证来对服务器提供一定程度的保护。

(二)标记方式:标记是一种个人持有物,它的作用类似于钥匙,用于启动电子设备,标记上记录着用于机器识别的个人信息。