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).

Par comando-resposta de mensagem APDU Existem 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 1 byte com um valor de 1 a 255 indica Nc com o mesmo valor 3 bytes, o primeiro dos quais deve ser 0, denota Nc no intervalo de 1 a 65 535 (todos os três bytes podem não ser zero) 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 1 byte no intervalo de 1 a 255 indica que o valor de Ne ou 0 indica Ne= 256 2 bytes (se Lc estendido estava presente no comando) no intervalo de 1 a 65 535 denota Ne desse valor ou dois bytes zero indicam 65 536 3 bytes (se Lc não estava presente no comando), o primeiro dos quais deve ser 0, denota Ne da mesma maneira que Le de dois bytes 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

Ligações externas Smartcard ISOs, contents Selected list of smartcard APDU commands Selected list of SW1 SW2 Status bytes More information about APDU commands and APDU responses

Categoria:Cartões inteligentes Categoria:Normas ISO Categoria:Normas IEC