Criptografia baseada em hardware - Hardware-based encryption

Criptografia baseada em hardware
IBM4758 outside1.JPG
O Módulo Criptográfico IBM 4758
Tipo de processo Criptografia
Setor (es) industrial (es) Informática
Principais tecnologias ou subprocessos Função hash criptográfica , criptografia

A criptografia baseada em hardware é o uso de hardware de computador para auxiliar o software, ou às vezes substituir o software, no processo de criptografia de dados . Normalmente, isso é implementado como parte do conjunto de instruções do processador . Por exemplo, o algoritmo de criptografia AES (uma cifra moderna ) pode ser implementado usando o conjunto de instruções AES na arquitetura x86 onipresente . Essas instruções também existem na arquitetura ARM . No entanto, existem sistemas mais incomuns onde o módulo de criptografia é separado do processador central, em vez de ser implementado como um coprocessador , em particular um criptoprocessador seguro ou acelerador criptográfico , do qual um exemplo é o IBM 4758 , ou seu sucessor, o IBM 4764 . As implementações de hardware podem ser mais rápidas e menos sujeitas a exploração do que as implementações de software tradicionais e, além disso, podem ser protegidas contra adulteração.

História

Antes do uso de hardware de computador, a criptografia poderia ser realizada por vários meios mecânicos ou eletromecânicos . Um exemplo antigo é o Scytale usado pelos espartanos . A máquina Enigma era um sistema de cifragem eletromecânico usado principalmente pelos alemães na Segunda Guerra Mundial . Após a Segunda Guerra Mundial , sistemas puramente eletrônicos foram desenvolvidos. Em 1987, o projeto ABYSS (A Basic Yorktown Security System) foi iniciado. O objetivo deste projeto era proteger contra a pirataria de software . No entanto, a aplicação de computadores à criptografia em geral remonta à década de 1940 e ao Bletchley Park , onde o computador Colossus foi usado para quebrar a criptografia usada pelo Alto Comando Alemão durante a Segunda Guerra Mundial . O uso de computadores para criptografar , no entanto, veio depois. Em particular, até o desenvolvimento do circuito integrado , do qual o primeiro foi produzido em 1960, os computadores eram impraticáveis ​​para criptografia, uma vez que, em comparação com o formato portátil da máquina Enigma , os computadores da época ocupavam o espaço de uma máquina inteira construção. Foi somente com o desenvolvimento do microcomputador que a criptografia computacional se tornou viável, fora de aplicações de nicho. O desenvolvimento da World Wide Web levou à necessidade de os consumidores terem acesso à criptografia, à medida que as compras online se tornaram predominantes. As principais preocupações dos consumidores eram a segurança e a velocidade. Isso levou à eventual inclusão dos algoritmos-chave nos processadores como forma de aumentar a velocidade e a segurança.

Implementações

No conjunto de instruções

x86

A arquitetura X86 , como uma arquitetura CISC (Complex Instruction Set Computer) , normalmente implementa algoritmos complexos em hardware. Os algoritmos criptográficos não são exceção. A arquitetura x86 implementa componentes significativos do algoritmo AES (Advanced Encryption Standard) , que pode ser usado pela NSA para obter informações Top Secret . A arquitetura também inclui suporte para os algoritmos de hash SHA por meio das extensões Intel SHA . Considerando que AES é uma cifra, que é útil para criptografar documentos, o hash é usado para verificação, como de senhas (consulte PBKDF2 ).

BRAÇO

Os processadores ARM podem, opcionalmente, oferecer suporte a extensões de segurança. Embora ARM seja uma arquitetura RISC (Reduced Instruction Set Computer) , existem várias extensões opcionais especificadas pela ARM Holdings .

Como coprocessador

Proliferação

Os processadores Advanced Micro Devices (AMD) também são dispositivos x86 e têm suportado as instruções AES desde a iteração do processador Bulldozer de 2011 . Devido à existência de instruções de criptografia nos processadores modernos fornecidos pela Intel e pela AMD, as instruções estão presentes na maioria dos computadores modernos. Eles também existem em muitos tablets e smartphones devido à sua implementação em processadores ARM .

Vantagens

Implementar criptografia em hardware significa que parte do processador é dedicada à tarefa. Isso pode levar a um grande aumento na velocidade. Em particular, as arquiteturas de processador modernas que suportam pipelining podem frequentemente executar outras instruções simultaneamente com a execução da instrução de criptografia. Além disso, o hardware pode ter métodos de proteção de dados de software. Consequentemente, mesmo se o sistema operacional estiver comprometido, os dados ainda podem estar seguros (consulte Extensões de proteção de software ).

Desvantagens

Se, no entanto, a implementação do hardware for comprometida, surgem problemas importantes. O software malicioso pode recuperar os dados do hardware (supostamente) seguro - uma grande classe de método usado é o ataque de sincronização . Isso é muito mais problemático de resolver do que um bug de software, mesmo dentro do sistema operacional . A Microsoft lida regularmente com problemas de segurança por meio do Windows Update . Da mesma forma, atualizações regulares de segurança são lançadas para Mac OS X e Linux , bem como sistemas operacionais móveis como iOS , Android e Windows Phone . No entanto, o hardware é um problema diferente. Às vezes, o problema pode ser corrigido por meio de atualizações no microcódigo do processador (um tipo de software de baixo nível). No entanto, outros problemas só podem ser resolvidos por meio da substituição do hardware ou de uma solução alternativa no sistema operacional que reduza o benefício de desempenho da implementação do hardware, como no exploit Spectre .

Veja também

Referências