《通信网络安全与防护》课件6-2_第1页
《通信网络安全与防护》课件6-2_第2页
《通信网络安全与防护》课件6-2_第3页
《通信网络安全与防护》课件6-2_第4页
《通信网络安全与防护》课件6-2_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第六章网络安全协议知识回顾KerberosX.509IPsec体系SA、SPD、SADAHESPIKE知识回顾多选:IPSec用于增强IP网络的安全性,下列说法中不正确的是()。A.IPSec的认证头添加在TCP封装内部;B.IPSec可对数据加密传输;C.IPSec可对数据进行完整性保护;D.IPSec提供用户身份认证服务;关于IPSec安全关联,以下哪一项描述是正确的?A.任意;B.双向的;C.单向的;D.无方向的;以下哪一项可以验证发送终端的IP地址、保障数据的完整性和防止重放攻击?A.AH;B.TLS;C.ESP;D.IP;SSL协议规范SSL握手协议、更改密码规格协议、警告协议SSL记录协议SSL采用的加密和认证算法主要内容6.2.2SSL协议6.3安全应用协议PGPSSH6.2.2

SSL协议SSL位于运输层和应用层之间,为应用层提供安全的服务,其目标是保证两个应用之间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。SSL协议已成为Internet上保密通信的行业标准。现行Web浏览器普遍将HTTP和SSL相结合,从而实现安全通信。SSL也常常被应用在电子商务领域,已成为电子商务方面应用最为广泛的安全协议。1、SSL协议概述SSL(SecureSocketLayer,安全套接字层)

1994年由Netscape公司开发的安全协议。TLS(TransportLayerSecurity,传输层安全协议)IETF(TheInternetEngineeringTaskForce,Internet工程任务组)对SSL进行了标准化。TLS与SSL3.0不能互操作。年份1994199519961999200620082018协议SSL1.0SSL2.0SSL3.0TLS1.0TLS1.1TLS1.2TLS1.36.2.2

SSL协议SSL位于运输层和应用层之间(可选)。SSL的目标是保证两个应用之间通信的保密性和可靠性可在服务器和客户机两端同时实现支持。1、SSL协议概述6.2.2

SSL协议SSL应用的提出最初是面向web应用安全的。目前,SSL协议已成为Internet上保密通信的行业标准。1、SSL协议概述6.2.2

SSL协议SSL协议提供的服务包括:认证(authentication):用户和服务器合法性认证机密性(confidentiality):加密数据完整性(integrity)

:提供信息完整性服务补充:https

Https(HypertextTransferProtocoloverSecureSocketLayer),是Http的安全版。在Http下加入SSL层,Http的安全基础是SSL。Https的作用:内容加密建立一个信息安全通道,来保证数据传输的安全;身份认证确认网站的真实性数据完整性防止内容被第三方冒充或者篡改Https的劣势:对数据进行加解密决定了它比http慢,需要进行非对称的加解密,且需要三次握手。Https和Http的区别:https协议需要到CA申请证书。http是超文本传输协议,信息是明文传输;https则是具有安全性的ssl加密传输协议。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。SSL协议栈:介于应用层与TCP之间的一个可选层,绝大多数应用层协议可直接建立在SSL之上。SSL不是一个单独的协议,而是两层协议。2、SSL协议规范6.2.2

SSL协议握手层允许通信双方在应用协议传送数据之前相互验证、协商加密算法、生成密钥(keys)、secrets、初始向量(ivs)等。记录层封装各种高层协议,具体实施压缩/解压缩、加密/解密、计算/校验MAC等与安全有关的操作。SSL握手协议层SSL记录协议层握手协议更改密码规格协议警告协议记录协议2、SSL协议规范6.2.2

SSL协议2、SSL协议规范6.2.2

SSL协议在SSL子协议中,最重要的是SSL握手协议。SSL握手协议是认证、交换协议,对在SSL会话连接的任一端的安全参数以及相应的状态信息进行协商、初始化和同步。握手协议执行完后,应用数据就根据协商好的状态参数信息通过SSL记录协议发送。SSL定义了两个通信主体——客户和服务器,其中客户是协议的发起者。2、SSL协议规范6.2.2

SSL协议SSL定义了两个重要概念——连接和会话连接是指提供一种合适服务的传输,一个SSL连接是瞬时的,每个SSL连接与一个SSL会话关联。连接状态包括如下元素:服务器随机数和客户随机数、服务器写MACsecret、客户写MACsecret、服务器写密钥、客户写密钥、初始向量、序列号。会话是指客户和服务器间的关联。会话由握手协议创建,它定义了一套安全加密参数,这套加密参数可以被多个连接共享,包括:会话ID、同等实体证书、压缩算法、密码规格(cipher-spec)、主密码(mastersecret)、是否可恢复标志。允许服务器/客户机相互验证,协商加密和MAC算法以及保密密钥,保护在SSL记录中发送的数据。握手协议是在任何应用程序的数据传输之前使用的。其协商结果是SSL记录协议的基础。位于SSL记录协议之上,ContentType=223、SSL握手协议6.2.2

SSL协议握手协议由一系列客户机与服务器的交换消息组成,每个消息都有3个字段:类型(1字节):表示消息的类型,SSL握手协议中规定了10种消息。长度(3字节):消息的字节长度。内容(≥1字节):与该消息有关的参数。3、SSL握手协议6.2.2

SSL协议SSL握手消息及参数3、SSL握手协议6.2.2

SSL协议SSL握手协议工作过程HelloKeyAgreementFinished3、SSL握手协议6.2.2

SSL协议恢复会话时握手过程3、SSL握手协议6.2.2

SSL协议更新用于当前连接的密钥组,标志着加密策略的改变。位于SSL记录协议之上,ContentType=20协议只包含一条Change_Cipher_Spec消息(一个值为1的字节)。4、更改密码规格协议6.2.2

SSL协议当握手过程或数据加密等出错或发生异常时,为对等实体传递SSL警告或终止当前连接。位于SSL记录协议之上,ContentType=21协议包含两个字节:警告级别和警告代码。5、警告协议6.2.2

SSL协议(1)警告级别表示消息的严重性。1--警告(warning);2--错误(fatal)

如果是错误级,SSL立即终止该连接。同一会话的其他连接也许还能继续,但在该会话中不会再产生新的连接。如果是警告级,接收方将判断按哪一个级别来处理这个消息。而错误级的消息只能按错误级来处理。(2)警告代码指示特定警告的代码。警告代码错误级警告unexpected_messagebad_record_macdecompression_failurehandshake_failureillegal_parameter其他close_notifyno_certificatebad_certificateunsupported_certificatecertificate_revokedcertificate_expiredcertificate_unknown5、警告协议6.2.2

SSL协议描述SSL信息交换过程中的记录格式。所有数据(含SSL握手信息)都被封装在SSL记录中进行传输。一个记录由两部分组成:记录报头和数据。6、SSL记录协议6.2.2

SSL协议SSL记录协议的操作步骤:123451.分段:将上层数据分段成可操作的数据块到一个个记录中2.选择压缩:对分块数据进行数据压缩,可选择,如果压缩,在密码组的选择过程中,可能还要确认压缩和解压缩算法。没有默认的压缩算法。3.计算MAC:给压缩数据计算消息认证码。4.对压缩数据及MAC值加密。5.加入SSL记录头,构成一个记录。6.在TCP中传输。6、SSL记录协议6.2.2

SSL协议SSL记录格式6、SSL记录协议6.2.2

SSL协议1)加密算法和会话密钥公开密钥算法:RSA对称加密算法:RC4、RC2、IDEA和DES等等7、SSL中采用的加密和认证算法6.2.2

SSL协议共享主密钥是通过安全密钥交换生成的临时48字节组值,生成过程分为两步。第一步,交换预主密钥pre_master_secret。第二步,双方计算主密钥master_secret。对于pre_master_secret交换,有两种可能性:RSA:客户机生成48字节的pre_master_secret,用服务器的公共RSA密钥加密后,发送到服务器。服务器用私钥解密密码以恢复pre_master_secretDiffie_Hellman:客户机和服务器都生成Diffie_Hellman公钥。交换后,双方都用Diffie_Hellman算法生成共享的pre_master_secret。密钥派生步骤客户一次数、服务器一次数和预主密钥(pre_master_secret)输入伪随机数发生器,产生主密钥(master_secret)主密钥和客户一次数、服务器一次数输入另一个随机数发生器得到“密钥块(keyblock)”密钥块“切片”得到所使用的密钥。7、SSL中采用的加密和认证算法6.2.2

SSL协议1)加密算法和会话密钥7、SSL中采用的加密和认证算法6.2.2

SSL协议双方双方的master_secret(384bit)计算如下:Master_secret=MD5(pre_master_secret||SHA(‘A’||pre_master_secret||ClientHello.random||ServerHello.random))||MD5(pre_master_secret||SHA(‘BB’||pre_master_secret||ClientHello.random||ServerHello.random))||MD5(pre_master_secret||SHA(‘CCC’||pre_master_secret||ClientHello.random||ServerHello.random))1)加密算法和会话密钥SSL中认证采用X.509公钥证书标准,通过RSA或DSS算法进行数字签名来实现。服务器的认证在握手协议的服务器身份认证和密钥交换阶段,服务器发往客户机的Server_Key_Exchange消息中包含了用自己私钥加密的数字签名。客户的认证只有用正确的客户方私钥加密的内容才能被服务器方用相应的公钥正确的解开。当客户方收到服务器方发出的Request_certificate消息时,客户将回复Certificate_Verify消息,在该消息中,客户首先使用MD5散列函数计算消息的摘要,然后使用自己的私钥加密摘要形成数字签名,从而使自己的身份被服务器认证。7、SSL中采用的加密和认证算法6.2.2

SSL协议2)认证算法3)会话层的密钥分配协议7、SSL中采用的加密和认证算法6.2.2

SSL协议IETF要求对任何TCP/IP都要支持密钥分配,目前已有的3个主要协议是:SKEIP:由公钥认证书来实现两个通信实体间长期单钥交换。证书通过用户数据协议UDP得到。Photuris:SKEIP的主要缺陷是缺乏完美向前保密性,假设某人能得到长期SKEIP密钥,他就可以解出所有以前用此密钥加密的信息,而Photuris就无此问题。但Photuris的效率没有SKEIP高。ISAKMP:只提供密钥管理的一般框架,而不限定密钥管理协议,也不限定密码算法或协议,因而在使用和策略上更为灵活。一个实际的SSL连接6.3.1PGPPGP(PrettyGoodPrivacy)是一种实现邮件发送端身份鉴别,保证邮件传输过程中的保密性和完整性的安全协议。主要实现发送端鉴别、机密性、电子邮件兼容性、消息压缩、分段和组装等功能,用户可以选择其中一项或多项功能。1概述6.3安全应用协议2PGP发送端处理过程消息SHA-1D数字签名消息

Z压缩消息3DESE密文数字封面EPKRKEYB64SKS6.3.1PGP6.3安全应用协议3PGP接收端处理过程SHA-1D数字签名消息

压缩消息3DESD密文数字封面SKRKEYEPKS相等,发送端认证成功不相等,发送端认证失败6.3.1PGP6.3安全应用协议6.3.1PGP6.3安全应用协议4PGP的公开密钥管理防止篡改公钥和假冒的方法可以有以下四种:(1)直接从B手中得到其公钥,这种方法有局限性。(2)通过电话认证密钥:在电话上以radix-64的形式口述密钥或密钥指纹。密钥指纹(keysfingerprint)就是PGP生成密钥的160bit的SHA-1摘要(16个8位十六进制)。(3)从双方信任的D那里获得B的公钥。(4)由一个普通信任的机构担当第三方,即“认证机构”。6.3.1PGP6.3安全应用协议4PGP的公开密钥管理PGP的信任关系示意图

在SSH(SecureShell,安全外壳协议)中,综合采用了对称密码体制和非对称密码体制。非对称加密被用来在会话初始化阶段为通信双方进行会话密钥的协商。由于非对称加密的计算量比较大,因此一旦双方的会话密钥协商完成,后续的加密都将采用对称加密来进行。1概述6.3.2SSH6.3安全应用协议客户端发起一个TCP连接,默认端口号为22;服务端收到连接请求后,将自己的一些关键信息发给客户端,这些信息包括:服务器的公钥:客户端在收到这个公钥后,会在自己的“known-hosts”文件进行搜索,如果找到了相同的公钥,则说明此前连接过该服务器。如果没有找到,则会在终端显示一段警告信息,由用户来决定是否继续连接。服务器所支持的加密算法列表:客户端根据此列表来决定采用哪种加密算法。2SSH工作流程6.3.2SSH6.3安全应用协议生成会话密钥

此时,客户端已经拥有了服务器的公钥。接下来,客户端和服务器需要协商出一个双方都认可的密钥,并以此来对双方后续的通信内容进行加密。服务端和客户端共同选定一个大素数,叫做种子值;服务端和客户端各自独立地选择另外一个只有自己才知道的素数;双方使用相同的加密算法,由种子值和各自私有素数生成一个密钥值,并将这个值发送给对方;在收到密钥值后,服务端和客户端根据种子值和自己的私有素数,计算出一个最终的密钥。这一步由双方分别独立进行,但是得到的结果应该是相同的

温馨提示

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

评论

0/150

提交评论