信息安全概论加密算法论文

随着信息时代的到来,特别是随着Internet和电子商务的发展,怎样才能达到使信息系统的机密信息难以被泄漏,或者即使被窃取了也极难识别,以及即使被识别了也极难篡改,已经成为IT业界的热点研究课题。到现在为止网络安全解决方案可以分为两大类:一类是以防火墙技术为代表的被动防卫型方案,另一类是以数据加密、用户授权认证为核心的主动开放型方案。后一类就是我在此篇论文中要探讨的问题。前一类对企业内部网安全的保护主要依赖于网络的拓扑结构,而后一类以数据加密和用户认证为基础的主动开放型方案对网络结构不作任何要求,就能直接对源数据进行主动保护,实现端到端的安全。加密技术正是达到上述目的的核心技术手段。实际上,加密技术也是目前电子商务采取的基本安全技术手段。采用加密技术不仅可以满足信息保密性的安全需求,还可以避免敏感信息泄漏的安全威胁。可以说,加密技术是认证技术及其它许多安全技术的基础,也是信息安全的核心技术。

加密技术(Cryptography)是一门通过加密算法将明文(plaintext)和加密密钥(encryption key)转换为密文(ciphertext)以保护数据安全的科学。一个优秀的加密算法能够做到,没有解密密钥,密文很难还原为明文。

1.加密算法分类

加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密、不可逆加密算法。

1.1 对称加密算法

对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文(如图1.1)。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高、明文加密后产生的密文大小和明文大小差不多,因此可对文件(大数据量)进行加密。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有美国密码标准DES和AES,欧洲密码标准IDEA等。

图1 .1

1.2 不对称加密算法

不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文(如图1.2)。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。但是,不对称加密算法计算量大、加密速度慢、加密效率低、加密后的密文大小比明文大很多,因此不对称加密算法只能对少量的数据进行加密(如:对称密钥,数字签名等)。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法

1.3 不可逆加密算法

不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。

2.加密技术的应用

加密算法是加密技术的基础,任何一种成熟的加密技术都是建立多种加密算法组合,或者加密算法和其他应用软件有机结合的基础之上的。

2.1 非否认(Non-repudiation)技术

该技术的核心是不对称加密算法的公钥技术,通过产生一个与用户认证数据有关的数字签名来完成。当用户执行某一交易时,这种签名能够保证用户今后无法否认该交易发生的事实。由于非否认技术的操作过程简单,而且直接包含在用户的某类正常的电子交易中,因而成为当前用户进行电子商务、取得商务信任的重要保证。

2.2 PGP(Pretty Good Privacy)技术

PGP技术是一个基于不对称加密算法RSA公钥体系的邮件加密技术,也是一种操作简单、使用方便、普及程度较高的加密软件。PGP技术不但可以对电子邮件加密,防止非授权者阅读信件;还能对电子邮件附加数字签名,使收信人能明确了解发信人的真实身份;也可以在不需要通过任何保密渠道传递密钥的情况下,使人们安全地进行保密通信。PGP技术创造性地把RSA不对称加密算法的方便性和传统加密体系结合起来,在数字签名和密钥认证管理机制方面采用了无缝结合的巧妙设计,使其几乎成为最为流行的公钥加密软件包。

2.3 数字签名(Digital Signature)技术

数字签名技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在公钥与私钥管理方面,数字签名应用与加密邮件PGP技术正好相反。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。

2.4 PKI(Public Key Infrastructure)技术

PKI技术是一种以不对称加密技术为核心、可以为网络提供安全服务的公钥基础设施。PKI技术最初主要应用在Internet环境中,为复杂的互联网系统提供统一的身份认证、数据加密和完整性保障机制。由于PKI技术在网络安全领域所表现出的巨大优势,因而受到银行、证券、政府等核心应用系统的青睐。PKI技术既是信息安全技术的核心,也是电子商务的关键和基础技术。由于通过网络进行的电子商务、电子政务等活动缺少物理接触,因而使得利用电子方式验证信任关系变得至关重要,PKI技术恰好能够有效解决电子商务应用中的机密性、真实性、完整性、不可否认性和存取控制等安全问题。一个实用的PKI体系还必须充分考虑互操作性和可扩展性。PKI体系所包含的认证中心(CA)、注册中心(RA)、策略管理、密钥与证书管理、密钥备份与恢复、撤销系统等功能模块应该有机地结合在一起。

3.数字签名技术

数字签名是密码学的重要问题之一,它是传统文件手写签名的模拟,能够实现用户对电子消息的认证。所谓数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息的真实性的一个有效证明。数字签名技术广泛应用于鉴别发方不可否认服务中,收方不可否认服务也需结合数字签名技术予以实现。数字签名的基础是密码技术,目前较多使用公钥加密体制实现数字签名。

3.1 数字签名原理

公钥加密技术的最诱人之处就是产生和验证数字签名,数字命名就是用算法将私用密钥和欲签数据进行转换合成,其原理如下:

1、只有拥有私用密钥的人才能产生数字签名

2、任意知道相关公共密钥的人都能验证数字签名

3、对数字签名作任何修改,那怕是一位的改动,都会使数字签名无效

因为数字签名其本身也是数据,所以它可以与它所要保护的数据一起转输,例如:Bob可以将一封E-mail和数字签名一起发送给Alice,Alice收到后可以根据Bob的公共密钥验证此E-mail是否确实由Bob所发,同样数字签名还可以保证数据在转输过程未被偶然或故意破坏。

3.2数字签名方案的分类

3.2.1 基于数学难题的分类

根据数字签名方案所基于的数学难题,数字签名可分为基于离散对数问题的签名方案和基于素因子分解问题的签名方案。ElGamal型数字签名方案和DSA(Digital Signature Alogrithm)签名方案都是基于离散对数问题的数字签名方案,而RSA数字签名方案是基于素因子分解问题的数字签名方案。将离散对数

问题和因子分解问题结合起来,又可以产生同时基于离散对数和素因子分解问题的数字签名方案。例如,1994年Harn设计的一种数字签名方案;1997年Laih和Kuo设计的一种新的数字签名方案。二次剩余问题可以认为是素因子分解问题的特殊情况,因此,基于二次剩余问题同样可以设计多种数字签名方案,例如,Rabin数字签名方案,1997年Nyang和Song所设计的快速数字签名方案等。

3.2.2 基于签名用户的分类

根据签名用户的情况,可将数字签名方案分为单个用户签名的数字签名方案和多个用户的数字签名方案。一般的数字签名是单个用户签名方案,而多个用户的签名方案又称多重数字签名方案(multisignature scheme)。根据签名过程的不同,多重数字签名可分为有序多重数字签名方案(sequential

multisiganture scheme)和广播多重数字签名方案(broadcasting

multisiganture scheme)。基于素因子分解问题,Itakura和Nakamura提出一种有序多重数字签名。基于离散对数问题,Hakru和Zheng也设计了一种有序多重数字签名方案。

3.2.3 基于数字签名所具有特性的分类

根据数字签名方案是否具有消息自动恢复特性(message recovery),可将数字签名方案分为两类:一类不具有消息自动恢复的特性,另一类具有消息自动恢复特性。一般的数字签名不具有消息自动恢复特性,例如最初的ElGamal数字签名。1994年,Nyberg和Ruepple首次提出一类基于离散对数问题的具有消息自动恢复特性的数字签名方案。

3.3 数字签名过程

3.3.1 形式化定义过程

系统的初始化过程

产生签名方案中的基本参数(M,S,K,SIG,VER),其中:M—消息集合,S—签名集合,K—密钥集合,包含私钥和公钥;SIG—签名算法集合,VER—签名验证算法集合。

签名产生过程

对于密钥集合K,相应的签名算法为sigk∈SIG,sigk:M→S,对任意的消息m∈M,有s=sigk(m),那么s∈S为消息m的签名,将(m,s)发送到签名验证者。 验证签名过程

对于密钥集合K,有签名验证算法

verk:M*S→{True,False}

True, y=sigk(x)

verk(x,y)=

False,y≠sigk(x)

签名验证者收到(m,s)后,计算verk(x,y),若verk(x,y)=True,签名有效;否则签名无效。

3.2.2 数字签名的具体过程

将数字签名用发送方的私有密钥进行加密,会同密文一起发送给接受方,

受方用发送方的公开密钥对数字签名进行解密,若解密出的数字签名与其计算出的相同,则可确定发送方的身份是真实的。这样只要拥有发送方的公开密钥的人都能够验证数字签名的正确性,而只有真正的发送方才能发送这一数字签名,这也就完成了对发送方身份的鉴别。这就符合了签名的唯一性、不可仿冒和不可否认三大特征。目前,用于数字签名的公开密钥密码算法,一般选用RSA算法。如

图 3.3

4. 加密算法的标准化

密码是信息安全的核心,加密算法又是密码的核心,因此,可以说,加密算法是保障信息安全的核心之核心,其重要性怎么强调也不过分。但是,加密算法的核心重要性并不是拒绝加密算法的标准化之借口。从理论上看,任何安全加密算法的设计者都是在假设加密算法可以公开的前提下,仅仅依靠密钥来保护信息安全的,因而,加密算法的公开和标准化并不会影响其安全性。从实践上看,公开加密算法的作法找在1976年就开始了,近30年的实践证明,公开加密算法并没有给“黑客”大开方便之门。

标准化是推动产业发展,规范产业行为的强劲动力,密码算法的标准化页不例外。美国是国际上第一个敢于公开其民用标准加密算法(DES)的国家,近30年来,加密算法的标准化大大促进了美国信息安全产业的飞速发展,使其成为美国最具有活力的产业之一。同时,加密算法的标准化也为政府管理部门的监督提供了极大的方便,提高了政府、管理部门的审批效率,美化了政府管理部门的形象。如今,信息安全产业已经并将继续为带动美国经济持续发展做出突出贡献。由于美国在首次推出加密标准之后获得了无尽的好处,因此,在第一代加密算法标准(DES)还没有被黑客完全攻破之前,美国又及时地推出了自己的第二代加密算法标准(AES)。

美国在加密算法标准化方面的成功经验值得许多发展中国家学习。目前,许多发展中国家都乐于将管理军用核心密码的手段用来管理民间商用密码,以保障国家信息安全为挡箭牌,拒绝加密算法的标准化和公开化。虽然这些管理部门的用心是好的,但是,结果却事与愿违。信息安全将最终会发展成为一个新兴的产业,这是任何力量都阻挡不了的,因此,加密算法的标准化和公开化也是大势所趋。继美国之后,欧洲在加密算法的标准化和公开化方面出台了许多措施,而且

大又后来居上之势。如今,日本、韩国等也都在加密算法的标准化方面取得了实质性的发展。加密算法必须与本国的具体情况相结合,不可照抄照搬别国的算法,但是,谁越早地实现标准化,谁将会在未来的社会信息化进程中越主动。

在许多地发展中国家,由于没有实现加密算法的标准化,于是,便出现了不少严重威胁本国信息安全的现象,比如,照搬别国的加密算法、自作主张设计自认为是安全的加密算法(加密算法的设计绝不是经过简单的扫盲培训之后的技术人员就能够完成的任务)、放弃使用加密算法等。另外,管理部门对 国外企业和国内企业采用事实上的双重标准也是阻碍本国信息安全产业发展的重要原因。总之,无论从技术角度还是从管理角度看,许多发展中国家在加密算法的标准化方面还有大量的工作要做。

5. 加密的未来趋势

尽管双钥密码体制比单钥密码体制更为可靠,但由于计算过于复杂,双钥密码体制在进行大信息量通信时,加密速率仅为单钥体制的1/100,甚至是1/1000。正是由于不同体制的加密算法各有所长,所以在今后相当长的一段时期内,各类加密体制将会共同发展。而在由IBM等公司于1996年联合推出的用于电子商务的协议标准SET(Secure Electronic Transaction)中和1992年由多国联合开发的PGP技术中,均采用了包含单钥密码、双钥密码、单向杂凑算法和随机数生成算法在内的混合密码系统的动向来看,这似乎从一个侧面展示了今后密码技术应用的未来。

在单钥密码领域,一次一密被认为是最为可靠的机制,但是由于流密码体制中的密钥流生成器在算法上未能突破有限循环,故一直未被广泛应用。如果找到一个在算法上接近无限循环的密钥流生成器,该体制将会有一个质的飞跃。近年来,混沌学理论的研究给在这一方向产生突破带来了曙光。此外,充满生气的量子密码被认为是一个潜在的发展方向,因为它是基于光学和量子力学理论的。该理论对于在光纤通信中加强信息安全、对付拥有量子计算能力的破译无疑是一种理想的解决方法。

由于电子商务等民用系统的应用需求,认证加密算法也将有较大发展。此外,在传统密码体制中,还将会产生类似于IDEA这样的新成员,新成员的一个主要特征就是在算法上有创新和突破,而不仅仅是对传统算法进行修正或改进。密码学是一个正在不断发展的年轻学科,任何未被认识的加/解密机制都有可能在其中占有一席之地。

目前,对信息系统或电子邮件的安全问题,还没有一个非常有效的解决方案,其主要原因是由于互联网固有的异构性,没有一个单一的信任机构可以满足互联网全程异构性的所有需要,也没有一个单一的协议能够适用于互联网全程异构性的所有情况。解决的办法只有依靠软件代理了,即采用软件代理来自动管理用户所持有的证书(即用户所属的信任结构)以及用户所有的行为。每当用户要发送一则消息或一封电子邮件时,代理就会自动与对方的代理协商,找出一个共同信任的机构或一个通用协议来进行通信。在互联网环境中,下一代的安全信息系统会自动为用户发送加密邮件,同样当用户要向某人发送电子邮件时,用户的本地代理首先将与对方的代理交互,协商一个适合双方的认证机构。当然,电子邮件也需要不同的技术支持,因为电子邮件不是端到端的通信,而是通过多个中间机构把电子邮件分程传递到各自的通信机器上,最后到达目的地。

6. 密码技术在我国的体现

密码技术特别是加密技术是信息安全技术中的核心技术,国家关键基础设施中不可能引进或采用别人的加密技术,只能自主开发。目前我国在密码技术的应用水平方面与国外还有一定的差距。国外的密码技术必将对我们有一定的冲击力,特别是在加入WTO组织后这种冲击力只会有增无减。有些做法必须要逐渐与国际接轨,不能再采用目前这种关门造车的做法,因此,我们必须要有我们自己的算法,自己的一套标准,自己的一套体系,来对付未来的挑战。实用密码技术的基础是密码基础理论,没有好的密码理论不可能有好的密码技术、也不可能有先进的、自主的、创新的密码技术。因此,首先必须持之以恒地坚持和加强密码基础理论研究,与国际保持同步,这方面的工作必须要有政府的支持和投入。另一方面,密码理论研究也是为了应用,没有应用的理论是没有价值的。我们应在现有理论和技术基础上充分吸收国外先进经验形成自主的、创新的密码技术以适应国民经济的发展。

参考文献:

[1]Andrew Nash 那什,William Duane,Celia Joseph,Derek Brink. 公钥基础设

施(PKI):实现和管理电子安全 张玉清,陈建奇,杨波,薛伟译.第一版. 北京: 清华大学出版社,2002

[2]刘洪成. C#高级编程. 第一版. 北京. 清华大学出版社. 2003

[3]杨义光,孙伟. 现代密码新理论. 第一版. 北京. 科技出版社. 2002


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn