https加密原理

1.简介

万维网服务器使用SSL默认服务端口443来取代普通万维网服务的80端口,且该安全网页URL中的协议标识用https代替http,在与服务器建立TCP连接后,先进行浏览器和服务器之间的握手协议,完成加密算法的协商和会话秘钥的传递,然后进行安全数据传输。

  • 公开秘钥加密
    即为非对称加密,发送方使用对方的公开秘钥加密,对方收到加密信息后,再使用自己的私有秘钥进行解密
  • 共享秘钥加密
    即为对称加密,加密和解密使用同一个秘钥的方式称为共享秘钥加密

2.CA证书

CA是负责管理和签发证书的第三方权威机构,是所有行业和公众都信任的,认可的。
CA证书,是用于验证网站是否可信,一般里面包含有公开秘钥。

3.实现过程

  • 协商加密算法
    浏览器向服务器发送浏览器SSL版本号和一些可选的加密算法,服务器选定后再告诉浏览器
  • 服务器鉴别
    服务器向浏览器发送一个包含其公开秘钥的数字证书,浏览器使用该证书认证机构的公钥对该证书进行验证,公开秘钥加密
  • 共享秘钥计算
    浏览器产生一个随机数,用服务器公钥加密后发送给服务器,双方根据协商的算法产生一个共享秘钥加密
  • 安全数据传输
    双方使用共享秘钥加密他们之间的数据并验证其完整性

为什么要先采用公开密钥加密,之后再采用共享秘钥加密?
因为公开密钥加密处理速度慢,而共享秘钥加密,首先必须告知对方自己的私钥,而这个私钥的传输过程的安全性没有保障,所以要采用先公开密钥加载,之后用公开密钥来保证私钥传输的安全性。

4.SSL的处理速度变慢

  • 通信慢,因为要通过SSL通信,获取包含其公开秘钥的数字证书
  • 消耗CPU和内存资源,进行加密计算,因此只有包含个人信息等敏感数据时,才利用HTTPS加密通信,节约购买证书的开销

5.加密的过程

https加密是在传输层
https报文在被包装成tcp报文时完成加密过程,无论是头部还是内容主体部分都是会被加密

6.https和http的区别

  1. https协议需要用到CA申请的证书
  2. http信息是明文传输,https则是具有安全性的ssl加密
  3. http是直接与TCP进行数据传输,而https是通过一层SSL(表示层),http默认使用80端口,https默认使用443端口

你可能感兴趣的:(https加密原理)