AAL2VerifyPasswordICSF
  • 23 Jan 2025
  • 4 Minutes à lire
  • Sombre
    Lumière
  • PDF

AAL2VerifyPasswordICSF

  • Sombre
    Lumière
  • PDF

The content is currently unavailable in French. You are viewing the default English version.
Résumé de l’article

Function prototype (aal2sdk.h)

aat_int32 AAL2VerifyPasswordICSF (
                               TDigipassBlob*   DPBlob,
                               TKernelParms*    CallParms,
                               aat_ascii*       aStorageKeyNameIn,
                               aat_ascii*       aInitialVectorIn,
                               aat_ascii*       aResponseIn,
                               aat_ascii*       aChallengeIn,
                               aat_ascii*       ReturnHostCode,
                               aat_int32*       ReturnHostCodeLength);

Description

The AAL2VerifyPasswordICSF function performs Digipass owner's authentication by controlling if a given Digipass-generated dynamic password is valid for a specified Digipass described by its application BLOB DPBlob. Optionally, the previously generated Challenge is also passed to this function.

Retrurn host code

In addition, a new feature is present that allows a client to authenticate back the Host server that validated the dynamic password.

It facilitates a two way authentication process. The server validates the user's dynamic password and returns a host code as an acknowledgement that the user is able to verify on its Digipass.

This allows the end user to be sure that the host server is the correct one. This function is particularly useful for web implementations.

GO1 integration

This function can also be used for static PIN management for Digipass GO 1 or Digipass GO 3. In this case a password could have different appearances as in the examples below:

  • No static PIN - Regular password authentication request 89574526
  • Static PIN - Same authentication request in combination with static PIN usage 123489574526, the static PIN is entered before the dynamic password, the AAL2VerifyPasswordICSF function will evaluate static PIN and dynamic password in sequence.
  • Static PIN Change - Same authentication request in combination with static PIN usage and a request for PIN change 12348957452643214321. The static PIN is entered before the dynamic password and both New PIN + New PIN confirmation are entered after. The AAL2VerifyPasswordICSF function will evaluate static PIN and dynamic password in sequence then process for a PIN change.

This function allows the customer to address the HSM storage key by name and to specify an initial vector. The initial vector is used during the 3DES/AES decryption/encryption of the sensitive data of the authenticator application BLOB.

Score-based Digipass

For Digipass devices that integrate the score-based algorithm, Authentication Suite Server SDK performs a score-based authentication which allows retrieving the Digipass scoring value. Once Authentication Suite Server SDK has successfully validated the password, it returns either SUCCESS or SUCCESS with the relevant scoring warning code. See the list of return codes in Table: Return codes (AAL2VerifyPasswordICSF) for more details.

Parameters

The memory management of the output parameters must be performed by the calling function.

  Table: Parameters (AAL2VerifyPasswordICSF)
TypeNameUseDescription
TDigipassBlob *DPBlobI/Oauthenticator application BLOB.
TKernelParms *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii *aStorageKeyNameInIString of up to 64+1 characters, left-justified, null-terminated, or right-padded with spaces. This is the label of the ICSF storage key used to encrypt the sensitive Digipass application BLOB data.
aat_ascii *aInitialVectorInIString of 16 hexadecimal characters, left-justified, null-terminated, or right-padded with spaces. This is the initial vector used to encrypt the sensitive authenticator application BLOB data.
aat_ascii *aResponseInIUp to 16+24+1 numeric or hexadecimal characters, left justified, null terminated or right padded with spaces. This is the dynamic password generated by the Digipass.
aat_ascii *aChallengeInI

 

Up to 16+1 numeric characters, left justified, null terminated or right padded with spaces. This parameter holds the challenge that may have been proposed to the user to generate CodeToVerify.

If no challenge was generated, this parameter should be NULL.

aat_ascii *ReturnHostCodeOString of 7 or 8 numeric characters which the user needs to enter into the Digipass authenticator to unlock it (recommended buffer size is 9 bytes).
aat_int32 *ReturnHostCodeLengthOPointer to a long integer that will contain the length of the return host code which has been generated.

COBOL calling convention

Entry point: AA2VVPIC
02   W-BLOB            PIC X(248).
02   W-KERNELPARMS.
     03  W-PARMCOUNT   PIC 9(8) USAGE BINARY.
     03  W-PARM01      PIC 9(8) USAGE BINARY.
     . . .
     03  W-PARM19      PIC 9(8) USAGE BINARY.
02   W-HOSTCODE        PIC X(17).
02  W-HOSTCODE-LENGTH PIC 9(8) USAGE BINARY.
02   W-RETURN          PIC S9(8) USAGE BINARY.
02   W-PASSWORD        PIC X(17).
02   W-CHALLENGE       PIC X(17).
02   W-STORAGEKEY      PIC X(65).
02   W-INITVECTOR      PIC X(17).
02   W-API-NAME        PIC X(8) VALUE 'AA2VVPIC'.
. . .
     CALL W-API-NAME USING
           BY REFERENCE W-BLOB
           BY REFERENCE W-KERNELPARMS
           BY REFERENCE W-STORAGEKEY
           BY REFERENCE W-INITVECTOR
           BY REFERENCE W-PASSWORD
           BY REFERENCE W-CHALLENGE
           BY REFERENCE W-HOSTCODE
           BY REFERENCE W-HOSTCODE-LENGTH
           RETURNING W-RETURN

Return codes

  Table:  Return codes (AAL2VerifyPasswordICSF)
CodeMeaningCodeMeaning
0Success802Change password mandatory
1000Success with context warning *803New password too short
1000Success with user warning *804New password too long
1000Success with user & context warning *900Invalid session context handle
1000Success with platform warning *908HSM key not found
1000Success with platform & context951Invalid HSM key type for HSM decryption
1000Success with platform & user warning *1039Invalid response length with DP algorithm
1000Success with platform & user & context1040Invalid host code length with DP algorithm
1Code not verified1103Unlock Version 2 not supported
2Static password validation failed1116Response check digit not allowed
130Invalid response pointer1117Challenge check digit not allowed
131Missing required challenge1118Unsupported BLOB
132Unsupported token type-101Challenge too short
140Challenge corrupted-102Challenge too long
201Code replay attempt-103Challenge check digit wrong
202Identification error threshold reached-105Challenge minimum length not allowed
205Inactive days reached-106Challenge maximum length not allowed
208Application disabled-107Challenge number wrong
412Invalid checksum (software)-108Challenge character invalid
413Invalid Base64 format-201Response length out of bounds
414Invalid checksum (HSM)-202Response too short
510Invalid Digipass data pointer-203Response too long
600Invalid Gordian root information-204Response check digit wrong
601Invalid Gordian today information-205Response character not decimal
602Invalid Gordian tomorrow information-206Response character not hexadecimal
603Invalid Gordian stimulus information-207Response character set not specified

* Specific score-based authentication codes; see  Score-based Digipass.


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle