転送中のデータの暗号化

Db2 は、トランスポート・レイヤー・セキュリティ(TLS)プロトコルを使用して、サーバーとクライアント間でデータを安全に伝送する。 これを実現するために、TLS テクノロジーでは非対称暗号方式 (公開鍵暗号化など) と対称暗号方式の両方が使用されます。

TLS を使用して、TCP/IP を使用するすべてのネットワークで転送中のデータを保護することができます。 言い換えると、TLS 接続はセキュアな TCP/IP 接続です。

サーバー認証のための公開鍵暗号化

TLS は公開鍵アルゴリズムを使用して、暗号鍵情報とデジタル証明書情報を交換します。 公開鍵暗号化により、クライアントは、サーバーで使用されている証明書を確実に信頼できるようになります。

公開鍵暗号方式では、TLS セッション中に 2 つの異なる暗号鍵を使用します。
  • データを暗号化する公開鍵。
  • 対応する復号用の秘密鍵。
公開鍵暗号方式の場合、公開鍵は秘密ではありませんが、それによって暗号化されたメッセージを復号するにはそれに対応する秘密鍵が必要です。 秘密鍵は、 鍵ストアと呼ばれるファイルに安全に保管する必要があります。

公開鍵アルゴリズムだけでは機密保護機能のある通信を保証するものとならず、通信している相手がだれであるかが検証される必要もあります。 この認証を行うために、TLS は デジタル証明書を使用します。

デジタル証明書の配布と使用

Db2 環境でデータの暗号化を容易にするには、組織内の Db2 サーバーごとに以下のタスクを実行する必要があります。
  1. 組織のメンバーは、 IBM Global Security Kit (GSKit) を使用して公開鍵と秘密鍵のペアを作成します。
  2. 公開鍵は 認証局 (CA) に送信 され、そこで証明書が作成され、署名されます。
  3. サーバーの証明書 (サーバーの公開鍵を含む) は、 ローカル鍵ストア内のストレージのために、組織内のすべての Db2 クライアント (およびサーバー) に配布されます。

各サーバーの証明書をネットワーク内に配布したら、TLS が正常に機能するために必要な要素の準備はすべて完了です。

ネットワーク内の Db2 ノード間の伝送のためにデータが暗号化される前に、 TLS ハンドシェーク が行われます。 これにより、クライアントはサーバーの証明書の有効性を検査できます。そして、信頼できる証明書であれば、サーバーの公開鍵を使用してセッション鍵を作成します。 そのセッション鍵が、接続中にクライアントとサーバーの間の転送データを暗号化するために使用されます。