次の方法で共有


FIPS 140-2 準拠モードで SQL Server 2014 を使用する手順

この記事では、Federal Information Processing Standard Publication 140-2 (FIPS 140-2) の手順と、FIPS 140-2 準拠モードで Microsoft SQL Server 2014 を使用する方法について説明します。

元の製品バージョン: SQL Server 2014
元の KB 番号: 3141890

Note

  • ここでは、使用とわかりやすくするために、"FIPS 140-2 準拠"、"FIPS 140-2 準拠"、および "FIPS 140-2 準拠モード" という用語が定義されています。 これらの用語は、政府の用語として認識または定義されていません。 米国とカナダの政府は、FIPS 140-2 などの標準に対する暗号モジュールの検証を認識していますが、指定された方法または準拠した方法での暗号化モジュールの使用は認識していません。 この記事では、 暗号化またはハッシュされたデータが SQL Server 2014 にインポートまたはエクスポートされるすべてのインスタンスで、アルゴリズムとハッシュ関数の FIPS 140-2 検証済みインスタンスのみが SQL Server 2014 で使用されるという意味で、"FIPS 140-2 準拠"、"FIPS 140-2 準拠モード"、および "FIPS 140-2 準拠モード" を使用します。 さらに、これは、FIPS 140-2 で検証された暗号化モジュールの必要に応じて、SQL Server 2014 がセキュリティで保護された方法でキーを管理することを意味します。 キー管理プロセスには、キー生成とキー ストレージの両方も含まれます。

  • ここでは、アルゴリズムのインスタンスが FIPS 140-2 で検証されているか、オペレーティング システムに FIPS 140-2 で検証されたアルゴリズムのインスタンスが含まれていることを意味するために、"認定済み" を使用します。

FIPS とは

Federal Information Processing Standard (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 2014 は、FIPS 140-2 に準拠した方法で構成および実行できます。 この方法で SQL Server 2014 を構成するには、FIPS 140-2 認定オペレーティング システムまたは認定された暗号化モジュールを提供するオペレーティング システムで SQL Server 2014 を実行する必要があります。

コンプライアンスと認定の違いは微妙ではありません。 アルゴリズムを認定できます。 FIPS 140-2 の承認済みリストにアルゴリズムがリストされているからといって、アルゴリズムを使用するには不十分です。 代わりに、認定されたこのようなアルゴリズムのインスタンスを使用する必要があります。 これは、インスタンスが政府機関によって検証されることを意味します。 認定には、米国またはカナダ政府が承認した評価ラボによるテストと検証が必要です。 Windows Server 2012 以降のバージョンと Windows 8 以降のバージョンには、許可されている各アルゴリズムの認定インスタンスが含まれています。 最も重要なのは、これらの各アルゴリズムを呼び出すと、認定されたインスタンスのみが提供されます。

FIPS 140-2 に準拠できるアプリケーション製品はどれですか?

暗号化またはハッシュを実行し、認定されたバージョンの Windows で実行されるすべてのアプリケーションは、承認されたアルゴリズムの認定されたインスタンスのみを使用し、キー生成とキー管理の要件に準拠することで準拠できます。 これを行うには、次のいずれかの方法を使用します。

  • キーの生成とキー管理に Windows 関数を使用する
  • アプリケーション内のキー生成とキー管理の要件に準拠する

FIPS 準拠のアプリケーションには、非準拠のアルゴリズムまたはプロセスが有効になっている領域が含まれている可能性があることに注意してください。 たとえば、システム内に留まる一部の内部プロセスと、認定されたアルゴリズム インスタンスによってさらに暗号化される外部データが許可されます。

SQL Server 2014 は常に FIPS 140-2 に準拠していますか?

その必要はありません。 SQL Server 2014 は FIPS 140-2 に準拠しています。これは、暗号化のために CryptoAPI を使用するか、FIPS 140-2 準拠が必要なすべてのインスタンスでハッシュすることによって呼び出される FIPS 140-2 認定アルゴリズム インスタンスのみを使用するように構成および実行できるためです。

SQL Server 2014 を FIPS 140-2 に準拠するように構成するにはどうすればよいですか?

オペレーティング システムの要件

次のいずれかのオペレーティング システムに基づくサーバーに SQL Server 2014 をインストールします。

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows 8
  • Windows 8.1
  • Windows 10

Windows システム管理の要件

SQL Server 2014 を開始する前に、FIPS モードを設定する必要があります。 SQL Server は起動時に設定を読み取ります。 FIPS モードを設定するには、次の手順に従います。

  1. Windows システム管理者として Windows にログオンします。
  2. [開始] をクリックします。
  3. [コントロール パネル]をクリックします。
  4. [管理ツール]をクリックします。 (場合によっては、次の手順でLarge アイコンに切り替える必要があります)。
  5. [ローカル セキュリティ ポリシー] をクリックします。 [ローカル セキュリティ設定] ウィンドウが表示されます。
  6. ナビゲーション ウィンドウで、[ ローカル ポリシー] をクリックし、[ セキュリティ オプション] をクリックします。
  7. 右側のウィンドウで、 System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signingをダブルクリックします。
  8. 表示されたダイアログ ボックスで、[ Enabled] をクリックし、[ Apply] をクリックします。
  9. [OK] をクリックします。
  10. [ローカル セキュリティ設定] ウィンドウを閉じます。

SQL Server 管理者の要件

SQL Server サービス (Service Broker またはデータベース ミラーリング用にエンドポイントが構成されている場合) が起動時に FIPS モードが有効になっていることを検出すると、SQL Server は次のメッセージを SQL Server エラー ログに記録します。

Service Broker トランスポートは FIPS コンプライアンス モードで実行されています。

さらに、Windows イベント ログに次のメッセージが記録されている場合があります。

データベース ミラーリング トランスポートは FIPS 準拠モードで実行されています。

サーバーが FIPS モードで実行されていることを確認するには、これらのメッセージを探します。

  • ダイアログ セキュリティ (サービス間) の場合、FIPS モードが有効になっている場合、暗号化では Advanced Encryption Standard (AES) の FIPS 認定インスタンスが使用されます。 FIPS モードが無効になっている場合、暗号化では RC4 が使用されます。

  • FIPS モードでサービス ブローカー エンドポイントを構成する場合、管理者はサービス ブローカーに "AES" を指定する必要があります。 エンドポイントが RC4 に構成されている場合、SQL Server によってエラーが生成されます。 そのため、トランスポート 層は開始されません。

SQL Server 2014 は FIPS 140-2 準拠モードでどのように動作しますか?

  • Windows の FIPS モードが有効になっていると、ユーザーが暗号化するかハッシュするか、その方法について選択できないすべての領域で、SQL Server 2014 は FIPS 140-2 に準拠して実行されます。 (SQL Server 2014 は Windows で CryptoAPI を使用し、アルゴリズムの認定インスタンスのみを使用します)。

  • Windows の FIPS モードが有効になっている場合、ユーザーが暗号化を使用するかどうかを選択できるすべての領域で、SQL Server 2014 では FIPS 140-2 準拠の暗号化のみを有効にするか、暗号化を有効にしません。

  • ソフトウェア開発者にとって重要な情報: 開発者またはユーザーが暗号化またはハッシュのために独自のコードを記述するすべての領域で、CryptoAPI (したがって認定されたインスタンスのみ) のみを使用し、FIPS 140-2 で許可されているアルゴリズムのみを指定するように指示する必要があります。 FIPS 140-2 承認済みの暗号アルゴリズムの国立標準技術研究所 (NIST) の公式リストについては、 暗号モジュール検証プログラムの付属書 A、C、D にアクセスしてください

FIPS 140-2 準拠モードで SQL Server 2014 を実行するとどのような効果がありますか?

  • 強力な暗号化を使用すると、プロセスが FIPS 140-2 準拠として動作していない場合に、あまり強力でない暗号化が許可されるプロセスのパフォーマンスに小さな影響を与える可能性があります。

  • SSIS の暗号化 (UseEncryption=True) を選択すると、使用可能な暗号化は FIPS 準拠と互換性がなく、許可されていないことを示すエラー メッセージが生成されます。 つまり、メッセージ プロセスの暗号化は実行されません。

  • 従来の DTS と共に暗号化を使用することは、FIPS 140-2 に準拠していません。 DTS の場合、Windows の FIPS モードはチェックされません。 したがって、準拠を維持するために暗号化を選択しないのはユーザーの責任です。

  • ほとんどの SQL Server 2014 暗号化およびハッシュ プロセスは既に FIPS 140-2 に準拠しているため、完全なコンプライアンス (つまり、Windows の FIPS モードが有効になっている状態) で実行すると、製品の使用やパフォーマンスにほとんどまたはまったく影響しません。

FIPS 140-2 の詳細はどこで確認できますか?

FIPS 140-2 標準の詳細については、次の NIST パブリケーションを参照してください。

暗号化モジュールのセキュリティ要件

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。