本章主要内容:
SSL/TLS
IPSEC
SET
S/MIME
PGP
SSL(Secure Socket Layer)
-SSL是一种在两个端实体(End Entity)之间提供安全通道的协议。
-它具有保护传输数据以及识别通信实体的功能。
-安全通道是透明的。
TLS(Transport Layer Security)是对SSL和PCT(Private Communication Technology)两个协议的综合和兼容。
SSL提供了什么
-SSL提供了通道级别的安全:连接的两端知道所传输的数据是保密的,而且没有被篡改。
-几乎总是要对服务器进行认证
-可选的客户端认证
-针对异常情况的安全通知
-错误警示
-关闭连接
-所有这些依赖于某些对系统的假定
-假定已经正确产生了密钥数据并且该密钥已被安全地保管
SSL与TCP/IP
-SSL连接非常类似于“保密的”TCP连接
-位于TCP之上,应用层之下
-几乎只能在TCP上运行,而不能在UDP或IP上运行,因而它依赖于可靠的传输协议
-微软的STLP和无线应用论坛的WTLS均为意图在数据报传输层上正确工作的变种
两个主要的协议
-SSL记录协议
-建立在可靠的传输协议之上
-它提供连接安全性,有两个特点
-保密性,使用了对称加密算法
-完整性,使用HMAC算法
-用来封装高层的协议
-SSL握手协议
-客户和服务器之间相互鉴别
-协商加密算法和密钥
-它提供连接安全性,有三个特点
-身份鉴别,至少对一方实现鉴别,也可以是双向鉴别
-协商得到的共享密钥是安全的,中间人不能知道
-协商过程是可靠的
SSL的两个重要概念
-SSL连接
-一个连接是一个提供一种合适类型服务的传输
-SSL的连接是点对点的关系
-连接是暂时的,每一个连接和一个会话关联
-SSL会话
-一个SSL会话是在客户与服务器之间的一个关联。会话由握手协议创建。会话定义了一组可供多个连接共享的密码安全参数。
-会话用以避免为每一个连接提供新的安全参数所需的昂贵的协商代价
SSL记录协议
-实际的数据传输是使用SSL记录协议实现的
-数据流分割成一系列片段并加以传输,每个片段单独保护和传输
-为实现完整性保护,对片段进行MAC保护
-为实现机密性保护,对片段进行加密保护
-传输的是安全记录
Internet安全性途径
-网络接口层(链路层):链路加密
-网络层:IPSec
-传输层:SSL/TLS、WTLS
-应用层:S/MIME、PGP、PEM、SET、Kerberos、SHTTP、SSH
IP协议
-IP是TCP/IP协议族中至关重要的组成部分,但它提供的是一种不可靠、无连接的数据传输服务
-不可靠(unreliable):不能保证一个IP数据包成功地到达目的地。错误处理办法:扔掉该数据包,向其发送者传送一个ICMP消息
-无连接(connectionless):IP并不维护关于连续发送的数据包的任何状态信息。每个数据包单独处理,在传送过程中可能出现错序。
IPv4的缺陷
-缺乏对通信双方身份真实性的鉴别能来
-缺乏对传输数据的完整性和机密性保护的机制
-由于IP地址可软件配置以及基于源IP地址的鉴别机制,IP层存在:
-业务流被监听和捕获、IP地址欺骗、信息泄露和数据项篡改等攻击
IPSec
-网络层安全性
-需求:身份鉴别、数据完整性和保密性
-好处:对于应用层透明
-弥补IPv4在协议设计时安全性考虑的不足
IPSec的内容
-协议部分分为
-AH:Authentication Header
-ESP:Encapsulating Security Payload
-密钥管理(Key Management)
-SA(Security Association)
-ISAKMP定义了密钥管理框架
-IKE是目前正式确定用于IPSec的密钥交换协议
IPSec对IP的改造
-IPSec在IPv6中是强制的,在IPv4中是可选的,这两种情况下都是采用在主IP报头后面连续扩展报头的方法实现的
-AH(Authentication Header)是鉴别的扩展报头
-ESP header(Encapsulating Security Payload)是实现加密和鉴别(可选)的扩展报头
IPSec提供的服务
-IPSec在IP层提供安全服务,使得系统可以选择所需要的安全协议,确定该服务所用的算法,并提供安全服务所需任何加密密钥。
安全关联SA
-SA(Security Association)是IP鉴别和保密机制中最关键的概念
-一个安全关联就是发送与接收者之间的一个单向关系,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合
-如果需要一个对等关系,即双向安全交换,则需要两个SA
-每个SA通过三个参数来标识<spi,dst(src),protocol>
-安全参数索引SPI(Security Parameters Index)
-对方IP地址
-安全协议标识:AH或ESP
-SA与IPSec系统中实现的两个数据库有关
-安全策略数据库(SPD)
-IPSec策略由安全策略数据库(Security Policy Database,SPD)加以维护。在每个条目中定义了要保护什么样的通信、怎样保护它以及和谁共享这种保护。
-SPD:对于通过的流量的策略
-三种选择:discard,bypass,IPSec,apply IPSec
-安全关联数据库(SAD)
-定义了SA参数,包括:
-序号计数器:32位值,用于生成AH或ESP头中的序号字段
-计数器溢出位:标志位表明该序数计数器是否溢出,如果是,将生成一个审计事件,并禁止本SA的分组继续传送
-反重放窗口:确定一个入站的AH或ESP包是否是重放的
-AH信息:鉴别信息、密钥、密钥生存期以及相关参数
-ESP信息:加密和鉴别算法、密钥、初始值、密钥生存期、以及相关参数
-SA的生存期:时间间隔或字符计数,到时间后,一个SA必须用一个新的SA替换或终止,并指示哪个操作发生的指示
-IPSec协议模式:隧道、传输、通配符
-路径MTU:不经分片可传送的分组最大长度和迟滞变量
工作模式(Transport/Tunnel)
-AH和ESP协议均支持两种工作模式
-传输模式(Transport Mode)
-隧道模式(Tunnel Mode)
-传输模式主要为上层协议提供保护。用于在两台主机之间进行的端到端通信
-ESP加密和认证IP载荷,但不包含IP头
-AH认证IP载荷和IP报头的选中部分
-隧道模式对整个IP数据包提供保护
-当IP包加AH或ESP域后,整个数据包加安全域被当做一个新的IP包的载荷,并拥有一个新的外部IP报头。原来的整个包利用隧道在网络间传输。
-当SA的一端或两端为安全网关时使用隧道模式
-ESP加密和认证整个内部IP包
-AH认证整个内部IP包和外部IP报头中的选中部分
AH(Authentication Header)
-为IP包提供数据完整性和认证功能,防止地址欺骗和重放攻击
-利用MAC码实现鉴别,双方必须共享一个密钥
-鉴别算法由SA指定
-鉴别的范围:整个包
-两种鉴别模式:
-传输模式:不改变IP地址,插入一个AH
-隧道模式:生成一个新的IP头,把AH和原来的整个IP包放到新IP包的载荷数据中。
ESP(Encapsulating Security Payload)
-提供保密功能,包括报文内容的机密性和有限的通信量的机密性,也可以提供认证服务
-将需要保密的用户数据进行加密后再封装到一个新的IP包中,ESP只认证ESP头之后的信息
-加密算法和认证算法由SA指定
-两种模式:传输模式和隧道模式
SA的组合
-单个SA可以实现AH或ESP协议,但不能两者都实现
-特定的通信量可能需要同时调用AH和ESP服务
-如:同时需要主机之间和防火墙之间的服务
-需要为相同流量提供多个SA,即安全关联组合
-安全关联束形成方式
-传输邻接:不形成隧道的情况下,同一分组应用AH和ESP一级组合
-隧道嵌套:通过隧道实现多级安全协议的应用
IPSec密钥管理
-包括密钥的确定和分配
-典型的需求是两个应用需要4个密钥:针对发送和接收的AH和ESP
-两种管理方式:
-手工
-自动
-自动密钥管理协议
-ISAKMP/Oakley
-ISAKMP/IKE
-作用:在IPSec通信双方间,建立起共享安全参数及验证过的密钥(建立“安全关联”)。
ISAKMP
-ISAKMP:Internet Security Association and Key Management Protocol
-是一个针对认证和密钥交换的框架
-框架结构
-定义了过程和分组格式来建立、维护、删除安全关联(SA)
-双方交换数据(密钥、鉴别数据)
-双方交换数据的过程中的处理方法
-独立于加密算法、密钥交换协议、鉴别算法
两阶段协商(Tow phases of negotiation)
-The first phase,建立起ISAKMP SA
-双方商定如何保护以后的通讯,通信双方建立一个已通过身份鉴别和安全保护的通道
-此SA将用于保护后面的protocol SA的协商过程
-The second phase,建立起针对其他安全协议的SA(如,IPSec SA)
-这个阶段可以建立多个SA
-此SA将被相应的安全协议用于保护数据或者消息的交换
Diffie-Hellman密钥交换
-允许两个用户可以安全地交换一个秘密信息,用于后续的通讯过程
-算法的安全性依赖于计算离散对数的难度
-没有提供双方身份的任何信息
-容易受到中间人攻击
-计算密集型:容易受到阻塞性攻击
Oakley密钥确定协议
-是对Diffie-Hellman密钥交换算法的细化和优化
Oakley的特征
-使用cookie程序来对抗阻塞
-使得双方可以协商一个组
-使用nonce对抗重放攻击
-能够交换Diffie-Hellman公开密钥的值
-对Diffie-Hellman交换进行认证
Cookie exchange
-Cookie exchange
-要求每一方在初始消息中发送一个伪随机数,即cookie,而另一方对此作出确认
-Cookie的要求(ISAKMP规定)
-cookie的值必须依赖于特定的参与方,即与参与方的某种标识关联
-除了产生cookie的这一方外,其他人都无法产生出可被他接受的cookie值,所以,产生和验证cookie时都会用到本地的秘密信息。
-cookie的产生和验证方法必须足够快
-一个例子:对IP源和目标地址、源和目标端口,以及一个本地秘密值做一个hash算法的结果
Internet 密钥交换(IKE)
-IKE协议:The Internet Key Exchange(IKE)
-是Oakley和SKEME协议的一种混合
-基于ISAKMP框架
-Oakley和SKEME定义了通信双方建立共享密钥必须采取的步骤
-是一种常规用途的安全协议
IKE中的几个概念
-PFS:Perfect Forward Secrecy
-一旦一个密钥被泄露,只会影响到被一个密钥保护的数据
-Phase
-同ISAKMP种的phase
-Group
-Oakley定义的Diffie-Hellman密钥交换参数
-Mode
-来自Oakley中的定义
-指一个密钥交换过程
-四个Mode
IPSec和IKE小结
-IPSec在网络层上提供安全服务
-定义了两个协议AH和ESP
-IKE提供了密钥交换功能
-利用ISAKMP提供的框架,以及Oakley和SKEME的密钥交换协议的优点
-通过SA把两部分连接起来
-已经发展成为Internet标准
SET协议
-Secure Electronic Transaction,SET 安全电子交易协议
-SET本身不是一个支付系统,而是一个安全协议和格式集
-实现交易参与者行为的安全性、一致性、广泛性
电子商务(Electronic Commerce,EC)
-是指利用简单、快捷、低成本的电子通信方式,买卖双方从事的商贸活动
-内容:电子方式为特征-商贸活动
-电子方式:电话、传真、EMAIL、Internet、EDI等。
-最终模式应是建立在Internet上
-活动流:网络上的信息流、商流、资金流、部分物流的实现
-具体活动:交易方匹配、洽谈、订货、合同、支付、发票、报关、纳税、售后服务等。
-涉及的机构:消费者、商家、金融机构、政府机构、认证机构、配送中心等。
-特征:普遍性、方便性、整体性、安全性、协调性等。
电子商务安全需求与措施
-安全性需求
-有效性
-机密性
-完整性
-可靠性/不可抵赖性/鉴别
-可审查性
-措施
-加密技术 对称加密/公钥加密
-密钥管理技术 数字证书
-数字签名
-安全电子商务协议 安全电子邮件/SSL/SET......
SET协议安全支付商业需求
-提供付款和订购信息的保密性
-确保产送数据的完整性
-为持卡人是否为信用卡账号合法用户提供认证
-为商家提供认证
-确保交易各方利益
-创建不依赖于传输安全机制也不妨碍其使用的协议
-在软件和网络提供者之间提供功能设施和互操作性
SET协议中安全特性和实现
-SET协议中的安全考虑
-信息保密性:账号和支付信息等的传输安全。加密技术
-认证:持卡人账号和商家认证。通过数字证书机制,确认参与者的真实身份。
-防止抵赖:数字签名技术
-数据完整性:防止客户发送给商家的信息被篡改,数字签名和HASH、MAC手段
-授权
-安全实现
-在消费者端实现安全电子钱包
-在商家实现安全电子商家
-在银行等金融机构实现安全支付网关,完成SET协议和银行金融系统相关标准的转换
安全电子交易(SET)
-SET协议,是实现网上信用卡交易的模型和规范
-从概念上,它是通过信用卡的自然延伸,并保留了信用卡交易的所有特点。同时它针对网上交易,制定了确保信息安全的一系列规范和协议
-机密性:所有消息都加密
-可信:所有各方都持有数字证书
-隐私:只有在需要时才能获得相应信息
-SET是一个基于可信的第三方认证中心的方案,它要实现的主要目标有下列三个方面:
-保障支付安全
-确定应用的互通性
-达到全球市场的接受性
-SET协议保证了电子交易的机密性、数据完整性、身份的合法性和不可否认性
SET的体系结构
-SET支付系统的主要参与方有:
-持卡人(Card Holder)
-发卡机构(Card Issuer)
-商家(Merchant)
-收单银行(Acquiring Bank)
-支付网关(Paymen Gateway)
-品牌(Brand)
-认证中心(Certificate Authority ,CA)
SET工作原理
-客户申请一个发卡机构的账户
-客户收到一个由银行签署的X.509 v3证书
-商家接受某品牌的卡必须有两个X.509 v3证书
-一个用于签名
一个用于密钥交换
-客户将订购信息或想要得到的服务发送给商家
-商家将其证书副本发送给客户,以确认身份
-客户将订单信息和支付信息发送给商家
-商家接受订单信息后,与支付网关进行通信,请求授权认证。支付网关通过收单银行向持卡人的发卡银行请求进行支付确认。
-发卡银行同意支付,将确认信息通过支付网关返回给商家
-商家发送订单确认信息给持卡人,持卡人端软件可记录交易日志,以备将来查询
-商家发送货物或提供服务
-商家向持卡人的发卡银行请求支付,即实现支付获取,完成清算
双重签名
-连接两个信息,但只允许一方读取一个
-概念:连接不同接收者的两个消息
-订购信息(Order Information ,OI):客户给商家
-支付信息(Payment Informatin , PI):客户给银行
-目标:限制消息只发送给需要知道的一方
为什么使用双重签名?
-假设客户发送商家两个消息:
-已签名的订购信息(OI)
-已签名的支付信息(PI)
-商家将支付信息(PI)发送给银行
-如果商家可以捕获此客户的其他订购信息(OI),商家可以要求得到此订单的支付信息。
SET协议的交易流程
-持卡人注册
-商家注册
-购买请求
-支付授权
-支付获得
S/MIME协议
-安全/多用途Internet邮件扩展(Secure/Multipurpose Internet Mail Extensions,S/MIME),目标是实现安全的电子邮件
-提供了统一的方法来接收和发送MIME数据,提供的安全服务包括认证、数据机密性、数据完整性和非否认。
-侧重于作为商业和团体使用的工业标准
-提供了签名和加密功能
Internet Message Format
-定义了一种用电子邮件传送的文本消息格式,是基于Internet传递的文本邮件消息标准,被广泛使用。
BASE64
-将二进制数据编码成ASCII的一种编码方式
-将3个字节的二进制数据,编码成4个字节的ASCII文本
-编码方案中共有64个字符
PGP/Pretty Good Privacy
-把RSA公钥体制和传统对称加密体制进行高度结合,并且在数字签名和密钥管理方面有独特的设计
-主要用于Internet个人或小企业应用,包括电子邮件、安全文件加密、VPN等环境
压缩
-默认情况下,PGP在签名之后,加密之前要对消息进行压缩
-压缩前进行数字签名,是为了将来存档也可以验证数字签名
-压缩后进行数据加密,有助于提高安全性,因为压缩后减少了冗余
电子邮件兼容性
-采用将二进制数据通过BASE64编码变成ASCII码
-虽然编码后长度增加,但是由于压缩操作,得到更好的补偿
SSH
-SSH:Secure Shell 。端口号:22
-在客户机和服务器之间提供基于公钥算法的强身份鉴别机制
-提供加密的TCP/IP通道,用于保证通信的保密性和完整性