Net2

https (http+ssl) analysis

This project is maintained by wangfakang

Https的简单解析:

基本概念:

HTTPS 可以认为是 HTTP + TLS。HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的。

TLS 是传输层加密协议,它的前身是 SSL 协议,最早由 netscape 公司于 1995 年发布,1999 年经过 IETF 讨论和规范后,改名为 TLS。如果没有特别说明,SSL 和 TLS 说的都是同一个协议[摘自百度百科]。

https解决的问题:

总体来说,HTTPS 协议提供了三个强大的功能来对抗上述的劫持行为:

内容加密分类:

加密算法一般分为两种:对称加密和非对称加密。       

对称加密(也叫密钥加密)就是指加密和解密使用的是相同的密钥。
非对称加密(也叫公钥加密)就是指加密和解密使用了不同的密钥。

对称加密是双方共同约定了一个秘钥,然后进行数据的加密。存在问题就是秘钥需要传播,所以不安全。   

非对称加密主要用于密钥交换(也叫密钥协商),能够很好地解决这个问题。浏览器和服务器每次新建会话时都使用 非对称密钥交换算法协商出对称密钥,使用这些对称密钥完成应用数据的加解密和验证,整个会话过程中的密钥只在 内存中生成和保存,而且每个会话的对称密钥都不相同(除非会话复用),中间者无法窃取。

https整个过程:

 其实整个过程还是比较简单的:

   估计有人会问,为啥最后的数据传输不使用公钥加密的方式传输恩,其实是这样的由于,采用RSA的方式进行加密和解密的 时候是很耗费cpu的,所以使用了对称加密的传输,又有人会问:那为什么不直接使用对称秘钥进行加密传输恩?其实这也 是https出现的原因,由于直接使用对称加密的话,由于其秘钥的传输是明文的,那么一旦被别人获取了则数据的传输是很 不安全的,在这里https就是用了公钥加密的方式对其秘钥进行加密传输就解决了这个问题.

欢迎一起交流学习

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

Thx

Author