前のトピック: 完全なパスワード認証次のトピック: One-Time パスワード認証


部分パスワード認証

AuthMinder は、部分パスワードによる認証に対応しています。この機能を有効にした場合、ユーザはパスワード中の異なる位置の文字を入力するように求められます。 たとえば、パスワードが「casablanca!」である場合に、1、3、および 8 の位置の文字の入力を求められます。この場合は、「csn」となります。

このセクションでは、部分パスワード認証の実行に関する以下のトピックについて説明します。

リクエスト メッセージの準備

部分パスワード認証では、以下のリクエスト メッセージを準備する必要があります。

チャレンジの取得

ユーザのパスワード チャレンジを AuthMinder サーバから取得するには、GetPasswordchallengeRequestMessage を使用します。 以下の表に、このメッセージの要素のリストを示します。

要素

必須

説明

clientTxnId

いいえ

呼び出し元アプリケーションが含めることができる一意のトランザクション識別子を指定します。 この識別子は、関連するトランザクションの追跡に役立ちます。

userName

はい

ユーザの一意の識別子。

orgName

いいえ

ユーザが属する組織の名前。

additionalInput/pairs

いいえ

AuthMinder の additionalInput 要素を使用すると、追加情報を指定して AuthMinder の認証機能を拡張したい場合に、追加入力を設定できます。 その場合、名前と値のペアで追加情報を設定する必要があります。

  • name (作成するキー ペアの名前)
  • value (名前に対応する値)

    注: これらの要素は複数追加できます。

事前定義済みの追加入力パラメータの一部を以下に示します。

  • AR_WF_LOCALE_ID
    呼び出し元アプリケーションにメッセージを返す際に AuthMinder で使用するロケールを指定します。
  • AR_WF_CALLER_ID
    トランザクションの追跡に役立ちます。 この情報は、セッション ID またはクライアント トランザクション ID (clientTxnId)を使用して指定できます。

パスワードの確認

ユーザが入力したパスワードを確認するには、VerifyPasswordRequestMessage を使用します。 以下の表に、このメッセージの要素のリストを示します。

要素

必須

説明

clientTxnId

いいえ

呼び出し元アプリケーションが含めることができる一意のトランザクション識別子を指定します。 この識別子は、関連するトランザクションの追跡に役立ちます。

userName

はい

ユーザの一意の識別子。

orgName

いいえ

ユーザが属する組織の名前。

パスワード

はい

ユーザが入力したパスワード。

tokenType

いいえ

認証が成功した後に、AuthMinder サーバから受け取る認証トークンのタイプ。 詳細については、「認証トークンの検証」を参照してください。

challengeID

いいえ

AuthMinder サーバによって返されたチャレンジの一意の識別子。

注: 部分パスワードの確認では、challengeID が必要です。

additionalInput/pairs

いいえ

AuthMinder の additionalInput 要素を使用すると、追加情報を指定して AuthMinder の認証機能を拡張したい場合に、追加入力を設定できます。 その場合、名前と値のペアで追加情報を設定する必要があります。

  • name (作成するキー ペアの名前)
  • value (名前に対応する値)

    注: これらの要素は複数追加できます。

事前定義済みの追加入力パラメータの一部を以下に示します。

  • AR_WF_LOCALE_ID
    呼び出し元アプリケーションにメッセージを返す際に AuthMinder で使用するロケールを指定します。
  • AR_WF_CALLER_ID
    トランザクションの追跡に役立ちます。 この情報は、セッション ID またはクライアント トランザクション ID (clientTxnId)を使用して指定できます。

Web サービスの起動

部分パスワード認証を実行する方法

  1. オプション) SOAP ヘッダまたは GetPasswordChallenge 操作の additionalInput 要素に認証および許可の詳細を含めます。 これらの詳細については、「Web サービス セキュリティの管理」の章を参照してください。
  2. オプション)プラグインを実装する場合は、additionalInput 要素タイプを呼び出して追加入力を指定します。
  3. GetPasswordChallengeRequestMessage を使用して、入力メッセージを作成します。
  4. ArcotWebFortAuthSvc サービスの GetPasswordchallenge 操作を呼び出して、AuthMinder サーバからチャレンジを取得します。 チャレンジには、ユーザが答える必要があるパスワードの文字位置が含まれています。
  5. ユーザのパスワードを収集するためのロジックを実装します。
  6. オプション) SOAP ヘッダまたは VerifyPassword 操作の additionalInput 要素に認証および許可の詳細を含めます。 これらの詳細については、「Web サービス セキュリティの管理」の章を参照してください。
  7. オプション)プラグインを実装する場合は、additionalInput 要素タイプを呼び出して追加入力を指定します。
  8. VerifyPasswordRequestMessage を使用して、入力メッセージを作成します。
  9. ArcotWebFortAuthSvc サービスの VerifyPassword 操作を呼び出して、ユーザが入力したパスワードを確認します。 必要に応じて、tokenType 要素を使用して、認証が成功した後にユーザに返す必要があるトークンのタイプを指定できます。

    この操作では、トランザクションの詳細、認証情報の詳細、およびトークン情報を格納した VerifyPasswordResponseMessage が返されます。

レスポンス メッセージの解釈

Q&A 認証の一部として返されるレスポンス メッセージを以下に示します。

パスワード チャレンジ取得レスポンス メッセージ

成功したトランザクションでは、GetPasswordChallengeResponseMessage レスポンス メッセージに、以下の表で説明されている要素が返されます。 これらの要素は SOAP本文に含まれます。 エラーがある場合、エラー レスポンスは SOAP 本文に含まれます。 SOAP エラー メッセージの詳細については、付録「エラー コード」を参照してください。

要素

説明

positions

ユーザがパスワードの文字を入力する必要があるパスワードの文字位置。

challengeID

AuthMinder サーバによって返されたチャレンジの一意の識別子。

transactionDetails

以下のトランザクションの詳細が含まれます。

  • message
    操作のステータスを定義する文字列。
  • reasoncode
    操作の失敗時に AuthMinder サーバが送信する一意のコード。
  • responseCode
    操作の失敗時に AuthMinder サーバが送信する一意のコード。
  • transactionID
    トランザクションの一意の識別子。
  • additionalOutput
    AuthMinder サーバに渡された additionalInput に対する出力。

パスワード確認レスポンス メッセージ

成功したトランザクションでは、VerifyPasswordResponseMessage レスポンス メッセージに、「手順 2: ArcotID PKI 認証」の「署名済みチャレンジ確認レスポンス メッセージ」で説明されている要素が返されます。 これらの要素は SOAP本文に含まれます。 エラーがある場合、エラー レスポンスは SOAP 本文に含まれます。 SOAP エラー メッセージの詳細については、付録「エラー コード」を参照してください。