750 likes | 995 Views
§10 安全通信协议交易协议. 授课内容 IPSec 协议 安全套接层( SSL )协议 安全电子交易协议( SET )协议 EDI 的安全 RADIUS 协议 重点: SSL 及 SET. §10.1 IP Sec 协议. 为了改善现有 IPv4 协议在安全等方面的不足, IETF( Internet Engineering Task Force) 的下一代网络协议 (IPng) 工作组于 1995 年底确定了 IPng 协议规范,称为 IP 版本 6(IPv6) 。
E N D
§10 安全通信协议交易协议 授课内容 • IPSec协议 • 安全套接层(SSL)协议 • 安全电子交易协议(SET)协议 • EDI的安全 • RADIUS协议 重点: SSL及SET
§10.1 IPSec协议 • 为了改善现有IPv4协议在安全等方面的不足, IETF(Internet Engineering Task Force)的下一代网络协议(IPng)工作组于1995年底确定了IPng协议规范,称为IP版本6(IPv6)。 • IPv6利用新的网络安全体系结构IPSec( Internet Protocol Security, Internet协议安全),通过AH(验证报头 ,Authentication Header)和ESP(Encapsulating Security Payload,封装安全有效载荷)两个安全协议分别为IP协议提供了基于无连接的数据完整性和数据保密性,加强了IP协议的安全,克服了原有IPv4协议安全的不足。 • IPv6为IP数据在IP层上实现数据完整性、数据保密性、认证、访问控制和不可否认性等安全服务,并保证网络上层应用程序不被改,同时实现IP网络的通信安全。
§10.1 IPSec协议 10.1.1 IPSec概述 • IPSec安全协议有:ESP(Encapsulating Security Payload,封装安全有效载荷)和AH(验证报头 ,Authentication Header)两个安全协议。 • 还有一系列与IPSec相关的技术标准,如加密算法及实现数据完整性的Hash算法的规范、密钥的交换标准IKE(Internet Key Exchange)、安全关联(SA)等。
§10.1 IPSec协议 IPSec体系结构
§10.1 IPSec协议 10.1.2 安全关联 在安全的数据能被交换之前,两台计算机之间必须先建立一个契约。在该契约(称为安全关联 (SA))中,双方就如何交换与保护信息达成一致意见,如下图所示
§10.1 IPSec协议 • 安全关联 (SA) 是协商密钥、安全协议与安全参数索引 (SPI) 的组合,它们一起定义用于保护从发送方到接收方的通讯安全。 • 安全参数索引 (SPI) 是 SA 中的唯一标识值,用于区分存在于接收端计算机上的多个安全关联。例如,如果一台计算机同时与多台计算机进行安全通讯,就会存在多个关联。 • 当计算机作为文件服务器或作为远程访问服务器(为多个客户机提供服务)时,通常会出现这种情况。在这些情况下,接收端计算机使用 SPI 来决定将使用哪种 SA 处理传入的数据包。
§10.1 IPSec协议 10.1.3 IP认证协议 (AH) • AH协议是为IP数据报文提供数据源认证、无连接数据完整性检测,同时也提供重放攻击的保护。 • AH可以单独使用,也可以与ESP结合一起使用,提供相连的主机之间、相连的安全网关之间和主机与网关之间的安全服务。 • AH还能维护数据的完整性,在传输过程中只要数据发生一点改变,数据包的认证和验证都能将其检测出来,从而保证数据的完整性验证。 • AH不支持数据包的加密,因而AH无机密性保护。 • 在AH标准中最普遍使用的认证算法是HMAC-MD5(基于MD5的认证算法)和HMAC-SHA-1(基于SHA-1的认证算法)。
MAC: 消息认证码密码分组链接模式-Cipher Block Chaining (CBC) §10.1 IPSec协议
§10.1 IPSec协议 • HMAC 对于消息认证来说,基于对称密码体制的算法应用最早(MAC),但该算法有出口限制,计算速度与Hash算法(MD5 或SHA)相比较慢。 在MD5或SHA算法的基础上,增加对密钥的处理,即得到了HMAC算法
§10.1 IPSec协议 H: Hash算法 M: 输入报文 b: 分组长度 Y:报文中的某一分组 n:散列码长度 K:密钥, K+填充后的密钥 ipad 和opad 为某一字节的bit序列
§10.1 IPSec协议 • AH操作模式 传输模式: 隧道模式
§10.1 IPSec协议 2 AH处理过程 • 输出处理 • 收到数所包后,检查是否已建立SA,若没有,则建立SA • 计算HMAC,计算序列号(防重放攻击) • 生成AH • 输入处理 • 根据SPI找到相应的 SA,进而找到密钥等参数 • 计算HMAC 与收到的HMAC比较,若不等则弃之
§10.1 IPSec协议 10.1.4 IP安全封装负载协议(ESP) • ESP同AH一样是提供IP的安全性,但它比AH有更强的安全性。ESP除了有AH对数据源的认证,数据完整性和反重放攻击外,还提供数据保密和有限数据流量保密服务(通过填充)。 • ESP的认证服务是通过使用消息认证码(MAC)来实现,这与AH认证的使用一样通过使用HMAC来达到对数据包的认证和完整性检测。 • ESP协议可以单独使用也可以与AH结合使用。
§10.1 IPSec协议 • 在IPSec的规范中ESP协议的加密和认证是可选的,但为保证操作的交互性,规范中规定了强制实现的算法,如加密算法是使用CBC模式的DES和NULL加密算法;认证算法是使用HMAC-MD5、HMAC-SHA-1和NULL认证算法。加密NULL算法和认证NULL算法就是不加密和不认证选项,但不能同时使用NULL加密和NULL认证。
§10.1 IPSec协议 1. ESP操作模式 ESP传输模式 隧道模式
§10.1 IPSec协议 2 ESP处理过程 • 输出处理 • 收到数所包后,检查是否已建立SA,若没有,则建立SA • 计算HMAC,计算序列号(防重放攻击) • 生成ESP • 输入处理 • 根据SPI找到相应的 SA,进而找到密钥等参数 • 计算MAC 与收到的MAC比较,若不等则弃之
§10.1 IPSec协议 10.1.5 鉴别与保密的综合 • 先加密、后鉴别 • 先鉴别、后加密
§10.1 IPSec协议 10.1.6 密钥管理协议 Internet密钥交换(IKE)用于动态建立SA。 • 下列四个强制性参数作为主模式 SA 的一部分加以协商: • 加密算法 (DES, 3DES) • 散列算法(MD5 或 SHA1) • 验证方法(Kerberos V5、证书或预共享密钥验证) • 用于基本密钥材料的 Diffie-Hellman (DH) 组
§10.1 IPSec协议 10.1.7 Windows 2000的IPSec策略 • 在Windows 2000安全结构和框架中,除了能够保护网络资源和硬盘资源的合法使用以外,还应该提供多种技术措施来保证网络传输数据的安全性。为满足这种需求,Windows 2000中集成了对Internet协议安全IPSec的支持。
§10.1 IPSec协议 在Win 2000的计算机中,有三种预定的策略: • 安全服务器(必须安全性):如果采用这条策略,表示与这台计算机进行通信的计算机必须采用IPSec安全策略,如果对方计算机没有采用安全策略,将不能与本机进行通信; • 服务器(请求安全设置):如果采用这条策略,表示这台计算机与其他计算机进行通信时,首先要求进行安全通信,如果对方计算机不支持安全通信,这台计算机也可以与对方计算机进行通信,但这一通信是不可靠的; • 客户机(只用于响应):如果采用这种策略,只有当对方计算机要求进行安全通信时,本机才会应用IPSec安全策略,如果对方计算机没有要求,则采用正常方法进行通信,这一策略是最不安全的设置。
§ 10.2安全套接层(SSL)协议 10.2.1 SSL 协议概述 • 由美国Netscape公司1995年开发和倡导的安全套接字SSL协议(Secure Sockets Layer,SSL),它是目前安全电子商务交易中使用最多的协议之一。SSL主要用于提高应用程序之间的数据的安全系数。 • SSL协议的实现属于SOCKET层,在Internet网络层次中的位置处于应用层(http, ftp, telnet)和传输层之间(第三层)。(Basically, the method uses public key cryptography to securely generate and exchange a commonly-held key, called the session key, that is used for symmetric encryption)
§ 10.2安全套接层(SSL)协议 • SSL是国际上最早应用于电子商务的网络安全协议,也是目前使用较广的网络安全协议,被大量应用于客户端或服务器产品中.例如:IE Netscape browser, IIS, Netscape Enterprise Server, Apache Web Server等.
§ 10.2安全套接层(SSL)协议 • SSL协议的运行步骤 ①接通阶段:客户通过网络向服务商打招呼,服务商回应; ②密钥交换阶段:客户与服务器之间交换双方认可的密钥,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法; ③协商密钥阶段:客户与服务商间产生彼此交谈的会话密钥; ④检验阶段:检验服务商取得的密钥; ⑤客户认证阶段:验证客户的可信度; ⑥结束阶段,客户与服务商之间相互交换结束的信息。
§ 10.2安全套接层(SSL)协议 • SSL体系结构 • SSL 会话 • 是由Handshake Protocol 创建的客户机和服务器之间的一种联系,定义了一系列可被多个SSL连接共享的加密参数 • SSL 连接 • 与一个SSL会话相关联的、短时的、端到端的通信连接
§ 10.2安全套接层(SSL)协议 10.2.2 SSL 记录协议(SSL Record Protocol) • 机密性 • 使用由握手协议(Handshake Protocol)产生的密钥,实现对信息的加密 • IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, RC4-40, RC4-128 • 在加密之前要对信息进行压缩。 • 完整性 • 采用MAC(消息认证码)来保证信息的完整性(基于对称密钥的 MD5或SHA-1)
压缩 添加MAC 加密 附加SSL 记录报头 § 10.2安全套接层(SSL)协议 应用数据 分段 发送方的SSL记录协议操作
§ 10.2安全套接层(SSL)协议 • SSL更改密文规范协议(SSL Change Cipher Spec Protocol) • 是基于SSL记录协议之上的三个SSL协议之一。 • 只有单个报文(分组) • 使挂起状态变成当前状态,更改当前连接使用的加密方法。
§ 10.2安全套接层(SSL)协议 • SSL警告协议(SSL Alert Protocol) • 传送与SSL协议相关的告警传送给对方实体。 • 该报文由两个字节组成,第一个字节为告警级别,另一个字节为告警代码。 • 级别: • warning or fatal
§ 10.2安全套接层(SSL)协议 10.2.3 SSL 握手协议(SSL Handshake Protocol) SSL握手协议是SSL协议中最重要也是重复杂的组成部分,任何SSL数据传输之前,必须首先使用SSL握手协议。它的作用如下: • 允许Client和Server: • 互相认证 • 协商加密和MAC算法 • 协商将要使用的加密密钥 • 该协议由若干阶段及其相关报文组成 • 建立安全连接 • 服务器认证和密钥交换 • 客户认证和密钥交换 • 结束阶段
§ 10.2安全套接层(SSL)协议 SSL 握手协议
§ 10.2安全套接层(SSL)协议 • 安全措施 SSL采用对称密码技术和公开密码技术相结合,采用密码和证书实现通信数据完整性、认证性等安全服务. • 加密算法和会话密钥 • 认证算法 特点: • 逻辑严密、完整、正确 • SSL协议有它独到的“重传攻击”的解决办法
§ 10.2安全套接层(SSL)协议 10.2.4 SSL提供的安全服务 SSL协议对计算机中的各种通信(http, ftp, telnet)都提供安全保护. • 加密数据以隐藏被传送的数据 • 保护数据的完整性 • 用户和服务器的合法性认证
§ 10.2安全套接层(SSL)协议 • SSL协议下的电子交易过程 1 2 客户 商家 银行 5 4 3 • 客户购买信息发往商家; • 商家再将信息转发银行; • 银行验证客户信息合法性; • 银行通知商家付款成功; • 商家通知客户购买成功。
§ 10.2安全套接层(SSL)协议 • SSL协议交易流程的缺陷 • 客户的银行资料信息先送到商家,让商家阅读,故客户银行资料的安全性得不到保证。 • SSL只能保证资料传递过程的安全,而传输过程是否有人截取就无法保障。 • 下一节将介绍的SET协议可以解决这一问题。
§10.3安全电子交易(SET)协议 10.3.1 SET概述 安全电子交易规范SET (Secure Electronic Transaction)是Visa和MasterCard于1997年5月联合开发的一个加密和安全规范,它具有很强的安全性。该规范由若干以前发表的协议形成,它们是:STT(Visa/Microsoft)、SEPP(MasterCard)和iKP协议族(IBM)。 SET及其适合的诸协议是基于安全信用卡协议的一个例子。由于它得到了IBM、HP、Microsoft、Netscape、VeriFone、GTE、Terisa和VeriSign等很多大公司的支持,已成为事实上的工业标准,目前已获得IETF标准的认可。
§10.3安全电子交易(SET)协议 1. SET提供的安全服务 ①确保在支付系统中支付信息和订购信息的安全性; ②确保数据在传输过程中的完整性,即确保数据在传输过程中不被破坏; ③对持卡者身份的合法性进行检查; ④对商家身份的合法性进行检查; ⑤提供最优的安全系统,以保护在电子贸易中的合法用户; ⑥确保该标准不依赖于传输安全技术,也不限定任何安全技术的使用; ⑦使通过网络和相应的软件所进行的交互作业简便易行
§10.3安全电子交易(SET)协议 • SET协议的运行步骤
§10.3安全电子交易(SET)协议 • SET的体系结构 SET支付系统的主要参与方有: • 持卡人,即消费者,他们通过web浏览器或客户端软件购物; • 商家,提供在线商店或商品光盘给消费者; • 发卡人,它是一金融机构,为持卡人开帐户,并且发放支付卡; • 收款银行,它为商家建立帐户,并且处理支付卡的认证和支付事宜 • 支付网关,是由受款银行或指定的第三方操纵的设备,它处理商家的支付信息,
商家:出售商品或服务的个人或机构,通常通过WEB网页或电子邮件进行出售。商家还必须和收单行达成协议,保证可以接受支付卡付款。商家:出售商品或服务的个人或机构,通常通过WEB网页或电子邮件进行出售。商家还必须和收单行达成协议,保证可以接受支付卡付款。 §10.3安全电子交易(SET)协议 商家 持卡人 认证机构 发卡行 发卡行:一个金融机构,为持卡人建立一个帐户并发行支付卡,一个发卡行保证对经过授权的交易进行付款。 支付网关 收单行
§10.3安全电子交易(SET)协议 商家 持卡人 认证机构 发卡行 收单行 支付网关 收单行:一个金融机构,为商家建立一个帐户并处理支付卡授权和支付。 支付网关:收单行的一个操作设备,用于处理支付卡授权和支付
§10.3安全电子交易(SET)协议 • SET的安全措施 • 通过加密保证信息机密性 SET协议采用公钥体制和对称密钥体制的结合,来保证在一个非安全网络环境下的数据安全性。 即采用对称密钥体制加密交易信息,采用对方的公钥加密会话密钥。
§10.3安全电子交易(SET)协议 • 应用数字签名技术进行鉴别 • 采用公钥密码体制(PKI)和X.509 数字证书标准 • 数字证书包含: • 持卡人的数字证书上存有持卡人、账号和证书颁发行等的加密信息。 • 商户的数字证书上包含有该商户及该商户与其金融机构关系等的信息。 • 应用散列函数保证数据完整性
§10.3安全电子交易(SET)协议 • SET 交易流程 支付 网关 ②协商 ③审核 用户 持卡人 商家 在线商店 银行 ①定单 ⑥确认 ⑦确认 ④审核 ⑤批准 认证 认证 认证 发卡 机构 CA 认证中心
§10.3安全电子交易(SET)协议 10.3.2 双联签名(双重签名) ②协商 ③审核 用户 持卡人 商家 在线商店 银行 ①定单 ⑥确认 ⑦确认 ④审核 ⑤批准 认证 认证 认证 发卡 机构 CA 认证中心 用户发往商家的数据包括:定单信息和支付信息; 为了确保支付信息不被商家滥用,需要双联签名
§10.3安全电子交易(SET)协议 持卡人通过网上商店购物的过程中对订货信息的处理
§10.3安全电子交易(SET)协议 客户端的请求信息
§10.3安全电子交易(SET)协议 商家对信息的处理
根CA 品牌CA 地域政策CA 商户CA (MCA) 持卡人CA (CCA) 支付网关CA (MCA) MCA MCA CCA PCA PCA §10.3安全电子交易(SET)协议 10.3.3 证书发行