Command APDU structure
2011. 9. 28. 16:46ㆍIT관련
반응형
Contents of command APDU
일반적으로 Command APDU는 위 표와 같이 구성된다. 특히 Header 부분은 mandatory이며, Body는 optional이다.
위 항목으로 나올 수 있는 APDU는 총 4가지가 된다.
Class of APDUs
이런 Command APDU에 좀더 구체적인 의미를 부여하기 위해서는 아래와 같이 APDU의 각 Content를 정의한다.
Coding of Instruction Byte of the Commands for a telecom application
여기서 CLA를 보면 대부분 0X, 혹은 8X로 되어 있는 것을 볼 수 있다.
이에 대한 사항은 ETSI 102.221의 Table 10.3을 확인해 볼 필요가 있다.
Coding of class byte for standard logical channels
즉, 위의 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.
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 |