次の方法で共有


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

この記事では、FIPS 140-2 と、FIPS 140-2 準拠モードで SQL Server 2008 を使用する方法について説明します。

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

はじめに

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

Note

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

FIPS とは

FIPS とは、連邦情報処理標準を意味します。 FIPS は、2 つの政府機関によって開発された標準です。 1つは、米国の国立標準技術研究所です。 もう一つはカナダの通信セキュリティ施設です。 FIPS は、連邦政府 (米国 またはカナダ) の政府が運営する IT システムでの使用が推奨または義務付けられている標準です。

FIPS 140-2 とは

FIPS 140-2 は、「暗号化モジュールのセキュリティ要件」のステートメントです。使用できる暗号化アルゴリズムとハッシュ アルゴリズム、および暗号化キーを生成および管理する方法を指定します。 一部のハードウェア、ソフトウェア、およびプロセスは、承認された検証ラボで FIPS 140-2 を検証できます。 これらの一部は、この記事で定義されている用語として FIPS 140-2 準拠と記述することもできます。

"FIPS 140-2 準拠" アプリケーションと "FIPS 140-2-validated" アプリケーションの違い

FIPS 140-2 準拠アプリケーションとして実行するように SQL Server 2008 を構成できます。 これを行うには、FIPS 140-2 検証済み暗号化サービス プロバイダーを使用するオペレーティング システム、または検証済みの暗号化モジュールを提供するオペレーティング システムで SQL Server 2008 を実行する必要があります。 コンプライアンスと検証の違いは微妙ではありません。 アルゴリズムを検証できます。 FIPS 140-2 の承認済みリストのアルゴリズムを使用するには不十分です。 FIPS 140-2 が検証されたアルゴリズムのインスタンスを使用する必要があります。 検証には、政府が承認した評価ラボによるテストと検証が必要です。 Windows Server 2008、Windows Server 2003、および Windows XP には承認済みの暗号化モジュールが含まれており、アルゴリズムの特定のインスタンスを含むモジュールはラボテストされ、政府によって検証されています。

FIPS 140-2 に準拠できるアプリケーション

暗号化またはハッシュを実行し、検証済みのバージョンの Windows 暗号化サービス プロバイダーで実行されるすべてのアプリケーションは、承認されたアルゴリズムの検証済みインスタンスのみを使用する場合に準拠できます。 これらのアプリケーションは、Windows キー機能を使用するか、アプリケーションのキー生成とキー管理の要件を満たすことによって、キー生成とキー管理の要件にも準拠する必要があります。 さらに、場合によっては、FIPS 140-2 準拠アプリケーションで非準拠アルゴリズムまたはプロセスが許可されます。 たとえば、この暗号化された形式でデータがアプリケーション内に残っている場合、つまりデータがこの形式でエクスポートされない場合、または FIPS 準拠アルゴリズムを使用してデータがさらに暗号化 (ラップ) されている場合は、非準拠アルゴリズムを使用してデータを暗号化できます。

これは、SQL Server 2008 が常に FIPS 140-2 に準拠していることを意味しますか?

その必要はありません。 これは、FIPS 140-2 準拠モードで実行するように SQL Server 2008 を構成できることを意味します。

FIPS 140-2 検証済み暗号化モジュールを使用するように SQL Server 2008 を構成する方法

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

    SQL Server 2008 は、Windows Server 2008 ベースのコンピューター、Windows Vista ベースのコンピューター、Windows Server 2003 ベースのコンピューター、または Windows XP ベースのコンピューターにインストールする必要があります。

  • Windows システム管理の要件

    SQL Server 2008 を起動する前に、FIPS モードを有効にする必要があります。 これは、起動時に SQL Server 2008 が FIPS 設定を読み取るためです。 FIPS を有効にするには、次の手順に従います。

    • Windows Server 2008 および Windows Vista の場合

      1. 管理者資格情報を使用してコンピューターにログオンします。
      2. Windows Server 2008 を使用している場合は、 Start をクリックし、 Run をクリックし、「gpedit.msc」と入力して Enter キーを押します。 ローカル グループ ポリシー エディターが開きます。 Windows Vista ベースのコンピューターを使用している場合は、 Start をクリックし、 スタート検索 ボックスに「gpedit.msc」と入力し、Enter キーを押します。
      3. ローカル グループ ポリシー エディターで、Computer 構成 ノードの下にある Windows の設定をダブルクリックし、セキュリティ設定をダブルクリックします。
      4. [セキュリティ設定 ノードで、[ローカル ポリシーをダブルクリックし、[セキュリティ オプション] をクリック
      5. 詳細ウィンドウで、[ システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠アルゴリズムを使用しますをダブルクリックします。
      6. [ システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠のアルゴリズムを使用する ] ダイアログ ボックスで、[ Enabled] をクリックし、[ OK をクリックしてダイアログ ボックスを閉じます。
      7. ローカル グループ ポリシー エディターを閉じます。
    • Windows Server 2003 および Windows XP の場合

      1. 管理者資格情報を使用してコンピューターにログオンします。
      2. Startをクリックし、Runをクリックし、「gpedit.msc」と入力して、ENTER キーを押
      3. [グループ ポリシー ウィンドウで、Computer 構成ノードの下にある Windows の設定をダブルクリックし、[セキュリティ設定ダブルクリックします
      4. [セキュリティ設定 ノードで、[ローカル ポリシーをダブルクリックし、[セキュリティ オプション] をクリック
      5. 詳細ウィンドウで、[ システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠アルゴリズムを使用しますをダブルクリックします。
      6. [ システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠のアルゴリズムを使用する ] ダイアログ ボックスで、[ Enabled] をクリックし、[ OK をクリックしてダイアログ ボックスを閉じます。
      7. グループ ポリシー ウィンドウを閉じます。

SQL Server 2008 管理者ノート

  • SQL Server 2008 サービスが起動時に FIPS モードが有効になっていることを検出すると、SQL Server 2008 は SQL Server エラー ログに次のメッセージを記録します。

    Service Broker トランスポートが FIPS コンプライアンス モードで実行されている

    さらに、次のメッセージがアプリケーション ログに記録される場合があります。

    データベース ミラーリング トランスポートが FIPS コンプライアンス モードで実行されている

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

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

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

SQL Server 2008 が FIPS 140-2 準拠モードでどのように動作するか

  • Windows の FIPS モードが有効になっていて、ユーザーがデータを暗号化またはハッシュするかどうか、およびその方法を選択できない場合、SQL Server 2008 は FIPS 140-2 準拠モードで動作します。 SQL Server 2008 では CryptoAPI が使用され、アルゴリズムの検証済みインスタンスのみが使用されます。

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

  • 開発者向けの重要な情報

    暗号化またはハッシュ用に独自のコードを記述する場合は、CryptoAPI のみを使用する必要があります。 FIPS 140-2 で許可されているアルゴリズムのみを指定する必要があります。 具体的には、暗号化には Triple Data Encryption Standard (3DES) または AES のみを使用し、ハッシュには SHA-1 のみを使用します。 各 FIPS 140-2 検証済みアルゴリズムには、SQL Server 2008 で次のキーワードを使用できます。

    • DESX(3 キー トリプル DES)
    • Triple-DES(2 キー トリプル DES)
    • TRIPLE_DES_3KEY(3 キー トリプル DES)
    • TRIPLE_DES_2KEY(2 キー トリプル DES)

    Note

    DESX を選択しても、SQL Server 2005 または SQL Server 2008 では DESX アルゴリズムは提供されません。 どちらの場合も、DESX を選択すると、3 キートリプル DES の検証済みインスタンスが提供されます。

  • 開発者向けの重要な情報

    SQL Server 2008 では、エンタープライズ キー管理 (EKM) 機能がサポートされています。これにより、別のサード パーティのハードウェア ストレージ モジュール (HSM) で暗号化キーを管理できます。 FIPS 140-2 準拠モードで動作し、EKM を使用するには、次の 2 つの条件のいずれかが満たされている必要があります。

    • 外部暗号化モジュールは FIPS 140-2 で検証されている必要があります。
    • 暗号化モジュールで使用されるアルゴリズムの一部は、FIPS 140-2 で検証されている必要があります。 SQL Server との間でデータをインポートまたはエクスポートするために FIPS 140-2 ベースの暗号化または暗号化解除が必要な場合は、検証済みアルゴリズムのインスタンスのみを使用します。

    さらに、外部暗号化モジュールによって暗号化または復号化されるデータは、FIPS 140-2 検証済みインスタンスを使用して暗号化された形式で渡す必要があります。

FIPS 140-2 準拠モードで SQL Server 2008 を実行した場合の影響

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

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

  • 従来のデータ変換サービス (DTS) と共に暗号化を使用することは、FIPS 140-2 に準拠していません。 DTS の場合、Windows の FIPS モードはチェックされません。 準拠を維持するには、暗号化を選択しないでください。

  • ほとんどの SQL Server 2008 暗号化およびハッシュ プロセスでは、FIPS 140-2 で検証された暗号化モジュールが既に使用されています。 そのため、Windows で FIPS モードが有効になっているときに FIPS 140-2 準拠モードでアプリケーションを実行する場合、アプリケーションの使用やパフォーマンスにほとんどまたはまったく影響しません。

サード パーティの免責事項

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

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