暗号化階層

SQL Server 2005 では、暗号化とキーの階層的な管理インフラストラクチャを使用してデータを暗号化します。各層では、証明書、非対称キー、および対称キーの組み合わせを使用して、その層の下位にある層を暗号化します。次の図に示すように、暗号化階層はセキュリティ保護可能なオブジェクトの階層に対して平行な構造です。このオブジェクトについては、「権限の階層」で説明しています。

次の図は、暗号化階層のそれぞれの層がその下位にある層を暗号化することを示しています。最上位層であるサービス マスタ キーは、Windows DP API を使用して暗号化されます。

キー階層 : Windows、SQL Server、およびデータベース層

暗号化メカニズム

SQL Server 2005 には、次の暗号化メカニズムが用意されています。

  • 証明書
  • 非対称キー
  • 対称キー

証明書

通常は単に証明書と呼ばれる公開キー証明書は、公開キーの値を、対応する秘密キーを保持する人物、デバイス、またはサービスの ID にバインドする、デジタル署名されたステートメントです。証明書は、CA (証明機関) によって発行および書名されます。CA から証明書を受け取るエンティティは、その証明書のサブジェクトです。通常、証明書には次の情報が含まれています。

  • サブジェクトの公開キー。
  • サブジェクトの ID 情報 (名前や電子メール アドレスなど)。
  • 有効期間。これは、証明書が有効であると見なされる期間です。
    証明書は、証明書で指定された期間中のみ有効です。すべての証明書には、有効期間の開始日有効期間の終了日の日付が含まれています。これらの日付によって、有効期間の境界が設定されます。証明書の有効期間が終了すると、現在期限が切れている証明書のサブジェクトを使用して新しい証明書を要求する必要があります。
  • 発行者の ID 情報。
  • 発行者のデジタル署名。
    この署名により、公開キーとサブジェクトの ID 情報のバインドが有効であることが証明されます (デジタル署名情報の処理により、その情報だけでなく、送信者が保持している一部の機密情報が署名と呼ばれるタグに変換されます)。

証明書の主な利点は、個々のサブジェクトのパスワードの設定をホストで保守する必要性がなくなる点です。ホストでは、証明書の発行者の信頼を確立するだけで済みます。信頼された発行者は、多数の証明書に署名できます。

セキュリティで保護された Web サーバーなどのホストが、信頼されているルート機関として発行者を指定すると、このときホストは、発行された証明書のバインドを確立するために発行者が使用したポリシーを暗黙的に信頼することになります。つまりホストは、証明書のサブジェクトの ID が発行者側で確認されているものと見なします。ホストが発行者を信頼されているルート機関として指定する際は、発行者の公開キーが含まれている発行者の自己署名付きの証明書を、ホスト コンピュータの信頼されているルート証明機関の証明書ストアに配置します。中間または下位の証明機関が信頼されるのは、信頼されているルート証明機関からの有効な証明書パスを持っている場合のみです。

発行者は、証明書の有効期限が切れる前に、証明書を取り消すことができます。証明書を取り消すと、証明書で評価されている公開キーと ID のバインドがキャンセルされます。各発行者は、特定の証明書の有効性をチェックするときにプログラムで使用できる、証明書の廃止リストを保持しています。

SQL Server によって作成された自己署名付きの証明書は、X.509 標準に従っており、X.509 v1 フィールドをサポートしています。

非対称キー

非対称キーは、秘密キーとそれに対応する公開キーで構成されています。各キーは、他方のキーで暗号化されたデータを暗号化解除できます。非対称の暗号化と暗号化解除は、比較的リソースを集中して消費しますが、対称の暗号化よりも高レベルのセキュリティを提供します。非対称キーは、データベース内のストレージに対する対称キーの暗号化に使用できます。

対称キー

対称キーは、暗号化と暗号化解除の両方で使用される 1 つのキーです。対称キーを使用した暗号化および暗号化解除は、高速であり、データベース内の機密データでの定型的な使用に適しています。

参照

概念

権限の階層
セキュリティ保護可能なリソース

その他の技術情報

セキュリティ関数 (Transact-SQL)
暗号化の操作方法に関するトピック

ヘルプおよび情報

SQL Server 2005 の参考資料の入手