论文部分内容阅读
随着网络技术的发展,尤其是Internet的迅速普及,推动了社会各个领域的前进和变革,对人类经济、文化乃至生活模式都产生了巨大影响,我们已经步入“网络时代”。然而,就在企业、政府、家庭、个人纷纷上网,电子商务、网站建设风起云涌的同时,网络安全及其相关问题也越来越突出。
网络安全是一个系统的概念,完善的网络安全体系,必须合理协调法律、技术和管理三种因素。网络安全主要包括:数据保密、访问控制、身份认证、不可否认和完整性。其中数据保密是首要的,数据不能被非法用户获取。访问控制指系统对用户和资源分配不同的权限,根据权限,系统控制用户对资源的访问。身份认证是由于通信双方不在一起,因此数据传输前需确认对方的身份是真实可信的。不可否认一般通过数字签名实现,可防止签署方否认或抵赖。完整性指用户从网上获得的信息未被篡改过。
针对上述网络安全的各个方面,一些安全技术相应产生和应用。使用最为广泛的包括:数据加密技术、访问控制技术、虚拟专用网技术、入侵侦测技术和数据恢复技术。
数据加密技术,或密码技术是对网络信息进行保护的最实用和最可靠的方法,是网络安全技术的基础。数据加密算法的安全性一般都基于密钥的安全性;而不是基于算法细节的安全性。这就意味着算法可以公开,即使偷听者知道你的算法也没有关系。如果他不知道你使用的具体密码,他就不可能阅读你的消息。
基于密钥的密码算法通常有两类:对称算法和公开密钥算法。
一、对称算法
对称算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。大多数对称算法中,加解密的密钥是相同的,这些算法也称为秘密密钥算法或单密钥算法。它要求接收者和接收者在安全通信之前,商定一个密钥。算法的安全性依赖于密钥,只要通信需要保密,密钥就必须保密。
对称算法又分为两类:分组算法和序列算法,两者区别在于分组算法是对一个大的明文数据块(分组)进行运算;序列算法是对明文中单个位(或字节)进行运算。对称算法体制的发展趋势将以分组密码为重点,著名的对称密码算法有:
1.DES(DataEncryptionStandard)数据加密标准
该标准于1977年由美国国家标准局颁布,主要用于民用敏感信息的保护,后被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法,使用56位密钥每次处理64位数据,运算速度快,易于用软件实现,也适合在专用芯片上实现。DES是一种世界公认的好的加密算法,自它问世以来经受住了许多科学家的研究和破译,曾为全球贸易、金融等部门提供了可靠的通信安全保障。但它也有明显的缺点,密钥太短,只有56位。目前已有许多DES被破译的报道,因此为了提高安全性,DES又有了新的发展。比如:三重DES使用双密钥加密的方法,即使用两个56位的密钥k1、k2,发送方用k1加密,k2解密,再使用k1加密。接收方则使用k1解密,k2加密,再使用k1解密,其效果相当于将密钥的长度增加到112位。还有三重DES的变形算法,使用三个独立密钥,相当于密钥长度增加到168位等。
2.IDEA(InternationalDataEncryptionAlgorithm)国际数据加密算法
IDEA由瑞士的XuejiaLai和JamesMassey于1990年正式公布,并在以后得到增强。这种算法是在DES算法的基础上发展起来的,类似于三重DES。发展IDEA也是因为感到DES使用的密钥太短。IDEA的密钥为128位,这么长的密钥在未来若干年内应该是安全的。IDEA算法也基于分组,它采用软件和硬件实现都同样快速,目前软件实现的IDEA比DES快两倍。由于IDEA是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制。因此,有关IDEA算法和实现技术的资料可以自由出版和交流,可极大地促进IDEA的发展和完善。但由于该算法是一个相对较新的算法,针对它的攻击也还不多,还未经过较长时间的考验。因此,尚不能判断出它的问题和缺陷。
二、公开密钥算法
使用一对密钥加解密信息,加密的密钥不同于解密的密钥,而且解密的密钥不能根据加密密钥在合理的时间和财力内计算出来。之所以叫公开密钥算法(以下简称公钥算法),是因为加密密钥能够公开,谁都可以使用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。著名的公钥算法有:
1.RSA算法
RSA由美国的Rivest、Shamir和Adleman于1978年提出。该算法基于大数分解的难度,即已知合数n,求p和q,使n=pq。所以随着大整数分解算法和计算能力的不断提高,对RSA的破译能力也在增强。有报道482位的RSA已被利用数域筛NFS分解出来,512位也可以在数月时间被分解,1024位的RSA目前仍是安全的。与DES相比,RSA拥有更高的安全性,但执行速度慢。因此两者经常结合起来使用,DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。比如:若A要与B通信,首先A产生一个与B通信的DES密钥,用B的公钥对通信密钥加密后传给B,B用其私有密钥(只有B拥有)解密,获得双方的一次性通信DES密钥。然后双方采用此DES通信密钥进行保密通信。
2.Diffe-Hellman算法
该算法是第一个公钥算法,由美国的Diffe和Hellman于1976年提出。其安全性源于在有限域上计算离散对数比计算指数更困难,该算法主要用于密钥交换。协议如下:首先A与B协商一个大的素数n和g,g是模n的本原元;A选取一个大的随机数x并且发送给B:X=gxmodn;B选取一个大的随机数y并且发送给A:Y=gymodn;A计算k2=Yxmodn;B计算k2=Xymodn,k1和k2都等于gxymodn,从偷听者即使知道n,g,X和Y,也无法计算出k,除非他们计算离散对数,因此k是A与B的秘密密钥。
3.椭圆曲线算法
椭圆曲线已研究了许多年,Koblitz和Miller于1985年分别提出将它用于公钥密码体制。椭圆曲线的吸引人之处在于提供了由“元素”和“组合规则”来组成群的构造方法,即利用椭圆曲线上的点构成Abelian加法群构造离散对数问题。基于有限域GF(2n)的椭圆曲线算术运算器很容易构造,并且n在130位至200位之间的实现相当简单,它提供了一个更快的具有更小密钥长度的公钥算法。
三、应用
1.身份认证
网络认证技术的代表是Kerberos网络用户认证系统,其基于对称密钥(通常采用DES)。采用可信任的第三方密钥分配中心(KDC)保存与所有密钥持有者通信的密钥,其认证过程简化如下:客户方(C)向KDC申请访问服务器(S)的许可证;KDC确认C合法后,临时生成一个C与S通信的密钥Kc,s,并用C的密钥Kc加密Kc,s后发给C,并附上用S的密钥Ks加密的“访问S的许可证Ts(内含Kc,s)”;C收到信息后,解密得到Kc,s,再把Ts照原样传给S,并附上用Kc,s加密的C的身份和时间;当S收到信息后,解密Ts得到Kc,s,再用Kc,s解密附件,得到C的身份和时间;之后,C和S用Kc,s加密通信信息。其它的认证技术还有一次性口令、数字凭证等。数字凭证就象个人信用卡,由认证机构发放管理。一张数字凭证包括持有者的名字、公钥、发行者的数字签名等,其标准在ITU制定的X.509中。
2.数字签名
数字签名既是一种信息接收者对信息发送者进行身份认证的手段,也是一种反抵赖的手段。签名是由一方发出的,事后不但发方不能否认,而且收方也不能伪造、篡改签名或信息内容,同时这一切均可由可信任的第三方仲裁。常使用公钥算法,也可用Hash签名。简单的签名是,发送者(A)使用其私钥加密消息进行签名,接收方用A的公钥解密,从而验证A的签名,但为了防重播攻击,签名中应包含日期和时间。可信任的第三方拥有A的私钥。为更好地发挥数字签名的作用,可以把数字签名与消息摘要MD结合起来,来证明发送者的信息和保证信息的完整性。
3.PGP加密系统
PGP(PrettyGoodPrivacy)免费保密电子邮件程序,采用IDEA进行数据加密,采用RSA进行密钥管理和数字签名,采用MD5作为单向散列函数。PGP最令人感兴趣的是密钥管理中的分发方法,它没有密钥证书管理机构,所有用户产生并分发他们自己的公钥。用户可通过相互对公钥签名以创建一个所有PGP的用户互连组,用户可以自由决定信任谁。
总之,数据加密技术应用的非常广泛,已不仅仅局限于对网上传输数据的加解密,离开它,当今的网络就没有安全可言。