美文网首页JobiOS面试题合集
网络相关之HTTPS、对称加密、非对称加密

网络相关之HTTPS、对称加密、非对称加密

作者: lp_lp | 来源:发表于2020-03-06 15:16 被阅读0次

推荐阅读:备战2020——iOS全新面试题总结

一、HTTPS和HTTP的区别

HTTPS协议 = HTTP协议 + SSL/TLS协议
SSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS的全称是Transport Layer Security,即安全传输层协议。
即HTTPS是安全的HTTP。

二、HTTPS的连接建立流程

HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。在传输的过程中会涉及到三个密钥:

  • 服务器端的公钥和私钥,用来进行非对称加密

  • 客户端生成的随机密钥,用来进行对称加密

    image

如上图,HTTPS连接过程大致可分为八步:

1、客户端访问HTTPS连接。

客户端会把安全协议版本号、客户端支持的加密算法列表、随机数C发给服务端。

2、服务端发送证书给客户端

服务端接收密钥算法配件后,会和自己支持的加密算法列表进行比对,如果不符合,则断开连接。否则,服务端会在该算法列表中,选择一种对称算法(如AES)、一种公钥算法(如具有特定秘钥长度的RSA)和一种MAC算法发给客户端。
服务器端有一个密钥对,即公钥私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。
在发送加密算法的同时还会把数字证书随机数S发送给客户端

3、客户端验证server证书

会对server公钥进行检查,验证其合法性,如果发现发现公钥有问题,那么HTTPS传输就无法继续。

4、客户端组装会话秘钥

如果公钥合格,那么客户端会用服务器公钥来生成一个前主秘钥(Pre-Master Secret,PMS),并通过该前主秘钥和随机数C、S来组装成会话秘钥

5、客户端将前主秘钥加密发送给服务端

是通过服务端的公钥来对前主秘钥进行非对称加密,发送给服务端

6、服务端通过私钥解密得到前主秘钥

服务端接收到加密信息后,用私钥解密得到主秘钥。

7、服务端组装会话秘钥

服务端通过前主秘钥和随机数C、S来组装会话秘钥
至此,服务端和客户端都已经知道了用于此次会话的主秘钥。

8、数据传输

客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。
同理,服务端收到客户端发送来的密文,用服务端密钥对其进行对称解密,得到客户端发送的数据。

总结:

会话秘钥 = random S + random C + 前主秘钥

  • HTTPS连接建立过程使用非对称加密,而非对称加密是很耗时的一种加密方式
  • 后续通信过程使用对称加密,减少耗时所带来的性能损耗
  • 其中,对称加密加密的是实际的数据,非对称加密加密的是对称加密所需要的客户端的密钥。

三、对称加密和非对称加密

1、对称加密

用同一套密钥来进行加密解密。
对称加密通常有 DES,IDEA,3DES 加密算法。

2、非对称加密

用公钥和私钥来加解密的算法。
公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分,私钥通常是保存在本地。

  • 公钥进行加密,就要用私钥进行解密;反之,用私钥加密,就要用公钥进行解密(数字签名)。

  • 由于私钥是保存在本地的,所以非对称加密相对与对称加密是安全的。
    非对称加密对称加密耗时(100倍以上),所以通常要结合对称加密来使用。

常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

而为了确保客户端能够确认公钥就是想要访问的网站的公钥,引入了数字证书的概念,由于证书存在一级一级的签发过程,所以就出现了证书链,在证书链中的顶端的就是根CA。
关于数字证书: 数字证书详解 - 简书

相关文章

  • https交互流程简述

    https使用到的加密算法 对称加密非对称加密 通过非对称加密,交换对称加密的密钥,之后采用对称加密传输非对称加密...

  • 网络相关之HTTPS、对称加密、非对称加密

    推荐阅读:备战2020——iOS全新面试题总结 一、HTTPS和HTTP的区别 HTTPS协议 = HTTP协议 ...

  • 2019 -----网络相关之HTTPS、对称加密、非对称加密

    一、HTTPS和HTTP的区别 HTTPS协议 = HTTP协议 + SSL/TLS协议SSL的全称是Secure...

  • https传输过程

    HTTPS传输过程主要涉及到对称加密和非对称加密两种方式,对称加密用来加密数据内容,非对称加密用来加密对称加密的秘...

  • https

    https 对称加密 非对称加密 TLS通讯过程

  • 对称加密 非对称加密

    HTTPs中为什么要使用非对称加密和对称加密两种加密方式? 非对称加密的性能相对对称加密来说会慢,比较消耗系统资源...

  • 第四篇:非对称加密及RSA加密算法

    目录一、非对称加密 1、什么是非对称加密? 2、对称加密的工作过程 3、非对称加密的优点 4、非对称加密的不足二、...

  • 学习笔记:HTTPS协议原理

    对称加密和非对称加密 加密分两种,对称加密和非对称加密。对称加密是指加密的双方使用同一个密钥加密和解密数据。非对称...

  • 简述HTTPS

    要理解HTTPS首先要理解对称加密和非对称加密 对称加密 加密和解密用的都是同一个密钥。 非对称加密 有两个密钥,...

  • Web开发必须了解的密码学技术

    对称加密与非对称加密 按照密钥的使用形式,加密算法可以分为对称加密和非对称加密(又叫公钥加密)。对称加密在加密和解...

网友评论

    本文标题:网络相关之HTTPS、对称加密、非对称加密

    本文链接:https://www.haomeiwen.com/subject/wpmirhtx.html