发布网友 发布时间:2022-04-23 02:22
共1个回答
热心网友 时间:2023-01-28 04:37
摘 要:在电子商务中,SSL协议得到了广泛的协议,而SET协议则是今后的发展趋势,本文在分析这两种协议原理的基础上,对两者的特点进行了比较。关键词:电子商务;SSL协议;SET协议 1 SSL协议1.1 SSL协议概述SSL(Secure Sockets Layer)安全套接层协议是Netscape公司1995年推出的一种安全通信协议。SSL提供了两台计算机之间的安全连接,对整个会话进行了加密,从而保证了安全传输。SSL协议建立在可靠的TCP传输控制协议之上,并且与上层协议无关,各种应用层协议(如:HTTP,FTP,TELNET等)能通过SSL协议进行透明传输。SSL协议分为两层:SSL握手协议和SSL记录协议。SSL协议与TCP/IP协议间的关系如图一所示:HTTPS FTPS TELNETS IMAPS等 SSL握手协议 SSL记录协议 TCP传输控制协议 IP因特网协议 图一 SSL协议与TCP/IP协议间的关系SSL协议提供的安全连接具有以下三个基本特点:(1)连接是保密的:对于每个连接都有一个唯一的会话密钥,采用对称密码*(如DES、RC4等)来加密数据;(2)连接是可靠的:消息的传输采用MAC算法(如MD5、SHA等)进行完整性检验;(3)对端实体的鉴别采用非对称密码*(如RSA、DSS等)进行认证。1.2 SSL握手协议SSL握手协议用于在通信双方建立安全传输通道,具体实现以下功能:(1)在客户端验证服务器,SSL协议采用公钥方式进行身份认证;(2)在服务器端验证客户(可选的);(3)客户端和服务器之间协商双方都支持的加密算法和压缩算法,可选用的加密算法包括:IDEA、RC4、DES、3DES、RSA、DSS、Diffie_hellman、Fortezza、MD5、SHA等;(4)产生对称加密算法的会话密钥;(5)建立加密SSL连接。一般的握手过程如图二所示:图二 SSL协议的握手过程握手过程分为4个阶段:(1)初始化逻辑连接,客户方先发出ClientHello消息,服务器方也应返回一个ServerHello消息,这两个消息用来协商双方的安全能力,包括协议版本、随机参数、会话ID、交换密钥算法、对称加密算法、压缩算法等。(2)服务器方应发送服务器证书(包含了服务器的公钥等)和会话密钥,如果服务器要求验证客户方,则要发送CertificateRequest消息。最后服务器方发送ServerHelloDone消息,表示hello阶段结束,服务器等待客户方的响应。(3)如果服务器要求验证客户方,则客户方先发送Certificate消息,然后产生会话密钥,并用服务器的公钥加密,封装在ClientKeyExchange消息中,如果客户方发送了自己的证书,则再发送一个数字签名CertificateVerify来对证书进行校验。(4)客户方发送一个ChangeCipherSpec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,最后再发送一个加密后的Finished消息。服务器在收到上述两个消息后,也发送自己的ChangeCipherSpec消息和Finished消息。至此,握手全部完成,双方可以开始传输应用数据。SSL握手协议在通信双方建立起合适的会话状态信息要素,如下表所示:会话状态信息要素 描述 对话标识 服务器选择的用于标识一个活跃的、重新开始的对话标识 对等证书 对等实体的X509证书 压缩方法 所采用的数据压缩算法 加密说明 所采用的数据加密算法和MAC算法 会话密钥 客户端和服务器所共享的会话密钥 可重开始 标识此对话是否可以用来初始化新的标志 1.3 SSL记录协议SSL记录协议从高层接收到数据后要经过分段、压缩和加密处理,最后由传输层发送出去。在SSL协议中,所有的传输数据都被封装在记录中,SSL记录协议规定了记录头和记录数据的格式。每个SSL记录包含以下信息:(1)内容类型:指SSL的高层协议;(2)协议版本号:指所用的SSL协议版本号,目前已有2.0和3.0版本;(3)长度:指记录数据的长度,记录数据的最大长度为16383个字节;(4)数据有效载荷:将数据用SSL握手阶段所定义的压缩方法和加密方法进行处理后得到的结果;(5)MAC:MAC在有效数据被加密之前计算出来并放入SSL记录中,用于进行数据完整性检查,若使用MD5算法,则MAC数据长度是16个字节。SSL记录协议采用了RFC2104中关于HMAC结构的修正版,在HASH函数作用之前将一个序号放入消息中,以抵抗各种形式的重传攻击,序号是一个32位的递增计数器。2 SET协议2.1 SET协议概述SET(Secure Electronic Transaction)安全电子交易协议是1996年由MasterCard(维萨)与Visa(万事达)两大国际信用卡公司联合制订的安全电子交易规范。它提供了消费者、商家和银行之间的认证,确保交易的保密性、可靠性和不可否认性,保证在开放网络环境下使用信用卡进行在线购物的安全。2.2 SET协议中采用的数据加密模型SET协议采用的数据加密模型如图三所示。图三 SET协议采用的数据加密模型 该模型具有以下特点: (1)交易参与者的身份鉴别采用数字证书的方式来完成,数字证书的格式一般采用X.509国际标准;(2)交易的不可否认性用数字签名的方式来实现。由于数字签名是由发送方的私钥产生,而发送方的私钥只有他本人知道,所以发送方便不能对其发送过的交易数据进行抵赖;(3)用报文摘要算法来保证数据的完整性;(4)由于非对称加密算法的运算速度慢,所以要和对称加密算法联合使用,用对称加密算法来加密数据,用数字信封来交换对称密钥。2.3 SET协议的数据交换过程SET协议的购物系统由持卡人、商家、支付网关、收单银行和发卡银行五个部分组成,这五大部分之间的数据交换过程如图四所示。图四 SET协议的数据交换过程3 SSL协议和SET协议的对比SSL协议和SET协议的差别主要表现在以下几个方面:(1)用户接口:SSL协议已被浏览器和WEB服务器内置,无需安装专门软件;而SET协议中客户端需安装专门的电子钱包软件,在商家服务器和银行网络上也需安装相应的软件。(2)处理速度:SET协议非常复杂、庞大,处理速度慢。一个典型的SET交易过程需验证电子证书9次、验证数字签名6次、传递证书7次、进行5次签名、4次对称加密和4次非对称加密,整个交易过程可能需花费1.5至2分钟;而SSL协议则简单得多,处理速度比SET协议快。(3)认证要求:早期的SSL协议并没有提供身份认证机制,虽然在SSL3.0中可以通过数字签名和数字证书实现浏览器和Web服务器之间的身份验证,但仍不能实现多方认证,而且SSL中只有商家服务器的认证是必须的,客户端认证则是可选的。相比之下,SET协议的认证要求较高,所有参与SET交易的成员都必须申请数字证书,并且解决了客户与银行、客户与商家、商家与银行之间的多方认证问题。(4)安全性:安全性是网上交易中最关键的问题。SET协议由于采用了公钥加密、信息摘要和数字签名可以确保信息的保密性、可鉴别性、完整性和不可否认性,且SET协议采用了双重签名来保证各参与方信息的相互隔离,使商家只能看到持卡人的订购数据,而银行只能取得持卡人的信用卡信息。SSL协议虽也采用了公钥加密、信息摘要和MAC检测,可以提供保密性、完整性和一定程度的身份鉴别功能,但缺乏一套完整的认证体系,不能提供完备的防抵赖功能。因此,SET的安全性远比SSL高。(5)协议层次和功能:SSL属于传输层的安全技术规范,它不具备电子商务的商务性、协调性和集成性功能。而SET协议位于应用层,它不仅规范了整个商务活动的流程,而且制定了严格的加密和认证标准,具备商务性、协调性和集成性功能。总结:由于SSL协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中SET协议将会逐步占据主导地位。