2019/10/11第4章网络安全协议•4.1TCP/IP协议族与网络安全协议•4.2PGP协议•4.3SSL协议•4.4IPSec协议简介网络安全协议所起的作用就是网络的各个层面上提供不同的安全服务。2019/10/124.1TCP/IP协议族与网络安全协议•TCP/IP协议集确立了Internet的技术基础。TCP/IP的发展始于美国DOD(国防部)方案。IAB(Internet架构委员会)的下属工作组IETF(Internet工程任务组)研发了其中多数协议。IAB最初由美国政府发起,如今转变为公开而自治的机构。IAB协同研究和开发TCP/IP协议集的底层结构,并引导着Internet的发展。2019/10/13•TCP/IP协议族是因特网的基础协议,是一组协议的集合,包括基于传输层的TCP协议、UDP协议和基于网络层的IP协议、ICMP协议和IGMP协议等。•TCP/IP的核心功能是寻址和路由选择(网络层的IP/IPV6)以及传输控制(传输层的TCP、UDP)。绿瘦商城•ISO/OSI参考模型将网络的结构分成了7层,每层都实现特定的功能,但因特网体系结构却只分成了4层概念功能层来进行描述。OSI的参考模型TCP/IP的参考模型应用层表示层会话层传输层网络层数据链路层物理层应用层传输层网际层网络接口层2019/10/15TCP/IP协议集应用层网际层传输层网络接口层SMTPDNSSNMPTELNETHTTPNFSFTPTCPUDPICMPIGMPIPRARPARPLANWANMAN2019/10/164.1.2网络安全协议概述网络安全协议网络层次安全协议应用层S-HTTPKerberosSETS/MIMEPGP传输层SSLTLSSOCKSv5网际层IPSec网络接口层PPTPL2FL2TP2019/10/174.2PGP协议4.2.1PGP简介PGP(PrettyGoodPrivacy),是一个提供安全电子邮件的软件包,提供加密、鉴别、数字签名和压缩等技术,是PhilZimmermann在1991年编写的一个安全电子邮件加密方案,已经成为事实上的标准。PGP的版本有两大类:仅供个人用于非商业目的PGP免费版和公司用的PGP商业版。不同版本的PGP在公共域中可以得到,例如,你可以在国际PGP主页上找到合适平台的PGP软件。PGP也是一个商业产品,并且可以作为许多电子邮件用户代理(例如微软的Exchange和Outlook)的插件。PGP应用程序的特点是速度快、效率高、跨平台。PGP是位于应用层的一个安全协议,实际上它也是一个应用层上提供安全服务的软件。2019/10/184.2.2PGP的功能1)采用一次一密的对称加密算法,密钥随邮件加密传送,每次可以不同。2)采用数字签名防止了中途篡改和伪造。3)邮件内容经过压缩,减少了传送量。4)进行base64编码,便于兼容不同邮件传送系统。PGP最核心的功能是:文件加密、通信加密和数字签名。PGP采用的安全加密算法和处理手段主要包括IDEA对称密码算法、MD5报文摘要算法、RSA公钥算法、base64编码、ZIP程序压缩等。2019/10/19PGP加密的工作原理图2019/10/110•PGP通过单向散列算法对邮件内容进行签名,保证信件内容无法修改,使用公钥和私钥技术保证邮件内容保密且不可否认。发信人与收信人的公钥公布在公开的地方,公钥本身的权威性由第三方,特别是收信人所熟悉或信任的第三方进行签名认证。2019/10/1114.2.3PGP的应用举例•从,重新启动后会自动启动“PGPsdkService”服务。选择“Later”。2019/10/112配置PGP•启动PGP后,PGP软件会在任务栏生成一个小图标,即中的小锁图标,点击小锁,弹出的菜单中选择“PGPMail”,会出现一个程序栏。•2019/10/113当PGP安装后,该软件会为用户产生一个公共密钥对。这个公共密钥可以公布在用户的个人网站或者放在公共密钥服务器上。私有密钥用密码进行了保护。每次用户访问这个私有密钥的时候,必须输入密码。PGP会让用户选择是使用数字签名还是加密这个消息,或者是两者都使用。其签名的消息或者加密的消息都跟在MIME头部的后面。PGP也提供了公共密钥认证机制,但是这个机制完全不同于更为通用的认证中心。PGP公共密钥通过委托网站进行认证。当用户A认为密钥/用户名对确实是一起的,那么他就可以进行认证。另外,PGP允许用户A声明他信任的其他用户负责更多密钥的认证。一些PGP用户通过密钥签署协议来签署各自的密钥。用户找个机会碰面,交换包含公共密钥的磁盘,通过用他们的私有密钥签写各自的密钥来认证密钥。PGP公共密钥也可以通过因特网上的PGP公共密钥服务器发布。当然,也可以在个人网页上很容易的得到公共密钥。2019/10/114PGP中使用PGPKeys管理钥匙环(KeyRing)1.密钥的生成、传播和废除密钥的生成通常在安装过程中完成。在PGPKeys中也可生成新的密钥,即在任务栏弹出的菜单中选择PGPKeys→Keys→NewKey。若想废除密钥,只须选取Revoke即可。2019/10/1152019/10/1162019/10/1172019/10/118密钥属性对话框2019/10/119•2.数字签名用自己的私钥对邮件等签名。•3.加密与解密点击“Encrypt”,弹出选择所加密文件的对话框。→“ConventionalEncryption”→输入确认口令→完成。4.解密,是加密的反过程。用“Decrypt、Verify”。2019/10/1204.3SSL协议SSL是SecureSocketLayer(安全套接层协议)的缩写,是网景(Netscape)公司提出的基于WEB应用的安全协议,位于TCP和应用层之间,是一个独立的安全协议,换句话说,即是高层应用协议(例如HTTP、FTP、Telnet等)能透明的建立在SSL之上。SSL主要适用于点对点之间的信息传输,常用客户/服务器方式,可在服务器端和用户端同时实现支持。SSL协议提供的服务可以归纳为如下三个方面:1)用户和服务器身份的合法性认证。2)SSL链路上数据机密性。3)SSL链路上数据的完整性。2019/10/121现行网上银行和电子商务等大型的网上交易系统普遍采用HTTP和SSL相结合的方式。服务器端采用支持SSL的Web服务器,用户端采用支持SSL的浏览器实现安全通信。对于电子商务应用来说,使用SSL能够对信用卡和个人信息提供信息的完整性和保密性保护。但由于SSL不对应用层的消息进行电子签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator4.04版开始的所有浏览器中引入了一种被称作表单签名(FormSigning)的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。2019/10/122SSL协议在传输层和更高层提供了网络安全传输服务,它要求建立在可靠的传输层协议(例如TCP)之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证的工作,在此之后应用层协议所传送的数据都会被加密,从而保证通信的安全性。它也是传输层安全协议(TransportLayerSecurity,TLS)的基础,使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可以选择对用户进行认证。2019/10/123SSL协议是两层协议:上层协议包括SSL握手协议、更改密码规格协议和警报协议,下层协议为SSL记录协议。相应的其操作分为两个阶段:第一阶段是握手阶段(发送方和接收方协商并确定加密算法和密钥),第二阶段为数据加密传输阶段(依据第一阶段商定的密钥加密数据)。SSL协议采用公共密钥技术,并已成为Internet上保密通信的工业标准。现行Web浏览器普遍将HTTP和SSL协议相结合,从而实现安全通信。SSL协议的绝大功能由SSL握手协议和记录协议完成。4.3.2SSL结构及算法2019/10/124SSL握手协议SSL修改密码规格协议SSL告警协议SSL记录协议TCPIPSSL协议栈2019/10/125SSL握手协议(SSLHandshakeProtocol)SSL握手协议建立在SSL记录协议之上,用于在实际的数据传输开始前客户和服务器之间的“握手”。“握手”是一个协商的过程,这个协议使得客户和服务器能够互相鉴别对方的身份,协商加密和鉴别算法以及协商密钥。在传输任何数据之前,必须使用握手协议。客户和服务器鉴别身份是采用发送X.509数字证书来进行的。加密算法可选择使用DES,3-DES,IDEA,RC2,RC4等;鉴别算法可选择使用SHA算法和MD5报文摘要算法;密钥交换和协商通常采用RSA公钥算法来完成。2019/10/126•SSL更改密码规格协议是使用SSL记录协议服务的SSL高层协议的3个特定协议之一,也是其中最简单的一个。协议由单个消息组成,该消息只包含一个值为1的单个字节。该消息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前连接的密码组。为了保障SSL传输过程的安全性,双方应该每隔一段时间改变加密规范。•SSL告警协议是用来为对等实体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种是Fatal错误,如传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区相应的会话记录;第二种是Warning消息,这种情况,通信双方通常都只是记录日志,而对通信过程不造成任何影响。SSL握手协议可以使得服务器和客户能够相互鉴别对方,协商具体的加密算法和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。2019/10/127SSL记录协议(SSLRecordProtocol)在握手协议完成之后,才能进行SSL记录协议,它的主要功能是为高层协议提供封装数据、压缩、添加消息鉴别码MAC、加密等基本功能的支持。2019/10/1284.3.3SSL的应用“核新SSL数据安全代理”的应用通讯安全代理(以下简称“安全代理”)以Web通讯代理(WebProxy)的形式,为浏览器提供高强度(128位以上)的数据加密能力,可作为各种电子商务应用系统客户端的数据安全支撑平台。安全代理与Web浏览器安装在同一台计算机上,当浏览器要与远端Web服务器建立安全连接时,它向安全代理发出请求,由安全代理负责与远端Web服务器建立连接。连接建立后,浏览器与服务器之间的数据传输是经过安全代理转发完成的。浏览器与安全代理之间的数据传输是用浏览器本身支持的40位以下的弱加密算法加密的,而安全代理与远端Web服务器之间的数据传输则是用高强度的数据加密算法加密的。2019/10/1292019/10/1304.4IPSec协议简介•IPSec(InternetProtocolSecurity)即Internet安全协议,是一个工业标准网络安全协议。•IPSec主要提供以下安全服务:数据内容的机密性、数据起源地验证、数据的完整性验证、抗重播保护。•IPSec(通常称IP安全协议)是一组安全IP协议集,是在IP包级为IP业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议,通过使用现代密码学方法支持加密性和认证性服务,使用户能有选择的使用,并得到所期望的安全服务。2019/10/1314.4.1IPSec的优势与应用•IPSec位于TCP/IP分层结构的IP层上,因此它可以加密和鉴别在IP层的所有通信量,所有的分布式应用,包括