APP下载

基于加密与消息认证的安全数字出版技术

2012-07-25鑫,曹

微处理机 2012年1期
关键词:加密算法密钥消息

崔 鑫,曹 祎

(中国电子科技集团公司第四十七研究所,沈阳110032)

1 引言

近几年随着科技进步,IT技术和互联网应用水平持续提高,数字出版的安全性一直是人们极其关心的问题,也是难以解决的问题[1]。

高级加密标准(Advanced Encryption Standard,AES)是美国国家标准技术研究所为了取代DES(Data Encryption Standard)算法而征集的加密标准,用以保护敏感政府信息。相比于固定密钥长度的3DES算法,AES算法速度更快、性能更加优秀。AES算法采用分组密码体制,密钥长度最少支持128、192、256bit,数据分组长度为 128bit,同时 AES算法易于各种软硬件实现[2]。

消息摘要算法是把任意长度的数据输入柔和而产生长度固定的伪随机输入的算法。密钥Hash消息认证码(Keyed-Hash Message Authentication Code,HMAC)的出现有效地解决了身份认证中的安全性问题[3],通过私密密钥的引入,使密文的安全性不再仅依赖于所使用的算法,同时依赖于所选用的密钥,因而HMAC算法可以较为安全地保护网络中用户身份的认证。

在研究了高级加密算法与消息认证技术的基础上提出了安全数字出版的解决方案,通过高级加密与消息认证技术的融合可以有效地保障网络数字出版的安全性,并在移动网络终端(Mobile Internet Device,MID)上成功验证了算法的可行性。

2 高级加密标准与Rijndael算法

AES标准制定初期的五个著名候选算法中,经过测试Rijndael算法具有安全性高,存储要求低,支持跨平台,密钥设置速度快等优点,因而成为了AES的事实标准。Rijndael算法是迭代分组密码算法,数据分组长度为128bit,密钥长度可根据需要选用128/192/256bit,对应的加密轮数分别为10/12/14轮[4]。本文中采用的AES加密密钥长度为128bit,加密轮数为10轮。加密算法的流程图如图1所示。

图1 AES加解密算法流程

如图1所示加密流程中,先将输入数据以128bit为单位分组,将分组后的数据逐块送入加密流水线进行加密。算法首先将数据与初始密钥相加,将相加结果进行9轮的基础变换。算法的第一轮次密钥加使用的是初始密钥,以后10轮的密钥均是通过密钥生成算法以初始密钥为基础而生成的。AES是一种对称加密算法,解密是加密的逆过程,具有很好的对称性,如图1右所示。

3 基于SHA-1的HMAC技术

消息摘要技术起初用于文件完整性检测,以判断是否有黑客入侵主机串改本地文件数据,检测的方法是对需要校验的文件内容进行Hash计算,将生成的Hash值与预先计算好的Hash值比较,如果不同则说明文件被非法更改,可以判断系统遭到黑客入侵。截止2004年常用的MD5与SHA-1算法依次遭到破解,HMAC(Keyed-Hash Message Authentication Code)技术被提出后缓解了这一问题,提供了更为安全的消息认证机制。

HMAC是基于Hash函数的消息认证码,需要采用一个加密用的Hash函数,本文中采用SHA-1算法作为Hash函数,和一个密钥K用以计算消息认证码。相比于单纯的SHA-1算法,HMAC中引入了加密密钥,系统的安全性不仅仅依赖于所选用的Hash函数,同时依赖于实用的密钥。HMAC算法流程如图2 所示[5]。

图2 HMAC算法流程

图2中,ipad是字节0x36重复64次后的字符串。opad是字节0x5c重复64次后的字符串。算法的流程是将初始密钥与ipad异或后生成字符串S0,将输入的消息数据分组Y0,Y1,……,Yn-1拼接在S0的末尾,拼接后的字符串整体送入SHA-1模块产生160bit的Hash值。密钥K与opad异或的结果为S1,将S1与上面生成的Hash值拼接后执行第二次SHA-1计算产生最终160bit的HMAC值。

HMAC计算流程中将SHA-1模块看做了黑盒,SHA-1算法是将任意长度小于264bit的数据压缩成160bit的消息摘要算法。SHA-1对数据处理是以512bit为单位的,所有输入数据在送入SHA-1模块前要预先分组,并循环处理[6]。

4 基于HMAC与AES的安全数字出版系统设计

数字出版技术对网络安全性要求很高,需要保证只有付费用户才能下载使用,且下载的资源无法被发布。如图3所示是本文采用的客户端—服务器 安全文件传输流程图。

图3 安全数据文件传输流程图

图3所示的客户端首先需要在服务器网站上注册,并提交自己的用户名、密码、以及机器的ID号,此ID号是与客户端设备唯一对应的一串01比特序列,而且在客户端用户不可以更改,通常是主芯片编号,或者是一个芯片内部存储的不可更改的一串32bit二进制序列。当用户成功登录网站后,需要下载资源时要向服务器端发送申请,服务器收到申请后随机生成512bit的报文发送到客户端,客户端通过HMAC运算生成160bit的消息摘要d1,发送到服务器端,服务器端对之前随机生成的报文进行相同的HMAC运算生成消息摘要d2。比较d1、d2是否相同,如果相同说明是经过系统认证同意下载用户,如果不同则重新发送随机报文,重新认证,超过一定次数仍然不同则关闭认证。

5 结论

深入研究了高级加密算法AES与HMAC挑战响应模型,提出了安全数字出版解决方案,通过实践验证了设计系统的可行性。本文设计的系统框架中,AES算法与SHA-1算法均可看做黑盒,在这一安全文件发布模式下,随着AES、SHA-1等算法的更新,系统只需要更新相应算法模块即可,所用的系统结构保持不变,这也使得所用系统可以随时融入新技术、新算法,保持安全性的持续提升。

[1] 2011-2015年中国数字出版产业投资分析及前景预测 报 告 [R].http://www.ocn.com.cn/reports/2009970shuzichuban.htm

[2] Jiqiang Lu,Jing Pan,Jerry den Hartog.Principles on the security of AES against first and second-order differential power analysis[J].Springer-Verlag,2010.

[3] Mao-Yin Wang,Chih-Pin Su,Chih-Tsun Huang,Cheng-Wen Wu.An HMAC processor with integrated SHA-1 and MD5 algorithms[J].IEEE Press,2004.

[4] 袁巍.AES算法的设计原则与其密钥扩展算法的改进[D].吉林:吉林大学,2010.

[5] 于华章.HMAC算法安全性分析[J].计算机安全,2005(1):1-2.

[6] 张松敏,陶荣,于国华.安全散列算法SHA-1的研究[J]. 计算机安全,2010(10):1-3.

猜你喜欢

加密算法密钥消息
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
一张图看5G消息
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
混沌参数调制下RSA数据加密算法研究
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
消息
消息