在电子交易过程中,为了保证交易的安全性,需要采用数据加密和身份认证技术,以便使商家和客户的机密信息都得到可靠的传输,并且双方都能互相验证身份,防止欺诈行为。针对这种情况,在1994年底由Netscape首先引入了安全套接层(Secure Sockets Layer,即SSL)协议,并在1996年6月由Master Card 和Visa 等九大公司联合制定的标准安全电子交易协议(Secure Electronic Transaction,即SET)也正式公布。本节着重介绍这两种比较流行的协议以及公钥基础设施(Public Key Infrastructure,即PKI)。
7.5.1 SSL协议
SSL协议最初是由Netscape Communication公司设计开发的,又叫“安全套接层(Secure Sockets Layer)协议”。目前已有SSL2.0版本和SSL3.0版本。它采用了公开密钥技术,其目标是保证两个应用者间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。现在SSL协议已经成为Internet上保密通信的工业标准。它目前也已成为保护Web安全和基于HTTP的电子商务交易安全的事实上的标准,被许多公司的网络产品所支持,如IE和Netscape浏览器。
1.SSL协议提供的三种基本的安全服务
(1)秘密性
安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。具体是在客户机与服务器进行数据交换之前,首先通过密码算法和密钥的协商,建立起一个安全的通道。以后在安全通道中传输的所有信息都经过加密处理,从而保证了数据传输的机密性。
(2)认证性
为了保证客户和服务器的合法性,利用证书技术和可信的第三方CA来使客户和服务器之间相互识别对方的身份,使得它们能够确信数据将被发送到正确的客户机和服务器上。为了验证用户是否合法,安全套接层协议要求“握手”交换数据进行数据认证,以此来确保用户的合法性。
(3)完整性
安全套接层协议利用密码算法和HASH函数,通过对传输中消息摘要的比较来提供信息完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中都能全部完整地、准确无误地到达目的地。
2.SSL协议的实现模型
SSL协议的实现属于Socket 层,处于应用层和传输层之间,它由两层结构组成:一是SSL记录协议(SSL Record Protocol),它建立在面向连接的可靠的传输层协议TCP基础之上,提供机密性、真实性和重传性保护;二是SSL握手协议(SSL Hand-shake Protocol),它位于记录层协议的上部,用于客户机和服务器之间的初始化和密钥协商等。
3.SSL的应用
SSL的典型应用主要有两个方面:一是客户端,如浏览器等;另一个是服务器端,如Web服务器和应用服务器等。目前一些主流浏览器都提供了对SSL的支持。要实现浏览器(或其他客户端应用)和Web服务器(或其他服务器)之间的安全SSL信息传输,必须在Web服务端安装支持SSL的Web服务器证书,在浏览器端安装支持SSL的客户端证书(可选),然后对服务器进行配置,完成配置后,可以在URL中看到“http://”变为“https://”。
7.5.2 SET协议
在电子商务初始阶段,参与电子商务的企业大都是一些信誉较高的大公司,SSL协议的缺点并没有完全暴露出来。但是随着参与电子商务的企业迅速增加,SSL协议已不能满足电子商务的安全需求,它的缺点也逐渐暴露出来。首先,SSL协议是一个面向连接的协议,只能是提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方之间的安全传输和信任关系;其次,SSL协议只能保证资料传递过程的安全,而传递过程是否有人截取就无法保证了。所以,SSL协议并没有实现电子支付所要求的保密性、完整性和不可抵赖性,而且实现多方互相认证也是很困难的。
为了克服SSL协议的缺点,满足电子商务日益增长的安全要求,SSL协议将逐渐被新的安全电子交易(Secure Electronic Transactions,即SET)协议所取代。SET协议是由Visa和Mastercard两大信用卡组织共同推出的,并且由众信息产业公司共同协作发展而成。目前已经标准化且被业界广泛接受。SET协议现由SETCO负责推广、发展和认证,目的是实施安全电子交易SET的规范。
1.SET协议中利用的主要技术
为了确保网上交易所要求的保密性、数据完整性、身份的认证和交易的不可抵赖性,在SET协议中利用的主要技术有:加密技术如RSA和DES算法、数字拇印(Digital Finger)或数字摘要(Digital Digest)、数字信封(Digital Envelope)、数字签名(Digital Signature)、数字时间戳(Digital Time-Stamp)、数字证书(Digital Certificate,Digital ID)等,利用这些技术可以为电子商务提供很强的安全保护。
(1)数字拇印
接收方接到文件后,用相同的方法进行变换计算,若得出的结果与发送来的摘要码相同,则可断定文件未被篡改,反之亦然。
(2)数字信封
在数字信封中,信息发送方采用对称密钥来加密信息,然后将此对称密钥用接收方的公开密钥加密,加密后的密钥称之为数字信封,然后将数字信封和加密好的信息一起发送给接收方,接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开信息。
(3)数字签名
数字签名是把HASH函数和公钥算法结合起来,在提供数据完整性的同时,也可以保证数据的真实性。完整性是指传输的数据没有被修改,真实性是指确实是由合法者产生的HASH值而不是由其他人假冒。数字签名类似于文档的签名,以防止其抵赖行为。
将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要值,也即数字拇印。然后把该报文的摘要值用发送者的私人密钥加密(所得的加密摘要值即为数字签名),并将该密文同原报文一起发送给接收者,接收者用发送者公开密钥对数字签名进行解密,若解密出的数字签名与其计算出的相同,则可确定发送者的身份是真实的。这样,只要拥有发送者的公开密钥的人都能够验证数字签名的正确性,而只有真正的发送者才能发送这一数字签名,这也就是完成了对发送者身份的鉴别。
数字签名的基础是密码技术,目前较多使用公钥加密体制实现数字签名,用于数字签名的公开密钥密码算法,一般选用RSA算法。
(4)数字时间戳
在电子交易中,交易文件签署的日期和时间是十分重要的。数字时间戳技术就是对电子文件签署的日期和文件的时间进行安全性保护和有效证明的技术。数字时间戳的签署与由签署人自己写上书面文件的时间根本不同,它是由专门的认证机构来加的,并以认证机构收到文件的时间为依据。
2.SET协议中所涉及的主要对象
SET协议中所涉及的对象主要有:消费者即持卡人(Cardholder)、商家(Merchant)、收单银行(Acquiring Bank)、发卡行(Issuing Bank)、支付网关(Payment Gateway)和认证机构(Certificate Authority)。
(1)持卡人
持卡人是网上的客户或消费者,在SET支付系统中,网上的消费者首先需要向发卡行申请信用卡或借记卡,经发卡行认可,由发卡行委托第三方CA发给数字证书后,持卡人才具备上网交易资格。
(2)商家
商家是网上商店的经营者,商家首先必须在收单行开设账户,经过收单行的审定和信用评估合格后,由收单行委托证书授权机构CA给商家发证书,然后通过商家专用的软件,有了证书,商家方可上网营业。
(3)收单银行
收单银行主要是对商家进行资格审核,并为商家具体地负责交易中的清算工作以及为支付网关授权等工作。
(4)支付网关
支付网关一边连接Internet,一边通过银行网络与收单银行相连。它完成SET协议和银行交易系统协议之间的信息格式转换,能够使传统的银行支付功能在Internet上实现。
(5)发卡行
消费者申请信用卡的银行机构。
(6)认证机构
认证机构是参与交易的普遍信任的第三方,接受发卡行和收单银行的委托,对持卡人、商家和支付网关发放数字证书,供交易中的所有成员作为身份证明。
3.SET协议的支付模型
在SET协议的支付模型中,要经过以下几个步骤:
(1)首先,消费者在银行开立信用卡账户,获得信用卡;
(2)消费者在商家的Web页上浏览商品目录并选择所需的商品;
(3)消费者选定好商品后,填写订单并通过网络传递给商家,同时附上付款指令;
(4)商家收到订单,同时支付网关收到支付指令向收单银行请示支付许可;
(5)收单银行再通过银行内部网络向发卡行请求确认后,批准交易,并向商家返回确认信息;
(6)商家发送订单确认信息给消费者,并发货给消费者;
(7)商家请示银行支付货款,银行将货款由消费者的账户转移到商家的账户。
SET协议的模型如图7-13所示。
7.5.3 公钥基础设施
公钥基础设施(Public Key Infrastructure,即PKI)是由加拿大的Entrust公司开发的,支持SET、SSL协议、电子证书和数字签名等。PKI为一组安全服务的集合,可以在分布式计算机系统中使用公钥加密机制和证书。企业可以利用相关产品建立安全域,并在其中发布密钥和证书。在安全域内,PKI管理加密密钥和证书的发布,并提供诸如密钥管理(包括密钥更新、密钥恢复和密钥委托等)和证书管理(包括证书产生和撤销等)。
PKI在实际应用中是一套软硬件系统和安全策略的集合,它提供了一整套安全性,使得用户在不知道对方或者分布很广的情况下,以证书为基础,通过一系列的信任关系进行通讯和电子商务交易。
1.PKI的组成
PKI的构建必须围绕认证机构、证书库、密钥备份及恢复系统、证书作废处理系统、PKI应用接口系统等基本成分来构建。下面就分别简要介绍一下它们的功能与特性。
(1)认证机构
CA是证书的签发机构,它是PKI的核心。证书是公开密钥体制的一种密钥管理媒介,它是一种权威性的电子文档,形同网络计算机环境中的一种身份证,用于证明某一主体的身份以及其公开密钥的合法性等问题。在使用公钥体制的网络环境中,为了向公钥的使用者证明公钥的真实合法性,PKI采用CA对在公钥体制环境中的主体和主体的公钥进行公证,以便证明主体的身份以及它与公钥的匹配关系等问题。
CA的主要职责有:验证并标识证书申请者的身份;确保CA用于签名证书的非对称密钥的质量;确保整个签证过程的安全性,确保签名私钥的安全性;证书材料信息(包括公钥证书序列号和CA标识等)的管理;确定并检查证书的有效期限;确保证书主体标识的唯一性,防止重名;发布并维护作废证书表;对整个证书签发过程做日志记录;向申请人发放通知等。其中最为重要的是,CA自己的一对密钥的管理必须确保其高度的机密性,防止他方伪造证书。CA的公钥在网上公开,整个网络系统必须保证完整性。
(2)证书库
PKI系统分发的证书是存放在证书库里的,证书库是网上的一种公共信息库,用户可以从该库中获得其他用户的证书和公钥。它是一种支持证书分发的网络服务,现在公认的最好的证书存储方案是轻量级目录访问协议(Lightweight Directory Access Protocol,即LDAP)。
(3)密钥管理系统
PKI系统应该能够在用户丢失解密密钥的情况下重新获取加密后的信息,也就是要求PKI具有生成密钥备份与恢复密钥,密钥的分配、撤销、暂停、否认和归档等功能。
(4)证书管理系统
在PKI系统中,证书管理系统是非常重要的组件之一。它包括的内容十分广泛,如证书的获取、证书的鉴别、证书的有效性检查以及证书的撤销作废等。目前证书的管理主要有两个标准:一是RSA的PKCS#1,它提供从CA中请求证书的基本语法和数据结构;另外一个是PKIX工作组定义的一套支持不同管理功能的消息格式,详细内容可参考其他书籍。
(5)PKI应用接口系统
2.国外PKI的应用现状
美国作为最早提出PKI概念的国家,于1996年成立了美国联邦PKI筹委会,其PKI技术在世界上处于领先地位,与PKI相关的绝大部分标准都由美国制定。2000年6月30日,美国总统克林顿正式签署美国《全球及全国商业电子签名法》,给予电子签名、数字证书以法律上的保护,这一决定使电子认证问题迅速成为各国政府关注的热点。美国联邦政府的PKI体系建设形成了以下信任层次和信任域:
(1)策略批准机构(PAA):这是联邦PKI的根节点,负责批准二级节点的安全策略。
(2)策略产生机构(PCA):也叫策略认证机构,是联邦PKI的二级节点,定义下级产生公钥证书节点的安全策略。
(3)认证机构(CA):是联邦PKI的三级节点,依据PCA定义的安全策略,为下级用户(可能是下级CA)签发和维护数字证书。
(4)用户:数字证书及相应私有密钥的持有者,用户利用数字证书和私有密钥进行数据保护、身份鉴别等安全行为。
除上述层次外,联邦PKI体系还包含一个目录系统,用于存放有效证书和已经作废的证书。美国联邦政府在研究各联邦政府已建成的PKI体系的基础上,为解决各种不同认证系统之间的交叉认证问题,于1998年提出了桥接CA的概念,旨在解决不同信任域之间的信息传递问题,避免形成信任孤岛。
加拿大在1993就已经开始了政府PKI体系雏形的研究工作,到2000年已在PKI体系方面获得重要的进展,已建成的政府PKI体系为联邦政府与公众机构、商业机构等进行电子数据交换提供了信息安全的保障,推动了政府内部管理电子化的进程。加拿大与美国代表了发达国家PKI发展的主流。
欧洲在PKI基础建设方面也成绩显著。已颁布的93/1999EC法规,强调技术中立、隐私权保护、国内与国外相互认证以及无歧视等原则。为了解决各国PKI之间的协同工作问题,采取了一系列措施:积极资助相关研究所、大学和企业研究PKI相关技术;资助PKI互操作性相关技术研究,并建立CA网络及其顶级CA。欧洲于2000年10月成立了欧洲桥CA指导委员会,于2001年3月23日成立了欧洲桥CA。
在亚洲,韩国是最早开发PKI体系的国家。韩国的认证架构主要分三个等级:最上一层是信息通讯部,中间是由信息通讯部设立的国家CA中心,最下一级是由信息通讯部指定的下级授权认证机构(LCA)。
3.国内PKI建设的现状
我国的PKI技术从1998年开始起步,政府和各有关部门近年来对PKI产业的发展给予了高度重视,2001年PKI技术被列为“十五”863计划信息安全主题重大项目,并于同年10月成立了国家863计划信息安全基础设施研究中心。国家计委也在制定新的计划支持PKI产业的发展,在国家电子政务工程中明确提出要构建PKI体系。目前,我国已全面推动PKI技术的研究与应用。2004年8月28日,十届全国人大常委会第十一次会议表决通过了电子签名法,规定电子签名与手写签名或者盖章具有同等的法律效力。这部法律的诞生将极大地推动我国的PKI建设。
自从1998年国内第一家以实体形式运营的上海CA中心(SHECA)成立以来,PKI技术在我国的商业银行、政府采购以及网上购物中得到广泛的应用。目前,国内的CA机构分为区域型、行业型、商业型和企业型四类,其中全国性的行业CA中心有中国金融认证中心CFCA、中国电信认证中心CTCA等。区域型CA有上海CA中心、广东电子商务认证中心等。但是,我国的PKI建设还处于起步阶段,存在不少亟需解决的问题,主要包括以下几个方面:
(1)缺乏国家统一指导,管理问题突出,至今尚未建立权威的管理部门。分散的CA规模小,利用率低,低估了建设CA的社会责任和经济责任。
(2)各种来源不同、参差不齐的技术供应厂商大量涌现,亟待研究具有我国自主知识产权的基础技术和标准体系。在尚未确立国家标准的情况下,各商家在建立CA的过程中对技术标准和管理规范的理解有较大差距,并且各商家CA基本处于互相分割状态,成为互不关联的信任孤岛,尚未形成完整的国家PKI体系。
(3)缺乏有力的法律支持。
4.PKI的应用前景
由于PKI是重大国家利益和网络经济发展的制高点,也是推动互联网发展、保障事务处理安全、推动电子政务、电子商务的支撑点。因此,建立健全国家PKI体系,将有力地促进我国电子政务以及整个国家信息化的发展。这样,政府和企业都十分重视PKI建设,PKI的应用有着巨大的发展前景。
随着Internet应用的不断普及和深入,政府部门需要PKI支持管理;商业企业内部、企业与企业之间、区域性服务网络、电子商务网站都需要PKI的技术和解决方案;大企业需要建立自己的PKI平台;小企业需要社会提供商业PKI服务。此外,作为PKI的一种应用,虚拟专用网市场也随着B2B电子商务的发展而迅速膨胀。总的来说,PKI的市场需求非常巨大,基于PKI及应用包括了许多内容,如WWW安全、电子邮件安全、电子数据交换、信用卡交易安全、VPN。从行业应用来看,电子商务、电子政务、远程教育等方面都离不开PKI技术。
随着PKI技术应用的不断深入,PKI技术本身也在不断地发展与变化,例如,属性证书、漫游证书、无线PKI(WPKI)等。随着PKI技术的应用与发展,无论是在有线网络,还是在无线世界,PKI必将发挥巨大作用。