IPsec は、データを保護するために次の 2 つのセキュリティープロトコルを提供しています。
認証ヘッダー (AH)
カプセル化セキュリティーペイロード (ESP)
AH は、認証アルゴリズムでデータを保護します。ESP は、暗号化アルゴリズムでデータを保護します。オプションとして、ESP は、認証アルゴリズムでデータを保護します。アルゴリズムの各実装は、「機構」と呼ばれます。
認証ヘッダーは、IP データグラムに対するデータ認証、強力な完全性、再送保護を供給します。AH では大部分の IP データグラムを保護します。次の図に示されているように、AH は IP ヘッダーとトランスポートヘッダーの間に挿入されます。
トランスポートヘッダーは、TCP、UDP、SCTP、または ICMP のいずれかです。トンネルを使用している場合は、トランスポートヘッダーがこれ以外の IP ヘッダーである場合もあります。
カプセル化セキュリティーペイロード (ESP)モジュールは、ESP がカプセル化した対象の機密性を守ります。また、AH が提供するサービスも提供します。ただし、保護される対象は、データグラムのうち ESP がカプセル化した部分だけです。ESP は、保護されたパケットの完全性を保証するオプションの認証サービスを提供します。ESP は暗号化対応技術を使用するため、ESP を提供するシステムは輸出入管理法の対象となります。
ESP はデータをカプセル化します。したがって、次の図に示されているように、ESP が保護するのはデータグラム内の EPS の開始点以降のデータのみです。
TCP パケットでは、ESP は TCP ヘッダーとそのデータだけをカプセル化します。パケットが IP 内 IP データグラムの場合、ESP は内部 IP データグラムを保護します。ソケット別ポリシーでは、「自己カプセル化」ができるため、必要に応じて ESP では IP オプションをカプセル化できます。
自己カプセル化が設定されている場合は、IP 内 IP データグラムを構築するために IP ヘッダーのコピーが作成されます。たとえば、TCP ソケットに自己カプセル化が設定されていない場合、データグラムは次の形式で送信されます。
[ IP(a -> b) options + TCP + data ] |
TCP ソケットに自己カプセル化が設定されている場合、データグラムは次の形式で送信されます。
[ IP(a -> b) + ESP [ IP(a -> b) options + TCP + data ] ] |
さらに詳しくは、「IPsec のトランスポートモードとトンネルモード」を参照してください。
次の表では、AH と ESP が提供する保護を比較しています。
表 19–2 IPsec で AH と ESP が提供する保護
IPsec セキュリティープロトコルは、認証と暗号化という 2 種類のアルゴリズムを提供しています。AH モジュールは、認証アルゴリズムを使用します。ESP モジュールは、暗号化アルゴリズムと認証アルゴリズムを使用します。ipsecalgs コマンドを使用すると、システムのアルゴリズムとプロパティーの一覧を取得できます。詳細は、ipsecalgs(1M) のマニュアルページを参照してください。getipsecalgbyname(3NSL) のマニュアルページで説明されている機能を使用して、アルゴリズムのプロパティーを検索することもできます。
Solaris システムの IPsec は、Solaris 暗号フレームワークを使用して、アルゴリズムにアクセスします。このフレームワークは、その他のサービスに加えて、アルゴリズムの中央リポジトリを提供します。このフレームワークによって、IPsec は、高性能な暗号ハードウェアアクセラレータを利用できます。このフレームワークは、リソース制御機能も提供しています。たとえば、このフレームワークを使用すると、カーネルでの暗号処理に費やされる CPU 時間を制限できます。
詳細については、次を参照してください。
『Solaris のシステム管理 (セキュリティサービス)』の第 13 章「Solaris の暗号化フレームワーク (概要)」
『Oracle Solaris セキュリティーサービス開発ガイド』の第 8 章「Oracle Solaris 暗号化フレームワークの紹介」
認証アルゴリズムは、データとキーを基に整合性チェックサムの値、つまり、「ダイジェスト」を生成します。AH モジュールは、認証アルゴリズムを使用します。ESP モジュールも、認証アルゴリズムを使用します。
暗号化アルゴリズムは、キーでデータを暗号化します。 IPsec の ESP モジュールは、暗号化アルゴリズムを使用します。暗号化アルゴリズムでは、「ブロックサイズ」ごとにデータを処理します。
デフォルトで使用される暗号化アルゴリズムは、Solaris 10 OS のリリースによって異なります。
Solaris 10 7/07 リリース以降では、システムに Solaris Encryption Kit を追加しないでください。このキットはシステムにおける暗号化のパッチレベルを低下させます。このキットはシステム上の暗号化と互換性がありません。
Solaris 10 7/07 リリース以降では、Solaris Encryption Kit の内容は Solaris インストールメディアによってインストールされます。このリリースでは、SHA2 認証アルゴリズム sha256、sha384、および sha512 が追加されています。SHA2 の実装は RFC 4868 仕様に適合しています。このリリースでは、Diffie-Hellman グループ 2048 ビット (グループ 14)、3072 ビット (グループ 15)、および 4096 ビット (グループ 16) も追加されています。ただし、CoolThreads テクノロジを備えた Sun システムでは、2048 ビットグループだけが高速化されます。
Solaris 10 7/07 より前のリリースでは、Solaris インストールメディアによって基礎アルゴリズムが提供され、ユーザーは Solaris Encryption Kit からより強固なアルゴリズムを追加できます。
デフォルトでは、DES-CBC、3DES-CBC、AES-CBC、および Blowfish-CBC アルゴリズムがインストールされます。AES-CBC および Blowfish-CBC アルゴリズムがサポートするキーの大きさは、128 ビットに限られています。
Solaris Encryption Kit をインストールすると、128 ビットより大きいキーをサポートする AES-CBC および Blowfish-CBC アルゴリズムを IPsec で使用できます。ただし、米国以外では、すべての暗号化アルゴリズムを使用できるとは限りません。このキットは、Solaris 10 インストールボックスには含まれていない別の CD から入手できます。『Solaris 10 Encryption Kit Installation Guide』に、このキットのインストール方法が説明されています。詳細は、Sun ダウンロード Web サイトを参照してください。キットをダウンロードするには、「Downloads A-Z」タブをクリックし、文字「S」をクリックします。Solaris 10 Encryption Kit は最初の 20 エントリの中にあります。