您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

看完这篇文章,我奶奶都懂了HTTPS原理

时间:2019-06-14 09:33:20  来源:  作者:

上过网的朋友都知道,网络是非常不安全的。尤其是公共场所很多免费的 WiFi,或许只是攻击者的一个诱饵。还有大家平时喜欢用的万能钥匙,等等。

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

HTTP 存在的问题

那我们平时上网可能会存在哪些风险呢?

  • 泄密,个人隐私、账户密码等信息可能会被盗取。
  • 篡改,收到的数据可能被第三方修改过,或被植入广告等。
  • 假冒,访问的站点非目标服务器站点。如域名欺骗、域名劫持、钓鱼网站等。

可能住你隔壁穿人字拖、说话都略显羞涩的小王,一到夜深人静的时候就开始偷窥你的一举一动!

陪你一起看 91 某社区的电影还好,万一窃取了各购物网站或其他站点的登录信息就……是不是想想有些害怕呢!

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

为什么别人能获取你上网的数据呢?有过一定网络基础的朋友多少都对 TCP/IP 有些了解,对各种握手挥手早已背得滚瓜烂熟,对 HTTP 协议也早了然于心。

HTTP 是应用层的协议,位于 TCP/IP 参考模型的最上层。用户数据经过应用层、传输层、网络层、链路层的层层封装后经过物理层发送到目标机器。

在这几层中,数据都没有经过加密处理,所以一旦别人获取到你的数据包,就能轻易的获取到数据的信息。

为了保护数据隐私,让数据不再“裸奔”。对需要传输的数据进行加密处理就很有必要了。

目前而言,加密算法可以分两大类,一类是对称加密算法,还有一类是非对称加密算法。

对称加密

对称加密算法的加密和解密都是用同一个密钥。在一定条件下,对称加密可以解决数据传输安全性的问题。

比如我在登录某个网站的时候,需要填写账户名和密码进行登录,客户端把登录的表单信息进行对称加密后再传输,这时候就算小王截获数据包,他也无法获取数据的内容,因为数据已经被加密了。

但是服务器收到数据后也是一脸懵逼,你发来的加密的数据包服务器也不知道解密的密钥!

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

那是不是客户端与服务端在通信之前应该先协商密钥呢?客户端可以通知服务器需要开启数据传输了,然后服务器告诉客户端,咱们以后用 xxxx 这个密钥进行加密解密吧!

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

这样内容是可以加密传输了,但是上图中第一步协商密钥的过程又同样存在安全的问题!

万一小王截获了协商密钥的数据,那后续加密传输的数据对小王来说无异于未加密!所以,对称加密存在密钥协商的问题!

非对称加密

基于对称加密存在的问题,又有了非对称加密。非对称加密算法需要一组密钥对,分别是公钥和私钥,这两个密钥是成对出现的。

公钥加密的内容需要用私钥解密,私钥加密的内容需要用公钥解密!私钥由服务器自己保存,公钥发送给客户端。

客户端拿到公钥后就可以对请求进行加密后发送给服务端了,这时候就算被小王截获,小王没有私钥也无法解密发送的内容,这样确保了客户端发送到服务端数据的“安全”!

但是由于公钥也需要通过网络发送给客户端,同样能被小王截获,这样服务器私钥加密后的内容依然可以被小王截获并解密,并且非对称加密的效率很低。

对称加密和非对称加密都存在密钥传输的问题,但是至少非对称加密可以保证客户端传输给服务端的内容无法被“破解”,而对称加密算法性能又比较好,那我们是不是可以这样子呢。

第一次通信的时候服务端发送公钥给客户端,由客户端产生一个对称密钥,通过服务端的公钥加密后发送给服务端,后续的交互中都通过对称密钥进行加密传输。

也就是说先通过非对称密钥加密对称密钥,通过对称密钥加密实际请求的内容。

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

上面的方案看起来天衣无缝,小王拿到数据后貌似就无从下手了,但是真的就天衣无缝了吗?

我们看看下图:

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

也就是说小王可以伪装成服务器,与客户端进行通信。类似于你与服务端之间多了一个中间商!也就是说协商密钥的过程依然存在漏洞!

有点脑阔疼!还能不能让我安全的上网了!就没有更安全的机制了么? 在协商密钥的过程中,客户端怎么能确定对方是真正的目标服务器呢?怎么证明服务器的身份呢?我们先了解一下数字证书!

数字证书

我们生活中有各种证,有能证明自己是个有身份的人的身份证,有能证明自己读了几年书的毕业证。

这些证都是由某些权威机关认证、无法伪造的,能证明自己身份的凭据。

那服务器是不是也能有个类似身份证的东西,在与服务器进行通信的时候证明自己确实是目标服务器而不是小王伪造的呢?

在生活中这些证件都是实实在在能看得见摸得着的,而计算机中的证书是虚拟的,看得见但是摸不着,是数据形式记录的,所以叫数字证书!

客户端第一次与服务器进行通信的时候,服务器需要出示自己的数字证书,证明自己的身份以及自己的公钥,类似如下(实际上就是一堆数据,这里为了直观):

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

那这个数字证书怎么产生的呢?总不能是服务器自己造一个吧?上面说到了我们生活中的证书是由权威机构颁发的、无法伪造的。

比如身份证就是由派出所发证、毕业证由教育部发证,如果需要验证真假,只需要上相关的系统输入编号查询就能查到了!那我们数字证书也应该有这两个特性,权威机构颁发、防伪!

CA 机构

CA 机构就是数字证书颁发的权威机构,负责颁发证书以及验证证书的合法性。

如果服务器需要做个有身份的服务器,就需要向 CA 机构提交申请,当然有钱才好办事,交钱才能给你办证……

服务器向 CA 机构提交申请,需要提交站点的信息如域名、公司名称、公钥等等,CA 审批无误之后就可以给服务器颁发证书了!

客户端在拿到服务器的证书后,就需要验证证书编号是否能在对应的 CA 机构查到,并且核对证书的基本信息如证书上的域名是否与当前访问的域名一致等等,还可以拿到证书中服务器的公钥信息用于协商对称密钥!

证书颁发了,可是又怎么防止伪造,怎么保证在传输过程中不被篡改呢?万一小王截获到数字证书,把公钥改成自己的那不是依然无法保证安全了么?这就需要数字签名了!

数字签名

与公司签过劳动合同的朋友应该都知道,在合同信息的填写中,是不能有涂改的,否则需要重新填写!并且在最后需要甲方和乙方签名并且盖章。

一旦签名盖章后的合同就具有了法律的效力,合同就不能再修改。签名和盖章操作就是防止合同伪造,规定不能修改就防止了合同被篡改!

在实际生活中签名、盖章操作是实实在在的动作,作用在具体某个物体上的!

但是我们的数字证书本身就是虚拟的,怎么去给一个虚拟的证书签名盖章呢?数字签名又是什么机制呢?

我们在做权限系统的时候,存储用户密码的时候都会经过 MD5 计算摘要后存储,在登录的时候计算用户填写的密码的 MD5 摘要与数据库存储的摘要进行对比,如果一致则密码正确,否则登录失败!

MD5 是不可逆的,且不同的数据计算出来的摘要是不一样的(当然也有极小的概率会 Hash 碰撞),基于这个特性,就有了数字签名的思路。

服务器提交自己的基本信息向 CA 机构提出申请,CA 机构在给服务器颁发证书的时候,会连同数字证书以及根据证书计算的摘要一同发送给服务器,且这个摘要是需要经过 CA 机构自己的私钥进行加密的。

申请流程如下:

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

啥?不够直观?那我们再来个直观点的!通过下图我们能看到,CA 给服务器颁发的证书是有自己专属的“公章”的。

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

哪些 CA 机构对于客户端来说是权威或者说是认可的呢?我们打开 IE 浏览器能看到客户端内置的 CA 机构的信息,包含了 CA 的公钥、签名算法、有效期等等...

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

服务器在与客户端通信的时候,就会将数字证书和数字签名出示给客户端了。

客户端拿到数字证书和数字签名后,先通过操作系统或者浏览器内置信任的 CA 机构找到对应 CA 机构的公钥对数字签名进行解密,然后采用同样的摘要算法计算数字证书的摘要。

如果自己计算的摘要与服务器发来的摘要一致,则证书是没有被篡改过的!

这样就防止了篡改!第三方拿不到 CA 机构的私钥,也就无法对摘要进行加密,如果是第三方伪造的签名自然在客户端也就无法解密,这就防止了伪造!

所以数字签名就是通过这种机制来保证数字证书被篡改和被伪造。具体流程如下:

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

啥?又不够直观?那我们继续...

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

这里需要注意一点,一个是 CA 机构的公钥,内置在客户端,用来解密数字签名!另一个是目标服务器的公钥,在数字证书内容里,用来协商对称密钥!

HTTPS

本文的标题是 HTTPS,但是到目前为止 HTTPS 只字未提!其实 HTTPS=HTTP+SSL,在 HTTP 层和 TCP 之间加了一个 SSL/TLS 层。

如下图:

 

看完这篇文章,我奶奶都懂了HTTPS原理

 

 

SSL(Secure Sockets Layer)中文叫“安全套接层”,后来由于广泛应用,SSL 标准化之后就改名为 TLS(Transport Layer Security)了。

HTTPS 就是通过上面说到的那些手段来解决网络上可能存在的数据泄密、篡改、假冒的这些问题,保证网络传输的安全的啦!

看到这里的你,对 HTTPS 的原理是否懂了呢,反正我奶奶看完已经懂了!手动狗头(* ̄︶ ̄)

作者:苏静

简介:有过多年大型互联网项目的开发经验,对高并发、分布式、以及微服务技术有深入的研究及相关实践经验。经历过自学,热衷于技术研究与分享!格言:始终保持虚心学习的态度!

作者:苏静来源:17coding 技术博客
 



Tags:   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言什么是数据脱敏数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护常用脱敏规则替换、重排、加密、截断、掩码良好的数据脱敏实施1、尽...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
河南最有名的“13碗面”,吃过10种以上的一定是地道河南人,你吃过几碗?河南位于黄河中下游,优越的地理位置和条件,让河南的种植业在全国脱颖而出,被称为全国的“粮仓”。小麦是河南...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
在狗界中,有些狗狗比较凶残、霸道,今天我们就来说说被称为“犬中四煞”的4种狗,请认住它们的长相,看见了要绕路走! NO1:黑狼犬产地:中国寿命:11-12年黑狼犬是狼狗的一种,长大高大威猛...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
协议下的体面离婚 2015年1月 方晴供职于一家外企,袁亮硕士毕业后开了家公司。两人相识、恋爱后走进婚姻殿堂。 方晴和袁亮的儿子小浩出生了。本该是其乐融融的三口之家,却在一...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
中国人神话世界五千年到一万年之前到底是一个什么样的世界?相信这个问题应该是困扰了大家许久吧!其实这些问题可以从远古时代的三皇五帝开始说起,三皇五帝对于中国人的影响就如...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
去年有个新闻,说的是一名印度女孩自小被欧洲有钱人家收养,长大后要回来给自己出生的村子捐钱做慈善。等她回村的时候,村里人专门为女孩修了一条路。表面上看,这貌似是个暖心的故...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
日本在今年又给大家带来了一个巨大消息,日本著名的球星本田圭佑出资设立的一家公司,正式发售了飞行摩托车。 在之前可是在电视或者是电影中才能看到的,是具备了未来科幻的一个...【详细内容】
2021-12-28  Tags:   点击:(4)  评论:(0)  加入收藏
V社今日公布了2021年Steam最畅销游戏榜单,其中涵盖了本年度Steam上收入最高的100款游戏。为了得出每款游戏的总收入,Steam计算了2021年1月1日至2021年12月15日的游戏销售额、...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
“都怪我一时糊涂铸下大错,这几年为了蒙混过关,拆东墙补西墙就怕被发现,我对不起信任我的领导同事,更对不起我的家人。”内蒙古某国有合资公司原出纳员包某在庭审现场听取公诉人...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
2021年黄金价格下跌11.3%,黄金现在已经下跌了6.5%。白银价格一度下跌19.3%,白银现在已经下跌了15%。美元通胀。白银自2020年2月份以来,五家中央银行(Fed、欧洲中央银行、日本中...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
▌简易百科推荐
今天我们来聊一下北京地区的《ICP经营许可证》有多好办,现在的互联网上提供的商机越来越多,增值电信业务十分火爆,企业通过互联网突破地域的限制,把公司产品卖到更远的地方,同时...【详细内容】
2021-12-17  梦想理应飞翔Yy    Tags:《ICP经营许可证》   点击:(12)  评论:(0)  加入收藏
转自: https://blog.kermsite.com/p/blog-intro/由于格式问题,部分链接、表格可能会失效,若失效请访问原文此专题将详细介绍如何从零开始搭建一个个人博客。Dec 01, 2021阅读时...【详细内容】
2021-12-17  LaLiLi    Tags:个人博客   点击:(7)  评论:(0)  加入收藏
SP证是第二类增值电信业务经营许可证的简称。分为全网SP证和地网SP证。申请经营许可证是在工信部申请,全网SP经营许可证的有效期是5年,全网SP许可证在工信部办理全网SP续期,地...【详细内容】
2021-11-01  s陳述    Tags:sp证书   点击:(39)  评论:(0)  加入收藏
现在还有许多人不知道EDI许可证是什么东西今天我就来给大家讲解一下.EDI许可证就是一种增值电信业务经营许可证。是针对在线数据处理和交易处理业务需求的专业资格证书。 《...【详细内容】
2021-10-28  soberXx    Tags:edi许可证   点击:(75)  评论:(0)  加入收藏
元素的化学概念,如周期表中的化学元素,一切物质都是由元素构成的。对程序员而言,网站建设制作就是代码构成网站。企业网站设计者也收集了各种各样的元素,但并非所有元素都需要运...【详细内容】
2021-10-26  南宁云尚网络    Tags:企业网站   点击:(40)  评论:(0)  加入收藏
在运营网站的过程中,有一件不可忽略的事情。那就是网站上线之前需要完成 ICP 备案。说到这里,很多朋友就提出疑问了~· 什么是 ICP 备案呢?· ICP 备案需要哪些材...【详细内容】
2021-10-22  启测云    Tags:ICP备案   点击:(46)  评论:(0)  加入收藏
最近有朋友问我,我公司有外资就不能申请ICP许可证了么?外资的定义是什么?其实是可以的,但有一个特定条件必须满足,外资公司是指公司有外资股东,比如香港、加拿大、美国、韩国等等,...【详细内容】
2021-10-21  小白速看Z    Tags:ICP   点击:(51)  评论:(0)  加入收藏
自互联网出现以来,超文本传输协议http协议被广泛用于在Web浏览器和网站服务器之间传递信息,但随着互联网的发展,另一种协议——https出现,并与http一同服务于这个互联...【详细内容】
2021-10-20  我是FEIYA    Tags:https   点击:(44)  评论:(0)  加入收藏
Grafana Loki 是一个日志聚合工具,它是功能齐全的日志堆栈的核心。图片来自 包图网先看看结果有多轻量吧: Loki 是一个为有效保存日志数据而优化的数据存储。日志数据的高效索...【详细内容】
2021-09-14    51CTO  Tags:Loki日志   点击:(97)  评论:(0)  加入收藏
背景最近做微信小程序开发比较多,大家知道线上微信小程序为了安全起见,要求后端通信协议必须是HTTPS,这就要求需要安装证书。为了测试预发布线上环境,特地买了个最便宜的域名,为...【详细内容】
2021-09-14  小李子说程序    Tags:HTTPS证书   点击:(125)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条