公钥密码加密和鉴别过程(PKI体系)

公钥密码加密和鉴别过程(PKI体系)

  1. 用户向RA提交证书申请,RA审查后由CA颁发证书给用户
  2. 发送方计算信息摘要值
  3. 发送方将信息摘要值发送给时间戳服务器,获取带有服务器签名的时间戳
  4. 发送方将信息摘要值、时间戳用自己的私钥加密,得到签名数据
  5. 发送方随机产生一个对称密钥,用此密钥和某种算法对信息进行对称加密,得到密文
  6. 发送方将上一步使用的对称密钥和算法代号用接收方的公钥加密,和密文保存在一起
  7. 发送方将签名数据和密文通过不安全信道发送给接收方
  8. 接收方用自己的私钥解密密文的对称密钥和算法代号部分
  9. 接收方用上一步得到的算法和对称密钥对密文正文进行解密,得到明文信息
  10. 接收方用发送方的公钥对签名数据进行解密
  11. 接收方计算信息摘要值,与签名数据解密结果中的摘要值进行比较,如果一致则信息没有被篡改
  12. 接收方检查时间戳,确认没有遭受重放攻击

应用实例——Windows Live ID单点登录服务

Windows Live ID是Microsoft公司提供的单点登录服务,应用于Windows Live、MSN等网站,并且其他站点也通过SDK调用Windows Live认证服务。

Windows Live ID在以下方面使用了公钥密码技术:

  • 登录服务器https://login.live.com/使用了基于SSL的https协议,浏览器产生一个对称密钥用服务器证书的公钥加密后发送给服务器,此后的通信都是用这个对称密钥加密进行的
  • Windows Live ID服务与成员站点(调用服务的站点)对于账户信息的签名是采用公钥密码技术,但是加密是采用对称密码技术