Application protocol data unit
No contexto de cartões inteligentes, uma application protocol data unit (APDU), em português unidade de dados de protocolo de aplicativo, é a unidade de comunicação entre um leitor de cartão inteligente e um cartão inteligente. A estrutura da APDU é definida pela ISO/IEC 7816-4 Organization, security and commands for interchange (Organização, segurança e comandos para intercâmbio).[1]
Par comando-resposta de mensagem APDU
editarExistem duas categorias de APDUs: comando APDUs e resposta APDUs. Um comando APDU é enviado pelo leitor para o cartão - ele contém um cabeçalho obrigatório de 4 bytes (CLA, INS, P1, P2) e de 0 a 65 535 bytes de dados. Uma resposta APDU é enviada pelo cartão para o leitor - contém de 0 a 65 536 bytes de dados e 2 bytes de status obrigatórios (SW1, SW2).
Comando APDU | ||
---|---|---|
Nome do campo | Tamanho (bytes) | Descrição |
CLA | 1 | Classe de instrução - indica o tipo de comando, por exemplo interindústrial ou proprietário |
INS | 1 | Código de instrução - indica o comando específico, por exemplo "gravar dados" |
P1-P2 | 2 | Parâmetros de instrução para o comando, por exemplo offset (deslocado) para o arquivo no qual os dados serão gravados |
Lc | 0, 1 ou 3 | Codifica o número (Nc) de bytes de dados de comando para o seguinte
0 bytes denota Nc=0 |
Dados de comando | Nc | Nc bytes de dados |
Le | 0, 1, 2 or 3 | Codifica o número máximo (Ne) de bytes de resposta esperados
0 bytes denota Ne=0 |
Resposta APDU | ||
Dados de resposta | Nr (no máximo Ne) | Dados de resposta |
SW1-SW2 (Trailer de resposta) |
2 | Estado de processamento do comando, por exemplo 90 00 (hexadecimal) indica sucesso |
Referências
- ↑ «ISO/IEC 7816-4:2005 Identification cards — Integrated circuit cards — Part 4: Organization, security and commands for interchange». Iso.org. 3 de outubro de 2008. Consultado em 27 de janeiro de 2012