530 likes | 758 Views
第 13 章 安全协议. 主要内容. 安全协议概述 IPsec 协议 SSL 协议 安全电子交易协议 SET. 13.1 安全协议基本概念. 协议 协议是指两个或多个以上参与者为完成某项特定的任务而采取的一系列步骤。 通信协议 通信协议是指通信各方关于通信如何进行所达成的一致性规则,即由参与通信的各方按确定的步骤做出一系列通信动作,是定义通信实体之间交换信息的格式及意义的一组规则。. 安全协议基本概念. 安全协议 安全协议是指通过信息的安全交换来实现某种安全目的所共同约定的逻辑操作规则。 网络安全通信协议
E N D
主要内容 • 安全协议概述 • IPsec协议 • SSL协议 • 安全电子交易协议SET
13.1 安全协议基本概念 • 协议 • 协议是指两个或多个以上参与者为完成某项特定的任务而采取的一系列步骤。 • 通信协议 • 通信协议是指通信各方关于通信如何进行所达成的一致性规则,即由参与通信的各方按确定的步骤做出一系列通信动作,是定义通信实体之间交换信息的格式及意义的一组规则。
安全协议基本概念 • 安全协议 • 安全协议是指通过信息的安全交换来实现某种安全目的所共同约定的逻辑操作规则。 • 网络安全通信协议 • 属于安全协议,是指在计算机网络中使用的具有安全功能的通信协议。
TCP/IP安全分析 • 由于TCP/IP协议簇在早期设计时是以面向应用为根本目的的,因此未能充分考虑到安全性及协议自身的脆弱性、不完备性,导致网络中存在着许多可能遭受攻击的漏洞。
TCP/IP安全分析 • 网络层协议的安全隐患 • IP协议在实现通信的过程中并不能为数据提供完整性和机密性保护,缺少基于IP地址的身份认证机制,容易遭到IP地址欺骗攻击。 • 传输层协议的安全隐患 • TCP协议的安全隐患: • 服务器端维持大量的半连接列表而耗费一定的资源。 • 序列号可计算 • UDP协议的安全隐患 • 不确认报文是否到达 • 不进行流量控制 • 不作纠错和重传
TCP/IP安全分析 • 应用层协议的安全隐患 • 大部分协议以超级管理员的权限运行,一旦这些程序存在安全漏洞且被攻击者利用,极有可能取得整个系统的控制权。 • 许多协议采用简单的身份认证方式,并且在网络中以明文方式传输。
SNMP PGP S/MIME PEM 应用层 SET IKE TELNET HTTPS X.509 RIPv2 SNMPv3 BGP-4 SSL TLS 传输层 TCP UDP IPsec(AH) IPsec(ESP) 网络层 IP PPTP L2TP PPP L2F 链路层 硬件设备驱动程序及介质介入协议 TCP/IP的安全体系结构
13.2 IPsec协议 • IPsec(IP Security)产生于IPv6的制定之中,用于提供IP层的安全性。 • IPsec(Internet Protocol Security, Internet协议安全)通过AH(Authentication Header,验证报头)和ESP(Encapsulating Security Payload,封装安全有效负载)两个安全协议分别为IP协议提供了基于无连接的数据完整性和数据保密性。
基本概念和术语 • 安全关联 • 为了正确封装和提取IPsec的数据包,有必要采取一套专门的方案,将安全服务、密钥等与要保护的通信数据联系在一起,这样的构建方案称为安全关联(Security Association,SA)。 • SA是发送者和接收者两个IPsec系统之间的一个单向逻辑连接,若要在一个对等系统间进行源和目的的双向安全通信,则需要两个SA。 • 安全关联SA通过一个三元组(安全参数索引SPI、目的IP地址和安全协议AH或ESP)来唯一标识。 • 实现IPsec必须维护这两个数据库: • 安全策略数据库:对所有出/入业务应采取的安全策略 • 安全关联数据库:为进入和外出包处理维持一个活动的SA列表
基本概念和术语 • 隧道 • 把一个包封装在另一个新包中,整个源数据包作为新包的有效载荷部分,并在前面添加一个新的IP头。 • 对IPsec而言,IP隧道的直接目标就是对整个IP数据包提供完整的保护。 • Internet安全关联和密钥管理协议 • Internet Security Association and Key Management Protocol,ISAKMP • 为Internet环境下安全协议使用的安全关联和密钥的创建定义了一个标准通用框架,定义了密钥管理表述语言通用规则及要求。
基本概念和术语 • 解释域 • Domain of Interpretation,DOI • 是Internet编号分配机构IANA给出的一个命名空间。为使用ISAKMP进行安全关联协商的协议统一分配标识符。 • 共享一个DOI的协议从一个共同的命名空间中选择安全协议和密码变换、共享密钥以及交换协议标识符等,从而能使用相同DOI的协议对该DOI下的载荷数据内容做出统一的解释。
IPsec组成 • Authentication Header(AH,验证报头)协议 • 定义了认证的应用方法,提供数据源认证和完整性保证; • Encapsulating Security Payload(ESP,封装安全有效负载)协议 • 定义了加密和可选认证的应用方法,提供可靠性保证。 • Internet Key Exchange(IKE,密钥的交换标准)协议。 • 用于密钥交换。
AH协议 • AH的工作原理: • 在每一个数据包上添加一个身份验证报头。此报头包含一个被加密的hash值(可以将其当作数字签名,只是它不使用证书),此hash值在整个数据包中计算,因此对数据的任何更改将导致hash值无效,这样就提供了完整性保护。 • AH报头位置在IP报头和传输层协议头之间。AH由协议号“51”标识
0 8 16 31 下一个头 载荷长度 保留 安全参数索引 序列号 认证数据 AH报头结构
(1)下一个头(Next Header):8位,标识下一个使用IP协议号的报头类型,其取值在RFC1700中定义。 (2)载荷长度(Payload Length):8位,表示以32位为单位的AH头的长度减2。 (3)保留(Reserved):16位,供将来使用。值为0。 (4)安全参数索引(Security Parameters Index,SPI):这是一个为数据报识别安全关联SA的32位伪随机值。 (5)序列号(Sequence Number):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。 (6)认证数据(Authentication Data,AD):长度可变,但必须是32位的整数倍,默认长度为96位。包含了数据包的完整性校验值ICV。
ESP协议 • ESP的作用是提供机密性保护、有限的流机密性保护、无连接的完整性保护、数据源认证和抗重放攻击等安全服务。 • ESP提供和AH类似的安全服务,但增加了数据机密性保护和有限的流机密性保护等两个额外的安全服务。 • ESP可以单独使用,也可以和AH结合使用。一般ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。但在端对端的隧道通信中,ESP需要对整个数据包加密。
ESP数据包格式 0 8 16 24 31 安全参数索引 序列号 认证覆盖范围 载荷数据(变长) 保密性覆盖范围 填充项 填充项长度 下一个头 认证数据
(1)安全参数索引(SPI):32位整数。它和IP头的目的地址、ESP协议一起用以唯一标识对这个包进行ESP保护的SA。(1)安全参数索引(SPI):32位整数。它和IP头的目的地址、ESP协议一起用以唯一标识对这个包进行ESP保护的SA。 (2)序列号(Sequence Number):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包 (3)载荷数据:长度不固定,所包含的是由下一个头字段所指示的数据(如整个IP数据包、上层协议TCP或UDP报文等) (4)填充项(Padding):如果加密算法要求明文是某个数字的整数倍,则通过填充可将明文扩充到所需要的长度。另外,通过填充可以隐藏载荷数据的实际长度,从而对流量提供部分的保密性。 (5)填充项长度(Padding Length):8位,表明填充项字段中填充以字节为单位的长度。 (6)下一个头(Next Header):识别下一个使用IP协议号的报头,如TCP或UDP。 (7)认证数据(Authentication Data):长度不固定,存放的是完整性校验值ICV。
IKE协议 • IKE的基础是ISAKMP,Oakley和SKEME三个协议,它沿用了ISAKMP的基础,Oakley的模式以及SKEME的共享和密钥更新技术。 • 使用了两个交换阶段,阶段一用于建立IKE SA,阶段二利用已建立的IKE SA为IPsec协商具体的一个或多个安全关联,即建立IPsec SA。 • IKE允许四种认证方法,分别是基于数字签名的认证、基于公钥加密的认证、基于修订的公钥加密的认证和基于预共享密钥的认证。
IPsec的工作模式 • 传输模式 • 采用传输模式时,原IP数据包的首部之后的数据会发生改变,通过 增加AH或ESP字段来提供安全性,但原IP首部不变。 • AH传输模式 • ESP传输模式 • 隧道模式 • 隧道模式的保护对象是整个IP包。在AH或ESP字段加入到IP分组后,还要加上一个新的首部,原数据包加上安全字段成为新数据包的载荷,因此得到了完全的安全性保护。 • AH隧道模式 • ESP隧道模式
AH传输模式 原IPv4封包: IP头 TCP/UDP头 数据 AH传输模式下IPv4封包: 原IP头 AH头 TCP/UDP头 数据 除变长字段外都要认证
ESP传输模式 原IPv4封包: IP头 TCP/UDP头 数据 ESP传输模式下IPv4封包: 原IP头 ESP头 TCP/UDP头 数据 ESP尾部 ESP认证数据 加密 认证
AH隧道模式 原IPv4封包: IP头 TCP/UDP头 数据 AH传输模式下IPv4封包: 新IP头 AH头 原IP头 TCP/UDP头 数据 除新IP头变长字段外都要认证
ESP隧道模式 原IPv4封包: IP头 TCP/UDP头 数据 ESP传输模式下IPv4封包: 新IP头 ESP头 原IP头 TCP/UDP头 数据 ESP尾部 ESP认证数据 加密 认证
IPsec的应用 • 目前IPsec最主要的应用就是构建安全的虚拟专用网。 • 虚拟专用网(Virtual Private Network,VPN)是一条穿过公用网络的安全、稳定的隧道。通过对网络数据的封包和加密传输,在一个公用网络(通常是因特网)建立一个临时的、安全的连接,从而实现在公网上传输私有数据,达到私有网络的安全级别。
HTTP Telnet SMTP FTP SSL TCP IP 13.3 SSL协议 • SSL协议是一个传输层安全协议。 • SSL协议由Netscape公司于1994年11月提出并率先实现,即SSL V2.0 Internet-Draft版本 • 1996年3月推出了SSL V3.0 Internet-Draft版本,最终被IETF所采纳,并制定为传输层安全标准。 • 工作在传输层之上,应用层之下,其底层是基于传输层可靠的流传输协议(如TCP)
SSL安全协议主要提供三方面的服务 • 客户和服务器的合法性认证 • 加密数据以隐藏被传送的数据 • 保护数据的完整性
SSL安全通信过程 (1)接通阶段: • 客户机通过网络向服务器打招呼,服务器回应; (2)密码交换阶段: • 客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法; (3)会谈密码阶段: • 客户机与服务器间产生彼此交谈的会谈密码; (4)检验阶段: • 客户机检验服务器取得的密码; (5)客户认证阶段: • 服务器验证客户机的可信度; (6)结束阶段: • 客户机与服务器之间相互交换结束的信息。
应用层协议(HTTP、Telnet、FTP、SMTP等) SSL握手协议(Handshake Protocol) SSL协议 SSL记录协议(Record Protocol) TCP协议 IP协议 SSL协议的分层结构 • SSL协议具有两层结构,其底层是SSL记录协议层(SSL Record Protocol Layer),简称记录层。其高层是SSL握手协议层(SSL Handshake Protocol Layer),简称握手层。
连接1 连接1 连接2 连接2 …… …… 连接n 连接n 会话与连接 • Connection (连接): • 一个在传输层协议上的传输媒介,它提供一个适当的服务。连接建立在会话的基础上,每个连接与一个会话相关联,并对应到一个会话。 • Session (会话): • SSL会话建立客户与服务器之间的一个关联(Association)。每一组客户端与服务器之间就是一个SSL session。这些会话定义一组以密码为基础的安全性参数,这些参数能够由多个连接来共同使用。 会话
SSL握手协议 • Handshake协议用来让客户端及服务器确认彼此的身份。协助双方选择连接时所使用的加密算法、MAC算法、及相关密钥。 • Handshake由一些客户与服务器交换的消息所构成,每一个消息都含有以下三个字段: • 类型(Type),1个字节:表示消息的类型,总共有十种。 • 长度(Length),3个字节:消息的位组长度。 • 内容(Content),大于或等于1个字节,与此消息有关的参数。
客户端与服务器产生一条新连接所要进行的初始交换过程包括四个阶段,即建立安全能力、服务器认证与密钥交换、客户端认证与密钥交换、完成。客户端与服务器产生一条新连接所要进行的初始交换过程包括四个阶段,即建立安全能力、服务器认证与密钥交换、客户端认证与密钥交换、完成。
SSL记录协议 • SSL记录协议为每一个SSL连接提供以下两种服务: • 机密性(Confidentiality): SSL记录协议会协助双方产生一把共有的密钥,利用这把密钥来对SSL所传送的数据做传统式加密。 • 消息完整性(Message Integrity): SSL记录协议会协助双方产生另一把共有的密钥,利用这把密钥来计算出消息认证码。
Application data Fragment Compress Add MAC Encrypt Append SSL record header SSL记录协议运作模式
SSL协议安全性分析 • SSL协议自身的缺陷 • 客户端假冒 • SSL协议无法提供基于UDP应用的安全保护 • SSL协议不能对抗通信流量分析 • 针对基于公钥加密标准(PKCS)协议的自适应选择密文攻击 • 进程中的主密钥泄漏 • 磁盘上的临时文件可能遭受攻击
SSL协议安全性分析 • 不规范应用引起的问题 • 对证书的攻击和窃取 • 中间人攻击 • 安全盲点 • IE浏览器的SSL身份鉴别缺陷
13.4 安全电子交易协议SET • SET协议(Secure Electronic Transaction,安全电子交易)是由VISA和Master Card两大信用卡公司联合推出的规范。 • SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付命令的机密、支付过程的完整、商户及持卡人的合法身份,以及可操作性。 • SET中的核心技术主要有公钥加密、数字签名、数字信封、数字证书等。 • SET是应用层的安全协议。
SET提供的服务 • 给所有参与交易的每一方提供一个安全的通信管道。 • 使用X.509v3数字证书来提供可信赖的服务。 • 确保交易的隐密性。唯有必要的时候,才会在必要的场所提供给交易双方所需的信息。
SET交易分为三个阶段 • 第一阶段为购买请求阶段,持卡人与商家确定所用支付方式的细节 • 第二阶段是支付的认定阶段,商家与银行核实,随着交易的进行,他们将得到支付 • 第三阶段为收款阶段,商家向银行出示所有交易的细节,然后银行以适当方式转移货款。 • 在整个交易过程中,持卡人只和第一阶段有关,银行与第二、第三阶段有关,而商家与三个阶段都要发生联系。每个阶段都要使用不同的加密方法对数据加密,并进行数字签名。
SET交易的参与者 • SET规范的交易模式中,所参与的个体包括持卡人、特约商店、发卡行、收单行、支付网关、认证中心等。
进行一个SET交易所经历的事件 (1)消费者开立账户 (2)消费者收到证书 (3)特约商店证书 (4)消费者订购 (5)特约商店核对 (6)发送订单及支付 (7)特约商店请求支付认证 (8)特约商店核准订单 (9)特约商店提供其货物或服务 (10)特约商店请求支付
双重签名 • 双重签名的目的在连结两个不同接收者消息。在这里,消费者想要发送订单信息(OI,Order Information)到特约商店,且发送支付命令(PI,Payment Instruction)给银行。特约商店并不需要知道消费者的信用卡卡号,而银行不需要知道消费者订单的详细信息。消费者需要将这两个消息分隔开,而受到额外的隐私保护。然而,在必要的时候这两个消息必须要连结在一起,才可以解决可能的争议、质疑。这样消费者可以证明这个支付行为是根据他的订单来执行的,而不是其它的货品或服务。
PIMD PI H KRc Dual signature POMD H E OIMD H OI PI:支付命令 PIMD:PI消息摘要 OI:订单信息 OIMD:OI消息摘要 H:哈希函数(SHA-1) POMD:支付/订单消息摘要 ‖:连结 E:加密函数(RSA) KRc:用户私钥 双重签名的生成过程
SET交易分为三个阶段: • 购买请求阶段 • 支付授权阶段 • 取得支付阶段
购买请求阶段(1) • 购买请求过程由四个消息构成:初始请求、初始回应、购买请求、购买回应。 • 初始请求 • 消费者在初始请求的消息中要求申请证书,然后这个消息会送到特约商店。这个消息包括消费者所使用的信用卡的公司,也包含了由消费者指定的回应这组请求的一个ID。 • 初始回应 • 特约商店对初始请求产生响应,并且用自己的私钥来签名。这个响应消息包含一个代表这次购买交易代号的ID、特约商店的签名证书及支付网关证书。
购买请求阶段(2) • 购买请求:购买请求信息包括:采购相关的信息、订单相关信息、持卡人证书
购买请求阶段(3) • 购买回应:核对购买请求信息并发回购买响应消息