初めに
よく支援士の問題にも出るIPsec。
まじIPsecって何者なんってことでまとめます。
参考サイト→【図解】初心者に分かりやすいIPsecの仕組みとシーケンス~パケットフォーマット,DPD(keepalive)について~
IPsecとは
一言でいえば、改ざんを防ぎ暗号化するものです
はい。
これで終わりならいいんです。ここから難しくなります。
2種類のプロトコルと2種類のモード
まず、2種類のプロトコルがあります。AHとESPです。
AHとESP
AHはデータの認証を行うですプロトコル。
ESPは、データの認証と暗号化を行うプロトコルです。
まずAHなんですが、データの認証のみを行うものです。
これは暗号化が禁止されている国で使われています。
ですから、使用範囲が特定的でほとんど使われてないため、説明は省略します。
データの認証を行うものという程度の認識でいいと思われます。
詳しく知りたい人は調べてください。
次にESPなんですが、ここは詳しく見ていきましょう。
これは認証と暗号化を行うものです。よって改ざんと盗聴を防げます。
暗号化の方法としてDESや3DESやAESがあります。
DESは、56ビット鍵で暗号化をする方法
DES3は、DESを3回使用する方法
AESは、共通かぎ暗号方式の一種です。128・192・256bitの長さの中から鍵長を選んで利用する方法です。現在の主流です。
AESの仕組みを少し詳しく説明しますね。
AESはビットごとにラウンドを繰り返す回数が決まってきます。
128ビット鍵 → 10ラウンド
192ビット鍵 → 12ラウンド
256ビット鍵 → 14ラウンド
ラウンドっていのは画像の通りです。
いい説明思いつかなかったのでここは、ChatGPTを参考に作ってます。うちのGPTは、ギャルになるようにしてるので、カクテルミックスとかわけわからんこと言ってますが、まぁイメージ伝わってください。
これらの方法で暗号化します。
次に2つのモードを紹介します。
トランスポートモードとトンネルモード
まず、トランスポートモードなんですがこれはエンドポイント同士で通信を行う方法です。
仕事範囲が、SSL/TLSと競合しかつ、SSL/TLSのほうが利便性が上回っているので使われません。なので説明も省略します。
トンネルモードなんですが、これはVPNで使われるモードです。NW機器同士の通信とかそういうのを担当します。
IPsecといえば、これが主流ですね。
そうすると、ESPのトンネルモードが一般的なIPsecの示しているものということになります。
まぁ確かに、VPNで使って、改ざんを防いだり暗号化したりっていう一般のIPsecの解釈に近いですね。
実際の通信の流れ
ここが、今回の最難関になりそうです。
まぁやりましょう。
まず、IPsecの通信の始まりはIKEからです。IKEはIPsec通信の準備のためのプロトコルです。
次のような動きをします。
(IKEにはフェーズが2つあります。)
IKEフェーズ1
まず相手を認証するところから始まります。
事前共有鍵や照明書で相手が信頼できるかチェックします。
そして、Diffie-Hellman鍵交換を使って共通鍵を安全に交換します。
これで互いに共通鍵を持つことになります。
そのうえでIKE SAが作られます。これは、通信やセキュリティに関しての契約みたいなもので、
今後の通信は、こうやっていくよって決めたものです。
↓
IKEフェーズ2
フェーズ2では実際にデータを送るための準備をします。
ここでの目的は、IPsec SAを作成することです。SAってのは、さっきと意味は同じです。
IPsec SAを作成するために、IKE SAをもとに、暗号アルゴリズムや認証アルゴリズムを決定します
これらが決定することで、IPsec SA(こういう方法で通信やセキュリティを実現しますよっていう契約書的なもの)が作成されます。そしてそれは、SADっていう、保存場所に保存されます。
で、それをもとに実際に通信します。
↓
通信時は、ESPを選択しているのならESPで送信します。
受信側は、相手のSADに保存された鍵を使って復号します。
↓
通信終了時はSAを削除して終了します。
※この時にSPDというものがIPsecの通信が必要か判断し必要ならIKEが始まります。
以上です