<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Https on Foam 的博客</title>
    <link>https://blog.foamzou.com/tags/https/</link>
    <description>Recent content in Https on Foam 的博客</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Thu, 23 Aug 2018 00:20:25 +0800</lastBuildDate>
    <atom:link href="https://blog.foamzou.com/tags/https/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HTTPS原理解析</title>
      <link>https://blog.foamzou.com/posts/about-https/</link>
      <pubDate>Thu, 23 Aug 2018 00:20:25 +0800</pubDate>
      <guid>https://blog.foamzou.com/posts/about-https/</guid>
      <description>&lt;h2 id=&#34;http是什么&#34;&gt;HTTP是什么&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;超文本传输协议（英文：HyperText Transfer Protocol，缩写：HTTP）是互联网上应用最为广泛的一种网络协议。是一个基于请求与响应模式的、无状态的、应用层的协议，常基于TCP的连接方式，绝大多数的Web开发，都是构建在HTTP协议之上的Web应用。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;为了方便通信就必须统一约定好双方的数据协议，如果每个人都搞一套自己的规则，这玩起来就很麻烦了。因此IETF (互联网工程任务组) 推动了HTTP的统一和发展。现在大家用得最多的还是1999年收录于RFC 2616的1.1版本，2015年发布的2.0版本在推广道路上任重道远。&lt;/p&gt;
&lt;h2 id=&#34;https报文&#34;&gt;HTTP[S]报文&lt;/h2&gt;
&lt;p&gt;最直观上的差异，HTTP协议用明文传输报文，HTTPS用密文。  &lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;报文对比&#34; loading=&#34;lazy&#34; src=&#34;https://blog.foamzou.com/posts/about-https/12842298-abae88306d66e241-2.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;http的缺陷&#34;&gt;HTTP的缺陷&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;窃听风险（eavesdropping）：明文传输，第三方可以获知通信内容。&lt;/li&gt;
&lt;li&gt;篡改风险（tampering）：第三方可以修改通信内容。&lt;/li&gt;
&lt;li&gt;冒充风险（pretending）：第三方可以冒充他人身份参与通信。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;https是什么&#34;&gt;HTTPS是什么&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;超文本传输安全协议（英语：Hypertext Transfer Protocol Secure，缩写：HTTPS，常称为HTTP over TLS，HTTP over SSL或HTTP Secure） 是一种透过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信，但利用SSL/TLS协议来加解密数据包。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;HTTPS开发的主要目的，是提供对网站服务器的身份认证，保护交换数据的隐私与完整性； HTTPS并不是一个单独的协议，而是对工作在一加密连接（TLS/SSL）上的常规HTTP协议的称呼。因此HTTPS被称之为身披SSL外壳的HTTP。&lt;/p&gt;
&lt;h2 id=&#34;ssltls协议&#34;&gt;SSL/TLS协议&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;传输层安全性协议（Transport Layer Security，缩写作 TLS），及其前身安全套接层（Secure Sockets Layer，缩写作 SSL）是一种安全协议，目的是为互联网通信，提供安全及数据完整性保障&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;网景公司（Netscape）在1994年推出首版网页浏览器，网景导航者时，推出HTTPS协议，以SSL进行加密，这是SSL的起源。后面，IETF将SSL进行标准化，称为TLS。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中，广泛支持这个协议&lt;/p&gt;
&lt;p&gt;协议&lt;/p&gt;
&lt;p&gt;年份&lt;/p&gt;
&lt;p&gt;描述&lt;/p&gt;
&lt;p&gt;SSL 1.0&lt;/p&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;p&gt;从未公开过，因为存在严重的安全漏洞&lt;/p&gt;
&lt;p&gt;SSL 2.0&lt;/p&gt;
&lt;p&gt;1995&lt;/p&gt;
&lt;p&gt;因为存在数个严重的安全漏洞而被3.0版本替代&lt;/p&gt;
&lt;p&gt;SSL 3.0&lt;/p&gt;
&lt;p&gt;1996&lt;/p&gt;
&lt;p&gt;2014年10月Google发现该版本的严重漏洞，建议全面禁用SSL版本&lt;/p&gt;
&lt;p&gt;TLS 1.0&lt;/p&gt;
&lt;p&gt;1999&lt;/p&gt;
&lt;p&gt;IETF标准化后的第一个版本。包括可以降级到SSL 3.0的实现，这削弱了连接的安全性&lt;/p&gt;
&lt;p&gt;TLS 1.1&lt;/p&gt;
&lt;p&gt;2006&lt;/p&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;p&gt;TLS 1.2&lt;/p&gt;
&lt;p&gt;2008&lt;/p&gt;
&lt;p&gt;删除了对SSL的兼容。目前使用最广泛的版本&lt;/p&gt;
&lt;p&gt;TLS 1.3&lt;/p&gt;
&lt;p&gt;2018&lt;/p&gt;
&lt;p&gt;截至本文撰写，为建议标准的互联网草案&lt;/p&gt;
&lt;h3 id=&#34;在tcpip模型的位置介于传输层与应用层之间&#34;&gt;在TCP/IP模型的位置：介于传输层与应用层之间&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;SSL/TLS在TCP/IP模型的位置&#34; loading=&#34;lazy&#34; src=&#34;https://blog.foamzou.com/posts/about-https/12842298-cfed569a5b9bd924-2.png&#34;&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
