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

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

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

概要

この記事では、連邦情報処理標準 (FIPS) 140-2 の手順と、FIPS 140-2 準拠モードで Microsoft SQL Server 2008 を使用する方法について説明します。

注:

ここでは、使用とわかりやすくするために、「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" であるアプリケーションの違い

SQL SERVER 2008 を FIPS 140-2 準拠アプリケーションとして実行するように構成できます。 これを行うには、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 準拠であることを意味しますか?

いいえ。 これは、SQL SERVER 2008 を FIPS 140-2 準拠モードで実行するように構成できることを意味します。

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

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

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

  • Windows システム管理の要件

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

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

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

      1. 管理者資格情報を使用してコンピューターにログオンします。
      2. [ スタート] をクリックし、[ 実行] をクリックし、「 gpedit.msc」と入力し、 Enter キーを押します。
      3. [グループ ポリシー] ウィンドウで、[コンピューターの構成] ノードの [Windows 設定] をダブルクリックし、[セキュリティ設定] をダブルクリックします。
      4. [ セキュリティ設定] ノードで、[ ローカル ポリシー] をダブルクリックし、[ セキュリティ オプション] をクリックします。
      5. 詳細ウィンドウで、[ システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠アルゴリズムを使用する] をダブルクリックします。
      6. [ システム暗号化: 暗号化、ハッシュ、署名に FIPS 準拠アルゴリズムを使用する ] ダイアログ ボックスで、[ 有効] をクリックし、[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 で許可されるアルゴリズムのみを指定する必要があります。 具体的には、暗号化にはトリプル データ暗号化標準 (3DES) または AES のみを使用し、ハッシュには SHA-1 のみを使用します。 SQL Server 2008 では、FIPS 140-2 で検証された各アルゴリズムに対して次のキーワードを使用できます。

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

    注:

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

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

    SQL Server 2008 では、別のサード パーティ製ハードウェア ストレージ モジュール (HSM) での暗号化キーの管理を可能にするエンタープライズ キー管理 (EKM) 機能がサポートされています。 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 準拠モードでアプリケーションを実行する場合、アプリケーションの使用またはパフォーマンスにほとんど影響またはまったく影響しません。

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

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

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