信息安全原理与技术_第1页
信息安全原理与技术_第2页
信息安全原理与技术_第3页
信息安全原理与技术_第4页
信息安全原理与技术_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息安全原理与技术郭亚军宋建华李莉清华大学出版社2022/10/131Ch7-网络安全协议第7章网络络安全协协议主要知识识点:--简单的安安全认证证协议--Kerberos协议--SSL协议--IPSec协议--PGP2020-02-272Ch7--网络安安全协议议网络安全全协议按照其完完成的功功能可以分为为:(1)密钥交换换协议:一般情况况下是在在参与协协议的两两个或者者多个实实体之间间建立共共享的秘秘密,通通常用于于建立在在一次通通信中所所使用的的会话密密钥。(2)认证协议议:认证协议议中包括括实体认认证(身身份认证证)协议议、消息息认证协协议、数数据源认认证和数数据目的的认证协协议等,,用来防防止假冒冒、篡改改、否认认等攻击击。(3)认证和密密钥交换换协议:这类协议议将认证证和密钥钥交换协协议结合合在一起起,是网网络通信信中最普普遍应用用的安全全协议。。该类协协议首先先对通信信实体的的身份进进行认证证,如果果认证成成功,进进一步进进行密钥钥交换,,以建立立通信中中的工作作密钥,,也叫密密钥确认认协议。。2020-02-273Ch7--网络安安全协议议网络层的的安全协协议:IPSec传输层的的安全协协议:SSL//TLS应用层的的安全协协议:SHTTP(Web安全协议议)PGP(电子邮件件安全协协议)S/MIME(电子邮件件安全协协议)MOSS(电子邮件件安全协协议)PEM(电子邮件件安全协协议)SSH(远程登录录安全协协议)Kerberos(网络认证证协议))等。常见的网网络安全全协议2020-02-274Ch7--网络安安全协议议7.1简单的安安全认证证协议Needham-Schroeder认证协议议是最为著著名的早早期的认认证协议议,许多多广泛使使用的认认证协议议都是以以Needham-Schroeder协议为基基础而设设计的。。

Otway-Rees协议Otway-Rees协议的主主要功能能是完成成身份的的双向认认证,使使用对称称密码。。2020-02-275Ch7--网络安安全协议议7.1..1Needham-Schroeder认证协议议Needham--Schroder协议的目目的是使使得通讯讯双方能能够互相相证实对对方的身身份并且且为后续续的加密密通讯建建立一个个会话密密钥(sessionkey)。。协议涉及及三个主主体:A和B,以及A,B信赖的可可信第三三方,也也叫认证证服务器器(authenticationserver))S。2020-02-276Ch7--网络安安全协议议Needham和Schroeder于1978年提提出的基于共享享密钥体体系的协协议过程程:图7.1Needham-Schroeder认证过程程其中,Kas是A与S之间的共共享密钥钥,Kbs是B与S之间的共共享密钥钥。Kab是认证服服务器临临时生成成的密钥钥,用于于A、B双方认证证之后的的加密通通讯,称称为会话话密钥。。Na和Nb分别是A和B生成的随随机量(nonce)。ABS13452(1)AS:A,B,,Na(2)SA:{Na,B,Kab,,{Kab,,A}Kbs}Kas(3)AB:{Kab,,A}Kbs(4)BA:{Nb}Kab(5)AB:{Nb-1}Kab2020-02-277Ch7--网络安安全协议议Needhaul-Scllroeder共享密钥钥协议的的漏洞假定有攻攻击者H记录下A与B之间执行行Needham-Schroeder共享密钥钥协议的的一轮消消息,并并且进而而破获了了其会话话密钥Kab(如经过过蛮力攻攻击等)),攻击击者可以以在第3步冒充A利用旧的的会话密密钥欺骗骗B。在这个攻攻击中,,攻击者者H首先向B发送一个个他记录录的从A发出的旧旧消息,,此消息息用于向向B表明是A在与B通讯并且且Kab是会话密密钥。B无法知道道这是不不是一个个A发送的正正常通讯讯请求,,也不记记得他过过去曾经经用过Kab作为会话话密钥。。遵循协协议,B将向A发送一个个加密的的新随机机量作为为挑战。。H截获之,,并用Kab解密得到到此随机机量,然然后向B返回一个个响应消消息,使使得B相信他正正在用会会话密钥钥Kab与A通讯,而而实际上上A根本没有有参加这这一轮协协议的运运行。除除非B记住所有有以前使使用的与与A通信的会会话密钥钥,否则则B无法判断断这是一一个重放放攻击,,攻击者者由此可可以随意意冒充A与B进行通讯讯了!2020-02-278Ch7--网络安安全协议议Denning协议使用时间间戳修正正了这个个漏洞,,改进的的协议如如下:其中T表示时间间戳。T记录了认认证服务务器S发送消息息(2)时的时间间,A、B根据时间间戳验证证消息的的“新鲜鲜性”,,从而避避免了重重放攻击击。(1)AS:A,B(2)SA:{B,Kab,,T,{Kab,,A,,T}Kbs}Kas(3)AB:{Kab,,A,T}Kbs(4)BA:{Nb}Kab(5)AB:{Nb-1}Kab2020-02-279Ch7--网络安安全协议议7.1..2Otway-Rees协议

图7.2Otway-Rees认证过程程标号1表表示A产生一消消息,包包括用和和S共享的密密钥Kas加密的一一个索引引号R、A的名字、、B的名字和和一随机机数Ra。标号2表表示B用A消息中的的加密部部分构造造一条新新消息。。包括用用和S共享的密密钥Kbs加密的一一个索引引号R、A的名字、、B的名字和和一新随随机数Rb。ABS12342020-02-2710Ch7--网络安安全协议议标号3表表示S检查两个个加密部部分中的的索引号号R是否相同同,如果果相同,,就认为为从B来的消息息是有效效的。S产生一个个会话密密钥Ks用Kb和Ka分别加密密后传送送给B,每条消息息都包含含S接收到的的随机数数。标号4表表示B把用A的密钥加加密的消消息连同同索引号号R一起传给给A。2020-02-2711Ch7--网络安安全协议议7.2Kerberos协议在一个开开放的分分布式网网络环境境中,用用户通过过工作站站访问服服务器上上提供的的服务时时,一方面,,工作站站无法可可信地向向网络服服务证实实用户的的身份,,可能存存在着以以下三种种威胁::①用户可可能访问问某个特特定工作作站,并并假装成成另一个个用户在在操作工工作站。。②用户可可能会更更改工作作站的网网络地址址,使从从这个已已更改的的工作站站上发出出的请求求看似来来自伪装装的工作作站。③用户可可能窃听听他人的的报文交交换过程程,并使使用重放放攻击来来获得对对一个服服务器的的访问权权或中断断服务器器的运行行。2020-02-2712Ch7--网络安安全协议议另一方面面,在开开放的网网络环境境中,客客户也必必须防止止来自服服务端的的欺骗。。以自动取取款机ATM为例,如如果存在在欺骗,,那么客客户将泄泄漏自己己的帐户户信息。。如何使用用一个集集中的认认证服务务器,提提供用户户对服务务器的认认证以及及服务器器对用户户的认证证,这就就是Kerberos要解决的的问题。。2020-02-2713Ch7--网络安安全协议议7.2..1Kerberos概述Kerberos是由美国国麻省理理工学院院(MIT))提出的基基于可信信赖的第第三方的的认证系系统,它它是基于于Needham-Schroeder协议设计计的,采采用对称称密码体体制。Kerberos一词源自自希腊神神话,在在希腊神神话故事事中,Kerberos是一种长长有三个个头的狗狗,还有有一个蛇蛇形尾巴巴,是地地狱之门门的守卫卫者。现现代取Kerberos这个名字字意指要要有三个个“头””来守卫卫网络之之门,这这“三头头”包括括:-认证(authentication)-清算(accounting)-审计(audit)2020-02-2714Ch7--网络安安全协议议Kerberos协议中的的一些概概念Principal((安全个体体)被鉴别的的个体,,有一个个名字((name)和口令((password)。。KDC((Keydistributioncenter,,密钥分配配中心)可信的第第三方,,即Kerberos服务器,,提供ticket和临时的的会话密密钥。Ticket((访问许可可证)是一个记记录凭证证,客户户可以用用它来向向服务器器证明自自己的身身份,其其中包括括客户的的标识、、会话密密钥、时时间戳,,以及其其他一些些信息。。Ticket中的大多多数信息息都被加加密,密密钥为服服务器的的密钥。。2020-02-2715Ch7--网络安安全协议议Authenticator(认证符))是另一个个记录凭凭证,其其中包含含一些最最近产生生的信息息,产生生这些信信息需要要用到客客户和服服务器之之间共享享的会话话密钥。。Credentials(证书)由一个ticket加上一个个秘密的的会话密密钥组成成。2020-02-2716Ch7--网络安安全协议议7.2..2Kerberos协议的工工作过程程Kerberos基本思想想采用对称称密钥体体制对信信息进行行加密,,能正确确对信息息进行解解密的用用户就是是合法用用户。用用户在对对应用服服务器进进行访问问之前,,必须先先从第三三方(Kerberos服务器))获取该该应用服服务器的的访问许许可证((ticket))。认证服务务器AS(AuthenticationServer)许可证颁颁发服务务器TGS(TicketGrantingServer)2020-02-2717Ch7--网络安安全协议议7.2..2Kerberos协议的工工作过程程①②③④⑤⑥认证服务器AS许可证颁发服务器TGS用户C应用服务器V图7.3Kerberos的认证过过程2020-02-2718Ch7--网络安安全协议议①用户想想要获取取访问某某一应用用服务器器的许可可证时,,先以明明文方式式向认证证服务器器AS发出请求求,要求求获得访访问TGS的许可证证。②AS以证书((credential)作为响应应,证书书包括访访问TGS的许可证证和用户户与TGS间的会话话密钥。。会话密密钥以用用户的密密钥加密密后传输输。③用户解解密得到到TGS的响应,,然后利利用TGS的许可证证向TGS申请应用用服务器器的许可可证,该该申请包包括TGS的许可证证和一个个带有时时间戳的的认证符符(authenticator)。认证符以以用户与与TGS间的会话话密钥加加密。2020-02-2719Ch7--网络安安全协议议④TGS从许可证证中取出出会话密密钥、解解密认证证符,验验证认证证符中时时间戳的的有效性性,从而而确定用用户的请请求是否否合法。。TGS确认用户户的合法法性后,,生成所所要求的的应用服服务器的的许可证证,许可可证中含含有新产产生的用用户与应应用服务务器之间间的会话话密钥。。TGS将应用服服务器的的许可证证和会话话密钥传传回到用用户。⑤用户向向应用服服务器提提交应用用服务器器的许可可证和用用户新产产生的带带时间戳戳的认证证符(认认证符以以用户与与应用服服务器之之间的会会话密钥钥加密))。⑥应用服服务器从从许可证证中取出出会话密密钥、解解密认证证符,取取出时间间戳并检检验有效效性。然然后向用用户返回回一个带带时间戳戳的认证证符,该该认证符符以用户户与应用用服务器器之间的的会话密密钥进行行加密。。据此,,用户可可以验证证应用服服务器的的合法性性。2020-02-2720Ch7--网络安安全协议议Kerberos的主要优优点:通过对实实体和服服务的统统一管理理实现单单一注册册,也就就是说用用户通过过在网络络中的一一个地方方的一次次登录就就可以使使用网络络上他可可以获得得的所有有资源。。Kerberos存在的问问题:①Kerberos服务器的的损坏将将使得整整个安全全系统无无法工作作;②AS在传输用用户与TGS间的会话话密钥时时是以用用户密钥钥加密的的,而用用户密钥钥是由用用户口令令生成的的,因此此可能受受到口令令猜测的的攻击;;③Kerberos使用了时时间戳,,因此存存在时间间同步问问题;④要将Kerberos用于某一一应用系系统,则则该系统统的客户户端和服服务器端端软件都都要作一一定的修修改。2020-02-2721Ch7--网络安安全协议议7.3SSL协议SSL(安全套接接字层,,SecureSocketLayer)协议是网网景(Netscape)公司提出出的基于于WEB应用的安安全协议议,是一一种用于于传输层层安全的的协议。。传输层层安全协协议的目目的是为为了保护护传输层层的安全全,并在在传输层层上提供供实现保保密、认认证和完完整性的的方法。。SSL指定了一一种在应应用程序序协议((例如http、telnet、NNTP、FTP)和TCP//IP之间提供供数据安安全性分分层的机机制。它它为TCP//IP连接提供供数据加加密、服服务器认认证、消消息完整整性以及及可选的的客户机机认证。。2020-02-2722Ch7--网络安安全协议议7.3..1SSL协议概述述图7.4SSL的体系结结构SSL握手协议SSL修改密文协议SSL告警协议HTTPSSL记录协议TCPIP2020-02-2723Ch7--网络安安全协议议SSL中有两个个重要概概念:SSL连接:连接是是提供恰恰当类型型服务的的传输。。SSL连接是点点对点的的关系,,每一个个连接与与一个会会话相联联系。SSL会话:SSL会话是客客户和服服务器之之间的关关联,会会话通过过握手协协议(在在SSL协议的高高层)来来创建。。会话定定义了加加密安全全参数的的一个集集合,该该集合可可以被多多个连接接所共享享。会话话可以用用来避免免为每个个连接进进行昂贵贵的新安安全参数数的协商商。2020-02-2724Ch7--网络安安全协议议7.3..2SSL记录协议议SSL从应用层层取得的的数据需需要重定定格式((分片、、可选的的压缩、、应用MAC、、加密等))后才能能传给传传输层进进行发送送。同样样,当SSL协议从传传输层接接收到数数据后需需要对其其进行解解密等操操作后才才能交给给上层的的应用层层。这个个工作是是由SSL记录协议议完成的的。2020-02-2725Ch7--网络安安全协议议上层报文分片1分片2分片n压缩(可选)加密增加MAC增加SSL记录首部图7.6SSL记录协议的发送方执行的操作步骤2020-02-2726Ch7--网络安安全协议议SSL记录协议议中发送方执行的操操作步骤骤:①从上层层接受传传输的应应用报文文;②分片:将数据分分片成可可管理的的块,每每个上层层报文被被分成16KB或更小的的数据块块;③进行数数据压缩缩(可选选):压压缩是可可选的,,压缩的的前提是是不能丢丢失信息息,并且且增加的的内容长长度不能能超过1024字节,,缺省的的压缩算算法为空空;④应用MAC::加入信息认证证码(MAC)),这一步需需要用到到共享的的密钥;;⑤加密::利用IDEA、DES、3DES或其他加加密算法法对压缩缩报文和和MAC码进行数数据加密密;⑥增加SSL首部:增增加由内内容类型型、主要要版本、、次要版版本和压压缩长度度组成的的首部。。⑦将结果果传输到到下层。。2020-02-2727Ch7--网络安安全协议议SSL记录协议议中接收方接接收数据据的工作过程程①从低层层接受报报文;②解密;③用事先商商定的MAC码校验数数据;④如果是压压缩的数数据,则则解压缩缩;⑤重装配数数据;⑥传输信息息到上层层。2020-02-2728Ch7--网络安安全协议议7.3..3SSL修改密文文规约协协议SSL修改密文文规约协协议用来来发送修修改密文文规约协协议信息息。任何何时候客客户都能能请求修修改密码码参数,,比如握握手密钥钥交换。。在修改改密文规规约的通通告发出出以后,,客户方方就发出出一个握握手密钥钥交换信信息(如如果可得得到的话话),鉴鉴定认证证信息,,服务器器则在处处理了密密钥交换换信息之之后发送送一个修修改密文文规约信信息。此此后,新新的双方方约定的的密钥就就将一直直使用到到下次提提出修改改密钥规规约请求求为止。。2020-02-2729Ch7--网络安安全协议议7.3..4SSL告警协议议SSL告警协议议是用来来将SSL有关的告告警传送送给对方方实体的的。和其其他使用用SSL的情况一一样,告告警报文文按照当当前状态态说明被被压缩和和加密。。SSL告警协议议的每个个报文由由两个字字节组成成。第一一个字节节的值用用来表明明警告的的的级别别,第二二个字节节表示特特定告警警的代码码。如果果在通信信过程中中某一方方发现任任何异常常,就需需要给对对方发送送一条警警示消息息通告。。警示消息息有两种种:一种种是Fatal错误,如如传递数数据过程程中,发发现错误误的MAC,,双方就需需要立即即中断会会话,同同时消除除自己缓缓冲区相相应的会会话记录录;第二二种是Warning消息,这这种情况况,通信信双方通通常都只只是记录录日志,,而对通通信过程程不造成成任何影影响。2020-02-2730Ch7--网络安安全协议议7.3..5SSL握手协议议一个SSL会话工作作在不同同的状态态,即会会话状态态和连接接状态。。会话状态态:①会话标标识符②对方的的证书③压缩方方法④密文规规约⑤主密钥钥⑥可重新新开始标标志连接状态态:①服务器器和客户户随机数数②服务器器写MAC密钥③客户写写MAC密钥④服务器器写密钥钥⑤客户写写密钥⑥初始化化向量⑦序号2020-02-2731Ch7--网络安安全协议议SSL握手协议议用于鉴鉴别初始始化和传传输密钥钥,它使使得服务务器和客客户能相相互鉴别别对方的的身份,,并保护护在SSL记录中发发送的数数据。因因此在传传输任何何应用数数据前,,都必须须使用握握手协议议。2020-02-2732Ch7--网络安安全协议议图7.7SSL握手过程程SSL客户端SSL服务器端发送”hello”消息传送数据回复”hello”消息,发出服务器证书,服务器密钥交换信息,证书请求,服务器HELLODONE发送证书,客户密钥交换信息,证书验证信息,结束发修改密文规约信息结束发修改密文规约信息传送数据214352020-02-2733Ch7--网络安安全协议议SSL握手的详详细过程程第一步::客户发发出一个个带有客客户HELLO信息的连连接请求求。这信信息包括括:①想要使使用的SSL版本号。。②时间信信息,以以标准的的UNIX32位格式标标识的现现时和日日期。③会话标标识(可可选),,如果没没有指定定的话,,则服务务器便重重用上一一次的会会话标识识或返回回一个错错误信息息④密文组组(客户户方所支支持的各各种加密密算法选选项清单单。包括括认证码码、密钥钥交换方方法、加加密和MAC算法)。。⑤客户方方所支持持的压缩缩算法。。⑥随机数数。2020-02-2734Ch7--网络安安全协议议SSL握手的详详细过程程第二步::服务器器评估客客户方发发来的HELLO信息中的的各项参参数,并并且返回回一个服服务器方方的HELLO信息,其其中含有有服务器器选来用用于SSL会话的各各项参数数(版本本号、时时间信息息、以标标准的UNIX32位格式标标识的现现时和日日期、会会话标识识、密文文组、压压缩方法法、随机机数)。。在服务器器HELLO信息之后后,服务务器发出出如下信信息:①①服务器器证书,,如果服服务器需需要被鉴鉴别的话话。②服服务器密密钥交换换信息,,如果得得不到证证书或证证书仅仅仅用作签签名的话话。③证证书请求求,如果果客户要要求被鉴鉴别的话话。最后,服服务器发发出一个个服务器器HELLODONE信息,开开始等待待客户的的回音。。2020-02-2735Ch7--网络安安全协议议SSL握手的详详细过程程第三步::客户发发送下列列信息::①如果服服务器发发出了一一个证书书请求,,那么客客户方必必须发送送一个证证书或非非证书信信息。②如果服服务器发发送了一一个服务务器密钥钥交换信信息,那那么客户户方就发发送一个个基于公公钥算法法的由HELLO信息决定定的密钥钥交换信信息。③如果客客户方已已经发送送了一个个证书,,那么客客户方就就需验证证服务器器方的证证书并且且发出一一个证书书验证信信息指明明结果。。然后,客客户方发发出一个个结束信信息,指指出协商商过程已已经完成成。客户户方还发发送一个个修改密密文规约约信息来来产生共共享的常常规密钥钥。应该该注意这这部分工工作不是是由握手手协议控控制,是是由修改改密文规规约协议议管理的的。2020-02-2736Ch7--网络安安全协议议SSL握手的详详细过程程第四步::服务器器发出一一个结束束信息指指出协商商协商阶阶段完成成。然后后服务器器发出一一个密文文修改规规约信息息。第五步::会话双双方分别别产生一一个加密密密钥,,然后他他们再根根据这些些密钥导导出会话话主密钥钥。握手手协议改改变状态态至连接接状态。。所有从从应用层层的来的的数据传传输作为为特定信信息传输输给对方方。2020-02-2737Ch7--网络安安全协议议7.3..6TLS协议传输层安安全TLS(TransportLayerSecurity))协议是IETF正在定义义一种新新的协议议。它建立在在Netscape所提出的的SSL3.0协议规范范基础上上。两个互相相不知其其代码的的应用程程序可用用TLS来安全地地通信。。

2020-02-2738Ch7--网络安安全协议议7.3..7SSL协议应用用一个使用用WEB客户机和和服务器器的范例例WEB客户机通通过连接接到一个个支持SSL的服务器器,启动动一次SSL会话。支支持SSL的典型WEB服务器在在一个与与标准HTTP请求(默默认为端端口80)不同同的端口口(默认认为443)上上接受SSL连接请求求。当客客户机连连接到这这个端口口上时,,它将启启动一次次建立SSL会话的握握手。当当握手完完成之后后,通信信内容被被加密,,并且执执行消息息完整性性检查,,直到SSL会话过期期。SSL创建一个个会话,,在此期期间,握握手必须须只发生生过一次次。2020-02-2739Ch7--网络安安全协议议步骤1::SSL客户机连连接到SSL服务器,,并要求求服务器器验证它它自身的的身份。。步骤2::服务器器通过发发送它的的数字证证书证明明其身份份。这个个交换还还可以包包括整个个证书链链,直到到某个根根证书权权威机构构(CA)。。通过检查查有效日日期并确确认证书书包含有有可信任任CA的数字签签名,来来验证证证书。步骤3::服务器器发出一一个请求求,对客客户端的的证书进进行验证证。但是是,因为为缺乏公公钥体系系结构,,当今的的大多数数服务器器不进行行客户端端认证。。2020-02-2740Ch7--网络安安全协议议步骤4::协商用用于加密密的消息息加密算算法和用用于完整整性检查查的哈希希函数。。通常由由客户机机提供它它支持的的所有算算法列表表,然后后由服务务器选择择最强健健的加密密算法。。步骤5::客户机机和服务务器通过过下列步步骤生成成会话密密钥:a.客户机生生成一个个随机数数,并使使用服务务器的公公钥(从从服务器器的证书书中获得得)对它它加密,,发送到到服务器器上。b.服务器用用更加随随机的数数据(从从客户机机的密钥钥可用时时则使用用客户机机密钥;;否则以以明文方方式发送送数据))响应。。c.使用哈希希函数,,从随机机数据生生成密钥钥。2020-02-2741Ch7--网络安安全协议议SSL协议的优优点机密性即连接是是私有的的。在初初始握手手阶段,,双方建建立对称称密钥后后,信息息即用该该密钥加加密。完整性在信息中中嵌入信信息鉴别别码(MAC))来保证信信息的完完整性。。其中使使用了安安全哈希希函数((例如SHA和MD5))来进行MAC计算。鉴别在握手阶阶段,客客户鉴别别服务器器用不对对称密钥钥或公开开密钥。。2020-02-2742Ch7--网络安安全协议议SSL协议的不不足SSL要求对每每个数据据进行加加密和解解密操作作,因而而在带来来高性能能的同时时,对系系统也要要求高资资源开销销。SSL协议主要要是使用用公开密密钥体制制和X.509数字证书书技术保保护信息息传输的的机密性性和完整整性,它它不能保保证信息息的不可可抵赖性性,主要要适用于于点对点点之间的的信息传传输,常常用WebServer方式。SSL为带有安安全功能能的TCP//IP套接字应应用程序序接口提提供了一一个替代代的方法法,理论论上,在在SSL之上可以以安全方方式运行行任何原原有TCP//IP应用程序序而不需需修改,,但实际际上,SSL目前还只只是用在在HTTP连接上。。2020-02-2743Ch7--网络安安全协议议OpenSSL2020-02-2744Ch7--网络安安全协议议openssl-加密算法法作为一个个基于密密码学的的安全开开发包,,OpenSSL提供的功功能相当当强大和和全面,,囊括了了主要的的密码算算法、常常用的密密钥和证证书封装装管理功功能以及及SSL协议,并并提供了了丰富的的应用程程序供测测试或其其它目的的使用。。1.对称称加密算算法OpenSSL一共提供供了8种种对称加密密算法,其中7种是分分组加密密算法,,仅有的的一种流流加密算算法是RC4。这7种分分组加密密算法分分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电电子密码码本模式式(ECB)、加密分组组链接模模式(CBC)、加密反馈馈模式((CFB)和输出反反馈模式式(OFB))四种常用用的分组组密码加加密模式式。其中中,AES使用的加加密反馈馈模式((CFB)和输出反反馈模式式(OFB))分组长度度是128位,,其它算算法使用用的则是是64位位。事实实上,DES算法里面面不仅仅仅是常用用的DES算法,还还支持三三个密钥钥和两个个密钥3DES算法。2.非对对称加密密算法OpenSSL一共实现现了4种种非对称称加密算算法,包包括DH算法、RSA算法、DSA算法和椭圆曲线线算法(EC)。。DH算法一般般用户密密钥交换换。RSA算法既可可以用于于密钥交交换,也也可以用用于数字字签名。。DSA算法则一一般只用用于数字字签名。。2020-02-2745Ch7--网络安安全协议议3.信息息摘要算算法OpenSSL实现了5种信息息摘要算算法,分分别是MD2、、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实实上包括括了SHA和SHA1两种信息息摘要算算法,此此外,OpenSSL还实现了了DSS标准中规规定的两两种信息息摘要算算法DSS和DSS1。4.密钥钥和证书书管理密钥和证证书管理理是PKI的一个重重要组成成部分,,OpenSSL为之提供供了丰富富的功能能,支持持多种标标准。首先,OpenSSL实现了ASN..1的证书和和密钥相相关标准准,提供供了对证证书、公公钥、私私钥、证证书请求求以及CRL等数据对对象的DER、、PEM和BASE64的编解码码功能。。OpenSSL提供了产产生各种种公开密密钥对和和对称密密钥的方方法、函函数和应应用程序序,同时时提供了了对公钥钥和私钥钥的DER编解码功功能。并并实现了了私钥的的PKCS#12和PKCS#8的编解码码功能。。OpenSSL在标准中中提供了了对私钥钥的加密密保护功功能,使使密钥可可以安全全地进行行存储和和分发。。在此基础础上,OpenSSL实现了对对证书的的X.509标准编解解码、PKCS#12格式的编编解码以以及PKCS#7的编解码码功能。。并提供供了一种种文本数数据库,,支持证证书的管管理功能能,包括括证书密密钥产生生、请求求产生、、证书签签发、吊吊销和验验证等功功能。OpenSSL提供的CA应用程序序就是一一个小型型的证书书管理中中心(CA),,实现了证证书签发发的整个个流程和和证书管管理的大大部分机机制。2020-02-2746Ch7--网络安安全协议议5.SSL和TLS协议OpenSSL实现了SSL协议的SSLv2和SSLv3,支持了其其中绝大大部分算算法协议议。OpenSSL也实现了了TLSv1.0,TLS是SSLv3的标准化化版,虽虽然区别别不大,,但毕竟竟有很多多细节不不尽相同同。虽然已经经有众多多的软件件实现了了OpenSSL的功能,,但是OpenSSL里面实现现的SSL协议能够够对SSL协议有一一个更加加清楚的的认识,,因为至至少存在在两点::一是OpenSSL实现的SSL协议是开开放源代代码的,,可以追追究SSL协议实现现的每一一个细节节;二是是OpenSSL实现的SSL协议是纯纯粹的SSL协议,没没有跟其其它协议议(如HTTP)协议结合合在一起起,澄清清了SSL协议的本本来面目目。6.应用用程序OpenSSL的应用程程序已经经成为了了OpenSSL重要的一一个组成成部分。。现在OpenSSL的应用中中,很多多都是基基于OpenSSL的应用程程序而不不是其API的,如OpenCA,,就是完全全使用OpenSSL的应用程程序实现现的。OpenSSL的应用程程序是基基于OpenSSL的密码算算法库和和SSL协议库写写成的,,所以也也是一些些非常好好的OpenSSL的API使用范例例。OpenSSL的应用程程序提供供了相对对全面的的功能,,在相当当多的人人看来,,OpenSSL已经为自自己做好好了一切切,不需需要再做做更多的的开发工工作了,,所以,,他们也也把这些些应用程程序成为为OpenSSL的指令。。OpenSSL的应用程程序主要要包括密密钥生成成、证书书管理、、格式转转换、数数据加密密和签名名、SSL测试以及及其它辅辅助配置置功能。。2020-02-2747Ch7--网络安安全协议议7.Engine机制Engine机制的出出现是在在OpenSSL的0.9.6版版的事情情,开始始的时候候是将普普通版本本跟支持持Engine的版本分分开的,,到了OpenSSL的0.9.7版版,Engine机制集成成到了OpenSSL的内核中中,成为为了OpenSSL不可缺少少的一部部分。Engine机制目的的是为了了使OpenSSL能够透明明地使用用第三方方提供的的软件加加密库或或者硬件件加密设设备进行行加密。。OpenSSL的Engine机制成功功地达到到了这个个目的,,这使得得OpenSSL已经不仅仅仅使一一个加密密库,而而是提供供了一个个通用地地加密接接口,能能够与绝绝大部分分加密库库或者加加密设备备协调工工作。当当然,要要使特定定加密库库或加密密设备更更OpenSSL协调工作作,需要要写少量量的接口口代码,,但是这这样的工工作量并并不大,,虽然还还是需要要一点密密码学的的知识。。Engine机制的功功能跟Windows提供的CSP功能目标标是基本本相同的的。目前前,OpenSSL的0.9.7版版本支持持的内嵌嵌第三方方加密设设备有8种,包包括:CryptoSwift、nCipher、Atalla、Nuron、UBSEC、Aep、、SureWare以及IBM4758CCA的硬件加加密设备备。现在在还出现现了支持持PKCS#11接口的Engine接口,支支持微软软CryptoAPI的接口也也有人进进行开发发。当然然,所有有上述Engine接口支持持不一定定很全面面,比如如,可能能支持其其中一两两种公开开密钥算算法。2020-02-2748Ch7--网络安安全协议议8.辅助助功能BIO机制是OpenSSL提供的一一种高层层IO接口,该该接口封封装了几几乎所有有类型的的IO接口,如如内存访访问、文文件访问问以及Socket等。这使使得代码码的重用用性大幅幅度提高高,OpenSSL提供API的复杂性性也降低低了很多多。OpenSSL对于随机机数的生生成和管管理也提提供了一一整套的的解决方方法和支支持API函数。随随机数的的好坏是是决定一一个密钥钥是否安安全的重重要前提提。OpenSSL还提供了了其它的的一些辅辅助功能能,如从从口令生生成密钥钥的API,,证书签发发和管理理中的配配置文件件机制等等等。2020-02-2749Ch7--网络安安全协议议7.4IPSec协议由于协议议IPv4最初设计计时没有有过多地地考虑安安全性,,缺乏对对通信双双方真实实身份的的验证能能力,缺缺乏对网网上传输输的数据据的完整整性和机机密性保保护,并并且由于于IP地址可软软件配置置等灵活活性以及及基于源源IP地址的认认证机制制,使IP层存在着着网络业业务流易易被监听听和捕获获、IP地址欺骗骗、信息息泄漏和和数据项项被篡改改等多种种攻击,,而IP是很难抵抵抗这些些攻击的的。为了实现现安全IP,因特网工工程任务务组IETF于1994年开开始了一一项IP安全工程程,专门门成立了了IP安全协议议工作组组IPSEC,来制定和和推动一一套称为为IPSec的IP安全协议议标准。。2020-02-2750Ch7--网络安安全协议议IPSec协议组网络认证证协议AuthenticationHeader((AH))封装安全全载荷协协议EncapsulatingSecurityPayload((ESP)密钥管理理协议InternetKeyExchange((IKE)网络认证证及加密密算法2020-02-2751Ch7--网络安安全协议议7.4..1IPSec安全体系系结构图7.8IPSec安全体系系结构IPSec体系结构ESP协议AH协议加密算法DOI解释域密钥管理认证算法2020-02-2752Ch7--网络安安全协议议ESP协议规定定了为通通信提供供机密性性和完整整性保护护的具体体方案,,包括ESP载荷的格格式、语语义、取取值以及及对进入入分组和和外出分分组的处处理过程程等。DOI〔InterpretationofDomain,,DOI〕规定了每每个算法法的参数数要求和和计算规规则,如如算法的的密钥长长度要求求、算法法强度要要求以及及初始向向量的计计算规则则等。AH协议定义义了认证证的应用用方法,,提供数数据源认认证和完完整性保保证。IKE协议是IPSec目前唯一一的正式式确定的的密别交交换协议议,为AH和ESP提供密钥钥交换支支持,同同时也支支持其他他机制,,如密钥钥协商。。2020-02-2753Ch7--网络安安全协议议安全关联联(SecurityAssociation,SA)为了正确确封装及及提取IPSec数据包,,有必要要采取一一套专门门的方案案,将安安全服务务/密钥与要要保护的的通信数数据联系系到一起起;同时时要将远远程通信信实体与与要交换换密钥的的IPSec数据传输输联系到到一起。。换言之之,要解解决如何何保护通通信数据据、保护护什么样样的通信信数据以以及由谁谁来实行行保护的的问题。。这样的的构建方方案称为为安全关关联(SecurityAssociation,SA)。2020-02-2754Ch7--网络安安全协议议SA是单向的的,要么么对数据据包进行行“进入入”保护护,要么么进行““外出””保护。。也就是是说,在在一次通通信中,,IPSec需要建立立两个SA,一个用于于入站通通信,另另一个用用于出站站通信。。若某台主主机,如如文件服服务器或或远程访访问服务务器,需需要同时时与多台台客户机机通信,,则该服服务器需需要与每每台客户户机分别别建立不不同的SA。2020-02-2755Ch7--网络安安全协议议7.4..2AH(AuthenticationHeader))协议AH协议规定定了AH头在AH实现中应应插入IP头的位置置、AH头的语法法格式、、各字段段的语义义及取值值方式,,以及实实施AH时进入和和外出分分组的处处理过程程。AH机制涉及及到密码码学中的的核心组组件———鉴别算算法。AH的功能AH的两种模模式AH的格式

认证算法法2020-02-2756Ch7--网络安安全协议议AH的功能AH协议为IP通信提供供数据源源认证、、数据完完整性和和反重播播保证,,它能保保护通信信免受篡篡改,但但不能防防止窃听听,适合合用于传传输非机机密数据据。AH的工作原原理是在在每一个个数据包包上添加加一个身身份验证证报头。。此报头头包含一一个带密密钥的hash散列(可可以将其其当作数数字签名名,只是是它不使使用证书书),此此hash散列在整整个数据据包中计计算,因因此对数数据的任任何更改改将致使使散列无无效———这样就就提供了了完整性性保护。。AH不能提供供加密服服务,这这就意味味着分组组将以明明文的形形式传送送。由于于AH的速度比比ESP稍微快一一点,因因此仅当当需要确确保分组组的源和和完整性性而不考考虑机密密性的时时候,可可以选择择使用AH。2020-02-2757Ch7--网络安安全协议议AH的两种模模式传输模式式:传输模模式用于于两台主主机之间间,只对对上层协协议数据据(传输输层数据据)和IP头中的固固定字段段提供认认证,主主要保护护传输层层协议头头,实现现端到端端的安全全;隧道模式式:隧道模模式对整整个IP数据项提提供认证证保护,,把需要要保护的的IP包封装在在新的IP包中,既既可用于于主机也也可用于于安全网网关,并并且当AH在安全网网关上实实现时,,必须采采用隧道道模式。。2020-02-2758Ch7--网络安安全协议议AH的两种模模式2020-02-2759Ch7--网络安安全协议议AH的格式图7.11AH报头格式式下一个报头长度安全参数索引(SPI)序列号认证数据(hash检查和)AH报头2020-02-2760Ch7--网络安安全协议议NextHeader(下一个报报头,占占8字节节):识识别下一一个使用用IP协议号的的报头,,例如,,NextHeader值等于6时,表表示紧接接其后的的是TCP报头。对对于UDP,,它的值将将是17。Length((长度,占占8字节节):AH报头长度度。SecurityParametersIndex(SPI,,安全参数数索引,,占32字节)):这这是一个个为数据据报识别别安全关关联的32位位伪随随机值。。其中,,SPI值0被被保留,,用来表表明“没没有安全全关联存存在”。。2020-02-2761Ch7--网络安安全协议议SequenceNumber((序列号,,占32字节)):这是是一个无无符号单单调递增增的计数数器,从从1开始始的32位单增增序列号号,不允允许重复复,唯一一地标识识了每一一个发送送数据包包,为安安全关联联提供反反重播保保护。接接收端校校验序列列号为该该字段值值的数据据包是否否已经被被接收过过,若是是,则拒拒收该数数据包。。对于一一个特定定的SA,它实现反反重传服服务。这这些信息息不被接接收对等等实体使使用,但但是发送送方必须须包含这这些信息息。当建建立一个个SA时,这个个值被初初始化为为0。如如果使用用反重传传服务重重传,那那么这个个值决不不允许重重复。由由于发送送方并不不知道接接受方是是否使用用了反重重传功能能,该字字段中的的值不能能被重复复的事实实就要求求终止SA,并且在传传送第23个分分组之前前建立一一个新的的SA。2020-02-2762Ch7--网络安安全协议议AuthenticationData(AD,认证数据据,可变变长)::包含完完整性检检查和。。接收端端接收数数据包后后,首先先执行hash计算,再再与发送送端所计计算的该该字段值值比较,,若两者者相等,,表示数数据完整整,若在在传输过过程中数数据遭修修改,两两个计算算结果不不一致,,则丢弃弃该数据据包。通通过这个个值,通通信双方方能实现现对数据据的完整整性保护护、分组组级数据据源鉴别别以及通通信的抗抗重放攻攻击。2020-02-2763Ch7--网络安安全协议议认证算法法用于计算算完整性性校验值值(ICV))的认证算算法由SA指定,对对于点到到点通信信,合适适的认证证算法包包括基于于对称密密码算法法(如DES))或基于单单向Hash函数(如如MD5或SHA--1)的带密钥钥的消息息认证码码(MAC))。2020-02-2764Ch7--网络安安全协议议7.4..3ESP((EncapsulatingSecurityPayload)协议ESP涉及到密密码学中中的核心心组件———加密密和鉴别别算法。。

ESP的功能ESP的两种模模式ESP的格式加密算法法和认证证算法ESP处理2020-02-2765Ch7--网络安安全协议议ESP的功能ESP为IP数据包提提供完整整性检查查、认证证和加密密,可以以看作是是“超级级AH”,,因为它提提供机密密性并可可防止篡篡改。ESP服务依据据建立的的安全关关联(SA)是可选的的。一些限制制:·完整整性检查查和认证证一起进进行。·仅当当与完整整性检查查和认证证一起时时,“重重播(Replay))”保护才是是可选的的。·“重重播”保保护只能能由接收收方选择择。ESP的加密服服务是可可选的,,但如果果启用加加密,则则也就同同时选择择了完整整性检查查和认证证。因为为如果仅仅使用加加密,入入侵者就就可能伪伪造包以以发动密密码分析析攻击。。ESP可以单独独使用,,也可以以和AH结合使用用。2020-02-2766Ch7--网络安安全协议议ESP的两种模模式2020-02-2767Ch7--网络安安全协议议ESP的格式ESP协议包括括ESP报头、ESP报尾、ESP认证报尾尾三个部部分。图7.14ESP报头、报报尾和认认证报尾尾2020-02-2768Ch7--网络安安全协议议加密算法法和认证证算法ESP所采用的的加密算算法由SA指定。为为了提高高加密效效率,ESP设计使用用的是对对称密码码算法。。由于IP包可能会会失序到到达,因因此每个个IP包必须携携带接收收者进行行解密所所要求的的密码同同步数据据(如初初始化向向量IV)。。这个数据据可以在在有效负负载字段段中明确确携带,,也可以以从包头头中推导导出来。。由于机机密性是是可选择择的,因因此加密密算法可可以是““空”。。ESP中的认证证算法同同AH的认证算算法一样样。由于于认证算算法是可可选的,,因此认认证算法法也可以以是“空空”。虽虽然加密密和认证证算法都都可为空空,但二二者不能能同时为为空。因因为这样样做不仅仅毫无安安全保证证可言,,而且也也为系统统带来了了无谓的的负担。。2020-02-2769Ch7--网络安安全协议议ESP处理ESP的处理过过程发生生在发送送时的IP分割之前前以及接接受时的的IP重新组合合之后。。发送时的的处理①ESP头定位::在传输输模式下下,ESP头插在IP头和上一一层协议议头之间间;在隧隧道模式式下,ESP头在整个个源IP数据项之之前。②查找::只有当当与此会会话相关关的有效效的SA存在时,,才进行行ESP处理。③包加密密:把数数据封装装到ESP的有效负负载字段段,在传传输模式式下,只只封装上上层协议议数据;;在隧道道模式下下、封装装整个原原IP数据项。。应使用用由SA指定的密密钥和加加密算法法对上述述结果加加密。2020-02-2770Ch7--网络安安全协议议接受时的的处理过过程当接收方方收到一一个IP数据项时时,先根根据包中中目的IP地址、安安全协议议ESP和SPI查找SA,若没有用用于此会会话的SA存在,则则接收者者必须丢丢弃此包包,并记记入日志志,否则则就按SA中指定的的算法进进行解密密并重新新构造原原IP数据项格格式。2020-02-2771Ch7--网络安安全协议议7.4..4IKE((InternetKeyExchange)协议IKE主要完成成两个作作用:①安全关关联的集集中化管管理,减减少连接接时间;;②密钥的的生成和和管理。。IKE协议是IPSec目前唯一一的正式式确定的的密钥交交换协议议,它为为AH和ESP提供密钥钥交换支支持,同同时也支支持其他他机制,,加密钥钥协商。。IKE是由另外外三种协协议(ISAKMP、、Oakley和SKEME)混合而成成的一种种协议。。2020-02-2772Ch7--网络安安全协议议PGP———PrettyGoodPrivacy((相当好的的保密))是由MIT的P.R..Zimmerrmann提出的,,主要用用于安全全电子邮邮件,它它可以对对通过网网络进行行传输的的数据创创建和检检验数字字签名、、加密、、解密以以及压缩缩。7.5PGP2020-02-2773Ch7--网络安安全协议议表7.1PGP的功能功能使用的算法解释说明保密性IDEA、CAST或三重DES,Diffie-Hellman或RSA发送者产生一次性会话密钥,用会话密钥以IDEA或CAST或三重DES加密消息,并用接收者的公钥以Diffie-Hellman或RSA加密会话密钥签名RSA或DSS,MD5或SHA用MD5或SHA对消息散列并用发送者的私钥加密消息摘要压缩ZIP使用ZIP压缩消息,以便于存储和传输E-mail兼容性Radix64交换对E-mail应用提供透明性,将加密消息用Radix64变换成ASCII字符串分段功能-为适应最大消息长度限制,PGP实行分段并重组2020-02-2774Ch7--网络安安全协议议7.5..1鉴别别图7.15((a)PGP的操作过过程———只进行行鉴别其中,图图7.15记号的的含义为为:Ks:会话密钥钥EP:公钥加密密Kra::用户A的私钥DP:公钥解密密KUa::用户A的公钥EC:常规加密密H:散列函数数DC:常规解密密||:连连接Z:用ZIP算法进行行数据压压缩R64::用radix64转换到ASCII格式Z-1:解压缩MMHEPH||ZZ-1DP比较EKRa[H(M)]KRaKUa发送者A接收者B2020-02-2775Ch7--网络安安全协议议PGP鉴别的过过程﹒发送者者产生消消息M;﹒用SHA--1对M生成一个个160位的散散列码H;﹒H用发送者者的私钥钥加密,,并与M连接;﹒接收者者用发送送者的公公钥解密密并恢复复散列码码H;﹒对消息M生成一个个新的散散列码,,与H比较。如如果一致致,则消消息M被认证,,即报文文作为已已鉴别的的报文而而接受。。(提供供DSS//SHA-1可选替代代方案和和签名与与消息分分离的支支持。))2020-02-2776Ch7--网络安安全协议议7.5..2机密密性PGP提供的另另一个基基本服务务是机密密性,它它是通过过对将要要传输的的报文或或者将要要像文件件一样存存储在本本地的报报文进行行加密来来保证的的(如图图7.15(b)所示)。。图7.15(b)PGP的操作过过程———只保证证机密性性KsMMEPECDC||ZZ-1DPKUbEKUb[Ks]KRb2020-02-2777Ch7--网络安安全协议议7.5..3鉴别别与机密密性PGP可以同时时提供机机密性与与鉴别。。当加密密和认证证这两种种服务都都需要时时,发送送者先用用自己的的私钥签签名,然然后用会会话密钥钥加密,,再用接接收者的的公钥加加密会话话密钥((如图7.15(c)所示)。。图7.15((c)PGP的操作过过程———鉴别与机机密性MHEP||ZKRaDCDPEKUb[Ks]KRbKsEP||KUbECMHZ-1DP比较EKRa[H(M)]KUa2020-02-2778Ch7--网络安安全协议议7.5..4压压缩PGP对报文进进行压缩缩,这有有利于在在电子邮邮件传输输和文件件存储时时节省空空间。但但压缩算算法的放放置位置置比较重重要,在在默认的的情况下下,放在在签名之之后加密密之前。。这是因因为:对没有经经过压缩缩的报文文进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论