PAM360におけるカスタム暗号化

PAM360はデフォルトでは、AES-256対称暗号化アルゴリズムを使用してPAM360保管庫内のすべてのパスワードと機密情報を保護し、暗号化されたデータのみをデータベースに保存します。各インストールに固有のマスター暗号化キーは自動生成され、キー生成や暗号化ロジックを含む暗号化および復号化の全プロセスはPAM360クラスファイル内で実行されます。したがって、データの暗号化と復号化のライフサイクル全体はPAM360内で実行されます。

PAM360は、デフォルトの暗号化方式に加えて、暗号化および復号化方式をカスタマイズできるカスタム暗号化もサポートしています。PMPEncryptDecrypt Javaインターフェースを実装し、そのセッターおよびゲッターメソッド内で独自の暗号化キーとロジックを使用することで、これを実現できます。したがって、PAM360はデータのセキュリティ保護に関して、より高い柔軟性と制御性を提供します。

メモ:

カスタム暗号化を設定する前に、PAM360フォルダとpam360_key.keyファイルの完全なバックアップを作成してください。データベースサーバーが別のマシンでホストされている場合は、PAM360データベース全体をコピーしてください。この予防措置は、設定プロセス中に問題が発生した場合にデータ損失を防ぐために非常に重要です。

本書では以下にトピックについて説明します:

  1. 個人パスワードの管理
  2. PAM360でカスタム暗号化を実装する手順

1.個人パスワードの管理

お客様または組織内の他のユーザーが、PAM360の個人用パスワードの管理機能において、個人用暗号化キー(PAM360内には保存されません)を指定するオプションを利用していた場合、カスタム暗号化の設定を行うと、パーソナルタブに保存されているデータが失われ、後から復元できなくなりますのでご注意ください。したがって、ユーザーはカスタム暗号化設定を行う前に、パーソナルタブの(パスワードの)エクスポートオプションを使用することをお勧めします。

custom_cryptography_1

2.PAM360でカスタム暗号化を実装する手順

既存のPAM360インストール環境にカスタム暗号化を実装するには、独自の暗号化ロジックを実装するクラスを作成し、それを実行する必要があります。実装手順の詳細は以下のとおりです。

  1. 独自の実装クラスを作成します。
    1. PMPEncryptDecrypt.javaインターフェースを実装するクラスを作成し、独自の暗号化および復号化ロジックを定義します。
    2. 詳細については、この文書を参照してください。

      メモ:

      1. クラス内の generateCryptographicKey() メソッドは、呼び出されるたびに新しい 32 ビット キーを生成して返す必要があり、getPmp32BitKey() メソッドは最後に生成された 32 ビット キーを返す必要があります。
      2. getMSSQLMasterKey() は、MSSQL Always-On クラスターをバックエンドデータベースとしてセットアップする際に使用された、データベースマスター暗号化キーを返すべきです。戻り値が null または空文字列である場合、クラスターレベルノードの切り替え処理は行われません。

      メモ:

      • getMSSQLMasterKey()メソッドが正しく実装されていることを確認してください。PAM360 Build 8100 以降、このメソッドによって返されるキーは、<PAM360-Installation-Directory>/conf/masterkey.key ファイルに保存され、暗号化に使用されます。
      • PAM360 Build 8100では、既存のメソッドの一部が非推奨となり、まもなく利用できなくなります。さらに、PAM360における全体的なセキュリティと暗号化処理を強化するための新しい手法が導入されました。
  2. 実装クラスをアーカイブします。
    1. 実装クラスを.jarファイル(例:SampleEncryption.jar)に変換します。
    2. .jar ファイルを <PAM360-Installation Directory>/lib フォルダに移動します。
  3. 次のステップに進む前に、PAM360サーバーを停止してください。
  4. 暗号化移行スクリプトを実行します。
    1. シナリオ1:高可用性/フェールオーバーサービスが設定されていない
      1. <PAM360_Installation_Directory>\bin フォルダにある MigrateCryptography.bat スクリプトを実行し、実装クラスを引数として渡してください。
      2. スクリプトの使用方法:MigrateCryptography.bat com.org.crypto.SampleEncryptDecrypt
    2. シナリオ2:高可用性/フェールオーバーサービスが設定されている
      1. セカンダリサーバーを停止してアンインストールしてください。
      2. MigrateCryptography.bat を実行して、プライマリサーバーでカスタム暗号化を設定します。
      3. PAM360の新規セカンダリインスタンスをインストールします。
      4. 高可用性/フェールオーバーサービスを再構成します。HAPack.zipまたはFOSPack.zipはカスタム暗号jarに含まれます。
  5. pmped.confファイルにカスタム暗号化を追加します。
    1. <PAM360-Installation_Directory>/conf フォルダ内にある pmped.conf ファイルを開いてください。
    2. ファイル内のEDCLASSエントリを探し、以下に指定するエントリをその横に追加してください。
      1. EDCLASS=com.adventnet.passtrix.ed.PMPEncryptDecryptImpl
        EDJARS=MyOwnEncDecImpl1.jar,MyOwnEncDecImpl2.jar
      2. ここで、MyOwnEncDecImpl1.jarMyOwnEncDecImpl2.jarは、暗号化関連のサンプルjarファイルです。必要に応じてJARファイルの名前を変更し、1つ以上のJARファイルをカンマ区切り形式で指定してください。
    3. サードパーティ製のJARファイルを使用している場合は、それらを先に記述し、その後に自身の実装クラスを記述してください。
  6. 変更を適用してこの実装を有効にするには、PAM360サーバーを起動してください。