MQCSP パスワード保護

MQCSP 構造で指定された認証資格情報は、 IBM® MQ MQCSP パスワード保護機能を使用して保護することも、TLS 暗号化を使用して暗号化することもできます。

IBM MQ client アプリケーションは、キュー・マネージャーに接続するときにユーザー ID とパスワードを提供できます。 [MQ 9.4.0 2024 年 6 月]IBM MQ 9.4.0から、アプリケーションは別の認証方法として認証トークンを提供することもできます。 これらの資格情報は、MQCSP 構造でキュー・マネージャーに送信されます。

チャネルが TLS 暗号化を使用している場合、MQCSP 内の資格情報は TLS 暗号仕様に従って暗号化されます。 チャネルが TLS 暗号化を使用していない場合、 IBM MQ は、これらの資格情報をネットワーク経由で送信する前に保護して、プレーン・テキストでネットワーク経由で資格情報が送信されないようにすることができます。 これらの資格情報を保護する IBM MQ 機能は、MQCSP パスワード保護と呼ばれます。

MQCSP パスワード保護が使用されている場合、MQCSP 構造内の以下のデータが保護されます。
  • パスワード ( MQCSP.AuthenticationType フィールドが MQCSP_AUTH_USER_ID_AND_PWに設定されている場合)。
  • MQCSP.AuthenticationTypeフィールドがmqcsp_auth_id_tokenに設定されている場合は、[MQ 9.4.0 2024 年 6 月]認証トークン。
重要: MQCSP パスワード保護の使用は TLS 暗号化をセットアップするよりも単純ですが、セキュアではないため、MQCSP パスワード保護はテストおよび開発の目的で役立ちます。 実動目的の場合、特にクライアントとキュー・マネージャーの間のネットワークが信頼できない場合は、TLS 暗号化の方が安全であるため、 IBM MQ パスワード保護よりも TLS 暗号化を優先して使用してください。

どの暗号化が使用されているか、およびどの程度の保護が提供されているかについて懸念がある場合は、完全な TLS 暗号化を使用する必要があります。 TLS を使用すると、アルゴリズムが公開され、 SSLCIPH チャネル属性を使用して企業に適したアルゴリズムを選択できます。

MQCSP 構造体について詳しくは、 MQCSP 構造体を参照してください。

MQCSP 構造の資格情報は、以下のすべての条件が満たされている場合に IBM MQ パスワード保護を使用して保護されます。
  • 接続の両端が IBM MQ 8.0以降を使用している。
  • チャネルが TLS 暗号化を使用していない。 チャネルにブランクの SSLCIPH 属性がある場合、または SSLCIPH 属性が暗号化を提供しない暗号仕様に設定されている場合、チャネルは TLS 暗号化を使用しません。 NULL_SHA などのヌル暗号は、暗号化を提供しません。
  • MQCSP.AuthenticationType フィールドは、 MQCSP_AUTH_USER_ID_AND_PWD または MQCSP_AUTH_ID_TOKENに設定されます。 MQCSP.AuthenticationType フィールドについて詳しくは、「 AuthenticationType」を参照してください。
  • クライアントが IBM MQ Explorer であり、ユーザー識別互換モードが有効になっていない場合。 このモードは、 IBM MQ Explorer がユーザー ID とパスワードを送信するために使用するデフォルト・モードではありません。 この条件は、 IBM MQ Explorerにのみ適用されます。

これらの条件のいずれかが満たされない場合、資格情報は MQCSP パスワード保護で保護されません。 PasswordProtection 属性の値がプレーン・テキストでの資格情報の送信を禁止しており、チャネルが TLS 暗号化を使用していない場合、接続は失敗し、MQRC_PASSWORD_PROTECTION_ERROR (2594) 理由コードが返されます。

PasswordProtection 構成設定

クライアントおよびキュー・マネージャーの構成ファイルの Channels スタンザ内の PasswordProtection 属性により、資格情報がプレーン・テキストで送信されないようにすることができます。
注: この属性は、TLS 暗号化を使用しない接続にのみ関係します。 接続で TLS 暗号化が使用されている場合、資格情報は、MQCSP パスワード保護で保護されるのではなく、TLS を使用して暗号化されます。
この属性は、以下のいずれかの値に設定できます。 デフォルト値は compatibleです。
compatible
キュー・マネージャーまたはクライアントのいずれかが IBM MQ 8.0より前のバージョンの IBM MQ を実行している場合、資格情報はプレーン・テキストで送信されます。 つまり、MQCSP パスワード保護をサポートしないバージョンの IBM MQ との互換性のために、資格情報をプレーン・テキストでネットワーク経由で送信できます。
キュー・マネージャーとクライアントの両方が IBM MQ 8.0 以降のバージョンの IBM MQ を実行している場合、資格情報は MQCSP パスワード保護によって保護されます。
キュー・マネージャーとクライアントの両方が IBM MQ 8.0 以降のバージョンの IBM MQ を実行しており、 MQCSP.AuthenticationType フィールドが MQCSP_AUTH_USER_ID_AND_PW または MQCSP_AUTH_ID_TOKENに設定されていない場合、資格情報が送信される前に接続が失敗します。
always
資格情報は、ネットワークを介して無保護で送信してはなりません。
キュー・マネージャーとクライアントの両方が IBM MQ 8.0 以降のバージョンの IBM MQ を実行している場合、資格情報は MQCSP パスワード保護によって保護されます。
以下の場合、資格情報が送信される前に接続が失敗します。
  • MQCSP.AuthenticationType フィールドが MQCSP_AUTH_USER_ID_AND_PW または MQCSP_AUTH_ID_TOKENに設定されていない。
  • キュー・マネージャーまたはクライアントのいずれかが、 IBM MQ 8.0より前のバージョンの IBM MQ を実行している。
オプション
キュー・マネージャーとクライアントの両方が IBM MQ 8.0 以降のバージョンの IBM MQ を実行しており、 MQCSP.AuthenticationType フィールドが MQCSP_AUTH_USER_ID_AND_PW または MQCSP_AUTH_ID_TOKENに設定されている場合、資格情報は MQCSP パスワード保護によって保護されます。 それ以外の場合、資格情報はプレーン・テキストで送信されます。
warn
任意のクライアントがプレーン・テキストの資格情報を送信できます。 プレーン・テキストの資格情報を受信すると、警告メッセージ AMQ9297W がキュー・マネージャーのエラー・ログに書き込まれます。
このオプションは、キュー・マネージャー構成ファイルでのみ指定できます。
Java および JMS クライアントの場合、 PasswordProtection 属性の動作は、クライアントが互換モードを使用するか MQCSP モードを使用するかによって異なります。
  • Java および JMS クライアントが互換モードで動作している場合、クライアントの接続時にユーザー ID とパスワードを送信するために MQCSP 構造体は使用されません。 したがって、 PasswordProtection 属性の動作は、 IBM MQ 8.0より前のバージョンの IBM MQ を実行しているクライアントに対して記述されている動作と同じです。
  • Java および JMS クライアントが MQCSP モードで動作している場合、 PasswordProtection 属性の動作は説明どおりの動作になります。
JavaJMSクライアントでの接続認証の詳細については、Javaクライアントでの接続認証を参照してください。
[MQ 9.4.0 2024 年 6 月]

MQCSP パスワード保護と MQIPT

クライアントが IBM MQ Internet Pass-Thru (MQIPT) を介してキュー・マネージャーに接続する場合、TLS 暗号化を追加または削除するように MQIPT 経路が構成されている可能性があります。 つまり、 MQIPT 経路が SSLServer=trueSSLClient=false、または SSLServer=trueSSLClient=falseで構成されている可能性があります。 この場合、チャネルの一方が TLS 暗号化を使用しており、もう一方が TLS 暗号化を使用していないため、クライアントとキュー・マネージャーがパスワード保護アルゴリズムに同意しない可能性があります。 これにより、接続は理由コード MQRC_PASSWORD_PROTECTION_ERROR (2594) で失敗します。

IBM MQ 9.4.0以降、 MQIPT は、TLS 暗号化を追加または削除する MQIPT 経路のクライアントとキュー・マネージャーの間の互換性を維持するために、MQCSP 構造の資格情報の保護を追加または削除できます。 MQIPT での MQCSP パスワード保護は、 PasswordProtection 経路プロパティーを使用して構成されます。

PasswordProtection プロパティーのデフォルト値は requiredです。 この値は、 MQIPT が MQCSP パスワード保護を追加することはできるが、除去することはできないことを意味します。 TLS 暗号化を追加する MQIPT 経路への接続は、この値が PasswordProtectionの理由コード MQRC_PASSWORD_PROTECTION_ERROR (2594) で失敗する場合があります。 この問題を解決するには、 MQIPT 経路構成で PasswordProtection プロパティーの値を compatible に設定します。

MQIPTPasswordProtection プロパティーについて詳しくは、 PasswordProtectionを参照してください。