![[IBM i]](../images/iseries.gif)
パスワードのエンコードおよび暗号化
パスワードをエンコードすることによって、不注意にサーバー構成およびプロパティー・ファイル内のよるパスワード漏洩を防止することができます。
デフォルトでは、パスワードは さまざまな WebSphere® Application Server ASCII 構成ファイル内で、単純なマスキング・アルゴリズムによって自動的にエンコードされます。 さらに、Java™ クライアントおよび WebSphere Application Server の管理コマンドによって使用されるプロパティー・ファイル内のパスワードを手動でエンコードすることができます。
デフォルトのエンコード・アルゴリズムは、XOR と呼ばれます。 代替の OS400 エンコード・アルゴリズムは、 固有の検証リスト (*VLDL) オブジェクトのみを活用する WebSphere Application Server for IBM® i で使用できます。 OS400 アルゴリズムを使用すると、パスワードは暗号化された形式で検証リスト内に保管されます。 構成ファイルには、XOR アルゴリズムの場合に行われるように、 マスクされたパスワードの代わりに、保管されたパスワードへの索引が含まれます。
{algorithm}encoded_password
ここで、{algorithm} は、
パスワードのエンコードに使用するアルゴリズムを
指定するタグで、XOR または OS400 のいずれかになります。
encoded_password 変数は、エンコードされたパスワードの値です。
サーバーまたはクライアントは、パスワードをデコードする必要がある場合、
タグを使用してどのアルゴリズムを使用するかを決定し、
そのアルゴリズムを使用して、エンコードされているパスワードをデコードします。Java クライアントは、sas.client.props ファイルからパスワードを使用します。このファイルは profile_root/properties ディレクトリーにあります。
Java クライアントでパスワードのエンコードを使用するには、PropFilePasswordEncoder ツールを 使用して、パスワードを手動で sas.client.props ファイル内にエンコードする必要があります。
WebSphere Application Server の管理コマンドは、soap.client.props ファイルからパスワードを使用します。このファイルは、profile_root/properties ディレクトリーにもあります (SOAP 接続の場合)。 一部の管理コマンドは、オプションで sas.client.props ファイルからパスワードを使用します。 このファイルは、profile_root/properties にあります (Remote Method Invocation (RMI) 接続の場合)。管理コマンドで パスワードのエンコードを使用するには、PropFilePasswordEncoder ツールを 使用して、soap.client.props ファイル および sas.client.props ファイル内のパスワードを、 手動でエンコードする必要があります。
OS400 パスワード・エンコード・アルゴリズムを使用する場合を考慮する際の問題
- Java クライアント・アプリケーションまたは WebSphere Application Server をホストしているシステムで使用するために、オペレーティング・システムの値 QRETSVRSEC を 1 に設定する必要があります。
この設定により、WebSphere Application Server は、暗号化されたパスワードを検証リストから検索することができます。
重要: システム値 QRETSVRSEC は、 オペレーティング・システム上にあるすべての検証リスト内の暗号化されたデータへのアクセスに影響を与えます。 この設定がオペレーティング・システムのセキュリティー・ポリシーと矛盾する場合は、 OS400 パスワード・エンコード・アルゴリズムを使用しないでください。
- サーバー・インスタンスで OS400 アルゴリズムを使用できるのは、WebSphere Application Server の管理ドメイン内のすべてのサーバー・インスタンスが同じ IBM i システム上にある場合だけです。
以下の関連した問題を考えてみます。
- WebSphere Application Server の管理ドメインは、複数の IBM i システムにわたって拡張できます。 OS400 パスワード・アルゴリズムを使用できるのは、 管理ドメイン内のすべてのサーバーが同じ IBM i システム上にある場合だけです。
- サーバー構成 XML ファイルには、エンコードされたパスワードが含まれています。 XML ファイルに含まれているパスワードが OS400 エンコード・アルゴリズムを使用してエンコードされている場合、 これらのエンコードは、パスワードが最初にエンコードされたのと同じ IBM i システム上にある Application Server プロファイルにのみ有効です。OS400 エンコード・アルゴリズムを使用してエンコードされたパスワードが含まれている構成ファイルのコピーを使用して、他の IBM i システム上のサーバーを構成することはできません。
- 管理ドメイン内のすべてのサーバー・インスタンスは、 同じ固有の検証リスト (*VLDL) オブジェクトを使用して構成する必要があります。
- Java クライアントの場合は、いずれの IBM i システムでも OS400 パスワード・アルゴリズムを使用できます。 ただし、Java クライアントをホストしているシステムにオプション 1 をインストールする必要があります。
- OS400 エンコード・アルゴリズムを使用したパスワードのエンコード中にエラーが発生した場合は、 パスワードのエンコードに XOR エンコード・アルゴリズムが使用されます。 管理者が検証リスト・オブジェクトを手動で作成し、IBM i QEJB ユーザー・プロファイルの検証リスト・オブジェクトに付与した権限が不十分であった場合は、エラーが発生することがあります。