Https简介

Https 概念

Https(Hyper Text Transfer Protocol Secure):定义两个系统之间安全的交换信息,比如:浏览器浏览网页,机构系统间https通讯等等

Http协议:是一种纯明文的方式进行数据的传输,在当下互联网应用深入日常生活,与用户个人相关的敏感信息的传输的安全性就尤为重要了,如果服务时不安全的,用户第一反应是拒绝使用,基于原有协议的安全方面的不足,有网景公司牵头的Https标准应运而生.

Https简介_第1张图片

Https使用SSL或者TSL来保障链路数据的传输安全,TSL是SSL的新版本

SSL/TLS原理

SSL/TLS使用对称和非对称两类算法.

非对称加密算法

非对称加密算法,加密和解密使用不同的key, 两个key叫做公钥和私钥,公钥加密数据只有私钥能解密,私钥加密数据只有公钥能解密,公钥和私钥不是相同的,所以称之为“非对称”加密算法.

在SSL/TLS中主要用在SSL Handshake阶段,用来安全传输对称秘钥,目前使用的非对称加密算法有:RSA, DSA ECDH, ECDSA AES256-GCM, SHA384

Https简介_第2张图片

对称加密算法

对称加密算法比较简单,加解密都是用相同的秘钥,秘钥的安全是整个安全体制的核心点.

SSL/TLS常用的对称加密算法有: AES-128、 AES-192 、 AES-256

Https简介_第3张图片

关系

Https和SSL/TLS的关系如下:

Https简介_第4张图片

Https 工作方式

SSL Handshake

Https简介_第5张图片

步骤:

  1. 客户端发送"client hello"信息,里面包含客户端支持的SSL版本信息、加密算法和其他信息供服务器端协商SSL配置的信息
  2. 服务端响应"server hello"信息,里面包含服务器端的SSL版本信息,算法配置和SSL证书(包含公钥)
  3. 客户端验证服务的的SSL证书是否有效,如果无效中断连接,如果验证有效,进入第四步
  4. 客户端生成一个session key,用服务端的公钥加密,发送给服务器端

如果服务器端要求验证客户端,则客户端会发送自己的认证给服务器端

  1. 服务器端使用自己的私钥,解密得到session key, 然后发送一个使用session key加密的"ack"信息

数据传输

实际的数据传输就是用session key进行加解密进行的
Https简介_第6张图片
参考:

  1. https://www.tutorialsteacher.com/https

你可能感兴趣的:(随笔)