HTTPS工作流程

2019-10-31  本文已影响0人  DQ大神奇

http和https是WEB服务中两种重要的通信协议,http默认使用80端口,https则使用443端口对数据加密传输。https通俗来说就是http+ssl,也就是在SSL层对数据进行加解密。关于https的原理,先从两种常见的加密算法说起。

对称加密算法

什么是对称加密算法

使用同一秘钥对信息进行加解密的方法叫做对称加密算法。常见的对称加密算法主要有DES、3DES、AES、Blowfish。

对称加密算法的工作过程

整体过程如下,发送方使用秘钥对明文进行加密,密文通过网络传输给接收方,接收方使用同一秘钥对密文进行解密。

对称加密算法的优缺点

优点是算法公开、计算量小、加密速度快、加密效率高。缺点是因为使用同一个秘钥,如果一方丢失加密信息就不安全了

image.png

非对称加密算法

非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。如果使用公钥进行加密,就只能用私钥解密;如果用私钥加密,就只能用公钥进行解密。常见算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

非对称加密算法的工作流程

公钥加密,私钥解密主要用于通信。 发送方用接收方的公钥进行加密,接收方用自己的私钥对密文解密得到明文。
私钥加密(签名),公钥解密(验证),主要用于数字签名。发送方用特殊的Hash算法将明文生成固定长度的摘要,利用自己的私钥对摘要进行加密,这个过程就是签名。接收方利用发送方的公钥解密,同事也对明文Hash生成摘要,比对验证。这种方式可以保证发送方的身份不可抵赖。

image.png

非对称加密算法的优缺点

优点是保密性好,缺点是加密解密时间过长,速度慢

Https

Https综合了对称加密算法和非对称加密算法的优缺点。对消息的主体使用对称加密算法提高加密效率,对于容易导致安全问题的对称加密算法使用的秘钥进行非对称加密。简化过程如下图所示。

image.png
  1. 客户端发送自己的SSL版本及支持的加密算法
  2. 服务端从其中选定一个返回回去
  3. 服务端返回CA证书,证书包含了公钥,证书颁发的机构,有效时间等
  4. 客户端验证证书的合法性
  5. 客户端验证通过后生成一个随机的Key,并用服务端提供的公钥进行加密,发送给服务器
  6. 服务端使用自己的私钥解密获取到客户端提供的key准备进行对称加密。
  7. 服务端通过解密后的key对消息进行加密,将内容传输给客户端,客户端解密后获取消息。
上一篇下一篇

猜你喜欢

热点阅读