电子商务技术与安全(铁道版)第7章电子商务安全协议技术 课件(共69张PPT)

资源下载
  1. 二一教育资源

电子商务技术与安全(铁道版)第7章电子商务安全协议技术 课件(共69张PPT)

资源简介

(共69张PPT)
*
第七章
电子商务安全协议技术
*
第7章 电子商务安全协议技术
7.1 安全套接层协议SSL
7.2 安全电子交易协议SET
7.3 SSL和SET协议的比较
7.4 其他安全协议
7.5 应用实例
*
7.1 安全套接层协议SSL
7.1.1 SSL协议概述
7.1.2 SSL协议的体系结构及各层协议
7.1.3 SSL协议的通信与安全交易过程
7.1.4 SSL协议的安全性分析
*
7.1.1 SSL协议概述
安全套接层协议SSL(Security Socket Layer)是网景公司(Netscape Communication)提出的一种安全通信协议,目的是在Internet上安全保密地传输信息,它在Web上获得了广泛的应用。
后来,IETF对SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security)。
从技术上讲,TLS1.0与SSL3.0的差别非常微小。
SSL协议是全球应用最为广泛的安全协议。每一种商业浏览器和服务器都在其内部使用SSL来支持安全的Web交易。
*
SSL协议在TCP/IP协议栈中的位置
IP
HTTP
FTP
SMTP
TCP
SSL or TLS
SSL协议位于应用层和传输层之间
*
SSL可以实现如下三个通信目标:
(1)保密性——SSL客户机和服务器之间传送的数据都经过了对称加密算法处理的密文信息。
(2)完整性——SSL利用密码算法和哈希(HASH)函数,通过对传输信息提取哈希值来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏。
(3)认证性——实体的身份通过公钥加密算法得到验证。利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份。
*
7.1.2 SSL协议的体系结构及各层协议
1.SSL协议的体系结构:
SSL协议分为两层协议:
一层是SSL记录协议(SSL Record Protocol),为更高层提供基本的安全服务,如提供数据封装、压缩、加密等基本功能的支持;
另一层是建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等,由三个协议组成。
IP
SSL修改密文规约协议
SSL告警协议
HTTP
TCP
SSL记录协议
SSL握手协议
握手协议:用来实现密钥交换和认证
记录层协议:用来安全传输数据
告警协议:报警和错误
修改密文规约协议:启用新的密码参数
*
SSL会话和SSL连接
SSL会话(session):一个SSL会话是在客户端与服务器之间的一个关联。会话由握手协议创建。一个会话包含多个连接,定义了一组可供多个连接共享的加密安全参数。会话用以避免为每一个连接提供新的安全参数所付出昂贵的代价。
SSL连接(connection):客户和服务器之间的一次通信,SSL的连接是点对点的关系。连接是暂时的,每一个连接和一个会话关联。
连接
会话
会话标识符
对方证书
压缩方法
密文规约
服务器和客户的随机数
服务器写MAC密码
客户写MAC密码
服务器写密钥
客户写密钥
初始化向量
序号
*
7.1.2 SSL协议的体系结构及各层协议
2.SSL记录协议
在SSL协议中,所有的传输数据都被封装在记录中。
记录是由记录头和长度不为0的记录数据组成的。
所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL记录层。
(1)SSL记录头格式
SSL的记录头可以是两个或三个字节长的编码。SSL记录头的包含的信息包括:记录头的长度、记录数据的长度、记录数据中是否有粘贴数据。
记录头的内容包括:内容类型、主版本号、次版本号、压缩长度。
*
(2)SSL记录数据的格式
SSL的记录数据包含三个部分:MAC数据、实际数据和粘贴数据。
MAC数据用于数据完整性检查。计算MAC所用的散列函数由握手协议确定。
内容类型
主要版本
次要版本
压缩长度
明文(可选、压缩)
MAC
加密
SSL记录首部的组成
*
(3)SSL记录协议的操作
应用数据
分段
压缩
添加 MAC
加密
添加SSL记录头
数据分段
数据分段
数据分段
应用数据
在SSL的记录层完成对数据加密、解密和认证。
SSL记录协议为SSL连接提供了两种服务:一是机密性,二是消息完整性。
为了实现这两种服务,SSL记录协议接收传输的应用报文,将数据分片成可管理的块,进行数据压缩(可选),应用MAC,接着利用IDEA、DES、3DES或其他加密算法进行数据加密,最后增加由内容类型、主要版本、次要版本和压缩长度组成的首部。
*
(3)SSL记录协议的操作
在记录层中的操作步骤如下:
记录层接收到应用层长的数据流时,将对数据进行分段,每一段称为一个记录,每一个记录的最大长度为16KB。
对上面每一个记录块进行压缩,压缩是可选的,压缩算法在当前会话状态中定义。
使用先前建立的共享密码对第一个明文记录计算MAC值。
使用会话密钥对上面添加MAC后的数据加密。
对加密后的每个记录添加SSL记录头。
*
7.1.2 SSL协议的体系结构及各层协议
3.SSL握手协议
(1)握手的目的
客户端与服务器协商使用哪种加密算法。
确立一组由那些算法所使用的加密密钥。
选择对客户端进行认证。
*
7.1.2 SSL协议的体系结构及各层协议
3.SSL握手协议
(2)握手的过程
负责建立当前会话状态的参数,使得服务器和客户能够协商一个协议版本、选择密码算法和哈希算法、压缩方法、会话ID等并且使用公钥加密技术通过一系列交换信息在客户和服务器之间生成共享的密钥。在使用会话传输任何数据之前,必须先用握手建立连接,实现相互验证,协商加密算法和生成密钥等内容。
*
握手协议的组成
握手协议由一系列在客户和服务器间交换的报文组成。每个报文由3个字段组成:报文类型、以字节为单位的报文长度以及这个报文有关的参数内容。
≥0字节
3字节
1字节
根据type的定义,规定了相应的参数的内容
不同类型的消息
类型
长度
内容
*
SSL握手协议的定义的消息类型
消息类型 说明 参数
hello_request 握手请求,服务器可在任何时候向客户端发送该消息。若客户端正在进行握手过程就可忽略该消息。否则客户端发送cleint_hello消息,启动握手过程。 无
client_hello 客户启动握手请求,该消息时当客户第一次连接服务器时向服务器发送的第一条消息。该消息中包括了客户端支持的各种算法。若服务器端不能支持,则本次会话可能失败。 版本、随机数、会话ID、密文族、压缩方法
server_hello 其结构与client_hello消息,该消息是服务器对客户端client_hello消息的恢复。 版本、随机数、会话ID、密文族、压缩方法
server_certificate 服务器提供的证书。如果客户要求对服务器进行认证,则服务器在发送server_hello消息后,向客户端发送该消息。证书的类型一般是X.509v3。 X.509v3证书链
server_key_exchange 服务器密钥交换。当服务器不使用证书,或其证书中仅提供签名而不提供密钥时,需要使用本消息来交换密钥。 参数、签名
certificate_request 用于服务器向客户端要求一个客户证书。 类型、授权
server_hello_done 该消息表明服务器端的握手请求报文已经发送完毕,正在等待客户端的响应。客户端在收到该消息时,将检查服务器提供的证书及其他参数是否是有效、可以接受的。 无
client_certificate 客户端对服务器certificate_request消息的响应,只有在服务器端要求客户证书的时候使用。一般该消息是客户端收到server_hello_done消息后所发送的第一条消息。若客户端没有合适的证书,则向服务器端发送no_certificate的告警消息(无证书可能导致握手失败) X.509v3证书链
client_key_exchange 客户密钥交换。当客户不使用证书,或其证书中仅提供签名而不提供密钥时,需要使用本消息来交换密钥。 参数、签名
certificate_verify 该消息用于向服务器提供对客户证书的验证。 签名
finished 该消息在“加密规约修改”(Change Cipher Spec)消息之后发送,以证实握手过程已经成功完成。本消息发送后,发送方开始使用协商的新参数来执行操作。该消息需要在两个方向上传送。 散列值
*
握手的过程
SSL握手协议动作包含四个阶段:
第一阶段建立安全能力;
lient Hello消息
ServCer Hello消息
第二阶段服务器认证和密钥交换;
Server Certificate消息
Server Key Exchange消息
Certificate Request消息
Server Hello Done消息
第三阶段客户认证和密钥交换;
Client Certificate消息
Client Key Exchange消息
Certificate Verify消息
第四阶段结束握手。
Change Cipher Spec消息
Finished消息
Change Cipher Spec消息
Finished消息
*
握手的过程
客户端
服务器
Client Hello
SSL
Server Hello
Certificate
Server Key Exchange
Certificate Request
Server Hello done
Certificate
Client Key Exchange
Certificate Verify
Change Cipher Spec
Finished
Change Cipher Spec
Finished
时间
第一阶段
第二阶段
第三阶段
第四阶段
*
7.1.2 SSL协议的体系结构及各层协议
3.SSL握手协议
(3)重用一个SSL会话
客户端和服务器决定恢复一个以前的会话或复制一个已存在的会话(代替重新谈判新的安全参数)
重用一个SSL会话的过程
*
7.1.2 SSL协议的体系结构及各层协议
3.SSL握手协议
(4)SSL握手协议的作用
SSL的握手协议可以非常有效地让客户与服务器之间完成身份认证。
通过SSL客户端与服务器传送自己的数字证书,互验合法性,特别是验证服务器的合法性,可以有效地防止互联网上虚假网站的网上钓鱼事件;同时,服务器端也可以严格验证客户端的真实身份。
*
7.1.2 SSL协议的体系结构及各层协议
3.SSL握手协议
(5)密码参数的生成
Client_random
Pre_master_secret
Server_random
Key_block
Master_secret
Client_write_MAC_secret
Server_write_MAC_secret
Client_write_key
Server_write_key
Client_IV
Server_IV
*
7.1.2 SSL协议的体系结构及各层协议
4.修改密文规约协议 (SSL Change Cipher Spec Protocol)
它仅定义了一个由单个字节“1”构成的消息报文;其目的是为了表示密码策略的变化,由记录层按照密码规约中所指定的方式进行加密和压缩。在握手完成之前,双方都要发送这个消息,以通知对方其后的记录将用刚刚协商的密码规范以及相关联的密钥来保护。
用途:切换状态,把密码参数设置为当前状态。在握手协议中,当安全参数协商一致后,发送此消息。
*
7.1.2 SSL协议的体系结构及各层协议
5.告警协议
该协议将警告消息以及它们的严重程度传递给SSL会话中的主体。
用途:规定了告警的级别和告警的类型。在SSL协议执行过程中通过告警协议来显示信息交换过程中所发生的错误。
*
7.1.3 SSL协议的通信与安全交易过程
1.SSL协议的实现过程
客户机使用IE浏览器向服务器发送客户端的SSL版本号、密码设置、随机数和需要服务器使用SSL协议与客户机进行通信的其它信息,IE浏览器使用https协议向服务器申请建立SSL会话;
服务器向客户端发送服务器端的SSL版本号、密码设置、随机数和客户端使用SSL协议与服务器通信需要的其它信息。同时服务器端发送它自己的数字证书供客户认证,如果认为客户端需要身份认证则要求客户发送证书,该操作是可选的;
客户端利用服务器发送信息认证服务器的真实身份并取得公开密钥等,如果服务器不被认证,客户被告警发生了问题,通知不能建立带有加密和认证的连接。若服务器能被成功地认证,客户机将继续下一步。
客户机利用数字信封技术为将要进行的会话创建会话预密钥pre_master_secret,并用服务器的公钥加密它,然后向服务器发送加密的会话预密钥;
*
7.1.3 SSL协议的通信与安全交易过程
1.SSL协议的实现过程
当客户能被成功认证后,服务器会使用它的私人密钥解密从客户端得到的会话预密钥pre_master_secret,并生成真正的会话密钥master_secret。同时客户端也从相同的pre_master_secret开始得到相同的master_secret。会话密钥master_secret是对称密钥用于加密和解密在SSL会话期间交换的信息,并验证信息的完整性;
会话密钥生成后,客户端向服务器发送消息,通知服务器以后从客户端来的消息将用会话密钥加密,这表明握手的客户端部分已经完成;
服务器向客户端发送相同的消息,通知从服务器来的消息将用会话密钥加密,这表明握手的服务器部分已经完成;
SSL会话开始,使用安全通道发送消息,客户端和服务器使用会话密钥加密和解密它们彼此发送的数据和验证数据完整性;
当通信完成后,一般情况会话密钥会被丢弃。
*
7.1.3 SSL协议的通信与安全交易过程
2.SSL协议的工作过程
发送方的工作过程(会话密钥已建立)
从上层接收要发送的数据(包括各种消息和数据);
对信息进行分段,成若干记录;
使用指定的压缩算法进行数据压缩数据(可选);
使用指定的MAC算法生成MAC;
使用指定的加密算法进行数据加密;
发送数据。
*
7.1.3 SSL协议的通信与安全交易过程
2.SSL协议的工作过程
接收方的工作过程(会话密钥已建立)
接收数据;
使用指定的解密算法解密数据;
使用指定的MAC算法校验MAC;
使用压缩算法对数据解压缩(在需要时进行);
将记录进行数据重组;
将数据发送给高层。
*
7.1.4 SSL协议的安全性分析
1.加密算法和认证算法
(1)加密算法和会话密钥
(2)认证算法
服务器的认证
客户的认证
*
7.1.4 SSL协议的安全性分析
2. SSL安全优势
(1)监听和中间人式攻击
(2)流量数据分析式攻击
(3)截取再拼接式攻击
(4)报文重发式攻击
*
7.1.4 SSL协议的安全性分析
3. SSL协议存在的问题
(1)密钥管理问题
(2)加密强度问题
(3)数字签名问题
(4)SSL的加密漏洞
攻击证书
窃取证书
安全盲点
*
7.2 安全电子交易协议SET
7.2.1 SET协议产生的背景
7.2.2 SET协议的规范与功能
7.2.3 SET证书的管理
7.2.4 双重签名
7.2.5 应用SET的购物流程
*
7.2.1 SET协议产生的背景
1.电子商务对安全的要求
电子商务活动对安全性的需求主要包含如下几方面:
如何确定通信中的贸易伙伴的真实性?
何保证电子单证的秘密性,防范电子单证的内容被第三方读取?
如何保证被传输的业务单证不会丢失,或者发送方可以察觉所发单证的丢失?
如何确定电子单证的内容未被篡改?
如何确定电子单证的真实性,即单证来源于期望的发送方?
如何解决或者仲裁收发双方对交换的单证所产生的争议,包括发方或收方可能的否认或抵赖?
为了达到商务活动的要求,电子商务需要有规定顾客、商家和各金融机构之间的责权关系的政策,给出参与各方的数据存储和通信过程以及数据流动的支付协议。
*
7.2.1 SET协议产生的背景
2. SET协议简介
世界两大信用卡商Master Card和Visa于1997年共同推出了安全电子交易协议SET(Secure Electronic Transaction),该协议主要用于保障Internet上信用卡交易的安全性。利用SET给出的整套安全电子交易过程的规范,可以实现电子商务交易中的机密性、认证性、数据完整性和不可否认性等安全功能。
SET协议采用公钥密码体制和X.509数字证书标准,主要应用于B2C模式中保障支付信息的安全性。SET协议本身比较复杂,设计比较严格,安全性高。
SET是目前国际上公认的最安全、也是最成熟的电子支付协议之一,已日益成为电子商务的安全基础。
*
SET协议简介
SET要达到的最主要的目标是:
① 信息在Internet上的安全传输,保证网上传输的数据不被黑客窃听;
② 订单信息和个人账号信息的隔离,在将包括消费者账号信息的订单送到商家时,商家只能看到订货信息,而看不到消费者的账户信息;
③ 消费者和商家的相互认证,以确定通信双方的身份,一般由第三方机构负责为在线通信双方提供信用担保;
④ 要求软件遵循相同的协议和消息格式,使不同厂家开发的软件具有兼容和互操作功能,并且可以运行在不同的硬件和操作系统平台上。
*
7.2.2 SET协议的规范与功能
1.SET协议涉及的实体
SET协议涉及的实体,即参与者,他们之间的交互的一个简要的介绍如下图所示。
下面是由SET规定的这些参与者以及他们在交易中的角色:
持卡人
发卡银行
收单银行
商家
认证机构
支付网关
SET协议
订购信息 支付信息
申请信用卡
发卡银行
持卡人(消费者)
收单银行
商家
公开网络
认证机构CA
银行专用网络
支付网关
SET协议
SET协议
*
7.2.2 SET协议的规范与功能
2.SET协议的基本运行过程
协商
发卡银行
持卡人
收单银行
商家
认证机构CA
支付网关
确认
订单
确认
审核
确认
请求
审核
批准
认 证
*
7.2.2 SET协议的规范与功能
3.SET协议的功能
机密性:确保支付信息和相关定购信息在互联网上安全传输,防止数据被黑客或被内部人员窃取,这一点通过加密技术来实现。
完整性:确保所有传输数据的完整性,通过使用数字签名来实现。
认证性:包括对持卡人和商家的认证,验证持卡人是否为支付卡的合法用户以及商家是否能接受支付卡交易并确保他与某个相关的金融机构的关系,认证性通过使用数字签名和X.509证书来实现。
信息的部分共享:保证电子商务参与者信息的相互隔离,商家不能看到客户的帐户和密码信息,而银行无法得到客户的定购信息,这一点通过双重签名来实现。
互用性:规范协议和消息格式,促使不同厂家开发的软件具有兼容性和互操作功能,并且可以运行在不同的硬件和操作系统平台上。
*
7.2.3 SET证书的管理
1. SET证书的种类
在SET协议中有持卡人证书、商家证书、支付网关证书、银行证书、发卡机构证书等。其中最主发的是持卡人证书、商家证书、支付网关证书。
持卡人证书:适用于持卡人使用发卡机构颁发的银行卡(借记卡、储蓄卡、信用卡)进行网上购物和结算。
商家证书:适用于商户通过互联网向消费者出售商品或服务,并与支付网关相连实现资金划转。
支付网关证书:适用于支付网关提供的服务(Internet上各种安全协议与银行现有网络数据格式的转换)。
2. SET证书格式内容
数字证书由四个域:标准域、扩展域、自定义域和CA签名域构成,其构成均遵循ITU X.509 V3标准。
*
7.2.3 SET证书的管理
3. SET认证中心
根据功能不同,SET认证中心划分成不同等级,不同认证中心负责发放不同的证书。
根认证中心CA
品牌认证中心BCA
区域认证中心GCA
持卡人认证中心CCA
商家认证中心MCA
支付网关认证中心PCA
持卡人
商家
支付网关
*
7.2.3 SET证书的管理
4. SET证书的验证
证书采用树形验证。在两方通信时,通过出示由某个CA签发的证书来证明自己的身份,如果对签发证书的CA本身不信任,则可验证CA的身份,依次类推,一直到公认的权威以处,就可确信证书的有效性。
SET证书正是通过信任层次来逐级验证的,每一个证书与数字化签发证书的实体的签名证书关联,沿着信任树一直到一个公认的信任组织,就可确认该证书是有效的。
*
7.2.4 双重签名
SET协议使用了双重签名,可以保护信用卡消息不被窃听者或者不诚实的商家窃取,此外,还可以保护买卖订单消息对于支付网关的机密性。
在SET协议中,持卡用户需要将订购信息(OI)和支付信息(PI)一起发送给商家。但是实际上订购信息是发送给商家的,而支付信息是需要发送给银行系统的。
为了向持卡用户提供更好的隐私保护,SET将OI和PI分离开来,由不同的机构处理。
*
SET系统中双重签名的产生过程
商家公钥加密
发送
Hash
持卡人私钥加密
连接
Hash
Hash
订购消息OI
支付指令PI
H(PI)
H(OI)
OP
H(OP)
Sign(H(OP))
M1
商家
OI, H(PI), Sign(H(OP)
银行公钥加密
发送
M2
银行
PI, H(OI), Sign(H(OP)
*
SET系统中双重签名的验证过程
商家私钥解密
M1
商家:
OI
Hash
H(OI)
连接
OP1
Hash
H(OP1)
H(PI)
Sign(H(OP)
持卡人公钥解密
H(OP)
比较
银行私钥解密
M2
银行:
PI
Hash
H(PI)
连接
OP2
Hash
H(OP2)
H(OI)
Sign(H(OP)
持卡人公钥解密
H(OP)
比较
*
7.2.5 应用SET的购物流程
持卡人选择要购买的商品,填写订单
持卡人验证证书,结束交易
商家接受订单,验证双重签名和证书
商家验证签名和证书,发送付款应答
支付网关验证双重签名和证书,验证支付金额,向银行和发卡机构提出审核请求
持卡人
付款应答
发送认证和收款请求
发送认证和收款应答
发送订单及付款请求
商家服务器
支付网关服务器
*
7.3 SSL和SET协议的比较
7.3.1 SSL和SET的特点
7.3.2 SSL和SET协议的性能比较
*
7.3.1 SSL和SET的特点
1.SSL的特点
(1)SSL协议的安全服务功能
信息加密。SSL所采用的加密技术既有对称密钥技术,也有公开密钥技术。具体来讲,客户端与服务器在进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其保密性和数据的完整性。
信息完整。SSL提供完蔡信息服务,以建立客户机与服务器之问的安全通道,使所有经过SSL协议处理的业务能全部准确无误地到达日的地。
相互认证。客户机和服务器都有各自的识别号,这些识别号由公开密钥进行编号。为了验证用户是否合法,SSL协议要求在握手交换数据前进行数字认证,以此来确保用户的合法性。
*
7.3.1 SSL和SET的特点
1.SSL的特点
(2)SSL协议的缺陷
SSL无法知道在传输过程中是否受到窃听;SSL产品的出口受到美国政府限制,我国的SSL产品只能提供512比特RSA公钥和40比特对称密钥加密,加密强度不够;SSL协议将客户的信用卡号传送给商家,容易被心术不正的商家欺诈。
*
7.3.1 SSL和SET的特点
2.SET的特点
(1)SET协议的安全服务功能
采用双重数字签名技术确保电子商务参与者信息的相互隔离,使得持卡人资料加密后经过商家到达银行的过程中,商家只能看到持卡人的订购数据,而银行只能取得持卡人的支付卡信息。
解决了用户与商家、用户与银行、商家与银行之间的多方认证问题。
SET保证了交易的不可否认性。
SET协议位于应用层,规范了整个商务活动的流程,制定了严格的加密和认证标准,具备商务性、协调性和集成性功能。
SET是一个多方的报文协议,它定义了银行、商家、持卡人之间必需的报文规范,SET报文能够在银行内部网或者其他网络上传输,且允许各方之间的报文交换不是实时的。
*
7.3.1 SSL和SET的特点
2.SET的特点
(2)SET协议的安全性分析
数据完整性(Data Integrity)
机密性(Confidentiality)
身份验证(Verification Of Identity)
不可否认性(Non-repudiation of Disputed charges)
*
7.3.1 SSL和SET的特点
2.SET的特点
(3)SET协议的缺陷
在完成一个SET协议交易的过程中,需验证电子证书9次,验证数字签名6次,传递证书7次,进行5次签名、4次对称加密和4次非对称加密。所以,完成一个SET协议交易过程需花费1.5~2分钟,甚至更长的时间。SET协议过于复杂,使用麻烦,成本高,且只适用于客户具有电子钱包的场合。
SET的证书格式比较特殊,虽然也遵循X.509标准,但它主要是由Visa和MasterCard开发并按信用卡支付方式来定义的。SET支付方式和认证结构适应于卡支付,对其他支付方式是有所限制的。
……
*
7.3.2 SSL和SET协议的性能比较
协议层次 认证机制 安全程度 运行效率 部署成本
SET 应用层 多方认证 较高,提供防抵赖功能 较低 高
SSL 传输层 双方认证 不提供防抵赖功能 高 较低
*
7.4 其他安全协议
7.4.1 网络安全协议-IPSec
7.4.2 应用层安全协议-SHTTP
*
7.4.1 网络安全协议-IPSec
1.IPSec基本概念
IPSec(Internet Protocol Security)是通过对IP协议(互联网协议)的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPSec由两大部分组成;建立安全分组流的密钥交换协议,保护分组流的协议。
IPSec能提供的安全服务包括访问控制、无连接的完整性、数据源认证、拒绝重发包(部分序列完整性形式)、保密性和有限传输流保密性。
*
7.4.1 网络安全协议-IPSec
1.IPSec基本概念
- IPSec通过使用基于密码学的保护服务、安全协议和动态密钥管理,可实现以下目标:
(1)认证IP报文的来源
(2)保证IP数据报的完整性
(3)确保IP报文的内容在传输过程中未被读取
(4)确保认证报文没有重复
*
7.4.1 网络安全协议-IPSec
2.IPSec协议结构
- IPSec组件包括安全协议认证头(AH)和封装安全载荷(ESP)、安全连接(SA)、密钥交换(IKE)及加密和验证算法等。
IPSec的体系结构
*
IPSec协议的处理过程
*
IPSec协议结构
(1)IPsec AH——IPsec认证头协议
IPsec认证头协议(IPsec Authentication Header,IPsec AH ) 是IPsec体系结构中的一种主要协议,它为IP数据报提供无连接完整性与数据源认证,并提供保护以避免重播情况。
上层协议 负荷长度 保留字段
安全参数索引值
序号
认证数据
AH协议头格式
*
IPSec协议结构
(2)ESP——IPSec封装安全负载
IPSec封装安全负载是IPSec体系结构中的一种主要协议,其主要设计来在IPv4和IPv6中提供安全服务的混合应用。
ESP提供机密性、数据源认证、无连接的完整性、抗重播服务(一种部分序列完整性的形式) 和有限信息流机密性。
ESP头格式
安全参数索引
序号
初始化向量
荷载数据
填充数据
填充项长度 上层协议
认证数据(变长)
*
IPSec协议结构
(3)IPSec IKE——Internet 密钥交换协议
Internet 密钥交换(IPSec Internet Key Exchange Protocol,IPSec IKE)是IPSec体系结构中的一种主要协议。它是一种混合协议。
IKE可用于协商虚拟专用网(VPN),也可用于远程用户(其IP地址不需要事先知道)访问安全主机或网络,支持客户端协商。
IKE的实施必须支持以下的属性值:
DES用在CBC(Cipher - Block Chaining,密码块链接)模式,使用弱、半弱、密钥检查。
MD5[MD5]和SHA[SHA]。
通过预共享密钥进行认证。
缺省的组1上的MODP(Modular Exponentiation Group)。
*
IPSec协议结构
(4)IPSec ISAKMP——Internet安全连接和密钥管理协议
Internet安全连接和密钥管理协议 (Internet Security Association and Key Management Protocol,ISAKMP) 是IPSec体系结构中的一种主要协议。该协议结合认证、密钥管理和安全连接等概念来建立政府、商家和互联网上的私有通信所需要的安全。
ISAKMP中,解释域(DOI)用来组合相关协议,通过使用ISAKMP协商安全连接。共享DOI的安全协议从公共的命名空间选择安全协议和加密转换方式,并共享密钥交换协议标识。
*
7.4.1 网络安全协议-IPSec
3.IPSec工作原理
IPSec工作原理
*
7.4.1 网络安全协议-IPSec
3.IPSec工作原理
(1)IPSec流出处理
1)查找合适的安全策略
2)查找合适的SA
3)根据SA进行具体处理
(2)IPSec流入处理
1)IP包类型判断
2)查找合适的SA
3)具体的IPSec处理
4)策略查询
*
7.4.2 应用层安全协议-SHTTP
1.S-HTTP简介
-- 安全超文本传输协议(S-HTTP)是一种面向安全信息通信的协议,它可以和HTTP结合起来使用。S-HTTP能与HTTP信息模型共存并易于与HTTP应用程序整合。
-- S-HTTP协议为HTTP客户机和服务器提供了多种安全机制,提供安全服务选项是为了适用于万维网上各类潜在用户。
-- S-HTTP客户机和服务器能与某些加密信息格式标准相结合。
*
7.4.2 应用层安全协议-SHTTP
1.S-HTTP简介
请求行 通用信息头 请求头 实体头 信息主体
状态行 通用信息头 响应头 实体头 信息主体
响应报文的格式
请求报文的格式
*
7.4.2 应用层安全协议-SHTTP
2.S-HTTP与SSL的比较
(1) S-HTTP和SSL是从不同角度提供Web的安全性的。
(2) S-HTTP是应用层的加密协议,它能感知到应用层数据的结构,而不是像SSL一样把数据完全当作流来处理,也就是说,S-HTTP把消息当成对象进行签名或加密传输,而SSL则主动把数据流分帧处理,而不理会消息的边界。
*
7.5 应用实例
7.5.1 SSL协议的应用
7.5.2 SET协议的应用
*
7.5.1 SSL协议的应用
1.OpenSSL 简介
一个开放源代码的SSL协议的产品实现。
目前,OpenSSL已经得到了广泛的应用,许多类型的软件中的安全部分都使用了OpenSSL的库,如VOIP的OpenH323协议、Apache服务器、Linux安全模块等。
OpenSSL整个工具包可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。
*
7.5.1 SSL协议的应用
2.OpenSSL API实现
基于OpenSSL的程序都要遵循以下几个步骤:
(1)OpenSSL初始化
(2)选择会话协议
(3)创建会话环境
(4)建立SSL套接字
(5)完成SSL握手
(6)数据传输
(7)结束SSL通信
生成一个SSL结构
Socket过程
联系Socket和SSL
SSL握手过程
实现通信
使用OpenSSL建立SSL通信
*
7.4.2 SET协议的应用
1.信用卡支付
2. SET虚拟商城
中国银按照SET标准建立了一整套购物及支付系统。
在SET协议环境下,应用信用卡进行电子支付。需要在客户端下载一个客户端软件(电子钱包软件),在商家服务端安装商家服务器端软件,在支付网关安装对应的网关转换软件等,并且各参与者还要各自下载一个证实自己真实身份的数字证书,借此获取自己的公开密钥和私人密钥对,且把公开密钥公开出去。
SET利用各种加密方法、数字签名、证书认证等技术手段为网上交易的各方提供了最全面的保护,确保了电子交易的安全、有序的进行。

展开更多......

收起↑

资源预览