高永仁,高 斐
(1.武夷学院,福建武夷山354300;2.莆田学院,福建莆田351100)
局域网中信息安全管理研究
高永仁1,高 斐2
(1.武夷学院,福建武夷山354300;2.莆田学院,福建莆田351100)
分析了密码体制在数字档案管理应用中的作用,介绍了对称加密和非对称加密以及RSA加密算法和MD5算法的基本概念和工作原理,阐述了基于RSA及MD5的数字签名的实现过程,对其在数字档案管理中的签名及验证过程进行了分析与讨论.在相关文献提出的密钥集中式管理基础上,提出了一种较好的密钥集中式管理方法,该方法可克服密钥集中式管理中经常出现的瓶颈问题,对密钥进行有效的管理.
对称加密;非对称加密;消息摘要;数字签名;档案管理
一个密码系统采用的基本工作方式称为密码体制.密码体制从原理上可分为两大类:对称密钥密码体制和非对称密钥密码体制,或称单钥密码体制和双钥密码体制[1].
在对称密钥密码体制中,加密密钥和解密密钥相同,大多解密算法是加密算法的逆运算,加密密钥能从解密密钥中推算出来,拥有加密能力就意味着拥有解密能力,反之亦然[2].对称密码体制的保密强度高,但开放性差,它要求发送者和接收者在安全通信之前商定一个密钥,需要有可靠的密钥传递信道,而双方用户通信所用的密钥也必须妥善保管,如图1所示.它通常用来加密带有大量数据的报文,因为这种通信可实现高速加密算法.
非对称密钥密码体制又称为公开密钥密码体制.对于公开密码体制密码系统中的2个密钥来说,其中的算法必须满足以下条件:
图1 单钥体制加密模型
(1)参与双方必须容易通过计算而各自产生出一对密钥(公开密钥 KP,私有密钥 KR).例如,A方为(KPa,KRa),B方为(KPb,KRb).
(2)发送方A在知道接收方B的公开密钥 KPb和待加密报文 M的情况下,对于发送方A,很容易通过计算产生对应的密文:
C=EKPb(M)
(3)接收方B使用私有密钥 KRb容易通过计算解密所得的密文,以便恢复原来的报文:
M=DKRb(C)=DKRb(EKPb(M))
(4)第三方窃密时即使知道公开密钥 KPb,要想确定私有密钥 KRb,在计算上也是不可行的.
(5)第三方窃密时即使知道公开密钥 KPb和密文C,要想恢复原来的报文M,在计算上也是不可行的.
(6)加密和解密函数可以使用2个次序中的任何一个:
M=EKPb(C)=EKPb(DKRb(M))
公开密码体制可根据应用的需要完成保证信息系统的安全目标.可以将公开密钥密码系统应用分为3类:
发送方用接收方的公开密钥加密报文;接收方用自己的私有密钥解密报文.假定用户A要向用户B发送消息 M,如图2所示.若用户A从公钥本上查到用户B的公开密钥 KPb,就可用它对消息 M进行加密,得到密文C=EKPb(M),发送给用户B.用户B收到后,用自己的秘密密钥 KRb对C进行解密变换,得到原来的消息:
M=DKRb(C)=DKRb(EKPb(M))
密码系统的安全保障在于从公钥 KPb和密文 C中推出明文M或解密密钥 KRb在计算上是不可行的.由于任一用户都可用用户B的公开密钥 KPb向用户B发送机密消息,而用户B并不知道是谁发来的密文消息,因而密文 C不具有认证性.
图2 双钥体制加密模型
发送方用自己的私有密钥“签署”报文[3].签署功能是通过对报文的一个函数应用密码算法完成的.接收方用发送方的公开密钥认证报文的真实性与完整性.按一般理解,保护信息就是保证信息传递过程的机密性,但这仅仅是当今密码学主题的一方面,对信息发送人的身份验证是密码学主题的另一方面.公开密钥密码体制对这两方面的问题都给出了出色的答案,并且以后还会有许多新的思想和方案.为了使用户A发给用户B的消息具有认证性,可将公开密钥和秘密密钥反过来用.如图3所示,用户A以自己的秘密密钥KRa对消息 M进行A的专用变换 DKRa,得到密文 C=DKRa(M),发送给用户B;B收到 C后可用A的公开密钥 KPa对 C进行公开变换,得到恢复的消息,即:
M=EKPa(C)=EKPa(DKRa(M))
图3 双钥体制认证模型
由于 KRa只有A方一人拥有,是保密的,其他人都不可能用 KRa伪造密文 C=DKRa(M),在用A的公开密钥解密时得到有意义的消息 M.因此,可以验证消息M来自A而不是其他人,从而实现了对A所发消息的认证.
两方合作以便交换会话密钥有几种可能的方法,其中涉及一方或两方的私有密钥.在公钥体制中的每个用户的公钥,可通过公开的方式通知消息的接收方,这个发布公钥的信道不需要安全认证,这就解决了密钥的分发问题.
哈希函数是可接受变长数据输入并生成定长数据输出的函数.这个定长的输出是输入数据的哈希值(或称消息摘要).由于哈希函数具有单向性的属性,有时也称单向散列函数.有时把哈希值(消息摘要、散列码)称为输入数据的数字指纹.
哈希值由函数 H产生:h=H(M)
其中:M是变长的消息;H是一个将任意长度的消息M映射为一个较短定长的哈希值h的哈希函数;H(M)是定长的哈希值.
用作消息认证的哈希函数 H应具有以下性质.
(1)H可以作用于一个任意长度的数据分组;
(2)H可以产生一个固定长度的输出;
(3)任意给定消息 M,容易计算出 h=H(M),不论是软件实现还是硬件实现;
(4)任意给定 h,则很难找到 M来满足 H(M)=h,计算上具有不可逆性,即单向性;
(5)任意给定数据块 M,找到不等于 M的M’,使H(M)=H(M’)在计算上具有不可行性.有时也称弱抗冲突;
(6)任意数据对(x,y),满足 H(x)= H(y)在计算上不可行.有时也称强抗冲突.
前2个性质是将哈希函数实际应用于消息认证的需求;性质(3)和(4)是单向特性,由给定消息产生哈希值很简单,而给定哈希值则不可能产生对应的消息;性质(5)保证无法找到一个替代消息,使它的哈希值与给定消息产生的哈希值相同,它能防止伪造;性质(6)指的是哈希函数对已知的生日攻击方法的防御能力.
哈希函数并不能提供机密性,并且它们不使用密钥以生成摘要.哈希函数非常适合于认证和确保数据的完整性.UNIX系统一直在使用哈希函数进行认证,不以明文存储用户口令,而是使用存储口令的哈希值或由哈希值产生的数据.构成哈希函数的算法有很多,如简单的按位异算法、MD4、MD5、SHA-1等.
消息摘要(MessageDigest,MD)算法(RFC1321)由Rivest提出,是当前最为普遍的哈希算法,MD5是第5个版本.该算法以一个任意长度的消息(M)作为输入,生成128位(16字节)的消息摘要作为输出.
在办公自动化系统的安全设计过程中,公/私密钥对的产生与管理显得非常重要.本系统设计了一个专门生成并管理用户公/私钥对的密钥生产管理系统(the Key Build and Management System,KBMS).所有办公用户的公私钥对都由 KBMS创建和管理,KBMS能将生成的公私密钥对导出到文件中,并使用相应用户的登录口令对其私钥进行加密,以此来保证只有知道口令的用户才能解密并使用其私有密钥.当用户S创建了文档并需要对文档签名时,KBMS系统将提示该用户输入登录名以及密码,验证通过后,KBMS将该用户的私钥解密后作为请求结果返回给该用户,否则返回非法访问.当某个文档的接收者 R需要验证签名的真实性时,他只需将文档上所声明的用户签名输入给 KBMS子系统,则 KBMS返回相应用户的公钥.由于用户的公/私密钥均是由 KBMS创建和管理的,与用户没有关系,因此接受者R可以信任 KBMS返回的公钥,并使用该公钥来验证签名的真实性.
在密钥生产管理系统中,文献[4]和文献[5]采用的管理方法是每个用户都单独使用了一个密钥文件,并用自己的口令对该文件加密,以此来保证只有知道口令的用户才能解密并使用其密钥文件.由于所有办公用户的公私钥对都由 KBMS创建和管理,当某个用户需要密钥时,KBMS都需要打开关闭一次该用户的密钥文件,执行一次 I/O操作,而这种操作是相当费时的.因此当用户数量很多时,KBMS子系统很可能成为整个系统运行效率的瓶颈.如果将密钥分散管理,又使安全性要求得不到保证,因此需要改进 KBMS的结构,使它可以满足大访问量、快速反应的需求.
本文改进的方法是整个 KBMS系统使用一个密钥文件.该文件的内容主要由3部分组成:用户标示、该用户用口令加密后的私有密钥和该用户的公钥.当某用户需要生成公/私密钥对时,KBMS系统提示该用户输入用户名和密码,验证通过后为该用户生成密钥对,并将该用户的用户标示、用该用户的口令加密后的私有密钥和该用户的公钥写入密钥文件.当用户需要签名时,KBMS提示用户输入口令,用口令解密私钥并将私钥返回给该用户.当用户需要验证签名时,KBMS根据用户标示返回该用户的公钥.系统在整个工作过程中,只有当某用户需要生成公/私密钥对时,才读写磁盘一次.当用户需要签名和验证签名时,不需要访问磁盘,所以改进的方法可提高整个系统的工作效率.图4显示了文档创建者与接收者和 KBMS之间进行交互的过程.
图4 密钥生产管理系统示意图
假定用户A为发送方,用户B为接收方.发送方处理文档的过程如图5所示[6].
(1)签名.KBMS用用户A的 IDA作为索引,从私钥环中得到用户A的私钥,KBMS提示输入口令短语来恢复用户A的私钥,然后将用户A的私钥返回给 用户A.用户A用他自己的私钥构造签名部分.
图5 发送方处理文档的过程
(2)加密.用户A随机产生一个会话密钥,并对文档进行加密;然后用接收方用户B的IDB从KBMS中得到用户B的公钥;最后用用户B的公钥加密会话密钥部分.
假定用户A为发送方,用户B为接收方.接收方处理文档的过程如图6所示.
图6 接收方处理文档的过程
(1)解密.KBMS用接收方(用户B)的 IDB作为索引,从私钥环中查找到接收方(用户B)的私钥;并提示用户输入口令短语来恢复私钥;然后将用户B的私钥返回给用户B.用户B用自己的私钥恢复会话密钥并且解密报文.
(2)认证.用户B用用户A的IDA从KBMS中得到用户A的公钥,恢复传输的文档摘要;对接收的文档计算文档摘要,与传来的文档摘要相比较,以认证报文.
本文在办公自动化系统的背景下讨论了一种基于密钥集中式管理的数字档案信息安全管理方法.选择了MD5算法作为抽取公文电子摘要的方法;在抽取的文档摘要上选择了RSA公开密钥算法作为数字签名的方法.为了保证签名的真实性,本文提出了密钥集中管理及其实现方式,对文献[4]和文献[5]中提出的密钥集中式管理进行了改进,提出了一种较好的密钥集中式管理方法.该方法可克服密钥集中式管理中经常出现的瓶劲问题,对密钥进行有效的管理.经测试,本文改进的算法具有良好的运行性能.
[1] 陈红军,邵国金.数字签名在网上公文流转系统中的应用[J].信阳师范学院学报(自然科学版),2008,21(2):279-281,290.
[2] Douglas R S.密码学原理与实践[M].北京:电子工业出版社,2003.
[3] 赵小明,章美仁.RSA数字签名技术在电子公文流转中的应用[J].计算机工程与设计,2005,26(5):1214-1216.
[4] 郭立新.基于数字签名的数字档案信息安全管理研究[J].信阳师范学院学报(自然科学版),2009,22(4):615-617.
[5] 阳文泽,李翠华.数字签名技术在办公自动化系统中的实现[J].计算机工程,2005,31(23):33-35,51.
[6] 周启海,黄涛,张乐.一种基于数字加密与信息隐藏的电子签名技术改进方案[J].计算机科学,2007,34(10):112-115.
LAN Information Security Management
GAO Yong-ren1,GAO Fei2
(1.Wuyi University,Wuyishan 354300;2.Putian University,Putian 351100,China)
First the password system in the numeral records management application vital role is analyzed,and the symmetrical encryption and the asymmetrical encryption as well as the RSA encryption algorithm and the MD5 algorithm basic concept and the principle of work are introduced.Based on RSA and the MD5 digital signature realization process.The numeral records management signature and the confirmation process are analyzed and discussed in detail.This article to the key central management proposed in the literature has made the improvement.One good key central management is propased.This method may overcome the bottle neck question which in the key central management appears frequently,may carry on the effective management to the key.
symmetrical encryption;asymmetrical encryption;news abstract;digital signature;records management
TP393
A
10.3969/j.issn.1671-6906.2011.04.008
1671-6906(2011)04-0034-05
2011-06-23
福建省自然科学基金项目(7008J0027)
高永仁(1955-),男,山西阳高人,副教授.