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

パスワードの保護は 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 に設定され、 さらに passwordEncryptionClass クラスが指定されている場合は、構成リポジトリーに {custom:alias} タグがまだ存在していると、必ず暗号化解除メソッドが呼び出されます。
  2. [AIX Solaris HP-UX Linux Windows][z/OS]カスタム・パスワード暗号化を構成するには、server.xml ファイルでこれらのプロパティーを両方とも構成します。 この構成の実行方法は、既存のディレクトリー構造によって決まります。 以下のいずれかの方法を選択して、この構成を実行します。
    • ${WAS_INSTALL_ROOT}/classes ディレクトリーにある Java アーカイブ (JAR) ファイル内にカスタム暗号化クラス (com.acme.myPasswordEncryptionClass) を置きます。 この場合は、この目的のために ${WAS_INSTALL_ROOT}/classes ディレクトリーを作成しています。
      注: WebSphere Application Server は、${WAS_INSTALL_ROOT}/classes ディレクトリーを作成しません。
    • ${WAS_HOME}/lib/ext ディレクトリーまたは別の有効な既存ディレクトリーにある Java アーカイブ (JAR) ファイル内にカスタム暗号化クラス (com.acme.myPasswordEncryptionClass) を置きます。
    パスワードを含むすべての構成文書 (security.xml および RunAs パスワードを含むすべてのアプリケーション・バインディング) を、カスタム暗号化クラスを使用してすべてのパスワードが暗号化される前に保存する必要があります。
  3. [IBM i]カスタム・パスワード暗号化を構成するには、security.xml ファイルでこれらのプロパティーを両方とも構成します。カスタム暗号化クラス (com.acme.myPasswordEncryptionClass) は、すべての WebSphere Application Server プロセスの ${APP_SERVER_ROOT}/classes ディレクトリーにある Java™ アーカイブ (JAR) ファイルに入れる必要があります。 パスワードを含むすべての構成文書 (security.xml および RunAs パスワードを含むすべてのアプリケーション・バインディング) を、カスタム暗号化クラスを使用してすべてのパスワードが暗号化される前に保存する必要があります。sas.client.props および soap.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 ファイルを使用するか、パスワード・ロケーターを使用して管理することができます。 パスワード・ロケーターは、カスタム暗号化クラスを使用可能にしてパスワードを位置指定し、そのパスワードをロックできるようにします。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_plugpoint_custpass_encrypt
ファイル名:tsec_plugpoint_custpass_encrypt.html