For the complete documentation index, see llms.txt. This page is also available as Markdown.

Copy of (7/30/26 Draft Version) Age Verification for ISO 18013-5 - Command 0x1202

The host uses this command to start Age Verification through mobile document transaction.

The sequence of events for transactions with device (mDOC Reader) enabled is roughly as follows.

1

Command 0x1202 is a subset of Command 0x1201. It only allows a request item, Age over 18, 21 or 25. It only supports ISO 18013-5 specification. The rest of the features are the same.

2

The device sends a response in the format below, and waits for the mDOC Holder (Apple, Android or other phones) to present a Data Engagement method, either QR Code or NFC. The data exchanged during the Data Engagement phase will be used to generate multiple keys for the encryption/decryption of mDOC messages. The ephemeral key generation algorith is defined in ISO-IEC-18013-5.

3

After the mDOC Holder presents data engagement method, the device sends Notification 0x0101 - Transaction Information Update to report the Data Engagement status. If Data Engagement phase has completed successfully, then go to the next step to handle Data Retrieval phase. Else, exit with failure.

4

The device will connect to the mDOC holder through BLE connection. The device will build the “mdoc request” message based on the settings of the command string below. The mDOC Holder will send back the “mdoc response" to the device. The device will decode the CBOR encoded response message.

5

The device will authenticate the “mdoc response" message with a pre-loaded certificate. The device will verify the SHA-256 hash of all the response items to validate the Data integrity. If the security validation has completed successfully, the device will send the results to the host through Notification 0x0101. Otherwise, the device will send a failure message through Notification 0x0101.

6

Host may set up the A4 TLVs to enable/disable/select the proper Audio Cue during operation.

Codes for Command 0x1201 - Read Mobile Document

AA 00                      	// marker
81 04 01 05 12 02          	// command 0x1202
84 32 12 02                	// command payload
82 01 1E                   	// timeout: 30 seconds
83 01 02                    // Verify age is Over-21
85 01 00			              // Output Data security is disabled
A3 06				                // reader options
83 01 01                   	// NFC reader is enabled 
85 01 01                   	// BCR reader is enabled
A4 1D				                // audio cue option
81 01 02			              // command mode
82 04 03B80040			        // Start engagement profile 
83 08 01B8009603700096	    // Finish engagement profile
84 08 0370009600C80096	    // BLE transfer complete profile 

Request Data for Command 0x1201- Read Mobile Document

Tag

Len

Value / Description

Typ

Req

Default

82

01

This parameter defines how long the device waits for the completion of this command..

· 0x00 = No timeout

· 0x01 to 0xFF = 1 to 255 seconds

B

R

83

01

This parameter defines the options of age verification.

· 1=18, 2=21, 3=25 years old.

· 00, 04-FF: Reserved

B

R

85

01

It defines the security of the 0xFD Data Container. If security is enabled, Data Container will be Encrypted and MACed.

· 0x00, security is disabled.

· 0x01, security is enabled.

B

R

A3

06

Device Engagement Phase Options

The parameters inside this TLV data object allow the host to enable and disable the various interfaces to start engagement.

T

R

/83

01

NFC Mode

· 0x00 = Disabled

· 0x01 = Enabled

B

R

/85

01

QR Code Mode

· 0x00 = Disabled

· 0x01 = Enabled

· 0x02 = Onboard BCR Disabled, BCR data from Tag 86

B

R

86

var

BCR data (optional / required if Tag 85 is 02)

B

0/R

A4

1D

Audio Cue option

T

R

/81

01

Device Audio Mode

0x00 = disabled

0x01 = auto

0x02 = command, the following 3 TLVs are required if the

value is 0x02

If set to 0x01 auto mode. The tone profiles are:

03B80040 // Start engagement

01B8009603700096 // Finish engagement

0370009600C80096 // BLE transfer complete

B

R

/82

04

Start engagement profile

4 bytes data parameter for each tone in the sequence

Byte0-Byte1 – Frequency in units of 1 Hz · 0x0000..0x0031 (< 50 Hz, Silent) · 0x0032 - Min (50 Hz)

Value / Description Typ Req · 0x0FA0 - Max (4000 Hz) · 0x0FA1..0xFFFF (> 4000 Hz, Error)

Byte 2-Byte3 – Duration of tone in units of 1 millisecond · 0x0001 – Min (1 ms) · 0xFFFF – Max (65535 ms)

B

O/R

/83

08

Finish engagement profile

2 set of data parameter for each tone as above

B

O/R

/84

08

BLE transfer complete profile

2 set of data parameter for each tone as above

B

O/R

Last updated