tag:crieit.net,2005:https://crieit.net/tags/TKIP/feed 「TKIP」の記事 - Crieit Crieitでタグ「TKIP」に投稿された最近の記事 2021-07-14T15:39:56+09:00 https://crieit.net/tags/TKIP/feed tag:crieit.net,2005:PublicArticle/17515 2021-07-14T15:39:56+09:00 2021-07-14T15:39:56+09:00 https://crieit.net/posts/LAN-WPA-WPA2-WPA3 【ネットワーク】無線LANの認証機能(WPA・WPA2・WPA3)と暗号化アルゴリズム <p>ワイヤレスでの認証規格に、WPA、WPA2、 WPA3がある</p> <p>この記事書くのにヤクの毛大量に刈ってきましたが、まだ間違っているかもなので間違いみっけたらコメントくれると助かります</p> <h1 id="それぞれの規格一覧"><a href="#%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AE%E8%A6%8F%E6%A0%BC%E4%B8%80%E8%A6%A7">それぞれの規格一覧</a></h1> <p><a href="https://crieit.now.sh/upload_images/8433f144cd60ab84b23d7834aaa6f25960e95d8c41ab8.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8433f144cd60ab84b23d7834aaa6f25960e95d8c41ab8.png?mw=700" alt="image" /></a></p> <h2 id="暗号化方式とは"><a href="#%E6%9A%97%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F%E3%81%A8%E3%81%AF">暗号化方式とは</a></h2> <h5 id="TKIP"><a href="#TKIP">TKIP</a></h5> <p>RC4で暗号化し、Michaelで安全性を検証している</p> <h5 id="CCMP"><a href="#CCMP">CCMP</a></h5> <p>AESアルゴリズムをもとに暗号化をする方式</p> <h5 id="GCMP"><a href="#GCMP">GCMP</a></h5> <p>WPA3用。新種すぎてなかなか情報が得られず。(2017年にWPA2に脆弱性が見つかったらしいよ)</p> <h2 id="暗号化アルゴリズム(めちゃ数学です)"><a href="#%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%EF%BC%88%E3%82%81%E3%81%A1%E3%82%83%E6%95%B0%E5%AD%A6%E3%81%A7%E3%81%99%EF%BC%89">暗号化アルゴリズム(めちゃ数学です)</a></h2> <h5 id="RC4"><a href="#RC4">RC4</a></h5> <p>共通鍵暗号方式で、WEPやWPA、SSL/TLSなどに使われている</p> <p>データを1ビットずつ暗号化していく<strong>ストリーム暗号</strong>で、<br /> 疑似乱数を生成して、平文との排他的論理和を計算し、それを暗号文としている。</p> <p>暗号化した時と同じ疑似乱数を使ってもう一度排他的論理和を計算すると、平文に戻るという仕組みです。<br /> 擬似乱数を共通鍵として持っておけば、複合化できます。</p> <p>排他的論理和を2回繰り返すと元に戻るという数学チックなやり方を使っていますね</p> <h5 id="AES"><a href="#AES">AES</a></h5> <p>無線LANやファイルの暗号化で使われている。</p> <p><strong>Advanced Encryption Standard</strong>の略<br /> RC4とは対照的に、一定量のデータをまとめて暗号化する<strong>ブロック暗号</strong>を利用しています。<br /> AESで使う4 種類の変換は、「SubBytes」「ShiftRows」「MixColumns」「AddRoundKey」<br /> これを基本的にこの順番で、何回か繰り返して作られています。</p> <h6 id="SubBytes"><a href="#SubBytes">SubBytes</a></h6> <ol> <li><p>8ビットの情報をガロア体GF(28)の逆数に変換<br /> 最初の4ビットがX, 後半4ビットがYになります。<br /> <a href="https://crieit.now.sh/upload_images/fef47aea7e6009d8c040e4b1a1a121e460eada947f9c1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fef47aea7e6009d8c040e4b1a1a121e460eada947f9c1.png?mw=700" alt="スクリーンショット 2021-07-11 20.48.28.png" /></a><br /> GF(28)の逆数変換テーブル</p></li> <li><p>その結果をもとに、行列変換をします。</p></li> </ol> <p><a href="https://crieit.now.sh/upload_images/dc0b31bc7bf1241dd6b3cc7e671dda9b60eadc34a6a16.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/dc0b31bc7bf1241dd6b3cc7e671dda9b60eadc34a6a16.png?mw=700" alt="スクリーンショット 2021-07-11 20.55.28.png" /></a></p> <p>a0からa7までに、逆数変換した後の値を入れて、行列変換します。</p> <h6 id="ShiftRows"><a href="#ShiftRows">ShiftRows</a></h6> <p>その名の通り、列を並べ替えていきます。</p> <p>4×4の行列を、行ごとで一つずつシフト</p> <p><a href="https://crieit.now.sh/upload_images/2da2a1210ecce69718ddeb021008d2e260eae10711b1d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/2da2a1210ecce69718ddeb021008d2e260eae10711b1d.png?mw=700" alt="スクリーンショット 2021-07-11 21.16.03.png" /></a></p> <h6 id="MixColums"><a href="#MixColums">MixColums</a></h6> <p>行列を、列ごとに掛け算していきます。<br /> 行列は、<a href="https://crieit.now.sh/upload_images/8396bd9aad7141bdd503b24f158fb1db60eae2a11ad9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8396bd9aad7141bdd503b24f158fb1db60eae2a11ad9c.png?mw=700" alt="スクリーンショット 2021-07-11 21.22.53.png" /></a><br /> で求められます</p> <h6 id="AddRoundKey"><a href="#AddRoundKey">AddRoundKey</a></h6> <p>Key Scheduleから作成された行列との排他的論理和をとります。至って単純。</p> <p>アルゴリズムの参考サイト<br /> <a target="_blank" rel="nofollow noopener" href="http://www.ihpc.se.ritsumei.ac.jp/hpc/papers/b05/umehara.pdf">http://www.ihpc.se.ritsumei.ac.jp/hpc/papers/b05/umehara.pdf</a><br /> <a target="_blank" rel="nofollow noopener" href="https://www.cqpub.co.jp/DWM/contest/2004/specification2004.pdf">https://www.cqpub.co.jp/DWM/contest/2004/specification2004.pdf</a><br /> その他諸々</p> <h2 id="認証方式について"><a href="#%E8%AA%8D%E8%A8%BC%E6%96%B9%E5%BC%8F%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">認証方式について</a></h2> <h4 id="WPAパーソナル"><a href="#WPA%E3%83%91%E3%83%BC%E3%82%BD%E3%83%8A%E3%83%AB">WPAパーソナル</a></h4> <p>認証サーバを使わないモード</p> <h5 id="PSK"><a href="#PSK">PSK</a></h5> <p>Pre-Shared Keyの略。意味は、「共有パスワードキー」<br /> まー従来使われていたやつ。</p> <h5 id="SAE"><a href="#SAE">SAE</a></h5> <p>Simultaneous Authentication of Equalsの略。<br /> クライアント役とサーバ役が時と場合によりコロコロ入れ替わる。<br /> 認証パスワードが予測できない。<br /> 鍵交換に4ウェイハンドシェイクするらしい(4ウェイって初めて聞いた笑)</p> <h4 id="WPAエンタープライズ"><a href="#WPA%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA">WPAエンタープライズ</a></h4> <p>認証サーバを使用するモード。<br /> 企業で使われる</p> <h5 id="IEEE 802.1X/EAP"><a href="#IEEE+802.1X%2FEAP">IEEE 802.1X/EAP</a></h5> <p>WEPにはない認証方式を作るためにできた。<br /> サプリカント、認証装置、認証サーバを用いる。<a href="https://crieit.now.sh/upload_images/4f2fb798ce8ede0f416577ce9af4f98660eaf318e1571.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4f2fb798ce8ede0f416577ce9af4f98660eaf318e1571.png?mw=700" alt="スクリーンショット 2021-07-11 22.33.08.png" /></a></p> <p>認証方式に、MD5とか。TLSとか。よく聞いたとこあるようなやつが使われている。</p> skyms