AAL2VerifyWin
  • 22 Jan 2025
  • 3 Minutes à lire
  • Sombre
    Lumière
  • PDF

AAL2VerifyWin

  • 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 AAL2VerifyWin (TDigipassBlob*     DPData,
                         TKernelParms*      CallParms,
                         aat_ascii*         Challenge,
                         TAuthParms*        WinParms);

Description

This function authenticates a Digipass owner by verifying whether an authentication response based on a standard protocol and a given Digipass dynamic password is valid for a specified authenticator application described by its authenticator application BLOB. Optionally, a previously generated challenge is also passed to this function.

AAL2VerifyWIN can be used for controlling LANMAN, NTLMv1, NTLMv2, CHAP, and MSCHAPv2 authentication responses, which are part of a LANMAN, NTLM (v1 or v2), CHAP, and MSCHAP (v1 or v2) authentication message.

In input, the TAuthParms structure may contain the response, the challenges, and user fields required to perform the validation. In output, the structure can contain the given dynamic password and its NT or LM hash. For MSCHAPv2 response validation, it can also contain the MSCHAPv2 authenticator response allowing the back-authentication of the server.

Virtual Mobile Authenticator

If Virtual Mobile Authenticator is supported for the given authenticator application BLOB, this function can be used to validate protocol-dependent authentication responses based on Virtual DIGIPASS one-time passwords.

If both backup authenticator and primary authenticator are activated, Authentication Suite Server SDK will automatically detect whether the given dynamic password is from the backup or primary Digipass authenticator.

Parameters

  Table: Parameters (AAL2VerifyWin)
TypeNameUseDescription
TDigipassBlob *DPDataI/Oauthenticator application BLOB. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes.
TKernelParms *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii *ChallengeIString of up to 17 numeric characters, left-justified, null-terminated or right-padded with spaces. This parameter holds the challenge that was proposed to the user to generate the Digipass dynamic password. This challenge can be generated by AAL2GenerateChallenge. If no challenge was generated, this parameter should be NULL.
TAuthParms *WinParmsI/OStructure of authentication parameters containing protocol-dependent challenges and responses. Upon return from the function call, this parameter may contain authenticator responses allowing the back-authentication of the server.

The TAuthParms structure contains the following information:

  Table: Authentication parameters
NameDescription
ChallengesNumber of TData structures containing authentication challenges.
ChallengeOne or more TData structures containing the type, the value, and the length of the challenge.
ResponsesNumber of TData structures containing authentication responses (should be one).
ResponseTData structure containing the type, the value, and the length of the response.
HashesNumber of TData structure set for receiving hash return values.
HashOptional TData structures containing allocated space and length for receiving hash or authenticator response return values.
  Table: Challenge types
NameValueSizeDescription
LANMAN18 bytesChallenge used for LANMAN response validation.
NTLM28 bytesChallenge used for NTLMv1 response validation.
NTLM248 bytesChallenge used for NTLMv2 response validation.
NTLM2USER8Up to 512 bytesUser name used for NTLMv2 response validation.
NTLM2DOMAIN16Up to 512 bytesDomain name used for NTLMv2 response validation.
CHAP128Up to 255 bytesChallenge used for CHAP response validation.
MSCHAP2256Up to 255 bytesUser name used for MSCHAPv2 response validation.
  Table: Response types
NameValueSizeDescription
LANMAN124 bytesLANMAN response used with the LANMAM, NTLM, or MSCHAPv1 authentication protocol.
NTLM224 bytesNTLMv1 response used with the NTLM or MSCHAPv1 authentication protocol.
NTLM2424 bytesNTLMv2 response used with the NTLM authentication protocol.
CHAP12817 bytesCHAP ID + CHAP response used with the CHAP protocol.
MSCHAP225656 bytesAuthentication challenge + peer challenge + MSCHAPv2 response used with the MSCHAPv2 protocol.
  Table: Hash types
NameValueAllocated sizeDescription
LANMAN116 bytesAllocated space for accepting 16-byte LMHash.
NTLM216 bytesAllocated space for accepting 16-byte NTHash.
DPRSP6432 bytesAllocated space for accepting 32-byte Digipass dynamic password.
MSCHAP225643 bytesAllocated space for accepting 43-byte string MSCHAPv2 authenticator response.
  Table: Summary
Response typeResponseNb of challChallenge typeChallenge
LANMAN24-byte LM digest response1LANMAN8-byte challenge
NTLM24-byte NTLMv1 digest response1NTLM8-byte challenge
 NTLM224-byte NTLMv2 digest response  3NTLM28-byte challenge
NTLM2USERUser name
NTLM2DOMAINDomain name
CHAP1-byte CHAP id + 16-byte CHAP digest response1CHAPUp to 255-byte challenge
MSCHAP216-byte authenticator challenge + 16 peer challenge + 24 MSCHAPv2 response 1MSCHAP2Up to 255-byte challenge

For LANMAN, NTLMv1, and NTLMv2, authentication responses may contain a concatenated challenge and response. In this case, the TData challenge structure could be NULL.

Return codes

  Table: Return codes (AAL2VerifyWin)
CodeMeaningCodeMeaning
0Success1000Function does not support EMV-CAP
1Code not verified1039Invalid response length with DP algorithm
130Invalid response pointer1040Invalid host code length with DP algorithm
131Missing required challenge1103Unlock Version 2 not supported
132Unsupported token type1116Response check digit not allowed
140Challenge corrupted1117Challenge check digit not allowed
201Code replay attempt1118Unsupported BLOB
202Identification error threshold reached-101Challenge too short
205Inactive days reached-102Challenge too long
208Application disabled-103Challenge check digit wrong
412Invalid checksum-105Challenge minimum length not allowed
413Invalid Base64 format-106Challenge maximum length not allowed
510Invalid Digipass data pointer-107Challenge number wrong
802Change password mandatory-108Challenge character invalid

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