资源描述
SET协议与SSL协议的比较
SET协议与SSL协议的比较
SET协议和SSL协议对于研究电子商务的人员来说并不陌生,当今电子商务发展的核心问题是交易的安全性问题,这也是企业应用电子商务最担心的问题,因此如何在开放的公用网上构筑安全的交易模式,一直是人们研究的热点和大家关注的话题,要构筑一个安全的电子交易模式,应满足以下五个方面,这也是OSI规定的五种标准的安全服务:
(1)数据保密:防止信息被截获或非法存取而泄密。
(2)对象认证:通信双方对各自通信对象的合法性、真实性进行确认,以防第三者假冒。
(3)数据完整性:阻止非法实体对交换数据的修改、插入、删除及防止数据丢失。
(4)防抗抵赖:用于证实已发生过的操作,防止交易双方对发生的行为抵赖。
(5)访问控制:防止非授权用户非法使用系统资源。
迄今为止,国内外已经出现了多种电子支付协议,目前有两种安全在线支付协议被广泛采用,即安全套接层SSL协议和安全电子交易SET协议,二者均是成熟和实用的安全协议。
一、SSL协议
SSL(Secure Socket Layer即安全套接层)协议是Netscape Communication公司推出在网络传输层之上提供的一种基于RSA和保密密钥的用于浏览器和Web服务器之间的安全连接技术。它是国际上最早应用于电子商务的一种由消费者和商家双方参加的信用卡/借记卡支付协议。
1、SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
2、SSL协议的工作流程:
服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
从SSL协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。
二、SET协议
SET(Secure Electonic Transcation 即安全电子交易协议)是美国Visa和MasterCard两大信用卡组织等联合于1997年5月31日推出的用于电子商务的行业规范,其实质是一种应用在Internet上、以信用卡为基础的电子付款系统规范,目的是为了保证网络交易的安全。SET妥善地解决了信用卡在电子商务交易中的交易协议、信息保密、资料完整以及身份认证等问题。SET已获得IETF标准的认可,是电子商务的发展方向。
1、SET支付系统的组成
SET支付系统主要由持卡人(CardHolder)、商家(Merchant)、发卡行(Issuing Bank)、收单行(Acquiring Bank)、支付网关(Payment Gateway)、认证中心(Certificate Authority)等六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。
2、SET协议的工作流程
1)消费者利用自己的PC机通过因特网选定所要购买的物品,并在计算机上输入订货单、订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。
2)通过电子商务服务器与有关在线商店联系,在线商店作出应答,告诉消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确,是否有变化。
3)消费者选择付款方式,确认订单签发付款指令。此时SET开始介入。
4)在SET中,消费看必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的帐号信息。
5)在线商店接受订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单银行,再到电子货币发行公司确认。批准交易后,返回确认信息给在线商店。
6)在线商店发送订单确认信息给消费者。消费者端软件可记录交易日志,以备将来查询。
7)在线商店发送货物或提供服务并通知收单银行将钱从消费者的帐号转移到商店帐号,或通知发卡银行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结一天的帐。
前两步与SET无关,从第三步开始SET起作用,一直到第六步,在处理过程中通信协议、请求信息的格式、数据类型的定义等SET都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA(认证中心)来验证通信主体的身份,以确保通信的对方不是冒名顶替,所以,也可以简单地认为SET规格充分发挥了认证中心的作用,以维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。
三、SET与SSL协议的比较
1、在认证要求方面,早期的SSL并没有提供商家身份认证机制,虽然在SSL3.0中可以通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但仍不能实现多方认证;相比之下,SET的安全要求较高,所有参与SET交易的成员(持卡人、商家、发卡行、收单行和支付网关)都必须申请数字证书进行身份识别。
2、在安全性方面,SET协议规范了整个商务活动的流程,从持卡人到商家,到支付网关,到认证中心以及信用卡结算中心之间的信息流走向和必须采用的加密、认证都制定了严密的标准,从而最大限度地保证了商务性、服务性、协调性和集成性。而SSL只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此SET的安全性比SSL高。
3、在网络层协议位置方面,SSL是基于传输层的通用安全协议,而SET位于应用层,对网络上其他各层也有涉及。
4、在应用领域方面,SSL主要是和Web应用一起工作,而SET是为信用卡交易提供安全,因此如果电子商务应用只是通过Web或是电子邮件,则可以不要SET。但如果电子商务应用是一个涉及多方交易的过程,则使用SET更安全、更通用些。
四、总结
SSL协议实现简单,独立于应用层协议,大部分内置于浏览器和Web服务器中,在电子交易中应用便利。但它是一个面向连接的协议,只能提供交易中客户与服务器间的双方认证,不能实现多方的电子交易中。SET在保留对客户信用卡认证的前提下增加了对商家身份的认证,安全性进一步提高。由于两协议所处的网络层次不同,为电子商务提供的服务也不相同,因此在实践中应根据具体情况来选择独立使用或两者混合使用。
SSL协议
SSL (Secure Socket Layer)
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。
SSL当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
SSL协议的工作流程:
服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器解密该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。
SET协议和SSL协议的区别
两种都是应用于电子商务用的网络安全协议。都能保证交易数据的安全性、保密性和完整性。
SSL叫安全套接层协议,是国际上最早用的,已成工业标准,但它的基点是商家对客户信息保密的承诺,因此有利于商家而不利于客户。
SET叫安全电子交易协议,是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范。因它的对象包括消费者、商家、发卡银行、收单银行、支付网关、认证中心,所以对消费者与商家同样有利。它越来越得到众人认同,将会成为未来电子商务的规范。
近年来,IT业界与金融行业一起,推出不少更有效的安全交易标准。主要有:
(1) 安全超文本传输协议(S-HTTP):依靠密钥对的加密,保障Web站点间的交易信息传输的安全性。
(2) 安全套接层协议(SSL协议:Secure Socket Layer)是由网景(Netscape)公司推出的一种安全通信协议,是对计算机之间整个会话进行加密的协议,提供了加密、认证服务和报文完整性。它能够对信用卡和个人信息提供较强的保护。SSL被用于Netscape Communicator和Microsoft IE浏览器,用以完成需要的安全交易操作。在SSL中,采用了公开密钥和私有密钥两种加密方法。
(3) 安全交易技术协议(STT:Secure Transaction Technology):由Microsoft公司提出,STT将认证和解密在浏览器中分离开,用以提高安全控制能力。Microsoft将在Internet Explorer中采用这一技术。
4) 安全电子交易协议(SET:Secure Electronic Transaction):SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密匙加密、电子数字签名、电子信封、电子安全证书等。
目前公布的SET正式文本涵盖了信用卡在电子商务交易中的交易协定、信息保密、资料完整及数字认证、数字签名等。这一标准被公认为全球网际网络的标准,其交易形态将成为未来“电子商务”的规范。
支付系统是电子商务的关键,但支持支付系统的关键技术的未来走向尚未确定。安全套接层(SSL)和安全电子交易(SET)是两种重要的通信协议,每一种都提供了通过Internet进行支付的手段。但是,两者之中谁将领导未来呢?SET将立刻替换SSL吗?SET会因其复杂性而消亡吗?SSL真的能完全满足电子商务的需要吗?我们可以从以下几点对比作管中一窥:
SSL提供了两台机器间的安全连接。支付系统经常通过在SSL连接上传输信用卡卡号的方式来构建,在线银行和其他金融系统也常常构建在SSL之上。虽然基于SSL的信用卡支付方式促进了电子商务的发展,但如果想要电子商务得以成功地广泛开展的话,必须采用更先进的支付系统。SSL被广泛应用的原因在于它被大部分Web浏览器和Web服务器所内置,比较容易被应用。
SET和SSL除了都采用RSA公钥算法以外,二者在其他技术方面没有任何相似之处。而RSA在二者中也被用来实现不同的安全目标。
SET是一种基于消息流的协议,它主要由MasterCard和Visa以及其他一些业界主流厂商设计发布,用来保证公共网络上银行卡支付交易的安全性。SET已经在国际上被大量实验性地使用并经受了考验,但大多数在Internet上购物的消费者并没有真正使用SET。
SET是一个非常复杂的协议,因为它非常详细而准确地反映了卡交易各方之间存在的各种关系。SET还定义了加密信息的格式和完成一笔卡支付交易过程中各方传输信息的规则。事实上,SET远远不止是一个技术方面的协议,它还说明了每一方所持有的数字证书的合法含义,希望得到数字证书以及响应信息的各方应有的动作,与一笔交易紧密相关的责任分担。
SSL协议的特性
SSL提供了两台机器间的安全连接。支付系统通过在SSL连接上传输信用卡卡号的方式来构建,在线银行和其他金融系统也常常构建在SSL之上。大部分Web浏览器和Web服务器都内置了SSL协议,比较容易应用。SSL协议建立在可靠的传输层协议(如TCP)之上,与应用层协议无关。它在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。高层的应用层协议(如HTTP,FTP,TELNET等)可以透明地建立于SSL协议之上。应用层协议所传送的数据都会被加密,从而保证通信的私密性。SSL协议提供的安全信道有以下三种特性:
——私密性:在握手协议定义了会话密钥后,所有的消息都被加密。
——确认性:尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。
——可靠性:传送的消息包括消息完整性检查。
SSL协议规范
SSL协议由SSL记录协议和SSL握手协议两部分组成。
——①SSL记录协议
——在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和记录数据组成的。所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL记录层。
——②SSL握手协议
——SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。
——第一阶段是通信的初始化阶段,首先SSL要求服务器向浏览器出示证书。证书包含有一个公钥,这个公钥是由一家可信证书授权机构签发的。通过内置的一些基础公共密钥,客户的浏览器可以判断服务器证书正确与否。然后,浏览器中的SSL软件发给服务器一个随机产生的传输密钥,此密钥由已验证过的公钥加密。由于传输密钥只能由对应的私有密钥来解密,这证实了该服务器属于一个认证过的公司。随机产生的传输密钥是核心机密,只有客户的浏览器和此公司的Web服务器知道这个数字序列。这个两方共享密钥的密文可以通过浏览器安全地抵达Web服务器,Internet上的其他人无法解开它。
——第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。服务器方向客户发出认证请求消息。客户收到服务器方的认证请求消息后,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的证书后,给客户回送认证成功消息,否则返回错误消息。到此为止,握手协议全部结束。
SSL交易过程
——在接下来的通信中,SSL采用该密钥来保证数据的保密性和完整性。这就是SSL提供的安全连接。这时客户需要确认订购并输入信用卡号码。SSL保证信用卡号码以及其他信息只会被此公司获取。客户还可以打印屏幕上显示的已经被授权的订单,这样就可以得到这次交易的书面证据。大多数在线商店在得到客户的信用卡号码后出示收到的凭据,这是客户已付款的有效证据。至此,一个完整的SSL交易过程结束。
——但是,SSL提供的保密连接有根大的漏洞。SSL除了传输过程以外不能提供任何安全保证,SSL并不能使客户确信此公司接收信用卡支付是得到授权的。在Internet上,经常会出现一些陌生的店铺,正因如此,网上商店发生欺诈行为的可能性要比街头店铺大得多。进一步说,即使是一个诚实的网上商店,在收到客户的信用卡号码后如果没有采用好的方法保证其安全性,那么信用卡号也很容易被黑客通过商家服务器窃取。
SSL 协议的握手和通讯
为了便于更好的认识和理解SSL协议,这里着重介绍SSL协议的握手协议。SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:
① 客户端的浏览器向服务器传送客户端SSL协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
② 服务器向客户端传送SSL协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
③ 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④ 客户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
⑦ 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL协议的安全数据通讯的加解密通讯。同时在SSL通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩SSL的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
双向认证SSL协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的CA中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
上面所述的是双向认证SSL协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证SSL协议不需要客户拥有CA证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响SSL过程的安全性)密码方案。 这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用 128 位加密通讯的原因。
SET协议与SSL协议的比较
在线支付系统是电子商务的关键,目前已成为电子商务发展的瓶颈,但支持支付系统的关键技术的未来走向还待确定。安全套接层协议(SSL)和安全电子交易协议(SET)是两种重要的通信协议,后来VISA和MASTER又推出了3-DSecure协议,每一种都提供了通过Internet进行支付的手段。但是,实践证明SSL是发展的潮流。SSL提供了两台机器间的安全连接。支付系统经常通过在SSL连接上传输信用卡卡号的方式来构建,网上银行和其他金融或政务系统也常常构建在SSL之上。虽然基于SSL的信用卡支付方式促进了电子商务的发展,但如果想要电子商务得以更成功地广泛开展的话,必须采用更先进的支付系统。SSL被广泛应用的原因在于它被大部分Web浏览器和Web服务器所内置,比较容易投入应用。
事实上,SET和SSL除了都采用RSA公钥算法以外,二者在其他技术方面没有任何相似之处,而RSA在二者中也被用来实现不同的安全目标。
SET是一种基于信息流的协议,它主要由MasterCard和VISA,以及其他一些业界主流厂商设计发布,用来保证公共网络上银行卡支付交易的安全性。SET曾经在国际上被大量实验性地使用并经受住了考验,但大多数在Internet上采购的消费者并没有真正使用SET,原因是SET交易过程太复杂,采用了较大的电子钱包,系统开销太大,不方便用户的使用。
SET是一个非常复杂的协议,因为它详尽而准确地反映了卡交易各方之间存在的各种关系。SET还定义了加密信息的格式和完成一笔卡支付交易过程中各方传输信息的规则。事实上,SET远远不止是一个技术方面的协议,它还说明了每一方所持有的数字证书的合法含义和希望得到数字证书及响应信息的各方应有的动作,以及与一笔交易紧密相关的责任分担。
因此,可以得出以下结论:
(1)SET是一个多方的消息报文协议,它定义了银行、商家、持卡人之间必须遵循标准的报文规范,并且能在银行内部网络或者其他网络上传输,安全性很高。SSL比较简单地在客户端与服务器之间建立了一条安全连接,它是面向连接的,在SSL之上的支付系统只能与Web浏览器捆绑在一起。
(2)在认证机制方面,SET安全需求较高,参与交易各方必须申请持有数字证书来识别各自的身份;而在SSL中只要求商家或银行端的服务器安装证书,而客户端的认证可以选择。所以,从这一角度看,SSL交易协议有其不安全的方面。当然,在SSL中最好也是各方都安装证书,取得可靠的身份认证。
(3)SET造价成本较高,运行机制复杂;而SSL造价成本较低,运行机制简单灵活,易普及推广。
(4)性能对比。由于SET安全机制接近完美,网络和计算机处理要求较高,致使SET性能下降,用户使用不便,不易操作,不易安装,接近名存实亡;而SSL配置简单,传输性能较高,得到普遍应用。
详解SSL协议
在计算机领域,协议是管理数据在两个端点之间传输的一套规则。这套规则包括连接、通讯和实时数据交换的句法、语义和同步执行。然而,大多数通讯和网络协议都不是单独发挥作用的,这些协议在一个称作协议堆栈的地方分层次地放在一起。协议堆栈是需要共同合作的协议的具体结合,在这个协议堆栈中的每一个协议都执行专门的任务。SSL(安全套接层)是一个基于标准的加密协议,提供加密和身份识别服务。SSL广泛应用于在互联网上提供加密的通讯。SSL最普通的应用是在网络浏览器中通过HTTPS实现的。然而,SSL是一种透明的协议,对用户基本上是不可见的,它可应用于任何基于TCP/IP的应用程序。
正如你想象的那样,设法保证一个协议栈能够完成其预定的任务和保证不同的协议都在一起工作是非常复杂的。为了帮助工程师概念化协议栈,人们开发了各种模型,每一种模型都提供一个网络协议应该如何工作的简要说明。OSI(开放系统互连)模型可能是最被广泛应用的,它使用7层结构把各种协议以及服务组织在一起。早期的TCP/IP模型使用4层或者5层。这两种模型接近最上面的层在逻辑上更接近用户,接近最下面的层在逻辑上更接近数据的物理传输。
根据OSI模型,应用层(7层)为应用程序处理提供普通的应用服务。网络层(3层)解决把数据包从网络的一个地方传送到另一个地方的问题。SSL是一种不同寻常的协议,它不只在一个层上工作。SSL既不是网络层协议也不是应用层协议,它是位于这两层之间的一种协议。
由于SSL所处的位置,SSL能够向客户机提供有选择地保护单一应用程序的能力,而不是对整个一组应用程序进行加密。这个过程能够在不用担心3层(网络层)的情况下完成。由于这些原因,当使用SSL对网络通讯进行加密的时候,实际上只加密了应用层数据。这与IPsec协议不同。IPsec协议在网络层工作,加密在IP层中的所有通讯数据。
SSL证书各部分的含义
Version 证书版本号,不同版本的证书格式不同
Serial Number 序列号,同一身份验证机构签发的证书序列号唯一
Algorithm Identifier 签名算法,包括必要的参数 Issuer 身份验证机构的标识信息
Period of Validity 有效期
Subject 证书持有人的标识信息
Subject’s Public Key 证书持有人的公钥
Signature 身份验证机构对证书的签名
证书的格式
认证中心所发放的证书均遵循 X.509 V3 标准,其基本格式如下:
证书版本号(Certificate Format Version) 含义:用来指定证书格式采用的 X.509 版本号。
证书序列号(Certificate Serial Number) 含义:用来指定证书的唯一序列号,以标识CA发出的所有公钥证书。
签名(Signature) 算法标识(Algorithm Identifier) 含义:用来指定CA签发证书所用的签名算法。
签发此证书的CA名称(Issuer ) 含义:用来指定签发证书的CA的 X.500 唯一名称(DN, Distinguished Name)。
证书有效期(Validity Period) 起始日期(notBefore) 终止日期(notAfter) 含义:用来指定证书起始日期和终止日期。
用户名称(Subject) 含义:用来指定证书用户的 X.500 唯一名称(DN,Distinguished Name)。
用户公钥信息(Subject Public Key Information) 算法(algorithm) 算法标识(Algorithm Identifier) 用户公钥(subject Public Key) 含义:用来标识公钥使用的算法,并包含公钥本身。
证书扩充部分(扩展域)(Extensions) 含义:用来指定额外信息。
X.509 V3 证书的扩充部分(扩展域)及实现方法如下:CA的公钥标识(Authority Key Identifier) 公钥标识(SET 未使用)(Key Identifier) 签发证书者证书的签发者的甄别名(Certificate Issuer) 签发证书者证书的序列号(Certificate Serial Number)
SSL证书的分类及特点
三类SSL证书的分类及特点:
域名型SSL证书(DV SSL)
支持和识别企业型证书的所有浏览器,也同样支持域名型证书,颁发时只验证域名所有权,浏览器界面显示安全锁标志,不显示单位名称(只显示域名);颁发时间快速及无需递交公司文书是域名型证书的优势所在。这些优势使得域名型SSL证书成为那些需要低成本快速颁发,又不想费力提交公司相关文件的在线商务客户的理想选择。
企业型SSL证书(OV SSL)
在颁发证书前,此证书审核证书申请人对域名的所有权,以及部分企业相关信息审核,浏览器界面显示安全锁标志,显示单位名称。
增强型SSL证书(EV SSL)
此证书审核证书申请人对域名的所有权,而且对域名拥有企业自身身份进行严格鉴证。最新的发展是EV标准的出现,这也许也是SSL技术史上最重要的进步。新的高安全性浏览器,如Windows XP和Windows Vista中使用的IE7.0,将EVSSL证书定义为EV证书,并激活在浏览器界面安全增强功能,如IE7.0中的绿色地址栏。对于那些希望获得最高等级安全认证的客户来说,EVSSL证书无疑是最理想的选择。
SSL证书作用
数字证书本质的作用就是确定网络通讯双方身份的确定性。
SSL安全加密机制功能是依靠使用数字证书来实现的。安全专家开发了“SSL Certificate”(服务器证书),其功能类似于驾照或护照,由数字认证中心(Certificate Authority 简称CA)对外颁发。每一个想取得服务器证书的公司或机构均需通过不同的资格审查步骤方可获得该种证书。不同机构颁发、不同等级的服务器证书,其申请审核步骤也不尽相同。拥有了SSL服务器证书,网络上的两个实体,例如一个客户就可以与网站服务器以协商好的安全和认证级别安全的进行数据传送。用户可以通过服务器证书验证他所访问的网站是否真实可靠。
加密强度强弱
128位对称加密强度,1024位非对称加密强度是安全可靠的
加密的保障,建立SSL加密通道,这是所有服务器证书,无论品牌、申请方式都可以起到的功能,唯一的价值区别在于加密强度,目前,达到128位对称加密强度的服务器证书均可以实现有保障的加密通道。
目前市场上的服务器证书中,对于加密位数有个加密位数越高越好的误区,SSL协议涉及到的加密的环节,有两个加密位数,一是证书公钥位数,分为512位、1024位、2048位,主流的是1024位。一是会话秘钥(对称密钥)位数,分为40位,128位,256位,主流的是128位。公钥算法主要是用来加密会话秘钥,会话秘钥是SSL会话建立之后对会话内容进行加密,会话秘钥的长度和浏览器支持的密钥长度相关,微软的IE系列浏览器,有40位和128位两种,VeriSign服务器证书采用SGC技术,可以实现40位IE浏览器的128位强制加密,其他处于从属地位的浏览器,例如firefox,可以支持256位会话秘钥。主流的密钥长度在目前的技术水准下,破解的难度相当高,暴力破解需要耗费相当长的时间。而由于SSL会话秘钥是一次性的,且有效期较短,基本不存在被暴力破解的可能性。
加密过程需要消耗服务器资源,在密钥长度增加的同时,会带来更大的性能负载,在主流密钥长度可以提供足够安全的保障前提之下,更长的密钥长度只能带来无效的负载增加。
证书的特色功能
128位 “增强” SGC SSL
由于许多旧版本浏览器仅支持40位加密强度,必须通过SGC (Server Gated Cryptography)这样的技术,将弱40位加密强度“强制”提升到强128位加密强度。服务器和旧版本浏览器(如Microsoft浏览器4.723612.1713及以上版本)建立连接时,具有SGC功能的SSL服务器证书,会将客户端加密强度自动“增强”至128位。如果SSL证书不具备SGC功能,低级别浏览器就只能以弱40位加密强度进行连接。SGC是一种服务器端使用的SSL证书,它可以影响客户端与服务器端会话时对于加密强度的选择。安全强制型SSL证书是高应用安全需求的最佳选择。
通用域名服务器证书
是比单纯的同一域名拷贝授权更加开放的授权方式,不仅可以让同一域名的服务器分享拷贝同一服务器证书,而且可以让同一域名不同子域名或主机名的主机分享同一拷贝。
EV显示
以浏览器为例,用户通过浏览器显示出的小锁图标,可得知目前正使用SSL传输,如果使用了更先进的EV SSL,那么除了显示小锁图标以外,浏览器的地址栏也会变成绿色。 这就是SSL成功的关键——对于终端用户,这是一种超乎想象的简单体验与信任。
数字证书主要有以下四大功能
一、信息的保密性
网络业务处理中的各类信息均有不同程度的保密要求。如政务系统的用户名和密码被人知悉,身份就可能被冒用,网络交易的订货和付款的信息被竞争对手获悉,就可能丧失商机。而CA中心颁发的数字证书保证了电子政务、电子商务的信息传播中信息的保密。
二、网络通讯双方身份的确定性
网络通讯的双方很可能素昧平生,相隔千里。要使交易成功首先要能确认对方的身份,对于服务提供方,要考虑“客户端不能是骗子”;而对于客户一方,也会担心自己登录的服务是否是一个玩弄欺诈的黑店。因此能方便而可靠地确认对方身份是交易的前提。对于为顾客或用户开展服务的政府行政服务中心、银行、和销售商店,为了做到安全、保密、可靠地开展服务活动,都要进行身份认证的工作。而CA中心颁发的数字证书可保证网上通讯双方的身份,行政服务中心、银行和电子商务公司可以通过CA认证确认身份,放心的开展网上业务。
三、不可否认性
由于系统业务的千变万化,交易一旦达成是不能被否认的。否则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨了,如收单方能否认受到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此CA中心颁发的数字证书确保了电子交易通信过程的各个环节的不可否认性,使交易双方的利益不受到损害。
四、不可修改性
交易的文件是不可被修改的,如上例所举的订购黄金。供货单位在收到订单后,发现金价大幅上涨了,如其能改动文件内容,将订购数1吨改为1克,则可大幅受益,那么订货单位可能就会因此而蒙受损失。因此CA中心颁发的数字证书也确保了电子交
展开阅读全文