分分钟让你理解HTTPS
一、HTTP存在的问题 1.1 可能被窃听
HTTP 本身不具备加密的功能,HTTP 报文使用明文方式发送
由于互联网是由联通世界各个地方的网络设施组成,所有发送和接收经过某些设备的数据都可能被截获或窥视。(例如大家都熟悉的抓包工具:Wireshark)
1.2 认证问题无法确认你发送到的服务器就是真正的目标服务器(可能服务器是伪装的)
无法确定返回的客户端是否是按照真实意图接收的客户端(可能是伪装的客户端)
无法确定正在通信的对方是否具备访问权限,Web 服务器上某些重要的信息,只想发给特定用户即使是无意义的请求也会照单全收。无法阻止海量请求下的 DoS 攻击(Denial of Service,拒绝服务攻击)。
1.3 可能被篡改1.请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击被称为中间人攻击(Man-in-the-Middle attack,MITM)。
二、HTTPS介绍 2.1 什么是HTTPS超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
2.2 HTTPS怎么解决上述问题HTTPS是在通信接口部分用 TLS(Transport Layer Security 传输层安全性协议),TLS协议采用主从式架构模型,用于在两个应用程序间通过网络创建起安全的连接,防止在交换数据时受到窃听及篡改。
传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Sockets Layer,,缩写作 SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。
网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。
IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246 (2008年8月)与 RFC 6176 (2011年3月)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。
2.4 TLS/SSL 协议HTTPS 协议的主要功能基本都依赖于 TLS/SSL 协议,TLS/SSL 的功能实现主要依赖于三类基本算法:散列函数 、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。
SSL/TLS协议运行机制 可以看阮老师的SSL/TLS协议运行机制的概述
RSA加密算法原理可以看阮老师的这两篇文章 RSA算法原理(一)、 RSA算法原理(二)
2.5 用信鸽来解释密码学是一门难以理解的学科,说起来也很抽象,而在互联网上任何活动都可以认为是从某台服务器上发送和接受信息。我们可以假设这些消息是用信鸽来传递的。
在谈之前我们先说一下爱丽丝、鲍勃和马洛里。他们是广泛地代入密码学和物理学领域的通用角色。这些名称是为了方便说明议题,如果句子类似“甲想发送消息给乙”,当议题变得越复杂,将越难理解及容易混乱。而在典型的协议运行中,这些人物不一定是一个“人类”,而可能是一个可信赖的自动式代理人(如电脑程序)。使用这些名称有助说明的结构,有时也会用作幽默。
2.5.1 初步交流如果爱丽丝想要给鲍勃发送一段信息,她会把信息绑在信鸽的腿上然后送往鲍勃那里。鲍勃收到了信息,并阅读了信息,非常完美。
但如果马洛里拦截了爱丽丝的鸽子并且篡改了信息呢?鲍勃就没有办法去知道爱丽丝发出的信息在传递过程中遭到了修改。
这就是 HTTP 如何运作的。看起来很可怕对吧?我是不会通过 HTTP 来发送我的银行资信证明的,并且你也不应如此。
2.5.2 隐蔽的密码那么如果爱丽丝和鲍勃都非常的机智。他们一致认同使用一种隐蔽的密码来书写他们的信息。他们会将信息中的每个字母按照字母表中的顺序前移三位。比如,D→A,E→B,F→C。如此一来,原文为 “secret message” 的信息就变成了 “pbzobq jbppxdb” 。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/39793.html
- 上一篇:nodeJs生成条形码图片
- 下一篇:图片上传预览