秘钥的产生过程
文章插图
非对称加密
双方都有自己的私钥 公钥 , 双方都收到了对方 用(私+公)生成的秘钥 , 再用 对方的(私+公)秘钥+自己的私钥=新的秘钥 , 再用新的秘钥加密数据发送给对方
用两个秘钥来加密和解密 , 公钥是所有人都知道的 , 私钥只有持有方才有的秘钥 。
非对称加密也叫做公钥加密
文章插图
服务器上有成对的私钥/公钥 , 公钥给到客户端 , 客户端用公钥加密数据 , 只有服务器端的私钥才能解密 。
TLS对称和非对称加密都有用到 。
TCP三次握手
文章插图
TLS握手过程1、Client Hello(客户端发给服务器)
文章插图
加密套件:16个不同的加密组合
TCP三次握手后 , 客户端发送了一个Clinet Hello 给服务器告诉服务器我支持那些加密套件 , 然后生成一个随机数(1)发送给服务器。
2、Server Hello(服务器发送给客户端)
文章插图
服务器的 Server Hello 响应报文里面会告诉客户端 , 服务端支持的TLS版本及选择的加密套件 , 并且服务器生成一个随机数(2)发送给客户端 。随机数的作用?
3、Certificate(服务器发送给客户端)
文章插图
服务器再发出一个响应来出示自己的证书 , 这样浏览器就可以对照自己的证书信任列表来确认这个服务器是否可信 。
4、Server Key Exchange(服务器端发送)
文章插图
服务器会把公钥发送给客户端
网银 服务器需要客户端的证书 , 这一步会发出请求 。
5、Server Hello Done(服务器发送给客户端)
文章插图
6、Client Key Exchange(客户端发出)
文章插图
这一步是个重点也是难点 , 客户端会生成第三个随机数(3) 预主秘钥第三个随机数会用到刚刚收到的公钥进行加密 , 并把加密后的随机数发给服务器 。就是Pubkey:显示的随机数
Change Cipher Spec
文章插图
客户端告诉服务器以后就用商议好的秘钥来进行加密 。
Encrypted Handshake Message
文章插图
表示TLS协商已经灭有问题了 , 可以开始加密了 。
7、Encrypted Handshake Message(服务器端发出)
文章插图
这里表示TLS的握手已经成功了 , 可以给数据加密进行交换了 。
TLS握手过程图
文章插图
先用非对称加密生成会话密钥 , 会话密钥产生后使用对称加密来加密数据后传送(减少资源的消耗) 。
对称加密 非对称加密 CA中心
文章插图
非对称加密HTTPS(SSL2.0)
非对称加解密速率慢、效率低
文章插图
非对称、对称混合加密的方式
文章插图
这样也存在问题
文章插图
https CA证书(解决中间人私发公钥、伪装身份问题)
文章插图
推荐阅读
- 牙痛是什么病的前兆
- 小腿长白斑是什么病
- 梦见卖鸡是什么意思啊 梦见卖鸡是什么意思预兆
- 学生梦见自己的奶奶去世了是什么意思 孕妇梦见自己的奶奶去世了是什么意思
- 女人梦见鸭子是什么意思 梦见鸭子是什么意思周公解梦
- “扣0分罚0元”是什么意思?要不要去处理?
- 代用茶是什么意思 代用茶是什么
- 2019年如何征收房屋遗产税?房产遗产税征收方法是什么?
- 梦见很多蜈蚣 梦见很多蜈蚣是什么预兆
- 梦见蜈蚣被自己打死了 梦见打死蜈蚣是什么预兆