《《电子商务安全协议》PPT课件》由会员分享,可在线阅读,更多相关《《电子商务安全协议》PPT课件(122页珍藏版)》请在金锄头文库上搜索。
1、 第五章第五章 电子商务安全协议与安全标准电子商务安全协议与安全标准5.1 安全协议概述安全协议概述5.1.1 安全协议的概念安全协议安全协议是指使用密码学技术的密码协议。协议就是两是指使用密码学技术的密码协议。协议就是两个或者两个以上的参与者为完成某项特定任务而采取的个或者两个以上的参与者为完成某项特定任务而采取的一系列步骤。它包含一系列步骤。它包含三层含义三层含义:(1)协议是一种顺序的执行过程,)协议是一种顺序的执行过程, 执行顺序不可颠倒执行顺序不可颠倒也不可省略。也不可省略。(2)协议至少有两个参与者)协议至少有两个参与者(2)协议是为完成某项特定的任务而设计的。)协议是为完成某项特
2、定的任务而设计的。密码协议密码协议就是网络通信中采用密码算法的的密码技术协就是网络通信中采用密码算法的的密码技术协议。议。密码协议分类(按功能)密码协议分类(按功能)(1)密钥交换协议密钥交换协议:两个或多个实体之间建立共享的:两个或多个实体之间建立共享的秘密,秘密, 通常用于建立一次通信中所使用的会话密钥。通常用于建立一次通信中所使用的会话密钥。(2)认证协议认证协议:包括实体认证协议、消息认证协议、:包括实体认证协议、消息认证协议、数据源认证、数据目的认证,数据源认证、数据目的认证, 用于防止假冒、篡改、否用于防止假冒、篡改、否认等攻击。认等攻击。(3)认证和密钥交换协议认证和密钥交换协议
3、: 将认证和密钥交换结合在将认证和密钥交换结合在一起,一起, 是网络中最普遍应用的安全协议。是网络中最普遍应用的安全协议。5.1.2 协议的安全性协议的安全性协议存在安全缺陷的原因协议存在安全缺陷的原因 (1) 协议设计者误解或采用了不恰当的技术。协议设计者误解或采用了不恰当的技术。(2)协议设计者对环境要求的安全需求研究不足。)协议设计者对环境要求的安全需求研究不足。 安全缺陷分类安全缺陷分类基本协议缺陷基本协议缺陷口令密钥猜测缺陷口令密钥猜测缺陷陈旧消息缺陷陈旧消息缺陷并行会话缺陷并行会话缺陷内部协议缺陷内部协议缺陷密码系统缺陷密码系统缺陷5.1.3 安全协议分析安全协议分析攻击检验方法攻
4、击检验方法:搜集目前对协议有效的攻击方:搜集目前对协议有效的攻击方法,法, 逐一对安全协议进行攻击,逐一对安全协议进行攻击, 检验协议是否检验协议是否具有抵抗这些攻击的能力。具有抵抗这些攻击的能力。形式化分析方法形式化分析方法:采用各种形式化的语言或模:采用各种形式化的语言或模型,型, 为安全协议建立模型,为安全协议建立模型, 按照规定的假设、按照规定的假设、分析和验证方法证明协议的安全性。分析和验证方法证明协议的安全性。形式化分析技术形式化分析技术(1) 使用通用的形式化描述语言和协议校验工具建立使用通用的形式化描述语言和协议校验工具建立安全协议模型并进行校验。安全协议模型并进行校验。(2)
5、设计专门的专家系统制定校验方案,)设计专门的专家系统制定校验方案, 检验协议的检验协议的安全性,安全性, 并作出结论。并作出结论。(3)基于知识和信念的逻辑建立所分析协议的安全需)基于知识和信念的逻辑建立所分析协议的安全需求模型。求模型。(4)基于密码学系统的代数特性开发协议的形式化模)基于密码学系统的代数特性开发协议的形式化模型。型。5.1.4 常见的安全协议常见的安全协议(1)电子支付协议)电子支付协议(2)安全)安全HTTP协议(协议(S-HTTP)(3)安全电子邮件协议)安全电子邮件协议(4)用于公对公交易的)用于公对公交易的 Internet EDI其它:基于其它:基于Interen
6、t 的虚拟专用网(的虚拟专用网(VPN)电子支付协议电子支付协议与现实生活中的现金、支票及信用卡支付方式与现实生活中的现金、支票及信用卡支付方式相对应,相对应, 电子支付协议分为以下三种:电子支付协议分为以下三种:(1)基于卡的支付协议:)基于卡的支付协议:Fiirst Virtual、 SSL、SET、iKP.(2)基于支票的支付协议:)基于支票的支付协议: e-check, Netbill.(3)基于现金的支付协议:)基于现金的支付协议: E-Cash, Mondex.5.2 安全套接层协议安全套接层协议(SSL)由由Netscape 开发,是一个保证任何安装了安全开发,是一个保证任何安装
7、了安全套接层的客户和服务器之间的事务安全的协议,套接层的客户和服务器之间的事务安全的协议, 它涉及所有的它涉及所有的TCP/IP 协议。协议。SSL已得到众多的已得到众多的Internet 和和Intranet 网络产品网络产品及其厂商的支持。及其厂商的支持。安全套接字层协议安全套接字层协议( Security Socket Layer,SSL)是用是用于于Internet上进行保密通信的一个安全协议,它的主上进行保密通信的一个安全协议,它的主要目的是保证两台机器之间的通信安全,提供网络上要目的是保证两台机器之间的通信安全,提供网络上可信赖的服务。该协议采用了多种加密算法,具备了可信赖的服务。
8、该协议采用了多种加密算法,具备了信息的加密、完整性校验、数字签名、密钥交换的功信息的加密、完整性校验、数字签名、密钥交换的功能,保证服务器与客户端在通信时免遭窃听、篡改和能,保证服务器与客户端在通信时免遭窃听、篡改和伪造。伪造。 1.引言引言该协议最早是由网景通信公司(该协议最早是由网景通信公司(Netscape Communication)推出的,主要是针对)推出的,主要是针对Web、电子邮、电子邮件及新闻组通信安全问题。版本件及新闻组通信安全问题。版本1(SSLv1)仅在网)仅在网景公司内部流传,从来没有公开实现和广泛部署,同景公司内部流传,从来没有公开实现和广泛部署,同时时Netscap
9、e也没有真正交付过也没有真正交付过SSLv1的规范。的规范。SSLv2最初在最初在1994年推出,但是它包含许多中等程度的安全年推出,但是它包含许多中等程度的安全缺陷。为此,在缺陷。为此,在1995年末年末Netscape发布了发布了SSLv3。在。在对对SSLv2改进的基础上,微软在改进的基础上,微软在1995年年_月发表了月发表了保密通信技术(保密通信技术(Private Communication Technology ,PCT)。)。从从SSLv3着手,着手,1996年末年末Internet工程任务组工程任务组(Internet Engineering Task Force,IETF)
10、的传输层)的传输层安全工作组完成了传输层安全协议(安全工作组完成了传输层安全协议(Transport Layer Security,TLS)的标准化工作,该工作被广)的标准化工作,该工作被广泛认为是对网景与微软公司方案的一种调和。泛认为是对网景与微软公司方案的一种调和。对安全保密性要求较高的是网络电子商务、事务处理对安全保密性要求较高的是网络电子商务、事务处理等系统,在现实中运营的这些系统绝大多数是以等系统,在现实中运营的这些系统绝大多数是以SSL协议为基础建立的,就如同协议为基础建立的,就如同TCP/IP之于网络,之于网络,SSL协协议已成为议已成为Web安全方面的工业标准。目前广泛采用的安
11、全方面的工业标准。目前广泛采用的是是SSLv3。Netscape Navigator和和Internet Explorer都支持都支持SSL,而且许多网站使用这种协议来从用户端接收信用卡编而且许多网站使用这种协议来从用户端接收信用卡编号等保密信息。要求号等保密信息。要求SSL连接的网址以连接的网址以“https:”开头,而不是开头,而不是“http:”。SSL自提出标准草案,经自提出标准草案,经多次的改进升级,目前已广泛被业界所接受,成为现多次的改进升级,目前已广泛被业界所接受,成为现实中的标准。实中的标准。 除除 Netscape 的产品和微软的的产品和微软的IE外,还外,还有很多其他产品均
12、支持有很多其他产品均支持SSL的通信协议的通信协议 。目前全球绝。目前全球绝大部分的网上商店使用大部分的网上商店使用SSL安全系统。安全系统。2 SSL协议概述协议概述当前,当前,Internet上有几种加密协议在使用中,对应上有几种加密协议在使用中,对应ISO/OSI七层网络模型的每一层都已提出了相应的协七层网络模型的每一层都已提出了相应的协议。对会话层有议。对会话层有SSL(Secure Sockets Layer,安全套接安全套接字层字层)协议,对应用层有协议,对应用层有SET(Secure Electronic Transaction,安全电子交易,安全电子交易)协议。在所有的协议中,
13、协议。在所有的协议中,SSL和和SET与电子商务的关系最为密切。与电子商务的关系最为密切。SSL使用保密密钥对将要通过使用保密密钥对将要通过SSL连接传送的数据进连接传送的数据进行加密,它是对两台机器之间的整个会话进行加密的行加密,它是对两台机器之间的整个会话进行加密的协议,在协议,在Internet上广泛用于处理财务上敏感的信息,上广泛用于处理财务上敏感的信息,在这些敏感的财务问题处理上,在这些敏感的财务问题处理上,SET协议更安全、更协议更安全、更可信,但是比较复杂。可信,但是比较复杂。随着随着SSL版本的递增,它所提供的安全保护也越来越版本的递增,它所提供的安全保护也越来越强。第一代强。
14、第一代Netscape产品(包括、产品(包括、Netscape Commerce Server 1.0 和)实现了和)实现了SSLv2。目前。目前Netscape 产品(包括和产品(包括和Netscape SuitSpot服务器的产服务器的产品)实现了品)实现了SSLv3。SSL提供的基本服务(报文完整提供的基本服务(报文完整性、报文保密和相互验证)在协议的版本性、报文保密和相互验证)在协议的版本2和版本和版本3是是相同的,但是相同的,但是SSL 3对协议有很多的增强。最后的增对协议有很多的增强。最后的增强是对客户机证书请求协议的改进,允许服务器规定强是对客户机证书请求协议的改进,允许服务器规
15、定一个可信赖的签发客户机证书授权者表。一个可信赖的签发客户机证书授权者表。Navigator返回一个由这些证书授权者之一所签发的返回一个由这些证书授权者之一所签发的证书。如果没有这样的证书,握手信号就失败,这样证书。如果没有这样的证书,握手信号就失败,这样就避免了用户为每个链接查看证书。就避免了用户为每个链接查看证书。SSL经过多次修经过多次修订,从开始版本订,从开始版本1发展到发展到IETF最终采纳的传输层安全最终采纳的传输层安全(Transport Layer Security,TLS)标准。所有)标准。所有TLS版版本之前的版本都是由网景公司的工程师们设计的。到本之前的版本都是由网景公司
16、的工程师们设计的。到了了TLS版本,版本,IETF要求必须支持要求必须支持DH、DSS新的新的MAC算法和新的密钥扩展。算法和新的密钥扩展。 SSL的设计目标如下:的设计目标如下:加密安全。加密安全。SSL协议应在两个实体之间建立一个安全协议应在两个实体之间建立一个安全连接。连接。互用性。独立的程序员应能够开发使用互用性。独立的程序员应能够开发使用SSL的程序,的程序,并能相互交换加密参数,而不必了解对方的程序代码。并能相互交换加密参数,而不必了解对方的程序代码。并不是所有的并不是所有的SSL协议(甚至在同一个域中)实例都协议(甚至在同一个域中)实例都能成功地建立连接。能成功地建立连接。可扩展
17、性。可扩展性。SSL力图提供一个框架,确保新的公开密力图提供一个框架,确保新的公开密钥和重要的加密方法可以添加进去,这样不必因某些钥和重要的加密方法可以添加进去,这样不必因某些缺陷而建立新的协议,也不必在设计时建立一个完整缺陷而建立新的协议,也不必在设计时建立一个完整的安全库。的安全库。关联功能。因为加密倾向于使用高速关联功能。因为加密倾向于使用高速CPU,特别是公,特别是公钥加密运算,所以钥加密运算,所以SSL协议集成了一个可选的会话高协议集成了一个可选的会话高速缓冲模式,它能减少连接的数目和重新建立连接的速缓冲模式,它能减少连接的数目和重新建立连接的需要。需要。3. SSL 协议的结构协议
18、的结构SSL协议基于协议基于C/S模式,它由两层组成,分别是模式,它由两层组成,分别是握手握手协议层协议层和和记录协议层记录协议层。握手协议层主要是在双方进行。握手协议层主要是在双方进行正式的保密通信前,建立一个连接双方的安全通道。正式的保密通信前,建立一个连接双方的安全通道。其中主要是相互验证、协商加密算法、生成密钥、初其中主要是相互验证、协商加密算法、生成密钥、初始化向量等。记录协议层封装高层协议,具体实现压始化向量等。记录协议层封装高层协议,具体实现压缩缩/解压缩、加密解压缩、加密/解密、计算解密、计算MAC等与安全有关的操等与安全有关的操作。作。作为分层的协议,在每一层,消息可以包含长
19、度、描作为分层的协议,在每一层,消息可以包含长度、描述和内容字段。述和内容字段。SSL发出消息,先把数据分成可管理发出消息,先把数据分成可管理的块,压缩、加密并发出加密后的结果。接受消息就的块,压缩、加密并发出加密后的结果。接受消息就解密、验证、解压和重组,再把结果发往更高一层的解密、验证、解压和重组,再把结果发往更高一层的客户。客户。SSL协议可以独立于应用层协议,因此可以保证一个协议可以独立于应用层协议,因此可以保证一个建立在建立在SSL协议之上的应用协议能透明地传输数据。协议之上的应用协议能透明地传输数据。SSL协议在网络协议栈的位置如图所示。协议在网络协议栈的位置如图所示。SSL握手协
20、议的作用是在正式的秘密通信之前,让服握手协议的作用是在正式的秘密通信之前,让服务器和客户之间互相鉴别对方的身份并协商一种会话务器和客户之间互相鉴别对方的身份并协商一种会话的加密算法和加密密钥。的加密算法和加密密钥。(1) 客户端和服务器之间互相验证身份客户端和服务器之间互相验证身份主要是通过证书来验证,首先通过对方证书中权威发主要是通过证书来验证,首先通过对方证书中权威发证机构签字的验证,来确定对方拿的证书是否有效。证机构签字的验证,来确定对方拿的证书是否有效。如果证书有效,接着就从这个证书中提取出公钥,通如果证书有效,接着就从这个证书中提取出公钥,通过对方的签名验证用户是不是假冒的。如果二者
21、都通过对方的签名验证用户是不是假冒的。如果二者都通过,则证明对方的身份是真实可信的。其中服务器对过,则证明对方的身份是真实可信的。其中服务器对客户端的验证是可选的。客户端的验证是可选的。图图5.1 SSL协议层与协议层与TCP/IP 协议的关系图协议的关系图(2) 客户端和服务器之间协商安全参数客户端和服务器之间协商安全参数协商的参数一般包括协议的版本号、密钥交换算法、协商的参数一般包括协议的版本号、密钥交换算法、数据加密算法和数据加密算法和Hash算法。通过协商达成一致性。算法。通过协商达成一致性。版本号一般要求一致;关于密钥交换算法和数据加密版本号一般要求一致;关于密钥交换算法和数据加密算
22、法,是先由客户端向服务器端发送一个列表,其中算法,是先由客户端向服务器端发送一个列表,其中详细列举了客户端所支持的算法,然后由服务器端从详细列举了客户端所支持的算法,然后由服务器端从中选取自己支持且加密性能优的算法,将其返回给客中选取自己支持且加密性能优的算法,将其返回给客户端,至此完成了算法的协商;最后由客户端随机产户端,至此完成了算法的协商;最后由客户端随机产生一个用于数据加密的对称密钥,用一种商定好的密生一个用于数据加密的对称密钥,用一种商定好的密钥交换协议将它传给服务器端。钥交换协议将它传给服务器端。SSL记录协议对上层传来的数据加密压缩后传输。记录协议对上层传来的数据加密压缩后传输。
23、SSL协议可以建立在任何可靠的传输协议之上。记录协议可以建立在任何可靠的传输协议之上。记录层的作用是封装不同的高层协议,其中一个就是层的作用是封装不同的高层协议,其中一个就是SSL协议的另外一层协议的另外一层握手协议。握手协议。SSL协议是一个独立的协议,它对其上层协议是透明协议是一个独立的协议,它对其上层协议是透明的。的。SSL协议提供安全连接时有以下基本属性:协议提供安全连接时有以下基本属性:通信内容是保密的。在握手协议初始化连接以后,具通信内容是保密的。在握手协议初始化连接以后,具体的通信内容是使用对称密钥(例如用体的通信内容是使用对称密钥(例如用DES)进行加)进行加密。密。双方的验证
24、是使用非对称密钥。双方的验证是使用非对称密钥。连接是可靠的。消息传输时带有一个完整性校验。连接是可靠的。消息传输时带有一个完整性校验。2 SSL协议中的状态协议中的状态一个一个SSL会话是有状态的。会话是有状态的。SSL握手协议的责任是协握手协议的责任是协调客户端和服务器端的状态,因此允许每一个状态机调客户端和服务器端的状态,因此允许每一个状态机自行操作,而不用管这个状态是不是完全并行。逻辑自行操作,而不用管这个状态是不是完全并行。逻辑上,状态被表述两次,一次是当前操作状态,一次是上,状态被表述两次,一次是当前操作状态,一次是待定状态(在握手协议阶段)。待定状态(在握手协议阶段)。SSL定义状
25、态来实现定义状态来实现握手层协议协商的结果何时对记录层生效,客户和服握手层协议协商的结果何时对记录层生效,客户和服务器如何协调起来同时实施新的协商结果。务器如何协调起来同时实施新的协商结果。(1) 待定状态和当前状态待定状态和当前状态SSL用两个状态有效地实现了握手协议的协商结果对用两个状态有效地实现了握手协议的协商结果对记录层生效。记录层生效。待定状态,包含当前握手协议协商好的压缩、加密、待定状态,包含当前握手协议协商好的压缩、加密、计算计算MAC以及密钥等。以及密钥等。当前状态,包含记录层正在实施的压缩、加密、计算当前状态,包含记录层正在实施的压缩、加密、计算MAC以及密钥等。以及密钥等。
26、另外,保留了独立的读和写状态,当客户端或服务器另外,保留了独立的读和写状态,当客户端或服务器接到一个改变密码的说明消息时,它将把待定读状态接到一个改变密码的说明消息时,它将把待定读状态复制成当前读状态;当客户端或服务器发送一个改变复制成当前读状态;当客户端或服务器发送一个改变密码的说明消息时,它将把待定写状态复制成当前写密码的说明消息时,它将把待定写状态复制成当前写状态。当握手协商结束时,客户端和服务器交换改变状态。当握手协商结束时,客户端和服务器交换改变密码的说明消息,使用已商量好的新的密钥进行通信。密码的说明消息,使用已商量好的新的密钥进行通信。(2) 会话状态和连接状态会话状态和连接状态
27、 一个一个SSL会话可以包含多个安全连接,实体可以有多会话可以包含多个安全连接,实体可以有多个相似的会话。个相似的会话。每个会话状态包含以下元素:每个会话状态包含以下元素: 会话标识符一个由服务器选出的任意的字节序列,它会话标识符一个由服务器选出的任意的字节序列,它用来表示一个活动的或可恢复的状态。用来表示一个活动的或可恢复的状态。对等实体证书对等实体证书X.509 v3 证书,这个元素可以是空值。证书,这个元素可以是空值。压缩算法这个算法将预先的数据压缩成可加密的编码。压缩算法这个算法将预先的数据压缩成可加密的编码。加密规格说明指定应用数据的加密算法和加密规格说明指定应用数据的加密算法和MA
28、C算法。算法。也定义了加密属性。也定义了加密属性。主密钥一个在客户端和服务器间共享的主密钥一个在客户端和服务器间共享的48字节密钥。字节密钥。是否可恢复一个标志,表明这个会话是否是可恢复的。是否可恢复一个标志,表明这个会话是否是可恢复的。每个连接状态包含下列元素:每个连接状态包含下列元素: 服务器和客户端随机数是服务器和客户端为每一次连服务器和客户端随机数是服务器和客户端为每一次连接选择的一个字节长的数值。接选择的一个字节长的数值。服务器消息验证码密钥是服务器用来产生消息验证码服务器消息验证码密钥是服务器用来产生消息验证码的密钥。的密钥。客户端消息验证码密钥是客户端用来产生消息验证码客户端消息
29、验证码密钥是客户端用来产生消息验证码的密钥。的密钥。服务器写密钥这个较大的密钥是服务器端加密数据、服务器写密钥这个较大的密钥是服务器端加密数据、客户端解密时使用的。客户端解密时使用的。客户端写密钥这个较大的密钥是服务器端加密数据、客户端写密钥这个较大的密钥是服务器端加密数据、服务器解密时使用的。服务器解密时使用的。初始化向量当使用初始化向量当使用CBC模式进行数据加密时,有对模式进行数据加密时,有对应每一个密钥的初始化向量。这个字段在应每一个密钥的初始化向量。这个字段在SSL握手时握手时最先初始化。最先初始化。序号服务器和客户端,每一方都保存着各自的序号,序号服务器和客户端,每一方都保存着各自
30、的序号,以便在每次连接时传输和接收消息。当一方发送或接以便在每次连接时传输和接收消息。当一方发送或接收到一个收到一个change cipher spec消息,适当的序号就被置消息,适当的序号就被置零。序号是零。序号是unit 64类型的,不超过类型的,不超过264-1。SSL记录协议记录协议在在SSL中密所有的协议都要被封装在记录中。中密所有的协议都要被封装在记录中。SSL记录记录协议包括了对记录头和记录数据格式的规定。协议包括了对记录头和记录数据格式的规定。SSL记录头可以使用两个或三个字节长的编码,记录头可以使用两个或三个字节长的编码, 包含有包含有记录头的长度、记录数据长度、记录数据中是
31、否有粘贴记录头的长度、记录数据长度、记录数据中是否有粘贴数据。数据。SSL记录数据包含记录数据包含MAC数据、实际数据和粘贴数据三部数据、实际数据和粘贴数据三部分。分。MAC数据用于完整性检查。粘贴数据是在使用块加数据用于完整性检查。粘贴数据是在使用块加密算法时填充实际数据,密算法时填充实际数据, 使其长度恰好是块的整数倍。使其长度恰好是块的整数倍。SSL数据单元形成数据单元形成SSL 握手协议握手协议握手协议是握手协议是SSL中最复杂的协议。中最复杂的协议。 该协议允许该协议允许服务器和客户端相互验证、协商加密和服务器和客户端相互验证、协商加密和MAC算算法及密钥,法及密钥, 用来保护用来保
32、护SSL记录中发送的数据。记录中发送的数据。 握手协议在任何应用程序的的数据传输之前使握手协议在任何应用程序的的数据传输之前使用。用。 SSL握手协议包含两个阶段:握手协议包含两个阶段: 第一个阶段用于第一个阶段用于建立机密性通信信道;建立机密性通信信道; 第二个阶段用于客户认第二个阶段用于客户认证。证。机密通信信道建立机密通信信道建立第二阶段第二阶段第二阶段的主要任务是对客户进行认证。第二阶段的主要任务是对客户进行认证。 此时此时服务器已经被认证了,服务器已经被认证了, 服务器方向客户方发出服务器方向客户方发出认证请求消息认证请求消息requst- certificate. 当客户方收到当客
33、户方收到服务器方的认证请求消息时,服务器方的认证请求消息时, 发出自己的证书,发出自己的证书, 并监听对方回送的认证结果。而当服务器方收并监听对方回送的认证结果。而当服务器方收到客户方的认证时,到客户方的认证时, 认证成功返回认证成功返回server-finish 消息,消息, 否则返回错误消息。至此握手协议结束。否则返回错误消息。至此握手协议结束。第二阶段(续)第二阶段(续)SSL握手协议的认证算法采用数字证书标准,握手协议的认证算法采用数字证书标准, 使用使用RSA算法进行数字签名实现。算法进行数字签名实现。在第一阶段的认证时,在第一阶段的认证时, 只有正确的服务器方的只有正确的服务器方的
34、写密钥加密的写密钥加密的client_hello消息形成的数字签名,消息形成的数字签名, 才能被客户正确解密,从而验证服务器身份。才能被客户正确解密,从而验证服务器身份。反之亦然。反之亦然。 SSL 协议的运行步骤协议的运行步骤(1)接通阶段)接通阶段(2)码交换阶段:)码交换阶段: RSA非对称密钥非对称密钥 或或Diffe-hellman对称密钥对称密钥.(3)会谈密码阶段:产生交换会谈密码。)会谈密码阶段:产生交换会谈密码。(4)检验阶段)检验阶段(5)客户认证阶段)客户认证阶段(6)结束阶段)结束阶段Windows2000 中中SSL协议的配置与应用协议的配置与应用 (1)在)在Web
35、 服务器端安装支持服务器端安装支持SSL的的Web服务服务器证书;器证书;(2)在浏览器端安装支持)在浏览器端安装支持SSL的客户端证书的客户端证书(可选);(可选);(3)把)把URL中的中的“http:/” 更换为更换为“https:/”SSL信道的安全特性信道的安全特性私密性:在握手建立会话密钥之后,私密性:在握手建立会话密钥之后, 搜有数据搜有数据都被加密。都被加密。确认性:服务器端始终认证,确认性:服务器端始终认证, 客户端认证可选。客户端认证可选。可靠性:完整性检查。可靠性:完整性检查。根据应用场合不同,根据应用场合不同,SSL协议有多种应用模式。协议有多种应用模式。1. 匿名匿名
36、SSL连接连接就是使用就是使用SSL安全连接的最基本模式安全连接的最基本模式仅对服务器仅对服务器端验证,使用户知道自己连接的是可靠的服务器。例端验证,使用户知道自己连接的是可靠的服务器。例如,用户在网站进行注册时,为防止私人信息泄露,如,用户在网站进行注册时,为防止私人信息泄露,匿名匿名SSL连接该网站。但是服务器不确定用户的身份,连接该网站。但是服务器不确定用户的身份,主要是确保用户的信息保密。主要是确保用户的信息保密。3. SSL应用应用2. 对等安全服务对等安全服务 通信双方都可以发起和接收通信双方都可以发起和接收SSL“连接连接”请求,既是请求,既是服务器又是客户端。通信双方可以是应用
37、程序、安全服务器又是客户端。通信双方可以是应用程序、安全协议代理服务器等。它是一种类似协议代理服务器等。它是一种类似VPN的应用,双方的应用,双方的内部通信可以不用安全协议,中间的公用网部分用的内部通信可以不用安全协议,中间的公用网部分用SSL协议连接。其中,安全协议代理服务器相当于一协议连接。其中,安全协议代理服务器相当于一个加密个加密/解密网关,把内部对外部网络的访问转换为解密网关,把内部对外部网络的访问转换为SSL数据包,接收时把数据包,接收时把SSL包解密。包解密。其特点是不用为每一主机申请数字标识,简化了数字其特点是不用为每一主机申请数字标识,简化了数字ID的管理和使用。的管理和使用
38、。3. 电子商务电子商务在电子商务中,需要三方(顾客、商家和银行)参与在电子商务中,需要三方(顾客、商家和银行)参与到交易中。一般情况是顾客到商家买东西,向商家报到交易中。一般情况是顾客到商家买东西,向商家报出信用卡号码,商家向银行查询信用卡信息,信用卡出信用卡号码,商家向银行查询信用卡信息,信用卡有效才可继续交易。此过程中,可用有效才可继续交易。此过程中,可用SSL保证数据传保证数据传输的安全性。结合上面介绍的两种应用,网上交易的输的安全性。结合上面介绍的两种应用,网上交易的安全方案如图所示。安全方案如图所示。在完善的电子商务协议使用之前,这种应用提供了一在完善的电子商务协议使用之前,这种应
39、用提供了一种实现网上支付所需的基本安全保护。种实现网上支付所需的基本安全保护。图图5.4 网上交易安全方案网上交易安全方案SSL提供的安全服务提供的安全服务SSL协议的协议的特点特点:(1) 基于基于Interent, 能使客户机和服务器之间的通信能使客户机和服务器之间的通信不被攻击者窃听。不被攻击者窃听。(2)始终对服务器进行认证,)始终对服务器进行认证, 对客户机认证可选。对客户机认证可选。(3)建立在传输层协议上,)建立在传输层协议上, 与应用层协议无关。与应用层协议无关。 高层高层应用协议透明地建立在应用协议透明地建立在SSL协议上。协议上。(4)在应用层通信之前就完成了加密算法、通信
40、密钥)在应用层通信之前就完成了加密算法、通信密钥的协商以及服务器认证。此后的应用层协传送的所有数的协商以及服务器认证。此后的应用层协传送的所有数据都被加密,据都被加密, 保证的数据的私密性。保证的数据的私密性。SSL的安全服务的安全服务(1)加密数据:隐藏被传送数据的私密性。)加密数据:隐藏被传送数据的私密性。(2)维护数据完整性:)维护数据完整性: 利用密码算法和利用密码算法和HASH函数确保数据完整。函数确保数据完整。(3)用户认证和服务器认证。利用证书技术和)用户认证和服务器认证。利用证书技术和CA认证中心,认证中心, 保证数据的合法性。保证数据的合法性。5.3 信用卡交易的安全电子协议
41、信用卡交易的安全电子协议SET 协议为协议为VISA国际组织和其它公司如国际组织和其它公司如Microsoft、IBM等联合制定。它克服了等联合制定。它克服了SSL的缺点,以满足电子交的缺点,以满足电子交易不断增长的安全要求。易不断增长的安全要求。SET是为在线交易而设立的开放的的、以电子货币为基是为在线交易而设立的开放的的、以电子货币为基础的电子付款系统规范。础的电子付款系统规范。SET在保留对客户信用卡认证的前提下,在保留对客户信用卡认证的前提下, 又增加了对商又增加了对商家身份的认证。家身份的认证。SET得到了公司和消费者的广泛支持,得到了公司和消费者的广泛支持, 将成为全球网络将成为全
42、球网络的工业标准和电子商务规范。的工业标准和电子商务规范。许多电子商务的解决方案中使用许多电子商务的解决方案中使用SSL来保证数据传输来保证数据传输的安全,但是的安全,但是SSL还存在一些问题。比如缺乏安全认还存在一些问题。比如缺乏安全认证机构,无法确定参与交易人员的身份,商家和收单证机构,无法确定参与交易人员的身份,商家和收单银行缺乏标准的数据传输界面,交易资料不能很方便银行缺乏标准的数据传输界面,交易资料不能很方便地整合,消费者资料还有可能被商家非法利用。地整合,消费者资料还有可能被商家非法利用。SET概述概述因此,为了克服因此,为了克服SSL应用的缺点,两大信用卡组织应用的缺点,两大信用
43、卡组织Visa和和MasterCard联合开发了联合开发了SET (Security Electric Transaction,安全电子交易系统,安全电子交易系统)。这是为了。这是为了在在Internet上进行在线交易而设立的一个开放的以电上进行在线交易而设立的一个开放的以电子货币为基础的电子付款系统规范。子货币为基础的电子付款系统规范。SET在保留对客在保留对客户信用卡认证的前提下,又增加了对商家身份的认证,户信用卡认证的前提下,又增加了对商家身份的认证,这对于需要支付货币的交易来讲是至关重要的。由于这对于需要支付货币的交易来讲是至关重要的。由于设计合理,设计合理,SET协议获得了协议获得了
44、IETF的认可。安全电子的认可。安全电子交易是基于交易是基于Internet的卡基支付,是授权业务信息传的卡基支付,是授权业务信息传输的安全标准。输的安全标准。它采用它采用RSA公开密钥体系对通信双方进行认证,利用公开密钥体系对通信双方进行认证,利用DES、RC4或任何标准对称加密方法进行信息的加密或任何标准对称加密方法进行信息的加密传输,并用传输,并用Hash算法来鉴别消息真伪、有无篡改。算法来鉴别消息真伪、有无篡改。在在SET体系中有一个关键的认证机构(体系中有一个关键的认证机构(CA),),CA根根据标准发布和管理证书。据标准发布和管理证书。SET的主要目的是建立一整的主要目的是建立一整
45、套标准的、基于银行卡的套标准的、基于银行卡的Internet上电子交易机制。上电子交易机制。在这套机制的保证下,交易的参与者在这套机制的保证下,交易的参与者消费者、商消费者、商家和银行之间能够形成广泛而一致的交易关系。交易家和银行之间能够形成广泛而一致的交易关系。交易的一致性是指在一笔具体的交易中参与者之间各司其的一致性是指在一笔具体的交易中参与者之间各司其职,密不可分;交易的广泛性则是指在任意时间和任职,密不可分;交易的广泛性则是指在任意时间和任意地点,消费者可以和任意的商家、银行发生交易。意地点,消费者可以和任意的商家、银行发生交易。自从发布以来,自从发布以来,IBM率先在其电子商务套件率
46、先在其电子商务套件Commerce Point中使用了中使用了SET规范,规范,Commerce Point目前已在全球很多地方应用。著名的目前已在全球很多地方应用。著名的VeriFone公司也提供了与公司也提供了与SET兼容的电子商务套件兼容的电子商务套件(vWallet、vPOS、vGate),vGate已经安装到了很多银行中,已经安装到了很多银行中,vPOS也已在很多也已在很多Internet在线商家得到应用。微软的在线商家得到应用。微软的IE已经加入了已经加入了SET兼容的兼容的MS Wallet(电子钱包电子钱包),同,同时微软宣称将来要将其加入到时微软宣称将来要将其加入到Windo
47、ws的核心中。除的核心中。除此之外,符合此之外,符合SET规范的产品还有规范的产品还有CyberCash、Globalset、TrinTech、Tellan、DigiCash、OpenMarket等。随着电子商务的飞速发展,符合等。随着电子商务的飞速发展,符合SET规范的产品会越来越多,规范的产品会越来越多,SET也必将会成为未来也必将会成为未来电子商务的基础。电子商务的基础。SET 协议的功能协议的功能SET 协议主要为解决持卡人、商家和银行之间通过信用协议主要为解决持卡人、商家和银行之间通过信用卡来进行网上支付的交易而设计的,卡来进行网上支付的交易而设计的, 旨在保证支付信息旨在保证支付信
48、息的机密性、支付过程的完整性、商家以及持卡人身份的的机密性、支付过程的完整性、商家以及持卡人身份的合法性以及可操作性。合法性以及可操作性。SET安全技术主要采用了公开密安全技术主要采用了公开密钥体制加密、数字签名、电子数字证书等。钥体制加密、数字签名、电子数字证书等。 SET能在电能在电子交易环节上提供更大的信任度、更完整的企业信息、子交易环节上提供更大的信任度、更完整的企业信息、更高的安全性和更少受欺诈的可能性。更高的安全性和更少受欺诈的可能性。5.3.1 SET 协议的主要安全目标协议的主要安全目标(1)保证电子商务参与者信息的相互隔离。客户的资)保证电子商务参与者信息的相互隔离。客户的资
49、料加密或打包后越过商家到达银行,料加密或打包后越过商家到达银行, 商家不能看到客户商家不能看到客户的帐户和密码信息。的帐户和密码信息。(2)保证信息在)保证信息在Internt上安全传输,上安全传输, 防止数据被黑客防止数据被黑客或内部人员窃取。或内部人员窃取。(3)解决了多方认证问题。不仅对消费者的信用卡认)解决了多方认证问题。不仅对消费者的信用卡认证,证, 而且对在线商店的信誉度认证。同时还有消费者、而且对在线商店的信誉度认证。同时还有消费者、在线商店与银行间的认证。在线商店与银行间的认证。SET 协议的主要安全目标(续)协议的主要安全目标(续)(4)保证了网上交易的实时性,)保证了网上交
50、易的实时性, 使所有的支付使所有的支付过程都是在线的。过程都是在线的。(5)规范协议和消息格式,)规范协议和消息格式, 促使不同商家开发促使不同商家开发的软件具有兼容性和互操作性。并且可以运行的软件具有兼容性和互操作性。并且可以运行在不同的硬件和操作系统平台上。在不同的硬件和操作系统平台上。5.3.2 SET 协议提供的安全服务协议提供的安全服务 (1)确保在支付系统中支付信息和订购信息的)确保在支付系统中支付信息和订购信息的安全性;安全性;(2)确保数据在传输过程中的的完整性,即确)确保数据在传输过程中的的完整性,即确保数据在传输过程中不被破坏;保数据在传输过程中不被破坏;(3)对持卡者身份
51、的合法性进行检查;)对持卡者身份的合法性进行检查;(4)对支付接收方(即商家的身份)的合法性)对支付接收方(即商家的身份)的合法性进行检查;进行检查;SET 协议提供的安全服务(续)协议提供的安全服务(续)(5)提供最优的安全系统,以保护在电子交易)提供最优的安全系统,以保护在电子交易中的的合法用户;中的的合法用户;(6)确保该协议不依赖于传输安全技术,)确保该协议不依赖于传输安全技术, 也不也不限定任何安全技术的使用;限定任何安全技术的使用;(7)使通过网络和相应的软件所进行的交互作)使通过网络和相应的软件所进行的交互作业简便易行。业简便易行。SET的缺陷的缺陷协议没有说明收单银行在付给在线
52、商店之前是否必须受协议没有说明收单银行在付给在线商店之前是否必须受到消费者的货物接受证书,如果在线商店提供的货物不到消费者的货物接受证书,如果在线商店提供的货物不符合质量标准,符合质量标准, 消费者提出异议,消费者提出异议, 责任由谁承担。责任由谁承担。(2)没有担保)没有担保“非拒绝行为非拒绝行为”。在线商店没有办法证。在线商店没有办法证明是由签署证书的、讲信用的消费者发出的。明是由签署证书的、讲信用的消费者发出的。(3)SET没有提及在事务处理完成后如何安全保存和销没有提及在事务处理完成后如何安全保存和销毁此类数据,并不受到以后的潜在攻击。毁此类数据,并不受到以后的潜在攻击。SET协议的使
53、用范围限制在电子购物过程中的支付过协议的使用范围限制在电子购物过程中的支付过程和安全服务。程和安全服务。SET是针对用卡支付的网上交易而设是针对用卡支付的网上交易而设计的支付规范,对不用卡支付的交易方式,像货到付计的支付规范,对不用卡支付的交易方式,像货到付款方式、邮局汇款方式则与款方式、邮局汇款方式则与SET无关,像网上商店的无关,像网上商店的页面安排、保密数据在购买者计算机上如何保存等,页面安排、保密数据在购买者计算机上如何保存等,也与也与SET无关。图描述了网上交易的安全方案。无关。图描述了网上交易的安全方案。SET的基本概念的基本概念图图5.5 网上交易的安全方案网上交易的安全方案SE
54、T协议中的角色有:协议中的角色有: 持卡人:电子商务中的一般消费者,包括个人和团体持卡人:电子商务中的一般消费者,包括个人和团体消费者。持卡人通过计算机网络与商家交易,并通过消费者。持卡人通过计算机网络与商家交易,并通过由发卡机构颁发的付款卡进行结算。在持卡人和商家由发卡机构颁发的付款卡进行结算。在持卡人和商家的交易会话中,的交易会话中,SET可以保证持卡人的个人账号信息可以保证持卡人的个人账号信息的真实性,并保证其不被泄露给商家。的真实性,并保证其不被泄露给商家。发卡银行(发卡银行(Issuer):它是一个金融机构,为每一个):它是一个金融机构,为每一个建立了账户的顾客颁发付款卡,发卡银行根
55、据不同品建立了账户的顾客颁发付款卡,发卡银行根据不同品牌卡的规定和政策,保证对每一笔认证交易的付款。牌卡的规定和政策,保证对每一笔认证交易的付款。在线交易的商家在发卡银行开立账号,并且处理支付在线交易的商家在发卡银行开立账号,并且处理支付卡的认证和支付。在交易过程中,发卡银行与收单银卡的认证和支付。在交易过程中,发卡银行与收单银行之间进行付款授权和账务结算。行之间进行付款授权和账务结算。收单银行:负责授权和管理参与交易的商家,并处理收单银行:负责授权和管理参与交易的商家,并处理交易的付款卡授权申请和交易款项。交易的付款卡授权申请和交易款项。商家:提供商品或服务。使用商家:提供商品或服务。使用S
56、ET,就可以保证持卡,就可以保证持卡人个人信息的安全。接受卡支付的商家必须和银行有人个人信息的安全。接受卡支付的商家必须和银行有关系。关系。支付网关:是由银行操作的,将支付网关:是由银行操作的,将Internet上的传输数上的传输数据转换为金融机构内部数据的设备,或由指派的第三据转换为金融机构内部数据的设备,或由指派的第三方处理商家支付信息和顾客的支付指令。方处理商家支付信息和顾客的支付指令。认证中心:负责管理电子证书的认证。认证中心:负责管理电子证书的认证。电子钱包:电子钱包是一个支持电子钱包:电子钱包是一个支持SET标准的计算机软标准的计算机软件,用来让消费者进行电子交易与储存交易记录。消
57、件,用来让消费者进行电子交易与储存交易记录。消费者在网络上进行在线购物或其他电子交易前,需先费者在网络上进行在线购物或其他电子交易前,需先在个人计算机中安装电子钱包。电子钱包的功能为,在个人计算机中安装电子钱包。电子钱包的功能为,管理电子证书的申请、储存及删除,进行管理电子证书的申请、储存及删除,进行SET交易时交易时辨认商家身份并发送交易信息,保存每一笔交易记录辨认商家身份并发送交易信息,保存每一笔交易记录以供日后查询。以供日后查询。SET规范要达到的主要目标是保证信息在规范要达到的主要目标是保证信息在Internet上上的安全传输,保证网上传输的数据不被黑客窃听;将的安全传输,保证网上传输
58、的数据不被黑客窃听;将订单信息和个人账号信息隔离,在将包括持卡人账号订单信息和个人账号信息隔离,在将包括持卡人账号信息的订单送到商家时,商家只能看到订货信息,而信息的订单送到商家时,商家只能看到订货信息,而看不到持卡人的账户信息;提供持卡人和商家相互认看不到持卡人的账户信息;提供持卡人和商家相互认证,以确定通信双方的身份(一般由第三方机构负责证,以确定通信双方的身份(一般由第三方机构负责为在线通信双方提供信用担保);要求软件遵循相同为在线通信双方提供信用担保);要求软件遵循相同的协议和消息格式,使不同厂家开发的软件具有兼容的协议和消息格式,使不同厂家开发的软件具有兼容性和互操作功能,并且可以运
59、行在不同的硬件和操作性和互操作功能,并且可以运行在不同的硬件和操作系统平台上。系统平台上。SET规范涉及的范围包括:规范涉及的范围包括:加密算法的应用加密算法的应用(例如例如RSA和和DES);证书信息和对象格式;证书信息和对象格式;购买信息和对象格式;购买信息和对象格式;认证信息和对象格式;认证信息和对象格式;划账信息和对象格式;划账信息和对象格式;交易实体之间消息的传输协议。交易实体之间消息的传输协议。SET提供的安全服务主要如下:提供的安全服务主要如下:机密性:机密性:SET使用加密算法来保护金融信息的机密性,使用加密算法来保护金融信息的机密性,可以在收单银行和持卡人之间提供机密信息的传
60、输通可以在收单银行和持卡人之间提供机密信息的传输通道,用于收单银行回复持卡人交易是否被接受,或者道,用于收单银行回复持卡人交易是否被接受,或者要求持卡人与发卡银行联系。要求持卡人与发卡银行联系。认证:当数字证书可用时,认证:当数字证书可用时,SET使用证书中的签名来使用证书中的签名来验证相关实体的身份,并提供信息来源的认证。验证相关实体的身份,并提供信息来源的认证。完整性:利用单向完整性:利用单向Hash算法和数字签名可以保证信算法和数字签名可以保证信息在传输过程中未被篡改。息在传输过程中未被篡改。关联:关联:SET通过通过Hash算法提供一个关联机制,用来算法提供一个关联机制,用来验证一个消
61、息包含指向另一个消息的参考证明。验证一个消息包含指向另一个消息的参考证明。非否认:非否认:SET没有提供非否认服务,但建议由发卡银没有提供非否认服务,但建议由发卡银行与开发机构一起来制定相关政策。行与开发机构一起来制定相关政策。对于持卡者,签字证书将公钥绑定到持卡者主要账号对于持卡者,签字证书将公钥绑定到持卡者主要账号(Primary Account Number,PAN)上,)上,PAN只能只能由由CCA、持卡者、发卡行还原出来。持卡者将账号、持卡者、发卡行还原出来。持卡者将账号和其他机密信息发向收单行,收单行根据持卡者证书和其他机密信息发向收单行,收单行根据持卡者证书来验证账号。为了保护持
62、卡者的机密性,持卡者的姓来验证账号。为了保护持卡者的机密性,持卡者的姓名不在证书中。实际上,加密后的账号是持卡者的一名不在证书中。实际上,加密后的账号是持卡者的一个假名。个假名。为防止假冒的为防止假冒的CA,签字证书的,签字证书的CA是由更高层的是由更高层的CA来验证的,只有根来验证的,只有根CA必须直接信任。必须直接信任。其中证书的主要类型如下:其中证书的主要类型如下:(1) 持卡者证书持卡者证书收单行的一个功能是保证签署支付的私钥与正确的支收单行的一个功能是保证签署支付的私钥与正确的支付卡账户对应。为避免泄露持卡者的付卡账户对应。为避免泄露持卡者的PAN给第三者,给第三者,账号采用密钥账号
63、采用密钥-Hash机制来加密。机制来加密。SET结构允许持卡结构允许持卡者不用签字证书来处理者不用签字证书来处理SET交易,这是一个临时可选交易,这是一个临时可选方式,仅当持卡者的发卡行不提供证书服务时才使用方式,仅当持卡者的发卡行不提供证书服务时才使用该方式。收单行可以选择是否支持该选项,在收单行该方式。收单行可以选择是否支持该选项,在收单行的支付网关证书中的一个标志指明了是否支持无证书的支付网关证书中的一个标志指明了是否支持无证书的持卡者交易。的持卡者交易。(2) 商家证书商家证书一个商家至少具有两个密钥对来参与一个商家至少具有两个密钥对来参与SET交易。也可交易。也可能还有其他密钥对。商
64、家需要的证书数量与商家的加能还有其他密钥对。商家需要的证书数量与商家的加密和签字密钥对数量、商家连接的支付网关的数量、密和签字密钥对数量、商家连接的支付网关的数量、申请商家的品牌数量有关,其中主要与商家连接的支申请商家的品牌数量有关,其中主要与商家连接的支付网关的数量有关。最简单时,商家只与一个支付网付网关的数量有关。最简单时,商家只与一个支付网关有接口来处理所有品牌,也可能与多个支付网关有关有接口来处理所有品牌,也可能与多个支付网关有接口。另外,收单行可能操作多个网关来达到负载平接口。另外,收单行可能操作多个网关来达到负载平衡。衡。SET允许收单行将持卡者信息用商家密钥加密后允许收单行将持卡
65、者信息用商家密钥加密后发回商家,该功能由商家证书指明,该选项使商家能发回商家,该功能由商家证书指明,该选项使商家能够使用与品牌无关的清算机制。够使用与品牌无关的清算机制。(3) 支付网关证书支付网关证书支付网关需要如下两个密钥对:支付网关需要如下两个密钥对:一个签字对,用于签字和验证提供给持卡者和商家的一个签字对,用于签字和验证提供给持卡者和商家的消息。消息。一个加密密钥交换的密钥对,用于保护持卡者和商家一个加密密钥交换的密钥对,用于保护持卡者和商家的支付指示。的支付指示。(4) 证书链确认证书链确认证书是通过一个信任链来确认的。每个证书与一个证证书是通过一个信任链来确认的。每个证书与一个证书
66、发行实体的签字证书相连。证书是通过一直到根书发行实体的签字证书相连。证书是通过一直到根CA的信任层次来验证的,验证证书的路径称为证书的信任层次来验证的,验证证书的路径称为证书链。每个证书的确认强制在所有链的层次上。链。每个证书的确认强制在所有链的层次上。(5) 品牌的证书注销列表标识品牌的证书注销列表标识每个品牌有责任管理自己域内的每个品牌有责任管理自己域内的CRL。SET结构引入结构引入品牌证书注销列表标识(品牌证书注销列表标识(Brand CRL,BCL)。一)。一个个BCL由品牌数字签字,用于识别持卡者、商家、支由品牌数字签字,用于识别持卡者、商家、支付网关、付网关、CA系统的系统的SE
67、T的的CRL。每个。每个BCL有一个序有一个序列号和有效期、列号和有效期、BCL标识品牌和品牌的标识品牌和品牌的CA主体名字。主体名字。表列出了表列出了SET CA实体的类型和原因。实体的类型和原因。1 基本流程基本流程电子商务工作流程与传统的购物流程非常相似,这使电子商务工作流程与传统的购物流程非常相似,这使得电子商务与传统商务很容易融合。除了必须掌握必得电子商务与传统商务很容易融合。除了必须掌握必要的网络操作技能外,消费者在操作方式上也没有什要的网络操作技能外,消费者在操作方式上也没有什么障碍。从消费者通过浏览器进入在线商家开始,一么障碍。从消费者通过浏览器进入在线商家开始,一直到所订货物
68、送货上门或所定服务完成,消费者账号直到所订货物送货上门或所定服务完成,消费者账号上款项的转移,所有这些都是通过上款项的转移,所有这些都是通过Internet完成的。完成的。SET协议的工作程序分为下面协议的工作程序分为下面7个步骤(如图所示个步骤(如图所示)。SET支付处理流程支付处理流程图图5.6 SET系统系统运行的运行的7个步骤个步骤(1)消费者利用已有的计算机通过)消费者利用已有的计算机通过Interent 选选定商品,定商品, 并下电子订单;并下电子订单;(2)通过电子商务服务器与网上商场联系,)通过电子商务服务器与网上商场联系, 网网上商场作出应答,上商场作出应答, 告诉消费者订单
69、的相关情况;告诉消费者订单的相关情况;(3)消费者选择付款方式,)消费者选择付款方式, 确认订单、签发付确认订单、签发付款指令(款指令(SET开始介入);开始介入);SET运行的运行的7个步骤(续)个步骤(续)(4)在)在SET中消费者必须对订单和付款指令进行数字签中消费者必须对订单和付款指令进行数字签名,名, 同时利用双重签名技术保证商家看不到消费者的帐同时利用双重签名技术保证商家看不到消费者的帐号信息;号信息;(5)在线商店接受订单后,)在线商店接受订单后, 向消费者所在银行请求支向消费者所在银行请求支付认可,付认可, 信息通过支付网关到收单银行,信息通过支付网关到收单银行, 再到电子货再
70、到电子货币发行公司确认,批准交易后,币发行公司确认,批准交易后, 返回确认信息给在线商返回确认信息给在线商店。店。(6)在线商店发送订单确认信息给消费者,)在线商店发送订单确认信息给消费者, 消费者端消费者端软件可以记录交易日志,软件可以记录交易日志, 以备将来查询。以备将来查询。SET运行的运行的7个步骤(续个步骤(续2)(7)在线商店发送货物或提供服务,)在线商店发送货物或提供服务, 并通知收并通知收单银行将钱从消费者的帐号转移到商店帐号,单银行将钱从消费者的帐号转移到商店帐号, 或通知发卡银行请求支付。或通知发卡银行请求支付。SET从第三步开始直至最后。在此过程中,从第三步开始直至最后。
71、在此过程中, SET对通信协议、请求信息的格式、数据类型定对通信协议、请求信息的格式、数据类型定义等都有明确的规定。并且都要通过义等都有明确的规定。并且都要通过CA进行认进行认证。以保证信息的机密性和真实性。证。以保证信息的机密性和真实性。前两步与前两步与SET无关,从第三步开始无关,从第三步开始SET起作用,一直起作用,一直到第六步,到第六步,SET对处理过程中通信协议、请求信息的对处理过程中通信协议、请求信息的格式、数据类型的定义等,都有明确的规定。在操作格式、数据类型的定义等,都有明确的规定。在操作的每一步,持卡人、在线商家、支付网关都通过的每一步,持卡人、在线商家、支付网关都通过CA来
72、验证通信主体的身份,以确保通信的对方不是冒名来验证通信主体的身份,以确保通信的对方不是冒名顶替。所以,也可以简单地认为,顶替。所以,也可以简单地认为,SET规范充分发挥规范充分发挥了认证中心的作用,以维护在任何开放网络上的电子了认证中心的作用,以维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。商务参与者所提供信息的真实性和保密性。其中,电子钱包及电子证书核发流程如下:其中,电子钱包及电子证书核发流程如下: 持卡人填送持卡人填送SET协议书至发卡银行。协议书至发卡银行。 发卡银行审核通过后,寄发电子钱包及相关须知发卡银行审核通过后,寄发电子钱包及相关须知给持卡人。给持卡人。 发卡
73、银行传送持卡人认证资料至认证中心以供其发卡银行传送持卡人认证资料至认证中心以供其核对。核对。 持卡人通过持卡人通过Internet连线到认证中心的网址,提出连线到认证中心的网址,提出证书申请。证书申请。 使用者阅读并接受认证中心的合约书后,进入认使用者阅读并接受认证中心的合约书后,进入认证注册,填写基本资料及发卡银行提供的密码,并传证注册,填写基本资料及发卡银行提供的密码,并传回认证中心确认。回认证中心确认。 认证中心将持卡人的认证资料与发卡行送来的资认证中心将持卡人的认证资料与发卡行送来的资料核对无误后,发出一张电子证书给持卡人。料核对无误后,发出一张电子证书给持卡人。 同时认证中心提供核发
74、电子证书的资料给发卡银同时认证中心提供核发电子证书的资料给发卡银行。行。安全协议的对象安全协议的对象消费者:包括团体消费者和个人消费者。包括团体消费者和个人消费者。在线商店:提供商品或服务,:提供商品或服务, 具备相应电子货币使用的具备相应电子货币使用的条件。条件。收单银行:通过支付网关处理消费者和在线商店之间的:通过支付网关处理消费者和在线商店之间的付款问题。付款问题。电子货币:(如智能卡、电子现金、电子钱包)发行公(如智能卡、电子现金、电子钱包)发行公司。某些建有电子货币发行的的银行。司。某些建有电子货币发行的的银行。 负责处理智能卡负责处理智能卡的审核和支付工作。的审核和支付工作。认证中
75、心:负责双方身份的身份确认。对商家得信誉度负责双方身份的身份确认。对商家得信誉度和支付手段进行认证。和支付手段进行认证。 SET 的安全措施的安全措施1. 通过加密保证数据的机密性通过加密保证数据的机密性2. 应用数字签名技术进行鉴别应用数字签名技术进行鉴别3.使用使用X.509V3 数字证书来提供信任数字证书来提供信任4. 应用散列函数保证数据完整性应用散列函数保证数据完整性SET加密处理加密处理SET消息中常用以下的加密处理和操作:消息中常用以下的加密处理和操作:发送消息;发送消息;接收消息;接收消息;证书链验证;证书链验证;指纹;指纹;用签名的简单封装;用签名的简单封装;用签名和私用密钥
76、的简单封装;用签名和私用密钥的简单封装;用签名的额外封装;用签名的额外封装;采用签名和负载的简单密封;采用签名和负载的简单密封;采用签名和负载的额外封装;采用签名和负载的额外封装;非对称加密;非对称加密; 完整性的非对称加密;完整性的非对称加密;扩展非对称加密;扩展非对称加密;完整性的扩展非对称加密;完整性的扩展非对称加密;对称加密;对称加密;签名;签名;仅签名;仅签名;密钥密钥Hash;散列;散列;摘要数据;摘要数据;链接;链接;最优非对称加密填充。最优非对称加密填充。1. SET的加密技术的加密技术目前使用的加密方法主要有两类:对称密钥加密系统目前使用的加密方法主要有两类:对称密钥加密系统
77、和公开密钥加密系统,和公开密钥加密系统,SET的加密处理中,就使用了的加密处理中,就使用了这两种方法。这两种方法。SET将对称密钥的快速、低成本和公开将对称密钥的快速、低成本和公开密钥的有效性完美地结合在一起。密钥的有效性完美地结合在一起。2. SET的认证的认证SET安全性分析安全性分析网上的两个人要谈一笔交易,每一个人都要鉴别对方网上的两个人要谈一笔交易,每一个人都要鉴别对方是否可信,例如,客户是否可信,例如,客户A收到了带有客户收到了带有客户B数字签名数字签名的一封信,用属于客户的一封信,用属于客户B的公钥解密。一种确定公钥的公钥解密。一种确定公钥属于客户属于客户B的办法就是,通过秘密途
78、径接收由客户的办法就是,通过秘密途径接收由客户B亲自送来的公钥,显然在实际中,这种办法是不现实亲自送来的公钥,显然在实际中,这种办法是不现实的。一个可行的办法就是,由一个大家都相信的第三的。一个可行的办法就是,由一个大家都相信的第三方来验证公钥确实属于客户方来验证公钥确实属于客户B。例如,持卡人要与商。例如,持卡人要与商家通信,持卡人从公开媒体上获得了商家的公开密钥,家通信,持卡人从公开媒体上获得了商家的公开密钥,但持卡人无法确定商家不是冒充的,于是持卡人请求但持卡人无法确定商家不是冒充的,于是持卡人请求CA对商家认证,对商家认证,CA对商家进行调查、验证和鉴别后,对商家进行调查、验证和鉴别后
79、,将包含商家公钥的证书传给持卡人。同样,商家也可将包含商家公钥的证书传给持卡人。同样,商家也可对持卡人进行验证。对持卡人进行验证。在在SET中使用的证书类型主要如下:中使用的证书类型主要如下:(1)证书)证书在做交易时,向对方提交一个由在做交易时,向对方提交一个由CA签发的包含个人签发的包含个人身份的证书,使对方相信自己的身份。消费者向身份的证书,使对方相信自己的身份。消费者向CA申请证书时,可提交自己的驾驶执照、身份证或护照,申请证书时,可提交自己的驾驶执照、身份证或护照,经验证后,颁发证书,证书包含了消费者的名字和他经验证后,颁发证书,证书包含了消费者的名字和他的公钥,以此作为网上证明自己
80、身份的依据。在的公钥,以此作为网上证明自己身份的依据。在SET中,最主要的证书是持卡人证书和商家证书。中,最主要的证书是持卡人证书和商家证书。(2)持卡人证书)持卡人证书它实际上是支付卡的一种电子化表示。由于它是由金它实际上是支付卡的一种电子化表示。由于它是由金融机构以数字化形式签发的,因此不能随意改变。持融机构以数字化形式签发的,因此不能随意改变。持卡人证书并不包括账号和终止日期信息,取而代之的卡人证书并不包括账号和终止日期信息,取而代之的是用单向是用单向Hash算法,根据账号、截止日期生成的一算法,根据账号、截止日期生成的一个码,如果知道账号、截止日期、密码值,即可导出个码,如果知道账号、
81、截止日期、密码值,即可导出这个码值,反之不行。这个码值,反之不行。(3)商家证书)商家证书做一个形象的比喻,商家证书就像是贴在商家收款台做一个形象的比喻,商家证书就像是贴在商家收款台小窗上的付款卡图案,以表示它可以用什么卡来结算。小窗上的付款卡图案,以表示它可以用什么卡来结算。它是由金融机构签发的,不能被第三方改变。在它是由金融机构签发的,不能被第三方改变。在SET环境中,一个商家至少应有一对证书,与一个银行打环境中,一个商家至少应有一对证书,与一个银行打交道,一个商家也可以有多对证书,表示它与多个银交道,一个商家也可以有多对证书,表示它与多个银行有合作关系,可以接受多种付款方法。行有合作关系
82、,可以接受多种付款方法。除了持卡人证书和商家证书以外,还有支付网关证书、除了持卡人证书和商家证书以外,还有支付网关证书、银行证书、发卡机构证书。银行证书、发卡机构证书。3. SET的安全性的安全性为了满足在为了满足在Internet和其他网络上信用卡安全支付的和其他网络上信用卡安全支付的要求,要求,SET协议保证了信息的机密性、数据的完整性协议保证了信息的机密性、数据的完整性和交易方身份的认证。和交易方身份的认证。(1)信息的机密性)信息的机密性 SET协议中传输的信息都进行了加密处理。如为了保协议中传输的信息都进行了加密处理。如为了保证客户信用卡信息不被商家非法获取,证客户信用卡信息不被商家
83、非法获取,SET协议提供协议提供了订购和支付消息的机密性,使商家只能看到订购信了订购和支付消息的机密性,使商家只能看到订购信息,不能看到用户的信用卡信息,信用卡信息只有银息,不能看到用户的信用卡信息,信用卡信息只有银行可以看到。行可以看到。SET协议的对称加密操作,采用协议的对称加密操作,采用DES或商用数据隐蔽或商用数据隐蔽设备(设备(Commercial Data Mashing Facility,CDMF)。)。DES是用于保护金融信息的默认对称数据是用于保护金融信息的默认对称数据加密算法。在加密算法。在SET协议中,使用一个协议中,使用一个SET加密机密操加密机密操作前,使用作前,使用
84、CDMF进行密钥传输。进行密钥传输。(2)数据的完整性)数据的完整性SET使用数字签名来保证数据的完整性。使用数字签名来保证数据的完整性。SET使用安使用安全全Hash算法(算法(Secure Hash Algorithm,SHA-l)的)的RSA数字签名,数字签名,SHA-1对于任意长度的消息都生成一对于任意长度的消息都生成一个个160位的消息文摘,如果消息中有一位发生变化,位的消息文摘,如果消息中有一位发生变化,那么消息文摘中会大约有那么消息文摘中会大约有10位数据发生变化,两个消位数据发生变化,两个消息的文摘安全相同的概率几乎是零。息的文摘安全相同的概率几乎是零。SET协议中还应用双重签
85、名来保证信息的完整性。双协议中还应用双重签名来保证信息的完整性。双重签名的目的是连接两个不同接收方的两条信息,如重签名的目的是连接两个不同接收方的两条信息,如发送给商家的订购信息(发送给商家的订购信息(Order Information,OI)和发送给银行的支付信息(和发送给银行的支付信息(Payment Information,PI)。其中,商家不可以知道客户的信息卡信息,银)。其中,商家不可以知道客户的信息卡信息,银行不需要知道客户的订购信息细节。用户用一个签名行不需要知道客户的订购信息细节。用户用一个签名操作来数字签名两个消息,实现一个双重签名。一个操作来数字签名两个消息,实现一个双重签
86、名。一个双重签名是通过计算两个消息的消息摘要产生的,并双重签名是通过计算两个消息的消息摘要产生的,并将两个摘要连接在一起形成一个总摘要,用用户的私将两个摘要连接在一起形成一个总摘要,用用户的私有签名密钥加密摘要。每个消息的接收者取出自己能有签名密钥加密摘要。每个消息的接收者取出自己能够看到的消息,重新生成消息摘要来验证消息。够看到的消息,重新生成消息摘要来验证消息。(3)身份认证)身份认证SET使用基于的使用基于的PKI,通过数字证书和,通过数字证书和RSA来达到对来达到对持卡人账户和商家、支付网关以及银行的认证。持卡人账户和商家、支付网关以及银行的认证。SET是一个基于可信的第三方认证中心的
87、方案,是一个基于可信的第三方认证中心的方案,CA在在SET扮演了很重要的角色,证书是核心。扮演了很重要的角色,证书是核心。SET标准提标准提供了通过认证中心对证书加以认证的简单方法来确保供了通过认证中心对证书加以认证的简单方法来确保进行电子交易的各方能够互相信任。在进行电子交易的各方能够互相信任。在SET协议中,协议中,有持卡人证书、特约商店证书、支付网关证书、收单有持卡人证书、特约商店证书、支付网关证书、收单银行证书和发单银行证书。银行证书和发单银行证书。在在SET中,每个用户(中,每个用户(A)至少要有两对密钥,一对)至少要有两对密钥,一对签名密钥签名密钥Spv(A)、)、Spb(A)和一
88、对加密密钥)和一对加密密钥Epv(A)、)、Epb(A),每对密钥都有相应的数字证),每对密钥都有相应的数字证书书CertS(A)和)和CertE(A)。签名密钥对由用户自)。签名密钥对由用户自己保管己保管,加密密钥对要由加密密钥对要由CA进行托管。进行托管。SET 与与SSL协议的比较协议的比较1. 认证机制认证机制2. 安全性安全性3. 网络层协议位置网络层协议位置4. 应用领域应用领域5 过程、效率、复杂性过程、效率、复杂性SET和和SSL共同之处SET和和SSL 都能应用于电子商务中,都能应用于电子商务中, 都通过认都通过认证进行身份识别,证进行身份识别, 都通过对传输数据的加密实都通
89、过对传输数据的加密实现保密性。现保密性。SET和和SSL不同不同SSL协议位于传输层和应用层之间,协议位于传输层和应用层之间, 因此因此SSL能能很好地封装应用数据,很好地封装应用数据, 不用改变位于应用层的不用改变位于应用层的程序,程序, 对用户是透明的。对用户是透明的。 同时同时SSL协议仅需通协议仅需通过一次过一次“握手握手”过程建立客户与服务器之间的过程建立客户与服务器之间的安全通信通道,安全通信通道, 保证数据的传输安全;保证数据的传输安全; 因此它因此它被广泛应用于电子商务中。被广泛应用于电子商务中。 然而然而SSL协议并非协议并非专为支持电子商务而设计,专为支持电子商务而设计,
90、只需双方认证,只需双方认证, 商商家完全掌握消费者的帐户信息。家完全掌握消费者的帐户信息。SET协议是专为电子商务系统设计的。协议是专为电子商务系统设计的。 它位于它位于应用层,应用层, 其认证体系十分完善,其认证体系十分完善, 能实现多方认能实现多方认证。在证。在SET实现中,实现中, 消费者帐户信息对商家是消费者帐户信息对商家是保密的。保密的。 但是但是SET协议十分复杂,协议十分复杂, 交易数据需交易数据需多次验证,多次验证, 用到多个密钥及多次加密解密。用到多个密钥及多次加密解密。 而而且在且在SET协议中除消费者和商家外,协议中除消费者和商家外, 还有发卡还有发卡行、收单行、认证中心
91、、支付网关等其它参与行、收单行、认证中心、支付网关等其它参与者。者。SET 与与SSL协议的比较协议的比较项目SSL协议SET协议工作层次传输层-应用层之间应用层是否透明透明不透明过程简单复杂效率高低安全性商家掌握消费者信息消费者信息对商家保密认证机制双方认证多方认证是否专为EC设计否是SET与与SSL相比的优点相比的优点(1)SET为商家提供了保护自己的手段,为商家提供了保护自己的手段, 使商使商家免受欺诈的困扰,家免受欺诈的困扰, 使商家运营成本降低;使商家运营成本降低;(2)对消费者而言,)对消费者而言, SET保证了商家的合法性,保证了商家的合法性, 并且用户的信用卡号不会被窃取,并且
92、用户的信用卡号不会被窃取,SET给消费者给消费者保守了更多的秘密,保守了更多的秘密, 使其在线购物更轻松。使其在线购物更轻松。SET与与SSL相比的优点(续)相比的优点(续)(3)对银行和发卡机构以及各种信用卡组织来)对银行和发卡机构以及各种信用卡组织来说,说, SET可以帮他们将业务库扩展到可以帮他们将业务库扩展到Internet 这这个广阔空间,个广阔空间, 使得信用卡网上支付具有更低的使得信用卡网上支付具有更低的欺骗概率,欺骗概率, 这使得它比其它支付方式具有更大这使得它比其它支付方式具有更大的竞争力。的竞争力。(4)SET对于参与交易的各方定义了互操作窗对于参与交易的各方定义了互操作窗
93、口,口, 一个系统可以有不同厂商的产品构筑。一个系统可以有不同厂商的产品构筑。SET与与SSL相比的优点(续相比的优点(续2)(5)SET可以用在系统的一部分。可以用在系统的一部分。 比如商家可比如商家可以考虑在与银行的连接中使用以考虑在与银行的连接中使用SET, 而与客户而与客户连接时采用连接时采用SSL。这种方案即回避了在顾客机器。这种方案即回避了在顾客机器上安装钱夹软件,上安装钱夹软件, 又获得了又获得了SSL的许多优点。的许多优点。SET 与与SSL协议的比较协议的比较与与SSL相比,相比, SET安全度更高,安全度更高, 大量的现场实大量的现场实验和实施效果获得了业界的支持,验和实施
94、效果获得了业界的支持, 促进了促进了SET的发展。的发展。尽管尽管SET与与SSL相比具有更强的功能,相比具有更强的功能, 单单SET要要求在银行网络、商家服务器、顾客计算机上安求在银行网络、商家服务器、顾客计算机上安装相应的软件。装相应的软件。 这是这是SET被广泛接受和推广的被广泛接受和推广的障碍。障碍。 因此因此SET比比SSL昂贵得多。昂贵得多。5.4 其它电子支付专用协议其它电子支付专用协议5.4.1 基于卡的支付协议:基于卡的支付协议: First Virtual, iKP5.4.2 基于支票的支付协议:基于支票的支付协议:e-check, Netbill5.4.2 基于现金的支付
95、协议:基于现金的支付协议:5.4.1 First VirtualFirst Virtual 由美国由美国First Virtual公司提出,也是公司提出,也是基于卡的支付协议,基于卡的支付协议, 与其它协议不同,与其它协议不同, 它采用它采用非密码学的方法解决安全性问题。非密码学的方法解决安全性问题。First Virtual 支付过程支付过程客户首先在客户首先在First Virtual 建立一个建立一个ID号,号, 并把自己的信并把自己的信用卡号注册,用卡号注册, 当需要支付信息费用时,当需要支付信息费用时, 支付过程如下:支付过程如下:(1)客户把自己的)客户把自己的ID号发给商家;号发
96、给商家;(2) 商家连接商家连接First Virtual 验证验证ID的合法性;如果合法,的合法性;如果合法, 商家直接把客户所需信息发送给客户。商家直接把客户所需信息发送给客户。(3) First Virtual 服务器以服务器以E-mail形式发送询问信息征形式发送询问信息征询客户是否愿意为其付费。询客户是否愿意为其付费。 如果客户回复如果客户回复“是是”, First Virtual 通过信用卡代理获得相应的款项;通过信用卡代理获得相应的款项;(4)90天延期后,天延期后, First Virtual 将款项转给相应的商家。将款项转给相应的商家。First Virtual协议的基本假设
97、协议的基本假设(1)客户不知道信息是否有用,)客户不知道信息是否有用, 必须先收到信息后作必须先收到信息后作出支付判断;出支付判断;(2)电子发送信息的费用低微,客户不作支付,)电子发送信息的费用低微,客户不作支付, 商家商家也不受太大损失;也不受太大损失;(3)多数客户是诚实的,)多数客户是诚实的, 信用度可以保障。信用度可以保障。First Virtual的安全性依赖于的安全性依赖于E-mail的安全性和完整性。的安全性和完整性。90天延迟是为了防止欺骗,天延迟是为了防止欺骗, 如果发生,如果发生, 客户款项将被客户款项将被返还。返还。 IKPiKP 是一簇安全电子支付协议。是一簇安全电子
98、支付协议。 协议中涉及三个成员:客户、商家协议中涉及三个成员:客户、商家和支付网关。和支付网关。 所有的所有的iKP都是基于公钥密码学。随公钥对数目而变都是基于公钥密码学。随公钥对数目而变化,化, 有有1KP, 2KP和和3KP, 其安全性和复杂性递增。其安全性和复杂性递增。1KP: 只要求支付网关有一对公钥;只要求支付网关有一对公钥;2KP: 支付网关和商家都有公钥对和公钥证书;支付网关和商家都有公钥对和公钥证书;3KP:支付网关、客户和商家都有公钥对。:支付网关、客户和商家都有公钥对。iKP 协议只关心支付而未涉及订货和价格协商,协议只关心支付而未涉及订货和价格协商, 该协议也没有明确该协
99、议也没有明确提供对订购信息的加密,提供对订购信息的加密, 这种保护由已存在机构来完成,这种保护由已存在机构来完成, 如如SHTTP和和SSL。Netbill协议协议NetBill 由卡耐基梅隆大学开发的网络支付协由卡耐基梅隆大学开发的网络支付协议。议。Netbill包含包含8个步骤,个步骤, 在此之前商家、客户在此之前商家、客户需要相互交换公钥证书,需要相互交换公钥证书, 彼此验证身份,彼此验证身份, 随即随即建立一个公钥用于交易。建立一个公钥用于交易。Netbill协议特点:协议特点: 客户收到货后付款,客户收到货后付款, 而同时而同时商家保证客户有足够的款项用于支付,商家保证客户有足够的款
100、项用于支付, 否则交否则交易中止,易中止, 客户得不到所需的解密密钥。客户得不到所需的解密密钥。Netbill 支付过程支付过程5.5 Internet的电子数据交换协议的电子数据交换协议20世纪世纪70年代以来,年代以来, 世界经济转向以信息技术世界经济转向以信息技术为推动力的阶段,为推动力的阶段, 国际贸易空前活跃,国际贸易空前活跃, 带来各带来各种贸易单据和文件数量激增。平均每做成一单种贸易单据和文件数量激增。平均每做成一单生意,生意, 需要需要30份纸面凭证。份纸面凭证。 提高商业文件的传提高商业文件的传递速度处理速度成为整个贸易链中所有成员的递速度处理速度成为整个贸易链中所有成员的共
101、同需求,共同需求, 以计算机、网络通信和数据标准化以计算机、网络通信和数据标准化为基本框架的电子数据交换(为基本框架的电子数据交换(EDI) 应运而生。应运而生。EDI消息处理原理消息处理原理EDI是在现有数据通信基础上的增值业务是在现有数据通信基础上的增值业务. EDI 消息处理系统消息处理系统(EDIMS)由由EDI用户代理用户代理(EDI-UA)、EDI消息存储(消息存储(EDI-MS)、)、EDI消息传送系统消息传送系统(EDI-MTS)和)和EDI访问单元(访问单元(EDI-AU) 组成组成 。EDI的安全问题的安全问题(1)电子化数据不能像传统的单据、票据一样)电子化数据不能像传统
102、的单据、票据一样具有法律效力;具有法律效力;(2) 无纸贸易中的商业秘密不易保护;无纸贸易中的商业秘密不易保护;(3)商业文件的准确接收;)商业文件的准确接收;(4)贸易行为的抵赖)贸易行为的抵赖(5)商业文件的签名,)商业文件的签名, 及其合法性和有效性认及其合法性和有效性认证。证。安全问题若不有效解决,安全问题若不有效解决, 人们就没有信心使用人们就没有信心使用EDI系统,系统, EDI本身也无法实现本身也无法实现“正确、完整、迅速正确、完整、迅速”交换信息的交换信息的目标。目标。 EDI的安全性一直受到技术界、用户界的密切关的安全性一直受到技术界、用户界的密切关注。注。 所有所有EDI系
103、统开发者将系统能否提供安全服务视为系统开发者将系统能否提供安全服务视为EDI系统是否成熟的标志;系统是否成熟的标志; 用户视用户视EDI系统是否有良好系统是否有良好的安全服务为购买的安全服务为购买EDI系统的重要条件。欧共体将安全系统的重要条件。欧共体将安全列为推行列为推行EDI的关键技术之一。的关键技术之一。 国际标准化组织国际标准化组织(ISO)也成立专门的研究小组,)也成立专门的研究小组, 致力于致力于EDI安全标准安全标准的开发。的开发。EDI安全服务安全服务(1)鉴别:包括对等实体鉴别和数据源鉴别。)鉴别:包括对等实体鉴别和数据源鉴别。(2)访问控制)访问控制(3)数据保密)数据保密
104、(4)数据完整性)数据完整性(5)抗抵赖)抗抵赖EDI面临的安全威胁面临的安全威胁EDI系统运行后会碰到许多安全威胁和攻击。系统运行后会碰到许多安全威胁和攻击。根据着眼点不同有偶发性威胁和故意性威胁。根据着眼点不同有偶发性威胁和故意性威胁。根据来源不同也可以分为内部和外部两种。根据来源不同也可以分为内部和外部两种。EDI的安全威胁的安全威胁国际电报电话咨询委员会列出的国际电报电话咨询委员会列出的EDI威胁有以下威胁有以下6种:种:(1)冒充)冒充(2)篡改数据)篡改数据(3)偷看、窃取数据)偷看、窃取数据(4)文电丢失)文电丢失(5)抵赖或矢口否认)抵赖或矢口否认(6)拒绝服务)拒绝服务EDI
105、安全措施安全措施(1)制定安全策略)制定安全策略(2)使用数字签名实现源点的鉴别和完整性鉴)使用数字签名实现源点的鉴别和完整性鉴别。别。(3)使用加密体制对文电加密)使用加密体制对文电加密(4)进行访问控制)进行访问控制(5)利用脱机文档库防止文电丢失。每()利用脱机文档库防止文电丢失。每(6)硬件双备份防止拒绝服务硬件双备份防止拒绝服务5.6 安全电子邮件协议安全电子邮件协议PEM(私人加密邮件私人加密邮件):美国:美国RSA实验室基于实验室基于RSA和和DES算法开发的产品,算法开发的产品, 在在Internet 电子邮件的标准格式上增电子邮件的标准格式上增加了加密、鉴别和密钥管理功能。加
106、了加密、鉴别和密钥管理功能。S/MMIE(安全多功能安全多功能Internet电子邮件扩充):电子邮件扩充):Secure Multipurpose Internet mail Extensions, 为电子邮件提供为电子邮件提供了数字签名和加密功能。允许不同的不同的电子邮件客了数字签名和加密功能。允许不同的不同的电子邮件客户程序彼此之间收发安全电子邮件。户程序彼此之间收发安全电子邮件。PEMMIME(MOSS):):PEM和和 MIME的结合。的结合。S/MIME是指安全多用途是指安全多用途Internet邮件扩展邮件扩展(Secure/Multipurpose Internet Mail
107、Extensions,S/MIME)。随着电子邮件的广泛应用,)。随着电子邮件的广泛应用,S/MIME已已成为成为Internet的一个事实上的安全邮件标准。目前的一个事实上的安全邮件标准。目前 S/MIME 已发展到第三个版本,这个标准得到了已发展到第三个版本,这个标准得到了Microsoft和和Netscape等大多数公司的广泛支持。等大多数公司的广泛支持。S/MIME是从是从PEM (Privacy Enhanced Mail)和)和MIME(Internet邮件的附件标准)发展而来的。邮件的附件标准)发展而来的。 同同PGP一样,一样,S/MIME也利用单向散列算法和公钥与私也利用单向
108、散列算法和公钥与私钥的加密体系。钥的加密体系。S/MIMES/MIME与与PGP不同不同S/MIME和和PGP都是基于单向散列算法和公钥与私钥的都是基于单向散列算法和公钥与私钥的加密体系,都是基于加密体系,都是基于TCP/IP和和SMTP之上的应用层实用之上的应用层实用安全电子邮件技术。安全电子邮件技术。S/MIME认证机制依赖于层次结构的证书认证机构。所认证机制依赖于层次结构的证书认证机构。所有下一级组织和个人的证书由上一级组织负责认证,有下一级组织和个人的证书由上一级组织负责认证, 而而最上一级组织(根证书)之间相互认证。最上一级组织(根证书)之间相互认证。S/MIME将信件内容加密后作为
109、特殊的附件发送。将信件内容加密后作为特殊的附件发送。S/MIME 接近于一种工业标准接近于一种工业标准, 而而PGP多用于个多用于个人安全电子邮件。人安全电子邮件。PGP侧重于局域网(特别是侧重于局域网(特别是企业内部网)使用,企业内部网)使用, 适合在人数有限的情况下适合在人数有限的情况下使用,人数猛增后网络系统难以支撑。使用,人数猛增后网络系统难以支撑。 S/MIME 已被广泛商用。已被广泛商用。PGP可以自由使用,可以自由使用, 但与公钥基础设施但与公钥基础设施PKI不兼容。不兼容。S/MIME的证书格式也采用格式,但与一般浏览器的证书格式也采用格式,但与一般浏览器网上购物使用的网上购物
110、使用的SSL证书还有一定差异,支持的证书还有一定差异,支持的厂商相对少一些。在国外,厂商相对少一些。在国外,VeriSign免费向个人免费向个人提供提供S/MIME电子邮件证书,在国内也有公司提电子邮件证书,在国内也有公司提供支持该标准的产品。而在客户端,供支持该标准的产品。而在客户端,Netscape Messenger和和Microsoft Outlook都支持都支持S/MIME。S/MIME提供了统一的方法来接收和发送提供了统一的方法来接收和发送MIME数据。数据。根据流行的根据流行的Internet MIME标准,标准,S/MIME为消息传为消息传递应用提供了以下安全服务:认证、数据机
111、密性(使递应用提供了以下安全服务:认证、数据机密性(使用加密技术)、消息完整性和非否认(使用数字签名用加密技术)、消息完整性和非否认(使用数字签名技术)。技术)。S/MIME可以用在传统的邮件用户代理可以用在传统的邮件用户代理(MUA)中,从而为收发邮件提供基于密码技术的)中,从而为收发邮件提供基于密码技术的安全服务。比如,在邮件发送时将其加密,而在收取安全服务。比如,在邮件发送时将其加密,而在收取邮件时解密。但是,邮件时解密。但是,S/MIME的应用并不仅仅限于邮的应用并不仅仅限于邮件传送,它也可以用在任何传输件传送,它也可以用在任何传输MIME数据的传输机数据的传输机制中,如制中,如HTT
112、P。这样,这样,S/MIME就可以得益于就可以得益于MIME基于对象的特性,基于对象的特性,并可以在混合传送机制系统中交换消息。通过使用不并可以在混合传送机制系统中交换消息。通过使用不需要任何人工干预的安全服务,需要任何人工干预的安全服务,S/MIME还可以用在还可以用在自动消息传送代理中,例如对程序生成的文档进行签自动消息传送代理中,例如对程序生成的文档进行签名和对名和对Internet上传送的传真信息进行加密。上传送的传真信息进行加密。S/MIME在原有的在原有的 MIME 邮件规范的基础上,新增邮件规范的基础上,新增了许多强有力的安全功能。它使用数字证书对邮件进了许多强有力的安全功能。它
113、使用数字证书对邮件进行数字签名和数字加密,可以实现如下特性:行数字签名和数字加密,可以实现如下特性:机密性。通过使用收件人的数字证书对电子邮件加密,机密性。通过使用收件人的数字证书对电子邮件加密,如此一来,只有收件人才能阅读加密的邮件。在如此一来,只有收件人才能阅读加密的邮件。在Internet上传递的电子邮件信息不会被人窃取,即使上传递的电子邮件信息不会被人窃取,即使发错邮件,收件人也无法看到邮件内容。发错邮件,收件人也无法看到邮件内容。认证。在认证。在Internet上传递电子邮件的双方互相不能见上传递电子邮件的双方互相不能见面,所以必须有方法确定对方的身份。利用发件人数面,所以必须有方法
114、确定对方的身份。利用发件人数字证书在传送前对电子邮件进行数字签名即可确定发字证书在传送前对电子邮件进行数字签名即可确定发件人身份,以妨他人冒充。件人身份,以妨他人冒充。 完整性。利用发件人数字证书在传送前对电子邮件进完整性。利用发件人数字证书在传送前对电子邮件进行数字签名不仅可确定发件人身份,而且传递的电子行数字签名不仅可确定发件人身份,而且传递的电子邮件信息也不能被人在传输过程中修改。邮件信息也不能被人在传输过程中修改。 非否认。由于发件人的数字证书只有发件人惟一拥有,非否认。由于发件人的数字证书只有发件人惟一拥有,所以发件人利用其数字证书在传送前对电子邮件进行所以发件人利用其数字证书在传送前对电子邮件进行数字签名,就无法否认发过这个电子邮件。数字签名,就无法否认发过这个电子邮件。Outlook Express下下安全电子邮件发送下下安全电子邮件发送Outlook Express的安全服务的安全服务:(1)发送签名邮件)发送签名邮件(2)接收签名邮件)接收签名邮件(3)发送加密邮件)发送加密邮件(4)接收加密邮件)接收加密邮件(5)将数字标识发送给别人)将数字标识发送给别人(6)检索他人数字标识)检索他人数字标识(7)更该数字标识的可信状态)更该数字标识的可信状态