何谓数字证书?
数字证书是一个经证书认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的数据文件。认证中心的数字签名可以确保证书信息的真实性,用户公钥信息可以保证数字信息传输的完整性,用户的数字签名可以保证数字信息的不可否认性。
数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。
认证中心(CA)作为权威的、可信赖的、公正的第三方机构,专门负责为各种认证需求提供数字证书服务。认证中心颁发的数字证书均遵循X.509 V3标准。X.509标准在编排公共密钥密码格式方面已被广为接受。
数字证书的功能主要包括:身份验证、信息传输安全、信息保密性(存储与交易)、信息完整性、交易的不可否认性。
数字安全证书的工作流程
如果客户A想和银行B通信,他首先必须从数据库中取得银行B的证书,然后对它进行验证。如果他们使用相同的CA(证书认证中心),事情就很简单,客户 A只需验证银行B证书上CA的签名。如果他们使用不同的CA,问题就较为复杂。客户A必须从CA的树形结构底部开始,从底层CA往上层CA查询,一直追踪到同一个CA为止,找出共同的信任CA。目前个人获取网上银行安全证书的途径都是通过银行申请,所以双方肯定采用同一证书认证中心颁发的证书。
现在假设客户A向银行B传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下:
(1)客户A准备好要传送的数字信息(明文)。
(2)客户A对数字信息进行哈希(hash)运算,得到一个信息摘要。
3)客户A用自己的私钥(SK)对信息摘要进行加密得到客户A的数字签名,并将其附在数字信息上。
4)客户A随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。
5)客户A用双方共有的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。
6)银行B收到客户A传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。
7)银行B然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。
8)银行B用双方共有的公钥(PK)对客户A的数字签名进行解密,得到信息摘要。银行B用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。
9)银行B将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liukeforever/archive/2009/07/31/4396521.aspx