IPsec と IKE の管理

IKE 公開鍵のデータベースおよびコマンド

ikecert コマンドを実行すると、ローカルシステムの公開鍵データベースを操作できます。このコマンドは、ike/config ファイルが公開鍵証明書を要求するときに使用します。IKE ではそれらのデータベースを使用してフェーズ 1 交換を認証するため、in.iked デーモンを起動する前に、それらのデータベースに必要な情報が含まれていなければなりません。3 つのサブコマンド certlocalcertdbcertrldb をそれぞれ実行して、3 つのデータベースを処理します。

ikecert コマンドを実行すると、Sun Crypto Accelerator 4000 ボード上のキーストレージも操作できます。ikecert コマンドの tokens 引数により、ボード上の使用可能なトークン ID を一覧表示できます。このコマンドは、 /etc/inet/ike/config ファイルに指定された PKCS #11 ライブラリからボードを検索します。PKCS #11 エントリが必要です。このエントリが存在しない場合、ikecert コマンドの -T オプションは機能しません。エントリは次のようになります。


pkcs11_path "/opt/SUNWconn/lib/libpkcs11.so"

詳細については、ikecert(1M) のマニュアルページを参照してください。

ikecert tokens コマンド

tokens 引数は、Sun Crypto Accelerator 4000 ボード上の使用可能なトークン ID を一覧表示します。トークン ID により、ikecert certlocal コマンドと ikecert certdb コマンドは、公開鍵証明書を生成し、ボード上の要求を認証します。

ikecert certlocal コマンド

certlocal サブコマンドを実行して、非公開鍵データベースを管理します。このサブコマンドを選択すると、非公開鍵の追加、表示、および削除を行うことができます。また、自己署名付き証明書または証明書要求のいずれかを作成できます。-ks オプションを選択すると、自己署名付き証明書が作成されます。-kc オプションを選択すると、証明書要求が作成されます。鍵はシステムの /etc/inet/secret/ike.privatekeys ディレクトリに格納されます。-T オプションを指定した場合は、システムに接続されたハードウェアに格納されます。

非公開鍵を作成する場合、ikecert コマンドには、ike/config ファイル内のエントリが必要です。ikecert オプションと ike/config エントリの対応を次の表に示します。

表 3–2 ikecert オプションと ike/config エントリの対応表

ikecert オプション

ike/config エントリ

注 

-A 対象の代替名

cert_trust 対象代替名

証明書を一意に識別するニックネーム。指定可能な値は、IP アドレス、電子メールアドレス、およびドメイン名 

-D X.509 識別名

X.509 識別名

国、組織名、組織単位、共通名を含む認証局のフルネーム 

-t dsa-sha1

auth_method dss_sig

RSA よりもわずかに遅い認証方式。特許は登録されていない

-t rsa-md5 および

-t rsa-sha1

auth_method rsa_sig

DSA よりもわずかに速い認証方式。特許の期限切れは 2000 年 9 月

RSA 公開鍵は、最大ペイロードを暗号化するのに十分な長さが必要。通常、X.509 識別名などの ID ペイロードが最大ペイロードになる

-t rsa-md5 および

-t rsa-sha1

auth_method rsa_encrypt

RSA 暗号化により、IKE にある ID が不正侵入者から保護されますが、IKE ピアには互いの公開鍵の認識が要求されます。 

-T

pkcs11_path

PKCS #11 ライブラリは、Sun Crypto Accelerator 1000 ボードおよび Sun Crypto Accelerator 4000 ボード上で鍵操作の高速化処理を行います。このライブラリは、Sun Crypto Accelerator 4000 ボード上のキーストレージを操作するトークンも提供します。 

ikecert certlocal –kc コマンドを指定して証明書要求を実行する場合、そのコマンド出力を PKI 機関または認証局 (CA) に送信します。会社が独自の PKI を運営している場合は、出力を PKI 管理者に送信します。PKI 機関、CA、または PKI の管理者はこれに基づいて証明書を作成します。PKI または CA から返された証明書は、certdb サブコマンドに渡されます。PKI から返された CRL は、certrldb サブコマンドに渡されます。

ikecert certdb コマンド

certdb サブコマンドを実行して、公開鍵データベースを管理します。このサブコマンドを選択すると、証明書と公開鍵を追加、表示、および削除できます。また、リモートシステムで ikecert certlocal -ks コマンドを実行して作成された証明書を入力として受け入れます。手順については、自己署名付き公開鍵証明書による IKE の設定方法を参照してください。さらに、PKI または CA から受信する証明書も入力として受け入れます。手順については、CA からの署名付き証明書による IKE の設定方法を参照してください。

証明書と公開鍵は、システムの /etc/inet/ike/publickeys ディレクトリに格納されます。-T オプションを指定した場合、証明書、非公開鍵、公開鍵は、システムに接続されたハードウェアに格納されます。

ikecert certrldb コマンド

certrldb サブコマンドを実行して、証明書無効リスト (CRL) データベース /etc/inet/ike/CRL を管理します。crls データベースには、公開鍵の無効リストが保存されています。よって、このリストには、すでに有効でない証明書が明記されます。PKI によって CRL が提供されるときに、ikecert certrldb コマンドを指定して CRL データベースにそれらの CRL を格納します。手順については、証明書無効リストを処理する方法を参照してください。

/etc/inet/ike/publickeys ディレクトリ

/etc/inet/ike/publickeys ディレクトリには、公開鍵と非公開鍵のペアの公開部分とファイルにあるその証明書、つまり「スロット」が格納されています。/etc/inet/ike ディレクトリは 0755 で保護されます。ikecert certdb コマンドを使用して、そのディレクトリを読み込みます。 -T オプションを指定すると、鍵は publickeys ディレクトリではなく Sun Crypto Accelerator 4000 ボード上に格納されます。

「スロット」には、別のシステムで生成された証明書の X.509 識別名がコード化形式で格納されます。自己署名付き証明書を使用する場合、そのコマンドへの入力として、リモートシステムの管理者から受信する証明書を使用します。PKI からの証明書を使用する場合、PKI から受け取る 2 つのキー情報をこのデータベースに格納します。PKI に送信した情報に基づいた証明書を格納します。また、PKI からの CA も格納します。PKI に送信した情報に基づいて証明書を格納します。PKI から CA も格納します。

/etc/inet/secret/ike.privatekeys ディレクトリ

/etc/inet/secret/ike.privatekeys ディレクトリには、公開鍵と非公開鍵のペアの一部である非公開鍵ファイル、ISAKMP SA のキー情報が格納されています。このディレクトリは 0700 で保護されています。ikecert certlocal コマンドを実行して、ike.privatekeys ディレクトリを読み込みます。非公開鍵は、ペアとなる公開鍵、自己署名付き証明書や CA が格納されてから有効になります。ペアとなる公開鍵は /etc/inet/ike/publickeys ディレクトリまたは Sun Crypto Accelerator 4000 ボードに格納されます。

/etc/inet/ike/crls ディレクトリ

/etc/inet/ike/CRL ディレクトリには証明書無効リスト (CRL) ファイルが含まれています。各ファイルは、/etc/inet/ike/publickeys ディレクトリにある公開鍵証明書ファイルに対応しています。PKI 機関により、それらの証明書の CRL が提供されます。ikecert certrldb コマンドを使用して、そのデータベースを読み込みます。