IBM Support

[Db2] ローカル鍵ストアを使用して暗号化データベースを作成する方法

How To


Summary

Db2 は 10.5 フィックスパック 5 以降、ネイティブ暗号化データベースをサポートしています。ネイティブ暗号化は表スペース・コンテナー、トランザクション・ログ、LOAD コピー、バックアップ・イメージなど、データベースが書き出すデータをアプリケーションから透過的に暗号化します。
この文書は GSKit によるローカル鍵ストアを使用して、ネイティブ暗号化データベースを作成する手順を案内します。

Environment

Db2 10.5 フィックスパック 5 以降。
Db2 10.5 で暗号化を利用するには IBM DB2 Encryption Offering ライセンスを購入する必要があります。

Steps

ネイティブ暗号化では、データベースはデータ暗号鍵 (DEK) で暗号化されます。DEK は暗号化されてデータベースに保管され、DEK を復号化するためのマスター鍵 (MK) を鍵ストアに保管します。
以下の手順はデータベース・サーバーにインスタンス・オーナー (Linux/UNIX) または管理者 (Windows) でログインして実行します。例として鍵ストア・ファイル名を $HOME/keystore.p12、データベース名を ENCDB としていますが任意の名前に変更可能です。
  1. 鍵ストアの作成
    鍵ストア・パスワード (-pw) は任意のパスワードを指定します。
    gsk8capicmd_64 -keydb -create -db $HOME/keystore.p12 -pw Str0ngPassw0rd -strong -type pkcs12 -stash
  2. データベース・マネージャー構成の変更
    keystore_location には 1 で作成した鍵ストアをフルパスで指定します。
    db2 update dbm cfg using keystore_type pkcs12 keystore_location $HOME/keystore.p12
  3. 暗号化データベースの作成
    デフォルトの暗号化方式は CIPHER AES MODE CBC KEY LENGTH 256 です。CREATE DB は MK を自動的に作成し、2 で指定した鍵ストアに保管します。
    db2 create db encdb encrypt
  4. 暗号化状態の確認
    暗号化方式、​​​現在の MK ラベル名、鍵ストアの場所などが表示されます。
    db2pd -db encdb -encrypt
    
    Database Member 0 -- Database ENCDB -- Active -- Up 0 days 00:00:09 -- Date 2022-03-25-20.27.40.808056
    
    Encryption Info:
       Object Name:               ENCDB
       Object Type:               DATABASE
       Encyrption Key Info:
              Encryption Algorithm: AES
         Encryption Algorithm Mode: CBC
             Encryption Key Length: 256
                  Master Key Label: DB2_SYSGEN_db2v115_ENCDB_2022-03-23-19.53.02_7BFE88AC
     Master Key Rotation Timestamp: 2022-03-23-19.53.03.000000
       Master Key Rotation Appl ID: *LOCAL.db2inst1.220324025302
       Master Key Rotation Auth ID: DB2INST1
         Previous Master Key Label: DB2_SYSGEN_db2inst1_ENCDB_2022-03-23-19.53.02_7BFE88AC
       KeyStore Info:
                     KeyStore Type: PKCS12
                 KeyStore Location: /home/db2inst1/keystore.p12
                KeyStore Host Name: db2host.example.com
               KeyStore IP Address: xx.xx.xx.xx
          KeyStore IP Address Type: IPV4
    
運用上の考慮点
  • Db2 に付属の GSkit を使用する場合、gsk8capicmd_64 コマンドの実行前に以下の設定が必要です。
    AIX
    export LIBPATH=$HOME/sqllib/lib64/gskit:$LIBPATH
    export PATH=$HOME/sqllib/gskit/bin:$PATH
    Linux
    export LD_LIBRARY_PATH=$HOME/sqllib/lib64/gskit:$LIBPATH
    export PATH=$HOME/sqllib/gskit/bin:$PATH
    Windows
    set LIB="C:¥Program Files¥ibm¥gsk8¥lib";%LIB%
    set PATH="C:¥Program Files¥ibm¥gsk8¥bin";%PATH%
  • 鍵ストアに保管された MK の一覧は gsk8capicmd コマンドで確認できます。
    gsk8capicmd_64 -cert -list -db $HOME/keystore.p12 -stashed
    Certificates found
    * default, - personal, ! trusted, # secret key
    #       DB2_SYSGEN_db2inst1_ENCDB_2022-03-23-19.53.02_7BFE88AC
    

Db2 ネイティブ暗号化
GSKCapiCmd Users Guide

 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PmnAAE","label":"Security and Plug-Ins-\u003EEncryption"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.5.0;11.1.0;11.5.0"}]

Document Information

Modified date:
21 August 2023

UID

ibm16986231