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生成摘要,比对验证。这种方式可以保证发送方的身份不可抵赖。
非对称加密算法的优缺点
优点是保密性好,缺点是加密解密时间过长,速度慢
Https
Https综合了对称加密算法和非对称加密算法的优缺点。对消息的主体使用对称加密算法提高加密效率,对于容易导致安全问题的对称加密算法使用的秘钥进行非对称加密。简化过程如下图所示。
image.png- 客户端发送自己的SSL版本及支持的加密算法
- 服务端从其中选定一个返回回去
- 服务端返回CA证书,证书包含了公钥,证书颁发的机构,有效时间等
- 客户端验证证书的合法性
- 客户端验证通过后生成一个随机的Key,并用服务端提供的公钥进行加密,发送给服务器
- 服务端使用自己的私钥解密获取到客户端提供的key准备进行对称加密。
- 服务端通过解密后的key对消息进行加密,将内容传输给客户端,客户端解密后获取消息。