DB2 10.5 for Linux, UNIX, and Windows

DB2 ネイティブ暗号化

DB2® ネイティブ暗号化は、DB2 データベースを暗号化します。ハードウェア、ソフトウェア、アプリケーション、スキーマを変更する必要はなく、透過的で安全な鍵管理が可能です。

暗号化 とは、データを理解不能な形式に変換して、元のデータを取得できないようにする、あるいは暗号化解除プロセスを使用しないと取得できるようにする処理のことです。 これは、メディアに保管されたり信頼性の低い通信チャネルを介して伝送されたりする機密情報を保護するための有効な手段です。 政府規制や業界標準の多くは、準拠するために暗号化が不可欠です。

暗号化スキームでは、保護の必要なデータを、暗号アルゴリズムと暗号鍵を適用することで判読不能な形式に変換します。 暗号アルゴリズム は、暗号化/暗号化解除の処理で使用される数学関数です。 暗号鍵 は、暗号アルゴリズムの処理を制御して、信頼できるデータ暗号化/暗号化解除を可能にする文字列です。

保存されたデータを保護するためのデータ暗号化ソリューションには、ディスク装置の物理的な盗難に適したものもあれば、 特権ユーザーの不正を防止できるものもあります。 ネイティブ・データベース暗号化 では、基礎となるファイル・システムを呼び出してデータをディスクに書き出す前に、 データベース・システム自体がデータを暗号化します。 つまり、現在のデータが保護されるだけではなく、今後追加される可能性のある新しい表スペース・コンテナーや表スペース内のデータも保護されます。 ネイティブ・データベース暗号化によるデータ保護は、ディスク装置が物理的に盗難されるケースにも、特権ユーザーによる不正のケースにも適しています。

鍵の管理には、通常はローカルまたは外部の鍵マネージャーが使用されます。 データベースのデータ暗号化鍵 (DEK) は、実際のユーザー・データの暗号化に使用される暗号化鍵です。 マスター鍵 は、この DEK を保護するために使用される、「鍵を暗号化する鍵」です。 DEK はデータベースによって保管および管理されますが、マスター鍵はデータベースの外部で保管および管理されます。

これらの鍵を、DB2 ネイティブ暗号化の概要を表す図 1 に示します。
図 1. DB2 ネイティブ暗号化の概要
図は、DB2 ネイティブ暗号化の概要を示しています。
CREATE DATABASE コマンドに MASTER KEY LABEL オプションを指定せずに暗号化データベースを作成すると、新しいマスター鍵が自動的に追加されます。 デフォルトでは、データベース・マネージャーはこのマスター鍵を使用しますが、ユーザーが別のマスター鍵を追加することもできます。

暗号化されたマスター鍵は、PKCS#12 準拠の鍵ストア に保管されます。 これは、オペレーティング・システムのレベルで存在する暗号鍵のためのストレージ・オブジェクトです。 パーティション・データベース環境または DB2 pureScale® 環境では、 すべてのメンバーが鍵ストアの場所にアクセスできる必要があります。 DB2 インスタンスごとに、最大で 1 つの鍵ストアが存在します。 keystore_type および keystore_location データベース・マネージャー構成パラメーターを使用して、 鍵ストアのタイプと場所を指定します。

鍵ストアの (難読化形式の) パスワードを、必要な時に自動的にパスワードが提供されるように、ファイルにスタッシュすることもできます。 このスタッシュ・ファイルは、ファイル所有者だけが読み取ることができます。 パスワードをスタッシュしない方が、インスタンス所有者のアカウントが漏えいした場合のセキュリティーは高くなります。 ただし、この高くなる分のセキュリティーと、ユーザーの介入なしで DB2 インスタンスを開始できなければならないという要件を天秤にかける必要があります。 パスワードをスタッシュしない場合、鍵ストアのパスワードをユーザーが提供するまで暗号化データベースにはアクセスできません。

encrlib および encropts データベース構成パラメーターにヌル以外の値が設定されている場合、データベースのバックアップ・イメージは自動的に暗号化されます。 デフォルトでは、バックアップの DEK は、暗号化されたマスター鍵で暗号化されます。

DB2 バージョン 10.5 フィックスパック 5 は、ネイティブ・データベース暗号化を DB2 データベース・サーバーに追加します。 この機能拡張は実装が容易で、Public Key Cryptography Standard #12 (PKCS#12) に基づくセキュアなローカル鍵管理を提供します。 DB2 ネイティブ暗号化によって、費用対効果に優れた方法でコンプライアンス要件を満たすことができます。