深入理解HTTPS协议

HTTS协议实际就是标准的HTTP协议加上SSL/TLS层.它能防止我们的信息被窃取,暴露出不安全.或者进入钓鱼网址.通过下面这个讲解,我希望能明白SSL/TLS层到底为我们做了哪些事情,才能保证我们的信息安全.

1. HTTPS到底做了哪些事情

HTTPS采用众所周知和理解的HTTP协议,并简单地将SSL / TLS加密层层叠在其上。服务器和客户端仍然使用相同的HTTP,但通过安全的SSL连接来加密和解密他们的请求和响应。 SSL层有两个主要目的:

  • 保证你是在跟真正的服务器通信,而不是伪装的服务器.
  • 保证只有真正的服务器才能解密你发送的信息.同时,也只有你才能解密服务器跟你发送消息.就是保证是你跟真正的服务器在通信,这过程中没有第三者.

在这过程中,其他人还是可以中途截取到你发送的信息,但是是加密的,它们拿到也无法解密.

2. SSL/TLS是如何建立连接的

客户端和服务器端通过握手来建立连接的,目的有以下3点。

  • 保证客户端正在和正确的服务器通信(反之亦然)
  • 有关各方已就“密码套件”达成一致,该密码套件包括将用于交换数据的加密算法
  • 对密匙达成一致,双方使用相同的密匙

一旦建立连接,双方就可以使用商定的算法和密钥将消息安全地发送给对方。我们将握手分为三个主要阶段 - Hello,证书交换和密钥交换。

  1. Hello - 握手从客户端发送ClientHello消息开始。这包含服务器通过SSL/TLS连接到客户端所需的所有信息,包括它支持的各种密码套件和最大SSL/TLS版本。服务器响应ServerHello,其中包含客户端所需的类似信息,包括基于客户端有关哪个密码套件和SSL/TLS版本将被使用的偏好的决定。
  2. 证书交换 - 现在联系已建立,服务器必须向客户证明其身份。这是通过使用SSL证书来实现的,该证书与其护照非常相似。 SSL证书包含各种数据,包括所有者的名称,所连接的属性(例如域),证书的公钥,数字签名以及有关证书有效日期的信息。客户端检查它是隐式信任证书,还是验证它是否被其隐含信任的几个证书颁发机构(CA)之一验证和信任。请注意,服务器也可以要求证书来证明客户的身份,但这通常只发生在非常敏感的应用程序中。
  3. 密钥交换 - 客户端和服务器交换的实际消息数据的加密将使用对称加密算法完成,其确切性质在Hello阶段已经达成一致。对称算法使用单个密钥进行加密和解密,与需要公钥/私钥对的非对称算法相反。双方需要就这个单一的对称密钥达成一致,这个安全使用非对称加密和服务器的公钥/私钥完成的过程。客户端先用非对称加密算法的公钥把通信过程中需要的私钥传给服务端,服务端用私钥解读出以后通信过程中的私钥。

客户端生成一个用于对称加密算法的随机密钥。它使用在Hello阶段同意的算法和服务器的公钥(在其SSL证书上找到)对其进行加密。它将这个加密的密钥发送到服务器,在那里使用服务器的私钥解密,并且握手的有趣部分已完成。双方都非常高兴,他们正在与正确的人交谈,并秘密地同意了一个密钥,以对称加密的方式加密他们将要发送的数据。 HTTP请求和响应现在可以通过形成明文消息然后加密并发送来发送。另一方是唯一知道如何解密此消息的人,因此中间人攻击者无法读取或修改他们可能拦截的任何请求。


image.png
3. 证书

对于请求方来说,它怎么能确定它所得到的公钥一定是从目标主机那里发布的,而且没有被篡改过呢?亦或者请求的目标主机本本身就从事窃取用户信息的不正当行为呢?这时候,我们需要有一个权威的值得信赖的第三方机构(一般是由政府审核并授权的机构)来统一对外发放主机机构的公钥,只要请求方这种机构获取公钥,就避免了上述问题的发生。
用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息(根证书私钥签名)。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布,数字证书各不相同,每种证书可提供不同级别的可信度。
证书的验证是通过验证证书的数字签名(CA的公钥来解开签名,并与原文hash之后的摘要做对比).

4. 数字签名

数字签名技术就是对“非对称密钥加解密”和“数字摘要“两项技术的应用,它将摘要信息用发送者的私钥加密,与原文一起传送给接收者。 接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。 如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
数字签名的过程如下:

明文 --> hash运算 --> 摘要 --> 私钥加密 --> 数字签名

数字签名有两种功效:

  • 能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。
  • 数字签名能确定消息的完整性。

真个HTTPS的握手过程如下


image.png
5. 总结

HTTPS不是不可破解的,并且SSL协议必须随着新攻击被发现和压制而不断发展。但它仍然是一种传递秘密数据的的方式,无需关心谁看到您的消息。当然,这里没有提到许多实现细节,例如握手消息的确切格式和顺序,在不需要重新协商密钥和密码套件的情况下选择最近会话的简短握手,以及在每个阶段可用的众多不同的加密选项。关键要记住的是,虽然HTTPS可以保证数据安全地连接到目的地,但它绝不会保护您(作为用户或开发人员)抵御XSS或数据库泄漏或任何其他事情 。看看威尔史密斯,“Walk in shadow, move in silence, guard against extra-terrestrial violence”。

参考文章:
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
https://robertheaton.com/2014/03/27/how-does-https-actually-work/
http://www.wxtlife.com/2016/03/27/%E8%AF%A6%E8%A7%A3https%E6%98%AF%E5%A6%82%E4%BD%95%E7%A1%AE%E4%BF%9D%E5%AE%89%E5%85%A8%E7%9A%84%EF%BC%9F/#u6570_u5B57_u8BC1_u4E66

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342