読者です 読者をやめる 読者になる 読者になる

情報セキュリティスペシャリスト IPsecてなんすか

IPsec

  • IPを拡張してセキュリティ的にいい感じにしようぜ的な
  • IPv4でもIPv6でもいける。IPv6では実装が必須
  • 実装が必須って何?
  • IPv6に対応してるって書いてある機器ではIPsecが使えないと駄目みたいな?
  • アクセス制御できる
  • MACで改ざんを検知できる
  • 送信元を認証できる
  • リプレイアタックを防げる(通信の重複を検知できる)
  • データを暗号化出来る
トランスポートモード
  • TCPヘッダとペイロードだけ暗号化する
  • IPヘッダはそのままなのでそれを使ってパケットが転送される
トンネルモード
  • IPヘッダ、ペイロードをまとめてカプセル化する
  • さらに新しいIPヘッダを付与する
  • VPN装置同士の拠点間接続で使うとかなんとか

SPD(Security Policy Database)

  • 来たパケットにたいしてどうすんの?を書いとく
  • 破棄、通過(IPsec使わず)、通過(IPsec使う)のどれにすんの?をかいとく感じ
  • IPとかポートとかプロトコルとか見てどうすんのか制御する

SA(Security Association)

AH(Authentication Header)

  • 認証のヘッダ
  • 暗号化機能はない
  • 認証できる・暗号化できない
  • トランスポートモードの時はIPヘッダとTCPヘッダの間にAHがねじこまれる感じ
  • トンネルモードの時は新しいIPと一緒にくっつける感じ
  • ICVの計算にIPを含める
  • NAT,NAPTを使ってるとICV計算につかったIPと通信につかうIPが変わっちゃうからICVが一致しなくなる
ICV(Integrity Check Value)
  • HMACだって

ESP(Encapsulating Security Payload)

  • 認証できる
  • 暗号化できる
  • ヘッダとトレーラ(けつ)がくっつく
  • トレーラはペイロードのあとにつく
  • そのうしろにさらにICVがつく
  • ICVの計算にIPを含めない
  • NATでもいいけどNAPTだとポートが変わる、ポートがかわるとICVが一致しなくなる

IKE(Internet Key Exchange)

  • SAを作る人
  • UDPの500番
  • 共有鍵を共有しとく、ディジタル署名を使う、公開鍵を使うなどで認証する
  • UDP500で決まってるからNAPTでIPが変わると死ぬ

IKEによるISAKMP SAの作成

メインモード
  1. 秘密鍵を共有・生成する
  2. ID(IPアドレス)と認証用のハッシュ値で認証する。認証用の値は1の鍵で暗号化される
  3. IDにはIPアドレスしかつかえないので動的にIPが変わる環境だと使えない
アグレッシブモード

アグレッシブモード - プログラミング探して! * とりあえずIDが動的に変わる環境でも使えるらしい * IDはFQDNとか使うとかなんとか

IKEによるIPsec SAの作成

クイックモード
  • ISAKMP SAの作成時につくった鍵で鍵を作るから鍵交換アルゴリズム秘密鍵を作ったりしない
  • ISAKMP SAが作成されてればOK的なノリ?

留意点

  • 機器をぱくられたりすると不正なとこから正常にIPsecでの通信ができちゃう
  • ユーザ認証しようぜ
  • XAUTHをつかうとか
  • XAUTHのユーザ認証はISAKMP SAを使って行われる

  • ISAKMP SAってなまえはクソだな、と思った

IPsec - トランスポートモード・トンネルモード

IPsec - AH・ESP・IKE -