10.2. 連邦情報処理標準(FIPS)
FIPS(Federal Information Processing Standard)Publication 140-2 は、米国によって開発されたコンピューターセキュリティー標準です。米国および業界で作業グループで、暗号化モジュールの品質を検証します。FIPS 公開情報(140-2 を含む)は、http://csrc.nist.gov/publications/PubsFIPS.html の URL にあります。FIPS 標準は、さまざまな業界、暗号化モジュールの実装、組織サイズおよび要件に対応するために 4 つのセキュリティー レベル を提供します。これらのレベルは以下のとおりです。
- レベル 1: セキュリティーレベル 1 は、セキュリティーの最低レベルを提供します。基本的なセキュリティー要件は、暗号化モジュールに指定されます(例: 1 つ以上の承認済みアルゴリズムまたは承認済みセキュリティー機能が使用される場合など)。セキュリティーレベル 1 暗号化モジュールは、実稼働グレードコンポーネントの基本的な要件を超えて、特定の物理セキュリティーメカニズムは必要ありません。セキュリティーレベル 1 暗号化モジュールの例として、個人コンピューター(PC)暗号化が挙げられます。
- レベル 2 - セキュリティーレベル 2 は、改ざんネビデンスの要件を追加することで、セキュリティーレベル 1 暗号化モジュールの物理セキュリティーメカニズムを強化します。これには、タムパーエビデンスまたはシールドの使用や、モジュールのリムーバブル保留回復ロックの使用が含まれます。改ざん規則またはシールは暗号化モジュールに配置され、モジュール内のプレーンテキスト暗号鍵と重要なセキュリティーパラメーター(CSP)への物理アクセスのために破損する必要があります。改ざんされたシールドまたは選択回復性ロックは、承認されていない物理アクセスから保護するために保護されます。
- レベル 3: セキュリティーレベル 2 で必要な改ざんされた物理セキュリティーメカニズムに加えて、侵入者が暗号化モジュール内に保持される CSP へのアクセスを阻止しようとします。セキュリティーレベル 3 で必要となる物理セキュリティーメカニズムは、物理アクセス、使用、または修正を行う可能性が高いことが意図されています。物理セキュリティーメカニズムには、暗号モジュールのリムーバブル対象/交換が開かれるとすべてのプレーンテキスト CSP をゼロにする強固な エラーと改ざん検出/応答サーキットなどが含まれる場合があります。
- レベル 4 - セキュリティーレベル 4 は、この標準で定義されている最高のセキュリティーレベルを提供します。このセキュリティーレベルでは、物理セキュリティーメカニズムは、物理アクセスで承認されていないすべての試行を検出して応答する目的で、暗号化モジュールに関する完全な保護を提供します。あらゆる方向からの暗号化モジュールの特性に侵入すると、検出される可能性が非常に高くなり、すべてのプレーンテキストの CSP のゼロ化が非常に高くなります。セキュリティーレベル 4 暗号化モジュールは、物理的に保護されていない環境での操作に役立ちます。
これらのレベルと FIPS 標準の仕様 に関する 詳細情報は、http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf の FIPS 140-2 標準仕様を参照してください。
10.2.1. FIPS モードの有効化
Red Hat Enterprise Linux 6 を連邦情報処理標準(FIPS)公開文書 140-2 に準拠させるには、認定済みの暗号化モジュールを使用できるようにするためにいくつかの変更を加える必要があります。システム(カーネルおよびユーザー領域)を FIPS モードに変換するには、以下の手順に従います。
- モジュール内整合性検証の適切な操作を行うには、事前リンクを無効にする必要があります。これは、設定
/etc/sysconfig/prelink
ファイルにを設定することPRELINKING=no
で実行できます。既存の事前リンクがある場合は、prelink -u -a コマンドを使用してすべてのシステムファイルで元に戻す必要があります。 - 次に、dracut-fips パッケージをインストールします。
~]# yum install dracut-fips
注記FIPS 整合性検証は、システムが FIPS モードで動作するかどうかに関わらず、dracut-fips パッケージがシステムに存在するときに実行されます。ただし、システムまたは共有ライブラリーが dracut-fips 存在する場合でも、整合性検証の結果は無視(またはログに記録のみ)されます。 initramfs
ファイルを再作成します(この操作は既存のinitramfs
ファイルを上書きします)。~]# dracut -f
- 以下のオプションを追加して、
/boot/grub/grub.conf
ファイルの現在のカーネルのカーネルコマンドラインを変更します。fips=1
/boot
または/boot/efi/
ディレクトリーが別のパーティションにある場合は、boot=partition
カーネルパラメーターをカーネルコマンドラインに追加する必要があります。partition を、/boot
または/boot/efi/
ディレクトリーを含むパーティションに置き換えます。パーティションは、df コマンドを使用して識別できます。以下に例を示します。~]$ df /boot Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 495844 53780 416464 12% /boot
上記の例では、/boot
ディレクトリーはにあり/dev/sda1
ます。したがって、カーネルコマンドラインに以下の文字列を追加する必要があります。boot=/dev/sda1
- システムを再起動します。
デフォルトでは、暗号および Message Authentication Codes(MAC)は、FIPS モードの
/etc/ssh/sshd_config
ファイルに設定されていることに注意してください。に他の暗号および MAC が /etc/ssh/sshd_config
含まれている場合は、FIPS モードでサポートされるアルゴリズムのみを使用するように変更します。これを行うには、以下の設定またはその設定のサブセットを使用します。
Protocol 2 Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc Macs hmac-sha1,hmac-sha2-256,hmac-sha2-512
厳密な FIPS コンプライアンスが必要な場合は、システムインストール時に
fips=1
カーネルオプションをカーネルコマンドラインに追加し、FIPS 承認アルゴリズムと継続的な監視テストで鍵の生成を行う必要があります。また、インストールプロセス中にマウスを移動するか、マウスが利用できない場合は多くのキートロピーが設定されるようにすることで、システムに多くのエントロピーが使用されるようにする必要があります。キー操作の推奨される量は 256 以上です。256 未満のキーにより、一意の鍵が生成される可能性があります。