公钥密码加密和鉴别过程(PKI体系)
- 用户向RA提交证书申请,RA审查后由CA颁发证书给用户
- 发送方计算信息摘要值
- 发送方将信息摘要值发送给时间戳服务器,获取带有服务器签名的时间戳
- 发送方将信息摘要值、时间戳用自己的私钥加密,得到签名数据
- 发送方随机产生一个对称密钥,用此密钥和某种算法对信息进行对称加密,得到密文
- 发送方将上一步使用的对称密钥和算法代号用接收方的公钥加密,和密文保存在一起
- 发送方将签名数据和密文通过不安全信道发送给接收方
- 接收方用自己的私钥解密密文的对称密钥和算法代号部分
- 接收方用上一步得到的算法和对称密钥对密文正文进行解密,得到明文信息
- 接收方用发送方的公钥对签名数据进行解密
- 接收方计算信息摘要值,与签名数据解密结果中的摘要值进行比较,如果一致则信息没有被篡改
- 接收方检查时间戳,确认没有遭受重放攻击
应用实例——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服务与成员站点(调用服务的站点)对于账户信息的签名是采用公钥密码技术,但是加密是采用对称密码技术