はじめに
この記事では、fips 140-2 の手順と、FIPS 140-2 準拠モードで Microsoft SQL Server 2012 を使用する方法について説明します。注意事項
-
"FIPS 140-2 準拠"、"FIPS 140-2 コンプライアンス"、"FIPS 140-2 準拠モード" という用語は、ここで使うことができるように定義されています。 これらの規約は、政府の条項を認識または定義していません。 米国およびカナダ政府は、FIPS 140-2 などの規格に対する暗号化モジュールの検証を認識していますが、指定された方法での暗号化モジュールの使用は認めていません。 この記事では、"FIPS 140-2 準拠"、"fips 140-2 コンプライアンス"、"FIPS 140-2 準拠モード" を使います。 SQL server 2012 では、暗号化されたデータまたはハッシュされたデータが SQL Server 140-2 にインポートまたはエクスポートされるすべてのインスタンスで、アルゴリズムとハッシュ関数の FIPS 2012 検証インスタンスのみが使用されます。 これにより、SQL Server 2012 は、FIPS 140-2 で検証された暗号化モジュールで必要となるように、セキュリティで保護された方法でキーを管理することを意味します。 キー管理プロセスには、キーの生成とキーの記憶域の両方も含まれます。
-
ここでは、"認定" を使って、アルゴリズムのインスタンスが FIPS 140-2 で検証された場合、またはオペレーティングシステムにアルゴリズムの FIPS 140-2 検証インスタンスが含まれていることを意味します。
詳細情報
FIPS とは何ですか?
米国連邦情報処理規格 (FIPS) は、次の2つの政府機関によって開発された標準規格です。
-
米国の米国標準技術協会と技術 (NIST)
-
カナダでの通信セキュリティの確立 (CSE)
FIPS 規格は、米国とカナダで連邦政府運営の IT システムで使用することを推奨または義務付けられています。
FIPS 140-2 とは何ですか?
FIPS 140-2 は、"暗号化モジュールのセキュリティ要件" というタイトルのステートメントです。 使用できる暗号化アルゴリズムと、暗号化キーを生成および管理する方法を指定します。 一部のハードウェア、ソフトウェア、プロセスは FIPS 140-2 認定であり、一部のハードウェア、ソフトウェア、プロセスが FIPS 140-2 に準拠していることがあります。
FIPS 140-2 準拠と FIPS 140-2 認定の違いは何ですか?
SQL Server 2012 は、FIPS 140-2 に準拠した方法で構成および実行できます。 この方法で SQL Server 2012 を構成するには、SQL Server 2012 は、FIPS 140-2 認定のオペレーティングシステム、または認定されている暗号化モジュールを提供するオペレーティングシステムで実行されている必要があります。 コンプライアンスと認定の違いは、わずかなものではありません。 アルゴリズムは認定できます。 FIPS 140-2 では、承認されたリストのアルゴリズムを使うことはできません。 代わりに、認定されたアルゴリズムのインスタンスを使う必要があります。 認定には、政府によって承認された評価ラボでのテストと検証が必要です。 Windows Server 2003、Windows XP、Windows Server 2008 には、許可されているアルゴリズムが含まれており、これらの各オペレーティングシステムのインスタンスは評価ラボでテストされ、政府認定されています。
FIPS 140-2 に準拠しているアプリケーション製品はどれですか?
認定されたバージョンの Windows で実行される暗号化またはハッシュを実行するすべてのアプリケーションは、認定されたアルゴリズムの認定されたインスタンスのみを使用するか、キーの生成とキー管理のために Windows 関数を使用するか、またはアプリケーション内のキー生成とキー管理の要件を遵守することによって準拠できます。 準拠していないアルゴリズムまたはプロセスが有効になっている場合は、FIPS に準拠しているアプリケーションの領域が存在する可能性があることに注意してください。 たとえば、システム内にとどまり、認定されたアルゴリズムインスタンスでさらに暗号化される一部の外部データが許可されている内部プロセスもあります。
SQL Server 2012 は常に FIPS 140-2 に準拠していますか?
いいえ。 SQL Server 2012 は、fips 140-2 に準拠していることが保証されます。これは、暗号化に使用されている FIPS 認定アルゴリズムインスタンスのみを使うか、FIPS 140-2 のコンプライアンスが必要なすべてのインスタンスでハッシュ処理されるため、FIPS 140-2 に準拠している可能性があります。
SQL Server 2012 を FIPS 140-2 準拠として構成するにはどうすればよいですか?
-
オペレーティングシステム要件: SQL Server 2012 は、次のいずれかのオペレーティングシステムに基づくサーバーにインストールする必要があります。
-
Windows Server 2003
-
Windows XP
-
Windows Server 2008
-
-
Windows システム管理の要件: FIPS モードは、SQL Server 2012 が開始される前に設定されている必要があります。 SQL Server は、起動時に設定を読み取ります。 FIPS モードを設定するには、次の手順を実行します。
-
Windows システム管理者として Windows にログオンします。
-
[スタート] をクリックします。
-
[ コントロールパネル] をクリックします。
-
[管理ツール] をクリックします。
-
[ ローカルセキュリティポリシー] をクリックします。 [ ローカルセキュリティ設定 ] ウィンドウが表示されます。
-
ナビゲーションウィンドウで、[ ローカルポリシー] をクリックし、[ セキュリティオプション] をクリックします。
-
右側のウィンドウで、[システム暗号化: 暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う] をダブルクリックします。
-
ダイアログボックスが表示されたら、[ 有効] をクリックし、[ 適用] をクリックします。
-
[OK] をクリックします。
-
[ ローカルセキュリティ設定 ] ウィンドウを閉じます。
-
-
SQL Server 管理者の要件
-
SQL server サービスが起動時に FIPS モードが有効になっていることを検出すると、sql server は次のメッセージを SQL Server のエラーログに記録します。
Service Broker トランスポートは FIPS 準拠モードで実行されています。さらに、Windows イベントログに次のメッセージが記録されることがあります。
サーバーが FIPS モードで実行されていることを確認するには、これらのメッセージを探します。
-
ダイアログセキュリティ (サービス間) では、FIPS モードが有効になっている場合、暗号化によって AES の FIPS 認定インスタンスが使用されます。 FIPS モードが無効になっている場合、暗号化では RC4 が使用されます。
-
FIPS モードで service broker エンドポイントを構成する場合、管理者は service broker に "AES" を指定する必要があります。 エンドポイントが RC4 に設定されている場合は、SQL Server によってエラーが生成されます。 そのため、トランスポートレイヤーは開始されません。
-
SQL Server 2012 は FIPS 140-2 準拠モードでどのように動作しますか?
-
Windows で FIPS モードが有効になっている場合、暗号化/ハッシュのどちらを使用するかについてユーザーが選択していないすべての領域で、SQL Server 2012 は FIPS 140-2 に準拠して実行されます。 (SQL Server 2012 は Windows で CryptoAPI を使用し、アルゴリズムの認定されたインスタンスのみを使用します)。
-
Windows で FIPS モードが有効になっている場合、ユーザーが暗号化を使用するかどうかを選択できるすべての領域で、SQL Server 2012 は、FIPS 140-2 準拠の暗号化のみを有効にするか、暗号化を有効にしません。
-
ソフトウェア開発者にとって重要な情報開発者またはユーザーが暗号化またはハッシュ用の独自のコードを記述するすべての領域で、CryptoAPI のみ (その場合は認定されたインスタンスのみ) を使用し、FIPS 140-2 で許可されているアルゴリズムのみを指定するように指示する必要があります。 具体的には、暗号化用にトリプル DES (3DES) または AES のみを指定する必要があります。また、ハッシュでは SHA-1 のみを指定する必要があります。
SQL Server 2012 を FIPS 140-2 準拠モードで実行した場合、どのような影響がありますか?
-
より強力な暗号化を使用すると、プロセスが FIPS 140-2 に準拠していない場合に、強度の低い暗号化が許可されているプロセスのパフォーマンスに影響を及ぼす可能性があります。
-
SSIS の暗号化を選択する (Encryption = True) と、利用可能な暗号化が FIPS のコンプライアンスと互換性がなく、許可されていないことを示すエラーメッセージが生成されます。 つまり、メッセージ処理の暗号化は実行されません。
-
従来の DTS との組み合わせでの暗号化の使用は、FIPS 140-2 に準拠していません。 DTS では、Windows の FIPS モードがオフになっていることに注意してください。 そのため、ユーザーは [暗号化されていない] を選択する必要があります。
-
ほとんどの SQL Server 2012 暗号化とハッシュ処理は既に FIPS 140-2 に準拠しているため、完全なコンプライアンス (Windows が有効な FIPS モードの場合) で実行されている場合は、製品の使用またはパフォーマンスにほとんど影響しません。
FIPS 140-2 の詳細については、どこで参照できますか?
FIPS 140-2 規格の詳細とダウンロード方法については、次の NIST の web サイトを参照してください。
http://csrc.nist.gov/cryptval/140-2.htm他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。