赞
踩
私钥由服务器持有,公钥所有人都知晓
私钥加密的数据,使用公钥可以解密
公钥加密的数据,只有私钥可以解开
私钥和公钥之间的这种关系,是通过特定算法实现的,但是破解难度和成本极大,因此可以认为是相当安全的
服务端发给浏览器的数据,由于公钥是公开的,谁都可以解密,因此不能直接用于数据通信
服务端向权威CA机构,购买一份受信任的SSL证书
浏览器向服务器发出请求,并携带自己的加密算法和摘要算法
服务器收到浏览器的请求,选择浏览器要求的加密算法和摘要算法
服务器将自己申请的数字证书返回给浏览器
浏览器根据证书的颁发机构,去内置的证书列表中查找
浏览器用公钥去解密服务器发来的数字证书,得到证书中的域名,有效期等信息
浏览器生成一个随机数R,保存到本地,用公钥加密后将R发送给服务器
服务器用私钥解密,得到随机数R,保存到本地
服务器用R作为密钥,加密网页,发送给浏览器
浏览器用R作为密钥,解密网页
浏览器用R作为密钥,继续加密新的数据,并发送给服务器
非对称加密方式,仅仅用来交换对称加密所需的秘钥R
当R被存储到双方本地后,后面的过程使用对称加密的方式通信,就不用担心安全问题了
在非对称加密阶段
当服务器给浏览器发送证书,由于服务端证书校验依赖于认证中心和私钥,因此是安全的
当浏览器给服务器发送数据时,由于随机数R的解密依赖于私钥,因此也是安全的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。