스마트 카드 응용 프로그램 프로토콜 데이터 단위
Smart card application protocol data unit스마트 카드의 맥락에서 애플리케이션 프로토콜 데이터 단위(APDU)는 스마트 카드 리더와 스마트 카드 사이의 통신 단위다. APDU의 구조는 ISO/IEC 7816-4 조직, 보안 및 상호교환을 위한 명령에 의해 정의된다.[1]
APDU 메시지 명령-응답 쌍
APDU에는 명령 APDU와 응답 APDU의 두 가지 범주가 있다. APDU 명령은 판독기에 의해 카드에 전송되며, 여기에는 필수 4바이트 헤더(CLA, INS, P1, P2)와 0 ~ 65 535바이트의 데이터가 포함되어 있다. 응답 APDU는 0 ~ 65 536바이트의 데이터와 2개의 필수 상태 바이트(SW1, SW2)를 포함하는 카드에 의해 판독기로 전송된다.
명령 APDU | ||
---|---|---|
필드명 | 길이(바이트) | 설명 |
CLA | 1 | 명령어 클래스 - 명령어 유형(예: 산업 간 또는 독점)을 표시 |
INS | 1 | 명령 코드 - 특정 명령어(예: "데이터 쓰기")를 나타냄 |
P1-P2 | 2 | 명령의 명령 매개 변수(예: 데이터를 쓸 파일의 오프셋) |
Lc | 0, 1 또는 3 | 다음 명령 데이터의 바이트 수(Nc)를 인코딩 0바이트는 Nc=0을 나타낸다. |
명령 데이터 | Nc | N바이트의c 데이터 |
Le | 0, 1, 2, 3 | 필요한 응답 바이트의 최대 수(Ne)를 인코딩 0바이트는 Ne=0을 나타낸다. |
대응 APDU | ||
반응 데이터 | Nr(최대 Ne) | 반응 데이터 |
SW1-SW2 (응답 트레일러) | 2 | 명령 처리 상태(예: 90 00(헥사이드십진수)는 성공을 나타냄 |
참조
- ^ "ISO/IEC 7816-4:2005 Identification cards — Integrated circuit cards — Part 4: Organization, security and commands for interchange". Iso.org. 2008-10-03. Retrieved 2012-01-27.