1. São mostrados dois dispositivos e seus blocos de geração de chave PUF.

A função fisicamente não clonável oferece proteção avançada

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Série: O Manual de Criptografia

Na criptografia e nos ICs de segurança incorporados, a função fisicamente não clonável (PUF) é usada para criar chaves que são geradas sob demanda e instantaneamente apagadas quando usadas. Como o PUF depende de fatores físicos aleatórios (imprevisíveis e incontroláveis) que existem nativamente e / ou são introduzidos acidentalmente durante um processo de fabricação, é praticamente impossível duplicar ou clonar.

A tecnologia PUF gera nativamente uma impressão digital digital para seu IC de segurança associado. Isso pode ser utilizado como uma chave / segredo exclusivo para oferecer suporte a algoritmos e serviços criptográficos, incluindo criptografia / descriptografia, autenticação e assinatura digital.

Exceto pela duração momentânea de uma operação criptográfica, o valor da chave PUF nunca existe em formato digital dentro do circuito do IC de segurança. Além disso, como a chave é derivada e produzida sob demanda a partir das características físicas dos elementos do circuito, elas nunca estão presentes na memória não volátil do dispositivo.

Como será descrito, qualquer tentativa de descobrir a chave PUF através de micro-sondas ou outras técnicas invasivas interromperá o circuito sensível usado para construir a chave PUF e tornar a saída inútil. Assim, eles fornecem um nível de segurança muito desejável nos sistemas embarcados de hoje.

Esta breve lição foi projetada para descrever e explicar uma arquitetura PUF hipotética simplificada e seu uso. Na realidade, os elementos PUF são muito mais complexos e sofisticados. Mas esta lição deve ser suficiente para fornecer ao usuário um entendimento muito bom do porquê a geração de chaves baseada em PUF pode fornecer uma proteção tão excelente em aplicativos criptográficos.

Um PUF hipotético baseado em oscilador de anel

figura 1 mostra dois dispositivos de exemplo separados, cada um com uma chave baseada em PUF de 64 bits (esta é uma visão geral simplificada).

1. São mostrados dois dispositivos e seus blocos de geração de chave PUF. 1. São mostrados dois dispositivos e seus blocos de geração de chave PUF.

PUF – geração de chaves

Cada dispositivo em figura 1 possui 64 blocos PUF diferentes que geram 1 bit de dados. Os bits são então deslocados para criar a chave de 64 bits. Agora, nosso objetivo é ter teclas independentes para cada um desses dispositivos que possam ser repetidas por sobretensão, temperatura e idade. Dispositivo 1 produzirá uma chave com um número suficiente de bits diferentes da chave produzida por Dispositivo 2. Cada uma das teclas do dispositivo, no entanto, permanecerá constante acima da faixa de tensão e temperatura especificada.

Leia Também  Coexistência de Wi-Fi de 5 GHz com celular 5G melhora a experiência do usuário

Geração de bits de dados (visão geral simplificada)

No Figura 2, mostramos um esquema de implementação simples de PUF com base na variação de frequência dos osciladores em anel. Mais adiante neste artigo, expandiremos os osciladores em anel e descobriremos por que eles produzem frequências ligeiramente diferentes para cada instância do bloco.

2. Aqui, a geração de bits de dados PUF usa osciladores de anel.2. Aqui, a geração de bits de dados PUF usa osciladores de anel.

Por enquanto, vamos supor que cada bloco PUF tenha dois osciladores de anel que produzem frequências ligeiramente diferentes. No bloco PUF 1, F1 será ligeiramente diferente de F2. Isso permitirá que o bloco de comparação produza um bit 0 ou 1, dependendo se F2 é mais rápido que F1.

Como esse projeto ajuda nas variações de tensão, temperatura e idade? Comparamos dois valores para gerar os bits em vez de basear em uma saída de frequência. Assim, se F2 aumentar com uma tensão mais alta, F1 também aumentará, mas o delta entre os dois valores deve permanecer praticamente o mesmo. Isso resulta no mesmo valor de bit produzido com uma tensão aplicada diferente. Da mesma forma, os efeitos da temperatura e do envelhecimento podem ser mitigados.

Como os blocos 2 a 64 do PUF são instanciados, os blocos do oscilador de anel dentro deles produzirão frequências ligeiramente diferentes entre si de uma maneira imprevisível. Isso resulta em um padrão de bits imprevisível para os bits de 1 a 64. Embora os padrões gerais de bits não possam ser predicados, o padrão de bits real produzido é repetível, pois cada bloco sempre produz o mesmo bit.

Elemento PUF simplificado – oscilador de anel

Um oscilador de anel é construído a partir de um número ímpar de inversores dispostos conforme mostrado em Figura 3. A frequência de saída do oscilador depende do atraso de cada um dos estágios do anel. Da perspectiva do circuito integrado, esse atraso depende das características da bolacha, incluindo a espessura do óxido, a capacitância e a tensão limite de cada transistor que compõe os estágios do inversor.

Leia Também  Transmissor de Código Morse - Open Electronics
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

3. Um oscilador de anel de elemento PUF simplificado é construído a partir de um número ímpar de inversores.3. Um oscilador de anel de elemento PUF simplificado é construído a partir de um número ímpar de inversores.

Devido à imperfeição e variação no processo de fabricação de semicondutores, todos esses parâmetros variam um pouco e com aleatoriedade completa. Não importa o quão controlado seja o processo, é impossível evitar essa variação aleatória. Tudo isso acaba sendo bom para a implementação do PUF, porque a chave produzida precisa ter uma aleatoriedade de qualidade criptográfica.

Um valor primário que um PUF traz para a criptografia é a proteção inerente ao valor da chave / segredo que deriva e produz a partir das características físicas dos elementos do circuito. Conforme descrito no exemplo do oscilador de anel, parâmetros eletricamente sensíveis, como tensões limite, capacitância e espessura de óxido de porta, influenciam diretamente os atrasos no circuito.

A investigação ou modificação do PUF, em um esforço para obter a chave, por sua vez, modifica e interrompe permanentemente essas características sensíveis. Isso resulta em uma alteração no valor da chave que o PUF produziria, tornando-o inútil e tornando o IC criptográfico permanentemente não funcional. Da mesma forma, qualquer tentativa de fazer engenharia reversa e clonar um PUF resulta em um circuito que não pode gerar um valor-chave, correto para o ambiente do sistema em que o IC de segurança está implantado.

Tecnologia ChipDNA PUF

Uma nova tecnologia PUF desenvolvida pela Maxim Integrated, conhecida como ChipDNA, não é baseada em oscilador de anel como o exemplo hipotético. O ChipDNA opera fundamentalmente a partir da variação aleatória e incompatibilidade natural das características analógicas dos dispositivos semicondutores MOSFET. Essa aleatoriedade se origina de fatores semelhantes aos descritos anteriormente: variação de óxido, incompatibilidade dispositivo a dispositivo na tensão limite, impedâncias de interconexão e variação existente na fabricação de wafer através de etapas imperfeitas ou não uniformes de deposição e gravação.

O ChipDNA também opera a partir de uma abordagem patenteada para garantir que o valor binário exclusivo gerado por cada circuito PUF tenha alta qualidade criptográfica. Além disso, de acordo com a Maxim, é garantido que você pode repetir a temperatura, a tensão e a vida útil do dispositivo.

Leia Também  Controlador com feedback para motor de passo - Open Electronics

Aplicações ChipDNA

Figuras 4 e 5 mostre casos de uso para a tecnologia ChipDNA PUF integrada a um IC criptográfico de autenticador seguro.

4. Este diagrama demonstra um autenticador SHA-3 protegido por ChipDNA que protege os dados armazenados.4. Este diagrama demonstra um autenticador SHA-3 protegido por ChipDNA que protege os dados armazenados.

5. Um autenticador ECDSA protegido por ChipDNA fornece geração de chaves sob demanda.5. Um autenticador ECDSA protegido por ChipDNA fornece geração de chaves sob demanda.

Protegendo dados armazenados

Nesse caso, estamos usando a chave PUF do ChipDNA, quando necessário, para descriptografar o segredo SHA3 armazenado na EEPROM usado para uma sequência de autenticação. Qualquer tentativa de obter o segredo da EEPROM resultará em dados criptografados em AES que são inúteis para um invasor. Além disso, qualquer esforço para investigar o PUF resultará em interrupção permanente de sua operação, resultando na inoperabilidade do dispositivo e novamente inútil para o invasor.

No entanto, se o dispositivo não for violado, ele cumprirá seu objetivo fielmente, gerando a chave PUF sob demanda e descriptografando o segredo do SHA-3 para uma operação de autenticação momentânea.

Geração de chaves para autenticação

No Figura 5, a chave PUF ChipDNA é usada diretamente como chave privada de um Algoritmo de assinatura digital de curva elíptica (ECDSA) computação de assinatura. Com o ECDSA, por definição, a chave privada é um número aleatório. O ChipDNA é ideal, pois produz um número aleatório de alta qualidade criptográfica. Com o ECDSA assimétrico, também há uma chave pública necessária para verificar assinaturas e está matematicamente associada à chave privada. Dada a chave PUF e, neste exemplo, a chave privada ECDSA nunca é exposta fora do IC, a chave pública seria calculada pelo mecanismo ECC dentro da peça e armazenada na EEPROM para transmissão a um controlador host quando solicitado.

Este segundo exemplo também demonstra o uso do ChipDNA PUF no escopo de beneficiar a infraestrutura e o gerenciamento de chaves. Em casos de uso mais complexos, o ChipDNA se torna a chave raiz imutável do IC de segurança.

O próximo artigo da série abordará a diferença entre a implementação de hardware e software de soluções criptográficas e alguns aplicativos comuns.

Série: O Manual de Criptografia

Zia A. Sardar é membro principal da equipe técnica da Maxim Integrated.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br