密码技术简明教程(三):证书和TLS

栏目: 服务器 · Apache · 发布时间: 4年前

内容简介:在第一篇 和第二篇 中我们学到了 使用对称加密加密信息,非对称加密配送密钥,使用散列确认文件没有被篡改,使用消息认证码确保知晓密码的才能发送消息,使用数字签名来证明消息的发送者。那么,如果我们在互联网上访问一个网站进行通信的时候,使用非对称加密进行密钥配送时,怎么确保对方就是对方呢?也就是说,怎么确认我们收到的所谓的答案是,对公钥使用数字签名。

在第一篇 和第二篇 中我们学到了 使用对称加密加密信息,非对称加密配送密钥,使用散列确认文件没有被篡改,使用消息认证码确保知晓密码的才能发送消息,使用数字签名来证明消息的发送者。

那么,如果我们在互联网上访问一个网站进行通信的时候,使用非对称加密进行密钥配送时,怎么确保对方就是对方呢?也就是说,怎么确认我们收到的所谓的 Alice 的公钥就真的是 Alice 的公钥呢?

答案是,对公钥使用数字签名。

证书

因为大家都有公钥,于是世界上各大商家就形成了一个组织,这个组织负责对公钥进行签名。只要是这个组织签名过的公钥我们都信任。这个组织就叫 CA(Certification Authority)

举个例子,如果 Alice 要向 Bob 发送密文,那么首先 Bob 将它的证书发送给 Alice

首先证书有两部分组成:

  • Bob 的公钥
  • CA 使用 CA 的私钥生成的数字签名

Alice 接收到证书之后,首先使用 CA 的公钥对数字签名进行确认,如果发现没有问题,确实 是 CA 签发的证书,那么接下来,就是用 Bob 的公钥对消息进行加密,然后发送给 BobBob 再使用自己的私钥进行解密,就可以得到 Alice 发出的明文。

如果全世界只有一个 CA ,由它来签发所有的证书,那么它肯定忙不过来,而且也会由于处于垄断地位而搞各种幺蛾子,因此, CA 组织一般都是树状结构,是分层的,而最顶层的 CA 就叫 根证书(Root CA)。

TLS

TLS 就是我们之前学到的几种密码 工具 的组合,举个例子,我们日常所使用的HTTP协议,他是明文协议,HTTP请求大概长这样:

GET / HTTP/1.1
Host: www.example.com

而响应大概长这样:

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close

<html>
  <head>
    <title>An Example Page</title>
  </head>
  <body>
    <p>Hello World, this is a very simple HTML document.</p>
  </body>
</html>

可以看到,他们其实就是人类可读的字符,所以对HTTP协议进行中间人攻击,就可以获取所传输的一切,因此我们 需要一种能够兼容HTTP协议(HTTP应用这么广,不可能一下子把它废掉),但是又能进行加密的技术,它就是TLS。

TLS详细可以参考这里: https://en.wikipedia.org/wiki/Transport_Layer_Security

TLS的工作流程是:

ClientHello
ServerHello

可以发现


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux从入门到精通

Linux从入门到精通

刘忆智、等 / 清华大学出版社 / 2010-1-1 / 59.00元

linux是目前增长最迅速的操作系统。本书由浅入深、循序渐进地向读者介绍linux的基本使用和系统管理。全书内容包括linux概述、linux安装、linux基本配置、桌面环境基本操作、shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程登录、多媒体应用、图像浏览和处理、打印机配置、办公软件的使用、linux编程工......一起来看看 《Linux从入门到精通》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具