信息时代的身份证明
随着Internet与人类社会的结合日益紧密,安全问题也越发凸显在人们的面前。随着对在网络传输进行保护的需求变得更加强烈,针对数据本身进行安全防护的加密技术被寄予厚望,因为一段明文数据被截获无疑将导致即时性的灾祸。目前互联网安全最常用的加密认证体系是以数字证书的形式实现的。数字证书是一种包含了证书持有者信息、用于在网络上证明证书持有者身份的数字标识,而且可以对交换的数据进行加密。就像我们的身份证一样,数字证书目前在网上银行、在线证券交易、网络支付等电子商务领域获得了广泛的应用,是我们进行网上经济及社会活动过程中重要的技术基础,同时也是电子政务、网络办公等领域用于提供数据安全保障的有力武器。
公钥技术基础
大部分商业应用中的数字证书系统都是基于PKI(公钥基础设施)技术的,PKI已经很好的植入到浏览器等常见的客户端程序中,所以非常适用于Internet环境。为了清楚的了解PKI,我们先来温习一下公钥系统的内容。公共密钥系统与最为常见的私钥加密系统不同,私钥系统是通过一个私有密钥(例如一串字符)经由某种加密算法对数据进行加密运算,而解密方同样需要知道该私有密钥才能对数据进行解密。当我们为自己使用的数据进行加密时,私钥系统是简便而强健壮壮的技术,但是当我们需要与其它人交换数据的时候,问题就出现了,因为你必须将密钥告诉所有需要使用该数据的人,这就使得密钥面临了和数据同样的安全风险。而公钥系统的最主要特点在于它使用两个密钥来处理数据,一个密钥专门用于加密,另一个用以解密。想使用公共密钥系统进行加密,必须先利用公钥软件系统产生公钥和私钥,而不能象私钥系统那样随意的选择密钥。公钥和私钥是紧密联系的一对儿,公钥用于对数据进行加密操作,而解密必须用私钥来完成,两者各司其职。我们把公钥发给所有我们需要与之交换数据的人,由于公钥是不能进行解密操作的,所以这样做不会产生造成安全问题,而我们的手里也应该存有对方的公钥;同时我们每个人妥善的保管我们各自的私钥用于解密发给我们的数据。举例来说,现在我拥有我的合作伙伴sun的公钥,当我想发给她一份我们软件产品的代理价格时,我用sun的公钥对文档进行加密并将数据发给她,这时我知道,应该只有sun拥有她自己的私钥,所以只有sun才能阅读到这份文档;另外,通常我的公钥会被我附加在我的各种文档中发送给其它人,这样所有和我有来往的人都可以获得我的公钥,并用它加密那些只想让我看到的数据并发送给我。这个过程很聪明吧,但或许你会觉得做起来有点麻烦。其实不用担心,我们可以很方便的将密钥通过导入和导出操作集成在我们的客户端软件里(比如网页浏览器以及电子邮件客户端等等),之后的所有加密和解密操作就都由软件自动替我们完成了。
数字证书体系结构
为了有效的对网上身份进行确认,数字证书通常由权威的、受到公认的第三方数字证书认证中心发放和管理,这个认证中心即我们通常所说的CA(权威认证机构)。CA执行数字证书的生成、保管、发放、验证、撤销等管理工作,并负责建立相关的应用程序接口。最早的CA产生于由Visa和MasterCard所共同倡导的安全电子交易(SET)标准,主要服务于B to C模式的电子商务,之后又融入了对B to B模式的支持,产生了以PKI技术为基础的2.0版本的CA体系。 CA是数字证书认证的核心设施,除了CA之外,SET标准中还定义了安全电子商务操作中的其它三个主要的参与角色。做为消费者的持卡人(Card Holder)必须从发卡行领取一张信用卡或银行卡,并获取相应的数字证书,通过符合SET标准的应用程序(通常被称做电子钱包)与商家进行交互。商家(Merchant)使用的软件系统同样必须符合SET标准,并且商家需要在银行有相应的收款帐户和数字证书。另外,由于有很多家银行都提供这种业务服务,所以还有一类称为支付网关(Payment Gateway)的角色,完成类似银行与商家中介的工作,负责处理持卡人的付款和商家的收款等操作,该角色的职能可以由银行自身完成,也可以由第三方机构执行。以国内的情况来说,消费者要进行网上支付等电子商务操作一般需要以一张银行卡为基础,比如我们去招商银行申请一张一卡通并开通网上支付功能,招商银行会在办理该业务时提供的一份数字证书,这个数字证书通常是由银行向CA申请的。而通过Internet购物的消费者可能持有不同的银行卡和数字证书,商家当然希望所有消费者利用自己习惯的消费工具就能进行购买,而在所有的银行开户及办理相关手续成本很高也非常繁琐,所以运营规模较大的商家通常会申请类似首都电子商城这样的第三方支付平台,即我们前面讲到的支付网关。在挂接了支付网关提供的接口之后,不论消费者通过何种银行卡及渠道进行支付,商家只要通过支付网关提供给自己的帐户就可以完成所有的相关管理了。
数字证书的分类
数字证书如果按照用途分类的话,通常可分为加密证书和签名证书两种。签名证书主要对信息进行数字签名,以维持信息的不可否认性,而加密证书主要对信息进行加密处理,以维护信息的安全性和完整性。同时,因为CA本身是阶层式的,所以在实际操作的过程中我们更多是按照层级和范围来对CA和其发放的数字证书进行划分。在最顶层的根CA(RCA)负责颁发根CA证书;接下来的第二个层级中,符合SET标准的证书被称为品牌CA证书(BCA),而非SET标准的证书称为政策CA证书(PCA);而在第三层,根据所应用对象的不同,符合SET标准的数字证书包括了持卡人CA证书(CCA)、商家CA证书(MCA)及支付网关CA证书(PCA),对于非SET标准的情况则统称为运营CA证书。目前我国已经建成了大量区域性和行业性的CA,比如影响力较大的区域性CA包括上海CA认证中心、广东CA认证中心以及行业性CA中国金融认证中心(CFCA)、中国电信认证中心(CTCA)等等。在申请数字证书的过程中,应该注意考察发放者所采用的技术是否符合标准以及提供的服务是否全面,因为CA必须具有足够的综合实力才能有效的保证数字证书的安全性和可用性;另外也要注意其所能提供的证书期限,目前国内的CA发放的证书通常是一年期限,也有很多认证中心可以发放两年期限的数字证书。到期之后需要对数字证书进行“换发”,而服务好的认证中心通常会提前提醒申请者并帮助申请者处理好各种手续。
寄语
在数字证书红火的发展态势背后,也存在着一些隐忧。大量CA的存在,难免会造成互通方面的障碍,而各个行业、各个区域的业务行为是否能够无缝整合无疑是衡量电子商务环境成熟程度的一个重要准则。另外,当电子商务业务大量膨胀的时候,数字证书技术的安全系数无疑成为最让人担忧的事情之一。能否解决好这些问题,建立符合标准并具有良好互操作性的数字证书服务体系,是关系到电子商务未来的大事,也是对相关机构的一次重大考验。