ポタージュを垂れ流す。

マイペースこうしん(主に旅行)

VPNについて調べてみた

はじめに

セキュリティ・キャンプ2021のグループワークの一環で、リレー形式でブログを書くことになりました。前回のブログはこちらです。

前回の方が次の方のテーマを決めるという形式になっており、僕に与えられたテーマは

ネットワークセキュリティ

です。

ネットワークについてはあんまり知らない...とはいえ大学で前期にコンピュータネットワークという講義を取っていたし応用情報の資格取るときにそこらへんの話も見たな、と思ったのでそこから気になったことを書いてみることにしました。

今回はVPNについて取り上げてみます。調べればいろいろ出てくるありふれた内容ですが...

VPN

VPNとは、Virtual Private Networkの略で、日本語では仮想専用線とも訳されます。その名前の通り、仮想のプライベートネットワークを公衆回線などを用いて構築する技術になっています。

目的としては

  • 会社(大学)の外から会社(大学)の中のネットワークに接続したい
  • 特定のサーバから接続したように見せたい

時に使われる場合が多いでしょう。

僕の場合は、学外アクセスが制限されている大学のwebページを自宅などの学外から見るために使うことが多いです。

また、例えば屋外などで無料wifiを使う際、そのまま使うと通信が筒抜けになってしまう場合があります。以下のyoutubeの動画のように簡単に傍受できてしまいます。

youtu.be

そこでVPNを通して通信を行うことで、悪意ある第三者からのアクセスを防ぐといった使い方も考えられます。

VPN

  • 暗号化:元のパケットを暗号化する
  • トンネリング:2点間で仮想的な通信路をつくり、パケットなどを別のプロトコルで保護する(カプセル化
  • 認証:データを送受信する者同士が正しい相手であることを確かめる

という3つの機能から成り立っています。

例えてみるならVPNの仕組みというのは2点間を専用の車で移動するようなもので、いろいろな人が同じ道路を使うとはいえ、他人と接触せず、中身を知られることなくパケットを送り届けることができます。

VPNを実現するプロトコル

以上の機能をもつVPNを構築する際には、例えばネットワーク層のセキュリティプロトコルであるIPsecが用いられます。IPというだけあってネットワーク層において、暗号化や認証、改ざんの検出などを行うものになります。

IPsec

IPsec(Security Architecture for Internet Protocol)とは、インターネットに関する各種のプロトコルなどの標準化組織であるIETFが標準化を進めている、暗号化通信方式の標準規格で、共有鍵暗号方式を用いることで、IP パケット単位で改ざん検知や秘匿機能を提供するプロトコルです。 利用する暗号化のアルゴリズムを具体的に特定せず、どのような暗号でも利用できるような柔軟な枠組みを提供しているという点も特徴になっています。

2つの動作モード

IPsecの動作モードは2通りあり

  • トランスポートモード:IPヘッダはそのままで、送受信するデータ本体部分だけを暗号化する
  • トンネルモード:パケット全体を暗号化する

があります。

送受信するIPパケットを葉書だとすれば、トランスポートモードは宛名のない面片面だけを暗号化、トンネルモードは葉書の両面を暗号化するものだと考えられるでしょう。

なお、VPNの構築にはトンネルモードが用いられています。

3つのプロトコル

IPsecは以下に示すAHESPIKEの3つのプロトコルによって構成されています。役割により暗号通信プロトコル鍵共有プロトコルに分けられます。

暗号通信プロトコル

実際にIPsecを用いるときは、以下の2つのいずれか、もしくは、両方のプロトコルを用いて暗号化通信を行っています。

  • AH(Authentication Header):認証のための仕組みで、完全性の保証(改ざん検知)ができる。

  • ESP(Encapsulated Security Payload):認証と暗号化のための仕組みで、パケットの秘匿性と改ざん検知が担保される。

※完全性:情報およびその処理方法が正確かつ完全であることを保証すること。

鍵共有プロトコル
  • IKE(Internet Key Exchange):鍵交換を行うプロトコル。暗号化通信を行う前に通信の暗号化アルゴリズムを決定し、暗号化鍵を作って鍵交換を行う。IKEv1とIKEv2がある。IKEv2は、IKEv1が混沌としてしまったようなので整理を諦めて仕切り直しで作られた規格で、v1とv2となってはいるが全くの別物と考えて良い。

なお、私の通っている大学ではIKEv2が用いられているようです。

おわりに

記事を書いていくうちにIPsecが中心っぽい記事になってしまいました...。読んでいる側からすればあまり面白みのない内容だったかもしれませんが、個人的にはあまり触れない方面の話を調べるきっかけになって良かったかなあと思います。

次回の方の記事はこちらです!

参考文献