Por que uma tag NFC comum não é uma credencial de acesso?
Porque ela afirma em vez de provar. Tudo o que uma tag comum guarda é público, inclusive o identificador, então apresentar uma só demonstra a posse de um número que qualquer pessoa por perto poderia ter lido por conta própria. Uma credencial tem de resistir a ser observada.
O que uma credencial precisa fazer
Resistir à reprodução. Quem a observa não pode, só por isso, conseguir apresentá-la. Uma tag falha nisso, porque lê-la é observá-la por inteiro.
Ser revogável. Retirá-la precisa ser imediato e centralizado. Essa é uma propriedade do sistema e não do objeto, e é a única que uma tag consegue tomar emprestada.
Ter procedência. O sistema precisa saber de onde cada uma veio. Tags compradas num pacote e gravadas com um celular não têm nenhuma.
Uma tag comum cumpre uma das três, e só se apoiando no sistema.
O identificador não é um segredo
Toda tag carrega um identificador, e ele é devolvido a qualquer leitor que pergunte, antes de qualquer troca de conteúdo. É assim que o leitor se dirige à tag.
Então um identificador é um nome, e não uma senha. Tratá-lo como segredo é tratar como privado algo que a tag anuncia a todo mundo.
Isso importa porque os identificadores parecem secretos. Eles são longos, parecem chaves, e ninguém os publica. Nada disso os torna confidenciais.
O teste é simples: alguém que ficasse ao lado de quem carrega a tag conseguiria obtê-lo? Para um identificador, sim, com um celular comum e sem interação nenhuma.
Sistemas que autorizam por um número
Algumas instalações leem uma tag, conferem o identificador contra uma lista e abrem a porta. Isso é fácil de construir, barato, e é uma autorização baseada num valor público.
É comum em instalações pequenas, em adaptações de sistemas existentes e em projetos em que se pediu a um integrador algo barato.
Se você tem um, saiba que tem. O risco pode ser aceitável para um armário de material de escritório e não é para uma sala de servidores.
O jeito honesto de descrever um sistema desses é dizer que ele identifica em vez de autenticar. Essa distinção é o assunto inteiro.
O que usar no lugar
Cartões feitos para acesso, que se autenticam por criptografia: o leitor propõe um desafio e o cartão responde de um jeito que só um cartão com a chave certa conseguiria.
A chave nunca atravessa a interface, então observar a troca não permite a quem observa repeti-la depois.
Essa capacidade é uma propriedade do chip e não pode ser acrescentada a uma tag depois, o que faz dela uma decisão de especificação e não de configuração.
E ela ainda precisa do sistema em volta: emissão, revogação, e um registro de qual cartão pertence a quem.
Perguntas frequentes
O identificador da tag é uma senha?
Não. Ele é anunciado a qualquer leitor antes de todo o resto, então é um nome e não um segredo.
Posso gravar um segredo numa tag em vez disso?
Tudo o que é gravado numa tag legível pode ser lido. A proteção do conteúdo muda quem pode gravar, e não quem pode ler.
Os sistemas de acesso baseados no UID são comuns?
Eles existem, em especial em instalações pequenas ou adaptadas. Vale descobrir se o seu é um deles.
O que torna um cartão de acesso diferente?
Ele prova que tem uma chave sem revelá-la, então observar a troca não permite a ninguém repeti-la.