<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HTTPS &#8211; 寂静花园</title>
	<atom:link href="https://www.addesp.com/archives/tag/https/feed" rel="self" type="application/rss+xml" />
	<link>https://www.addesp.com</link>
	<description>寂静中交织着热情</description>
	<lastBuildDate>Sat, 05 Jun 2021 04:23:59 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>
	<item>
		<title>简要说明 HTTPS 是如何保证数据安全</title>
		<link>https://www.addesp.com/archives/284</link>
					<comments>https://www.addesp.com/archives/284#comments</comments>
		
		<dc:creator><![CDATA[ADD-SP]]></dc:creator>
		<pubDate>Sat, 28 Mar 2020 17:48:43 +0000</pubDate>
				<category><![CDATA[科普]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[网络安全]]></category>
		<guid isPermaLink="false">http://69a274df.addesp.com/?p=284</guid>

					<description><![CDATA[本文简要介绍HTTPS协议是如何保证数据在传输过程中的安全的。]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">概述</h2>



<p class="wp-block-paragraph">本文简要介绍HTTPS协议是如何保证数据在传输过程中的安全的。<br>由于是以介绍为主，所以不会涉及细节，而且<strong>肯定会有一些错误</strong>。如果想要详细了解可自行查阅资料。</p>



<h2 class="wp-block-heading">正文</h2>



<p class="wp-block-paragraph">在HTTPS协议出现前大家用的都是HTTP协议，这种协议传输的都是明文信息，任何人都可以窃取并篡改，毫无安全性可言。</p>



<p class="wp-block-paragraph"><br>HTTP协议的简要通信流程如下图：</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="796" height="582" src="https://www.addesp.com/wp-content/uploads/2020/09/0-10.webp" alt="" class="wp-image-286"/><figcaption><em>HTTP&nbsp;协议简要通信流程</em></figcaption></figure>



<p class="wp-block-paragraph">由于传输的信息都是明文的，所以攻击者就可以窃取并篡改信息，如下图：</p>



<figure class="wp-block-image size-large"><img decoding="async" width="796" height="582" src="https://www.addesp.com/wp-content/uploads/2020/09/1-8.webp" alt="" class="wp-image-287"/><figcaption><em>中间人攻击</em></figcaption></figure>



<hr class="wp-block-separator"/>



<p class="wp-block-paragraph">你可能会想，我们把信息加密不就可以了么，比如像下图一样</p>



<figure class="wp-block-image size-large"><img decoding="async" width="866" height="582" src="https://www.addesp.com/wp-content/uploads/2020/09/2-8.webp" alt="" class="wp-image-288"/><figcaption><em>使用对称密钥加密信息</em></figcaption></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>对称加密：双方持有同一个对称密钥，任何一方通过对称密钥加密的信息，对方可以通过相同的对称密钥解密出原文。</p></blockquote>



<p class="wp-block-paragraph">但是攻击者依然可以通过各种方式获取到对称密钥：</p>



<ul class="wp-block-list"><li>如果密钥是通过服务器下发给客户端，则直接截取服务器的消息就行了。</li><li>如果对称密钥是提前保存在双方的电脑上，那就可以通过某种手段入侵客户端或者服务器来窃取对称密钥。</li><li>其它方式。</li></ul>



<p class="wp-block-paragraph">截取到密钥后攻击者仍然可以进行攻击</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="956" height="582" src="https://www.addesp.com/wp-content/uploads/2020/09/3-6.webp" alt="" class="wp-image-289"/><figcaption><em>中间人攻击</em></figcaption></figure>



<hr class="wp-block-separator"/>



<p class="wp-block-paragraph">那么我们就需要对“对称密钥”进行保护了，如下图</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1265" height="729" src="https://www.addesp.com/wp-content/uploads/2020/09/4-3.webp" alt="" class="wp-image-290"/><figcaption><em>保护对称密钥</em></figcaption></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>非对称加密：一方持有私钥，一方持有公钥，使用公钥加密的信息只能被私钥解密。私钥不会用于加密，不过通常会用于加一段签名代表信息是完整，即信息是否丢失了一部分或者因为某种原因而发生的改变。</p></blockquote>



<p class="wp-block-paragraph">这次攻击者看似无法通过截取信息来获得对称密钥了，但是攻击者依然有机会发起攻击。</p>



<p class="wp-block-paragraph">不过先说明一点，目前公钥都是通过服务器下发的证书获得的，所以更接近下图相对来说更接近真实的通信流程</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="916" height="632" src="https://www.addesp.com/wp-content/uploads/2020/09/5-2.webp" alt="" class="wp-image-291"/><figcaption><em>服务器下发证书</em></figcaption></figure>



<p class="wp-block-paragraph">那么攻击者会怎样攻击呢？如下图（图片如果看不清可以右键图片选择“在新的标签页中打开图像”或类似选项）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="956" height="1462" src="https://www.addesp.com/wp-content/uploads/2020/09/6-2.webp" alt="" class="wp-image-292"/><figcaption><em>中间人攻击</em></figcaption></figure>



<hr class="wp-block-separator"/>



<p class="wp-block-paragraph">这时显然不能对公钥再次加密了，因为无法判断客户端得到的证书是真的，还是攻击者伪造的。<br>这时就需要第三方介入了</p>



<ol class="wp-block-list"><li>合法服务器的证书都是经过审核机构审核的，服务器在下发证书的时候就会下发经过审核的证书</li><li>客户端会存有经过审核的证书的列表。</li><li>客户端收到服务器下发的证书后会验证收到的证书是否经过了审核。</li><li>如果经过了审核则继续通信，反之断开连接或者弹出警告。</li></ol>



<p class="wp-block-paragraph">现在的通信流程图下图，也是HTTPS的大致通信流程</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="916" height="632" src="https://www.addesp.com/wp-content/uploads/2020/09/7-2.webp" alt="" class="wp-image-293"/><figcaption><em>更接近于&nbsp;HTTPS&nbsp;的通信流程</em></figcaption></figure>



<hr class="wp-block-separator"/>



<p class="wp-block-paragraph">不过HTTPS的一大软肋就是第三方证书审核机构，如果审核不严将攻击者的证书列入了合法证书列表，那么HTTPS所作的努力将全部白费。</p>



<p class="wp-block-paragraph"><br>总的来说，HTTPS增加了攻击者的攻击成本，使得数据的传输过程变得更加完全。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.addesp.com/archives/284/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
