「IPsec」の版間の差分
細 |
|||
行1: | 行1: | ||
− | |||
− | |||
− | |||
[[IPsec]] (Security Architecture for Internet Protocol) は、[[Internet Protocol]]にセキュリティ機能を加えたものです。[[Internet Protocol|IP]]パケットを安全に扱うために考案されました。 | [[IPsec]] (Security Architecture for Internet Protocol) は、[[Internet Protocol]]にセキュリティ機能を加えたものです。[[Internet Protocol|IP]]パケットを安全に扱うために考案されました。 | ||
− | 読み方 | + | '''読み方''' |
;[[IPsec]]: あいぴー せっく | ;[[IPsec]]: あいぴー せっく | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[IPsec]] では、パケットの[[暗号化]] に [[共通鍵]] を使用します。 | [[IPsec]] では、パケットの[[暗号化]] に [[共通鍵]] を使用します。 | ||
[[鍵交換]] には、[[IKE]] が用いられます。 | [[鍵交換]] には、[[IKE]] が用いられます。 | ||
行17: | 行13: | ||
== IPsec の暗号アルゴリズム == | == IPsec の暗号アルゴリズム == | ||
− | |||
{|class="wikitable" | {|class="wikitable" | ||
|+ IPsec で利用可能な暗号アルゴリズム | |+ IPsec で利用可能な暗号アルゴリズム | ||
行29: | 行24: | ||
| 実装はオプション | | 実装はオプション | ||
|- | |- | ||
− | | | + | | RC5 |
| 実装はオプション | | 実装はオプション | ||
|- | |- | ||
− | | | + | | IDEA |
| 実装はオプション | | 実装はオプション | ||
|- | |- | ||
行38: | 行33: | ||
| 実装はオプション | | 実装はオプション | ||
|} | |} | ||
− | |||
== IPsec のモード == | == IPsec のモード == | ||
− | |||
[[IPsec]] には、2つのモードがあります。 | [[IPsec]] には、2つのモードがあります。 | ||
* IPパケット全体を暗号化するトンネルモード | * IPパケット全体を暗号化するトンネルモード | ||
* ユーザのデータ部分だけを暗号化するトランスポートモード | * ユーザのデータ部分だけを暗号化するトランスポートモード | ||
− | |||
== IPsec の通信 == | == IPsec の通信 == | ||
− | |||
=== AH === | === AH === | ||
− | |||
AH (Authentication Header) は、認証と改竄防止機能を提供します。 | AH (Authentication Header) は、認証と改竄防止機能を提供します。 | ||
データそのものは、暗号化されません。 | データそのものは、暗号化されません。 | ||
RFC 1826 形式の AH には、再送防止機能(Anti Replay Counter)がありません。 | RFC 1826 形式の AH には、再送防止機能(Anti Replay Counter)がありません。 | ||
RFC 2402 は 32bit 、 RFC 402 は 64bit のカウンタがあり、過去にそうしんされたパケットがコピー転送されても多重受信しない機能がオプションとして利用できます。 | RFC 2402 は 32bit 、 RFC 402 は 64bit のカウンタがあり、過去にそうしんされたパケットがコピー転送されても多重受信しない機能がオプションとして利用できます。 | ||
− | |||
=== IPsec の鍵交換 === | === IPsec の鍵交換 === | ||
− | |||
[[IPsec]] は、通信時に使う暗号アルゴリズムと[[暗号鍵]]は、あらかじめ設定しておくか、通信開始時に行う[[ネゴシエーション]]で動的に決定、交換します。 | [[IPsec]] は、通信時に使う暗号アルゴリズムと[[暗号鍵]]は、あらかじめ設定しておくか、通信開始時に行う[[ネゴシエーション]]で動的に決定、交換します。 | ||
− | |||
=== IPsec の SA と SPI === | === IPsec の SA と SPI === | ||
− | |||
− | |||
暗号アルゴリズムや[[暗号鍵]]に関する合意は、 SA (Security Association) と呼ばれます。 | 暗号アルゴリズムや[[暗号鍵]]に関する合意は、 SA (Security Association) と呼ばれます。 | ||
SA が確定すると、SAに関連付けされた SPI (Security Pointer Index) と呼ばれる 32ビットの整数が割り当てられます。 | SA が確定すると、SAに関連付けされた SPI (Security Pointer Index) と呼ばれる 32ビットの整数が割り当てられます。 | ||
SPI は、各パケットに含まれます。パケット内の通信内容がどの暗号アルゴリズムと暗号鍵を仕様するのかを示します。 | SPI は、各パケットに含まれます。パケット内の通信内容がどの暗号アルゴリズムと暗号鍵を仕様するのかを示します。 | ||
− | |||
=== SAD === | === SAD === | ||
− | |||
SA を管理するデータベースは、SADと呼ばれます。 | SA を管理するデータベースは、SADと呼ばれます。 | ||
− | |||
=== IPsec の鍵交換プロトコル IKE === | === IPsec の鍵交換プロトコル IKE === | ||
− | + | [[IPsec]] の利用する 鍵交換プロトコル は、 [[IKE]] です。 | |
− | [[IPsec]] の利用する | + | |
[[IPsec]] は、[[鍵交換]]が交換が終了してから、利用できるので、[[IKE]]自体に[[IPsec]] を利用できません。 | [[IPsec]] は、[[鍵交換]]が交換が終了してから、利用できるので、[[IKE]]自体に[[IPsec]] を利用できません。 | ||
行80: | 行61: | ||
[[IKE]]の鍵生成は、[[ディフィー・ヘルマン鍵交換]] が利用されます。 | [[IKE]]の鍵生成は、[[ディフィー・ヘルマン鍵交換]] が利用されます。 | ||
後半のフェーズは、[[暗号鍵]]を用いて、暗号化通信が行われます。 | 後半のフェーズは、[[暗号鍵]]を用いて、暗号化通信が行われます。 | ||
− | |||
=== ESP === | === ESP === | ||
− | |||
[[IPsec]] では、パケットごとに暗号化されます。 | [[IPsec]] では、パケットごとに暗号化されます。 | ||
ESP(Encapsulating Security Payload) と呼ばれます。 | ESP(Encapsulating Security Payload) と呼ばれます。 | ||
行137: | 行116: | ||
| IPヘッダ1 + データ | | IPヘッダ1 + データ | ||
|} | |} | ||
− | |||
== IPsec が利用できるシステム == | == IPsec が利用できるシステム == | ||
− | |||
* [[Windows]] | * [[Windows]] | ||
** [[Windows 2000]] / [[Windows XP]] | ** [[Windows 2000]] / [[Windows XP]] | ||
行147: | 行124: | ||
*** IPv4, IPv6 で利用可能 | *** IPv4, IPv6 で利用可能 | ||
* BSD | * BSD | ||
− | ** [[FreeBSD]], | + | ** [[FreeBSD]], NetBSD は、KAME の実装 |
− | ** | + | ** OpenBSD は、独自実装 |
* [[Linux]] | * [[Linux]] | ||
*** IPv4, IPv6 で利用可能 | *** IPv4, IPv6 で利用可能 | ||
− | *** | + | *** KIE は KAME 由来の ipsec-tools の racoon を利用する |
*** Openswan, strongSwan | *** Openswan, strongSwan | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[Virtual Private Network]] | * [[Virtual Private Network]] | ||
+ | <!-- vim: filetype=mediawiki | ||
+ | --> |
2015年9月22日 (火) 14:24時点における版
IPsec (Security Architecture for Internet Protocol) は、Internet Protocolにセキュリティ機能を加えたものです。IPパケットを安全に扱うために考案されました。
読み方
- IPsec
- あいぴー せっく
目次
概要
IPsec では、パケットの暗号化 に 共通鍵 を使用します。 鍵交換 には、IKE が用いられます。 IPsecは、共通鍵暗号方式のDES暗号を利用します。
共通鍵暗号を用いるのは、暗号化や復号化が高速であるからです。
IPsec の暗号アルゴリズム
DES-CBC | 実装が必須 |
---|---|
3DES-CBC | 実装はオプション(多くのIPsec製品で実装されている) |
CAS-128 | 実装はオプション |
RC5 | 実装はオプション |
IDEA | 実装はオプション |
Blowfish | 実装はオプション |
IPsec のモード
IPsec には、2つのモードがあります。
- IPパケット全体を暗号化するトンネルモード
- ユーザのデータ部分だけを暗号化するトランスポートモード
IPsec の通信
AH
AH (Authentication Header) は、認証と改竄防止機能を提供します。 データそのものは、暗号化されません。 RFC 1826 形式の AH には、再送防止機能(Anti Replay Counter)がありません。 RFC 2402 は 32bit 、 RFC 402 は 64bit のカウンタがあり、過去にそうしんされたパケットがコピー転送されても多重受信しない機能がオプションとして利用できます。
IPsec の鍵交換
IPsec は、通信時に使う暗号アルゴリズムと暗号鍵は、あらかじめ設定しておくか、通信開始時に行うネゴシエーションで動的に決定、交換します。
IPsec の SA と SPI
暗号アルゴリズムや暗号鍵に関する合意は、 SA (Security Association) と呼ばれます。 SA が確定すると、SAに関連付けされた SPI (Security Pointer Index) と呼ばれる 32ビットの整数が割り当てられます。 SPI は、各パケットに含まれます。パケット内の通信内容がどの暗号アルゴリズムと暗号鍵を仕様するのかを示します。
SAD
SA を管理するデータベースは、SADと呼ばれます。
IPsec の鍵交換プロトコル IKE
IPsec の利用する 鍵交換プロトコル は、 IKE です。
IPsec は、鍵交換が交換が終了してから、利用できるので、IKE自体にIPsec を利用できません。
IKEは、2つの段階で構成されます。 前半は、暗号アルゴリズム の決定と暗号鍵の生成です。 IKEの鍵生成は、ディフィー・ヘルマン鍵交換 が利用されます。 後半のフェーズは、暗号鍵を用いて、暗号化通信が行われます。
ESP
IPsec では、パケットごとに暗号化されます。 ESP(Encapsulating Security Payload) と呼ばれます。
SPI(32bit) | シーケンス番号(32bit) | ペイロード(任意長) | パディング(0-255byte) | パディング長(8bit) | 次ヘッダ(8bit) | 認証データ(任意長byte) |
- ペイロード
- TCP/UDP ヘッダ + IPヘッダ 通信内容
- 次ヘッダ
- 上位プロトコルの種別
- パディング長
- パディングの長さ
IPヘッダ | ESP |
トランスポートモードでは、データを暗号化して、IPヘッダをつけて、受信ホストにパケットを送信します。
トンネルモードは、ゲートウェイでIPヘッダとデータをまとめて暗号化して、IPヘッダを追加して、次のゲートウェイに投げます。
送信機器 | 受信機器 | 受信データ | 送信データ |
---|---|---|---|
送信ホスト | ゲートウェイ1 | - | IPヘッダ1 + データ |
ゲートウェイ1 | ゲートウェイ2 | IPヘッダ1 + データ | IPヘッダ2 + 暗号化(IPヘッダ1 + データ) |
ゲートウェイ2 | 受信ホスト | IPヘッダ2 + 暗号化(IPヘッダ1 + データ) | IPヘッダ1 + データ |
IPsec が利用できるシステム
- Windows
- Windows 2000 / Windows XP
- IPv4, IPv6 で利用可能
- IPv6 は、ESP暗号化に非対応
- Windows Vista
- IPv4, IPv6 で利用可能
- Windows 2000 / Windows XP
- BSD
- FreeBSD, NetBSD は、KAME の実装
- OpenBSD は、独自実装
- Linux
- IPv4, IPv6 で利用可能
- KIE は KAME 由来の ipsec-tools の racoon を利用する
- Openswan, strongSwan