Login
Immutable PageDiscussionInfoAttachments
Diff for "ytoku/DocIPsec"

MMA
Differences between revisions 6 and 7
Revision 6 as of 2011-01-12 04:59:10
Size: 6793
Editor: ytoku
Comment:
Revision 7 as of 2011-01-12 13:36:41
Size: 7090
Editor: ytoku
Comment:
Deletions are marked like this. Additions are marked like this.
Line 34: Line 34:
IPsecにおける通信はSA(Security Association)という論理的な接続として扱われる。SAには制御用のISAKMP SAと実際の通信内容送るためのIPsec SAがあるが、IPsec SAはプロトコル別かつ一方通行であり、双方向の通信には少なくとも上りと下り計二つのSAが必要になる。 IPsecにおける通信はSA(Security Association)という論理的な接続として扱われる。実際の通信を行うためのSAはプロトコル別かつ一方通行であり、双方向の通信には少なくとも上りと下り計二つのSAが必要になる。なお、SAには実際の通信内容を送るためのSAの他にもIKEによる制御用のSAもあるが、これらの呼び方はIKEのバージョンによって異なるので後述する。
Line 52: Line 52:
== IKE == == IKEv1 ==
Line 57: Line 57:
IKEは自動的に鍵交換を行いIPsec SAを作成するプロトコルである。UDPの500番ポートを用いて通信する。なお、IKEはISAKMPとOakleyの二つのプロトコルに基づいている。 IKEは自動的に鍵交換を行ってSAを作成するためのプロトコルである。UDPの500番ポートを用いて通信する。
IKEにはIKEv1とIKEv2があり、これらの間には互換性がない。
なお、IKEはISAKMPとOakleyの二つのプロトコルに基づいている。
Line 60: Line 62:
IKE自体の通信を安全に行うために、パラメータの交換に入る前にIKEの通信のためのSAであるISAKMP SAを作成する必要がある。よって、通信はISAKMP SAの確立、IPsec SAの確立の順で行われる。 IKEv1自体の通信を安全に行うために、パラメータの交換に入る前にIKEの通信のためのSAであるISAKMP SAを作成する必要がある。これに対し実際の通信を行うためのSAをIPsec SAと呼ぶ。つまり、通信はISAKMP SAの確立、IPsec SAの確立の順で行われる。

基礎知識

IPsecはIPレベルで暗号化を扱うためのプロトコル(の総体)である。 IPsecのセキュリティプロトコルとして、ペイロードの暗号化・認証のためのESPと、ヘッダも含めた認証のためのAHがある。これらの他に鍵交換のためのIKEがあるがこれは後述する。詳細はマスタリングTCP/IP IPsec編 第1章を参照。

ペイロード
積み荷。IPヘッダなどを除いた通信の中身のこと。ただしIP層の話をしているのでTCPヘッダなどはペイロードに含まれる。
暗号化
狭義には第三者が盗聴しても通信内容を分からないようにすること。
認証
以下では特に明示しない限りメッセージ認証の略として用いる。メッセージ認証とは偽造や改竄がなされていないことを確認することである。
ESP
Encapsulating Security Payload. ペイロードを暗号化・認証するプロトコル。
AH
Authentication Header. ヘッダを含めて認証するプロトコル


  • ポイント
    • ESPだけではヘッダの改竄が可能
    • AHだけでは盗聴が可能
    • ESPとAHは同時に使用することが出来る。


モード

パケットの処理方法として二つのモードがある。挙動をESPの場合で例示すると次のようになる。 一つは、ペイロードだけを暗号化する転送モードである。転送モードはエンドポイント同士での暗号化に用いる。 もう一方は、IPパケット自体を暗号化して、新しいIPヘッダを取り付けるトンネルモードである。トンネルモードはルータ間の暗号化などで用いる。

AHの場合はというと、転送モードでは元のパケット全体が認証の範囲となり、トンネルモードでは元のパケットの外側に新しいIPヘッダを取り付けた上で新しいヘッダを含めた全てが認証の範囲となる。


  • ポイント
    • トンネルモードはIPヘッダが二重になる。
    • ESP
      • 転送モード(トランスポートモード)はペイロードが暗号化される。
      • トンネルモードは元のIPヘッダ丸ごと暗号化される。
    • AH
      • どちらのモードもパケット全体が認証される。
      • つまりトンネルモードは新しいIPヘッダさえも認証の範囲内になる。


SAとSP

IPsecにおける通信はSA(Security Association)という論理的な接続として扱われる。実際の通信を行うためのSAはプロトコル別かつ一方通行であり、双方向の通信には少なくとも上りと下り計二つのSAが必要になる。なお、SAには実際の通信内容を送るためのSAの他にもIKEによる制御用のSAもあるが、これらの呼び方はIKEのバージョンによって異なるので後述する。 暗号化や認証に必要な鍵はSAと紐付けられることになる。

SAには識別のためSPIという値が割り振られている。これはセキュリティプロトコル別である。よって、通信の一端から見るとプロトコルとSPIの組によってSAが区別できる(送信元IPアドレスが必要、あるいは逆に宛先IPアドレスが必要、という情報もあるが)。

また、あるパケットをIPsecで暗号化して通信するかどうか、暗号化する場合はどのプロトコルやモードを使うかという設定をSP(Security Policy)とよぶ。なお、SPでSAを直接指定するわけではない(実装によるのではないかと思うが)。

SA
Security Association. IPsecにおける論理的な接続
SAD
Security Association Database
SPI
Security Parameter Index. SAを区別する値
SP
Security Policy. パケットをIPsecで暗号化するかなどの設定
SPD
Security Policy Database


  • ポイント
    • SAは論理的な接続
    • SPは暗号化するかどうかの設定


IKEv1

SAで用いる鍵を初めとするパラメータは何らかの方法で安全に共有しなければならない。 手動で設定する方法もあるが、あまり現実的ではない。 特にリプレイ攻撃対策のカウンタが溢れた場合はSAを作り直さないといけないという制約があるので、手動でやっていては事実上リプレイ攻撃対策ができなくなる。

IKEは自動的に鍵交換を行ってSAを作成するためのプロトコルである。UDPの500番ポートを用いて通信する。 IKEにはIKEv1とIKEv2があり、これらの間には互換性がない。 なお、IKEはISAKMPとOakleyの二つのプロトコルに基づいている。 通信相手が本物かどうかを確認するためにIKEは事前共有鍵認証やデジタル署名認証などいくつかの方法を用意している。

IKEv1自体の通信を安全に行うために、パラメータの交換に入る前にIKEの通信のためのSAであるISAKMP SAを作成する必要がある。これに対して実際の通信を行うためのSAをIPsec SAと呼ぶ。つまり、通信はISAKMP SAの確立、IPsec SAの確立の順で行われる。 ISAKMP SAの作成には交換タイプと呼ばれるいくつかの方式がある。よく使われるのはメインモードとアグレッシブモードである。 メインモードはイニシエータIDを平文で送信しないので、事前共有鍵認証の場合には、鍵を特定する手段がIPアドレスしかないためにイニシエータIDはIPアドレスでなければならないという制約があり、IPアドレスが動的に変わる場合には使用できない。 一方、アグレッシブモードではイニシエータIDを最初に平文で送信してしまう。こちらのモードであればイニシエータIDが暗号化されない1代わりに、イニシエータIDから鍵を特定することが出来るので固定IPアドレスでなくても使用することが出来る。 なお、IPsec SAの作成には一般にクイックモードが用いられる。

IKE
Internet Key Exchange. 鍵を交換してSAを生成するプロトコル
メインモード
イニシエータIDが暗号化される。ただし事前共有鍵認証では固定IPアドレスでないと使えない。
アグレッシブモード
イニシエータIDが暗号化されない。しかし事前共有鍵認証で動的IPアドレスでも使える。

References


  1. そもそもIPアドレスと同じならば、IPヘッダを見れば分かるんじゃないかと思うのだけれど、どういう状況を想定しているんだろう (1)

ytoku/DocIPsec (last edited 2011-01-30 00:01:39 by ytoku)