HTTPS一系列干货(一):HTTPS原理详解
为鼓励全球网站的HTTPS一些互联网公司提出了自己的要求:
1)Google已经调整了搜索引擎算法,允许使用HTTPS网站在搜索中排名更高;
2)从2017年开始,Chrome已采用浏览器HTTP协议网站标注为不安全网站;
5)新一代的HTTP支持/2协议需要HTTPS为基础。
等等,所以想必在不久的将来,整个网络HTTPS势在必行。
1、HTTP协议(HyperTextTransferProtocol,超文本传输协议:客户浏览器或其他程序Web应用层通信协议服务器之间。
2、HTTPS协议(HyperTextTransferProtocoloverSecureSocketLayer):可以理解为HTTP SSL/TLS,即HTTP下加入SSL层,HTTPS安全基础是SSL,因此,需要详细的加密内容SSL,用于安全的HTTP数据传输。
如上图所示HTTPS相比HTTP多了一层SSL/TLS
SSL(SecureSocketLayer,安全套接字层):1994年为Netscape所研发,SSL协议位于TCP/IP为数据通信提供安全支持,为数据通信提供安全支持。
TLS(TransportLayerSecurity,传输层安全)SSL,它最初的几个版本(SSL1.0、SSL2.0、SSL3.0)1999年由网景公司开发3.1开始被IETF标准化和改名已经发展到现在TLS1.0、TLS1.1、TLS1.2三个版本。SSL3.0和TLS1.0由于使用安全漏洞。TLS1.3变化会比较大,还处于草案阶段。目前使用最广泛的是TLS1.1、TLS1.2。
据记载,公元前400年,古希腊人发明了更换密码;在第二次世界大战期间,德国军方使用了恩尼格玛密码机,因此密码学在社会发展中得到了广泛的应用。
1、对称加密
有两种流式和分组,加密和解密使用相同的密钥。
例如:DES、AES-GCM、ChaCha20-Poly1305等
2、非对称加密
加密使用的密钥不同于解密使用的密钥,分别称为公钥、私钥、公钥和算法,私钥是保密的。非对称加密算法性能低,但安全性强。由于其加密特性,非对称加密算法可以加密的数据长度也有限。
例如:RSA、DSA、ECDSA、DH、ECDHE
3、哈希算法
将任何长度的信息转换为较短的固定长度值,通常比信息小得多,算法不可逆。
例如:MD5、SHA-1、SHA-2、SHA-256等
4、数字签名
签名是在信息后面添加一段内容(信息通过hash后值)可以证明信息没有修改。hash值一般加密后(即签名)发送信息,以确保此hash是否值得修改。
一、HTTP访问过程
抓包如下:
如上图所示,HTTP在请求过程中,客户端和服务器之间没有身份确认过程,所有数据都明确传输,互联网上裸奔,容易受到黑客攻击,如下:
可以看出,客户发出的请求很容易被黑客拦截。如果黑客此时冒充服务器,可以将任何信息返回客户端而不被客户端检测到。因此,我们经常听到劫持这个词
在下面的两张图片中,浏览器充相同的内容URL,左边是正确的响应,右边是劫持后的响应
所以HTTP传输的风险包括:
(1)窃听风险:黑客可以知道通讯内容。
(2)篡改风险:黑客可以修改通信内容。
(3)冒险:黑客可以冒充他人参与通信。
二、HTTP向HTTPS演化的过程
第一步:为了防止上述现象的发生,人们想出了一种方法:加密传输信息(即使黑客被截获,也无法破解)
如上图所示,该方法属于对称加密,双方拥有相同的密钥,信息安全传输,但该方法的缺点是:
(1)不同的客户端和服务器数量庞大,双方都需要维护大量的密钥,维护成本很高
(2)因每个客户端、服务器的安全级别不同,密钥极易泄露
第二步:由于使用对称加密时密钥维护如此繁琐,我们将尝试使用非对称加密
如上图所示,客户端使用公钥对请求内容进行加密,服务器使用私钥对内容进行解密,但上述过程也存在缺点:
(1)公钥是公开的(即黑客也会有公钥),所以第一④如果步私钥加密的信息被黑客截获,可以用公钥解密,获取内容
第三步:由于非对称加密也存在缺陷,我们将对称加密与非对称加密相结合,取其精华,去其糟粕,充分发挥各自的优势
如上图所示
(1)第③步骤时,客户端说:(我们使用对称加密,这是对称加密算法和对称密钥)用公钥加密,然后传输到服务器
(2)服务器收到信息后,用私钥解密,提取对称加密算法和对称密钥。
(3)对称加密可用于后续两者之间信息的传输。
遇到的问题:
(1)客户端如何获得公钥?
(2)如何确认服务器是真实的,而不是黑客
第四步:获取公钥并确认服务器身份
1、获取公钥
(1)提供下载公钥的地址,让客户端在回复前下载。(缺点:下载地址可能是假的;客户端每次回复前下载公钥也很麻烦。)(2)回复开始时,服务器向客户发送公钥(缺点:黑客冒充服务器,向客户发送假公钥)
2、有一种方法可以安全地获得公钥,防止黑客冒充它?这需要终极武器:SSL证书()
如上图所示,在第②步时服务器发送SSL证书给客户端,SSL具体内容包括:
(一)证书发布机构CA
(2)证书的有效期
(3)公钥
(4)证书所有者
(5)签名
3、客户端从服务端发送SSL以浏览器为例,对证书的真实性进行验证:
(1)首先,浏览器阅读证书中的证书所有者、有效期等信息,并逐一验证
(2)浏览器开始搜索操作系统中内置的可信证书发布机构CA,服务器务器的证书CA比对,用于校验证书是否为合法机构颁发
(3)如果找不到,浏览器会报错,说明服务器发的证书不可信。
(4)如果发现,浏览器将从操作系统中取出发起人CA公钥,然后解密服务器发送的证书中的签名
(5)浏览器使用相同的浏览器hash算法计算服务器发送的证书hash值,计算这个hash与证书签名进行比较
(6)对比结果一致,则证明服务器发来的证书合法,没有被冒充
(7)此时浏览器可以读取证书中的公钥进行后续加密
4、所以通过发送SSL证书的形式,既解决了公钥获取问题,又解决了黑客冒充问题,一举两得,HTTPS形成了加密过程
所以相比HTTP,HTTPS传输更安全
(1)所有信息都是加密传播的,黑客不能窃听。
(2)有验证机制,一旦被篡改,通信双方会立即发现。
(3)配备身份证,防止身份冒充。
综上所述,相比HTTP协议,HTTPS该协议增加了大量的握手、加密和解密过程,尽管过程非常复杂,但它可以确保数据传输的安全。因此,在这个互联网扩张的时代,隐藏着各种看不见的危机。为了保证数据的安全,维护网络的稳定,建议大家多推广HTTPS。
推荐阅读:
云致力于为客户提供一站式在线业务加速服务,为用户网页图片、文件下载、音视频点播、动态内容提供加速服务,拥有智能控制台面板SSL全链路加密优化,自定义边缘规则等特性,同时支持WebP、H.265、Gzip压缩、HTTP/2等新特性,CDN性能更快。提供安全可靠、一站式解决方案、实时灵活多终端等服务。
最近很多用户都在找1994年丰南县二中毕业证的答案,找到了1994年丰南县二中毕业证4370865张原创设计图片。今天总结几个答案给大家解读! 97%的新读者认为(1994年丰南县二中毕业证:HTTPS一系列干货(一):HTTPS 原理详解)值得一读!
毕业证样本网创作《1994年丰南县二中毕业证:HTTPS系列干货:HTTPS原理详解》发布不易,请尊重! 转转请注明出处:https://www.czyyhgd.com/211097.html