信息安全原理与技术ch07-网络安全协议40258.pptx
《信息安全原理与技术ch07-网络安全协议40258.pptx》由会员分享,可在线阅读,更多相关《信息安全原理与技术ch07-网络安全协议40258.pptx(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息安全原理与技术信息安全原理与技术第2版郭亚军 宋建华 李莉 董慧慧清华大学出版社 2023/3/141Ch7-网络安全协议第第7章章 网络安全协议网络安全协议主要知识点:主要知识点:-简单的安全认证协议简单的安全认证协议 -Kerberos协议协议 -SSL协议协议 -IPSec协议协议 -PGP 2023/3/142Ch7-网络安全协议网络安全协议网络安全协议按照其完成的功能可以分为:(1)密密钥钥交交换换协协议议:一般情况下是在参与协议的两个或者多个实体之间建立共享的秘密,通常用于建立在一次通信中所使用的会话密钥。(2)认认证证协协议议:认证协议中包括实体认证(身份认证)协议、消息认证
2、协议、数据源认证和数据目的认证协议等,用来防止假冒、篡改、否认等攻击。(3)认认证证和和密密钥钥交交换换协协议议:这类协议将认证和密钥交换协议结合在一起,是网络通信中最普遍应用的安全协议。该类协议首先对通信实体的身份进行认证,如果认证成功,进一步进行密钥交换,以建立通信中的工作密钥,也叫密钥确认协议。2023/3/143Ch7-网络安全协议网络层的安全协议:网络层的安全协议:IPSecIPSec传输层的安全协议:传输层的安全协议:SSL/TLSSSL/TLS应用层的安全协议应用层的安全协议:SHTTPSHTTP(Web安全协议)PGPPGP(电子邮件安全协议)S/MIMES/MIME(电子邮件
3、安全协议)MOSSMOSS(电子邮件安全协议)PEMPEM(电子邮件安全协议)SSHSSH(远程登录安全协议)Kerberos Kerberos(网络认证协议)等。常见的网络安全协议常见的网络安全协议2023/3/144Ch7-网络安全协议7.17.1简单的安全认证协议简单的安全认证协议 Needham-Schroeder Needham-Schroeder 认证协议认证协议 是最为著名的早期的认证协议,许多广泛使用的认证协议都是以Needham-Schroeder协议为基础而设计的。Otway-ReesOtway-Rees协议协议 Otway-Rees协议的主要功能是完成身份的双向认证,使用
4、对称密码。2023/3/145Ch7-网络安全协议7.1.1 7.1.1 Needham-Schroeder Needham-Schroeder 认证协议认证协议 Needham-Schroder协议的目的是使得通讯双方能够互相证实对方的身份并且为后续的加密通讯建立一个会话密钥(session key)。协议涉及三个主体:A和B,以及A,B信赖的可信第三方,也叫认证服务器(authentication server)S。2023/3/146Ch7-网络安全协议 Needham和Schroeder于1978年提出的基于共享密基于共享密钥体系的协议过程:钥体系的协议过程:图7.1 Needham-
5、Schroeder认证过程 其中,Kas是A与S之间的共享密钥,Kbs是B与S之间的共享密钥。Kab 是认证服务器临时生成的密钥,用于A、B双方认证之后的加密通讯,称为会话密钥。Na和Nb分别是A和B生成的随机量(nonce)。ABS13452(1)A S:A,B,Na(2)S A:Na,B,Kab,Kab,AKbsKas(3)A B:Kab,AKbs(4)B A:NbKab(5)A B:Nb-1Kab2023/3/147Ch7-网络安全协议 Needhaul-Scllroeder Needhaul-Scllroeder共享密钥协议的漏洞共享密钥协议的漏洞 假定有攻击者H记录下A与B之间执行N
6、eedham-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通信的会话
7、密钥,否则B无法判断这是一个重放攻击,攻击者由此可以随意冒充A与B进行通讯了!2023/3/148Ch7-网络安全协议 Denning协议协议使用时间戳修正了这个漏洞,改进的协议如下:其中T表示时间戳。T记录了认证服务器S发送消息(2)时的时间,A、B根据时间戳验证消息的“新鲜性”,从而避免了重放攻击。(1)A S:A,B(2)S A:B,Kab,T,Kab,A,TKbsKas(3)A B:Kab,A,TKbs(4)B A:NbKab(5)A B:Nb-1Kab2023/3/149Ch7-网络安全协议7.1.2 7.1.2 Otway-ReesOtway-Rees协议协议 图7.2 Otway
8、-Rees认证过程 标号1表示A产生一消息,包括用和S共享的密钥Kas加密的一个索引号R、A的名字、B的名字和一随机数Ra。标号2表示B用A消息中的加密部分构造一条新消息。包括用和S共享的密钥Kbs加密的一个索引号R、A的名字、B的名字和一新随机数Rb。ABS12342023/3/1410Ch7-网络安全协议标号3表示S检查两个加密部分中的索引号R是否相同,如果相同,就认为从B来的消息是有效的。S产生一个会话密钥Ks用Kb和Ka分别加密后传送给B,每条消息都包含S接收到的随机数。标号4表示B把用A的密钥加密的消息连同索引号R一起传给A。2023/3/1411Ch7-网络安全协议7.2 7.2
9、KerberosKerberos协议协议 在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务时,一方面,工作站无法可信地向网络服务证实用户的身份,可能存在着以下三种威胁:用户可能访问某个特定工作站,并假装成另一个用户在操作工作站。用户可能会更改工作站的网络地址,使从这个已更改的工作站上发出的请求看似来自伪装的工作站。用户可能窃听他人的报文交换过程,并使用重放攻击来获得对一个服务器的访问权或中断服务器的运行。2023/3/1412Ch7-网络安全协议另一方面,在开放的网络环境中,客户也必须防止来自服务端的欺骗。以自动取款机ATM为例,如果存在欺骗,那么客户将泄漏自己的帐户信息。如
10、何使用一个集中的认证服务器,提供用户对服务器的认证以及服务器对用户的认证,这就是Kerberos要解决的问题。2023/3/1413Ch7-网络安全协议7.2.1 7.2.1 KerberosKerberos概述概述 Kerberos是由美国麻省理工学院(MIT)提出的基于可信赖的第三方的认证系统,它是基于Needham-Schroeder协议设计的,采用对称密码体制。Kerberos一词源自希腊神话,在希腊神话故事中,Kerberos是一种长有三个头的狗,还有一个蛇形尾巴,是地狱之门的守卫者。现代取Kerberos这个名字意指要有三个“头”来守卫网络之门,这“三头”包括:-认证认证(auth
11、entication)-清算清算(accounting)-审计审计(audit)2023/3/1414Ch7-网络安全协议KerberosKerberos协议中的一些概念协议中的一些概念 Principal(Principal(安全个体安全个体)被鉴别的个体,有一个名字(name)和口令(password)。KDC(Key distribution centerKDC(Key distribution center,密钥分配中心密钥分配中心)可信的第三方,即Kerberos服务器,提供ticket和临时的会话密钥。TicketTicket(访问许可证)访问许可证)是一个记录凭证,客户可以用它来
12、向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket中的大多数信息都被加密,密钥为服务器的密钥。2023/3/1415Ch7-网络安全协议AuthenticatorAuthenticator(认证符)认证符)是另一个记录凭证,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥。CredentialsCredentials(证书)证书)由一个ticket加上一个秘密的会话密钥组成。2023/3/1416Ch7-网络安全协议7.2.2 7.2.2 KerberosKerberos协议的工作过程协议的工作过程 KerberosKer
13、beros基本思想基本思想 采用对称密钥体制对信息进行加密,能正确对信息进行解密的用户就是合法用户。用户在对应用服务器进行访问之前,必须先从第三方(Kerberos 服务器)获取该应用服务器的访问许可证(ticket)。认证服务器认证服务器ASAS(Authentication Server)许可证颁发服务器许可证颁发服务器TGSTGS(Ticket Granting Server)2023/3/1417Ch7-网络安全协议7.2.2 7.2.2 KerberosKerberos协议的工作过程协议的工作过程 认证服务器认证服务器AS许可证颁发服务器许可证颁发服务器TGS用户用户C应用服务应用服
14、务器器V图7.3 Kerberos的认证过程 2023/3/1418Ch7-网络安全协议用户想要获取访问某一应用服务器的许可证时,先以明文方式向认证服务器AS发出请求,要求获得访问TGS的许可证。AS以证书(credential)作为响应,证书包括访问TGS的许可证和用户与TGS间的会话密钥。会话密钥以用户的密钥加密后传输。用户解密得到TGS的响应,然后利用TGS的许可证向TGS申请应用服务器的许可证,该申请包括TGS的 许 可 证 和 一 个 带 有 时 间 戳 的 认 证 符(authenticator)。认证符以用户与TGS间的会话密钥加密。2023/3/1419Ch7-网络安全协议TG
15、S从许可证中取出会话密钥、解密认证符,验证认证符中时间戳的有效性,从而确定用户的请求是否合法。TGS确认用户的合法性后,生成所要求的应用服务器的许可证,许可证中含有新产生的用户与应用服务器之间的会话密钥。TGS将应用服务器的许可证和会话密钥传回到用户。用户向应用服务器提交应用服务器的许可证和用户新产生的带时间戳的认证符(认证符以用户与应用服务器之间的会话密钥加密)。应用服务器从许可证中取出会话密钥、解密认证符,取出时间戳并检验有效性。然后向用户返回一个带时间戳的认证符,该认证符以用户与应用服务器之间的会话密钥进行加密。据此,用户可以验证应用服务器的合法性。2023/3/1420Ch7-网络安全
16、协议KerberosKerberos的主要优点:的主要优点:通过对实体和服务的统一管理实现单一注册,也就是说用户通过在网络中的一个地方的一次登录就可以使用网络上他可以获得的所有资源。KerberosKerberos存在的问题:存在的问题:Kerberos服务器的损坏将使得整个安全系统无法工作;AS在传输用户与TGS间的会话密钥时是以用户密钥加密的,而用户密钥是由用户口令生成的,因此可能受到口令猜测的攻击;Kerberos使用了时间戳,因此存在时间同步问题;要将Kerberos用于某一应用系统,则该系统的客户端和服务器端软件都要作一定的修改。2023/3/1421Ch7-网络安全协议7.3 7.
17、3 SSLSSL协议协议 SSLSSL(安全套接字层,Secure Socket Layer)协议是网景(Netscape)公司提出的基于WEB应用的安全协议,是一种用于传输层安全的协议。传输层安全协议的目的是为了保护传输层的安全,并在传输层上提供实现保密、认证和完整性的方法。SSL指定了一种在应用程序协议(例如http、telnet、NNTP、FTP)和TCP/IP之间提供数据安全性分层的机制。它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。2023/3/1422Ch7-网络安全协议7.3.1 7.3.1 SSLSSL协议概述协议概述 图7.4 SSL的体系结构
18、 SSL握手协议SSL修改密文协议SSL告警协议HTTPSSL记录协议TCPIP2023/3/1423Ch7-网络安全协议 SSL中有两个重要概念:SSLSSL连连接接:连接是提供恰当类型服务的传输。SSL连接是点对点的关系,每一个连接与一个会话相联系。SSLSSL会话:会话:SSL会话是客户和服务器之间的关联,会话通过握手协议(在SSL协议的高层)来创建。会话定义了加密安全参数的一个集合,该集合可以被多个连接所共享。会话可以用来避免为每个连接进行昂贵的新安全参数的协商。2023/3/1424Ch7-网络安全协议7.3.2 7.3.2 SSLSSL记录协议记录协议 SSL SSL从应用层取得的
19、数据需要重定格式(分片、可选的压缩、应用MAC、加密等)后才能传给传输层进行发送。同样,当SSL协议从传输层接收到数据后需要对其进行解密等操作后才能交给上层的应用层。这个工作是由SSL记录协议完成的。2023/3/1425Ch7-网络安全协议上层报文分片1分片2分片n压缩(可选)加密增加MAC增加SSL记录首部图7.6 SSL记录协议的发送方执行的操作步骤2023/3/1426Ch7-网络安全协议SSL记录协议中发送方发送方执行的操作步骤:从上层接受传输的应用报文;分片:将数据分片成可管理的块,每个上层报文被分成16KB或更小的数据块;进行数据压缩(可选):压缩是可选的,压缩的前提是不能丢失信
20、息,并且增加的内容长度不能超过1024字节,缺省的压缩算法为空;应用MAC:加入信息认证码(MAC),这一步需要用到共享的密钥;加密:利用IDEA、DES、3DES或其他加密算法对压缩报文和MAC码进行数据加密;增加SSL首部:增加由内容类型、主要版本、次要版本和压缩长度组成的首部。将结果传输到下层。2023/3/1427Ch7-网络安全协议SSL记录协议中接收方接收数据的工作过程从低层接受报文;解密;用事先商定的MAC码校验数据;如果是压缩的数据,则解压缩;重装配数据;传输信息到上层。2023/3/1428Ch7-网络安全协议7.3.3 7.3.3 SSLSSL修改密文规约协议修改密文规约协
21、议 SSL修改密文规约协议用来发送修改密文规约协议信息。任何时候客户都能请求修改密码参数,比如握手密钥交换。在修改密文规约的通告发出以后,客户方就发出一个握手密钥交换信息(如果可得到的话),鉴定认证信息,服务器则在处理了密钥交换信息之后发送一个修改密文规约信息。此后,新的双方约定的密钥就将一直使用到下次提出修改密钥规约请求为止。2023/3/1429Ch7-网络安全协议7.3.4 7.3.4 SSLSSL告警协议告警协议 SSL告警协议是用来将SSL有关的告警传送给对方实体的。和其他使用SSL的情况一样,告警报文按照当前状态说明被压缩和加密。SSL告警协议的每个报文由两个字节组成。第一个字节的
22、值用来表明警告的的级别,第二个字节表示特定告警的代码。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种是 Fatal错误,如传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区相应的会话记录;第二种是Warning消息,这种情况,通信双方通常都只是记录日志,而对通信过程不造成任何影响。2023/3/1430Ch7-网络安全协议7.3.5 7.3.5 SSLSSL握手协议握手协议 一个SSL会话工作在不同的状态,即会话状态和连接状态。会话状态会话状态:会话标识符对方的证书压缩方法密文规约主密钥可重新开始标志连接状态连接状态:服务器
23、和客户随机数服务器写MAC密钥客户写MAC密钥服务器写密钥客户写密钥初始化向量序号2023/3/1431Ch7-网络安全协议 SSL握手协议用于鉴别初始化和传输密钥,它使得服务器和客户能相互鉴别对方的身份,并保护在SSL记录中发送的数据。因此在传输任何应用数据前,都必须使用握手协议。2023/3/1432Ch7-网络安全协议图7.7 SSL握手过程 SSL客户端SSL服务器端发送”hello”消息传送数据回复”hello”消息,发出服务器证书,服务器密钥交换信息,证书请求,服务器HELLO DONE发送证书,客户密钥交换信息,证书验证信息,结束发修改密文规约信息结束发修改密文规约信息传送数据2
24、14352023/3/1433Ch7-网络安全协议SSLSSL握手的详细过程握手的详细过程第一步:客户发出一个带有客户HELLO信息的连接请求。这信息包括:想要使用的SSL版本号。时间信息,以标准的UNIX32位格式标识的现时和日期。会话标识(可选),如果没有指定的话,则服务器便重用上一次的会话标识或返回一个错误信息密文组(客户方所支持的各种加密算法选项清单。包括认证码、密钥交换方法、加密和MAC算法)。客户方所支持的压缩算法。随机数。2023/3/1434Ch7-网络安全协议SSL握手的详细过程第二步:服务器评估客户方发来的HELLO信息中的各项参数,并且返回一个服务器方的HELLO信息,其
25、中含有服务器选来用于SSL会话的各项参数(版本号、时间信息、以标准的UNIX32位格式标识的现时和日期、会话标识、密文组、压缩方法、随机数)。在服务器HELLO信息之后,服务器发出如下信息:服务器证书,如果服务器需要被鉴别的话。服务器密钥交换信息,如果得不到证书或证书仅仅用作签名的话。证书请求,如果客户要求被鉴别的话。最后,服务器发出一个服务器HELLO DONE信息,开始等待客户的回音。2023/3/1435Ch7-网络安全协议SSL握手的详细过程第三步:客户发送下列信息:如果服务器发出了一个证书请求,那么客户方必须发送一个证书或非证书信息。如果服务器发送了一个服务器密钥交换信息,那么客户方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 原理 技术 ch07 网络安全 协议 40258
限制150内