You are on page 1of 3

185 ETSI TS 102 221 V17.1.

0 (2022-02)

Annex M (informative):
Examples of ODD AUTHENTICATE instruction code usage

M.1 Examples of ODD AUTHENTICATE instruction code


usage at applicative level
This clause describes the sequences on APDU level, i.e. C-APDUs are given as:

CLA INS P1 P2 {Lc DATA} {Le}

The presence of components enclosed in {…} depends on the case of the APDU.

The terminal sends some data in the object with tag '53' and the answer received by the UICC is in the object with tag
'53'. The security context used in the example is P2='00'. The challenge data is [xx … xx] and the authentication
response data is [yy … yy].

In the first example the length of the challenge data is 200 bytes ('C8' hex) and the length of the response data is
100 bytes ('64' hex).

Table M.1.1: ODD AUTHENTICATE with short data

Terminal UICC

AUTHENTICATE 00 89 80 00 Lc=CB [53 81 C8 xx … xx]


(First Block of
authentication data)
62 F3

AUTHENTICATE 00 89 A0 00 Le=00
(First Block of
authentication
response data)
[53 64 yy ... yy] 90 00

In the second example the length of the challenge data is 700 bytes ('02BC' hex) and the length of the response data is
600 bytes ('0258' hex).

ETSI
186 ETSI TS 102 221 V17.1.0 (2022-02)

Table M.1.2: ODD AUTHENTICATE with extended data

Terminal UICC

AUTHENTICATE (First 00 89 80 00 Lc=FF [53 82 02 BC xx … xx]


Block of authentication
data)
63 F1
AUTHENTICATE (Next 00 89 00 00 Lc=FF [xx … xx]
Block of authentication
data)
63 F1
AUTHENTICATE (Next 00 89 00 00 Lc=C2 [xx … xx]
Block of authentication
data)
62 F3
AUTHENTICATE (First 00 89 A0 00 Le=00
Block of authentication
response data)
[53 82 02 58 yy ... yy] 62 F1
AUTHENTICATE (Next 00 89 20 00 Le=00
Block of authentication
response data)
[yy ... yy] 62 F1
AUTHENTICATE (Next 00 89 20 00 Le=5C
Block of authentication
response data)
[yy ... yy] 90 00

M.2 Examples of ODD AUTHENTICATE instruction code


usage with transport protocol T = 0
This clause describes the sequences on APDU and TPDU level.

C-APDUs are given as:

CLA INS P1 P2 {Lc DATA} {Le}

C-TPDUs are given as:

CLA INS P1 P2 P3 {DATA}

The presence of components enclosed in {…} depends on the case of the APDU or the type of the TPDU.

This clause gives examples of the usage of the ODD AUTHENTICATE command usage with transport protocol T = 0.
The first example is based on the preconditions out of table M.1.1. The second example is based on the preconditions
out of table M.1.2.

ETSI
187 ETSI TS 102 221 V17.1.0 (2022-02)

Table M.2.1: ODD AUTHENTICATE with short data

Terminal UICC

AUTHENTICATE 00 89 80 00 Lc=CB [53 81 C8 xx … xx]


(First Block of
authentication data)
C-APDU:
C-TPDU: [00 89 80 00 CB]
[89] (INS)
[53 81 C8 xx … xx] (200 Data bytes)
62 F3 (SW1/2: 'Warning:
Authentication response data
available')
R-APDU: [62 F3]

AUTHENTICATE 00 89 A0 00 Le=00
(First Block of
authentication
response data)
C-APDU:
C-TPDU: [00 89 A0 00 00]
6C 66 (SW1/2: '66 bytes available')
[00 89 A0 00 66]
[53 64 yy ... yy] 90 00
R-APDU: [53 64 yy ... yy] [90 00]

ETSI

You might also like