美文网首页程序员首页推荐
谈谈证书与https的通信过程

谈谈证书与https的通信过程

作者: Jadyn_Wu | 来源:发表于2018-04-26 14:27 被阅读33次

密码、明文、密文

密码:计算机术语『密码 cipher』是一种用于加密或者解密的算法。

明文(plaintext):加密之前的原始数据

密文(ciphertext):明文通过密码(cipher)运算后得到的结果成为密文。

密钥

一个使用密码算法过程中输入的参数,同一个明文在相同的密码算法下用不同的密钥计算会产生不同的密文。

明文 + 密钥 + 密码算法 = 密文

很多密码算法是公开的,所以密钥的长短决定了密文的安全性。

  • 对称密钥
    对称密钥在加密和解密的过程中使用的密钥是相同的。
    缺点是这个密钥创建后需要共享给另一方,这个共享的过程本身就是不安全的,一旦被截获,拿到这个密钥的第三方就能看所有往来的数据了。
  • 非对称密钥
    非对称密钥拥有一对密钥:私钥和公钥,其中一个密钥加密后,另一个密钥可以解密。
    一个服务端创建非对称密钥后,私钥只由自己存储,公钥散播给浏览器,浏览器明文通过公钥加密后发送给服务端,服务端就可以用私钥解密。
    这样保证了,只要私钥不泄露,截获数据的人无法解析数据。

中间者问题

非对称密钥看起来似乎解决了安全传输数据的问题,但是如果在服务端和浏览器之间有一个中间者(数据被截取),中间者也创建了一份非对称密钥,在截获服务端发送给浏览器的公钥后,把服务端的公钥替换成中间者自己的公钥转发给浏览器,浏览器收到数据以为拿到的是服务端的公钥,使用公钥加密数据发送给服务端的过程中,中间者就能用私钥解密出里面的数据了。

数字签名和数字证书

CA:证书颁发机构(Certificate Authority),颁发数字签名的实体,作为收信任的第三方,受证书的拥有者和依赖证书的一方信任。

数字证书:一个经 CA 数字签名的包含公钥拥有者信息以及公钥的文件。最简单的证书包含一个公开密钥、名称以及 CA 的数字签名。(CA = Certificate Authority)

数字签名:一个经CA私钥加密的摘要文件

摘要文件:经过hash处理后的包含公钥拥有者信息以及公钥的文件

hash处理:两个文件,即便只有一处不同,也将会生成完全不一样的hash,不可逆处理

  1. 将报文通过hash处理成摘要文件Digest1。
  2. CA使用私钥加密Digest1生成数字签名。
  3. 服务端将数字签名和原始报文合并,生成数字证书,发送给浏览器。
  4. 浏览器使用CA的公钥解密数字签名得到Digest1
  5. 浏览器将原始报文通过hash处理后得到Digest2
  6. 如果Digest1 = Digest2则意味着原始报文没有被改动,而被CA认真的数字签名是不会被改动的。

https的通信过程

  1. 浏览器向服务端发送网址请求
  2. 服务端返回数字证书
  3. 浏览器用自己的CA(主流的CA机构证书一般都内置在各个主流浏览器中)公钥去解密证书,如果证书有问题会提示风险
  4. 如果证书没问题浏览器会生成一个对称加密的随机秘钥,用服务器端公钥对随机秘钥进行加密后然后发送给服务端
  5. 服务器端收到后用私钥对浏览器发来的对称秘钥解密
  6. 之后双方拿对称加密秘钥来进行正常的通信

相关文章

  • 谈谈证书与https的通信过程

    密码、明文、密文 密码:计算机术语『密码 cipher』是一种用于加密或者解密的算法。 明文(plaintext)...

  • 深入HTTPS系列三(如何通信)

    继上篇深入HTTPS系列二(加密&证书)后,该篇主要讲HTTPS通信过程。 ** HTTPS的通信过程** 1、客...

  • 搭建docker私服仓库(缓存代理仓库)

    一、生成https通信需要的证书文件 这一步生成与仓库进行https通信时需要的证书文件,使用的工具是openss...

  • Https通信过程

    Http属于超文本传输协议,也可以被翻译成超文本转移协议�,属于应用层协议,Https不是新的应用层协议,只是在原...

  • https通信过程

    clientHello,客户端向服务端发送 version,client random,sessionID,cip...

  • HTTPS通信过程

    首先服务器像证书机构进行证书申请:实际得到的证书是证书机构例如CA通过自己的私钥,将服务器提交的信息(服务器公钥,...

  • HTTPS 通信过程详解(含CA证书验证)

    背景 https协议对于我们做开发的小伙伴往往是一种既熟悉又朦胧的存在:对基本的概念有大致的了解包括加密,证书等等...

  • https通信过程与代理机制

    再复习一遍通信过程,以及 https 到底是对称加密还是非对称加密 https://www.cnblogs.com...

  • Https通信过程整理

  • 前端加解密

    HTTPS通信过程 HTTPS通信过程HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传...

网友评论

    本文标题:谈谈证书与https的通信过程

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