Internet安全协议体系

上传人:仙*** 文档编号:171720546 上传时间:2022-11-28 格式:PPT 页数:150 大小:4.40MB
收藏 版权申诉 举报 下载
Internet安全协议体系_第1页
第1页 / 共150页
Internet安全协议体系_第2页
第2页 / 共150页
Internet安全协议体系_第3页
第3页 / 共150页
资源描述:

《Internet安全协议体系》由会员分享,可在线阅读,更多相关《Internet安全协议体系(150页珍藏版)》请在装配图网上搜索。

1、第07章 Internet安全协议体系主讲人:郭松涛单 位:重庆大学计算机学院2007年11月目录7.1 TCP/IP安全协议体系概述7.2 数据联路层安全协议7.3 网络层安全全协议7.4 传输层安全协议7.5 代理协议7.6 应用层安全协议ISO/OSI参考模型TCP/IP层次模型TCP/IP体系应用层(A)应用层FTPTELNETHTTPSNMPNFS表示层(P)XDRSMTR会话层(S)RPC传输层(T)传输层TCP/UDP网络层(N)IP层IPICMPARP、RARP数据链路层(DL)网络接口层硬件协议(不指定)物理层(PH)7.1 TCP/IP安全协议体系概述TCP/IP网络安全体

2、系的三维框架结构 实体单元分层安全管理安全属性(安全服务/安全机制)应用系统安全计算机网络安全0终端系统安全(计算机+OS)认证访问控制数据完整性抗抵赖可用性、可控性可审计性安全管理现有TCP/IP网络安全技术框架 安全服务TCP/IP协议层网络接口IP层传输层应用层对等实体认证-YYY数据源认证-YYY访问控制服务-YYY连接机密性YYYY无连接机密性YYYY选择字段机密性-Y业务流机密性YY-YTCP/IP协议安全模型中提供的安全服务可恢复连接完整性-YY不可恢复连接完整性-YYY选择字段连接完整性-Y无连接完整性-YYY选择字段非连接完整性-Y源发方不可抵赖-Y接收方不可抵赖-Y说明:Y

3、:服务应作为选项并入该层的标准之中-:不提供S/MIME PGP SOCKS等应用层SSL TLS 等传输层IPv6 IPSec 等网际层PPTP L2F L2TP等网络接入层TCP/IPTCP/IP中的安全协议体系(讲课内容)中的安全协议体系(讲课内容)安全协议概述TCP/IPTCP/IP网络安全协议按层次归类如下:网络安全协议按层次归类如下:1、网络接口层安全协议网络接口层安全协议 主要用于链路层连接的认证与保密,已有的安全协议如下:(1)隧道协议PPTP、L2F、L2TP (2)口令认证协议(PAP)(3)挑战握手认证协议(CHAP)(4)Shiva口令认证协议(SPAP)(5)扩展认证

4、协议(EAP)(6)微软的挑战/响应握手认证协议(MS-CHAP)(7)微软的点对点加密协议(MS-MPPE)2、网络层安全协议、网络层安全协议 网络层是实现全面安全的最低层次,网络层安全协议可以提供ISO安全体系结构中所定义的所有安全服务。(1)前期安全协议 1)NSA/NIST的安全协议3(SP3)2)ISO的网络层安全协议(NLSP)3)NIST的完整NLSP(I-NLSP)4)swIPe(2)IETF的IPSec WG的IP安全协议(IPSec)1)认证头(AH)2)封装安全有效负载(ESP)3)Internet密钥交换协议(IKE)(3)IETF的IPSec WG的Internet密

5、钥管理协议(IKMP)1)标准密钥管理协议(MKNP)2)IP协议的简单密钥管理(SKIP)3)Photuris密钥管理协议 4)安全密钥交换机制(SKEME)5)Internet安全关联和密钥管理协议(ISAKMP)6)OAKLEY密钥决定协议(4)其它安全协议 1)机密IP封装协议(CIPE)2)通用路由封装协议(GRE)3)包过滤信息协议(PFIP)3、传输层安全协议、传输层安全协议 (1)前期协议 NSA/NIST的安全协议4(SP4)ISO的TLSP (2)安全SHELL(SSH)SSH传输层协议 SSH认证协议 (3)安全套接字层(SSL)SSL记录协议 SSL握手协议 (4)私有

6、通信技术(PCT)(5)IEIF TLS WG的传输层安全协议(TLSP)(6)SOCKSv5 4、应用层安全协议、应用层安全协议 包括安全增强的应用协议(已经正式存在的或安全的新协议)和认证与密钥分发系统。(1)安全增强的应用协议 远程终端访问(STel)安全RPC认证(SRA)NATAS(2)电子邮件(SMTP)保密增强邮件(PEM)PGP 安全MIME(S/MIME)MIME对象安全服务(MOSS)消息安全协议(MSP)APOPGnu保密防护(GnuPG)(3)WWW事务(HTTP)使用SSL/TLS 安全HTTP(S-HTTP)GSS-API方法 PGP-CCI方法(4)域名系统(DN

7、S)安全DNS(Secure DNS)RFC2065域名系统安全扩展(5)文件传输(FTP)RFC2228 FTP安全扩展(6)其它应用 网络管理:简单网络管理协议(SNMPv2、SNMPv3)机密文件系统(CFS)Andrew文件系统(AFS)5 5、电子支付方案、电子支付方案 (1)电子货币(Electronic Cash)Ecash(Digicash)CAFE(European R&D Project)NetCash(ISI/USC)Mondex(UK)CyberCash (2)电子支票(Electronic Checks)PayNow(CyberCash)NteCheque(ISI/U

8、SC)(3)信用卡支付(Credit Card Payment)iKP(i-Key-Protocol)安全电子支付协议(SEPP)安全交易技术(STT)安全电子交易(SET)(4)微支付(Micropayments)Millicent Pay Word and MicroMint CyberCoin NetBill 6 6、认证和密钥分配系统、认证和密钥分配系统 Kerberos 远程认证拨入用户服务(RADIUS)网络安全程序(NetSP)SPX(DEC)TESS(Univ.of Karlsruhe)SESAME DCE(Open Group)7 7、其它安全协议、其它安全协议 S/KEY

9、加密控制协议(ECP)TACACS/TACACS+FWZ密钥管理协议 X.509数字证书 证书登记协议(CeP)在线证书状态协议(OCSP)内容引向协议(UFP)URL过滤协议 可疑行为监控协议(SAMP)7.2 数据链路层安全协议7.2.1 PPP协议7.2.2 隧道技术原理7.2.3 PPTP协议7.2.4 L2TP协议7.2.1 PPP协议1、SLIP协议简介协议简介(Serial Line Internet Protocol)通过标准的RS-232异步串行线(拨号电话线)传送IP包的方法,是在电话线上交换Internet业务的早期标准。不足:(1)没有错误检测和纠错功能 (2)SL I

10、P 只支持IP (3)不支持动态IP地址分配 双方都必须预先知道对方的IP 地址,地址不能动态分配,这对于通过电话线上网的用户主机来说,就造成了IP 地址很大的浪费 (4)没有身份验证功能 因此任何一方都不知道在与谁通2、PPP协议协议(point to point protocol)(1)(1)特点特点 实现关于广域网络环境下传送实现关于广域网络环境下传送IpIp数据报的协议;是数据报的协议;是SLIPSLIP的改进。的改进。1)1)支持多协议传输机制 不仅支持IP,而且还支持IPX和Apple talk等多种通信协议 2)支持协商配置 在开始连接时双方可以协商配置参数(如IP 地址,头压缩

11、等)3)PPP 提供2种自动登录方法 口令确认协议PAP(password authentication protocol)应答握手确认协议CHAP(challengehandshakeauthenticationprotocol)4)具有错误检测手段,比较可靠(2)使用环境使用环境(3)PPP协议的构成协议的构成PPP主要包含3个方面的内容:1)对多协议数据包的封装;2)用于建立、设置、测试数据链路连接的链路控制协议LCP(linkcontrolprotocol);3)用于建立、设置不同网络层协议的网络控制协议NCP(networkcontrolprotocol)本质上,本质上,NCP是一簇

12、协议的代名词。若是用是一簇协议的代名词。若是用TCP/IP,对应的协议名称为对应的协议名称为IPCP 1)物理层物理层:兼容常用硬件和广域网网物理层协议兼容常用硬件和广域网网物理层协议PPP在设计时即考虑与常用的硬件兼容,支持任何DTE-DCE接口,例如EIARS-232C、EIARS-242和CCITTV.35 2)数据链路层:基于数据链路层:基于HDLCHDLC协议协议 PPP使用ISO3309-1979的HDLC(highleveldatalinkcontrol)(用于同步环境)和其修改版ISO3390-1984PAAD1(用于异步环境)的原理、术语和帧结构,以HDLC作为封装的基础,并

13、使用HDLC帧校验序列进行错误检测。PPP封装提供了在同一链路上不同网络层协议的复用,因此很容易连接各种各样的主机、网桥和路由器。3)链路控制协议LCP(Link Control Protocol)v 负责线路建立、测试和选项协商,链路释放v 使用多种物理层服务:modem、HDLC bit-serial、SDH/SONET等v 提供协商机制 LCP用来在ESTABLISH状态协商数据链路协议选项,并不关心选 项内容,而是提供一种协商机制v 链路质量检测办法v 11种帧类型 4)4)网络控制协议网络控制协议NCP(Network Control Protocol)NCP(Network Con

14、trol Protocol)v 可支持多种网络层协议v 用于协商网络层选项 对于所支持的每一个网络层协议都有一个不同的网 络控制协议(NCP),用来建立和配置不同的网络层协议v PPP被设计成允许同时使用多个网络层协议 PPPPPP协议应用实例:家庭用户拨号上网协议应用实例:家庭用户拨号上网 1)物理链路建立 拨号:PC-MODEM-路由器Modem(ISP)响应:路由器Modem-Modem-PC 2)数据链路建立 PC路由器:LCP帧 3)网络层协议协商 PC路由器:NCP分组 如:PC要运行TCP/IP,则其需要IP。ISP采用DHCP机制分配IP(3)PPP协议的帧格式协议的帧格式F

15、净荷净荷CAF校验校验和和1 字节字节2/4 0-最大长度最大长度111协议协议1/2F:首尾标志7Eh,透明传输采用字符填充A:地址字段,永远为FFh,表示所有站点都可以接收C:控制字段,默认为03h,表示无编号帧协议:指明净荷字段的包类型,支持LCP、PAP、CHAP、IP、IPX、AppleTalk.PPP帧中的协议字段是0 xc021,则表明它的有效载荷是一个LCP包PPP帧中的协议字段是0 x8021,则表明它的有效载荷是IPCP包(NCP)PPP帧中的协议字段是0 xc223,则表明它的有效载荷是一个CHAP包PPP帧中的协议字段是0 xc023,则表明它的有效载荷是一个PAP包P

16、PP帧中的协议字段是0 x0021,则表明它的有效载荷是IP包(4)LCP包的格式包的格式代码域:LCP包的类型(1个字节)标识域:LCP包的序号(1个字节)长度域:LCP包的长度(2个字节)数据域:选项或重要参数,格式如下LCP 包的代码域包的代码域LCP的选项域的选项域(5)IPCP包的格式包的格式 格式完全同LCP,代码域使用LCP定义的前面7个 选项含义如下:(6)IP数据报的封装数据报的封装 协议:0X0021 (7)协议执行过程协议执行过程建立结束:LCP报文身分认证:CHAP报文网络工作:NCP报文7.2.2 隧道技术原理 1、基本思想基本思想 隧道技术是一种通过使用互联网络的基

17、础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使该新的报文能够在互联网络中被传递,被封装的数据包一旦到达网络终点,数据将被解包并转发到最终目的地。2、隧道的定义隧道的定义 被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。隧道技术是指包括数据封装,传输和解包在内的全过程3 3、隧道所使用的传输网络、隧道所使用的传输网络 可是任何类型的公共互联网络。目前普遍使用的是基于Internet(IP网络)隧道技术4 4、隧道技术类别、隧道技术类别 (1)2层的隧道

18、协议 2层隧道协议对应OSI模型的数据链路层,以帧为数据交换单位。PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)帧中通过互联网络发送 (2)3层的隧道协议 3层隧道协议对应OSI模型的网络层,以包为数据交换单位。IP over IP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送不同隧道协议的本质区别在于用户的数据包是被封装在哪种数据包中在隧道中传输的 5 5、隧道协议的构成、隧道协议的构成 无论哪种隧道协议都是由 传输的载体 不同的封装格式 被传输数据包 三部分组成的乘客协议封装协议传输协议传输

19、协议:传输协议:IP是一种常见的传输协议;帧中继、ATM也是很好的传输协议封装协议:封装协议:被用来建立、保持和拆卸隧道。包括L2F、L2TP、GRE协议。乘客协议乘客协议:是被封装的协议,可以是PPP、SLIP、IPX、IP等不同隧道协议的本质区别在于:用户的数据包是被封装在哪种数据包中在隧道中传输的7.2.3 PPTP协议1 1、基于、基于PPPPPP的传统网络接入服务器的传统网络接入服务器NASNAS的功能的功能 NAS负责管理对所有网络设备和资源的访问,一般具有以下几种功能:(1)提供到PSTN或ISDN的物理接口,控制外部调制解调器和终端适配器。(2)提供点对点协议(PPP)链路控制

20、协议(LCP)会话的逻辑终止。(3)参与到PPP认证协议中。(4)执行各种PPP网络控制协议(NPC)的逻辑终止 (5)为PPP多链路协议提供信道聚集和捆绑管理。(6)执行NAS接口之间的多协议路由和桥接。2、基于、基于PPP的传统网络接入服务器的不足的传统网络接入服务器的不足 (1)PPP主要通过拨号或专线方式建立点对点连接发送数据 (2)若用户与NAS相距遥远,需要远程拨号或远程专线,这将使系统的使用效率低,成本高 (3)能否借助Internet这种便利资源来建立与远程主机的连接?这就是PPTP的出发点。3、PPTP协议的基本模型协议的基本模型 (1)NAS的任务在PPTP协议中被分配给两

21、个主要的组件 PPTP访问集中器PAC(PPTP Access Concentrator)PPTP网络服务器PNS(PPTP Network Server)(2)PPTP访问集中器(PAC)PAC与一条或多条PSTN或ISDN线路相连。它完成PPP操作并处理PPTP协议。PAC负责为PSTN或ISDN网络提供物理接口,并为PPP链路控制协议会话提供逻辑终止。具有NAS的第(1)、(2)、(3)种功能。(3)PPTP网络服务器(PNS)PNS负责处理服务器端的PPTP协议。PNS为NAS的不同的接口之间提供多协议路由和桥接,负责PPP网络控制协议的逻辑终止 具有NAS的第(3)、(4)、(5)、

22、(6)种功能客户机PPPPACPNSPPTP隧道位于ISP处专用网络PPTPPPTP协议模型协议模型 PAC把PPP数据帧封装后在因特网上传输。这些IP数据包在因特网上按特定的路由传送,直到到达PNS。PNS把IP数据包分解为PPP数据包,并从这些PPP数据包中提取出必要的信息,然后把数据包通过专用网络发送到目的计算机 4、PPTP协议过程协议过程PPTP有两个过程:控制连接过程和数据传输过程 (1)控制连接控制连接 在PNSPAC间进行传输数据前,必须建立一个控制连接。控制连接是一个标准的TCP会话(服务端TCP端口为1723),通过该连接传递的报文称为控制报文。控制连接负责建立,管理、释放

23、和拆卸PPTP隧道 控制报文用来通知PAC有来自PNS的出网呼叫,或是通知PNS有 来自PAC的入网呼叫 控制报文格式控制报文格式IP首部TCP首部PPTP控制报文start_control_connection_request:start_control_connection_request:启动启动PPTPPPTP会话请求会话请求PPTP Message Type:控制连接,该位为1Control Message Type:start_Control_Connection_Request,为1Framing Capabilities:异步/同步帧模式(1/2)Bearer Capabili

24、ties:模拟/数字信道(1/2)start_control_connection_Reply:start_control_connection_Reply:对启动对启动PPTPPPTP会话请求的响应会话请求的响应PPTP Message Type:控制连接,该位为1Control Message Type:start_Control_Connection_Reply,为2Framing Capabilities:异步/同步帧模式(1/2)Bearer Capabilities:模拟/数字信道(1/2)(2)数据传输连接数据传输连接 在PPTP隧道建立后,就可以在客户机和PPTP服务器之间传输

25、数据了。PPTP隧道上传输的是PPP数据包。PPP数据包是封装在GRE(通用路由封装)包中的,而GER包是在IP层上传送的 报文格式报文格式IP首部GRE首部PPP数据包拨号建立PPP连接到VPNStart_control_connection_request Start_control_connection_reply Incoming_call_request Incoming_call_reply Incoming_call_connected Outcoming_call_request Outcoming_call_reply Call_clear_request Call_clea

26、r_reply Stop_control_connection_request Stop_control_connection_reply PPP数据包 拨号建立PPP连接到VPNStart_control_connection_request Start_control_connection_reply Incoming_call_request Incoming_call_reply Incoming_call_connected PPP数据包 流入呼叫流入呼叫 流出呼叫流出呼叫 Outcoming_call_request Outcoming_call_reply PPP数据包 Call

27、_clear_request Call_clear_reply 清除呼叫清除呼叫 停止会话停止会话 关闭PPP连接Stop_control_connection_request Stop_control_connection_reply 开始会话开始会话 客户机PACPNS7.2.4 L2TP协议1、第二层隧道协议第二层隧道协议-L2TP L2TP是一个国际标准隧道协议,它结合了PPTP协议以及第二层转发L2F协议的优点。L2TP与PPTP的最大不同在于L2TP将控制报文和数据报文合二为一,并运行在UDP上,而不是TCP上。UDP省去了TCP中同步、检错、重传等机制,因此L2TP速度很快。L2

28、TP协议封装格式如下:与PPTP类似,L2TP也可支持多种协议。L2TP协议本身并没有提供任何加密功能UDP2、L2TP的典型工作模型的典型工作模型UDP3、L2TP协议及报文格式协议及报文格式PPP帧L2TP数据报文L2TP数据通道(不可靠)L2TP控制报文L2TP控制通道(可靠)报文传输(UDP、FR、ATM)T:报文类型 0-数据报文,1-控制报文L:长度域指示符 1:有长度域,对控制报文必须置其为1S:序号Ns、Nr域指示符 1:有Ns、Nr域,对控制报文必须置其为1O:offset size域指示符 1:有offset size域,对控制报文必须置其为0P:优先级域 1:则数据消息报

29、文需要优先被处理,对控制报文 必须置其为0X:保留比特L2TP报文头结构报文头结构(数据与控制报文共用数据与控制报文共用)Tunnel IDTunnel ID:隧道:隧道IDID 控制连接的标识符;L2TP在LAC和LNS间建立的隧道在每一端都有一个标识符号。该处的隧道标识符是隧道另一端(接收端)相应的标识符Session IDSession ID 在一个隧道内的会话IDOffset sizeOffset size 用于指明数据开始的位置控制报文类型控制报文类型4 4、PPTPPPTP和和L2TPL2TP的差别的差别 1)PPTP1)PPTP要求传输网络为要求传输网络为IPIP网络网络 L2T

30、P只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP),FR永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。2)PPTP2)PPTP只能在两端点间建立单一隧道只能在两端点间建立单一隧道 L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道 3)L2TP3)L2TP可以提供包头压缩。可以提供包头压缩。4)L2TP4)L2TP可以提供隧道验证,而可以提供隧道验证,而PPTPPPTP则不支持隧道验证则不支持隧道验证 但是当L2TP或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协

31、议上验证隧道7.3 网络层安全协议-IPSec1、为什么需要在、为什么需要在IP层提供安全性?层提供安全性?(1)IP数据报文没有任何安全机制,可被 1)窃听 2)篡改 3)假冒 。(2)在IP层提供安全性,对应用、用户是透明的2、IP层需要什么样的安全性层需要什么样的安全性 (1)保密性:防止窃听 利用加密技术实现 (2)完整性:防止篡改 利用消息鉴别技术实现 (3)鉴 别:防止假冒 确保通信双方的真实性IPSec的主要特征是可以支持IP级所有流量的加密和/或认证3、IPSec的主要目标的主要目标 期望安全的用户能够使用基于密码学的安全机制n应能同时适用与IPv4和IPv6n算法独立n有利于

32、实现不同安全策略n对没有采用该机制的的用户不会有副面影响 对上述特征的支持在对上述特征的支持在IPv6IPv6中是强制的,在中是强制的,在IPv4IPv4中是可选的。中是可选的。这两种情况下都是采用在主IP报头后面接续扩展报头的方法实现的。认证的扩展报头称为AH(AuthenticationHeader)加密的扩展报头称为ESPheader(EncapsulatingSecurityPayload)4、IPSec在在IP层提供安全服务层提供安全服务v 访问控制v 连接完整性v 数据源认证v 拒绝重放数据包v 保密性(加密)v 有限信息流保密性AH(AH(认证认证)ESP(ESP(仅加密仅加密)

33、ESP(ESP(加密加密+认证认证)访问控制访问控制连接完整性连接完整性数据源认证数据源认证拒绝重放报文拒绝重放报文保密性保密性有限信息流保密性有限信息流保密性5 5、IPSecIPSec的主要组成部分的主要组成部分 (1)首部鉴别AH协议 AH协议提供数据源鉴别和数据完整性鉴别,这可以确保数据的完整性和真实性(含用户和数据)(2)安全净荷封装ESP协议 ESP协议提供数据的保密性,还提供可选的鉴别服务,可抵抗重放攻击 (3)因特网密钥管理IKE协议 AH和ESP提供的安全保证依赖于它们使用的加密算法及其密钥。IKE定义了通信双方间进行身份鉴别、协商加密算法、生成或分配共享的会话密钥以及创建安

34、全关联SA的方法 1 1)IPSec IPSec 体系体系 体系文档是RFC2401,它定义了IPSec的基本结构,指定IP 包的机密性(加密)和身份认证使用传输安全协议ESP 或AH实现1)IPSec 1)IPSec 体系体系 体系文档是RFC2401,它定义了IPSec的基本结构,包括总体概念、安全需求、安全定义,以及定义IPSec技术机制2)ESP(Encapsulating security payload,2)ESP(Encapsulating security payload,封装安全载荷封装安全载荷)协议文档是RFC2406,定义了载荷头(ESP 头)格式和服务类型以及包处理规则

35、3)AH(Authentication Header,3)AH(Authentication Header,认证报头认证报头)协议文档RFC2402定义了AH头格式、服务类型及包处理规则4)4)加密算法加密算法 协议文档是RFC2405,定义了DES-CBC作为ESP的加密算法以及如何实现DES-CBC 算法和初始化矢量(IV)的生成5)5)认证算法认证算法 协议文档是RFC2403 和RFC2404。RFC2403定义了对ESP的认证算法为散列函数MD5 或SHA的HMAC版本 RFC2404定义了默认情况下AH的认证算法是MD5或SHA的HMAC版本 6)IKE(Internet key

36、Exchange,6)IKE(Internet key Exchange,因特网密钥交换因特网密钥交换)协议文档是RFC2409,定义了IPSec通信双方如何动态建立共享安全参数(即建立安全联盟)和经认证过的密钥 IKE的功能包括:加密算法和密钥的协商、密钥生成、交换及管理。IKE是ISAKMP(RFC2408)、Oakley(RFC2412)和SKEME(RFC2408)三个协议揉合而成的一个协议。ISAKMP只规定了一个认证和密钥交换的框架,Oakley 给出了密钥交换的步骤,而SKEME 则提供了一种通用的密钥交换技术。IKE 结合三者的功能组成了一个密钥交换协议7)IPSec DOI(

37、Domain of Interpretation,7)IPSec DOI(Domain of Interpretation,解释域解释域)协议文档是RFC2407,定义了IPSec DOI文档规范。IKE 定义了安全参数如何协商,以及共享密钥如何建立,但没有定义协商内容(参数),协商内容与IKE 协议本身分开实现。协商的内容(参数)被归于一个单独的文档内,名为IPSec DOI。8)8)策略策略 策略是两个实体间通信的规则,它决定采用什么协议、什么加密算法和认证算法来通信。策略不当可能造成不能正常工作。目前策略还没有统一标准6、安全关联、安全关联SA(Security AssociationS

38、ecurity Association)(1)SA (1)SA概述概述IPSec系统需要具体完成二方面工作:设置安全机制及参数 由IKE(因特网密钥交换)、策略和解释域(DOI)三组件完成 对IP包进行加密、认证和传输 由ESP、AH传输协议完成(包括加密、认证算法)完成 SA是两个通信实体经过协商建立起来的一种单向的逻辑“连接”,规定用来保护数据的IPSec协议类型、加密算法、认证方式、加密和认证密钥、密钥的生存时间以及抗重播攻击的序列号等,为所承载的流量提供安全服务SA可以手工建立也可以自动建立(采用IKE协议)SA SA是单向的是单向的 如果两台主机A、B正在利用ESP通信,那么主机A需

39、要一个用来处理外出数据包的SA(out),还需要一个处理进入数据包的SA(in)。主机A的SA(out)和主机B的SA(in)共享相同的加密参数,主机B的SA(out)和主机A的SA(in)共享相同的加密参数。SA可以为AH或者ESP提供安全服务,但不能同时提供。如果一个流量同时使用了AH 和ESP,那就必须为该流量建立两个(或更多个)SA。为了保证两台主机或安全网关之间典型的双向通信,至少需要建立两个SA(每个方向一个)(2)(2)安全关联安全关联SASA的表示:三元组的表示:三元组 (安全参数索引,目的IP地址,安全协议标识符)1)1)安全参数索引(安全参数索引(SPISPI)SPI是一个

40、32位长的数据,发送方在每个数据包上加载一个SPI,接受方使用这个值在安全关联数据库SAD中进行检索查询,提取所需要的SA,以便处理接收的分组 2)2)目的目的IPIP地址地址 可以是终端主机的IP地址,也可以是前端设备(如防火墙或路由器)的IP地址 3)3)安全协议标识符安全协议标识符 标明该SA是用于AH还是ESP(3)SAD:安全关联数据库:安全关联数据库 SAD中的参数中的参数 1)AH信息 AH使用的鉴别算法、密钥、密钥生存期和相关参数 2)ESP2)ESP信息信息 ESP使用的加密算法、鉴别算法、密钥及其同步初始化向量、密钥生存期和相关的参数 3)SA3)SA的生存期的生存期 一旦

41、到期,必须弃用参数安全参数索引(SPI)4)IPSec4)IPSec协议方式协议方式 定义该SA参数是被隧道模式或传输模式使用,若为通培符,则隧道、传输模式均可用5)5)序列号序列号 序列号是一个32 位的字段,用来产生AH或ESP头中的序列号字段。SA 建立初始时,该字段的值设为0。每次用SA 来保护一个数据包,序列号的值便会递增1。通常在这个字段溢出之前,SA会重新进行协商。目标主机利用这个字段来侦测“重播”攻击6)6)序列号溢出序列号溢出 该字段在序列号溢出时加以设置,用于外出包处理。如溢出,则产生一个审计事件,并禁止用SA 继续发送数据包7)7)抗重播窗口:抗重播窗口:一个32 位的计

42、数器,判断进入的AH或ESP包是否是重播的数据包。仅用于进入数据包,如接收方不选择抗重播服务(如手工设置SA 时),则抗重播窗口未被使用8)PMTU 8)PMTU 参数参数 在隧道模式下使用IPSec 时,必须维持正确的PMTU 信息,以便对数据包进行相应的分段。(4)(4)安全策略数据库安全策略数据库SPD(Security Policy Database)SPD(Security Policy Database)SPD定义了对所有进出业务应该采取的安全策略,决定了为特定的数据包提供特定的安全服务。IP数据包的收发都以安全策略为依据。对出入的IP包的处理有三种可能的选择:1)丢弃丢弃 不允许

43、该IP包在此主机上存在,不允许通过此安全网关或是根本就不能传送给上层应用程序的业务流 2)绕过绕过IPSecIPSec 不需要进行IPSec安全保护处理,可直接通过 3)3)采用采用IPSecIPSec 需要进行IPSec安全保护处理。对于这种业务流,SPD还必须指明所需提供的安全服务,采用的协议类型以及使用何种算法等 以下参数可用来确定SPD入口(又称为选择符):n目的IP地址:可以是单地址或多地址n源地址:单地址或多地址nUserID:操作系统中的用户标识。n数据敏感级别:n传输层协议:nIPSec协议(AH,ESP,AH/ESP)n源/目的端口n服务类型(TOS)策略策略入口SPD的结构

44、的结构若策略为采用IPSec,则有指向SAD数据库某条SA的指针(5)(5)报文与报文与SASA的关系的关系 1)1)对输出报文对输出报文 对于输出数据报文,IPSec 协议要先查询SPD,确定为数据报文应使用的安全策略。如果检索到的数据策略是应用IPSec,再查询SAD,确定是否存在有效地SA 若存在有效的若存在有效的SASA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPSec头和IP头等),然后发送 若尚未建立若尚未建立SASA,则启动或触发IKE 协商,协商成功后按前一步骤处理,不成功则应将数据包丢弃,并记录出错信息 存在存在SASA但无效但无效,将此信息向IKE 通告,请求

45、协商新的SA,协商成功后按1)中的步骤处理,不成功则应将数据包丢弃,并记录出错信息2)对输入报文对输入报文 IPSec协议先查询SAD。如得到有效的SA,则对数据包进行解封(还原)再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则将还原后的数据包交给TCP 层或转发。如不相符,或要求应用IPSec 但未建立SA,或SA无效,则将数据包丢弃,并记录出错信息SA_IDsourcedestprotocolspiSA记录011.1.1.12.2.2.2AH11MD5,K1,051.1.1.12.2.2.2-061.1.1.12.2.2.2AH13DES,K3,A(1.1.1.1

46、)B(2.2.2.2)A的的 SADBIDsourcedestprotocolportActionpolicy051.1.1.12.2.2.2TCP80IPSEC_PASS-061.1.1.13.3.3.3TCP25IPSEC-USEAHA的的SPD7、传输和隧道模式、传输和隧道模式 (1)传输模式下 IPSec仅对IP层以上的数据(TCP/UDP数据)进行加密和鉴别。传输模式通常用于两个主机之间的端对端通信 (2)隧道模式下 将原IP包封装在一个新的包中,原IP包将作为新包的有效净荷,并且添加了新的适用于网关间的IP首部。在传输过程中,由于原目的IP地址被封装,中间的路由器只检查新的IP首部

47、,所以隧道方式可用来对抗通信量分析。隧道模式主要用于安全网关之间,可以在公共网上构建虚拟专用网(VPN)8、鉴别鉴别AH协议协议 AH首部格式首部格式 下一个首部(下一个首部(8bit8bit)标识该AH首部后下一有效载荷的类型安全参数索引(安全参数索引(32 bit32 bit)标识用于此数据项的SA序列号(序列号(32 bit32 bit)一个单调递增的记数值,用于防止重放攻击鉴别数据(可变长)鉴别数据(可变长)长度可变,但必须为32 bit的整数倍,包含了这个包的完整性检查值AHAH的两种模式的两种模式(1)传输模式鉴别覆盖了整个分组(除可变字段)(2)隧道模式AH被插在原IP首部和新I

48、P首部之间,目的IP地址被掩藏起来,提供了通信量上的安全性。Ext.headers(if present)Ext.headers(if present)AH-传输模式传输模式AH-隧道模式隧道模式9、ESP协议协议ESP首部格式首部格式 ESP HeaderESP TrailerESP Auth.DataPayload DataESP-传输模式传输模式Ext.headers(if present)Ext.hrsESP-隧道模式隧道模式10、IKE (1)IPSec的的5个阶段个阶段1)过程启动2)IKE的第一阶段3)IKE的第二阶段4)数据传送5)隧道终止(2)IKE的第一阶段的第一阶段在IK

49、E的第一阶段中,在IPSec的两个端点间协商IKE的SA,以保护IKE交换的安全 用Diffie-Hellman算法进行密钥交换(3 3)IKE的第二阶段的第二阶段 当IKE SA建立后,进入IKE的第二阶段,协商和建立IPSec的SA 7.4 传输层安全协议1、传输层安全协议、传输层安全协议 (1)SSL (2)TLS:基于SSL协议 RFC 2246:The TLS Protocol Version 1.0 RFC 2818:HTTP Over TLS2、SSL协议的起源协议的起源 由于Web上有时要传输重要或敏感的数据,为了提供Web应用的安全性,1994年Netscape公司提出了安全

50、通信协议SSL(SecureSocketLayer)。把HTTP和SSL相结合,就可以实现安全通信。SSL作为目前保护Web安全和基于HTTP的电子商务交易安全的事实上的标准,被世界知名厂家广泛支持3 3、SSLSSL提供的安全服务提供的安全服务 为客户-服务器通讯提供安全性 (1)保密性 SSL客户机和服务器之间通过密码算法和密钥的协商,建立起一个安全通道。(2)完整性 SSL利用密码算法和Hash函数,通过对传输信息特征值的提取来保证信息的完整性(消息摘要)(3)认证性 利用证书技术和可信的第三方CA,可以让客户机和服务器相互识别对方的身份4、SSL协议的体系结构协议的体系结构SSL是一个

51、两层协议 (1)记录层协议 (2)握手层协议:3个握握手手层层协协议议(1)记录协议记录协议 提供分块、压缩、加密、完整性服务(2)握手协议握手协议 SSL握手协议是用来在客户端和服务器端传输应用数据之前建立安全通信机制。首次通信时,双方通过握手协议协商密钥加密算法、数据加密算法和报文摘要算法;然后互相验证对方身份,最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器各自根据这个秘密信息确定数据加密算法的参数(一般是密钥)(3)密钥更改协议密钥更改协议 用于会话间的密钥修改(4)告警协议告警协议 用于传输警告信息5、记录协议、记录协议SSL记录协议提供数据加密以及数据完整

52、性服务 MAC记录报文的结构记录报文的结构记录头可以是2个或3个字节的编码记录头包含的信息:记录头包含的信息:记录头的长度 记录数据的长度 记录数据中是否有填充数据(使用块加密时填充的数据)6 6、SSLSSL握手协议握手协议 (1)作用作用SSL握手协议旨在创建和保持通信双方进行安全通信所需的安全参数及状态信息。它使得服务器和客户机能够进行双向的身份认证,并协商加密算法、MAC算法以及SSL记录中所用的加密密钥 (2)(2)过程过程 分为四个阶段 1)1)第一阶段:建立安全能力第一阶段:建立安全能力 协商压缩算法、报文摘要算法、加密算法等;SSL版本、会话标识符 2)2)第二阶段:第二阶段:

53、服务器鉴别和密钥交换服务器鉴别和密钥交换 服务器向客户发送其数字证书,利用该证书对服务器进行鉴别 3)3)第三阶段:客户鉴别和密钥交换第三阶段:客户鉴别和密钥交换(可选可选)客户向服务器发送其数字证书,利用该证书对客户进行鉴别。4)4)第四阶段:握手结束阶段第四阶段:握手结束阶段 前面各阶段完成客户端服务端第一阶段第二阶段Client_hello Server_hello Server_certificate Server_key_exchange Certificate_request Server_hello_done 客户端服务端第三阶段第四阶段Client_certificate Cl

54、ient_key_exchange Certificate_Verify Change_cipher_spec Finished Change_cipher_spec Finished 握手协议定义的消息类型(1)消息类型说明参数hello_request握手请求,服务器可在任何时候向客户端发送该消息。若客户端正在进行握手过程就可忽略该消息。否则客户端发送cleint_hello消息,启动握手过程无client_hello客户启动握手请求,该消息时当客户第一次连接服务器时向服务器发送的第一条消息。该消息中包括了客户端支持的各种算法。若服务器端不能支持,则本次会话可能失败。版本、随机数、会话ID

55、、密文族、压缩方法server_hello 其结构与client_hello消息,该消息是服务器对客户端client_hello消息的恢复。版本、随机数、会话ID、密文族、压缩方法server_certificate服务器提供的证书。如果客户要求对服务器进行认证,则服务器在发送server_hello消息后,向客户端发送该消息。证书的类型一般是X.509v3。X509v3证书链server_key_exchange 服务器密钥交换。当服务器不使用证书,或其证书中仅提供签名而不提供密钥时,需要使用本消息来交换密钥。参数、签名握手协议定义的消息类型(2)消息类型说明参数certificate_re

56、quest用于服务器向客户端要求一个客户证书。类型、授权server_hello_done 该消息表明服务器端的握手请求报文已经发送完毕,正在等待客户端的响应。客户端在收到该消息时,将检查服务器提供的证书及其他参数是否是有效、可以接受的。无client_certificate客户端对服务器certificate_request消息的响应,只有在服务器端要求客户证书的时候使用。一般该消息是客户端收到server_hello_done消息后所发送的第一条消息。若客户端没有合适的证书,则向服务器端发送no_certificate的告警消息(无证书可能导致握手失败)X509v3证书链client_ke

57、y_exchange客户密钥交换。当客户不使用证书,或其证书中仅提供签名而不提供密钥时,需要使用本消息来交换密钥。参数、签名certificate_verify该消息用于向服务器提供对客户证书的验证。签名finished 该消息在“加密规约修改”(Change Cipher Spec)消息之后发送,以证实握手过程已经成功完成。本消息发送后,发送方开始使用协商的新参数来执行操作。该消息需要在两个方向上传送。散列值消息名消息名方向方向内容内容不需要新密钥不需要新密钥CLIENTHELLOCSchallenge,session_id,cipher_specsSERVERHELLOSCconnecti

58、on-id,session_id_hitCLIENTFINISHCSEclient_write_keyconnection-idSERVER-VERIFYSCEserver_write_keychallengeSERVERFINISHSCEserver_write_keysession_id其他流程其他流程需要新密钥需要新密钥CLIENTHELLOCSchallenge,cipher_specsSERVERHELLOSCconnection-id,server_certificate,cipher_specsCLIENTMASTERKEYCSEserver_public_keymaster_k

59、eyCLIENTFINISHCSEclient_write_keyconnection-idSERVERVERIFYSCEserver_write_keychallengeSERVERFINISHSCEserver_write_keynew_session_id需要客户认证需要客户认证CLIENTHELLOCSchallenge,session_id,cipher_specsSERVERHELLOSCconnection-id,session_id_hitCLIENTFINISHCSEclient_write_keyconnection-idSERVER-VERIFYSCEserver_wri

60、te_keychallengeREQUESTCERTIFICATESCEserver_write_keyauth_type,challengeCLIENTCERTIFICATECSEclient_write_keycert_type,client_cert,response_dataSERVERFINISHSCEserver_write_keysession_id7.5 代理协议-SOCKs 1 1、代理协议、代理协议 根据代理服务器的工作层次,可分为应用层代理、传输层代理和SOCKS代理。应用层代理工作在TCP/IP模型的应用层之上,对不同的代理提供不同的处理方法,只能用于支持应用层协议的代

61、理(如HTTP、FTP)SOCKS代理工作在TCP/IP模型的应用层和传输层之间2 2、SOCKsSOCKs代理代理 1 1)Socks协议是基于客户机/服务器结构的代理协议 2)在客户/服务器模型中,存在客户Client和服务器Server两个实体。采用SOCKs代理技术,则SOCKs代理服务器对客户Client而言,其是服务器,对服务器Server而言,其是客户 3)它处理的对象主要是传输层上的数据包,是一种兼具传统应用代理特点,同时又具有良好透明性的通用代理技术 4)连接请求连接请求、代理链路的建立代理链路的建立和应用数据中转应用数据中转(SOCKv4),鉴别功能鉴别功能(SOCKv5)

62、3、SOCKs工作过程工作过程 (1)连接请求、用户鉴别连接请求、用户鉴别(Sockv5)1)客户和代理间建立)客户和代理间建立TCP连接连接 2)协商认证模式(客户向代理发送选择报文)协商认证模式(客户向代理发送选择报文)3)根据)根据2)进行身份验证)进行身份验证 若为若为user/pass:则客户向代理传送用户名和口令(明文模式则客户向代理传送用户名和口令(明文模式)版本号选择认证方法号认证方法号111255版本号确认方法号11认证模式协商过程认证模式协商过程客户-代理:请求代理-客户:响应1)0 x00 无验证需求2)0 x01 采用通用安全服务应用程序接口(GSSAPI)3)0 x0

63、2 3)0 x02 采用用户名采用用户名/口令认证口令认证(USERNAME/PASSWORD)(USERNAME/PASSWORD)4)0 x03 至 0 x7F IANA 分配(IANA ASSIGNED)5)0 x80 至 0 xFE 私人方法保留(RESERVED FOR PRIVATE METHODS)6)0 xFF 无可接受方法(NO ACCEPTABLE METHODS)(2)(2)代理链路的建立代理链路的建立 客户和服务器建立连接客户和服务器建立连接 1)传统 C/S:Client执行Conect命令 2)采用代理:Client-代 理:发送Connect请求 代理-Serve

64、r:执行Connect命令 并建立相应关系 版本请求类型保留地址类型目的地址目的端口 110 x001变量2客户客户-代理:代理:TCP连接请求连接请求1:connect;2:BIND,用于客户机接收远程主机的请求,如FTP协议3:进行UDP连接 BIND:BIND请求在收到代理服务器的确认信息后,必须等待代理服务器发送回来的连接消息,此时,客户充当了服务器的角色客户充当了服务器的角色。例如FTP就是个典型的例子,它不但使用CLIENT-TO-SERVER的主连接进行命令和状态信息交互,而且使用SERVER-TO-CLIENT的辅连接进行数据交互。在使用CONNECT建立主连接后,只有在需要建

65、立辅连接时才应该使用BIND请求。(3)数据发送数据发送/接收接收 代理进行中转。客户端操作与直接连接模式基本相同(4)通信结束通信结束 客户 代 理:TCP连接关闭 代理 服务器:TCP连接关闭(UDP)发送认证方法请求选择鉴别方法确认鉴别方法返回选定鉴别方法进行用户鉴别进行用户鉴别发送代理请求处理代理请求建立代理链路设置代理链路状态检查代理链路状态接受连接请求数据发送接收数据发送接收数据转发7.6 应用层安全协议1、应用层的安全、应用层的安全 网络层(传输层)的安全协议允许为主机(进程)之间的数据通道增加安全属性。本质上,这意味着真正的(或许再加上机密的)数据通道还是建立在主机(或进程)之

66、间,但却不可能区分在同一通道上传输的一个具体文件的安全性要求。比如说,如果一个主机与另一个主机之间建立起一条安全的IP通道,那么所有在这条通道上传输的IP包就都要自动地被加密。同样,如果一个进程和另一个进程之间通过传输层安全协议建立起了一条安全的数据通道,那么两个进程间传输的所有消息就都要自动地被加密 如果确实想要区分一个具体文件的不同的安全性要求,那就必须借助于应用层的安全性2、应用层安全协议的解决办法、应用层安全协议的解决办法 (1)对每个应用(及应用协议)分别进行修改,使之具有安全特性。缺点就是要对每个应用都进行修改。这些协议包括:PEM、PGP、S-HTTP、Set、SEPP等 (2)安全安全shell(SSH)为应用提供了一个统一的安全机制。SSH原意是用来替换Unix(Linux)上的r命令的。实际上它完全可以替代Telnet、FTP等协议。SSH允许其用户安全地登录到远程主机上,执行命令,传输文件。它实现了一个密钥交换协议,以及主机及客户端认证协议 (3)认证和密钥分配系统认证和密钥分配系统 这是SSH的进一步发展的结果。可以用来为任何网络应用程序提供安全服务,如:认证、

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!