Home › Tag Archives › rfid

Notas sobre o uso de RFID em aplicações de segurança.

Nota: O que explico a seguir se aplica certamente a sistemas de 125kHz. Ainda não tenho certeza quanto a sistemas RFID milfare de 13.56MHz.

Evite cometer o erro de usar apenas o valor da tag RFID como identificação. Tags RFID em geral se apresentam a qualquer dispositivo que pergunte seu número, silenciosamente. Então para  obter o número de uma tag (copiar a tag) basta ficar bem próximo da tag por um breve instante. Sua tag é um cartão na forma de crachá ou cartão no bolso ou chaveiro? Um estranho esbarrando em você na rua pode estar copiando sua tag. Basta saber em que parte do corpo você normalmente a carrega.

Mas este é o jeito simples. Um atacante mais sofisticado pode facilmente ler sua tag passando a um metro de você.

Isto se chama “tag snooping”.

E após saber o número da tag, basta transmitir o número nas proximidades do leitor. Isso se chama “tag spoofing” e pode ser feito com um Arduino e alguns componentes extras.

Se seu sistema não exigir uma senha além do número da tag, fica muito vulnerável a ser invadido até por um adolescente.

 

Anatomia de um leitor RFID

Um leitor RFID essencialmente se compõe dos seguinte blocos:

  • Alimentação;
  • Antena;
  • Amplificador de sinal.

E opcionalmente existe um microcontrolador para decodificar o sinal e já apresentar o código da tag em um formato compreensível.

Tomando como exemplo o Módulo RDM6300:

Modulo_RFID_UART_RDM6300_DSC00520_640_automalabs.com.br

A antena não aparece na foto, mas da esquerda para a direita temos os seguintes componentes ativos:

  • LM358 – Responsável pela amplificação de sinal – Essencial;
  • 1117 – Regulador de tensão de 3.3V – Poderia não estar presente se a tensão já fosse regulada externamente;
  • SILF330 – Microcontrolador – Não essencial.

O objetivo do microcontrolador neste módulo é simplificar a vida do usuário. Ele decodifica o sinal presente na saída do amplificador baseado em LM358 e apresenta na saída do módulo o valor da tag já com uma interface padrão UART TTL. Isso permite que o próximo estágio, implementado pelo usuário, só tenha o trabalho de comparar as tags lidas com as tags armazenadas.

Porém é perfeitamente possível, se necessário, ligar a saída do amplificador diretamente em um pino de um Arduino e implementar a rotina de decodificação você mesmo. Isso é explicado neste artigo que mostra como fazer seu próprio leitor RFID, de onde eu retirei o diagrama abaixo, que mostra quase todo o essencial em um leitor RFID:

No diagrama acima, temos o LM324 fazendo o mesmo papel do LM358.

Se o leitor tiver interface USB o chip diretamente conectado a ela pode ser um simples conversor UART TTL – USB de baixo custo como um CH340 ou Silabs cp2101. Se assim for será possível obter o código em formato compatível com o Arduino em um dos pinos desse chip. Mas em alguns casos o mesmo microcontrolador que faz a decodificação também faz a interface USB, obrigando-nos a coletar o código ainda modulado na saída do amplificador