Utilize EEPROM com ID Único em Seu Sistema Embarcado para Prevenir a Contrafação de Design

Criada: Maio 4, 2018
Atualizada: Dezembro 17, 2020

Fingerprint at the center of circuits on a board

Há um ditado que diz que pessoas inteligentes nem sempre terminam a corrida em primeiro lugar. Na faculdade, lembro-me de alguns colegas copiando meus trabalhos, apenas para acabarem obtendo notas melhores do que as minhas. Ser inteligente não necessariamente me garantia as melhores notas na faculdade e assistir outros alcançarem sucesso com base nas minhas ideias se tornou desmotivador.

O mundo dos negócios é similar; não é incomum que empresas copiem conceitos que funcionam bem para seus concorrentes e os usem para dominar o mercado. Embora eticamente questionável, designs falsificados são na verdade bastante comuns. Como engenheiro de design, é meu trabalho tornar a falsificação do meu design o mais difícil possível.

À parte de cobrir toda a PCB em epóxi, tentei todos os truques possíveis. Isso inclui usar EEPROM de ID único (memória somente de leitura programável e apagável eletricamente) para tornar impossível duplicar uma cópia exata do meu hardware e fazê-lo operacional. Ao incluir EEPROM de ID único no seu sistema embutido, você também pode se preparar para o pior cenário e prevenir a falsificação de design.

O que é um EEPROM de ID Único?

Uma EEPROM é um tipo de memória não volátil útil para armazenar pequenos tamanhos de dados. Geralmente, ela é conectada a um microcontrolador via Circuito Integrado Inter-Integrado (I2C) ou Interface Periférica Serial (SPI). A EEPROM está presente no cenário eletrônico há décadas e é usada para armazenar parâmetros como valores de configuração.

Uma EEPROM de ID Único é uma EEPROM que carrega um ID não apagável. O comprimento do ID Único varia de 32 bits a 128 bits, dependendo do fabricante. Teoricamente, não há possibilidade realista de duas EEPROM compartilharem o mesmo ID. Isso é semelhante ao conceito de um endereço único de Controle de Acesso ao Meio (MAC) para seus dispositivos capazes de acessar a internet.

Usando uma EEPROM de ID Único para Prevenir Contrafação

Em um sistema embutido totalmente desprotegido, modelos falsificados podem ser facilmente criados por engenharia reversa da PCB e extração do firmware do microcontrolador. Claro, mesmo com recursos de proteção de código ativados, duplicar o firmware ainda pode ser possível, embora mais desafiador.

Incluir uma EEPROM de ID Único no seu projeto e implementar procedimentos de verificação no firmware ajuda a prevenir a contrafação em massa. É assim que eu implemento isso nos meus sistemas embutidos:

1. Criar um Firmware Leitor de ID Único

Crie um firmware simples que leia o ID único da EEPROM e o salve em um arquivo dentro de um Cartão SD. Este firmware é programado apenas para recuperar o ID único e será substituído pelo firmware da aplicação real mais tarde.

Fingerprint embedded as routing

Verifique contra o ID Único para evitar que programas falsificados sejam carregados.

2. Codificar o ID Único no Firmware da Aplicação

Em seguida, crie uma função especial no firmware da aplicação para extrair o ID único do arquivo e escrever o valor na memória Flash interna do microcontrolador. O microcontrolador então precisa deletar o arquivo salvo no cartão SD, após armazená-lo de forma segura.

3. Implementar Verificação do ID da EEPROM no Firmware da Aplicação Real

No firmware da aplicação real, crie uma função que verifica o ID único da EEPROM na PCB com um ID da EEPROM codificado na memória Flash do microcontrolador. Isso permite que apenas o firmware compilado com o ID único codificado correto funcione em uma PCB específica.

Prós e Contras do Método de Proteção de ID Único da EEPROM

Assim como em qualquer design, segurança e conveniência estão sempre em extremos opostos do espectro. A viabilidade do seu método de proteção contra falsificação depende da natureza das suas aplicações e do impacto projetado da falsificação no seu negócio.

A vantagem óbvia da verificação de ID único é que seu sistema embutido não pode ser falsificado em massa. Mesmo que o firmware seja extraído, injetá-lo em múltiplas PCBs não resultará em nenhum dos dispositivos se tornando operacional. A não ser que se consiga fazer o microcontrolador se autodestruir, esta é a medida de proteção mais segura que já implementei.

O lado negativo deste método é que a produção será um processo muito mais lento, pois isso envolve baixar firmware de extração de ID único e usar um cartão SD. Após o ID único ser salvo, o técnico de produção precisaria injetar o firmware da aplicação. Além disso, EEPROMs de ID Único geralmente são mais caros do que seus equivalentes regulares.

Engineer is connecting microchip to microcontroller with the help of usb cable

Espera-se um processo longo, mas seguro, de injeção de firmware.

Se as consequências da falsificação são uma grande preocupação para o seu negócio, colocar um EEPROM com ID único é a melhor maneira de proteger o seu design. Isso é simples de configurar usando um software de design de PCB versátil como o Altium Designer®. Se um EEPROM com ID único não estiver prontamente disponível no integrado, você pode facilmente criar um usando um footprint padrão.

Precisa de mais dicas sobre como proteger o design dos seus sistemas embutidos contra falsificação?

Fale com um especialista na Altium.

Recursos relacionados

Documentação técnica relacionada

Retornar a página inicial
Thank you, you are now subscribed to updates.