<?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>中间人攻击 on Last Stand</title><link>https://amatsuzero.github.io/LastStand/tags/%E4%B8%AD%E9%97%B4%E4%BA%BA%E6%94%BB%E5%87%BB/</link><description>Recent content in 中间人攻击 on Last Stand</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 04 Dec 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://amatsuzero.github.io/LastStand/tags/%E4%B8%AD%E9%97%B4%E4%BA%BA%E6%94%BB%E5%87%BB/index.xml" rel="self" type="application/rss+xml"/><item><title>中间人攻击</title><link>https://amatsuzero.github.io/LastStand/posts/frontend/security/security-009/</link><pubDate>Wed, 04 Dec 2024 00:00:00 +0800</pubDate><guid>https://amatsuzero.github.io/LastStand/posts/frontend/security/security-009/</guid><description>&lt;p&gt;一句话总结：中间人攻击的关键在于&lt;strong&gt;获取公钥&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="一我和小美传纸条"&gt;一、我和小美传纸条&lt;/h2&gt;
&lt;p&gt;我和隔壁班的小美互相喜欢，经常互相传纸条。但我懒得动，一般让老王帮我顺路带过去，我信任老王，所以就是简单把纸对折一下就交给老王了。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://amatsuzero.github.io/LastStand/posts/frontend/security/security-009/image-01.webp"&gt;&lt;/p&gt;
&lt;h2 id="二带锁的盒子"&gt;二、带锁的盒子&lt;/h2&gt;
&lt;p&gt;有一天我发现，老王居然偷看我的纸条！&lt;/p&gt;
&lt;p&gt;我很生气，于是买了一个带锁的盒子，并配了两把钥匙🔑，我留一把，另一把让老王交给小美。我心想这下子老王没钥匙，看不了我们的纸条了。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://amatsuzero.github.io/LastStand/posts/frontend/security/security-009/image-02.webp"&gt;&lt;/p&gt;
&lt;h2 id="三一个需要两把钥匙的盒子"&gt;三、一个需要两把钥匙的盒子&lt;/h2&gt;
&lt;p&gt;又过了几天，我发现老王还是会偷看，为什么呢？原来这老小子当初传递钥匙的时候，自己去复刻了一把！&lt;/p&gt;
&lt;p&gt;于是我又想了一个办法，换了一个更高级的盒子，这个盒子必须用一对钥匙才能使用，使用公钥上锁，必须使用私钥才能打开。我委托老王把我的公钥交给小美，把小美的公钥拿给我。&lt;/p&gt;
&lt;p&gt;以后我们都用对方的公钥来进行加密，对方用自己的私钥就能解密。而且就算老王把公钥拿去复刻一把也没关系，没有私钥他就打不开箱子，完美！&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://amatsuzero.github.io/LastStand/posts/frontend/security/security-009/image-03.webp"&gt;&lt;/p&gt;
&lt;h2 id="四班主任"&gt;四、班主任&lt;/h2&gt;
&lt;p&gt;过了几天，我发现老王还是能偷看我们的纸条，为什么呢？？？？？？&lt;/p&gt;
&lt;p&gt;我想了好几天终于想明白了！原来老王当初传递钥匙的时候，他把我俩的公钥自己留下了，这老小子把自己的公钥给了我们俩。他现在有手里有四把钥匙，想看什么看什么！&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://amatsuzero.github.io/LastStand/posts/frontend/security/security-009/image-04.webp"&gt;&lt;/p&gt;
&lt;p&gt;这次我们终于意识到问题的关键，不管什么方案，让老王传钥匙就得坏事！于是我和小美商量好，这次不通过老王，而是通过我的班主任传递公钥，终于可以愉快的聊天了！&lt;/p&gt;
&lt;h2 id="五网络中的加密知识"&gt;五、网络中的加密知识&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;对称加密&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;对称加密使用&lt;code&gt;同一个密钥&lt;/code&gt;进行加密和解密。它的优点是速度快，它的问题是密钥传播过程中一旦泄露，就功亏一篑了。&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;非对称加密&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;非对称加密使用一对密钥：公钥和私钥。&lt;code&gt;公钥用于加密，私钥用于解密&lt;/code&gt;。它的优点是密钥分发问题得到解决，公钥可以公开传播。缺点是速度较慢，通常用于加密小数据量或密钥交换。常见做法是通过非对称加密建立链接，交换对称加密密钥，然后使用对称加密的方式进行消息传递。&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;证书&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;数字证书是由认证机构（CA）签发的，包含公钥及其持有者身份信息的电子文档。它通过 CA 的数字签名验证其真实性，确保通信双方的身份和公钥的可信性。（证书就是上面例子中的班主任，是一个可信任的获取对方公钥的机构。）&lt;/p&gt;
&lt;h2 id="六中间人攻击"&gt;六、中间人攻击&lt;/h2&gt;
&lt;p&gt;中间人攻击的关键在于攻击者成功获取并提供&lt;strong&gt;可信公钥&lt;/strong&gt;，欺骗用户使其认为其公钥是合法服务器的公钥。这可以通过伪造证书或利用受损的 CA 来实现。（用上面例子来说，就是老王把自己的公钥伪装成小美的公钥给了我）&lt;/p&gt;
&lt;p&gt;作为普通用户防御措施很简单，当访问一个网站时，如果浏览器弹出“证书不可信”告警的时候，不要点“我信任”。&lt;/p&gt;
&lt;h2 id="常见考点"&gt;常见考点&lt;/h2&gt;
&lt;h3 id="1-中间人攻击的基本概念"&gt;&lt;strong&gt;1. 中间人攻击的基本概念&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id="问题"&gt;&lt;strong&gt;问题&lt;/strong&gt;：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;什么是中间人攻击？请用通俗的语言解释。&lt;/li&gt;
&lt;li&gt;中间人攻击有哪些典型的攻击方式？&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;被动攻击（如窃听）。&lt;/li&gt;
&lt;li&gt;主动攻击（如数据篡改）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;中间人攻击的危害有哪些？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关键点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;中间人攻击是一种攻击者拦截并篡改通信内容的攻击。&lt;/li&gt;
&lt;li&gt;危害包括：窃取敏感数据（如密码）、篡改通信内容、伪装身份等。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="2-中间人攻击的原理"&gt;&lt;strong&gt;2. 中间人攻击的原理&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id="问题-1"&gt;&lt;strong&gt;问题&lt;/strong&gt;：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;中间人攻击是如何实现的？请简要描述其工作流程。&lt;/li&gt;
&lt;li&gt;在 HTTP 中，为什么容易发生中间人攻击？&lt;/li&gt;
&lt;li&gt;HTTPS 是否完全能防止中间人攻击？为什么？&lt;/li&gt;
&lt;li&gt;DNS 劫持和 ARP 欺骗是如何帮助实现中间人攻击的？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关键点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;工作流程&lt;/strong&gt;：&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;攻击者充当通信双方之间的“中间人”。&lt;/li&gt;
&lt;li&gt;拦截通信数据，可能进行监听或篡改。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;常见技术&lt;/strong&gt;：&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;ARP 欺骗：伪装网关。&lt;/li&gt;
&lt;li&gt;DNS 劫持：将域名解析到攻击者控制的服务器。&lt;/li&gt;
&lt;li&gt;Wi-Fi 劫持：在公共网络中拦截通信数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="3-防御中间人攻击的技术措施"&gt;&lt;strong&gt;3. 防御中间人攻击的技术措施&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id="问题-2"&gt;&lt;strong&gt;问题&lt;/strong&gt;：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;HTTPS 如何防御中间人攻击？它的安全机制是什么？&lt;/li&gt;
&lt;li&gt;什么是证书信任链？如何防止伪造的证书？&lt;/li&gt;
&lt;li&gt;什么是 HSTS（HTTP Strict Transport Security）？它如何防御中间人攻击？&lt;/li&gt;
&lt;li&gt;什么是双向 SSL/TLS？它如何进一步提高安全性？&lt;/li&gt;
&lt;li&gt;如何防止公共 Wi-Fi 中的中间人攻击？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关键点&lt;/strong&gt;：&lt;/p&gt;</description></item></channel></rss>