A encriptação de mensagens via algoritmos de criptografia é necessária devido aos inúmeros meios disponíveis hoje para quebrar o sigilo de mensagens. Uma tentativa de criptoanálise é comumente chamada de ataque criptográfico. Entre os vários tipos de ataques existentes, é possível agrupá-los em duas grandes famílias, os ataques lógicos e os ataques físicos. Inicialmente, revisam-se ataques lógicos, que exploram as vulnerabilidades matemáticas dos algoritmos. Em seguida, revisam-se os ataques físicos, que exploram as vulnerabilidades físicas dos dispositivos eletrônicos que dão suporte à execução de algoritmos de criptografia, também referenciados neste trabalho como
ATAQUES LÓGICOS
Dentre os ataques que exploram as vulnerabilidades matemáticas é possível dividi- los em dois grupos, sendo eles lineares e diferenciais. Os ataques lineares propostos por Matsui em 1993 [MAT93] estudam as relações existentes entre os bits de uma mensagem, os bits da mensagem encriptada correspondente, ou criptograma correspondente, e da chave utilizada na criptografia. Estas relações são usadas para obter uma expressão linear capaz de predizer valores dos bits da chave quando muitas mensagens e os respectivos criptogramas são conhecidos. Aumentado o número de pares mensagem- criptograma disponível, é possível melhorar a precisão da aproximação. Os algoritmos de criptografia devem apresentar resistência a este tipo de ataque. Na literatura são encontradas outras propostas baseadas nos ataques lineares de Matsui, tais como [ROU03], [MAN06], [BAG07].
O ataque diferencial proposto por Bihan e Shamir [BIH90] baseia-se em ataque no qual o atacante dispõe de vários pares mensagem-criptograma escolhidos, cujas diferenças entre os respectivos criptogramas são analisadas. Entende-se por diferença a operação de ou-exclusivo (XOR) entre dois criptogramas. A criptoanálise é realizada sobre pares de criptogramas encriptados com a mesma chave e cujas mensagens correspondentes possuem certo valor particular de diferença. O efeito desta diferença é analisado através das ‘n’ iterações do algoritmo resultando em parâmetros que permitem inferir possíveis valores da chave utilizada no processo de encriptação. Estes parâmetros são expressos analiticamente através de probabilidades e são usados como indicadores para tomada de decisão de qual chave foi utilizada para cifrar a mensagem criptoanalisada. O método fornece como resultado um conjunto de probabilidades associadas respectivamente a um conjunto de chaves. A decisão pela chave correta é feita escolhendo-se aquela cuja probabilidade é a de maior valor. Na literatura são encontradas diversas propostas baseadas nos ataques diferenciais de Bihan, tais como [JIE06] [DUN07] [JAK07].
ATAQUES FÍSICOS
Nos últimos anos vários tipos de ataques a sistemas criptográficos têm surgido com o propósito de revelar a chave criptográfica destes sistemas. Entretanto, ataques usados para alcançar este objetivo apresentam-se de várias maneiras se diferenciando significativamente em termos de custo, tempo, equipamentos necessários e conhecimento técnico. Em conseqüência, existem vários modos de classificá-los. Na literatura é comumente encontrada a classificação segundo dois critérios ortogonais. O primeiro destes divide os ataques com relação ao controle sobre o dispositivo, classificando-os como passivos ou ativos.
Ataques Passivos: o sistema criptográfico opera normalmente dentro de suas
especificações. O ataque consiste apenas em observar as propriedades físicas do dispositivo tais como tempo de execução, consumo de potência e radiação eletromagnética.
Ataques Ativos: Estes ataques controlam as entradas e/ou o ambiente onde o
sistema criptográfico está inserido. Deste modo, os ataques adulteram dados de entrada e/ou o ambiente de modo a explorar anormalidades produzidas nestes casos pelo sistema. O segundo critério classifica os ataques segundo a interface do dispositivo explorada pelos atacantes. Os sistemas criptográficos têm diversas interfaces físicas e lógicas. Algumas destas podem ser acessadas facilmente enquanto outras exigem equipamentos especiais. Com base nestas interfaces os ataques físicos podem ser classificados em três grupos:
Ataques invasivos: nestes ataques não existem limites para se manipular o
dispositivo eletrônico visando revelar a chave secreta do sistema. Tipicamente, inicia-se com a remoção do encapsulamento do dispositivo. A seguir, componentes são acessados diretamente por sondas especiais para observar sinais em um barramento (ataques passivos), por exemplo, ou provocar a alteração da funcionalidade do dispositivo em um ataque ativo. Estes ataques violam a integridade física do dispositivo, impossibilitando seu uso após o ataque. Além disso, exigem equipamentos especiais, o que torna os ataques extremamente caros. Exemplos deste ataques:
• Ataque por sondagem consiste em espionar a atividade elétrica do componente extraído do circuito, com a ajuda de uma sonda. Esta técnica permite recuperar os dados transitando dentro do circuito, mas permite também impor valores lógicos em certos pontos deste. Pode-se imaginar que com o controle do ambiente, o atacante pode estar medindo e deduzindo boa parte do segredo do circuito criptográfico.
• Ataques por reconstrução de leiaute (engenharia reversa): consistem em estudar o componente eletrônico extraído, para determinar de maneira precisa a estrutura interna e assim deduzir seu funcionamento. Para isto é necessário extrair as informações sobre o local exato de todos os transistores e de todas as conexões, compondo a estrutura do sistema, a fim de reconstruir a totalidade do seu leiaute. Este ataque é muito raro, pois exige materiais sofisticados, pessoal altamente treinado e tem alto custo.
Ataques semi-invasivos: nestes ataques o dispositivo também tem seu
encapsulamento removido. Entretanto, diferentemente dos ataques invasivos, não existe contato elétrico com o circuito do dispositivo, ou seja, o circuito permanece intacto. Tipicamente estes ataques não exigem equipamentos caros, porém os esforços para executá-los são relativamente altos, pois o processo de localizar a posição correta dos componentes para um ataque na superfície de um chip moderno exige tempo e conhecimentos especializados. É possível citar como exemplo os seguintes ataques:
• Ataques por injeção de falhas, introduzidos por Boneh et al. [BON97] em 1997 e Skorobogatov e Anderson em [SKO02], consistem em gerar intencionalmente falhas no criptosistema a fim de obter comportamentos anormais, pode-se então explorar
os mesmos para revelar informações secretas. No entanto, estes ataques precisam criar modelos de falhas, exigindo competências particulares e um conhecimento detalhado da estrutura interna do circuito. Sua eficiência representa hoje um forte perigo para a segurança de criptosistemas.
• Ataques eletromagnéticos consistem em revelar e analisar a radiação eletromagnética produzida por um circuito criptográfico. A maioria dos criptosistemas atuais é cadenciada por um sinal de relógio que sincroniza a operação de todo o circuito. Todos os sinais elétricos são decorrentes do movimento de cargas elétricas provocado por forças elétricas. Este movimento de cargas produz campos elétricos e magnéticos. Ciente de que estes sinais elétricos são fortemente dependentes dos dados manipulados, uma análise minuciosa da radiação eletromagnética pode permitir descobrir informações secretas contidas no dispositivo. Estes ataques podem ser classificados como semi-invasivos caso ocorra o processo de retirada do invólucro do circuito, mas normalmente são considerados não-invasivos.
Ataques não-invasivos: Neste ataques apenas as interfaces diretamente acessíveis
são atacadas. O dispositivo não é permanentemente alterado, fato que não deixa evidências de que um ataque tenha sido realizado. A maioria destes ataques é realizada a custos reduzidos, se comparado a ataques invasivos. Isto os torna uma séria ameaça à segurança de sistemas criptográficos.
Em particular ataques passivos e não-invasivos têm recebido uma grande atenção durante os últimos anos. Estes ataques são freqüentemente referenciados como ataques
a canais laterais (SCAs). Prover soluções arquiteturais para aumentar a robustez contra
estes tipos de ataque é o alvo do presente trabalho. De fato, tais ataques consistem em explorar os canais laterais (tempo de cálculo, consumo de potência, radiação eletromagnética). Estes canais laterais correlacionam-se com o estado interno do circuito, sendo possível a partir deles extrair algumas informações secretas. Alguns exemplos deste tipo de ataque:
• Ataques por análise de tempo, propostos por Kocher em 1996 [KOC96] exploram a correlação entre os dados processados e o tempo de processamento durante as operações criptográficas. Algoritmos criptográficos têm tempos de cálculo dependentes dos dados e da chave secreta. Uma análise destes tempos pode permitir revelar o valor da chave secreta.
• Ataques por análise do consumo de potência consistem em analisar o consumo de potência de dados manipulados em um circuito a fim de extrair a chave criptográfica.
Este trabalho tem ênfase nos ataques por análise do consumo de potência e por análise da radiação eletromagnética como modo de avaliar a robustez das arquiteturas propostas.
Neste caso, as análises de radiação eletromagnéticas são não-invasivas, pois nenhum tipo de alteração do empacotamento do FPGA é realizado. Os ataques por análise de tempo são ignorados no processo de avaliação deste trabalho.