Já publiquei aqui no blog um artigo inteiro sobre vulnerabilidades de FPGA — bitstream que pode ser extraído e clonado, hardware trojan inserido via IP de terceiro, side-channel, replay attack na reconfiguração. Tudo isso é real e sério. Mas se você só ler aquele artigo, fica com a impressão de que FPGA é uma escolha arriscada para segurança, e essa não é a história completa. A mesma característica que abre essas vulnerabilidades — reconfigurabilidade — é o que torna FPGA uma das plataformas mais interessantes para implementar sistemas de segurança em primeiro lugar. Este artigo é sobre esse outro lado.
Por que FPGA é diferente de ASIC e de software puro
Um FPGA é um dispositivo semicondutor reprogramável que permite implementar circuitos digitais personalizados. A arquitetura básica tem três peças:
- Blocos lógicos: unidades que executam operações booleanas e implementam funções lógicas diversas.
- Blocos de roteamento: conectam os blocos lógicos entre si através de canais configuráveis.
- Buffers de I/O: gerenciam entrada e saída de dados do dispositivo.
Essa estrutura dá ao FPGA a flexibilidade de ser reconfigurado para funções diferentes, sem precisar fabricar um novo chip a cada mudança de projeto — o que é exatamente onde ele se diferencia de ASIC.
Vantagem 1: tempo de desenvolvimento e custo
Um ASIC (Application-Specific Integrated Circuit) exige um processo de fabricação específico e caro para cada projeto — e qualquer erro de design descoberto depois do tape-out custa uma nova rodada inteira de fabricação. FPGA reconfigura quantas vezes for necessário sem depender de fundição de silício a cada iteração. Na prática, isso significa custo unitário menor em baixo/médio volume e velocidade de lançamento maior, porque ajustar a especificação não implica esperar semanas ou meses por um novo lote de silício.
Vantagem 2: flexibilidade e reconfigurabilidade
Esta é a vantagem que mais importa especificamente para segurança. Um único dispositivo FPGA pode suportar múltiplos protocolos de segurança ou algoritmos criptográficos diferentes, e trocar entre eles sem trocar hardware:
- Substituição de algoritmo comprometido: se um algoritmo criptográfico implementado no FPGA é quebrado ou tem uma vulnerabilidade descoberta, você reconfigura o dispositivo para outro, sem precisar substituir a placa inteira.
- Adoção rápida de novos padrões: quando um novo padrão de segurança surge, ele pode ser integrado via reconfiguração, mantendo o sistema atualizado sem novo ciclo de fabricação.
Compare isso com um ASIC dedicado, onde o algoritmo está fisicamente fixado no silício: se ele é comprometido, a única saída é substituir a peça inteira, o que em campo — pensando em dispositivos já instalados — costuma ser inviável ou caríssimo.
Vantagem 3: desempenho e eficiência energética
Comparado com implementação em software rodando sobre um processador de propósito geral, um sistema baseado em FPGA entrega:
- Velocidade superior: operações de baixo nível, como manipulação de bits feita diretamente pelos blocos lógicos, executam muito mais rápido do que o mesmo processamento em software.
- Consumo de energia menor: arquitetura customizada para cada função específica tende a operar de forma mais eficiente do que hardware genérico rodando código genérico — relevante para dispositivo embarcado com orçamento de energia apertado.
- Alto throughput: aplicações criptográficas em FPGA conseguem desempenho comparável a CPUs de alta performance, sem o custo adicional de hardware de propósito geral que você não usa por completo.
Onde isso se aplica na prática, em segurança de hardware
Implementação de sistemas criptográficos. FPGA é amplamente usado para implementar algoritmos de criptografia justamente pela combinação de flexibilidade e desempenho: adaptação rápida a diferentes protocolos, e processamento paralelo — múltiplas operações criptográficas executando simultaneamente, o que acelera o throughput geral do sistema.
Primitivas de segurança de hardware. FPGA também é uma escolha natural para implementar primitivas como:
- Physically Unclonable Functions (PUFs): usam as variações físicas inerentes ao próprio dispositivo para gerar identificadores únicos e difíceis de replicar. Se você leu o artigo aqui no blog sobre confiabilidade em PUFs de Ring Oscillator, viu que a arquitetura configurável de inversores que melhora a confiabilidade do PUF depende diretamente da reconfigurabilidade que só um FPGA (ou tecnologia equivalente) oferece.
- Geradores de números verdadeiramente aleatórios (TRNGs): aproveitando incertezas físicas — como jitter de rede de clock e atraso de propagação — o FPGA consegue gerar números aleatórios com alta entropia. Isso importa porque a qualidade da aleatoriedade impacta diretamente a robustez de qualquer protocolo criptográfico que dependa dela.
Além disso, FPGA permite testar e ajustar o bitstream gerado (a configuração que define o comportamento do dispositivo), o que dá controle fino sobre a imprevisibilidade e a resistência a ataque externo dos números gerados.
A outra metade da história, sem rodeio
Reconfigurabilidade é vantagem e é risco ao mesmo tempo, e isso não é contradição — é a mesma propriedade vista por dois ângulos. Poder trocar o algoritmo criptográfico é ótimo até o momento em que alguém consegue extrair o bitstream e entender (ou alterar) o que está configurado ali. Se você está avaliando FPGA para um projeto de segurança, a decisão não é “FPGA é seguro” ou “FPGA é arriscado” — é entender que as mesmas características que tornam o FPGA atraente (reconfiguração, flexibilidade de algoritmo) exigem contramedidas específicas, que é exatamente o assunto do artigo sobre vulnerabilidades e contramedidas em FPGA aqui no blog.
Se você está decidindo entre FPGA, ASIC e software para um sistema de segurança, minha recomendação prática: FPGA compensa quando volume de produção é baixo/médio, o algoritmo pode precisar mudar ao longo da vida do produto, e o desempenho de software puro não é suficiente. Se nenhuma dessas três condições se aplica ao seu caso, vale considerar as alternativas antes de assumir que reconfigurável é sempre a escolha certa.



