网银证书
如果客户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将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
相关阅读
数字证书相当于网上保险箱的钥匙,可以有效地对账户使用者进行确认,增强账户使用的安全。与物理钥匙不同的是,数字证书还具有安全、保