8 マスター・キーとウォレット方式を使用したデータ暗号化
このデータ暗号化方式を使用するには、マスター・キー・ウォレットを作成してマスター・キーをウォレットに追加します。この方式では、データが証跡内またはTCP/IP間のどちらで暗号化されるかに応じて、次の処理を行います。
-
Oracle GoldenGateで証跡ファイルが作成されるたびに、新しい暗号化キーが自動的に生成されます。この暗号化キーで証跡の内容を暗号化します。マスター・キーは、暗号化キーを暗号化します。この暗号化キーを暗号化するプロセスはキー・ラップと呼ばれています(詳細は、米国標準委員会のANS X9.102標準を参照してください)。
-
Classic Architectureの場合は、ネットワーク間でデータを暗号化するために、Oracle GoldenGateがマスター・キーに基づいた暗号関数を使用してセッション・キーを生成します。ただし、配布サーバーの
ogg
プロトコルでは、この方式はサポートされていません。
Oracle GoldenGateでは、自動ログイン・ウォレット(ファイル拡張子.sso
)が使用されます。これは、ユーザーの操作なしで必要なパスワードを提供できる不明瞭化されたコンテナです。
マスター・キーとウォレットを使用したデータ暗号化は、NonStopプラットフォームではサポートされていません。
トピック:
8.1 ウォレットの作成とマスター・キーの追加
ウォレットはプラットフォームに依存しない形式で作成されます。ウォレットは、Oracle GoldenGate環境内のすべてのシステムからアクセス可能な共有ファイル・システム上に格納できます。あるいは、Oracle GoldenGate環境内の各システムで同じウォレットを使用することも可能です。各システム上のウォレットを使用する場合は、1つのシステム(通常はソース・システム)でウォレットを作成し、それをOracle GoldenGate環境内の他のすべてのシステムにコピーする必要があります。マスター・キーを追加、変更または削除するたびに、これを実行する必要があります。
次の手順では、ソース・システムでウォレットを作成し、それをOracle GoldenGate環境内の他のシステムにコピーする方法を説明します。
親トピック: マスター・キーとウォレット方式を使用したデータ暗号化
8.2 パラメータ・ファイルでの暗号化パラメータの指定
次の手順では、証跡内およびネットワーク間のデータをマスター・キーとウォレット方式で暗号化するために必要なパラメータを追加します。
ノート:
受信した証跡データを復号化してから再暗号化して任意の出力証跡またはファイルに書き込むよう、明示的に指定できます。まず、データを復号化するDECRYPTTRAIL
を入力し、次にENCRYPTTRAIL
と出力証跡の指定を入力します。DECRYPTTRAIL
はENCRYPTTRAIL
の前に入力されている必要があります。復号化と再暗号化を明示的に指示することにより、必要に応じてAESアルゴリズムを証跡ごとに変更できます。たとえば、ローカル証跡の暗号化にはAES 128を、リモート証跡の暗号化にはAES 256をそれぞれ使用できます。あるいは、1番目のプロセスと2番目のプロセス間の暗号化にはマスター・キーとウォレット方式を使用し、2番目のプロセスと3番目のプロセス間の暗号化にはENCKEYS
方式を使用することも可能です。
8.2.1 暗号化されたデータを配信するためのSOCKS5プロキシの使用
SOCKS5プロトコルでは、プロキシ・サーバーを使用してサーバーとクライアントの間のパケットをルーティングします。このプロトコルでは、クライアントのかわりに別のサーバーへのTCP接続を確立して、クライアントとサーバーの間のトラフィックをルーティングします。このとき、パブリック・ネットワークからクライアントのIDが隠されます。
Oracle GoldenGateでは、RMHOSTOPTIONS
パラメータを指定することで、データをネットワークで配信するためにSOCKS5プロキシを使用できます。詳細は、「RMTHOSTOPTIONS
」を参照してください。
ネットワークでデータを安全に伝送するためにSSHトンネリングとともにSOCKS5プロキシを作成するには、次のステップを実行します。
-
Linuxの場合、SOCKS5プロキシは、次のSSHコマンドを使用することで、SSHトンネリングとともに設定できます。
ssh –i private_key file -v –N –f –D listening IP Address:listening IP port GGCS Oracle User@GGCS IP Address socksproxy output file -N: No execution command on remote system -D: Dynamic Port Forwarding -i: Private Key File -f: Run the proxy process in the background -v: Verbose Mode -C: Compression
ssh -N -f -i opc_rsa.ppk -D 127.0.0.1:1080 opc@129.145.2.34 /tmp/ogg_socksproxy.log
RMTHOST 129.145.2.34, COMPRESS, MGRPORT 1021, SOCKSPROXY 127.0.0.1:1080
親トピック: パラメータ・ファイルでの暗号化パラメータの指定
8.3 マスター・キーの更新
次の手順では、暗号化キー・ウォレット内のマスター暗号化キーを更新します。マスター・キーを更新すると、キーの新しいバージョンが作成されます。名前は同じままですが、ビット順序が変更されます。セキュリティ・ポリシーの一環として、現在のマスター・キーを定期的に更新し、失効を回避してください。
マスター・キーの更新済バージョンはすべてウォレット内に残ります(ただし、DELETE MASTERKEY
コマンドで削除対象とマークされてからPURGE WALLET
コマンドでウォレットが消去されるまで)。失効したマスター・キーの削除を参照してください。
ウォレットが共有記憶域で(共有ウォレットとして)一元管理されていない場合、更新されたウォレットは、Oracle GoldenGate構成内でウォレットを使用する他のすべてのシステムにコピーする必要があります。これを行うには、Oracle GoldenGateプロセスを停止する必要があります。次の手順は、これらの作業を正しい順序で実行するステップを含みます。
親トピック: マスター・キーとウォレット方式を使用したデータ暗号化
8.4 失効したマスター・キーの削除
次の手順では、マスター・キーの失効バージョンを削除します。セキュアなOracle GoldenGateウォレットを維持するための全体的なポリシーの一環として、失効したキーは削除してください。ウォレット内で保持するキーのバージョンの数とその保存期間を定めたポリシーを作成しておくことをお薦めします。
ノート:
Oracle GoldenGateの共有ウォレットを使用したデプロイの場合、マスター・キーの古いバージョンは、マスター・キーが更新された後、すべてのプロセスが最新バージョンを使用するまで保持される必要があります。待機する時間は、トポロジ、レイテンシ、およびデプロイのデータ・ロードにより異なります。24時間の最小の待機時間は控えめな見積りですが、すべてのプロセスが新しいキーの使用を開始するのにかかる時間を決定するには、テストを実行する必要がある場合があります。すべてのプロセスが最新バージョンを使用しているかどうかを判定するには、マスター・キーの更新後すぐに各Extractのレポート・ファイルを表示して、古いキーでマイニングされた最後のSCNを確認します。次に、Replicatレポート・ファイルを監視し、このSCNがすべてのReplicatグループにより適用されたことを確認します。この時点で、マスター・キーの旧バージョンを削除できます。
ウォレットが中央の記憶域に配置され、Oracle GoldenGateインストール環境全体でそのウォレットを使用できる場合、次のステップは共有ウォレットに対して1回実行するだけで済みます。Oracle GoldenGateプロセスを停止する必要はありません。
ウォレットが中央の記憶域にない(つまり、各Oracle GoldenGateシステムにコピーが存在する)場合は、次のいずれかを実行します。
-
Oracle GoldenGateプロセスを停止できる場合は、ウォレットの変更ステップを1度だけ実行して、更新されたウォレットを他のシステムにコピーしてから、Oracle GoldenGateプロセスを再起動します。
-
Oracle GoldenGateプロセスを停止できない場合は、必ず各システム上でまったく同じ方法を使用してウォレットの変更ステップを実行する必要があります。
次のステップには、両方のシナリオに対応する説明が含まれています。
親トピック: マスター・キーとウォレット方式を使用したデータ暗号化