计算机基础之HTTPS

120 阅读2分钟

HTTPS

HTTPS = HTTP + SSL/TLS 超文本传输安全协议。在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。

保证机密性与完整性:

  • 对称加密:使用同一个密匙进行加密解密
  • 非对称加密:有两个密匙。公匙和私匙。私匙自己保存,公匙公开给别人使用
  • 数字签名:用户使用密匙对消息加密就是签名,其他人使用该用户的公匙能够解密说明消息是该用户发出。
  • 数字证书:一个证书包含一些明文信息以及证书颁布者对该信息的数字签名(私匙加密)

HTTPS加密原理(HTTPS为什么安全)

由于现实中非对称加密算法开销大,一般是使用对称加密来加密信息,而使用非对称加密来加密用来加密信息的对称密匙。

对称加密和非对称加密结合:

  • 浏览器向服务器发送https请求,服务器把配置好的数字证书发给浏览器
  • 浏览器验证数字证书里面的CA签名,验证通过从数字证书里拿到服务器的公匙
  • 浏览器随机生成共享密匙,并用公匙加密这个共享密匙发送给服务器
  • 服务器收到后使用自己的私匙解密拿到了共享密匙
  • 双方都持有相同的对称密匙
  • 浏览器使用共享密匙加密信息发送给服务器
  • 服务器使用共享密匙解密得到信息

总结:非对称加密体现在证书验证阶段;对称加密体现在浏览器与服务器之间的数据传输上。

https.png

HTTP VS HTTPS

  • HTTP 的url 是以 http:// 开头,而HTTPS的url是以https:// 开头
  • HTTP的端口是80,HTTPS端口是443
  • HTTP是数据明文传输,不安全。HTTPS数据加密,保证了数据完整性、私密性、不被中间人攻击