カスタム・パスワード暗号化のプラグ・ポイントの使用可能化

パスワードの保護は 2 つのプロパティーで制御されます。 この 2 つのプロパティーを 構成することで、カスタム・パスワード暗号化のプラグ・ポイントを有効にすることができます。

事前処理

com.ibm.wsspi.security.crypto.CustomPasswordEncryption インターフェースを示すサンプル・コードを参照してください。

このタスクの概要

暗号化方式は、カスタム・クラスが構成され、カスタム暗号化が使用可能にされるごとに、 パスワード処理のために呼び出されます。 暗号化解除メソッドは、カスタム・クラスが構成され、パスワードに {が含まれている場合に呼び出されます。custom:alias} タグ。 このcustom:aliasタグは暗号化解除の前に除去されます。

手順

  1. カスタム・パスワード暗号化を使用可能にするには、次の 2 つのプロパティーを構成する必要があります。
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionClass - com.ibm.wsspi.security.crypto.CustomPasswordEncryption パスワード暗号化インターフェースを実装するカスタム・クラスを定義します。
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled - デフォルトのパスワード処理にカスタム・クラスを使用する場合を定義します。 passwordEncryptionEnabled オプションが指定されていない場合、または次のように設定されている場合false, and the passwordEncryptionClass class is specified, the decryption method is called whenever a {custom:alias} タグはまだ構成リポジトリーに存在します。
  2. [AIX Solaris HP-UX Linux Windows] カスタム・パスワード暗号化を構成するには、以下の両方のプロパティーを構成します。server.xml
    この構成の実行方法は、既存のディレクトリー構造によって決まります。 以下のいずれかの方法を選択して、この構成を実行します。
    • カスタム暗号化クラス (com.acme.myPasswordEncryptionClass) を、以下の場所にある Java アーカイブ (JAR) ファイルに配置します。${WAS_INSTALL_ROOT}/classes このケースでは、以下を作成しました。${WAS_INSTALL_ROOT}/classesこの目的のためのディレクトリー。
      注: WebSphere® Application Server では、${WAS_INSTALL_ROOT}/classesdirectory.
    • カスタム暗号化クラス (com.acme.myPasswordEncryptionClass) を、以下の場所にある Java アーカイブ (JAR) ファイルに配置します。${WAS_HOME}/lib/extディレクトリーまたは別の有効な既存のディレクトリー。
    パスワードを含むすべての構成文書 (security.xmlまた、 RunAs パスワードを含むすべてのアプリケーション・バインディングは、すべてのパスワードがカスタム暗号化クラスで暗号化される前に保存する必要があります。
  3. [IBM i] カスタム・パスワード暗号化を構成するには、以下の両方のプロパティーを構成します。security.xml。 カスタム暗号化クラス (com.acme.myPasswordEncryptionClass) は、以下の Java™ アーカイブ (JAR) ファイルに配置する必要があります。${APP_SERVER_ROOT}/classesすべての WebSphere Application Server プロセスのディレクトリー。 パスワードを含むすべての構成文書 (security.xmlまた、 RunAs パスワードを含むすべてのアプリケーション・バインディングは、すべてのパスワードがカスタム暗号化クラスで暗号化される前に保存する必要があります。 以下のようなクライアント・サイドのプロパティー・ファイルの場合:sas.client.propsandsoap.client.props、以下を使用します。PropFilePasswordEncoder.batまたはPropFilePasswordEncode.shカスタム処理を有効にするためのスクリプト。 このスクリプトは、スクリプトの Java コマンド行でシステム・プロパティーとして構成された 2 つのプロパティーを持っている必要があります。 カスタム・パスワード暗号化が使用可能になっている場合は、エンコードおよびデコードに使用されるのと同じツールを、暗号化および暗号化解除に使用することができます。
  4. カスタム実装クラスがデフォルトの com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl インターフェースで、このクラスがクラスパス内に存在している場合、暗号化はデフォルトで使用可能になります。 これにより、すべてのノードの使用可能化が単純化されます。 カスタム実装に必要なもの以外のプロパティーを定義する必要はありません。 暗号化は使用不可にするが、暗号化解除にこのクラスを使用する場合は、以下のクラスを指定します。
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false

次の作業

カスタム暗号化クラスの暗号化操作が呼び出され、それが実行時例外または定義された PasswordEncryptException 例外を生成するときはいつでも、ランタイムは、{暗号化操作}を使用します。 WebSphere Application Server を使用しますxorパスワードをエンコードするための} アルゴリズム。 このエンコードによって、パスワードがプレーン・テキストで保管されるのを防ぎます。 カスタム・クラスに伴う問題が解決された後、構成文書を次に保存するときに、パスワードは自動的に暗号化されます。

RunAs ロールにユーザー ID とパスワードが割り当てられている場合、そのロールは現在、 WebSphere Application Server エンコード機能を使用してエンコードされています。 したがって、パスワードを暗号化するようにカスタム・プラグ・ポイントを構成すると、そのパスワードは RunAs バインディング用にも暗号化されます。 デプロイされたアプリケーションが、同一の暗号鍵を持たないセルに移動された場合や、カスタム暗号化がまだ使用可能になっていない場合は、パスワードを読み取ることができないため、ログインに失敗します。

カスタム・パスワード暗号化をインプリメントする場合は、暗号鍵を管理する責任があります。 このクラスは、暗号化された任意のパスワードを暗号化解除する必要があります。 パスワードの暗号化解除に失敗すると、そのパスワードは使用できなくなり、構成でパスワードを変更することが必要となります。 それらの暗号鍵を使用するパスワードがなくなるまで、すべての暗号鍵を暗号化解除に使用できる必要があります。 カスタム・パスワード暗号化クラスによってマスター秘密を保守し、暗号鍵を保護する必要があります。

マスター秘密は鍵ストアの stash ファイルを使用するか、パスワード・ロケーターを使用して管理することができます。 パスワード・ロケーターは、カスタム暗号化クラスを使用可能にしてパスワードを位置指定し、そのパスワードをロックできるようにします。