PKI采用证书进行公钥管理,通过第三方的可信任机构【认证中心,即CA】,把用户的公钥和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等信息,以在互联网上验证用户的身份。PKI把公钥密码和对称密码结合起来,在互联网上实现密钥的自动管理,保证网上数据的安全传输。
因此,从大的方面来说,所有提供公钥加密和数字签名服务的系统,都可归结为PKI系统的一部分,PKI的主要目的是通过自动管理密钥和证书,为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性和有效性。
2.PKI的组成
完整的PKI系统必须具有权威认证机构【CA】、数字证书库、密钥备份及恢复系统、密钥和证书的更新、证书作废系统、支持交叉认证、应用接口【API】等基本构成部分。
【1】认证机构CA【Certificate Authority,简称CA】
CA是PKI的核心执行机构,是PKI的主要组成部分,业界人士通常称它为认证中心。即数字证书的申请及签发机关,CA必须具备权威性的特征;
【2】数字证书库
证书是数字证书或电子证书的简称,它符合X.509标准,是网上实体身份的证明。证书是由具备权威性、可信任性和公正性的第三方机构签发的,因此,它是权威性的电子文档。数字证书库是用于存储已签发的数字证书及公钥的存放处,用户可由此获得所需的其他用户的证书及公钥。
【3】密钥备份及恢复系统
密钥备份及恢复是密钥管理的主要内容,如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构【CA】来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。
【4】密钥和证书的更新
一个证书的有效期是有限的,这种规定在理论上是基于当前非对称算法和密钥长度的可破译性分析;在实际应用中是由于长期使用同一个密钥有被破译的危险,因此,为了保证安全,证书和密钥必须有一定的更换频度。为此,PKI对已发的证书必须有一个更换措施,这个过程称为“密钥更新或证书更新”。证书更新一般由PKI系统自动完成。
【5】证书作废系统
证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。
【6】应用接口【API】
PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。
【7】交叉认证
交叉认证就是多个PKI域之间实现互操作。交叉认证实现的方法有多种:一种方法是桥接CA,即用一个第三方CA作为桥,将多个CA连接起来,成为一个可信任的统一体;另一种方法是多个CA的根CA【RCA】互相签发根证书,这样当不同PKI域中的终端用户沿着不同的认证链检验认证到根时,就能达到互相信任的目的。
3.PKI的服务
PKI作为安全基础设施,能为不同的用户按不同安全需求提供多种安全服务。这些服务主要包括认证、数据完整性、数据保密性、不可否认性和公正服务。
【1】认证
认证服务即身份识别与鉴别,向一个实体确认另一个实体确实是他自己,鉴别身份的真伪。PKI的认证服务采用数字签名这一密码技术。
【2】数据完整性服务
向一个实体确保数据没有被有意或无意地修改。PKI的数据完整性服务可以采用两种技术。第一种技术是数字签名。第二种技术是消息认证码或MAC。这项技术通常采用对称分组密码或密码杂凑函数。
【3】数据保密性服务
PKI的保密性服务采用了“数字信封”机制,即发送方先产生一个对称密钥,并用该对称密钥加密敏感数据。同时,发送方还用接收方的公钥加密对称密钥,就像把它装入一个“数字信封”。然后,把被加密的对称密钥【“数字信封”】和被加密的敏感数据一起传送给接收方。接收方用自己的私钥拆开“数字信封”,并得到对称密钥,再用对称密钥解开被加密的敏感数据。
【4】不可否认性服务
不可否认性服务是指从技术上保证实体对其行为的认可。在这中间,人们更关注的是数据来源的不可否认性、接收的不可否认性以及接收后的不可否认性。此外还有传输的不可否认性、创建的不可否认性和同意的不可否认性。
【5】公证服务
PKI中的公证服务与一般社会公证人提供的服务有所不同,PKI中支持的公证服务是指“数据认证”,也就是说,公证人要证明的是数据的有效性和正确性,这种公证取决于数据验证的方式。
【四】CA
在上一节中,我们介绍了目前安全解决方案中占据了重要位置的PKI技术,它可以保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。一个完整的PKI系统中,认证机构居于核心地位。
为保证网上数字信息的传输安全,除了在通信传输中采用更强的加密算法等措施之外,必须建立一种信任及信任验证机制,即参加电子商务的各方必须有一个可以被验证的标识,这就是数字证书。数字证书是各实体【持卡人/个人、商户/企业、网关/银行等】在网上信息交流及商务交易活动中的身份证明。该数字证书具有唯一性。它将实体的公开密钥同实体本身联系在一起,为实现这一目的,必须使数字证书符合X.509国际标准,同时数字证书的来源必须是可靠的。这就意味着应有一个网上各方都信任的机构,专门负责数字证书的发放和管理,确保网上信息的安全,这个机构就是CA认证机构。各级CA认证机构的存在组成了整个电子商务的信任链。如果CA机构不安全或发放的数字证书不具有权威性、公正性和可信赖性,电子商务就根本无从谈起。
1.CA的含义
认证中心【CA】是电子商务体系中的核心环节,是电子交易中信赖的基础。它通过自身的注册审核体系,检查核实进行证书申请的用户身份和各项相关信息,使网上交易的用户属性客观真实性与证书的真实性一致。认证中心作为权威的、可信赖的、公正的第三方机构,专门负责发放并管理所有参与网上交易的实体所需的数字证书。
数字证书认证解决了网上交易和结算中的安全问题,其中包括建立电子商务各主体之间的信任关系,即建立安全认证体系【CA】;选择安全标准【如SET、SSL】;采用高强度的加、解密技术。其中安全认证体系的建立是关键,它决定了网上交易和结算能否安全进行,因此,数字证书认证中心机构的建立对电子商务的开展具有非常重要的意义。
2.CA的基本功能
作为CA,必须具有如下基本功能:
【1】签发数字证书;
【2】CA密钥的管理;
【3】接受证书申请,审核申请者身份;
【4】证书管理;
【5】提供证书和证书状态的查询。
以上功能中,最为重要的是签发证书。CA对其签发的数字证书全部内容【包括证书用户姓名标识、公钥信息、颁发者标识、证书有效期、签名算法标识等信息】进行数字签名。从而权威地证明了证书持有者和公钥的唯一匹配关系。
CA的另一项重要功能是证书查询。CA的证书库可以作为公钥的来源地。此外,证书有效性的查询对于安全认证也是至关重要的。由于证书遗失或其他原因,证书可能需要在失效期未到时就予以撤销。CA提供证书撤销列表【Certificate Revocation List,简称CRL】或其他方法供证书依赖方实时查询。
3.CA的组成部分
CA主要由以下部分组成:
【1】CA服务器:这是CA的核心,是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表【CRL】的生成和处理等服务。
【2】证书下载中心:该中心连接在互联网上,用户通过登录CA网站访问证书下载中心,CA服务器生成的证书通过证书下载中心供用户下载。
【3】目录服务器:功能是提供数字证书的存储,以及数字证书和证书撤销列表【CRL】的查询。
【4】OCSP服务器:该服务器向用户提供证书在线状态的查询。
【5】密钥管理中心【KMC】:根据国家密码管理规定,加密用私钥必须由权威、可靠的机构进行备份和保管。CFCA被授权建立KMC,以备份和保管用户的加密密钥。
【6】证书注册机构【Registration Authority,简称RA】:负责受理证书的申请和审核,其主要功能是接受客户证书申请并进行审核。RA主要是远程的,CFCA的RA部署在各家用户银行、税务机关或企业所在地。因为,这样一方面便于进行客户资料的审查,另一方面也便于银行将证书与客户的账号进行绑定,以实现认证。但即使RA部署在远程所在地,这些RA也仍然是CA的组成部分。
4.CA的结构
一般的PKI/CA系统都为层次结构,这里就以CFCA系统结构为例来说明:在系统设计之初,CA系统由根CA【1个】、政策CA【3个】和运营CA【多个】三部分组成。
当初设计这种结构的初衷是,CFCA希望做成全国性的金融CA,向公众提供服务。这样,根CA的作用主要是负责制定和审批CA的总策略,向政策CA发放证书,以及与国际其他PKI域的CA进行交叉认证。三个政策CA则分别负责制定和审批银行、证券、保险领域CA的策略,向运营CA发放证书。运营CA则负责颁发最终用户的证书。
由于三层结构CA的证书链较长,认证速度效率较低,而且认证业务并没有按原来所设想的方向发展,政策CA实际上只建了1个,原来的初衷未能实现。因此,CFCA后来新建的CA系统全部采用RCA-OCA两层的扁平结构,省略了政策CA这层。
5.我国网上银行安全认证现状
目前,我国几乎所有开展实质性金融业务的网上银行都采用了安全认证技术来确保交易信息的保密性、完整性、可用性和不可否认性。以下就我国网上银行安全认证的发展现状作一介绍。
国内全国性商业银行共有14家,他们的认证服务主要有两种方式实现:
第一种是自建CA:为自己的网上银行客户提供认证服务;目前,中国工商银行、中国农业银行、中国银行、中国建设银行、招商银行、交通银行、浦东发展银行等商业银行有自己的CA,仅为自己的客户提供认证服务。其中除了中国建设银行、交通银行CA只为自己的B2C客户提供认证服务外,其他几家CA都为自己的所有网银客户提供认证服务【包括B2B和B2C业务】。
另一种是第三方认证,即网银客户使用专门从事安全认证机构发放的证书。中国金融认证中心【CFCA】是目前金融行业中唯一提供金融安全认证的第三方机构。目前,全国性商业银行中的中信银行、华夏银行、光大银行、民生银行、兴业银行、广东发展银行和深圳发展银行的所有网上银行业务都采用的是第三方CFCA证书。交通银行和中国建设银行的B2B业务也采用了CFCA签发的证书。
【五】电子支付安全协议技术
电子支付是企业现金管理业务中的重要内容,随着网银和电子支付的兴起,企业现金管理中的付款业务越来越多地通过网上银行或电子支付平台来完成。使得电子支付正逐渐取代传统的支付方式。但是,由于电子支付是通过开放的网络来实现的,支付信息很容易受到来自各种途径的攻击和破坏,信息的泄露和受损将带来大量的信息安全问题。
电子支付的安全机制主要是由安全协议支持的。目前国际上流行的电子支付所采用的协议主要包括:用于接入控制的SSL安全协议【Secure Socket Layer】、基于信用卡交易的安全电子交易协议【Secure Electronic Transaction,简称SET协议】以及VISA国际组织引入的3D安全协议【3-Domain Secure】。
1.SSL安全协议
SSL安全协议【Secure Socket Layer】主要是使用公开密钥体制和X.509数字证书技术,保护信息传输的机密性和完整性,主要适用于点对点之间的信息传输,常用Web-Server方式。SSL安全协议最初是由Netscape Communication公司设计开发的,又叫安全套接层【Secure Sockets Layer】协议,主要用于提高应用程序之间的数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接层的客户和服务器间事务安全的协议,它涉及了所有TCP/IP应用程序。
SSL安全协议主要提供三方面的服务:
【1】认证用户和服务器,使得他们能够确信数据将被发送到正确的客户机和服务器上。
【2】加密数据以隐藏被传送的数据。
【3】维护数据的完整性,确保数据在传输过程中不被改变。
SSL安全协议的运行步骤包括六步:
【1】接通阶段。客户通过网络向服务商打招呼,服务商回应。
【2】密码交换阶段。客户与服务商之间交换双方认可的密码。一般选用RSA密码算法,也有的选用Diffie-Hellman和Fortezza-KEA密码算法。
【3】会谈密码阶段。客户与服务商间产生彼此交谈的会谈密码。
【4】检验阶段。检验服务商取得的密码。
【5】客户认证阶段。验证客户的可信度。
【6】结束阶段。客户与服务商之间相互交换结束的信息。
当上述动作完成之后,两者间的资料传送就会加以密码,等到另外一端收到资料后,再将加密后的资料还原。即使盗窃者在网络上取得加密后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。
2.SET协议