Ir para o conteúdo
Idioma: PT

Um aplicativo iOS consegue ler o identificador de uma tag?

Sim, por uma sessão de tag. As tags MIFARE, ISO 7816 e ISO 15693 expõem uma propriedade identifier, o identificador de hardware único em ordem de bytes big endian, e uma tag FeliCa expõe o IDm dela. Uma sessão NDEF não dá identificador nenhum. Em todos os casos o valor distingue as tags e não prova nada sobre elas.

Onde fica o identificador

Cada tipo de tag que uma sessão de tag entrega carrega a propriedade dele. NFCMiFareTag, NFCISO7816Tag e NFCISO15693Tag expõem identifier, que a referência da Apple descreve como o identificador de hardware único da tag, em ordem de bytes big endian.

FeliCa difere. NFCFeliCaTag expõe currentIDm, o identificador de fabricante do sistema selecionado no momento, que a referência diz ser atualizado a cada comando de sondagem e ficar vazio quando a seleção falha.

As tags ISO 15693 acrescentam icManufacturerCode e icSerialNumber, e as tags ISO 7816 e MIFARE os bytes históricos delas.

Não numa sessão NDEF

NFCNDEFTag, o protocolo que uma sessão NDEF entrega, expõe a disponibilidade, o estado e a mensagem, e nenhum identificador. Um aplicativo que precisa dele abre uma sessão de tag, com as declarações cobertas na página das declarações.

Guarde o valor como bytes, na ordem que a referência dá, antes de compará-lo com identificadores lidos em outro lugar. Uma comparação de strings hexadecimais escritas em duas ordens diferentes falha na mesma tag.

Para que ele serve

Um identificador distingue duas tags. Ele serve a um registro das tags instaladas, o controle de qual tag guarda o quê, ou a uma conferência de que a tag em mãos é a que o aplicativo espera antes de gravar nela.

O que ele não prova

Qualquer leitor obtém o identificador em claro, então ele não consegue mostrar que uma tag é autêntica. A página da credencial explica por que um sistema que confia nele pode ser enganado, e a página da autenticidade o que prova mesmo que uma tag é autêntica.

Perguntas frequentes

Uma sessão NDEF consegue ler o identificador?

Não. NFCNDEFTag não expõe identificador nenhum, então abra uma sessão de tag para lê-lo.

Em que ordem de bytes fica o identificador?

Big endian, segundo a referência da Apple para as tags MIFARE, ISO 7816 e ISO 15693.

Uma tag FeliCa tem um identificador?

Ela expõe currentIDm, o identificador de fabricante do sistema selecionado, que fica vazio quando a seleção falha.

O identificador consegue autenticar uma tag?

Não. Qualquer leitor o obtém em claro, então ele não prova nada sobre a origem da tag; autenticar exige um chip que responda a um desafio criptográfico.