1.35k likes | 1.53k Views
第 07 章 Internet 安全协议体系. 主讲人:李学明 单 位:重庆大学计算机学院 2009 年 3 月. 目录. 7.1 TCP/IP 安全协议体系概述 7.2 数据联路层安全协议 7.3 网络层安全全协议 7.4 传输层安全协议 7.5 代理协议 7.6 应用层安全协议. ISO/OSI 参考模型. TCP/IP 层次模型. TCP/IP 体系. 应用层( A ). 应用层. FTP TELNET HTTP SNMP. NFS. 表示层( P ). XDR SMTR. 会话层( S ). RPC.
E N D
第07章 Internet安全协议体系 主讲人:李学明 单 位:重庆大学计算机学院 2009年3月
目录 7.1 TCP/IP安全协议体系概述 7.2 数据联路层安全协议 7.3 网络层安全全协议 7.4 传输层安全协议 7.5 代理协议 7.6 应用层安全协议
ISO/OSI参考模型 TCP/IP层次模型 TCP/IP体系 应用层(A) 应用层 FTP TELNET HTTP SNMP NFS 表示层(P) XDR SMTR 会话层(S) RPC 传输层(T) 传输层 TCP/UDP 网络层(N) IP层 IP ICMP ARP、RARP 数据链路层(DL) 网络接口层 硬件协议 (不指定) 物理层(PH) 7.1 TCP/IP安全协议体系概述
安 全 管 理 认 证 访 问 控 制 数 据 完 整 性 抗 抵 赖 可 用 性 、 可 控 性 可 审 计 性 应 用 层 安全属性 (安全服务/安全机制) 传 输 层 网 络 层 分 层 安 全 管 理 链 路 层 物 理 层 终端系统安全(计算机+OS) 0 理 管 全 安 计算机网络安全 应用系统安全 实体单元 TCP/IP网络安全体系的三维框架结构
安 全 服 务 TCP/IP 协 议 层 网络接口 IP层 传输层 应用层 对等实体认证 - Y Y Y 数据源认证 - Y Y Y 访问控制服务 - Y Y Y 连接机密性 Y Y Y Y 无连接机密性 Y Y Y Y 选择字段机密性 - - - Y 业务流机密性 Y Y - Y TCP/IP协议安全模型中提供的安全服务
可恢复连接完整性 - - Y Y 不可恢复连接完整性 - Y Y Y 选择字段连接完整性 - - - Y 无连接完整性 - Y Y Y 选择字段非连接完整性 - - - Y 源发方不可抵赖 - - - Y 接收方不可抵赖 - - - Y 说明:Y:服务应作为选项并入该层的标准之中 -:不提供
S/MIME PGP SOCKS等 应用层 SSL TLS 等 传输层 IPv6 IPSec 等 网际层 PPTP L2F L2TP等 网络接入层 TCP/IP中的安全协议体系(讲课内容)
安全协议概述 TCP/IP网络安全协议按层次归类如下: 1、网络接口层安全协议 主要用于链路层连接的认证与保密,已有的安全协议如下: (1)隧道协议PPTP、L2F、L2TP (2)口令认证协议(PAP) (3)挑战握手认证协议(CHAP) (4)Shiva口令认证协议(SPAP) (5)扩展认证协议(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密钥管理协议(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)私有通信技术(PCT) (5)IEIF TLS WG的传输层安全协议(TLSP) (6)SOCKSv5
4、应用层安全协议 包括安全增强的应用协议(已经正式存在的或安全的新协议)和认证与密钥分发系统。 (1)安全增强的应用协议 远程终端访问(STel) 安全RPC认证(SRA) NATAS
(2) 电子邮件(SMTP) 保密增强邮件(PEM) PGP 安全MIME(S/MIME) MIME对象安全服务(MOSS) 消息安全协议(MSP) APOP Gnu保密防护(GnuPG)
(3)WWW事务(HTTP) 使用SSL/TLS 安全HTTP(S-HTTP) GSS-API方法 PGP-CCI方法 (4)域名系统(DNS) 安全DNS(Secure DNS) RFC2065域名系统安全扩展
(5)文件传输(FTP) RFC2228 FTP安全扩展 (6)其它应用 网络管理:简单网络管理协议(SNMPv2、SNMPv3) 机密文件系统(CFS) Andrew文件系统(AFS)
5、电子支付方案 (1)电子货币(Electronic Cash) Ecash(Digicash) CAFE(European R&D Project) NetCash(ISI/USC) Mondex(UK) CyberCash (2)电子支票(Electronic Checks) PayNow(CyberCash) NteCheque(ISI/USC)
(3)信用卡支付(Credit Card Payment) iKP(i-Key-Protocol) 安全电子支付协议(SEPP) 安全交易技术(STT) 安全电子交易(SET) (4)微支付(Micropayments) Millicent Pay Word and MicroMint CyberCoin NetBill
6、认证和密钥分配系统 Kerberos 远程认证拨入用户服务(RADIUS) 网络安全程序(NetSP) SPX(DEC) TESS(Univ. of Karlsruhe) SESAME DCE(Open Group)
7、其它安全协议 S/KEY 加密控制协议(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 IP 只支持IP (3) 不支持动态IP地址分配 双方都必须预先知道对方的IP 地址,地址不能动态分配,这对于通过电话线上网的用户主机来说,就造成了IP 地址很大的浪费 (4) 没有身份验证功能 因此任何一方都不知道在与谁通
2、PPP协议(point to point protocol) (1) 特点 实现关于广域网络环境下传送Ip数据报的协议;是SLIP的改进。 1) 支持多协议传输机制 不仅支持IP,而且还支持IPX和Apple talk等多种通信协议 2) 支持协商配置 在开始连接时双方可以协商配置参数(如IP 地址,头压缩等) 3) PPP 提供2种自动登录方法 口令确认协议PAP(password authentication protocol) 应答握手确认协议CHAP(challenge handshake authentication protocol) 4)具有错误检测手段, 比较可靠
(3) PPP协议的构成 PPP 主要包含3个方面的内容: 1) 对多协议数据包的封装; 2) 用于建立、设置、测试数据链路连接的链路控制协议LCP ( link con t ro l p ro toco l) ; 3) 用于建立、设置不同网络层协议的网络控制协议NCP (netwo rk con t ro l p ro toco l) 本质上,NCP是一簇协议的代名词。若是用TCP/IP,对应的协议名称为IPCP
1) 物理层:兼容常用硬件和广域网网物理层协议 PPP 在设计时即考虑与常用的硬件兼容, 支持任何DTE-DCE 接口, 例如EIA RS-232C、EIA RS-242 和CC ITT V. 35 2) 数据链路层:基于HDLC协议 PPP 使用ISO 3309- 1979的HDLC (high level data link control) (用于同步环境) 和其修改版ISO 3390- 1984 PAAD1 (用于异步环境) 的原理、术语和帧结构,以HDLC 作为封装的基础, 并使用HDLC 帧校验序列进行错误检测。PPP 封装提供了在同一链路上不同网络层协议的复用, 因此很容易连接各种各样的主机、网桥和路由器。
3) 链路控制协议LCP(Link Control Protocol) • 负责线路建立、测试和选项协商,链路释放 • 使用多种物理层服务:modem、 • HDLC bit-serial、 • SDH/SONET等 • 提供协商机制 • LCP用来在ESTABLISH状态协商数据链路协议选项,并不关心选 • 项内容,而是提供一种协商机制 • 链路质量检测办法 • 11种帧类型
4) 网络控制协议NCP(Network Control Protocol) • 可支持多种网络层协议 • 用于协商网络层选项 • 对于所支持的每一个网络层协议都有一个不同的网 • 络控制协议(NCP),用来建立和配置不同的网络层协议 • PPP被设计成允许同时使用多个网络层协议
PPP协议应用实例:家庭用户拨号上网 1) 物理链路建立 拨号:PC->MODEM->路由器Modem(ISP) 响应:路由器Modem->Modem->PC 2) 数据链路建立 PC<->路由器:LCP帧 3) 网络层协议协商 PC<->路由器:NCP分组 如:PC要运行TCP/IP,则其需要IP。 ISP采用DHCP机制分配IP
1 1 1/2 0 --最大长度 2/4 1 字节 1 校验和 F A C 协议 净荷 F (3) PPP协议的帧格式 F:首尾标志7Eh,透明传输采用字符填充 A:地址字段,永远为FFh,表示所有站点都可以接收 C:控制字段,默认为03h,表示无编号帧 协议:指明净荷字段的包类型,支持LCP、PAP、CHAP、IP、IPX、AppleTalk... PPP 帧中的协议字段是0xc021 ,则表明它的有效载荷是一个LCP 包 PPP 帧中的协议字段是0xc023 ,则表明它的有效载荷是一个PAP包 PPP 帧中的协议字段是0xc223 ,则表明它的有效载荷是一个CHAP包 PPP 帧中的协议字段是0x8021 ,则表明它的有效载荷是IPCP包(NCP) PPP 帧中的协议字段是0x0021 ,则表明它的有效载荷是IP包
(4) LCP包的格式 代码域:LCP包的类型(1个字节) 标识域:LCP包的序号(1个字节) 长度域:LCP包的长度(2个字节) 数据域:选项或重要参数,格式如下
(5) IPCP包的格式 格式完全同LCP, 代码域使用LCP定义的前面7个 选项含义如下:
(6) IP数据报的封装 协议:0X0021
(7) 协议执行过程 建立结束:LCP报文 身分认证:CHAP报文 网络工作:NCP报文
7.2.2 隧道技术原理 1、 基本思想 隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。 隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使该新的报文能够在互联网络中被传递,被封装的数据包一旦到达网络终点,数据将被解包并转发到最终目的地。 2、 隧道的定义 被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。 隧道技术是指包括数据封装,传输和解包在内的全过程
3、隧道所使用的传输网络 可是任何类型的公共互联网络。 目前普遍使用的是基于Internet(IP网络)隧道技术 4、隧道技术类别 (1)2层的隧道协议 2层隧道协议对应OSI模型的数据链路层,以帧为数据交换单位。 PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)帧中通过互联网络发送 (2)3层的隧道协议 3层隧道协议对应OSI模型的网络层,以包为数据交换单位。 IP over IP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送
不同隧道协议的本质区别在于用户的数据包是被封装在哪种数据包中在隧道中传输的不同隧道协议的本质区别在于用户的数据包是被封装在哪种数据包中在隧道中传输的
传输协议 封装协议 乘客协议 5、隧道协议的构成 无论哪种隧道协议都是由 传输的载体 不同的封装格式 被传输数据包 三部分组成的 不同隧道协议的本质区别在于: 用户的数据包是被封装在哪种数据包中在隧道中传输的 传输协议:IP是一种常见的传输协议;帧中继、ATM 也是很好的传输协议 封装协议:被用来建立、保持和拆卸隧道。 包括L2F、L2TP、GRE 协议。 乘客协议:是被封装的协议,可以是PPP、SLIP、IPX、IP等
7.2.3 PPTP协议 1、基于PPP的传统网络接入服务器NAS的功能 NAS负责管理对所有网络设备和资源的访问,一般具有以下几种功能: (1)提供到PSTN或ISDN的物理接口,控制外部调制解调器和终端适配器。 (2)提供点对点协议(PPP)链路控制协议(LCP)会话的逻辑终止。 (3)参与到PPP认证协议中。 (4)执行各种PPP网络控制协议(NPC)的逻辑终止 (5)为PPP多链路协议提供信道聚集和捆绑管理。 (6)执行NAS接口之间的多协议路由和桥接。
2、基于PPP的传统网络接入服务器的不足 (1)PPP主要通过拨号或专线方式建立点对点连接发送数据 (2)若用户与NAS相距遥远,需要远程拨号或远程专线,这将使系统的使用效率低,成本高 (3)能否借助Internet这种便利资源来建立与远程主机的连接?这就是PPTP的出发点。
3、PPTP协议的基本模型 (1) NAS的任务在PPTP协议中被分配给两个主要的组件 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)、(6)种功能
位于ISP处 专用网络 PPP PPTP隧道 客户机 PAC PNS PPTP协议模型 PAC把PPP数据帧封装后在因特网上传输。这些IP数据包在因特网上按特定的路由传送,直到到达PNS。 PNS把IP数据包分解为PPP数据包,并从这些PPP数据包中提取出必要的信息,然后把数据包通过专用网络发送到目的计算机
4、PPTP协议过程 PPTP有两个过程:控制连接过程和数据传输过程 (1) 控制连接 在PNS—PAC间进行传输数据前,必须建立一个控制连接。控制连接是一个标准的TCP会话(服务端TCP端口为1723),通过该连接传递的报文称为控制报文。 控制连接负责建立,管理、释放和拆卸PPTP隧道 控制报文用来通知PAC有来自PNS的出网呼叫, 或是通知PNS有 来自PAC的入网呼叫
IP首部 TCP首部 PPTP控制报文 控制报文格式
start_control_connection_request:启动PPTP会话请求 PPTP Message Type:控制连接,该位为1 Control Message Type:start_Control_Connection_Request,为1 Framing Capabilities:异步/同步帧模式(1/2) Bearer Capabilities:模拟/数字信道(1/2)
start_control_connection_Reply:对启动PPTP会话请求的响应start_control_connection_Reply:对启动PPTP会话请求的响应 PPTP Message Type:控制连接,该位为1 Control Message Type:start_Control_Connection_Reply,为2 Framing Capabilities:异步/同步帧模式(1/2) Bearer Capabilities:模拟/数字信道(1/2)
IP首部 GRE首部 PPP数据包 (2) 数据传输连接 在PPTP隧道建立后,就可以在客户机和PPTP服务器之间传输数据了。 PPTP隧道上传输的是PPP数据包。PPP数据包是封装在GRE(通用路由封装)包中的,而GER包是在IP层上传送的 报文格式