AAL2DeriveTokenBlobsICSF
  • 22 Jan 2025
  • 4 Minutes à lire
  • Sombre
    Lumière
  • PDF

AAL2DeriveTokenBlobsICSF

  • 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

aat_int32 AAL2DeriveTokenBlobsICSF (
                                TDigipassBlob*     DPData[8],
                                aat_int16          Appl_Count,
                                TKernelParms*      CallParms,
                                aat_ascii*         aStorageKeyNameIn,
                                aat_ascii*         aInitialVectorIn,
                                aat_ascii*         Challenge,
                                aat_ascii*         Derivationcode,
                                aat_word32         DerivationCodeFormat);

Description

This function derives the Digipass data of a software Digipass authenticator based on the Digipass SDK 4.0 or later.

Digipass data derivation is allowed only for applications supporting the feature (Call the AAL2GetTokenProperty function with property DERIVATION_SUPPORTED to check if a authenticator application supports the feature).

If supported by the software Digipass authenticator, this feature is used to bind a software Digipass authenticator with its hosting device. In this case, during the activation process, the software Digipass authenticator can create a diversifier based on a device’s fingerprint and can provide a derivation code based on the diversifier, an OTP, and an optional challenge.

AAL2DeriveTokenBlobsICSF allows applying the derivation to the authenticator application BLOBs on the server-side.

When reactivating the same Digipass authenticator on another device, the Digipass data must be derived again on the server-side using AAL2DeriveTokenBlobsICSF with the new derivation code. The Digipass instance on the old device will not work anymore.

The derivation code is validated using the first authenticator application BLOB of the authenticator application BLOB table (DPData) input parameter. This first authenticator application BLOB MUST match the authenticator application used for generating the derivation code on the client. This first authenticator application BLOB MUST support either Response-Only or Challenge/Response authentication.

For example, it means that when the application named AUTH_APP1 is used for generating the derivation code on the client-side, the first authenticator application BLOB must relate to the AUTH_APP1 application.

Application names are exposed during import process.

In addition, the derivation will fail if one or more authenticator application BLOB does not support the derivation feature.

Score-based Digipass

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

Parameters

  Table: Parameters (AAL2DeriveTokenBlobsICSF)
TypeNameUseDescription
TDigipassBlob * [8]DPDataI/OArray of authenticator application BLOB pointers. Upon return from the function call, these BLOBs must be rewritten to the application database to reflect the changes.
aat_int16Appl_countINumber of applications in the authenticator application BLOB array. (1 to 8)
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 *ChallengeI

String of up to 17 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 the derivation code (if the first authenticator application BLOB is a Challenge/Response application).

If no challenge is used to generate the derivation code, this parameter must be NULL.

aat_ascii *DerivationCodeI

String of up to 27+1 decimal or hexadecimal characters, null-terminated. This is the derivation code generated by the Digipass device.

This derivation code can contain hexadecimal characters if the OTP response output is hexadecimal.

aat_word32DerivationCodeFormatIReserved. Must be set to 0.

COBOL calling convention

Entry point: AA2DTBIC
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-BLOB-TABLE.
     03  W-BLOB                PIC X(248) OCCURS 8.
02   W-BLOB-PTR-TABLE.
     03  W-BLOB-PTR            USAGE POINTER OCCURS 8.
02   W-APPL-COUNT              PIC S9(4).
02   W-CHALLENGE               PIC X(17).
02   W-DERIVATION-CODE         PIC X(28).
02   W-STORAGEKEY              PIC X(65).
02   W-INITVECTOR              PIC X(17).
02   W-RETURN                  PIC S9(8) USAGE BINARY.
02   W-DERIVATION-FMT          PIC S9(8) USAGE BINARY.
02   W-API-NAME                 PIC X(8) VALUE 'AA2DTBIC'.
. . .
     SET W-BLOB-PTR(n) TO ADDRESS OF W-BLOB(n).
     CALL W-API-NAME USING
           BY REFERENCE W-BLOB-PTR-TABLE
           BY VALUE W-APPL-COUNT
           BY REFERENCE W-KERNELPARMS
           BY REFERENCE W-STORAGEKEY
           BY REFERENCE W-INITVECTOR
           BY REFERENCE W-CHALLENGE
           BY REFERENCE W-DERIVATION-CODE
           BY VALUE W-DERIVATION-FMT
           RETURNING W-RETURN

Return codes

  Table:  Return codes (AAL2DeriveTokenBlobsICSF)
CodeMeaningCodeMeaning
0Success908HSM key not found
10001Success with context warning*951Invalid HSM key type for HSM decryption
10002Success with user warning*1000Function does not support EMV-CAP
10003Success with user & context warning*1039Invalid response length with DP algorithm
10004Success with platform warning*1040Invalid host code length with DP algorithm
10005Success with platform & context warning*1103Unlock Version 2 not supported
10006Success with platform & user warning*1109Invalid derivation code
10007Success with platform & user & context warning*1110Invalid derivation code pointer
1Code not verified1111Invalid derivation code length
130Invalid response pointer1112Invalid character in derivation code
131Missing required challenge1113Derivation code check digit is wrong
132Unsupported token type1114Invalid derivation code format parameter
140Challenge corrupted1118Unsupported BLOB
201Code replay attempt-101Challenge too short
202Identification error threshold reached-102Challenge too long
205Inactive days reached-103Challenge check digit wrong
208Application disabled-105Challenge minimum length not allowed
412Invalid checksum (software)-106Challenge maximum length not allowed
413Invalid Base64 format-107Challenge number wrong
414Invalid checksum (HSM)-108Challenge character invalid
510Invalid Digipass data pointer-201Response length out of bounds
600Invalid Gordian root information-202Response too short
601Invalid Gordian today information-203Response too long
602Invalid Gordian tomorrow information-205Response character not decimal
603Invalid Gordian stimulus information-206Response character not hexadecimal
807Serial number not equal-207Response character set not specified
808Invalid application count value-1501Memory allocation failed
900Invalid session context handle  

* Specific score-based authentication codes; for more information, refer to Score-based Digipass.


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

What's Next
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