Go to main content
Oracle® Solaris 11.3 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2016 年 11 月
 
 

IKEv1 リファレンス

次のセクションでは、IKEv1 の参照情報を示します。IKEv1 は、より高速な自動鍵管理を提供する IKEv2 に置き換わっています。IKEv2 の詳細については、IKEv2 リファレンスを参照してください。比較については、IKEv2 と IKEv1 の比較を参照してください。

IKEv1 のユーティリティーおよびファイル

次の表は、IKEv1 ポリシーの構成ファイル、IKEv1 鍵の保管場所、および IKEv1 を実装する各種コマンドとサービスについてまとめたものです。サービスの詳細については、Oracle Solaris 11.3 でのシステムサービスの管理 の 第 1 章, サービス管理機能の概要を参照してください。

表 18  IKEv1 のサービス名、コマンド、構成と鍵の保管場所、およびハードウェアデバイス
サービス、コマンド、ファイル、またはデバイス
説明
マニュアルページ
svc:/network/ipsec/ike:default
IKEv1 を管理する SMF サービス。
/usr/lib/inet/in.iked
インターネット鍵交換 (IKEv1) デーモン。ike サービスが使用可能なときに自動鍵管理をアクティブ化します。
/usr/sbin/ikeadm [-v1]
IKE ポリシーの表示および一時的な変更用の IKE 管理コマンド。フェーズ 1 アルゴリズムや使用可能な Diffie-Hellman グループなどの IKE 管理オブジェクトを表示できます。
/usr/sbin/ikecert
公開鍵証明書が格納されているローカルデータベースを操作する証明書データベース管理コマンド。データベースは、接続されたハードウェアにも格納できます。
/etc/inet/ike/config
デフォルトの IKEv1 ポリシー構成ファイル。インバウンド IKEv1 要求のマッチングとアウトバウンド IKEv1 要求の準備に関するサイトのルールが含まれています。
このファイルが存在する場合、ike サービスが有効になると in.iked デーモンが起動します。このファイルの場所は svccfg コマンドを使用して変更できます。
ike.preshared
/etc/inet/secret ディレクトリにある事前共有鍵ファイル。フェーズ 1 交換での認証の秘密鍵が含まれます。事前共有鍵で IKEv1 を構成するときに使用されます。
ike.privatekeys
/etc/inet/secret ディレクトリにある非公開鍵ディレクトリ。公開鍵と非公開鍵のペアの非公開部分が含まれています。
publickeys ディレクトリ
公開鍵および証明書ファイルが格納されている /etc/inet/ike ディレクトリ内のディレクトリ。公開鍵と非公開鍵のペアの公開部分が含まれています。
crls ディレクトリ
公開鍵および証明書ファイルの失効リストが格納されている /etc/inet/ike ディレクトリ内のディレクトリ。
Sun Crypto Accelerator 6000 ボード
オペレーティングシステムの処理をオフロードすることで公開鍵の処理を高速化するハードウェア。公開鍵、非公開鍵、および公開鍵証明書も格納します。Sun Crypto Accelerator 6000 ボードはレベル 3 の FIPS 140-2 認定デバイスです。

IKEv1 サービス

サービス管理機能 (SMF) は、IKEv1 を管理するための svc:/network/ipsec/ike:default サービスを提供します。デフォルトでは、このサービスは無効になっています。このサービスを有効にする前に、IKEv1 構成ファイル /etc/inet/ike/config を作成する必要があります。

    次の ike サービスのプロパティーは構成可能です。

  • config_file プロパティー – IKEv1 構成ファイルの場所を設定します。初期値は /etc/inet/ike/config です。

  • debug_level プロパティー – in.iked デーモンのデバッグレベルを設定します。初期値は op (動作)です。指定可能な値については、ikeadm(1M) のマニュアルページで、オブジェクトタイプの下にあるデバッグレベルの表を参照してください。

  • admin_privilege プロパティー – in.iked デーモンの特権レベルを設定します。初期値は base です。ほかの値は modkeyskeymat です。詳細は、IKEv1 ikeadm コマンドを参照してください。

SMF については、Oracle Solaris 11.3 でのシステムサービスの管理 の 第 1 章, サービス管理機能の概要を参照してください。smf(5)svcadm(1M)、および svccfg(1M) のマニュアルページも参照してください。

IKEv1 デーモン

in.iked デーモンは IPsec SA の管理を自動化し、これには IPsec を使用するパケットを保護する暗号化鍵が含まれます。このデーモンは、IKEv1 プロトコルを実行しているピアシステムと、ISAKMP SA および IPsec SA をセキュアにネゴシエートします。

デフォルトでは、svc:/network/ipsec/ike:default サービスは有効になっていません。/etc/inet/ike/config ファイルを構成して ike:default サービスを有効にすると、システムブート時に SMF が in.iked デーモンを起動します。/etc/inet/ike/config ファイルに加え、その他の構成がほかのファイルおよびデータベースに、または SMF プロパティーとして格納されています。詳細は、IKEv1 のユーティリティーおよびファイル、および ike.preshared(4)ikecert(1M)in.iked(1M) のマニュアルページを参照してください。

ike:default サービスを有効にすると、in.iked デーモンが構成ファイルを読み込んで、SA に対する IKE ピアからの外部要求および IPsec からの内部要求を待機します。

IKEv1 ピアからの外部要求の場合、ike:default サービスの構成によってデーモンの応答方法が決まります。内部要求は PF_KEY インタフェースを介してルーティングされます。このインタフェースは、IPsec SA を格納してパケットの暗号化および復号化を実行する IPsec のカーネル部分と、ユーザーランドで実行する鍵管理デーモン in.iked との間の通信を処理します。カーネルは、パケットの保護に SA を必要とする場合、PF_KEY インタフェースを介して in.iked デーモンにメッセージを送信します。詳細は、pf_key(7P) のマニュアルページを参照してください。

2 つのコマンドが IKEv1 デーモンをサポートします。ikeadm コマンドは、実行中のデーモンにコマンド行インタフェースを提供します。ikecert コマンドは、ディスクおよびハードウェア上の証明書データベース ike.privatekeys および publickeys を管理します。

これらのコマンドの詳細については、in.iked(1M)ikeadm(1M)、および ikecert(1M) のマニュアルページを参照してください。

IKEv1 構成ファイル

IKEv1 構成ファイル /etc/inet/ike/config は、IPsec 構成ファイル /etc/inet/ipsecinit.conf 内のポリシーに従って、IPsec の保護を必要とするネットワークパケットのための SA を管理します。

IKE での鍵管理には、ルールとグローバルパラメータが関係します。IKEv1 ルールは、別の IKEv1 デーモンを実行中のシステムを識別します。さらに、ルールは認証方式も指定します。グローバルパラメータには、接続されたハードウェアアクセラレータへのパスなどがあります。IKEv1 ポリシーファイルの例については、事前共有鍵による IKEv2 の構成を参照してください。IKEv1 ポリシーエントリの例と説明については、ike.config(4) のマニュアルページを参照してください。

/etc/inet/ike/config ファイルには、RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 規格に従って実装されているライブラリへのパスが含まれることがあります。IKEv1 はこの PKCS #11 ライブラリを使用して、鍵アクセラレーションおよび鍵の格納のためにハードウェアにアクセスします。

ike/config ファイルのセキュリティーに関する注意点は、ipsecinit.conf ファイルの注意点と同様です。詳細は、ipsecinit.conf と ipsecconf のセキュリティーについてを参照してください。

IKEv1 ikeadm コマンド

    ikeadm コマンドを実行すると、次のことができます。

  • IKE 状態の要素の表示

  • IKE デーモンのプロパティーの変更

  • フェーズ 1 交換時の SA 作成に関する統計の表示

  • IKE プロトコル交換のデバッグ

  • すべてのフェーズ 1 SA、ポリシー規則、事前共有鍵、使用可能な Diffie-Hellman グループ、フェーズ 1 暗号化および認証アルゴリズム、証明書キャッシュなどの IKE デーモンオブジェクトの表示

このコマンドのオプションの例と詳しい説明については、ikeadm(1M) のマニュアルページを参照してください。

実行する IKE デーモンの特権レベルにより、表示および変更可能な IKE デーモンの要素が決まります。使用可能な特権レベルは 3 つあります。

base レベル

鍵を表示したり変更したりすることはできません。base レベルはデフォルトの特権レベルです。

keymat レベル

ikeadm コマンドで実際の鍵を表示できます。

modkeys レベル

事前共有鍵の削除、変更、追加ができます。

特権の一時的な変更には、ikeadm コマンドを使用できます。永続的に変更する場合は、ike サービスの admin_privilege プロパティーを変更します。特権の一時的な変更については、実行中の IKE デーモンの管理を参照してください。

ikeadm コマンドのセキュリティーについては、ipseckey コマンドのセキュリティーと同様です。ipseckey におけるセキュリティーについてを参照してください。ikeadm コマンドに固有の詳細については、ikeadm(1M) のマニュアルページを参照してください。

IKEv1 事前共有鍵ファイル

事前共有鍵を手動で作成すると、鍵は、/etc/inet/secret ディレクトリのファイルに格納されます。ike/config 内に事前共有鍵を使用するルールを構成すると、ike.preshared ファイルにフェーズ 1 交換用の事前共有鍵が含まれます。ipseckeys ファイルには、IP パケットの保護に使用される事前共有鍵が含まれます。これらのファイルは 0600 で保護されます。secret ディレクトリは 0700 で保護されます。

フェーズ 1 交換の認証に事前共有鍵を使用するため、このファイルを in.iked デーモンの開始前に有効にする必要があります。

手動による IPsec 鍵の管理の例については、IPsec の鍵を手動で作成する方法を参照してください。

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

ikecert コマンドは、ローカルシステムの公開鍵/非公開鍵、公開証明書、および静的 CRL のデータベースを管理します。このコマンドは、IKEv1 構成ファイルが公開鍵証明書を要求するときに使用します。IKEv1 ではこれらのデータベースを使用してフェーズ 1 交換を認証するため、in.iked デーモンを起動する前に、それらのデータベースに必要な情報が含まれていなければなりません。3 つのサブコマンド certlocalcertdb、および certrldb は、3 つの各データベースを処理します。

システムに Sun Crypto Accelerator 6000 ボードが接続されている場合、ikecert コマンドは PKCS #11 ライブラリを使用してハードウェア鍵と証明書のストレージにアクセスします。

詳細は、ikecert(1M) のマニュアルページを参照してください。メタスロットとソフトトークンキーストアについては、cryptoadm(1M) のマニュアルページを参照してください。

IKEv1 ikecert tokens コマンド

tokens 引数は、使用可能なトークン ID を一覧表示します。トークン ID により、ikecert certlocal コマンドと ikecert certdb コマンドは、公開鍵証明書と CSR を生成できます。鍵および証明書も接続された Sun Crypto Accelerator 6000 ボードに格納できます。ikecert コマンドは、PKCS #11 ライブラリを使用してハードウェアキーストアにアクセスします。

IKEv1 ikecert certlocal コマンド

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

非公開鍵を作成する場合は、ikecert certlocal コマンドのオプションに関連するエントリが ike/config ファイルに存在しなければなりません。ikecert オプションと ike/config エントリの対応を次の表に示します。

表 19  IKEv1 の ikecert オプションと ike/config エントリの対応
ikecert オプション
ike/config エントリ
説明
–A subject-alternate-name
cert_trust subject-alternate-name
証明書を一意に識別するニックネーム。指定可能な値は IP アドレス、電子メールアドレス、およびドメイン名です。
–D X.509-distinguished-name
X.509-distinguished-name
国 (C)、組織名 (ON)、組織単位 (OU)、共通名 (CN) を含む認証局のフルネーム。
–t dsa-sha1 | dsa-sha256
auth_method dsa_sig
RSAよりもわずかに遅い認証方式。
–t rsa-md5 および
–t rsa-sha1 | rsa-sha256 | rsa-sha384 | rsa-sha512
auth_method rsa_sig
DSAよりもわずかに速い認証方式。
RSA 公開鍵は、最大ペイロードを暗号化するのに十分な長さが必要。通常、X.509 識別名などの ID ペイロードが最大ペイロードになります。
–t rsa-md5 および
–t rsa-sha1 | rsa-sha256 | rsa-sha384 | rsa-sha512
auth_method rsa_encrypt
RSA 暗号化により、IKE にある ID が不正侵入者から保護されますが、IKE ピアには互いの公開鍵の認識が要求されます。

ikecert certlocal -kc コマンドで CSR を発行する場合、コマンドの出力を認証局 (CA) に送信します。会社が独自の公開鍵インフラストラクチャー (PKI) を運用している場合は、PKI の管理者に出力を送信します。その後、CA または PKI の管理者が証明書を作成します。返された証明書は certdb サブコマンドに渡されます。CA から返された証明書失効リスト (CRL) は、certrldb サブコマンドに渡されます。

IKEv1 ikecert certdb コマンド

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

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

IKEv1 ikecert certrldb コマンド

certrldb サブコマンドは、証明書失効リスト (CRL) データベース /etc/inet/ike/crls を管理します。CRL データベースには、公開鍵の失効リストが保存されています。よって、このリストには、すでに有効でない証明書が明記されます。CA から CRL が提供される場合、その CRL を ikecert certrldb コマンドで CRL データベースにインストールできます。手順については、IKEv1 で失効した証明書を処理する方法を参照してください。

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

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

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

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

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

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

/etc/inet/ike/crls ディレクトリには、証明書失効リスト (CRL) ファイルが含まれています。各ファイルは、/etc/inet/ike/publickeys ディレクトリにある公開証明書ファイルに対応しています。CA は証明書の CRL を提供します。ikecert certrldb コマンドを使用して、そのデータベースを読み込むことができます。