0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTTPS协议和信鸽有什么关系如何通过信鸽来解释

Linux爱好者 来源:未知 作者:易水寒 2018-10-20 09:51 次阅读

密码学可能是一个难以理解的主题。它充满了数学证明。除非你真的需要开发密码系统,否则,如果你只想从宏观的角度了解密码学,你并不需要理解这些复杂的内容。

如果你抱着能够创建下一个 HTTPS 协议的期望打开这篇文章,我不得不遗憾地表示只有信鸽是不够的。否则,煮一些咖啡,享受这篇文章吧。

Alice,Bob 和信鸽?

你在互联网上的任何活动(阅读这篇文章,在亚马逊上买东西,上传猫咪的图片)都归结为向服务器发送消息和从服务器接收消息。

这么讲听起来可能有点抽象,因此,我们不妨假设这些信息是通过信鸽传递的。我明白这么假设显得很随意,但请相信我:HTTPS 的工作原理就是这样的,只是快得多。

本文中我们并不会使用,服务器,客户端和黑客这样的术语,取而代之的是,我们会依次使用人名 Alice、 Bob 和 Mallory来代替它们。如果你不是第一次尝试理解密码概念,你可以认出这些名字,因为它们被广泛用于技术文献中。

一次简单的通讯

如果 Alice 想要给 Bob 传递一条信息,她将信息绑在信鸽的腿上,然后让信鸽传给 Bob。Bob 收到信息,读取信息。一切都正常。

但要是 Mallory 途中拦截了 Alice 的信鸽,并且改变了信息的内容?Bob 无法知道 Alice 发送的信息在传递途中被修改了。

这就是HTTP的工作原理。挺可怕的,对吧?我不会通过 HTTP 协议来发送我的银行凭证,你也不应该这么做。

一个密令

那如果 Alice 和 Bob 都很机灵呢。他们同意将使用密令来写信息。他们将字母表中的每个字母偏移 3 个位置。比如:D -> A, E -> B, F -> C。明文“secret message”将转换成“pbzobq jbppxdb”。

现在,如果 Mallory 拦截了信鸽,她既不能把信息改变成一些有意义的信息,也不能明白信息里说的内容,因为她不知道密令。但是Bob可以简单地反向应用密令(A -> D, B -> E, C -> F)将信息解密。密文“pbzobq jbppxdb”将被解密回“secret message”。

大功告成!

这被称为对称密钥密码术,因为当你知道如何加密一条信息,你也知道如何给信息解密。

我在上面介绍的密令通常被称为凯撒密码。在现实生活中,我们使用更高级和复杂的密令,但是主要思路是相同的。

我们如何决定密钥是什么?

如果只有发送方和接收方知道密钥,对称密钥密码术是很安全的。在凯撒密码中,密钥是一个偏移值,这个偏移值决定每个字母应该偏移多少。在我们的例子中,我们使用的偏移值是 3,但是也能是 4 或者 12。

不过这么设计会有个问题:在用信鸽传递信息之前,如果 Alice 和 Bob 之前从没见过,他们没有安全的方式创建一个密钥。如果他们将密钥包含在信息之中,Mallory 将拦截信息并且发现密钥。后果就是:无论 Alice 和 Bob 发送的信息是否加密,Mallory 都能读取或者改变拦截到的信息。

这是一个典型的中间人攻击例子。避免它的唯一方法是改变之前的密码系统。

携带盒子的信鸽

所以 Alice 和 Bob 想出了一个更好的系统。当 Bob 想要发送信息给 Alice 时,Alice 将遵照下面的流程:

Bob 向 Alice 传送一只信鸽,信鸽不携带任何信息。

Alice 将这只信鸽传回给 Bob,信鸽携带一只开着锁的盒子以及密钥。

Bob 把信息放到盒子里,将锁锁上,将盒子传送给 Alice。

Alice 收到盒子,使用密钥打开盒子,读取信息。

通过这种方式传递信息,Mallory 不可能通过拦截信鸽的方式来改变信息,因为她没有密钥。当 Alice 想要向 Bob 发送信息时,遵循相同的流程。

Alice 和 Bob 刚刚使用了通常所说的非对称密钥密码术。之所以称它为非对称,是因为即使你可以加密一条信息(锁上盒子)但你也不能将它解密(打开锁住的盒子)。

我怎么信任这个盒子?

如果你够仔细的话,你可能已经意识到我们仍然有一个问题。当 Bob 收到那个开着的盒子时,他如何确信这是来自 Alice 的盒子,而不是 Mallory 拦截信鸽后,将来自于 Alice 的盒子替换成 Mallory 自己设置了密钥后的盒子。

Alice 决定对盒子进行数字签名,通过这种方式,当 Bob 收到盒子,他通过核对签名的一致性来确定盒子是否来自 Alice。

有些人可能就会想 Bob 如何识别 Alice 的签名?不错的问题。Alice 和 Bob 也有同样的疑问。因此他们决定让 Ted 对盒子进行数字签名,而不是 Alice。

Ted 是谁?Ted 是一个著名且值得信赖的人。每个人都可以从Ted 那里获得签名,每个人都相信Ted 只会为合法的人提供盒子的数字签名服务。

只有当Ted 确信正在请求签名的人是 Alice,Ted 才会为 Alice 提供盒子数字签名的服务。因此 Mallory 不能再像之前那样拦截 Alice 的盒子、替换盒子后传送给 Bob 了,因为 Bob 会发现这个盒子在 Ted 那进行数字签名的是 Mallory,而不是 Alice。

Ted 在技术术语中通常被称为证书颁发机构,你阅读这篇文章所使用的浏览器安装着各种证书颁发机构的签名。

因此当你第一次连接到一个网站,你信任它的盒子,因为你信任 Ted,而 Ted 告诉你这个盒子是合法的。

盒子太重了

Alice 和 Bob 现在有了一个可靠的通信系统,但是他们意识到和仅仅携带信息的信鸽相比,携带盒子的信鸽太慢了。

他们决定只在传递密钥的时候使用盒子的方法(非对称密码术),加密信息使用对称密码术(记得之前提到的凯撒密码?)。

这样的话可谓两全其美:非对称密码术的可靠性和对称密码术的效率都有了。

在现实世界中,“信鸽”的传送速度都很快,但尽管这么讲,使用非对称密码技术加密消息比使用对称密码技术慢,所以我们只使用它来交换加密密钥。

现在你知道了HTTPS的工作原理,你的咖啡也该煮好了。去喝吧,这是你应得的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    11148

    浏览量

    103190
  • 通信系统
    +关注

    关注

    6

    文章

    1187

    浏览量

    53320
  • HTTP
    +关注

    关注

    0

    文章

    504

    浏览量

    31169

原文标题:通过信鸽来解释 HTTPS

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM9和STM32什么关系

    小伙伴问:ARM9和STM32什么关系
    发表于 12-19 11:06 2044次阅读

    使用腾讯信鸽做消息推送

    使用信鸽创建demo app安装在手机上下载腾讯提供的sdk我用的是python版本的,只需替换掉 id 和key ,在树莓派上执行就可以推送的手机上个性化设置也比较多,还不错
    发表于 03-02 18:36

    ARM和AVR什么关系

    ARM和AVR什么关系非常迷茫,或者是是什么样的联系
    发表于 05-20 14:50

    信鸽电子环复制器

    信鸽电子环能复制吗
    发表于 11-12 06:50

    请问VNF和NSF是什么关系?看到VNF解释说是在SIMCOP中的,什么意义?

    本帖最后由 一只耳朵怪 于 2018-6-22 14:17 编辑 Dear all,我以下两个个疑问。1:VNF和NSF是什么关系?看到VNF解释说是在SIMCOP中的,什么
    发表于 06-22 04:21

    请问USB D+和D-线的speed设置和USB协议什么关系

    关于USBD+和D-线的speed设置,和USB协议什么关系呢?4-20ns是什么意思?这个值关系到IO口的speed吗?
    发表于 06-11 15:06

    flash跟EEPROM之间什么关系

    flash跟EEPROM之间什么关系
    发表于 01-29 20:24

    光点“信鸽”复合翼无人机,组装快捷

    今日,无人机网又添新成员“无人机网号-信鸽”。该机是由“广东东莞光点科技有限公司(以下简称:光点科技)”所提供,这是一款可快速组装、便携的复合翼无人机。
    的头像 发表于 08-11 08:44 4357次阅读

    220V电和380V电什么区别和什么关系

    电,是我们日常生活中必不可少的东西了,可是我们很多人却不了解我们使用的电是怎么的,220V 电和 380V 电之间什么关系
    发表于 12-21 08:00 39次下载

    LED的亮度与PWM什么关系详细代码说明

    本文档的主要内容详细介绍的是LED的亮度与PWM什么关系详细代码说明。
    发表于 08-01 17:34 13次下载
    LED的亮度与PWM<b class='flag-5'>有</b><b class='flag-5'>什么关系</b>详细代码说明

    一文看懂PD协议和Type-C的区别

    说到充电快,那一定要了解下PD快充协议?那么PD协议和Type-C又有什么关系呢?下面带你一起来搞清楚。
    的头像 发表于 12-22 07:25 14.4w次阅读
    一文看懂PD<b class='flag-5'>协议和</b>Type-C的区别

    USB接口与雷电接口什么关系

    USB接口和雷电接口什么关系
    的头像 发表于 01-13 16:34 1.8w次阅读

    声音(sound)是什么,它和频率什么关系

    大家好,今天和大家分享一下声音的物理知识。声音(sound)声音是什么,他和频率什么关系?声音就是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。最初发出振动(震动)的物体叫声源
    的头像 发表于 03-08 10:52 4294次阅读

    减速电机的扭矩与速度什么关系

    减速电机的扭矩与速度什么关系? 减速电机是一种常见的电动机,常用于需要精确控制转速和输出扭矩的应用中。在了解减速电机的扭矩与速度关系之前,我们先来了解一下减速电机的基本原理。 减速电机由两部分
    的头像 发表于 12-19 09:55 1563次阅读

    什么是频域分析?频域和时域什么关系

    什么是频域分析?频域和时域什么关系? 频域分析是一种用于分析信号的方法,它将信号从时域(时钟)转换为频域(频率)。频域分析允许我们观察信号中包含的不同频率成分,并确定它们的振幅、相位和其它特性
    的头像 发表于 02-03 17:19 3880次阅读