HTTPS 到底加密了什么?

HTTPS 到底加密了什么?

2018/07/03 · 基础技术 ·
HTTPS

原文出处:
云叔_又拍云   

关于 HTTP 和 HTTPS
这个老生常谈的话题,我们之前已经写过很多文章了,比如这篇《从HTTP到HTTPS再到HSTS》,详细讲解了
HTTP 和 HTTPS 的进化之路,对的没错,就是 HTTP 兽进化 HTTPS 兽。

正规网赌平台 1

那么今天我们主要聊一聊 HTTPS 到底加密了些什么内容。

先跟大家讲个故事,我初恋是在初中时谈的,我的后桌。那个时候没有手机这类的沟通工具,上课交流有三宝,脚踢屁股、笔戳后背以及传纸条,当然我只能是那个屁股和后背。

说实话传纸条真的很危险,尤其是这种早恋的纸条,被抓到就是一首《凉凉》。

于是我和我的小女朋友就商量一下加密这个小纸条上面的数据,这样就算被班主任抓到她也奈何不了我们!

我们用将英文字母和数字一一对应,组成一个密码本,然后在小纸条上写上数字,要将他翻译成对应的字母,在拼成拼音才能知道这串数字意思。

上面就是最初我坎坷的感情史。

后来等我长大了,才知道这是回不去的美好。如果给我一个机会,我愿意……啊呸,跑偏了,等长大了才知道,这个就是现在网站数据传输中的
HTTPS。

设计一套良好的 API 接口。

原文地址:服务端指南 | HTTPS
项目实战指南

博客地址:http://blog.720ui.com/

多了 SSL 层的 HTTP 协议

简而言之,HTTPS 就是在 HTTP 下加入了 SSL
层,从而保护了交换数据隐私和完整性,提供对网站服务器身份认证的功能,简单来说它就是安全版的
HTTP。

现在随着技术的发展,TLS 得到了广泛的应用,关于 SSL 与 TLS
的差别,我们不用在意,只要知道 TLS 是 SSL 的升级版本就好。
正规网赌平台 2
一般来说,HTTPS
主要用途有三个:一是通过证书等信息确认网站的真实性;二是建立加密的信息通道;三是数据内容的完整性。
正规网赌平台 3

上文为又拍云官网,我们可以通过点击浏览器地址栏锁标志来查看网站认证之后的真实信息,SSL证书保证了网站的唯一性与真实性。

那么加密的信息通道又加密了哪些信息呢?

签发证书的 CA
中心会发布一种权威性的电子文档——数字证书,它可以通过加密技术(对称加密与非对称加密)对我们在网上传输的信息进行加密,比如我在
Pornhub 上输入:

账号:cbssfaw

密码:123djaosid

可是这个数据被黑客拦截盗窃了,那么加密后,黑客得到的数据可能就是这样的:

账号:çµø…≤¥ƒ∂ø†®∂˙∆¬

密码:∆ø¥§®†ƒ©®†©˚¬

正规网赌平台 4

最后一个就是验证数据的完整性,当数据包经过无数次路由器转发后会发生数据劫持,黑客将数据劫持后进行篡改,比如植入羞羞的小广告。开启HTTPS后黑客就无法对数据进行篡改,就算真的被篡改了,我们也可以检测出问题。

本文将重点介绍关于 HTTPS 的几个实战指南。

正规网赌平台,对称加密与非对称加密

对称加密

对称加密是指加密与解密的使用同一个密钥的加密算法。小编初中的时候传纸条使用了同一套加密密码,所以我用的加密算法就是对称加密算法。

目前常见的加密算法有:DES、AES、IDEA 等

非对称加密

非对称加密使用的是两个密钥,公钥与私钥,我们会使用公钥对网站账号密码等数据进行加密,再用私钥对数据进行解密。这个公钥会发给查看网站的所有人,而私钥是只有网站服务器自己拥有的。

目前常见非对称加密算法:RSA,DSA,DH等。

  1. HTTPS 使用剖析
  2. HTTPS 项目场景
  3. HTTPS 设计上的借鉴
  4. HTTPS 降级攻击

HTTPS=数据加密+网站认证+完整性验证+HTTP

通过上文,我们已经知道,HTTPS 就是在 HTTP
传输协议的基础上对网站进行认证,给予它独一无二的身份证明,再对网站数据进行加密,并对传输的数据进行完整性验证。

HTTPS 作为一种加密手段不仅加密了数据,还给了网站一张身份证。

如果让我回到十年前,那么我一定会这样跟我的女朋友传纸条:

先准备一张独一无二的纸条,并在上面签上我的大名,然后用只有我女朋友可以解密的方式进行数据加密,最后写完后,用胶水封起来,防止隔壁桌的小王偷看修改小纸条内容。

 

1 赞 收藏
评论

正规网赌平台 5

HTTPS 使用剖析与项目场景

HTTP 协议没有加密机制,可以通过 SSL 或 TLS 加密 HTTP
的通信内容。因此,HTTPS 是 HTTP 的安全版,在 HTTP 协议中加入 SSL
层,它由两部分组成:HTTP 与 SSL。其中,SSL 是独立于 HTTP
的协议,它不仅可以适用于 HTTP 协议,还可以配合 WebSocket
等协议一起使用。

为什么使用 HTTPS

HTTP
协议没有加密机制,通信内容是明文传输的,没有经过任何安全处理。然而,互联网的任何角落都可能存在通信内容在传输过程中被中间者窃听、篡改、冒充等风险。其中,任何角落指的是用户的通信内容在浏览器和服务器中间传输必须要经过的节点,比如
WIFI 热点,路由器,防火墙,反向代理,缓存服务器等。因此,HTTP
协议通信存在的威胁不言而喻,中间者可以窃听隐私,使用户的敏感信息泄露;篡改网页,例如中间者向页面插入广告内容,甚至有的中间者进行流量劫持,例如有的时候会发现域名没有输错,结果却跳转到了一个钓鱼网站,因为这个网站被中间者劫持了。

因此,为了解决窃听、篡改、冒充等风险,HTTPS 的价值就体现出来了,HTTPS
可以进行通信内容加密,使第三方无法窃听。HTTPS
可以进行身份认证,一旦通信内容被篡改,通信双方会立刻发现。此外,HTTPS
可以保证通信内容的完整性,防止通信内容冒充或者篡改。

SSL 与 TLS

HTTP 协议可以通过 SSL 或 TLS 加密 HTTP 的通信内容。其中,SSL
最初由网景通信公司率先倡导与开发,最新版本是 SSL 3.0。目前,由 IETF
主导与管理。IETF 以 SSL 3.0 为基准,在 SSL 3.0 协议规范之上又制定了 TLS
1.0、 TLS 1.1 和 TLS 1.2。

HTTPS 原理剖析

为了更好地理解 HTTPS,先来观察一下 HTTPS 的通信步骤。

第一步,用户在浏览器里输入一个支持 HTTPS 协议的网址,例如
https://blog.720ui.com,此时会发起一个
HTTPS 请求,通过 TCP 和服务器建立连接,其中使用 443 端口。

第二步,服务器向客户端发送证书,其中包括域名,申请证书的公司,证书的公钥等信息。

第三步,客户端通过 SSL 或 TLS
对证书进行解析,验证公钥是否有效,例如验证颁发机构与验证过期时间等信息,如果发现证书异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个密钥,然后向服务器发送证书公钥加密后的密钥。

第四步,服务器用证书私钥进行解密,获得客户端传过来的密钥。

第五步,服务器用客户端的密钥加密后的信息发送给客户端。

第六步,客户端用密钥解密服务端传过来的信息,验证服务端传过来的信息是否可以用密钥进行解密。

第七步,客户端用密钥加密请求内容,然后将通信内容发送给服务端。

第六步,服务端用密钥解密请求内容,并进行业务处理后用密钥加密响应内容,然后将通信内容发送给客户端。

在以上流程中,HTTPS
协议将对称加密算法与非对称加密算法的优势相结合。使用对称加密算法对通信内容进行快速加密,从而弥补了非对称加密算法处理速度慢的问题,并保证通信内容的机密性。同时,使用非对称加密算法将对称加密算法的密钥进行加密,保证对称加密算法的密钥的安全交换。因此,HTTPS
协议先通过非对称加密算法进行密钥的安全交换,并在建立通信连接后,使用对称加密算法进行通信,保证通信内容的机密性。

HTTPS 项目场景

真实的业务场景是比较复杂的。这里,整理 3
个项目中遇到的比较复杂的应用场景。

相关文章