Implemente autenticação segura sem ser um especialista em criptografia

Atualização: 4 de abril de 2023

"A segurança digital é um dos temas mais conhecidos em Eletrônico projeto hoje. Criptografia é provavelmente a primeira palavra que vem à mente quando os engenheiros pensam em segurança, e apenas alguns engenheiros pensam em autenticação. No entanto, a autenticação é uma função essencial de um dispositivo ou transação segura.

"

A autenticação é importante. Graças às soluções existentes baseadas em silício, podemos habilitar a autenticação sem a necessidade de sermos especialistas em implementação de criptografia.

introduzir

A segurança digital é um dos tópicos mais conhecidos no design eletrônico hoje. Criptografia é provavelmente a primeira palavra que vem à mente quando os engenheiros pensam em segurança, e apenas alguns engenheiros pensam em autenticação. No entanto, a autenticação é uma função essencial de um dispositivo ou transação segura.

Considere a verificação de identidade em termos de home banking. Obviamente, você deseja criptografar informações confidenciais, como saldos e números de contas. Isso acontece quando seu navegador de internet exibe um cadeado verde com https://. Ou seja, a primeira coisa que o navegador de internet verifica ao estabelecer uma conexão segura é se o site do banco é autêntico; em outras palavras, ele autentica o site do banco. Sem autenticação, você pode enviar informações de login e senha para sites de representação, o que pode ser muito prejudicial, pois essas credenciais podem ser reutilizadas para executar qualquer tipo de atividade não autorizada em nome de uma transação de titular de conta bancária desavisada. A navegação segura na Internet é normalmente conseguida através do protocolo TLS/SSL, que, para além da encriptação, garante autenticidade e confidencialidade.

A autenticação também é importante para aplicativos de Internet das Coisas (IoT): endpoints não confiáveis ​​podem colocar infraestruturas inteiras em risco. Vamos considerar um medidor inteligente conectado a um sistema de distribuição elétrica. Uma maneira fácil de os invasores comprometerem a rede é carregar vírus ou malware em medidores inteligentes. Os medidores infectados podem enviar mensagens falsas para a infraestrutura que refletem o consumo de energia significativamente diferente do consumo de energia real, o que, por sua vez, pode fazer com que a rede fique desequilibrada. Se a rede relatar demais, isso fará com que o aparente excesso de energia seja desviado para outro lugar, mas se a rede relatar menos, isso causará um surto de energia; na pior das hipóteses, o ataque pode desencadear um blecaute total ao interromper o equilíbrio da rede. Para evitar isso, é necessário verificar se o hardware do medidor e seu firmware são originais. O processo de verificação do firmware é chamado de inicialização segura.

Implemente um método de autenticação válido

Agora que entendemos sua importância, vamos discutir como implementar a autenticação. O método mais fácil de autenticação é usar uma senha. Em nosso exemplo de medidor inteligente, o dispositivo pode enviar um código para o sistema de controle da rede. O servidor verificará a senha e autorizará outras transações. Embora essa abordagem seja fácil de entender, não é de longe a melhor. Um invasor pode monitorar facilmente as comunicações, registrar a senha e reutilizá-la para autenticar dispositivos não originais. Portanto, consideramos a autenticação baseada em senha fraca.

Uma maneira melhor de realizar a autenticação no mundo digital é o método de desafio-resposta. Vejamos dois tipos de métodos de desafio-resposta: um baseado em criptografia simétrica e outro baseado em criptografia assimétrica.

Autenticação de senha simétrica

A autenticação baseada em criptografia simétrica depende de um segredo compartilhado. O host e o dispositivo a ser autenticado possuem o mesmo código-chave. O host envia um número aleatório, o desafio, para o dispositivo. O dispositivo calcula uma assinatura digital em função da chave e do desafio e a envia de volta ao host. O host então executa o mesmo cálculo e compara os resultados. Se os dois cálculos coincidirem, o dispositivo é autenticado (Figura 1). Para garantir que os resultados não possam ser imitados, devem ser usadas funções com propriedades matemáticas suficientes. Por exemplo, os segredos não podem ser recuperados sem forçar o cálculo do resultado. Funções hash seguras, como SHA-256, suportam esses requisitos. Para o método de desafio-resposta, o dispositivo prova que conhece o segredo sem revelar o segredo. Mesmo que um invasor intercepte a comunicação, ele ainda não poderá acessar o segredo compartilhado.


Figura 1. Autenticação baseada em criptografia simétrica depende de números de chave compartilhados entre o host e o dispositivo.

Autenticação criptográfica assimétrica

A autenticação baseada em criptografia assimétrica depende de duas chaves: uma chave privada e uma chave pública. A chave privada é conhecida apenas pelo dispositivo a ser autenticado, enquanto a chave pública pode ser revelada a qualquer entidade que queira autenticar o dispositivo. Assim como no método discutido anteriormente, o host envia um desafio ao dispositivo. O dispositivo calcula uma assinatura com base no desafio e na chave privada e a envia de volta ao host (Figura 2). Mas aqui, o host usa a chave pública para verificar a assinatura. Também é importante que a função usada para calcular a assinatura tenha certas propriedades matemáticas. As funções mais usadas para esquemas assimétricos são RSA e ECDSA. Também aqui o aparelho prova que conhece um segredo, a chave privada, sem revelá-lo.


Figura 2. A autenticação de chave assimétrica depende de chaves públicas e privadas.

Por que ICs seguros são bons para autenticação

A autenticação de resposta de desafio sempre exige que o objeto seja autenticado para preservar o segredo. Na criptografia simétrica, esse é um segredo compartilhado entre o host e o dispositivo. Para criptografia assimétrica, esta é a chave privada. Independentemente disso, a segurança gerada pela autenticação de desafio-resposta é interrompida quando os segredos vazam. É aqui que os ICs de segurança podem ajudar. Uma propriedade essencial de um título IC é fornecer proteção forte de chaves e segredos.

máximo oferece três famílias de soluções habilitadas para autenticação:

ICs de autenticação: são dispositivos configuráveis, mas de função fixa, que fornecem a maneira mais econômica de implementar autenticação de desafio-resposta, juntamente com um conjunto compacto de operações criptográficas.

Microcontroladores seguros: além de oferecer suporte à autenticação de desafio-resposta, esses dispositivos fornecem um conjunto completo de funções criptográficas, incluindo criptografia.

Microcontroladores de baixo consumo de energia: embora esses produtos não sejam especificamente direcionados à segurança, eles têm todos os blocos de construção necessários para permitir uma autenticação forte.

IC certificado

Entre os ICs de autenticação, os produtos baseados em SHA-256 oferecem suporte à autenticação usando um segredo compartilhado (Figura 3), enquanto os ICs baseados em ECDSA usam pares de chaves pública/privada (Figura 4). Além do mecanismo de criptografia, esses produtos também possuem memória EEPROM integrada. Essa memória é configurável e pode ser usada para armazenar dados autenticados do usuário, como informações de calibração para sensores.

Produtos baseados em SHA-256 são a solução mais econômica. Embora permitam a autenticação mútua, a distribuição da chave compartilhada requer alguns cuidados para que a chave não seja exposta durante a fabricação e configuração do dispositivo. Esse segredo pode ser programado na fábrica da Maxim para contornar essa falha.


Figura 3. A autenticação segura SHA-256 é baseada em um segredo compartilhado.

Os ICs DS28E15/DS28E22/DS28E25 da Maxim são baseados em SHA-256 tecnologia e têm diferentes tamanhos de memória interna. Como a mesma chave é armazenada no lado do host e no lado do dispositivo, é recomendado usar um coprocessador como o DS2465 no lado do host.

Produtos baseados em criptografia assimétrica (como DS28C36 e DS28E35) fornecem uma solução mais flexível porque não há necessidade de proteger a chave da divulgação do lado do host. No entanto, para descarregar a matemática de chave pública e fornecer operações de segurança adicionais, um coprocessador do lado do host, como o DS2476 (um IC complementar do DS28C36), pode ser usado para simplificar o desenvolvimento da solução do sistema.


Figura 4. A autenticação baseada em ECDSA depende de pares de chaves pública/privada.

Microcontrolador seguro com suporte para criptografia simétrica e assimétrica

A Maxim oferece microcontroladores seguros que variam de processadores de nível de aplicativo MAX32590 (ARM9 operando a 384MHz) que podem executar sistemas operacionais de alto nível, como Linux, até coprocessadores de formato pequeno, como MAX32555 ou MAXQ1061.

Esses microcontroladores suportam criptografia simétrica e assimétrica e algoritmos criptográficos para assinaturas digitais e autenticação. Eles apresentam aceleradores de hardware para SHA, RSA, ECDSA e AES, bem como uma biblioteca criptográfica completa, fornecendo uma API pronta para uso em conformidade com os padrões. Eles têm um recurso de inicialização segura integrado, portanto, a autenticidade do firmware é sempre garantida. Eles podem lidar com uma ampla variedade de esquemas de autenticação devido ao seu conjunto abrangente de recursos de criptografia.

O MAXQ1061 é um coprocessador que não apenas oferece suporte à autenticação, mas também lida com as etapas mais críticas do protocolo de comunicação seguro IP padrão TLS/SSL. Processar o protocolo TLS no chip aumenta o nível de segurança e descarrega o processador principal de tarefas computacionais intensivas. Isso é muito valioso para sistemas embarcados com recursos limitados.

microcontrolador de baixa potência

Microcontroladores de baixa potência, como o MAX32626, são direcionados a dispositivos vestíveis e, portanto, não são ICs “focados na segurança”. No entanto, o produto foi projetado tendo em mente os futuros desafios de segurança, à medida que os ataques se tornam mais frequentes. Portanto, o MAX32626 possui uma unidade de proteção de confiança de hardware que suporta autenticação, bem como AES de hardware para criptografia e inicialização segura integrada.