Command APDU structure

2011. 9. 28. 16:46IT관련

반응형
Contents of command APDU
Code Length Description Grouping
CLA 1 Class of instruction Header
INS 1 Instruction code
P1 1 Instruction parameter 1
P2 1 Instruction parameter 2
Lc 0 or 1 Number of bytes in the command data field Body
Data Lc Command data string
Le 0 or 1 Maximum number of data bytes expected in response of the command

일반적으로 Command APDU는 위 표와 같이 구성된다. 특히 Header 부분은 mandatory이며, Body는 optional이다.
위 항목으로 나올 수 있는 APDU는 총 4가지가 된다.


Class of APDUs
Case Structure
1   CLA  INS  P1  P2 
2   CLA  INS  P1  P2  Le
3   CLA  INS  P1  P2  Lc  Data
4   CLA  INS  P1  P2  Lc  Data  Le 


이런 Command APDU에 좀더 구체적인 의미를 부여하기 위해서는 아래와 같이 APDU의 각 Content를 정의한다.

Coding of Instruction Byte of the Commands for a telecom application
COMMAND CLA INS
Command APDUs

SELECT FILE 0X A4
STATUS 8X F2
READ BINARY 0X B0
UPDATE BINARY 0X D6
READ RECORD 0X B2
UPDATE RECORD 0X DC
SEARCH RECORD 0X A2
INCREASE 8X 32
RETRIEVE DATA 8X CB
SET DATA 8X DB
VERIFY 0X 20
CHANGE PIN 0X 24
DISABLE PIN 0X 26
ENABLE PIN 0X 28
UNBLOCK PIN 0X 2C
DEACTIVATE FILE 0X 04
ACTIVATE FILE 0X 44
AUTHENTICATE 0X 88, 89
GET CHALLENGE 0X 84
TERMINAL CAPABILITY 8X AA
TERMINAL PROFILE 80 10
ENVELOPE 80 C2
FETCH 80 12
TERMINAL RESPONSE 80 14
MANAGE CHANNEL 0X 70
MANAGE SECURE CHANNEL 0X 73
TRANSACT DATA 0X 75
Transmission oriented APDUs

GET RESPONSE 0X C0


여기서 CLA를 보면 대부분 0X, 혹은 8X로 되어 있는 것을 볼 수 있다.
이에 대한 사항은 ETSI 102.221의 Table 10.3을 확인해 볼 필요가 있다.

Coding of class byte for standard logical channels
b8 b7 b6 b5 b4 b3 b2 b1 Value Meaning
0 0 0 0 - - - - '0X' The coding is according to the first interindustry values of CLA byte defined in ISO/IEC 7843-4
1 0 1 0 - - - - 'AX' Coded as for '0X' unless stated otherwise
1 0 0 0 - - - - '8X' Structured as for '0X', coding and meaning is defined in the present document.
- - - - X X - - - Secure Messaging indication.
- - - - - - X X - Logical channel number from 0 to 3.

즉, 위의 b4 ~ b1의 값에 따라 'X'값이 결정이 된다. 
그런데 일반적으로는 Logical channel number로 많이 사용이 되기 때문에 CLA = 0x00, INS = 0x0A라면 logical channel 0을 이용한 SELECT FILE이라고 인식하면 된다.
CLA = 0x01, INS = 0x0A는 logical channel 1을 이용한 SELECT FILE.
CLA = 0x02, INS = 0x0A는 logical channel 2을 이용한 SELECT FILE.
CLA = 0x03, INS = 0x0A는 logical channel 3을 이용한 SELECT FILE.


반응형

'IT관련' 카테고리의 다른 글

EF DIR  (0) 2011.09.29
Response APDU structure  (0) 2011.09.28
IMSI를 이용한 IMSI_M 구하기  (0) 2011.09.28
PLMN(Public Land Mobile Network)  (0) 2011.09.23
IMSI(International Mobile Subscriber Identity)  (0) 2011.09.23