在国际上,电子商务的安全机制正在走向成熟,并逐渐形成了一些国际规范,比较有代表性的有 SSL和SET。
1.SSL
SSL是一个传输层的安全协议,用于在Interet 上传送机密文件SSL协议由SSL记录协议、SSL 握手协议和SSL警报协议组成。
SSL 握手协议被用来在客户端与服务器真正传输应用层数据之前建立安全机制,当客户端与服务器第一次通信时,双方通过握手协议在版本号、密钥交换算法、数据加密算法和 Hash 算法上达成一致,然后互相验证对方身份,最后使用协商好的密钥交换算法立生一个只有双方知道的秘密信息,客户端和服务器各自根据该秘密信息产生数据加密算法和 Hash 算法参数。
SSL记录协议根据SSL 握手协议协商的参数,对应用层送来的数据进行加密、压缩计算消息鉴别码,然后经网络传输层发送给对方。
SSL警报协议用来在客户端和服务器之间传递SSL出错信息。
SSL 协议主要提供三方面的服务。
(1)用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户端和服务器上。客户端和服务器都有各自的识别号,这些识别号由公开密钥进行编号。为了验证用户是否合法,SSL协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。
(2)加密数据以隐藏被传送的数据。SSL协议所采用的加密技术既有对称密技术也有公开密钥技术。在客户端与服务器进行数据交换之前,交换 SSL 初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。
(3)保护数据的完整性。SSL 协议采用 Hash 函数和机共的法提供信息的完整性服务,建立客户端与服务器之间的安全通道,使所有经过 SSL协议处理的业务在传输过程中能全部完整、准确无误地到达目的地。
SSL协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段。
(1)接通阶段。客户端通过网络向服务器打招呼,服务器回应
(2)密码交换阶段。客户端与服务器之间交换双方认可的密码,一般选用 RSA 密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法。
(3)会谈密码阶段。客户端与服务器间产生彼此交谈的会谈密码
(4)检验阶段。客户端检验服务器取得的密码。
(5)客户认证阶段。服务器验证客户端的可信度
(6)结束阶段。客户端与服务器之间相互交换结束的信息。
发送时信息用对称密钥加密,对称密钥用不对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。因此,SSL协议也可用于安全邮件。
2.SET
SET(Secure Electronic Transaction,安全电子交易)协议向基于信用卡进行电子化交易的应用提供了实现安全措施的规则。它是由Visa国际组织和MasterCard组织共同制定的一个能保证通过开放网络(包括Intermet进行安全资金支付的技术标准SET在保留对客户信用卡认证的前提下,又增加了对商家身份的认证。
SET 支付系统主要由持卡人、商家、发卡行、收单行、支付网关和认证中心6个部分组成。对应地,基于 SET 协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。
SET协议的工作流程如下
(1)消费者利用自己的 PC 通过因特网选定所要购买的物品,并在计算机上输入订货单,订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。
(2)通过电子商务服务器与有关在线商店联系,在线商店作出应答,告诉消费者所填订货单的货物单价、应付款数和交货方式等信息是否准确,是否有变化。
(3)消费者选择付款方式,确认订单签发付款指令。此时 SET 开始介入。
(4)在SET 中,消费者必须对订单和付款指进行数字签名,同时利用双重签名技术保证商家看不到消费者的账号信息。
(5)在线商店接受订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单银行,再到电子货币发行公司确认。批准交易后,返回确认信息给在线商店。
(6)在线商店发送订单确认信息给消费者。消费者端软可记录交易日志,以备将来查询。
(7)在线商店发送货物或提供服务并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结一天的账。前两步与 SET 无关,从第 (3)开始 SET 起作用,一直到第(6)步,在处理过程中通信协议、请求信息的格式和数据类型的定义等SET 都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过 CA 来验证通信主体的身份,以确保通信的对方不是冒名顶替,所以,也可以简单地认为 SET 规格充分发挥了认证中心的作用,以维护在任何开放网络上电子商务参与者所提供信息的真实性和保密性。
3.SET 与SSL 的比较
在认证要求方面,早期的SSL 并没有提供商家身份认证机制,虽然在SSL3.0中可以通过数字签名和数字证书实现浏览器和 Web 服务器双方的身份验证,但仍不能实现多方认证。相比之下,SET 的安全要求较高,所有参与 SET 交易的成员(持卡人、商家发卡行、收单行和支付网关)都必须申请数字证书进行身份识别。
在安全性方面,SET 协议规范了整个商务活动的流程,从持卡人到商家,到支付网关,到认证中心以及信用卡结算中心之间的信息流走向和必须采用的加密、认证都制定了严密的标准,从而最大限度地保证了商务性、服务性、协调性和集成性。而 SSL 只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此,SET 的安全性比 SSL高。
在网络层协议位置方面,SSL 是基于传输层的通用安全协议,而 SET位于应用层对网络上其他各层也有涉及。
在应用领域方面,SSL 主要是和 Web 应用一起工作,而SET是为信用卡交易提供安全,因此如果电子商务应用只是通过 Web 或是邮件,则可以不要 SET。但如果电子商务应用是一个涉及多方交易的过程,则使用 SET 更安全、更通用些。SSL 协议实现简单,独立于应用层协议,大部分内置于浏览器和 Web 服务器中,在电子交易中应用便利。但它是一个面向连接的协议,只能提供交易中客户端与服务器间的双方认证,不能实现多方的电子交易。SET 在保留对客户信用卡认证的前提下增加了对商家身份的认证,安全性进一步提高。由于两个协议所处的网络层次不同,为电子商务提供的服务也不相同,因此在实践中应根据具体情况来选择独立使用或两者混合使用
4.认证中心(CA)
CA 是电子商务体系中的核心环节,是电子交易中信赖的基础。它通过自身的注册审核体系,检查核实进行证书申请的用户身份和各项相关信息,使网上交易的用户属性客观真实性与证书的真实性一致。认证中心作为权威的、可信赖的、公正的第三方机构,专门负责发放(给个人、计算机设备和组织机构)并管理所有参与网上交易的实体所需的数字证书,并为其使用证书的一切行为提供信誉的担保。但是,CA 本身并不涉及商务数据加密、订单认证过程以及线路安全。
概括地说,CA 的功能有证书发放、证书更新、证书撤销和证书验证。CA的核心功能就是发放和管理数字证书,具体描述如下。
(1)接收验证最终用户数字证书的申请。
(2)确定是否接受最终用户数字证书的申请-证书的审批。
(3)向申请者颁发或拒绝颁发数字证书。
(4)接收、处理最终用户的数字证书更新请求-证书的更新
(5)接收最终用户数字证书的查询、撤销。
(5)产生和发布证书废止列表(CRL),验证证书状态。
(7)数字证书的归档。
(8)密钥归档。
(9)历史数据归档。
通常 CA 中心会采用“统一建设,分级管理”的原则,分为多层结构进行建设和管理,即统一建立注册中心(Registration Authority,RA)系统,各地级市以及各行业可以根据具体情况设置不同层次的下级RA中心或本地注册中心(Local Registration Authority,LRA)。各下级RA 机构统一接受CA 中心的管理和审计,证书用户可通过LRA 业务受理点完成证书业务办理。RA 系统负责本地管理员、用户的证书申请审核,并为LRA系统在各分支机构的分布建设提供策略支撑,完成 CA 中心证书注册服务的集中处理。