IPsec と IKE の管理

乱数を生成する方法

キーを手動で入力する場合、キー情報に無作為性を持たせる必要があります。キー情報は 16 進数で表されます。

乱数発生関数がすでにある場合は、それを使用してください。ない場合は、Solaris の /dev/random デバイスを入力として od コマンドを実行することができます。詳細は、od(1) のマニュアルページを参照してください。

  1. 16 進数の乱数を生成します。


    % od -x|-X -A n file
    
    -x

    8 進数ダンプを 16 進数形式で表示する。16 進数形式はキー情報を表すのに役立つ。16 進数を 4 文字単位で表示する

    -X

    8 進数ダンプを 16 進数形式で表示する。16 進数を 8 文字単位で表示する

    -A n

    表示から入力オフセットベースを取り除く

    file

    乱数のソースとなる

    たとえば、次のコマンドを入力すると、16 進数の乱数がそれぞれ次のように表示されます。


    % od -X -A n /dev/random | head -2
             d54d1536 4a3e0352 0faf93bd 24fd6cad
             8ecc2670 f3447465 20db0b0c c83f5a4b
    % od -x -A n /dev/random | head -2
             34ce 56b2 8b1b 3677 9231 42e9 80b0 c673
             2f74 2817 8026 df68 12f4 905a db3d ef27
  2. これらの出力を組み合わせて、適切な長さのキーを作成します。

    同じ行にある乱数間のスペースを取り除き、32 文字キーを作成します。32 文字キーの長さは 128 ビットです。セキュリティパラメータインデックス (SPI) の場合は、8 文字キー 1 個を使用できます。