网络安全加密技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络安全信息加密技术
班亚萍
[摘要] 网络电子商务在不断发展的同时.信息安全问题也显得愈为突出。
作为保证信息安全重要手段之一的加密技术也扮演着越来越重要的角色。
本文对常规密钥密码体制和公开密钥密码体制进行了分析与研究。
而且举出了两个经典的算法——DES和RSA。
[关健词] 网络安全加密 DES RSA
随着计算机网络技术的飞速发展,大大改变了人们的生活面貌,促进了社会的发展.互联网是一个面向大众的开放系统,对于信息的保密合系统的安全性考虑得并不完备,由此引起得网络安全问题日益严重。
如何保护计算机信息的的内容,也即信息内容的保密问题显得越来越重要,因此需要一种网络安全机制来解决这些问题。
在早期,很多的专业计算机人员就通过对网络安全构成威胁的主要因素的研究,已经开发了很多种类的产品.但纵观所有的网络安全技术,我们不难发现加密技术在扮演着主打角色.它无处不在,作为其他技术的基础,它发挥了重要的作用.本论文讲述了加密技术的发展,两种密钥体制(常规密钥密码体制和公开密钥密码体制),以及密钥的管理(主要讨论密钥分配)。
我们可以在加密技术的特点中看到他的发展前景,为网络提供更可靠更安全的运行环境。
一信息加密技术
在保障信息安全各种功能特性的诸多技术中,密码技术是信息安全的核心和关键技术,通过数据加密技术,可以在一定程度上提高数据传输的安全性,保证传输数据的完整性.一个数据加密系统包括加密算法、明文、密文以及密钥,密钥控制加密和解密过程,一个加密系统的全部安全性是基于密钥的,而不是基于算法,所以加密系统的密钥管理是一个非常重要的问题.
数据加密过程就是通过加密系统把原始的数字信息(明文),按照加密算法变换成与明文完全不同得数字信息(密文)的过程。
假设E为加密算法,D为解密算法,则数据的加密解密数学表达式为:P=D(KD,E(KE,P))
1.1 数据加密技术
数据加密技术主要分为数据传输加密和数据存储加密。
数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。
链路加密是传输数据仅在物理层前的数据链路层进行加密,不考虑信源和信宿,它用于保护通信节点间的数据,接收方是传送路径上的各台节点机,信息在每台节点机内都要被解密和再加密,依次进行,直至到达目的地。
与链路加密类似的节点加密方法,是在节点处采用一个与节点机相连的密码装置,密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密节点处易受攻击的缺点。
端到端加密是为数据从一端到另一端提供的加密方式。
数据在发送端被加密,在接收端解密,中间节点处不以明文的形式出现.端到端加密是在应用层完成的。
在端到端加密中,除报头外的的报文均以密文的形式贯穿于全部传输过程,只是在发送端和接收端才有加、解密设备,而在中间任何节点报文均不解密,因此,不需要有密码设备,同链路加密相比,可减少密码设备的数量.另一方面,信息是由报头和报文组成的,报文为要传送的信息,报头为路由选择信息,由于网络传输中要涉及到路由选择,在链路加密时,报文和报头两者均须加密。
而在端到端加密时,由于通道上的每一个中间节点虽不对报文解密,但为将报文传送到目的地,必须检查路由选择信息,因此,只能加密报文,而不能对报头加密。
这样就容易被某些通信分析发觉,而从中获取某些敏感信息.
链路加密对用户来说比较容易,使用的密钥较少,而端到端加密比较灵活,对用户可见。
在对链路加密中各节点安全状况不放心的情况下也可使用端到端加密方式。
1。
2 数据加密算法
数据加密算法有很多种,密码算法标准化是信息化社会发展得必然趋势,是世界各国保密通信领域得一个重要课题。
按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段,古典密码算法有替代加密、置换加密;对称加密算法包括DES和AES;非对称加密算法包括RSA 、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamal D_H等。
目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。
(1)DES加密算法(数据加密标准)。
DES是一种对二元数据进行加密的算法,数据分组长度为64位,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位,有8位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反。
DES算法的弱点是不能提供足够的安全性,因为其密钥容量只有56位.由于这个原因,后来又提出了三重DES或3DES系统,使用3个不同的密钥对数据块进行(两次或)三次加密,该方法比进行普通加密的三次块。
其强度大约和112比特的密钥强度相当。
(2)RSA算法
RSA算法既能用于数据加密,也能用于数字签名,RSA的理论依据为:寻找两个大素数比较简单,而将它们的乘积分解开则异常困难.在RSA算法中,包含两个密钥,加密密钥PK,和解密密钥SK,加密密钥是公开的,其加密与解密方程为:
其中n=p×q,P∈[0,n-1],p和q均为大于10100的素数,这两个素数是保密的.
RSA算法的优点是密钥空间大,缺点是加密速度慢,如果RSA和DES结合使用,则正好弥补RSA 的缺点.即DES用于明文加密,RSA用于DES密钥的加密。
由于DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。
1 RSA公钥密码体制的优势
1。
1 解决大规模网络应用中密钥的分发和管理问题
公钥密码加密密钥通常是公开的,而解密密钥是秘密的,由用户自己保存,不需要往返交换和传递,大大减少了密钥泄露的危险性。
同时,在网络通信中使用对称密码体制时,网络内任何两个用户都需要使用互不相同的密钥,只有这样,才能保证不被第三方窃听,因而N个用户就要使用N(N –1)/2个密钥.在大型网络中,如果有100万个用户,则要使用4950万个密钥,密钥量太大,难以管理,而且使用起来非常麻烦.采用公钥密码体制,对于N个用户,每个用户只要保存好自己的一对密钥(一个公开,一个保密)即可,这样总共只需要产生N对密钥。
仍以100万个用户为例,只需100万对密钥,需要秘密保存的仅100万个私钥,二者相差近50万倍,数量大大减少,而且分发简单,安全性好。
由此可见,只有公钥密码才能方便、可靠地解决大规模网络应用中密钥的分发和管理问题。
1。
2 实现网络中的数字签名机制
对称密钥技术由于其自身的局限性,无法提供网络中的数字签名.这是因为数字签名是网络中表征人或机构的真实性的重要手段,数字签名的数据需要有惟一性、私有性,而对称密钥技术中的密钥至少需要在交互双方之间共享,因此,不满足惟一性、私有性,无法用做网络中的数字签名。
相比之下,公钥密码技术由于存在一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒,所以,可以用做网络中的数字签名服务.具体而言,一段消息以发送方的私钥加密之后,任何拥有与该私钥相对应的公钥的人均可将它解密。
由于该私钥只有发送方拥有,且该私钥是密藏不公开的,所以,以该私钥加密的信息可看做发送方对该信息的签名,其作用和现实中的手工签名一样有效而且具有不可抵赖性。
如果某个客户不慎将自己的私钥泄露并且没有及时发觉,获知该私钥的任何一个用户都可以使用该私钥“冒充签名”,在法律上来看这种“冒充签名”依然具有法律效应,就如同某个人丢失了银行卡和密码一样。
2 RSA公钥密码体制
RSA是Rivest,Shamir,Adleman提出基于数论的非对称密钥体制。
RSA是建立在大整数分解的
困难上的,是一种分组密码体制.
1)RSA建立方法如下:①首先随机选两个大素数p,q,计算n=p·q;②计算欧拉函数φ(n)=(p —1)(q-1);③任选一个整数e为公开加密密钥,求出秘密解密密钥d:ed≡1 modφ(n),即:(ed –1)modφ(n)=0,由此推出ed=tφ(n)+1(t是大于等于1的正整数)。
2)加密/解密:将明文分成长度小于n位的明文块m,加密过程是:c=E(m,e)=memod n,解密过程是:m=D(c,d)=cd mod n。
在用于数字签名时,发送方只须用己方的解密密钥d先"加密”即可,因为只有发送方自己知道自己的d,收方只有用对应的e"解密”才能知道明文,同时也验证了发方的身份
3 RSA公钥密码体制的应用
3.1 数字签名
长期以来的日常生活中,对于重要的文件,为了防止对文件的否认,伪造,篡改等等的破坏,传统的方法是在文件上手写签名。
但是在计算机系统中无法使用手写签名,而代之对应的数字签名机制。
数字签名应该能实现手写签名的作用,其本质特征就是仅能利用签名者的私有信息产生签名。
因此,当它被验证时,它也能被信任的第三方(如法官)在任一时刻证明只有私有信息的唯一掌握者才能产生此签名。
数字签名具有以下特点:①签名是可信的;②签名是不能伪造的;③签名是不可重用的;④签名后的文件是不能更改的;⑤签名是不能否认的.
由于非对称密码体制的特点,对于数字签名的实现比在对称密码体制下要有效和简单的多。
3.2 RSA公钥签名技术
数字签名可以用秘密密钥利,也可用公开密钥.但采用秘密密钥是建立在有一个众人信任的中间机构的基础上,而采用公钥加密法进行数字签名则不受此限制,收发两方之间不需要任何可信赖机构。
假定公开密钥加密和解密算法除了满足D(E(P))=P外,还能满足E(D(P))=P(RSA满足这两个条件,所以这个假定并不是不现实的).那么发方A就可以通过EB(DA(P))的转换,将一条签名的明文信息P发给收方B.注意,A知道自己的私有解密密钥DA,还知道B的公开密钥EB,所以建立这条信息的工作应由A来做。
当B收到这条消息后,他象往常一样用自己的私有密钥将它解密,得到DA(P)。
他将这条信息放在一个安全的地方,然后用EA解密,得到初始的明文。
需要说明的是,虽然使用公开密钥加密法进行数字签名的是一个很好的方法,但仍有一些问题存在于它们所应用的环境而不是算法。
只有当DA保密时,B才能证明某条信息是A发送来的。
如果A公开了它的私有密钥,那么证据就不成立了,因为任何人包括B都可以发送这条消息。
二加密技术的发展
2.1 密码专用芯片集成
密码技术是信息安全的核心技术,无处不在,目前已经渗透到大部分安全产品之中,正向芯片化方向发展。
在芯片设计制造方面,目前微电子水平已经发展到0.1微米工艺以下,芯片设计的水平很高。
我国在密码专用芯片领域的研究起步落后于国外,近年来我国集成电路产业技术的创新和自我开发能力得到了提高,微电子工业得到了发展,从而推动了密码专用芯片的发展。
加快密码专用芯片的研制将会推动我国信息安全系统的完善。
2。
2 量子加密技术的研究
量子技术在密码学上的应用分为两类:一是利用量子计算机对传统密码体制的分析;二是利用单光子的测不准原理在光纤一级实现密钥管理和信息加密,即量子密码学.量子计算机是一种传统意义上的超大规模并行计算系统,利用量子计算机可以在几秒钟内分解RSA129的公钥。
根据internet的发展,全光网络将是今后网络连接的发展方向,利用量子技术可以实现传统的密码体制,在光纤一级完成密钥交换和信息加密,其安全性是建立在Heisenberg的测不准原理上的,如果攻击者企图接收并检测信息发送方的信息(偏振),则将造成量子状态的改变,这种改变对攻击者而言是不可恢复的,而对收发方则可很容易地检测出信息是否受到攻击.目前量子加密技术仍然处于
研究阶段,其量子密钥分配QKD在光纤上的有效距离还达不到远距离光纤通信的要求。
三、常规密钥密码体制
所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。
这种加密系统又称为对称密钥系统.使用对称加密方法,加密与解密方必须使用相同的一种加密算法和相同的密钥。
因为通信的双方在加密和解密时使用的是同一个密钥,所以如果其他人获取到这个密钥,那么就会造成失密。
只要通信双方能确保密钥在交换阶段未泄露,那么就可以保证信息的机密性与完整性。
对称加密技术存在着通信双方之间确保密钥安全交换的问题。
同时,一个用户要N个其他用户进行加密通信时,每个用户对应一把密钥,那么他就要管理N把密钥.当网络N个用户之间进行加密通信时,则需要有N×(N-1)个密钥,才能保证任意两者之间的通信.所以,要确保对称加密体系的安全,就好要管理好密钥的产生,分配,存储,和更换.常规密码体制早期有替代密码和置换密码这二种方式。
下面我们将讲述一个着名的分组密码——美国的数据加密标准DES。
DES是一种对二元数据进行加密的算法,数据分组长度为64位,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位,有8位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反。
DES算法的弱点是不能提供足够的安全性,因为其密钥容量只有56位。
由于这个原因,后来又提出了三重DES或3DES系统,使用3个不同的密钥对数据块进行(两次或)三次加密,该方法比进行普通加密的三次块.其强度大约和112比特的密钥强度相当。
四、公开密钥密码体制
公开密钥(publickey)密码体制出现于1976年。
与“公开密钥密码体制”相对应的是“传统密码体制”,又称“对称密钥密码体制”。
其中用于加密的密钥与用于解密的密钥完全一样,在对称密钥密码体制中,加密运算与解密运算使用同样的密钥。
通常,使用的加密算法比较简便高效,密钥简短,破译极其困难。
但是,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。
在“公开密钥密码体制”中,加密密钥不同于解密密钥,加密密钥公之于众,谁都可以用;而解密密钥只有解密人自己知道。
它们分别称为“公开密钥”(publickey)和“秘密密钥”(private一key).
它最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥──公开密钥PK 和秘密密钥SK,因此,这种体制又称为双钥或非对称密钥密码体制。
在这种体制中,PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。
加密算法E和解密算法D也都是公开的。
虽然SK与PK是成对出现,但却不能根据PK计算出SK。
在公开密钥密码体制中,最有名的一种是RSA体制。
它已被ISO/TC97的数据加密技术分委员会SC20推荐为公开密钥数据加密。
RSA算法既能用于数据加密,也能用于数字签名,RSA的理论依据为:寻找两个大素数比较简单,而将它们的乘积分解开则异常困难。
在RSA算法中,包含两个密钥,加密密钥PK,和解密密钥SK,加密密钥是公开的,其加密与解密方程为:
其中n=p×q,P∈[0,n-1],p和q均为大于10100的素数,这两个素数是保密的.
五、密钥的管理
1.密钥管理的基本内容
由于密码算法是公开的,网络的安全性就完全基于密钥的安全保护上。
因此在密码学中就出先了一个重要的分支——密钥管理。
密钥管理包括:密钥的产生,分配,注入,验证和使用。
它的基本任务是满足用户之间的秘密通信。
在这有的是使用公开密钥体制,用户只要保管好自己的秘密密钥就可以了,公开密钥集体公开在一张表上,要向哪个用户发密文只要找到它的公开密钥,再用算法把明文变成密文发给用户,接收放就可以用自己的秘密密钥解密了。
所以它要保证分给用户的秘密密钥是安全的。
有的是还是使用常规密钥密码体制,当用户A想和用户B通信时,他就向密钥分配中心提出申请,请求分配一个密钥,只用于A和B之间通信. 密钥分配
密钥分配是密钥管理中最大的问题。
密钥必须通过安全的通路进行分配。
例如,在早期,可以派专门的人给用户们送密钥,但是当随着用户数的膨胀,显然已不再适用了,这时应采用网络分配方式。
目前,公认的有效方法是通过密钥分配中心KDC来管理和分配公开密钥.每个用户只保存自己的秘密密钥和KDC的公开密钥PKAS。
用户可以通过KDC获得任何其他用户的公开密钥。
首先,A向KDC申请公开密钥,将信息(A,B)发给KDC。
KDC返回给A的信息为(CA,CB),其中,CA=DSKAS(A,PKA,T1),CB=DSKAS(B,PKB,T2).CA和CB称为证明书(Certificate),分别含有A和B的公开密钥.KDC使用其解密密钥SKAS对CA和CB进行了签名,以防止伪造。
时间戳T1和T2的作用是防止重放攻击.
然后,A将证明书CA和CB传送给B。
B获得了A的公开密钥PKA,同时也可检验他自己的公开密钥PKB.对于常规密钥进行分配要分三步:
(1)用户A向KDS发送自己的密钥KA加密的报文EKA(A,B),说明想和用户B通信。
(2)KDC用随机数产生一个“一次一密”密钥R1供A和B这次的通信使用,然后向A发送回答报文,这个回答报文用A的密钥KA加密,报文中有密钥R1和请A转给B的报文EKB(A,R1),但报文EKB(A,R1)是用B的密钥加密的,因此A无法知道其中的内容,它也没必要知道。
(3)当B收到A转来的报文EKB(A,R1)并用自己的密钥KB解密后,就知道A要和他通信,同时也知道和A通信应当使用的密钥R1。
六、结束语
从一开始,我们就是为了解决一些网络安全问题而提出了密钥体制,也就是我们所说的加密.所以,不言而寓,密钥就是在各种传送机构中发挥他的作用,确保在传送的过程中信息的安全。
虽然所使用的方式方法不同,但密钥体制本身是相同的。
主要有数字签名、报文鉴别、电子邮件加密几种应用。
我们在问题中找到了很好解决信息加密的方法。
我们从加密技术一路走来的发展史中可以看出加密技术在不段的发展和完善中.并且就两个经典的算法DES和RSA做出了扼要的介绍.在论文中间也介绍了密钥的分配,这也是加密技术的一个重要方面。
相信在不久的将来,可以看到更加完美的加密体制或算法.
参考文献:
[1]段云所:网络信息安全讲稿.北京大学计算机系,2001
刘晓敏:网络环境下信息安全的技术保护.情报科学,1999
张宁:《北京大学计算机系》。
《电子商务技术》(2000 年春季学期)
曾强:《电子商务的理论与实践》。
中国经济出版社,2000 年
蒋建春冯登国:网络入侵检测原理与技术。
北京:国防工业出版社,2001。