• Nenhum resultado encontrado

2. Análise

2.2. Análise de ataques SCA de análise de power trace

O conceito por detrás desta família de ataques SCA foi primeiro descrito em [4], e para ser entendido é necessário relembrar a forma como os transístores constituintes da lógica digital funcionam.

21 Um transístor usado em lógica digital funciona essencialmente como um interruptor, ora permitindo ora bloqueando a passagem da corrente através dele. Durante o seu funcionamento, e sempre que num destes estados, o consumo de um transístor é mínimo. No entanto, sempre que este transita de estado existe uma perda de comutação que representa uma visível e momentânea alteração no consumo do mesmo.

É na recolha dessa variação de consumo com side-channel que esta família de ataques se baseia para obter informação. Analisando os traçados de potência é proposto obter através de variados métodos de observação, descritos mais abaixo, a chave usada na encriptação.

Este tipo de ataques pode ser adaptado para funcionar com variados algoritmos de encriptação através do conhecimento aprofundado do seu funcionamento, alterando o modo como se analisa os valores obtidos.

No entanto este ataque, como de resto os ataques SCA em geral, foca-se nas vulnerabilidades a nível da implementação, e é esta que permite a sua existência cedendo, de uma forma ou de outra, algum tipo de side-channel, neste caso a variação do consumo de um processador ou co-processador.

2.2.1. Ataques SPA (Simple Power Analysis)

Este tipo de ataques é baseado numa observação directa da variação do consumo por parte do atacante, sendo considerado o menos ameaçador uma vez que a sua prevenção é notavelmente mais fácil que a dos restantes ataques descritos neste ponto.

Para executar este método o adversário recolhe um power trace, ou seja, através de um número de amostras recolhidas durante a execução de uma encriptação é realizado um gráfico que permite visualizar a esses mesmos pontos. Um osciloscópio em modo de disparo pode ajudar a realizar este trabalho se o segundo passo for realizado directamente pelo adversário humano.

Em [4], Kocher et al, propõe, para a recolha das variações do consumo o uso de uma resistência pequena, por exemplo 50Ω, em série com a alimentação ou massa do componente em análise, como pode ser visto na Imagem 11. Medindo a queda nesta resistência é facilmente

22

calculada a variação de corrente e, consequentemente, do consumo do dispositivo em observação.

Imagem 11 - Método de medida para um ataque de análise de potência como proposto por Kocher

Analisando a informação assim recolhida é possível descobrir informações sobre o funcionamento do dispositivo em análise bem como da chave em uso. Para descobrir tais informações este método recorre então à análise do power trace.

Esta análise pode ou não ser automatizada, sendo possível a um atacante humano munido desta informação realiza-la facilmente. Na Imagem 12 pode visualizar-se um traçado obtido por esta técnica.

Imagem 12 - SPA Power Trace de uma operação DES completa (in [4])

Fazendo uma análise mais pormenorizada, com uma escala temporal e de corrente mais alta alguns dos valores são visíveis podendo concluir o valor de alguns bits.

Este género de ataque é bastante eficiente contra a cifra DES, permitindo visualizar o processamento dos dados da execução, podendo também ser usado na cifra RSA, contra as suas operações de multiplicação. No entanto as técnicas de protecção contra esta análise são de fácil implementação.

VCC GND

23 Um modo alternativo de recolha deste tipo de informação é proposto e extensivamente discutido por Kasper et al [20]–[22] recorrendo ao uso e recolha da radiação electromagnética produzida pelo funcionamento de smartcards lendo RFID de modo a encontrar chaves de encriptação.

No caso prático descrito por Kasper a exploração destas ondas electromagnéticas, para o efeito de ataque à encriptação, a recolha do traçado seria feita por uma near-field probe colocada de modo a interceptar a comunicação entre a smartcard e um cartão RFID. Face à intercepção desta seria necessário desmodular a onda e sincronizá-la de modo a permitir retirar conclusões sobre o conteúdo da chave.

A necessidade desta desmodulação parte do facto de a amplitude das ondas rádio ser modulada por consequência das necessidades energéticas do chip incluído no RFID, ou seja, por exemplo quando este necessitar de maior energia existe uma diminuição da amplitude destas. Como consequência desta desmodulação foi conseguido o esperado traçado do consumo, permitindo aplicar os algoritmos desenvolvidos para executar a análise sobre este.

Através desta técnica Kasper et al conseguiram realizar um ataque com bastante sucesso a um módulo black box, permitindo-lhe retirar bastante conclusões sobre ele e a sua chave.

2.2.2. Ataques DPA (Differential Power Analysis)

Os ataques desta natureza baseiam-se também, tal como a SPA, na recolha e análise do power trace, no entanto as semelhanças não se prolongam muito para além desse ponto. Ao invés da observação directa que caracteriza o SPA, no DPA são usadas extensivamente ferramentas estatísticas e de correcção de erros para tirar conclusões sobre a natureza da chave.

O ataque pode ser visto como o conjunto de duas fases, tal como descrito por Kocher et al em [4], uma fase de recolha e uma fase análise.

A fase de recolha é, de uma forma básica, semelhante à da descrita para o SPA, podendo ser baseada no mesmo tipo de montagem de hardware para proceder à recolha de informação sobre a potência consumida ao longo do tempo. Quanto mais extensa esta fase

24

maior será número de amostras recolhidas sobre o dispositivo sob ataque e, como tal, mais eficiente a aplicação do mesmo.

Para ser possível obter dados desta implementação é necessário recolher uma quantidade de dados relativamente alta, permitindo desse modo uma análise estatística relevante dos dados. Munidos com estes valores procedesse ao recurso de análise com base em diversas ferramentas matemáticas, como a variância, a média, ou até a correlação, examina-se a informação presente no traçado.

Recorrendo a esta análise espera-se detectar um comportamento conhecido e relacionado com a proximidade do valor do plaintext em relação ao valor da chave. Usando esse comportamento para executar a aproximação à chave é possível descobrir parte, ou a totalidade, da mesma.

A diferença entre a análise usada para realizar o DPA e a análise descrita atrás para o SPA é que um atacante, usando este último, se centra na análise simples, directa e visual de um traçado de consumo, sem recurso a mais ferramentas que essa mesma observação. No primeiro ataque, por sua vez, o executor centra-se na análise de valores obtidos a partir da análise matemática de múltiplos traçados, permitindo uma análise muito mais eficiente de informação recolhida, e, como tal, sendo bastante mais complexa de evitar.

2.2.3. Ataques High-order DPA

Os ataques do tipo High-order DPA concentram-se na recolha de um maior número de amostras e no uso de algoritmos de FEC e filtragem mais poderosos e avançados que os usados num tradicional ataque DPA.

Os métodos de recolha dos dados e execução do ataque são em tudo semelhantes ao anteriormente descritos. A grande diferença entre este método e a DPA normal é o número de traçados recolhidos, muito maior na técnica em discussão, e a complexidade da análise matemática executada, usando este método uma sofisticação muito superior para examinar as amostras, o que o torna mais eficaz.

25

2.2.4. Ataques de Template

Os ataques de Template, tal como o descrito em [23] (neste já dedicado a cifras de bloco), e primeiro introduzido como conceito em [24], usam métodos, também baseados na interpretação de amostras recolhidas do side-channel, diferentes dos anteriores para obter a chave.

Embora a primeira descrição deste método não refira exclusivamente o uso de traçado de consumo de modo a obter as chaves usadas nos métodos analisados como prova de conceito, a sua aplicação à AES, em [23], descreve o uso desse mesmo side-channel para obter informações da chave. Como tal considerou-se relevante a sua referência neste ponto.

O pressuposto base desta técnica é que o atacante possua um aparelho idêntico ao sob escuta e possa introduzir e controlar de forma arbitrária o mesmo. Cumprindo esta suposição o atacante pode começar a estabelecer o seu ataque de Template, ou seja, a por em prática uma das mais poderosas de SCA.

O ataque é dividido em duas fases, uma, conhecida por profiling, cria um perfil do encriptador, o template que dá o nome ao ataque, usando um grande número de amostras enquanto o dispositivo sobre ataque executa o algoritmo de encriptação. A segunda fase, classification, compara os valores recolhidos com um template particular usando uma distribuição Gaussiana multivariável para calcular a probabilidade. Os valores correctos terão uma probabilidade muito superior aos dos incorrectos sendo assim obtida a chave.

Este tipo de ataques é ainda mais poderoso pois a sua fase mais prolongada e intensiva é a fase de construção dos templates. Esta fase, no entanto, só necessita de ser usada uma vez por cada conjunto de encriptadores idênticos, podendo, após obter o template de um usa-lo para atacar todo e qualquer componente semelhante.