next up previous contents
Next: 7.3.2.3 SPDの設定 Up: 7.3.2 SPD,SADの設定 Previous: 7.3.2.1 setkeyコマンド

7.3.2.2 SADの設定

SA データベースにエントリを追加するには以下のaddコマンドを用います。

    # setkey -c
    add 2001:2f8:43:a006::1 2001:2f8:43:a006::842 esp 1000
          -E des-cbc "wakhok00" -A hmac-sha1 "wakhok00wakhok01xxxx";
    add 2001:2f8:43:a006::842 2001:2f8:43:a006::1 esp 1001
          -E des-cbc "wakhok01" -A hmac-sha1 "wakhok01wakhok00xxxx";
    ^D

add コマンドの一般的な文法は以下の通りです。

add src dest proto spi [extensions] algorithm ;

  1. src/dst 送信、受信のIPアドレスを指定
    残念ながら、setkey ではIPアドレスを生で書かねばなりません。名前解決はしないので 注意してください。特に、 SAは片方向でしか設定できませんので、双方向にするためには、src と dest を 反転させた SA を作らなければいけません。

  2. proto IPsecのプロトコルを指定
    以下のうちのどれかを指定します(他にもあるが使わない方が良い)。
    1. esp ペイロード暗号化
    2. ah 認証ヘッダ
    3. ipcomp 圧縮

  3. spi SA,SPの区別のための番号
    SPI(セキュリティポリシーインデックス)は検索や区別のための番号です。 10進数あるいは16進数で指定しますが、0から255はつけられません。 SPIでは、SAとSPの区別はありませんので、別の番号をつけなければなりません。 もっとも、SPの設定ではSPIをつけなくても良いので、気にしなくても構いません が、SAでは違う番号をつけるようにしてください。

  4. [extensions] オプション(省略化)
    詳細は man を見てください。

  5. algorithm 認証・暗号のアルゴリズムと鍵の指定
    algorithm には以下のものが指定できます。ここで指定できるのは、proto で指定 したプロトコルに応じて決まります。

    IPsecプロトコル オプション
    esp -E 又は -E -A
    ah -A
    ipcomp -C

    それぞれのオプションは以下のようにして指定します。

    1. -E esp-algo
      1. ah-algo = des-cbc, 3des-cbc, simple, blowfish-doc, cast128-cbc (いずれか)
    2. -A ah-algo
      1. esp-algo = hmac-md5, hmac-sha1 (いずれか)
    3. -C com-algo
      1. com-algo = deflate, lzs (いずれか)

    esp,ah に対しては色々なものが利用できますが、RFCとして規定されているのは、 上記の通りです。

    一方、鍵はどのアルゴリズムを選んだかによって鍵長が違いますので、注意して ください。

    アルゴリズム 鍵長(bit)
    hmac-md5 128
    hmac-sha1 160
    des-cbc 64
    3des-cbc 192
    simple 0 - 2048
    blowfish-cbc 40 - 448
    cast128-cbc 40 - 128

    但し、文字列を鍵に使う場合には、8bitで割り算をして、文字数を考えてください。 例えば、hmac-md5 では鍵長が128bitなので、8bit で割ると、16文字が鍵の長さ になります。しかし、鍵に文字列を利用すると、 8bitで表せる(0-255)範囲に対して、文字の範囲は狭いので、 実質的には鍵長を短くしているのと同じになります。秘密鍵の暗号強度は、基本的に 鍵長に依存する事を思い出してください。一方、16進数で表記する時には、4bit(0-15) で鍵長を割って、桁数を考えてください。例えば、3des-cbc ならば、192bitですので、 16進数で表記すると、48桁になります。

  6. 主な設定例

    (鍵長が決まっているものは、文字列の長さが合っていないと設定エラーになり ますので、注意してください。)

    なお、繰り返しますが、IKEを利用する場合にはSAの設定は必要なく、SPを設定して おけば、自動的にSAは生成されます。また 、この設定例からも分かるとおり、IKEを使わない手動設定では、予め決めておいた 固定2点間の通信にしかIPsecは適用できません。つまりは、モバイルなどには 利用できないということです。

特定のSADエントリを削除したい場合には、delete コマンドを使って 以下のように指定します。

delete src dest proto spi;

例えば、以下のように行います。

    # setkey -c
dump;
2001:512:240:a006::42 2001:512:240:a000::1
        esp mode=any spi=1000(0x000003e8) reqid=0(0x00000000)
        E: des-cbc  01234567 89abcdef
        seq=0x00000000 replay=0 flags=0x00000040 state=mature
        created: Jul 28 11:54:17 2004   current: Jul 28 11:59:55 2004
        diff: 338(s)    hard: 0(s)      soft: 0(s)
        last:                           hard: 0(s)      soft: 0(s)
        current: 0(bytes)       hard: 0(bytes)  soft: 0(bytes)
        allocated: 0    hard: 0 soft: 0
        sadb_seq=0 pid=3239 refcnt=1
delete 2001:512:240:a006::42 2001:512:240:a000::1 esp 1000;
dump;
The result of line 3: No SAD entries.


next up previous contents
Next: 7.3.2.3 SPDの設定 Up: 7.3.2 SPD,SADの設定 Previous: 7.3.2.1 setkeyコマンド
Noriyo Kanayama