SSL协议和SET协议的特点及区别
发布网友
发布时间:2022-03-25 07:39
我来回答
共2个回答
热心网友
时间:2022-03-25 09:08
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协议将会逐步占据主导地位。
热心网友
时间:2022-03-25 10:26
SSL协议是1994年网景公司NetScape于1994年开发的加密协议,被称为安全套接层,后被国际互联网工程任务组IETF接手并更名为TLS协议,SSL/TLS协议被广泛应用于Web浏览器与Web服务器之间的数据加密和身份认证:对通信的数据进行加密来防止信息在传输过程中被泄露或篡改,对通信方进行身份认证来确保信息来自于正确的发送者且传送给正确的接收者。总的来说SSL协议是为了保护用户和网站之间传输信息和数据的安全而诞生的。
SET协议是Master Card和Visa联合Netscape,Microsoft等公司,于1997年6月1日开发的协议,被称为安全电子交易协议,保证了用户在互联网上使用信用卡进行交易时,信息和数据的安全。
共同点是,都采用公钥密码*和X.509数字证书标准来进行数据加密和认证,区别是SET主要用于B2C,而SSL用于所有web浏览器和web服务器之间的通信。