(一) 数字证书的内涵
1. 数字证书的概念
数字证书是一个经证书认证中心(certificate authority,简称CA)数字签名的包含公钥拥有者信息以及公钥的数据文件。认证中心的数字签名可以确保证书信息的真实性,用户公钥信息可以保证数字信息传输的完整性,用户的数字签名可以保证数字信息的不可否认性。
数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。
CA作为权威的、可信赖的、公正的第三方机构,专门负责为各种认证需求提供数字证书服务。认证中心颁发的数字证书均遵循X.509V3标准。X.509标准在编排公钥密码格式方面已被广为接受(见表9-1)。
表9-1 X.509数字证书内容
2. 数字证书的功能
(1) 身份验证(authentication)。
(2) 信息传输安全(security)。
(3) 信息保密性(confidentiality)。
(4) 信息完整性(integrity)。
(5) 交易的不可否认性(non-repudiation)。
数字证书包括证书申请者的信息和CA的信息,认证中心所颁发的数字证书均遵循X.509V3标准。数字证书的格式在国际电信联盟(ITU)标准和X.509V3里定义。根据这项标准,数字证书包括证书申请者的信息和发放证书CA的信息。
(二) 数字证书的工作流程
1. 数字证书的工作原理
每一个用户有一个各不相同的名字,一个可信的证书认证中心(CA)给每个用户分配一个唯一的名字并签发一个包含名字和用户公钥的证书。
如果甲想和乙通信,他首先必须从数据库中取得乙的证书,然后对它进行验证。如果他们使用相同的CA,事情就很简单。甲只需验证乙证书上CA的签名;如果他们使用不同的CA,问题就复杂了。甲必须从CA的树形结构底部开始,从底层CA往上层CA查询,一直追踪到同一个CA为止,找出共同的信任CA。
证书可以存储在网络中的数据库中。用户可以利用网络彼此交换证书。当证书撤销后,它将从证书目录中删除,然而签发此证书的CA仍保留此证书的副本,以备日后解决可能引起的纠纷。如果用户的密钥或CA的密钥被破坏,将导致证书的撤销。每一个CA必须保留一个已经撤销但还没有过期的CRL。当甲收到一个新证书时,首先应该从CRL中检查证书是否已经被撤销。
2. 数字证书的传输过程
现有持证人甲向持证人乙传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下。
(1) 甲准备好要传送的数字信息(明文)。
(2) 甲对数字信息进行哈希运算,得到一个信息摘要。
(3) 甲用自己的私钥(SK)对信息摘要进行加密得到甲的数字签名,并将其附在数字信息上。
(4) 甲随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。
(5) 甲用乙的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。
(6) 乙收到甲传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。
(7) 乙然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。
(8) 乙用甲的公钥(PK)对甲的数字签名进行解密,得到信息摘要;乙用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要。
(9) 乙将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
3. 数字证书的存放
数字证书可以存放在计算机的硬盘、移动介质(软盘、U盘)、USB卡(USBKey、U盾等)、IC卡等里面。用户数字证书在计算机硬盘中存放时,使用方便,但存放证书的计算机必须受到安全保护,否则一旦被攻击,证书就有可能被盗用。使用移动介质保存证书,被窃取的可能性有所降低,但容易损坏。一旦损坏,证书将无法使用。IC卡中存放证书是一种较为广泛的使用方式。因为IC卡的成本较低,本身不易被损坏。使用USB卡存放证书时,用户的证书等安全信息被加密存放在USB卡中,无法被盗用。在进行加密的过程中,密钥不出卡,安全级别高,成本较低,携带和使用方便,适用于个人业务。
(三) 数字证书验证过程
持证人甲想与持证人乙通信时,首先查找数据库并得到一个从甲到乙的证书路径(certification path)和乙的公钥。这时甲可使用单向或双向验证证书。单向验证是从甲到乙的单向通信,它建立了甲和乙双方身份的证明以及从甲到乙的任何通信信息的完整性,还可以防止通信过程中的任何攻击。双向验证与单向验证类似,但它增加了来自乙的应答。它保证是乙而不是冒名者发送来的应答。它还保证双方通信的机密性并可防止攻击。单向和双向验证都使用了数字时间戳。
1. 单向验证过程
(1) 甲产生一个随机数Ra。
(2) 甲构造一条信息,M=(Ta,Ra,Ib,d),其中Ta是甲的时间标记,Ib是乙的身份证明,d为任意的一条数据信息。为安全起见,数据可用乙的公钥Eb加密。(www.xing528.com)
(3) 甲将(Ca,Da(M))发送给乙(Ca为甲的证书,Da为甲的私钥)。
(4)乙确认Ca并得到Ea。他确认这些密钥没有过期(Ea为甲的公钥)。
(5) 乙用Ea去解密Da(M),这样既证明了甲的签名又证明了所签发信息的完整性。
(6) 为准确起见,乙检查M中的Ib。
(7) 乙检查M中的Ta以证实信息是刚发来的。
(8) 作为一个可选项,乙对照旧随机数数据库检查M中的Ra以确保信息不是旧信息重发。
2. 双向验证过程
双向验证过程包括一个单向验证和一个从乙到甲的类似的单向验证。除了完成单向验证的(1)到(8)步外,双向验证还包括如下步骤。
(9) 乙产生另一个随机数,Rb。
(10) 乙构造一条信息,Mm=(Tb,Rb,Ia,Ra,d),其中Tb是乙的数字时间戳,Ia是甲的身份,d为任意的数据。为确保安全,可用甲的公钥对数据加密。Ra是甲在第(1)步中产生的随机数。
(11) 乙将Db(Mm)发送给甲。
(12) 甲用Ea解密Db(Mm),以确认乙的签名和信息的完整性。
(13) 为准确起见,甲检查Mm中的Ia。
(14) 甲检查Mm中的Tb,并证实信息是刚发送来的。
(15) 作为可选项,甲可检查Mm中的Rb以确保信息不是重放的旧信息。
(四) 金融数字证书的应用
为配合我国电子商务和网络银行发展的需要,由中国人民银行牵头,联合各家商业银行共同出资建设了中国金融认证中心CFCA(China Finance Certificate Authority)和支付网关。金融认证中心的建立,对于推动我国电子商务、网上支付、网上银行的发展,提高我国计算机安全通信水平,发展我国的金融市场和市场经济,起到了重要作用。CFCA中建设了SET CA和NON-SET CA两套系统,其中SET CA主要用于电子商务中的B to C业务模式的身份认证,它由IBM公司承建;NON-SETCA可同时支持B to B (B2B)和B to C(B2C)两种业务模式的身份认证。
1. SETCA的结构与功能
CFCA的SET证书支持基于银行卡支付的SET交易(B2C),PKI证书既支持B2C交易,也支持B2B交易。CFCA的证书可支持网上银行、网上证券交易、网上购物及安全电子文件传输等应用。
SETCA的结构分为三层:第一层为根CA(RCA),设在中国人民银行总行,负责制定和审批总体政策,确定每层CA的职责,给自己签发证书并签发和管理第二层CA的证书,还要同其他根CA交叉认证;第二层CA为“品牌CA”或“政策CA”,根据根CA的政策,负责制定具体的管理制度和动作规范,签发和管理第三层CA的证书等;第三层CA为用户CA,它根据根CA的政策和第二层CA的具体规定,直接与最终用户(持卡人CCA、商户MCA、支付网关PCA)发放数字证书,并负责管理其所发证书和证书废止列表(见图9-7)。
图9-7 SET持卡人上网申请证书过程
2. NON-SET CA的结构与功能
NON-SET CA分为三层结构,第一层为根CA,第二层为政策CA,第三层为运营CA,运营CA直接为各商业银行用户发证,它直接与注册机构(RA)连接。
NON-SET CA颁发的证书称为NON-SETP KI证书,分为个人普通证书、个人高级证书、企业高级证书和服务器站点证书四种。个人普通证书是发放给做B2C网上交易的个人使用的,安全级别较低,主要用于小额交易。个人高级证书主要发给做B2B网上交易的个人使用的。企业高级证书是发给做B2B网上交易的企业用的,指的是金额较大的交易。
NON-SET个人普通证书的申请发放过程如图9-8所示。个人高级证书、企业高级证书、服务器站点证书等的申请与发放过程与个人普通证书类似。
图9-8 NON-SET个人普通证书申请发放过程
由于密码对(公钥及对应的私钥)和证书有有效期,CA必须对它进行归档管理。当用户忘记或丢失私钥,用户就无法解密密文,因此CA应提供给用户备份与恢复私钥的功能。当出现下列情况之一时,证书必须作废:证书已经超过期限;持证者严重违规、持证者私钥泄露;持证者要求作废证书;持证者消亡;CA的私钥泄露等。
3. 网银数字证书的申请与安装
目前,大部分网银的专业版都要求使用数字证书,以提高网银的安全性(见表9-2)。不同银行的数字证书申请与安装的方法有一定的差别,一般分成两种:直接网页下载安装和USB卡证书安装。
(1) 直接网页下载。这种方法比较简单,用户在柜台开通网银业务后,银行会给用户一个密封的信封,其中包含着凭以下载证书的参考号和授权码(简称两码),然后凭密码信封下载网银证书后直接在电脑上进行安装。证书保存格式只能是pfx文件格式, cer格式的证书不能被导入使用。目前,这种证书安装方法已经很少使用。
(2) USB卡证书安装。现在大多数银行都要求专业版用户必须使用USB卡作为载体的证书。不同银行的USB卡形式多样,有叫U-Key的,也有叫U盾的,但基本原理是相同的。目前这类形式的证书在网络银行中应用广泛,承担着保护客户数字证书和私钥安全性的重要责任,这对在网络上鉴别用户身份十分关键。其内部芯片操作系统特有的安全加密手段,高达1024位的非对称加密算法RSA,以及特殊的抗攻击方法,能确保客户在使用网络银行进行金融交易时,无需担心交易安全问题。同时,基于数字签名技术的这种网络金融服务可以提供有效的法律效力。以U盾为例,私钥直接在卡内产生且从不导出,将CA中心颁发的安全数字证书下载到U盾中与私钥对应。用户只要安装U盾的驱动、CSP软件就可以通过安全加密通道确认客户身份后登录网上银行系统,享受网上银行所提供的账户之间的转账、在线消费支付、代缴费用等一系列金融服务,金融服务的交易数据,都会被送入U盾中,并利用U盾中客户的私钥进行数字签名,然后,传送至网上银行系统进行验证,从而保证金融交易的安全性,完整性和不可抵赖。
表9-2 各大银行网银安全措施
注:星号越多,代表在这一特征向量中的特征值越大。
USB卡形式的数字证书在使用网银时必须插入计算机的USB插口中,对于用户来说必须随身携带,不够方便。另外,现在越来越多的人使用平板电脑,像苹果的i Pad系列就根本没有USB插口,影响了专业版用户的使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。