You are on page 1of 147

PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMTICA PROGRAMA DE PS-GRADUAO EM CINCIA DA COMPUTAO

ARQUITETURAS GALS PIPELINE PARA CRIPTOGRAFIA ROBUSTA A ATAQUES DPA E DEMA

RAFAEL I ANKOWSKI SOARES

TESE APRESENTADA COMO REQUISITO


PARCIAL OBTENO DO GRAU DE DOUTOR EM CINCIA DA COMPUTAO NA PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO SUL

ORIENTADOR: PROF. DR. NEY LAERT VILAR CALAZANS CO-ORIENTADOR: PROF. DR. PHILIPPE MAURINE (LIRMM UNIVERSIT MONTPELLIER 2)

PORTO ALEGRE 2010

Dados Internacionais de Catalogao na Publicao (CIP)

S676a

Soares, Rafael Iankowski Arquitetura GALS pipeline para criptografia robusta a ataques DPA e DEMA / Rafael Iankowski Soares. Porto Alegre, 2010.

147 f. Tese. (Doutorado) Fac. de Informtica, PUCRS. Orientador: Prof. Dr. Ney Laert Vilar Calazans. 1. Informtica. 2. Criptografia (Computao). 3. Pipeline. 4. Algoritmos (Computao). I. Calazans, Ney Laert Vilar.

Ficha Catalogrfica elaborada pelo Setor de Tratamento da Informao da BC-PUCRS

RESERVADO AO TERMO DE APRESENTAO

AGRADECIMENTOS
Agradeo a todos aqueles que de alguma forma contriburam para este trabalho.

ARQUITETURAS GALS PIPELINE PARA CRIPTOGRAFIA ROBUSTA A ATAQUES DPA E DEMA RESUMO
As ltimas dcadas presenciam uma necessidade crescente por sistemas computacionais que garantam o sigilo de informaes, seja durante o processamento ou armazenamento destas. Hoje so comuns atividades como compras, transaes bancrias, consulta a informaes pessoais e reserva de passagens usando a Internet. O uso de redes abertas exige a transmisso protegida de dados confidenciais. O projeto de sistemas integrados em um nico chip (em ingls, SoCs) que atendam a restries de segurana requer protocolos especiais de comunicao e o emprego de criptografia, a cincia que se baseia na aritmtica para ocultar informaes. Em geral, SoCs que usam criptografia utilizam um texto relativamente curto, denominado chave criptogrfica, cujo segredo condiciona a eficincia do processo de esconder informaes. Em todo sistema criptogrfico moderno, conhecer a chave criptogrfica equivale a ser capaz de efetuar qualquer operao sobre o conjunto de informaes de um dado usurio em um dado sistema. Algoritmos de criptografia so desenvolvidos para resistir criptoanlise, a cincia de violar textos encriptados explorando vulnerabilidades do processo de ocultao de informao. Embora a maioria dos algoritmos atuais seja robusta a ataques baseados na matemtica da criptografia empregada, uma nova classe de tcnicas de criptoanlise pode ser usada contra suas implementaes. Estes so os chamados Ataques por Canais Escondidos ou Laterais (do ingls, Side Channel Attacks, ou SCA), que permitem correlacionar informaes sigilosas tal como uma chave criptogrfica com propriedades fsicas tais como tempo de processamento, consumo de potncia e radiao eletromagntica de dispositivos eletrnicos. O fluxo tradicional de projeto que usa o paradigma sncrono e a tecnologia CMOS favorece a fuga de informaes por canais escondidos. Vrias propostas para imunizar sistemas criptogrficos contra ataques SCA existem na literatura. Dentre as alternativas para a obteno de sistemas criptogrficos seguros, destacam-se paradigmas de projeto especficos tais como o Globalmente Assncrono e Localmente Sncrono (GALS) e o completamente assncrono. Esta tese prope uma nova arquitetura GALS para melhorar a robustez de algoritmos criptogrficos. Pressupe-se o emprego de tcnicas pipeline e de comunicao assncrona entre estgios. A robustez obtida atravs da combinao de replicao de hardware em estgios pipeline, comunicao assncrona entre estes estgios e variao independente da freqncia de operao em cada estgio. Os resultados obtidos demonstram um aumento da robustez contra anlises de consumo de potncia e de radiao eletromagntica nas arquiteturas propostas. Alm disso, as arquiteturas apresentam um aumento significativo da vazo de dados, ao custo de um aumento da latncia de processamento e da rea do circuito, este ltimo provocado pela replicao de hardware. Comparado com o estado da arte em propostas de lgica assncrona segura, o custo em rea mostra-se inferior ou no pior caso compatvel, demonstrando que a proposta uma alternativa interessante de soluo para neutralizar ataques SCA.
Palavras chave: criptografia, ataques criptogrficos, GALS, pipeline.

GALS PIPELINE ARCHITECTURES FOR CRYPTOGRAPHY ROBUST TO DPA AND DEMA ATTACKS ABSTRACT
The last decades have witnessed the growth of the need for secure computing systems for either stocking or processing sensitive information. Currently, the Internet is a primary medium for performing numerous activities such as shopping, banking, stocking personal information, ticket reservation among others. The use of open networks to keep and process such information requires computing systems that may securely deal with confidential information. The design of Systems on Chip (SoCs) that fulfill security requirements requires special communication protocols and the use of cryptography, the science based on arithmetic to hide information. In general, SoCs that use cryptography employ a relatively short text, named cryptographic key, whose secrecy determines the efficiency of the information hiding process. In any cryptosystem, knowing the cryptographic key enables any operation on any information belonging to a given user in a given system. The design of cryptographic algorithms deems to resist to cryptanalysis, the science of breaking encrypted information by exploiting the vulnerabilities of the information hiding process. Although most current cryptographic algorithms are robust to attacks based on the mathematics of cryptography, a new class of cryptanalysis techniques, called Side Channel Attacks (SCAs) allows correlating sensitive information such as cryptographic keys with the physical properties, such as processing time, power consumption and electromagnetic radiation, of the electronic devices supporting such applications. The traditional design flow that uses the synchronous paradigm and CMOS technology favors the leak of information through side channels. The literature abounds with proposals to make cryptosystems robust against SCA attacks. Among the alternatives available to obtain secure cryptographic systems stand out paradigms such as the Globally Asynchronous Locally Synchronous (GALS) and the use of fully asynchronous systems. This thesis proposes a new GALS architecture to enhance the robustness of cryptographic algorithms. It assumes the use of pipelining and asynchronous communication between each pair of neighbor stages. The approach achieves robustness through a combination of hardware replication into pipeline stages, asynchronous communication between such stages and independent variation of operating frequencies at each stage of the pipeline. The results show increased robustness against power consumption and electromagnetic radiation analysis. Moreover, the proposed and prototyped architectures display a significant data throughput improvement, at the cost of increased latency and area, the later caused by the hardware replication strategy. Compared to state-of-art asynchronous logic secure cryptography, the area costs achieved in this thesis are smaller than, or in the worst case compatible to the best proposals, proving that this is an interesting alternative against SCA attacks.
Keywords: Cryptography, cryptographic attacks, GALS, pipeline.

LISTA DE FIGURAS

Figura 1.1 Relatrio de emisses de certificados de validao de mdulos criptogrficos realizados pelo NIST nos EUA [NIS09]. ........................................................................................................................... 22 Figura 2.1 - Diagrama esquemtico mostrando a estrutura de um estgio em um circuito CMOS sncrono. .............. 34 Figura 2.2 Inversor CMOS dimensionado em uma tecnologia 130 nm. ......................................................... 36 Figura 2.3 Avaliao do consumo de corrente devido variao de valores de capacidade de carga CL [RAZ06]. ...... 37

Figura 2.4 Avaliao da corrente para diferentes valores de rampa de entrada in [RAZ06]. ................................ 37 Figura 2.5 Esquemtico de uma porta NAND de duas entradas. ................................................................ 38 Figura 2.6 Avaliao da corrente segundo os vetores de entrada [RAZ06]. .................................................... 38 Figura 2.7 Descrio do experimento de observao do impacto da atividade de um circuito sobre o trao de corrente. a) Conjunto de portas NAND2, b) avaliao da corrente em funo da taxa de atividade . ............................ 39 Figura 2.8 Trao de corrente correspondente ao processamento de um dado no algoritmo criptogrfico DES. ........... 40 Figura 2.9 Diagrama em blocos ilustrando os passos 3 a 5 de um ataque DPA. .............................................. 43 Figura 3.1 - Diagrama em blocos da funo F da rodada do algoritmo DES. Huiping et al. propem a insero de circuitos para mascarar dados antes do processamento de partes vulnerveis da funo (XOR e SBOXes). Um gerador de nmeros aleatrios inserido em cada rodada para alimentar os circuitos propostos. ................... 54 Figura 3.2 Estrutura GALS do sistema Accia, proposto em [GUR06]. Accia composto pelo modulo Goliath que executa operaes com 128 bits e por dois mdulos David com operaes de 32 bits. ............................... 60 Figura 4.1 (a) Uma forma de implementao de um C-Element de Muller de 2 entradas usando portas lgicas. (b) Smbologia comumente usada para representar um C-Element. .......................................................... 75 Figura 4.2 Exemplo de uma porta XOR implementada com a tcnica DIMS. .................................................. 75 Figura 4.3 Impacto do deslocamento temporal sobre a corrente diferencial [RAZ07]. ........................................ 76 Figura 4.4 a) Estrutura tolerante ao deslocamento temporal. b) Modo de funcionamento da estrutura tolerante a deslocamento temporais [RAZ07]. ............................................................................................. 76 Figura 4.5 Codificao de dados utilizada pela lgica STTL [RAZ07]. .......................................................... 77 Figura 4.6 Operao bsica das portas STTL. d representa o tempo de processamento de dados pela porta. Este tempo pode sofrer variaes como indicado pelo retngulo cinza, os quais no afetam os sinais de validao, conseqentemente mantendo V constante. ................................................................................ 77 Figura 4.7 Proposta de estruturas lgica e fsica de uma porta lgica AND assncrona de duas entradas. Em (a) a verso bsica DR DIMS (DR), em (b) uma verso DR segura (DR2), em (c) o primeiro prottipo de STTL (STTL) e em (d) uma verso compacta de STTL (STTL2). A letra C dentro dos crculos representa um C-element e o smbolo C um C-element especial de 3 entradas, cujo comportamento de sada expresso pela equao booleana Z0 = Cout.Z0 + (Z0+Cout).(a0+b0). .................................................................................................. 79 Figura 4.8 (a) Abstrao de um CLB Xilinx da famlia Spartan3 composto por 4 slices e um switch box. Cada slice contm 2 LUTs responsveis por implementar uma funo lgica. (b) Leiaute da hard macro que implementa a porta AND indicada na Figura 4.7 (d). ......................................................................................... 80 Figura 4.9 Submdulo de algoritmo DES. ........................................................................................... 81 Figura 4.10 Adio de uma nova etapa no fluxo de projeto da Xilinx para automatizar o projeto de circuitos usando lgica STTL. .............................................................................................................................. 82 Figura 4.11 Plantas-baixas obtidas com o processo de sntese da SBOX1 do algoritmo DES a) usando lgica STTL e b) usando lgica tradicional. ....................................................................................................... 85 Figura 4.12 Sistema de medio e armazenamento de traos de potncia para avaliao da robustez da lgica STTL. 87 Figura 4.13 Sistema embarcado para controle de medio de potncia sobre o circuito alvo. Os mdulos Interface STTL, Decodificador do Mostrador 7 Segmentos so usados apenas para validao do sistema. O mesmo sistema sem estes mdulos usado para realizar as medies de consumo. .......................................................... 88 Figura 4.14Resultado de uma simulao, mostrando a ordem de eventos durante o processo de medio e coleta de dados. Em (1) end_frame indica que um dado chegou via interface serial e est disponvel. Em (2), SboxValid indica a validade dos dados codificados para STTL. Em (3), synchro_oscillo sinaliza ao osciloscpio o incio do processo de medio. Em (4), SboxEnable habilita o clculo realizado pela SBOX1. Em (5), o sinal de validade s_v indica o fim do clculo e a estabilidade dos sinais na sada da SBOX1. Em (6), os dados esto disponveis na sada do FPGA. .................................................................................................................. 89 Figura 4.15 Uma viso geral do fluxo de anlise empregado para validar a robustez da lgica STTL. ..................... 91 Figura 4.16 Traos hipteses de anlises DPA obtidos para a SBOX1 implementada em trilha nica. O trao hiptese correto corresponde subchave 10 com margem de 27% sobre a segunda hiptese de subchave.................. 92 Figura 4.17 Traos hiptese em anlises CPA e CEMA obtidos para a SBOX1 implementada em trilha nica. .......... 93 Figura 4.18 Desvio padro da corrente consumida medido durante o processamento da SBOX1. ......................... 93 Figura 5.1 Estrutura geral do algoritmo DES. ....................................................................................... 98 Figura 5.2 Infraestrutura do algoritmo DES implementado em modo pipeline usando um mtodo GALS de projeto. A proposta inclui interfaces assncronas do tipo 2-flip-flops usando protocolo de comunicao em 2 fases e geradores de relgio independentes que se operam sob comando de cada estgio pipeline. ..................................... 99 Figura 5.3 Viso geral da arquitetura usada para avaliar a robustez da arquitetura pipeline GALS. ...................... 100 Figura 5.4 Circuito de um multiplexador 4:1 livre de transitrios. .............................................................. 102 Figura 5.5 Simulao mostrando um chaveamento de sinais de relgio livre de transitrios. .............................. 102

Figura 5.6 Sistema de medio usado para a avaliao das arquiteturas propostas. ....................................... 106 Figura 5.7 Medidas de radiao eletromagntica emitida pelas arquiteturas DES PIPE-2: (i) sncrona, (ii) sncrona com FIFO, (iii) GALS e (iv) GALS com FIFO. .................................................................................... 108 Figura 5.8 Consumo de potncia das arquiteturas DES PIPE-2: (i) sncrona, (ii) sncrona com FIFO, (iii) GALS e (iv) GALS com FIFO................................................................................................................ 108 Figura 5.9 Radiaes eletromagnticas das arquiteturas DES PIPE-4: (i) sncrona, (ii) sncrona com FIFO e (iii) GALS com FIFO. ...................................................................................................................... 109 Figura 5.10 Medidas de radiao eletromagntica das arquiteturas DES PIPE-8: (i) sncrona, (ii) sncrona com FIFO e (iii) GALS com FIFO................................................................................................................ 110 Figura 5.11 Grficos comparando o nmero de traos necessrios para revelar as subchaves de cada SBOX do algoritmo DES. ................................................................................................................. 113 Figura 5.12 Comparao da efetividade do processamento paralelo para neutralizar ataques DPA e DEMA. ......... 114 Figura 5.13 Comparao de anlises DEMA realizadas sobre arquiteturas DES PIPE com diferentes nmeros de estgios. ........................................................................................................................ 115 Figura 5.14 Resultados das anlises DPA para as arquiteturas PIPE-2: (i) GALS e (ii) GALS com FIFO. Resultados das anlises DEMA para as mesmas arquiteturas so mostrados em (iii) e (iv). As anlises DEMA desenvolvidas sobre as arquiteturas DES PIPE-4 e DES PIPE-8 verses com FIFO so apresentadas em (v) e (vi). Os traos hipteses pretos correspondem subchave correta, os traos vermelhos correspondem subchave incorreta e os demais traos azuis completam as 64 hipteses possveis de subchave para a SBOX3 do algoritmo DES. ............... 116

LISTA DE TABELAS

Tabela 2.1 Reviso de ataques DPAs e variantes. ................................................................................ 48 Tabela 3.1 Resumo de propostas que usam mascaramento para descorrelacionar o consumo de potncia dos dados processados. ..................................................................................................................... 56 Tabela 3.2 Resumo de propostas que visam descorrelacionar dados aleatorizando o consumo de potncia. ............ 62 Tabela 3.3 Resumo de propostas que visam descorrelacionar dados atravs da uniformizao do consumo de potncia. ..................................................................................................................................... 67 Tabela 3.4 Comparao de caractersticas de alguns trabalhos que propem mtodos para contramedir fuga de informaes por induo a falhas. ............................................................................................. 70 Tabela 4.1 Tabela verdade de um C-element de Muller com 2 entradas. ....................................................... 74 Tabela 4.2 Tempo de clculo e rea ocupada para implementao da SBOX1 em 3 verses diferentes, SR, DR (DIMS) e STTL. .............................................................................................................................. 84 Tabela 4.3 Avaliao de rea e latncia para as implementaes convencional e STTL2 do algoritmo DES. ............. 86 Tabela 4.4 Percentual de subchaves corretas obtidas com a avaliao......................................................... 94 Tabela 4.5 Percentual de subchaves corretas obtidas para os experimentos. ................................................. 95 Tabela 4.6 Nmero de traos para revelar as subchaves do algoritmo DES. .................................................. 96 Tabela 5.1 Comparao em termos de rea entre as diversas implementaes do DES. .................................. 103 Tabela 5.2 Comparaes em termos de latncia e vazo de dados das implementaes do algoritmo DES. As medidas de vazo so expressas em bits por segundo (Mbps). ................................................................... 103 Tabela 5.3 Avaliao da aleatoriedade das arquiteturas propostas. ........................................................... 105 Tabela 5.4 Nmero de traos necessrios para revelar a chave criptogrfica utilizando anlises DEMA e DPA. ...... 111 Tabela 5.5 Nmero de traos necessrios para revelar a chave criptogrfica utilizando anlises CEMA e CPA. ...... 112

LISTA DE SIGLAS
ADLBL AES ANSSI ASIC CEMA CI CMOS CMVP CAD CPA CRC CRT DCVSL DDR DEMA DES DFA DFS DPA DPL DR DSA DVS ECC EMR FFD FPGA GALS GF HD HO DPA HW ITRS IP IPA LIRMM LR2A LUT Mbps MD-5 MDPL MTBF PDA NIST RCDDL RDI RDVFS RNS RPA RSA SABL SBOX SCA SDDL SEMA Asynchronous Directional Latch Based Logic Advanced Encryption Standard Agence Nationale de la Securit des Systmes dInformation Application Specific Integrated Circuit Correlation Electromagnetic Analysis Circuito Integrado Complementary Metal-Oxide Semiconductor Cryptographic Module Validation Program Computer Aided Design Correlation Power Analysis Cyclic Redundancy Check Chinese Remainder Theorem Differential Cascode Voltage Switch Logic Double Data Rate Differential Electromagnetic Analysis Data Encryption Standard Differential Fault Attacks Dynamic Frequency Scaling Differential Power Analysis Dual Rail Precharge Logic Dual Rail Digital Signature Algorithm Dynamic Voltage Scaling Eliptic Curve Cryptography Electromagnetic Radiation Flip-Flop D Field Programmable Gate Array Globally Asynchronous Locally Synchronous Galois Field Hamming Distance High Order Differential Power Analysis Hamming Weight International Technology Roadmap of Semiconductors Intellectual Property Inferential Power Analysis Laboratoire dInformatique Robotique et Microlectronique de Montpellier Leakage Resistant Reconfigurable Architecture Look Up Table Megabits per second Message Digest-5 Masked Dual Rail Pre-Charge Logic Mean Time Between Failures Personal Digital Assistant National Institute of Standards and Technology Reduced Complementary Dynamic Differential Logic Random Delay Insertion Random Dynamic Voltage Frequency Scaling Residue Number System Refined Power Analysis Rivest Shamir Adleman Sense Amplifier Based Logic Substitution Box Side Channel Attack Simple Dynamic Differential Logic Simple Electromagnetic Analysis

SiP SNR SPA SoCs SR STTL TA UMM VLSI WDDL WDDL EE ZPA

System in Package Signal to Noise Ratio Simple Power Analysis Systems on Chip Single Rail Secure Triple Track Logic Timing Attacks Unique Masked Method Very Large Scale Integration Wave Dynamic Differential Logic Wave Dynamic Differential Logic Early Evaluation Zero Power Analysis

SUMRIO

1. INTRODUO ........................................................................................................................... 21 1.1 Paradigma sncrono: problemas e alternativas .......................................23 1.2 Fuga de informaes por canais laterais ................................................24 1.3 Alternativas para evitar a fuga de informaes.......................................25 1.4 Objetivos ..........................................................................................27 1.5 Originalidade da tese ..........................................................................27 1.6 Contribuies da tese .........................................................................28 1.7 Organizao do documento .................................................................28 2. DEFINIES BSICAS ............................................................................................................... 29 2.1 Criptologia ........................................................................................29
2.1.1 Criptografia ...................................................................................... 29 2.1.2 Criptoanlise ..................................................................................... 30

2.2 Ataques por consumo de potncia ........................................................34


2.2.1 2.2.2 2.2.3 2.2.4 Caractersticas do consumo de potncia em circuitos CMOS ...................... 34 Anlise do trao de consumo de corrente ............................................... 35 Ataques por anlise de potncia simples ................................................ 40 Ataques por anlise diferencial de potncia ............................................ 41

2.3 Reviso de propostas de ataques DPA e variantes ..................................46


2.3.1 Discusso sobre os ataques ................................................................. 48

2.4 Ataques por induo a falhas ...............................................................49 3. ESTADO DA ARTE ..................................................................................................................... 51 3.1 Mtodos por mascaramento de dados ...................................................51
3.1.1 Comparao entre propostas ............................................................... 55

3.2 Mtodo por injeo de rudo ................................................................57


3.2.1 Comparao entre propostas ............................................................... 61

3.3 Mtodo por uniformizao do consumo de potncia ................................62


3.3.1 Comparao entre propostas ............................................................... 66

3.4 Mtodos para contramedir ataques por induo a falhas .........................68


3.4.1 Consideraes sobre o mtodo ............................................................. 69

3.5 Concluses ........................................................................................70 4. PROTOTIPAO DE LGICA NO-SNCRONA ROBUSTA A DPA E DEMA...................................... 71 4.1 Reviso sobre projeto de circuitos no-sncronos....................................71
4.1.1 4.1.2 4.1.3 4.1.4 Fenmenos temporais ........................................................................ 72 Protocolos de comunicao .................................................................. 73 Codificao de dados .......................................................................... 73 Implementao de componentes assncronos ......................................... 74

4.2 Fundamentos da lgica STTL ...............................................................75 4.3 Prototipao da lgica STTL em FPGA ...................................................78
4.3.1 Fluxo de projeto e validao da lgica STTL............................................ 81 4.3.2 Avaliao do tempo de clculo e de rea de Prottipos STTL ..................... 83

4.4 Algoritmo DES STTL ...........................................................................85 4.5 Sistema de medio de traos de consumo de potncia e de radiao eletromagntica ................................................................................................86 4.6 Sistema de medio adaptado ao algoritmo DES ....................................90 4.7 Avaliao da lgica quanto a robustez as anlises DPA e DEMA ................90 4.8 Avaliao da robustez do algoritmo DES STTL ........................................95 4.9 Concluses ........................................................................................96 5. ARQUITETURAS GALS PARA CONTRAMEDIR ATAQUES DPA E DEMA ......................................... 97 5.1 Algoritmo DES: caractersticas .............................................................97 5.2 Infraestrutura GALS ...........................................................................98 5.3 Prova de conceito ............................................................................. 100
5.3.1 Implementao em FPGA .................................................................. 100

5.3.2 Avaliao de rea ............................................................................ 102 5.3.3 Avaliao de latncia e vazo de dados ............................................... 103 5.3.4 Avaliao da aleatoriedade ................................................................ 104

5.4 Sistema de medio ......................................................................... 106 5.5 Avaliao da robustez a ataques DPA e DEMA ...................................... 107
5.5.1 Etapa de medio e coleta de traos ................................................... 107 5.5.2 Resultado das anlises...................................................................... 110

5.6 Concluso ....................................................................................... 117 6. CONCLUSO E TRABALHOS FUTUROS ..................................................................................... 119 6.1 Contribuies do trabalho .................................................................. 119 6.2 Concluses ...................................................................................... 121 6.3 Trabalhos futuros ............................................................................. 123 APNDICE A TRAOS RESULTANTES DO PROCESSO DE MEDIO DAS ARQUITETURAS GALS ...... 135 A.1 Traos medidos ................................................................................ 135
A.1.1 A.1.2 A.1.3 A.1.4 A.1.5 A.2.1 A.2.2 A.2.3 A.2.4 Consumo de potncia: arquiteturas PIPE-2........................................... 135 Radiao eletromagntica: arquitetura PIPE-2 ...................................... 136 Consumo de potncia: arquitetura PIPE-4 ............................................ 137 Radiao eletromagntica: arquitetura PIPE-4 ...................................... 138 Radiao eletromagntica: arquiteturas PIPE-8 ..................................... 139 Arquiteturas Arquiteturas Arquiteturas Arquiteturas PIPE-2: PIPE-2: PIPE-4: PIPE-8: Traos Traos Traos Traos resultantes resultantes resultantes resultantes das das das das anlises anlises anlises anlises DEMA..................... 140 DPA ....................... 141 DEMA..................... 142 DEMA..................... 143

A.2 Traos hipteses de subchaves .......................................................... 140

ANEXO B TABELAS DO ALGORITMO DES ................................................................................... 145

21

1. INTRODUO
Nas ltimas dcadas a tecnologia CMOS (do ingls, Complementary Metal-OxideSilicon) desenvolveu-se vertiginosamente, impulsionada pela evoluo da tecnologia submicrnica, que reduz consideravelmente as dimenses de transistores, componente elementar desta tecnologia. Esta evoluo permite a concepo de circuitos integrados (CIs) com dezenas de bilhes de transistores, com dimenses na ordem de algumas dezenas de nm nas atuais tecnologias e previso de dimenses de at 7,4 nm para o ano de 2024 segundo o International Technology Roadmap for Semiconductors (ITRS) [ITR09]. A chamada Lei de Moore determina a tendncia de aumento da capacidade de integrao de transistores em um CI [MOO65]. De acordo com a ITRS, no futuro, a integrao da tecnologia CMOS com tecnologias no-CMOS tais como componentes biolgicos, sensores e atuadores daro origem aos sistemas integrados em encapsulamentos (do ingls, system in package - SiP) os quais sero tendncia em produtos nanomtricos [ITR09]. O avano na tecnologia de fabricao de circuitos integrados em alta escala de integrao (do ingls, Very Large Scale Integration - VLSI) proporciona o advento de SoCs (do ingls, Systems on Chip) [MAR01]. O projeto e desenvolvimento de SoCs est baseado na tcnica de reuso de componentes pr-projetados e pr-validados denominados de ncleos IP (do ingls, Intellectual Property Core - IP) [BER01], como forma de reduzir fortemente o tempo de concepo de um produto e garantindo o lanamento no mercado dentro de uma janela adequada de mercado. possvel encontrar SoCs hoje em produtos das mais diferentes reas de aplicao tais como, por exemplo, sensoriamento remoto [HAN10], processamento paralelo [JAV10] e ainda, em aplicaes que exijam segurana ao processamento de dados [MOR09] [NAO09] [CIL10] entre outras. As ltimas dcadas presenciam a necessidade crescente por sistemas digitais que garantam o sigilo de informaes, seja em seu processamento ou no armazenamento de dados. So comuns as atividades de compra pela Internet, transaes bancrias, consultas a informaes pessoais, sistemas de reserva de passagens entre outros, que exigem sistemas computacionais operando em redes de acesso como a Internet, o que requer a transmisso protegida de dados confidenciais. O projeto de SoCs que atendam as restries de segurana exige protocolos especiais de comunicao e tambm o uso da criptografia, cincia que se baseia na aritmtica para ocultar dados. Atualmente com a globalizao das indstrias de semicondutores e a verticalizao do processo de fabricao existe tambm a preocupao com a insero de armadilhas no projeto de SoCs, principalmente em SoCs para fins militares, segundo Adee em [ADE08]. Na Europa, por exemplo, todos os produtos com restries de segurana, antes de estarem disponveis ao mercado, so antes avaliados por uma agncia governamental responsvel por regulamentar a qualidade dos produtos. Na Frana, por exemplo, a Agence Nationale de la Securit des Systmes dInformation (ANSSI) emprega um plano denominado de Critrios Comuns para Avaliao da Segurana em Tecnologia da

22

Informao (em francs, Critres Communs pour lvaluation de la Scurit des Technologies de lInformation) onde constam vrios nveis de segurana os quais um produto submetido para avaliar vulnerabilidades, possibilidade de clonagem e riscos provocados por usurios mal intencionados [CCR06]. Este plano de avaliao desenvolvido em comum acordo com as demais agncias europias e norte-americanas de segurana, segundo o Padro Internacional ISO/IEC 15408:2005 [CCR06]. Nos Estados Unidos existe um programa governamental filiado ao NIST (do ingls, National Institute of Standards and Technology) responsvel por validar e avaliar os nveis de segurana de algoritmos criptogrficos. O Programa de Validao de Mdulos Criptogrficos (do ingls, Cryptographic Module Validation Program - CMVP) valida algoritmos usados em uma variedade de produtos tais como smart cards, dispositivos de armazenagem de dados e produtos com suporte a comrcio eletrnico entre outros. A Figura 1.1 apresenta um grfico do programa CMVP que demonstra o aumento da demanda por certificaes e validaes de mdulos criptogrficos nos EUA nos ltimos anos [NIS09].

Figura 1.1 Relatrio de emisses de certificados de validao de mdulos criptogrficos realizados pelo NIST nos EUA [NIS09].

Embora a criptografia tenha sido continuamente desenvolvida para garantir que algoritmos sejam robustos s tentativas de violao de dados confidenciais [CAN09] [MOR09] [NAO09], novas tcnicas demonstram que atravs de propriedades fsicas dos sistemas digitais possvel revelar os dados secretos processados. Esta classe de tcnicas conhecida como ataques a canais laterais ou escondidos (em ingls, Side Channel Attacks - SCA) explora a fuga de informaes sensveis a grandezas tais como o consumo de potncia, a radiao eletromagntica, o tempo de processamento, etc. Estas fugas permitem descobrir informaes secretas de um sistema, sobretudo aquelas protegidas de criptografia. Estes ataques procuram estabelecer uma relao de dependncia entre os dados processados e as grandezas fsicas analisadas. As vulnerabilidades tm origem principalmente nas caractersticas de implementao da tecnologia de fabricao de circuitos e tambm no paradigma sncrono tradicionalmente adotado para a concepo de

23

sistemas digitais [KOC99] [MOO02]. O consumo de potncia em circuitos pode ser modelado formalmente, e seu comportamento previsvel pode ser explorado via SCA. O mesmo ocorre com a radiao eletromagntica (em ingls, electromagnetic radiation EMR) do circuito, pois as variaes de corrente ocasionadas durante o processamento geram variaes proporcionais no campo eletromagntico radiado pelo circuito, deixando o sistema vulnervel tambm a este canal lateral. O processo de fabricao de CIs no garante que, por exemplo, os fios de um barramento de dados tenham o mesmo tempo de propagao. As ferramentas de sntese e as variabilidades do processo de fabricao do CI causam desalinhamentos destes fios o que os torna um sistema vulnervel, por exemplo, anlises de tempo de processamento [KOC96]. O projeto de sistemas criptogrficos, ou seja, sistemas digitais que utilizem criptografia para ocultar informaes confidenciais imunes a ataques por canais laterais (SCAs) uma rea de pesquisa relevante. Neste trabalho sistemas criptogrficos so tambm referenciados como criptosistemas, termo comumente encontrado na literatura. O restante deste Captulo introduz em maiores detalhes os fatores que influenciam na fuga de informaes por canais laterais na Seo 1.1. A Seo 1.2 apresenta as principais tcnicas de ataques a canais laterais. A Seo 1.3 introduz as alternativas de projeto de sistemas criptogrficos para resistir a ataques por canais laterais. Em seguida so apresentados os objetivos do trabalho na Seo 1.4. A contribuio original destacada na Seo 1.5 e as demais contribuies so listadas na Seo 1.6. Um resumo da organizao dos captulos que compem a presente tese conclui este Captulo na Seo 1.7. 1.1 PARADIGMA SNCRONO: PROBLEMAS E ALTERNATIVAS O desenvolvimento de SoCs em sua quase totalidade parte do pressuposto da discretizao de tempo. Este pressuposto submete todas as entradas do sistema temporizao de um nico sinal de controle, gerado externamente e denominado relgio (em ingls, clock). O pressuposto da discretizao de tempo pelo uso de um sinal de relgio global no projeto de sistemas digitais a caracterstica principal do estilo sncrono de projeto. O tempo transcorrido entre transies do sinal de relgio permite que os valores de entrada amostrados sejam usados na computao de novos resultados. Este tempo garante a estabilizao dos valores nas entradas e sadas de elementos de armazenamento, bem como a ocorrncia e o descarte adequado de valores transitrios no interior do circuito. O uso intensivo deste estilo de projeto na concepo de CIs VLSI bem como o uso da tecnologia de fabricao CMOS no traz apenas benefcios. A adoo de um nico relgio para controlar todo o sistema digital traz alguns problemas, tais como a distribuio global do relgio, o escorregamento e o consumo de potncia neste sinal [CHA08]. Estes problemas eram desprezveis at meados da dcada de 80 ou facilmente tratveis, porm comeam a se tornar difceis de resolver com a acentuada miniaturizao da tecnologia VLSI.

24

Segundo demonstram Ho et al. [HO01], medida que a tecnologia VLSI evolui, o tempo de propagao de sinais em fios globais vai cada vez mais exceder o perodo de relgio. Desde a tecnologia 130 nm necessrio em mdia mais de um perodo de relgio para um sinal propagando-se em um fio global atravessar todo o comprimento de um chip. Isto contribui para aumentar a complexidade de projeto de sistemas sncronos. A exigncia de altas freqncias de operao para aumentar a velocidade de processamento eleva o consumo de potncia, o que no desejvel, principalmente em produtos mveis tais como telefones celulares, games, PDAs, notebooks entre outros, caracterizando uma restrio do projeto de sistemas digitais com o paradigma sncrono. Alm desta restrio, a sincronizao das operaes com o uso do relgio global facilita a correlao entre dados e efeitos fsicos mensurveis externamente, como apresentado por Kocher [KOC96] [KOC99]. A necessidade de mtodos alternativos para projetar chips motiva o desenvolvimento de trabalhos tais como [CHA84] proposto por Chapiro. O Autor prope um novo mtodo de projeto denominado Globalmente Assncrono e Localmente Sncrono (do ingls, Globally Asynchronous Locally Synchronous - GALS) que visa eliminar os relgios globais em sistemas digitais. Esta soluo mantm o paradigma sncrono na concepo de mdulos funcionais, denominados de ilhas sncronas e elimina o problema do uso de sinais globais por empregar interfaces de comunicao assncrona entre mdulos. Trabalhos tais como [GUR06] [TEE07] [VAN08] se apoiam nos mtodos GALS de projeto para eliminar problemas causados por relgios globais. 1.2 FUGA DE INFORMAES POR CANAIS LATERAIS Em geral, um sistema criptogrfico utiliza uma palavra relativamente curta chamada de chave criptogrfica cujo segredo condiciona sua eficincia. Em sistemas criptogrficos modernos, conhecer a chave equivale a ser capaz de efetuar as operaes no criptosistema. Em 1996, Kocher [KOC96] apresentou o primeiro ataque por canal lateral, denominado de ataque por anlise de tempo (em ingls, Timing Attacks - TA). Este ataque analisa o tempo de execuo de operaes em um sistema criptogrfico. TA explora ligeiras diferenas na quantidade de tempo necessria para efetuar o processamento de diferentes dados. O ataque mostrou-se capaz de quebrar o sigilo de informaes em algoritmos tais como RSA (do ingls, Rivest Shamir Adleman) [RIV78] e Diffie-Hellman [DIF76]. Kocher et al. em 1999 [KOC99] provam ser possvel relacionar o consumo de potncia de um circuito digital com os dados processados. Estes Autores mostram que diferentes operaes aritmticas possuem diferentes traos de consumo de potncia, e denominaram este tipo de avaliao de Anlise Simples de Potncia (do ingls, Simple Power Analysis - SPA). Ainda, eles demonstram que com o uso de mtodos estatsticos possvel estabelecer uma correlao entre o consumo de potncia e os dados processados em um sistema criptogrfico, sendo este tipo de avaliao denominada de Anlise Diferencial de Potncia (do ingls, Differential Power Analysis - DPA).

25

Mais tarde, em 2001 Gandolfi et al. [GAN01] apresentam experimentos comprovando a possibilidade de encontrar uma chave criptogrfica atravs da anlise da radiao eletromagntica de sistemas criptogrficos usando os algoritmos DES (do ingls, Data Encryption Standard) ou RSA. Estas anlises so denominadas de Anlises Simples da Radiao Eletromagntica (do ingls, Simple Electromagnetic Analysis - SEMA) e Anlises Diferenciais da Radiao Eletromagntica (do ingls, Differential Electromagnetic Analysis - DEMA). As anlises por consumo de potncia, principalmente as anlises DPA so as mais citadas na literatura, devido ao seu baixo custo de execuo e eficincia. Estas anlises exploram basicamente duas caractersticas dos circuitos: o comportamento da tecnologia CMOS quanto ao consumo de energia e o sincronismo das operaes controladas pelo sinal de relgio. Com base nestes fatores, atacantes exploram a relao deste canal lateral com os dados processados pelo circuito. Maiores detalhes sobre esta anlise so apresentados no Captulo 2 do presente trabalho. Os trabalhos citados nesta Seo deram incio a uma importante rea de pesquisa em segurana de projeto de sistemas digitais. As vulnerabilidades encontradas em sistemas criptogrficos despertaram o interesse da comunidade acadmica e da indstria de semicondutores, alm de levantar questes de segurana, por exemplo, em entidades governamentais. Outras formas de ataques derivados destas primeiras propostas so encontradas na literatura. Exemplos so os ataques por correlao de modelos de potncia [BRI04], anlises de consumo de potncia de segunda ordem [PRO09], e outras alternativas, revisadas no Captulo 2 deste trabalho. O desenvolvimento de solues que reduzam a fuga de informaes a nveis que tornem impraticvel a obteno de dados sigilosos ento um tema pertinente de pesquisa. 1.3 ALTERNATIVAS PARA EVITAR A FUGA DE INFORMAES O problema da fuga de informaes por canais laterais tornou-se uma preocupao no projeto de sistemas digitais que operam com informaes confidenciais tais como smart cards. Um smart card nada mais que um circuito integrado embutido em um carto plstico que permite o armazenamento, processamento e comunicao de dados de forma segura em uma rede de comunicao pblica. Muitos trabalhos tm sido propostos desde ento, visando evitar a fuga de informaes ou neutralizar a ao de atacantes, pessoas mal intencionadas com alto conhecimento tcnico. Na literatura encontram-se basicamente relatos de trs abordagens para reduzir as vulnerabilidades dos sistemas criptogrficos a SCAs, sendo elas: Injeo de rudo Uniformizao do consumo de potncia Mascaramento de dados

A primeira abordagem visa construir circuitos de modo que o consumo de potncia seja aleatrio durante a execuo do algoritmo de encriptao. Assim, a fuga de

26

informaes ocultada por rudos que dificultam a ao dos atacantes. Isto pode ser feito em diferentes nveis de abstrao do projeto, tais como no nvel da arquitetura [GUR06] [STA04] e no nvel de portas lgicas [ZAF08] [LU08]. A maioria das propostas de contramedidas que utilizam esta abordagem adiciona hardware extra e/ou atrasos pseudo-aleatrios ao processamento para dificultar as anlises DPA [BEN03] [STA04] [ZAF08] [LU08] [KAM09]. Algumas propostas sugerem mtodos especficos para implementar a abordagem. Os trabalhos [ZAF08] e [LU08] prope a insero de atrasos aleatrios em nvel de circuito, visando aumentar a robustez de sistemas a anlises DPA. Este mtodo intuitivo pode ser superado por ataques especializados, tal como demonstrado em [NAG07], pois a encriptao completa de um dado realizada com a mesma freqncia de relgio. Kamoun et al. [KAM09] propuseram a replicao das funes vulnerveis do algoritmo criptogrfico AES, de modo a gerar rudo no consumo de potncia e assim ocultar a fuga de informaes. Standaert et al. [STA04] propuseram o uso de uma arquitetura pipeline para neutralizar ataques DPA. Os resultados revelam reduo significativa na fuga de informaes, embora existam relatos de ataques DPA bem sucedidos, mesmo que com uma pequena margem de certeza de hipteses corretas de chave. A segunda abordagem visa alterar as caractersticas de consumo de potncia do circuito de modo a obter um consumo uniforme e independente dos dados processados durante a encriptao. A maior parte das solues propostas opera no nvel de portas lgicas, havendo a proposio de vrios estilos lgicos especficos [CIL10] [KUL08] [RAM08] e fluxos de projetos [GUI08b] a fim de reduzir a fuga de informaes sigilosas atravs de canais laterais. O uso do paradigma assncrono de projeto uma alternativa para a concepo de sistemas robustos a DPA conforme [BOU05] [KUL05] [CHE06] [TIR04], mas existem vulnerabilidades resultantes do processo de sntese de hardware, segundo estudos realizados por Razafindraibe et al. em [RAZ07]. A terceira abordagem visa mascarar os valores intermedirios produzidos durante a execuo do algoritmo de encriptao, ou seja, estes valores so alterados de modo que sejam independentes dos valores realmente produzidos. Embora as caractersticas de consumo de potncia dos circuitos sejam as mesmas, a abordagem previne a ao dos ataques pela alterao dos valores intermedirios apenas. Diversas propostas de sistemas criptogrficos empregando mascaramento de dados so encontradas na literatura tais como [PRA04], [HUI07], [GHE08], [MES05] os quais sero discutidos em mais detalhes no Captulo 3 deste trabalho. Cabe salientar que em muitos trabalhos o termo mascaramento utilizado para descrever a tentativa de ocultar a fuga de informaes pela insero de rudo ou atrasos ao processamento, como prope a primeira abordagem. Este comportamento difere da terceira abordagem onde realmente existe a aplicao de uma mscara gerada aleatoriamente a fim de modificar os dados antes e/ou durante a execuo do algoritmo de criptografia. Neste trabalho o termo mascaramento ser utilizado apenas para os mtodos descritos como esta terceira abordagem de contramedida.

27

1.4 OBJETIVOS Esta tese prope contramedidas para a concepo de sistemas criptogrficos imunes a anlises diferenciais de potncia (DPA) e anlises diferenciais de radiaes eletromagnticas (DEMA). Esta Seo lista os objetivos estratgicos e especficos deste trabalho. Os objetivos estratgicos desta tese so: Contribuir para a pesquisa em Segurana a Sistemas Embarcados; Revisar o problema da fuga de informaes atravs de canais escondidos; Dominar e avaliar os mtodos empregados para resolver este problema; Dominar a metodologia no-sncrona de projeto adotada como base de projeto para a tese; Dominar o funcionamento do algoritmo criptogrfico DES usado como estudo de caso neste trabalho; Propor solues de imunizao usando duas abordagens diferentes; Avaliar as solues propostas.

Para alcanar os objetivos estratgicos so realizadas atividades para atingir os seguintes objetivos especficos: Definir uma infraestrutura para a prototipao de circuitos no-sncronos em FPGAs:
o Propor uma biblioteca de hard macros (mdulos implementados por componentes primitivos do FPGA permitindo restries temporais ou de posicionamento); Definir um protocolo de comunicao assncrono entre as ilhas sncronas; Propor um subsistema de gerao pseudo-aleatria de sinais de relgio; Propor a replicao dos mdulos funcionais do algoritmo DES de modo a obter uma arquitetura pipeline; Encapsular os mdulos funcionais em ilhas sncronas; Validar os sistemas com e sem contramedidas.

Definir uma infraestrutura GALS adequada para implementar contramedidas:


o o o o o

Propor diferentes configuraes de pipelines para avaliar a robustez a ataques DPA e DEMA; Avaliar a infraestrutura proposta quanto aos custos em rea, vazo e latncia:
o Construir um sistema preciso para medio de potncia e de radiao eletromagntica.

1.5 ORIGINALIDADE DA TESE A originalidade do trabalho consiste na proposta de contramedidas a anlises DPA e DEMA, visando explorar a lacuna existente pela combinao dos mtodos de insero de atrasos, uso de arquiteturas pipeline e o mtodo GALS de projeto associado variao dinmica de freqncia. Os mtodos de insero de rudo aplicam-se sobre o processamento completo de um algoritmo, sendo facilmente contornados por tcnicas de ressincronizao existentes. As arquiteturas pipelines encontradas na literatura so sncronas, o que facilita a ao de atacantes, devido ao determinismo do relgio. O

28

paradigma GALS permite a combinao de arquiteturas pipeline com tcnicas de variao dinmica de freqncia. Desta forma, potencializa os efeitos de aleatoriedade sobre padres de consumo e radiao eletromagntica. Conseqentemente, melhoram a robustez a estes tipos de anlises, conforme demonstram os experimentos descritos e realizados aqui. 1.6 CONTRIBUIES DA TESE O presente trabalho tem duas principais contribuies para a concepo de sistemas criptogrficos robustos a ataques DPA e DEMA: (i) o desenvolvimento de um prottipo de uma biblioteca lgica assncrona para prototipao em FPGAs; (ii) a proposta de arquiteturas GALS pipeline. Estas contribuies podem ser resumidas do seguinte modo: Prottipo STTL: 1. Prottipo em FPGA da lgica assncrona com codificao em trs trilhas desenvolvida em standard cells por Razafindraibe et al. [RAZ07], denominada de lgica segura em trs trilhas (em ingls, Secure Triple Track Logic - STTL). 2. Automatizao do fluxo de projeto de circuitos STTL usando hard macros. 3. Infraestrutura para medio do consumo de potncia e da radiao eletromagntica de circuitos prototipados em FPGA. 4. Avaliao da robustez do prottipo da lgica STTL. Arquiteturas GALS Pipeline: 1. Diversos prottipos do algoritmo DES onde o lao do algoritmo desenrolado em estgios de hardware de diferentes maneiras, validados em FPGA. 2. Infraestrutura GALS para o projeto de um pipeline com estgios sncronos e comunicao assncrona entre estgios. 3. Infraestrutura para a implementao de estgios com domnios de freqncia diferentes e variao da freqncia para cada dado processado. 4. Avaliao da robustez das arquiteturas GALS pipeline propostas. 1.7 ORGANIZAO DO DOCUMENTO O restante deste documento organiza-se da seguinte forma. O Captulo 2 apresenta um estudo sobre o consumo de potncia em circuitos com tecnologia CMOS e o fluxo de execuo de um ataque DPA, mostrando as vulnerabilidades da tecnologia. O Captulo 3 apresenta trabalhos relacionados aos temas abordados nesta tese. No Captulo 4 discutese um conjunto de experimentos relacionados ao uso de lgica assncrona orientada a FPGAs como contramedida a SCAs. O Captulo 5 detalha uma proposta geral de contramedida usando o paradigma GALS pipeline. O Captulo 6 conclui a Tese, destacando os trabalhos desenvolvidos no contexto do doutorado, as contribuies deste e apontando um conjunto de atividades de continuidade para o trabalho.

29

2. DEFINIES BSICAS
Este Captulo explora alguns conceitos bsicos relacionados criptografia e criptoanlise. Alm disso, apresentada uma classificao para os diversos tipos de criptoanlise, e um detalhamento sobre anlises de consumo de potncia, sua base terica e sua dinmica para revelar o contedo de uma mensagem. Estas anlises serviro como ferramenta para avaliar as arquiteturas propostas no presente trabalho quanto robustez a anlises DPA e DEMA. Utilizam-se aqui definies bsicas de textos clssicos, tais como o livro de Schneier [SCH96]. Suponha que um emissor deseja enviar uma mensagem a um receptor. Suponha tambm que o emissor deseja enviar a mensagem de forma segura, tal que nenhum outro ente exceto o receptor possa ler a mensagem. O processo de disfarar uma mensagem para conseguir este intento denominado de encriptao. O processo de obter a mensagem original a partir da mensagem encriptada se denomina decriptao. Criptografia a cincia responsvel por manter mensagens seguras e ela praticada por criptgrafos. Os criptoanalistas so os praticantes da criptoanlise, a arte e a cincia de violar textos encriptados. Diz-se que um criptoanalista realiza um ataque criptogrfico quando este busca violar um texto encriptado. O ramo da matemtica que inclui criptografia e criptoanlise a criptologia, e seus praticantes so denominados criptologistas. 2.1 CRIPTOLOGIA A criptologia, palavra derivada do grego krypto (oculto) e logos (estudos), tem como objetivo a concepo e anlise de mecanismos que permitem assegurar a integridade, autenticidade e a confidencialidade de dados em comunicaes. As Sees seguintes discutem sobre a criptografia e a criptoanlise. 2.1.1 CRIPTOGRAFIA A criptografia a cincia que se baseia no estudo de princpios e tcnicas pelas quais mensagens podem ser transformadas de sua forma original para outra ilegvel, de forma que possam ser conhecidas apenas pelos entes comunicantes, emissor e receptor. A operao de transformar os smbolos que compem uma mensagem em uma sucesso distinta de smbolos aplicando clculos de modo que o apenas o receptor das mensagens, de posse de informao privilegiada, possa decifr-las, a essncia da encriptao. A criptografia realizada geralmente com ajuda de uma chave criptogrfica. Uma chave criptogrfica um conjunto de smbolos que permite ao receptor da mensagem aplicar o processo de decriptao a um texto encriptado e assim obter a mensagem original. A chave ou est intimamente relacionada ao conceito de senha, muito difundido entre usurios finais de aplicaes que empregam criptografia como forma de obter segurana na comunicao de dados sensveis. O objetivo principal de ataques criptogrficos descobrir chaves.

30

De acordo com a forma de disponibilizao de chaves, os algoritmos de criptografia podem ser classificados em duas categorias: os algoritmos com chave privada e os algoritmos com chave pblica [SCH96]. Os algoritmos com chave privada, tambm conhecidos como algoritmos simtricos, tm por princpio a utilizao de uma mesma chave para as operaes de encriptao e decriptao de mensagens. Esta ltima implica que as entidades que desejam se comunicar de maneira segura devem imperativamente trocar a chave e este o principal inconveniente desta classe de algoritmos. Dentre os algoritmos de criptografia com chave privada, pode-se destacar o DES, o triplo DES (3-DES) e o AES. Este trabalho concentrar esforos nesta categoria de algoritmos, particularmente no algoritmo DES, por ter uma grande aplicao em smart cards [SEL09]. Embora seu sucessor AES opere com chaves de at 256 bits e tambm permita o emprego da abordagem proposta neste trabalho, a escolha pelo algoritmo DES foi tomada com base na experincia de estudos de caso anteriores realizados pelo grupo de pesquisa ao qual os Autores deste trabalho esto inseridos. Os algoritmos com chave pblica, tambm conhecidos como algoritmos assimtricos, tm por princpio a utilizao de duas chaves: uma chave publicamente disponvel para a encriptao e uma chave privada para a decriptao. Em um sistema de criptografia deste tipo, usurios escolhem uma chave aleatria que apenas eles devem conhecer (a chave privada). A partir desta chave e de um algoritmo eles geram a chave pblica. Em seguida, os usurios disponibilizam a chave pblica atravs de canais possivelmente no-seguros. Qualquer emissor pode assim criptografar mensagens com a chave pblica que somente podero ser decriptadas pelo receptor, de posse de sua chave privada. A comunicao bidirecional pressupe ento o uso de duas chaves pblicas e duas chaves privadas, todas distintas. Este tipo de algoritmo foi estabelecido inicialmente por Diffie e Hellman [DIF76], a fim de resolver o problema ligado transferncia de chaves secretas. Dentre os algoritmos de criptografia com chave pblica pode-se destacar o RSA, o El Gamal e o DSA (em ingls, Digital Signature Algorithm). 2.1.2 CRIPTOANLISE A encriptao de mensagens via algoritmos de criptografia necessria devido aos inmeros meios disponveis hoje para quebrar o sigilo de mensagens. Uma tentativa de criptoanlise comumente chamada de ataque criptogrfico. Entre os vrios tipos de ataques existentes, possvel agrup-los em duas grandes famlias, os ataques lgicos e os ataques fsicos. Inicialmente, revisam-se ataques lgicos, que exploram as vulnerabilidades matemticas dos algoritmos. Em seguida, revisam-se os ataques fsicos, que exploram as vulnerabilidades fsicas dos dispositivos eletrnicos que do suporte execuo de algoritmos de criptografia, tambm referenciados neste trabalho como sistemas criptogrficos.

31 ATAQUES LGICOS

Dentre os ataques que exploram as vulnerabilidades matemticas possvel dividilos em dois grupos, sendo eles lineares e diferenciais. Os ataques lineares propostos por Matsui em 1993 [MAT93] estudam as relaes existentes entre os bits de uma mensagem, os bits da mensagem encriptada correspondente, ou criptograma correspondente, e da chave utilizada na criptografia. Estas relaes so usadas para obter uma expresso linear capaz de predizer valores dos bits da chave quando muitas mensagens e os respectivos criptogramas so conhecidos. Aumentado o nmero de pares mensagemcriptograma disponvel, possvel melhorar a preciso da aproximao. Os algoritmos de criptografia devem apresentar resistncia a este tipo de ataque. Na literatura so 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 dispe de vrios pares mensagem-criptograma escolhidos, cujas diferenas entre os respectivos criptogramas so analisadas. Entende-se por diferena a operao de ou-exclusivo (XOR) entre dois criptogramas. A criptoanlise realizada sobre pares de criptogramas encriptados com a mesma chave e cujas mensagens correspondentes possuem certo valor particular de diferena. O efeito desta diferena analisado atravs das n iteraes do algoritmo resultando em parmetros que permitem inferir possveis valores da chave utilizada no processo de encriptao. Estes parmetros so expressos analiticamente atravs de probabilidades e so usados como indicadores para tomada de deciso de qual chave foi utilizada para cifrar a mensagem criptoanalisada. O mtodo fornece como resultado um conjunto de probabilidades associadas respectivamente a um conjunto de chaves. A deciso pela chave correta feita escolhendo-se aquela cuja probabilidade a de maior valor. Na literatura so encontradas diversas propostas baseadas nos ataques diferenciais de Bihan, tais como [JIE06] [DUN07] [JAK07].
ATAQUES FSICOS

Nos ltimos anos vrios tipos de ataques a sistemas criptogrficos tm surgido com o propsito de revelar a chave criptogrfica destes sistemas. Entretanto, ataques usados para alcanar este objetivo apresentam-se de vrias maneiras se diferenciando significativamente em termos de custo, tempo, equipamentos necessrios e conhecimento tcnico. Em conseqncia, existem vrios modos de classific-los. Na literatura comumente encontrada a classificao segundo dois critrios ortogonais. O primeiro destes divide os ataques com relao ao controle sobre o dispositivo, classificando-os como passivos ou ativos. Ataques Passivos: o sistema criptogrfico opera normalmente dentro de suas especificaes. O ataque consiste apenas em observar as propriedades fsicas do dispositivo tais como tempo de execuo, consumo de potncia e radiao eletromagntica.

32

Ataques Ativos: Estes ataques controlam as entradas e/ou o ambiente onde o sistema criptogrfico 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 critrio classifica os ataques segundo a interface do dispositivo explorada pelos atacantes. Os sistemas criptogrficos tm diversas interfaces fsicas e lgicas. Algumas destas podem ser acessadas facilmente enquanto outras exigem equipamentos especiais. Com base nestas interfaces os ataques fsicos podem ser classificados em trs grupos: Ataques invasivos: nestes ataques no existem limites para se manipular o dispositivo eletrnico visando revelar a chave secreta do sistema. Tipicamente, inicia-se com a remoo do encapsulamento do dispositivo. A seguir, componentes so acessados diretamente por sondas especiais para observar sinais em um barramento (ataques passivos), por exemplo, ou provocar a alterao da funcionalidade do dispositivo em um ataque ativo. Estes ataques violam a integridade fsica do dispositivo, impossibilitando seu uso aps o ataque. Alm disso, exigem equipamentos especiais, o que torna os ataques extremamente caros. Exemplos deste ataques:
Ataque por sondagem consiste em espionar a atividade eltrica do componente extrado do circuito, com a ajuda de uma sonda. Esta tcnica permite recuperar os dados transitando dentro do circuito, mas permite tambm impor valores lgicos 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 criptogrfico. Ataques por reconstruo de leiaute (engenharia reversa): consistem em estudar o componente eletrnico extrado, para determinar de maneira precisa a estrutura interna e assim deduzir seu funcionamento. Para isto necessrio extrair as informaes sobre o local exato de todos os transistores e de todas as conexes, 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 tambm tem seu encapsulamento removido. Entretanto, diferentemente dos ataques invasivos, no existe contato eltrico com o circuito do dispositivo, ou seja, o circuito permanece intacto. Tipicamente estes ataques no exigem equipamentos caros, porm os esforos para execut-los so relativamente altos, pois o processo de localizar a posio correta dos componentes para um ataque na superfcie de um chip moderno exige tempo e conhecimentos especializados. possvel citar como exemplo os seguintes ataques:
Ataques por injeo 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 ento explorar

33 os mesmos para revelar informaes secretas. No entanto, estes ataques precisam criar modelos de falhas, exigindo competncias particulares e um conhecimento detalhado da estrutura interna do circuito. Sua eficincia representa hoje um forte perigo para a segurana de criptosistemas. Ataques eletromagnticos produzida consistem por um em revelar e analisar A a radiao dos

eletromagntica

circuito

criptogrfico.

maioria

criptosistemas atuais cadenciada por um sinal de relgio que sincroniza a operao de todo o circuito. Todos os sinais eltricos so decorrentes do movimento de cargas eltricas provocado por foras eltricas. Este movimento de cargas produz campos eltricos e magnticos. Ciente de que estes sinais eltricos so fortemente dependentes dos dados manipulados, uma anlise minuciosa da radiao eletromagntica pode permitir descobrir informaes secretas contidas no dispositivo. Estes ataques podem ser classificados como semi-invasivos caso ocorra o processo de retirada do invlucro do circuito, mas normalmente so considerados no-invasivos.

Ataques no-invasivos: Neste ataques apenas as interfaces diretamente acessveis so atacadas. O dispositivo no permanentemente alterado, fato que no deixa evidncias de que um ataque tenha sido realizado. A maioria destes ataques realizada a custos reduzidos, se comparado a ataques invasivos. Isto os torna uma sria ameaa segurana de sistemas criptogrficos. Em particular ataques passivos e no-invasivos tm recebido uma grande ateno durante os ltimos anos. Estes ataques so freqentemente referenciados como ataques a canais laterais (SCAs). Prover solues 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 clculo, consumo de potncia, radiao eletromagntica). Estes canais laterais correlacionam-se com o estado interno do circuito, sendo possvel a partir deles extrair algumas informaes secretas. Alguns exemplos deste tipo de ataque:
Ataques por anlise de tempo, propostos por Kocher em 1996 [KOC96] exploram a correlao entre os dados processados e o tempo de processamento durante as operaes criptogrficas. Algoritmos criptogrficos tm tempos de clculo dependentes dos dados e da chave secreta. Uma anlise destes tempos pode permitir revelar o valor da chave secreta. Ataques por anlise do consumo de potncia consistem em analisar o consumo de potncia de dados manipulados em um circuito a fim de extrair a chave criptogrfica. Este trabalho tem nfase nos ataques por anlise do consumo de potncia e por anlise da radiao eletromagntica como modo de avaliar a robustez das arquiteturas propostas.

34 Neste caso, as anlises de radiao eletromagnticas so no-invasivas, pois nenhum tipo de alterao do empacotamento do FPGA realizado. Os ataques por anlise de tempo so ignorados no processo de avaliao deste trabalho.

2.2 ATAQUES POR CONSUMO DE POTNCIA Esta Seo detalha ataques por anlise do consumo de potncia. Em um primeiro instante revisam-se caractersticas do consumo de potncia em circuitos CMOS. A seguir, detalham-se os ataques por anlise diferenciais de potncia. 2.2.1 CARACTERSTICAS DO CONSUMO DE POTNCIA EM CIRCUITOS CMOS Para entender o fundamento de ataques por anlise de consumo de potncia, em particular os ataques DPA, necessrio revisar as caractersticas de consumo de potncia da tecnologia CMOS. Como ilustrado na Figura 2.1, um circuito CMOS sncrono tipicamente composto de estgios, formados por portas lgicas e delimitado por registradores, que por sua vez so compostos de transistores operando como chaves.

Figura 2.1 - Diagrama esquemtico mostrando a estrutura de um estgio em um circuito CMOS sncrono.

A potncia consumida em tais circuitos depende da atividade de chaveamento de seus componentes. Esta atividade promovida pela variao dos dados de entrada no circuito, bem como pela atividade na rede de distribuio de relgio. Inicialmente, assumese que o circuito encontra-se em um estado de equilbrio, onde todos os sinais de entrada tm valores constantes e esto estveis, nenhum sinal interno encontra-se chaveando e os sinais de sada esto tambm em valores estveis. Variaes nos sinais de entrada provocam o chaveamento de sinais internos na primeira parte do estgio, o registrador de entrada. Caso haja ento uma transio do sinal de relgio, as mudanas nas entradas propagam-se para a segunda parte do estgio (o circuito combinacional) e at a terceira parte do estgio (o registrador de sada). Uma transio posterior do sinal de relgio pode ento propagar valores para fora do estgio, alterando os sinais da sada do estgio. A sequncia de atividades de chaveamento descrita se tomada em nvel de todo o circuito, com todos seus estgios considerados, definida como uma transio de estado do

35

circuito. Deste modo, pode-se afirmar que o consumo de potncia de um circuito depende das transies de estado e tambm do estado em que o mesmo se encontra [SZE02]. As fontes de dissipao de potncia em um circuito CMOS podem ser divididas em duas classes de contribuies: componentes estticos e componentes dinmicos. No caso de uma porta CMOS, componentes estticos correspondem potncia dissipada quando este se encontra em estado de equilbrio, ou seja, quando no passa por transies nas suas entradas ou sadas. Idealmente, o consumo de potncia esttica de um circuito lgico CMOS deveria ser nulo na ausncia de atividade. Contudo, transistores no so chaves perfeitas. Mesmo em estado de equilbrio, eles apresentam uma corrente de fuga responsvel pela dissipao esttica de potncia. Em tecnologias mais recentes esta componente de dissipao tem se tornado cada vez mais relevante [KIM03]. A potncia dinmica costumava ser e em alguns casos ainda a principal fonte de dissipao nos circuitos CMOS. Esta potncia dissipada durante as transies de estado do circuito. possvel admitir que a potncia esttica seja insignificante diante da potncia dinmica enquanto o circuito est em plena atividade tal como, por exemplo, a execuo de uma encriptao de dados. Por conseqncia, possvel exprimir a potncia consumida por uma porta CMOS de acordo com a equao (1): P = CLVdd 2 F (1)

Nesta Equao, representa a taxa de atividade da porta, CL representa a carga capacitiva desta, F a freqncia de operao e Vdd corresponde tenso de alimentao. Nesta Seo, a fim de limitar o escopo das anlises, sero consideradas apenas as cargas/descargas capacitivas como as principais fontes de consumo de potncia. Em tecnologias de at 130nm possvel afirmar que a potncia esttica em um circuito CMOS insignificante em relao potncia dinmica. A partir das tecnologias de 65nm ou menores o consumo de potncia esttico pode tornar-se a maior componente no consumo de potncia total de um circuito. Isto leva a crer que os efeitos causados pela encriptao de dados em criptosistemas correspondem menor parte do consumo total de potncia do sistema. Logo se espera que as fugas de informao por este canal lateral sejam atenuadas em tecnologias com dimenses inferiores a 65nm. 2.2.2 ANLISE DO TRAO DE CONSUMO DE CORRENTE Os ataques por anlise do consumo exploram as variaes instantneas de corrente de um circuito. Nesta Seo so apresentados alguns parmetros do ambiente em que o circuito se encontra e parmetros da tecnologia de concepo que influenciam nas variaes do consumo de corrente das portas lgicas CMOS, seguindo estudo realizado por Razafindraibe et al. [RAZ04] [RAZ06]. O trao de consumo de corrente de uma porta lgica CMOS depende de parmetros do ambiente no qual a porta est inserida e da tecnologia adotada, conforme

36

[AUV00] [NIK99]. Entre os parmetros do ambiente inclui-se a rampa de entrada, definida como o tempo no qual um sinal transita do nvel lgico 0 para 1 ou de 1 para 0, e a carga ou, em ingls, fan-out, definido como o nmero mximo de portas de entrada s quais uma porta de sada pode conectar-se. Entre os parmetros da tecnologia de concepo esto a topologia do circuito e o dimensionamento dos transistores, entre outros. A fim de identificar o modo como alguns destes parmetros influenciam os traos de corrente, Razafindraibe et al. em [RAZ04] [RAZ06] desenvolveram simulaes eltricas sobre circuitos CMOS com diferentes complexidades e dimenses, usando uma tecnologia 130nm. O circuito inversor CMOS mostrado na Figura 2.2 foi usado como referncia nestes estudos.

Vdd
W = 1.00 L = 0.13

Vin
W = 0.85 L = 0.13

Vout CL

Figura 2.2 Inversor CMOS dimensionado em uma tecnologia 130 nm.

Primeiramente, analisa-se o impacto do parmetro carga (CL) sobre os traos de corrente. Para simular a ao deste parmetro no consumo de corrente do circuito utilizase um capacitor com valor CL que reproduz o comportamento eltrico de outras portas de entrada conectadas sada do circuito. Neste caso, o parmetro carga diretamente proporcional capacitncia CL. Simulou-se o circuito inversor CMOS submetido s seguintes condies: rampa de entrada constante (in=100ps) e a diferentes cargas (4fF 160fF). Em um segundo instante, observou-se o efeito do parmetro rampa de entrada sobre o trao de corrente, com o inversor submetido a uma carga constante (40fF) e a diferentes valores de rampa de entrada (10ps a 600ps). Os resultados da simulao aparecem na Figura 2.3. Vin representa as possveis transies de entrada [1-0], entre os instantes 0 e 1ns, e [0-1] entre 3ns e 4ns. As curvas Vout representam a tenso de sada do circuito para as diferentes cargas. I(Vdd) representa a corrente consumida durante as transies. A anlise destes resultados permite concluir que as transies [0-1] e [1-0] produzem circulao de corrente com amplitudes significativas. A partir da Figura 2.3, percebe-se que as transies de entrada [1-0] produzem consumo de corrente significativamente superiores s transies [0-1]. O trao de corrente de um inversor depende significativamente da capacitncia de carga CL. A Figura 2.3 representa a evoluo temporal das correntes de carga e descarga para diferentes valores de CL. Contudo, a partir de certo valor de CL, a amplitude mxima de corrente no depende mais do valor de CL. Neste instante, o valor mximo de corrente limitado pelas caractersticas de conduo de corrente dos transistores. Em

37

conseqncia, os traos de corrente tm tendncia a se espalhar no tempo de maneira proporcional ao valor da carga.

Tension (v)

Vout
80f 160f

Vin

80f 160f

I(Vdd) C ourant (A )

80f

160f

Temps (s)

Figura 2.3 Avaliao do consumo de corrente devido variao de valores de capacidade de carga CL [RAZ06].

Os traos de corrente so muito sensveis a variaes de inclinao da rampa de entrada. Como mostra a Figura 2.4, a amplitude mxima de corrente diretamente proporcional inclinao da rampa de entrada. Por outro lado, uma diminuio da inclinao da rampa de entrada se traduz em um deslocamento temporal da resposta do inversor e por conseqncia, dos traos de corrente.

Figura 2.4 Avaliao da corrente para diferentes valores de rampa de entrada in [RAZ06].

38

A fim de avaliar a influncia de conexes srie/paralelo de transistores em uma porta lgica sobre o trao de corrente, Razafindraibe et al. utilizaram uma porta lgica NAND de duas entradas (NAND-2) da Figura 2.5 como estudo de caso. Durante as simulaes, a rampa de entrada (in=100ps) e a carga (40f) so constantes. Os parmetros que variam neste caso so apenas a ordem de chegada dos sinais e os valores de entrada.
Vdd A B Vdd
W = 0.77 L = 0.13

Vout A B
W = 0.64 L = 0.13

CL

Figura 2.5 Esquemtico de uma porta NAND de duas entradas. Figura 2.6 apresenta o consumo de corrente em uma porta de NAND-2 em funo das possveis combinaes de transies de entrada. A amplitude mxima de corrente proporcional ao nmero de transistores em comutao. Por outro lado, assim como os atrasos de propagao da porta, a durao dos traos de corrente muito sensvel s combinaes de transies de entrada.
300u

A [1-0], B [1-0]
150u

B=1, A [1-0] A=1, B [1-0]

Charge de CL

Courant (A)

0 200p 400p 600p 800p 1n

B=1, A [1-0] A=1, B [1-0] A [1-0], B [1-0]

Dcharge de CL

50u 2n 2.2n 2.4n 2.6n 2.8n

Temps (s)

Figura 2.6 Avaliao da corrente segundo os vetores de entrada [RAZ06].

Como possvel observar na Figura 2.6 o consumo de potncia dinmica maior quando ambas as entradas chaveiam simultaneamente do nvel lgico 1 para 0. Neste caso, possvel relacionar o consumo de potncia dinmica de circuitos CMOS ao peso Hamming da porta de sada de dados do circuito. Por definio, peso Hamming (em ingls, Hamming Weight HW) o nmero de bits diferentes do nvel lgico 0. Logo,

39

possvel modelar o consumo de potncia em circuitos CMOS segundo o peso Hamming das sadas do circuito em anlise. A fim de observar o impacto da atividade de um circuito sobre o trao de corrente, Razafindraibe et al. avaliam o consumo de corrente de um circuito composto por um grupo de portas NAND-2, conforme ilustra a Figura 2.7. As condies de controle, rampa de entrada (in=100ps) e cargas capacitivas (CL= 20fF) so mantidas constantes. Apenas a taxa de atividade () do circuito variada, ou seja, a probabilidade de transio das portas a cada perodo de relgio. Neste estudo de caso, pressupe-se que as simulaes se desenvolvem durante um perodo de relgio e considera-se que no instante t=0s, todas as sadas so 0. Nestas condies, a taxa de atividade simplesmente o nmero de portas comutando dividido pelo nmero total de portas. O nmero de portas comutando representa seu peso Hamming.
a)
In1 In2 CL In3 In4 CL In5 In6 CL In7 In8 CL Temps (s)
0 1m

b)
= 4/4 , H=4 = 3/4 , H=3 Courant (A)

0.5m

= 2/4 , H=2

= 1/4 , H=1

H=0

Figura 2.7 Descrio do experimento de observao do impacto da atividade de um circuito sobre o trao de corrente. a) Conjunto de portas NAND2, b) avaliao da corrente em funo da taxa de atividade .

Como de se esperar, quanto maior for a atividade do circuito maior ser a amplitude de corrente, ou seja, a amplitude de corrente em um circuito proporcional ao peso Hamming dos dados processados. Atravs destes estudos de caso realizados por simulao, possvel notar que o trao de corrente de um circuito CMOS depende dos valores de cargas capacitivas, valores de rampa de entrada, do tipo de transies efetuadas, da atividade do circuito ou ainda do peso Hamming dos dados tratados. Conseqentemente, uma anlise detalhada dos traos de corrente pode permitir a descoberta dos dados manipulados. No caso da Figura 2.7 (b), uma simples observao das formas de onda de corrente permite concluir sobre os dados calculados. No domnio da criptoanlise, isto conhecido como anlise de potncia simples ou SPA. Do ponto de vista de segurana claramente estabelecido que o fundamento dos ataques por anlise de consumo de potncia a dependncia entre os dados manipulados e o trao de corrente. A mesma anlise pode ser feita para circuitos

40

prototipados em FPGA, que por sua vez so fundamentalmente circuitos CMOS programveis. Logo, esto sujeitos aos mesmos problemas de fuga de informao. 2.2.3 ATAQUES POR ANLISE DE POTNCIA SIMPLES Introduzidos por Kocher et al. em [KOC99], os ataques por anlise do consumo de potncia exploram essencialmente duas dependncias: a dependncia de dados e a dependncia de operaes. Kocher et al. observaram que os traos de consumo de potncia diferem para diferentes operaes e para diferentes dados. Os ataques que exploram estas dependncias realizando uma interpretao direta de traos de potncia medidos durante operaes criptogrficas so referenciados como ataques SPAs. Estes ataques exigem um conhecimento detalhado sobre o modo de implementao do algoritmo criptogrfico executado no dispositivo atacado, alm de exigirem conhecimento do algoritmo criptogrfico. SPAs so teis quando apenas um trao ou poucos traos de potncia esto disponveis para um conjunto de dados de entrada. O ataque explora diferenas dentro de um trao causadas por dependncias da chave. Kocher et al. realizaram experimentos com o algoritmo DES para demonstrar a efetividade desta anlise. Detalhes sobre este algoritmo esto disponveis no Anexo B deste trabalho. A Figura 2.8 representa o trao de corrente correspondente a um clculo criptogrfico com o DES: a permutao inicial, as 16 rodadas e a permutao final so claramente identificveis. Neste caso, os ataques SPAs possuem preciso para identificar as diferentes operaes e suas instncias de ocorrncia.
Permutao inicial 1 16 rodadas
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Permutao final Tempo (ms)


Figura 2.8 Trao de corrente correspondente ao processamento de um dado no algoritmo criptogrfico DES.

Na anlise de Kocher et al. [KOC99a], uma observao detalhada sobre as rodadas 2 e 3 permitiu identificar os traos de corrente dos blocos de gerao de subchaves do algoritmo DES e concluir sobre diferentes operaes tais como permutaes e deslocamento esquerda as quais a chave submetida. Alm disso, a cada operao de deslocamento, um teste sobre o valor de um bit da chave efetuado. De acordo com o valor do bit (0 ou 1), o trao de corrente de um salto condicional difere ligeiramente. Por conseqncia, o atacante capaz de concluir sobre o valor de certo nmero de bits da chave secreta. Nota-se que as implementaes do DES em software executando sobre um processador sncrono sem contramedidas so vulnerveis a ataques SPA. Claro, o

41

sucesso destes ataques exige um conhecimento detalhado do algoritmo de criptografia e a maneira atravs da qual este implementado. Atualmente, com o surgimento de novas tcnicas de contramedida, o ataque SPA no representa mais uma ameaa sria a criptosistemas. Por outro lado, possvel verificar que este ataque serve como uma etapa preliminar em anlises diferenciais de potncia. 2.2.4 ATAQUES POR ANLISE DIFERENCIAL DE POTNCIA O ataque por anlise diferencial de potncia (DPA) o mais popular ataque por consumo de potncia. Isto se deve ao fato de no exigir conhecimento detalhado sobre o dispositivo atacado. Alm disso, ele pode revelar a chave secreta de um criptosistema mesmo na presena de perturbaes eltricas causadas durante o processo de medio dos traos de potncia. Ao contrrio de SPA, DPA exige um grande nmero de traos de potncia para a anlise. A principal vantagem de DPA em relao a SPA no precisar de conhecimento detalhado sobre o modo de implementao do algoritmo no dispositivo criptogrfico. O conhecimento do algoritmo executado pelo criptosistema suficiente para realizar a anlise. Como tais algoritmos so tipicamente de domnio pblico, nota-se como ataques DPA podem ser efetivos na prtica. Alm disso, o modo como os traos so analisados difere em cada um dos ataques. Em SPA, o consumo de potncia analisado ao longo do eixo do tempo, ou seja, o atacante busca encontrar padres de consumo em um nico trao. J em DPA, a forma do trao ao longo do eixo do tempo no to importante. DPA analisa como o consumo de potncia em instantes fixos de tempo depende dos dados processados. Logo, possvel dizer que ataques DPA exploram as dependncias de dados do consumo de potncia dos criptosistemas. Por estas razes, estes se tornam mais eficientes e ameaadores segurana de criptosistemas que ataques SPA. Ao contrrio de SPA, ataques DPA empregam uma estratgia genrica que usada em todos os ataques. Esta estratgia consiste de 5 etapas, descritas a seguir.
PASSO 1: ESCOLHER UM RESULTADO INTERMEDIRIO ALVO

A primeira etapa de um ataque DPA escolher um resultado intermedirio do algoritmo criptogrfico que ser alvo do ataque. Este resultado precisa ser uma funo f(d,k), onde d um dado conhecido e k uma parte da chave criptogrfica secreta. Resultados intermedirios que satisfazem esta condio podem ser usados para revelar k. Na maioria dos ataques, d uma mensagem de entrada ou um criptograma de sada.
PASSO 2: MEDIR E COLETAR TRAOS

A segunda etapa de um ataque DPA medir o consumo de potncia do criptosistema enquanto este encripta ou decripta um conjunto de dados distintos D usando a mesma chave criptogrfica. Para cada encriptao ou decriptao executada, o atacante

42

precisa conhecer o valor d correspondente ao dado que est envolvido no clculo do resultado intermedirio escolhido no Passo 1. Estes valores de dados conhecidos so definidos pelo vetor d = (d1, ..., dD), onde di denota o valor do dado na isima execuo de encriptao ou decriptao. Durante cada uma destas execues o atacante armazena o trao de consumo de potncia correspondente. Estes traos so definidos como ti ' = (ti ,1 ,K, ti ,T ) , onde T denota o nmero de amostras de consumo de potncia medido em cada trao. O atacante mede um trao para cada dado di contido no conjunto D de dados. Portanto os traos so armazenados em uma matriz MT de tamanho D x T. importante para os ataques DPA que os traos medidos sejam corretamente alinhados. Isto significa que os valores de consumo de potncia de cada coluna tj da matriz MT devem corresponder execuo das mesmas operaes realizadas durante a encriptao ou decriptao. Para obter o consumo de potncia alinhado, o osciloscpio usado na medio deve ser disparado de modo que os traos de consumo de potncia correspondam exatamente mesma seqncia de operaes durante cada encriptao ou decriptao executada.
PASSO 3: CALCULAR VALORES INTERMEDIRIOS HIPOTTICOS

O prximo passo do ataque calcular o valor intermedirio hipottico para todas as possibilidades de valores de k, de acordo com a funo f(d,k). Estes valores so definidos pelo vetor k = (k1,...,kK), onde K denota o nmero total de possibilidades de k. No contexto de ataques DPA, comum denominar este vetor como as hipteses de chave. Dado o vetor de dados d e as hipteses de chave k, um atacante pode facilmente calcular todos os valores intermedirios hipotticos possveis para f(d,k). Estes clculos mostrados genericamente pela Equao 2 resultam na matriz MV de tamanho D x K. A primeira parte da Figura 2.9 ilustra esta etapa de clculos.

vi , j = f (d i , k j ) i = 1,..., D e j = 1,..., K

(2)

Cada coluna j de MV contm os resultados intermedirios calculados com base na hiptese de chave kj. claro que uma coluna de MV contm os valores intermedirios reais calculados pelo criptosistema durante as execues de encriptao ou decriptao realizada no Passo 2. Lembrando, o vetor k contm todas as escolhas possveis para k. Portanto, o valor de chave k da funo f(d,k) usado pelo criptosistema no Passo 2 um elemento do vetor k. Define-se o ndice deste elemento como ck. Portanto, kck a chave realmente usada pelo criptosistema. O objetivo do ataque DPA encontrar qual coluna de MV contm os mesmos valores produzidos por f(d,k) durante a encriptao ou decriptao do vetor D.
PASSO 4: APLICAR MODELO DE CONSUMO AO DISPOSITIVO ATACADO

A prxima etapa do ataque DPA aplicar um modelo de consumo de potncia ao dispositivo atacado visando simular valores de consumo de potncia a partir dos resultados hipotticos obtidos no Passo 3, conforme mostrado na Figura 2.9.

43

Figura 2.9 Diagrama em blocos ilustrando os passos 3 a 5 de um ataque DPA.

Como discutido anteriormente em nvel de portas lgicas, o consumo de potncia de um circuito desenvolvido com tecnologia CMOS proporcional ao peso Hamming dos resultados obtidos em sua porta de sada de dados. Nesta etapa do ataque DPA, o atacante relaciona o consumo de potncia do criptosistema com os pesos Hamming calculados a partir dos resultados hipotticos intermedirios vi,j obtidos no Passo 3. Entretanto, este modelo de consumo de potncia no muito adequado para descrever o consumo de um circuito CMOS, pois o consumo em circuitos depende tambm das transies de sinais internos e no apenas do resultado obtido. Este modelo geralmente usado quando o atacante no conhece os dados consecutivamente aplicados funo escolhida no Passo 1. Outro modelo de consumo de potncia a distncia Hamming (HD). Neste caso, a idia bsica contar o nmero de transies [0-1] e [1-0] que ocorrem em um circuito

44

digital durante certo intervalo de tempo. Este nmero de transies usado para descrever o consumo de potncia neste intervalo de tempo. Definindo de outro modo, a distncia Hamming entre dois resultados intermedirios correspondente a HD = (r0 r1 ) , onde r0 e r1 representam seus respectivos pesos Hamming. Em geral, o modelo HD pode ser usado para simular o consumo de potncia de uma parte do criptosistema, tal como a funo escolhida no Passo 1. Para isso, o atacante deve conhecer os valores dos dados processados consecutivamente no criptosistema atacado. Isto no implica que simulaes baseadas no modelo HW so inteis. O consumo de potncia em criptosistemas apenas aproximado proporcionalmente ao nmero de transies que ocorrem no dispositivo. O modelo HD assume que transies [0-1] e [1-0] apresentam o mesmo consumo de potncia. Na prtica, estas transies apresentam consumos diferentes como mostrado pelos experimentos de Razafindraibe et al. discutidos na Seo anterior. Neste caso, possvel assumir que em mdia, o consumo de potncia maior quando so obtidos resultados com valores de HW maiores em relao a valores HW menores. Estes modelos so os mais utilizados para modelar o consumo de potncia em ataques DPA. Porm, outros modelos so tambm propostos para dispositivos com caractersticas especficas. Tais modelos podem ser derivados dos modelos HD. O modelo HD, por exemplo, assume que todos os n bits de um dispositivo contribuem igualmente para o consumo de potncia, assumindo que as cargas dos n bits so iguais. Mas se um atacante sabe que alguns bits consomem mais que outros, isto pode ser considerado no modelo, de modo a estender o modelo HD e torn-lo mais especfico para um dado dispositivo. Outra possibilidade de modelar o consumo de potncia com base no modelo HD introduzir pesos diferentes para diferentes transies ocorridas em um dispositivo. Por exemplo, a transio [0-1] pode ter um peso equivalente ao dobro da transio [1-0], j que experimentos como os de Razafindrbe et al. mostram que estas transies produzem consumos diferentes. Kocher et al. em [KOC99], simulam o consumo de potncia do dispositivo atacado usando um modelo binrio, ou seja, os resultados intermedirios hipotticos vi,j produzem coeficientes binrios hi , j {0,1}i, j para a matriz MH, conforme mostrado na Figura 2.9. Analisando apenas um bit de cada resultado intermedirio hipottico vi,j, se o bit corresponde ao valor lgico 1 apresenta um consumo maior, logo hi,j = 1. Caso contrrio, se o bit corresponde ao valor lgico 0 apresenta um consumo menor, e assim o coeficiente correspondente hi,j = 0. Portanto, usando um destes modelos, o consumo de potncia do criptosistema para cada valor intermedirio hipottico vi,j simulado de forma a obter-se um valor de consumo de potncia hipottico hi,j. A qualidade da simulao depende fortemente do conhecimento do atacante sobre o criptosistema analisado. A melhor simulao aquela que mais se aproxima das caractersticas do consumo de potncia do criptosistema atacado.

45 PASSO 5: AVALIAR HIPTESES DE SUBCHAVES

Depois de calcular os valores intermedirios hipteses MV e obter os respectivos valores de consumo de potncia MH a partir de um dado modelo de potncia, a ltima etapa do ataque tem como objetivo avaliar as hipteses de chave. Neste Passo, cada coluna hj de MH comparada com cada coluna de tj da matriz MT. Isto significa que o atacante compara os valores de consumo de potncia hipotticos de cada hiptese de chave com os traos coletados. O resultado desta comparao a matriz MR de tamanho K x T, onde cada elemento ri,j contm o resultado da comparao entre as colunas hj e tj. A comparao feita com base no mtodo da diferena das mdias, conforme proposto por Kocher et al. em [KOC99]. Outros mtodos para avaliao das chaves so tambm possveis tal como o uso de coeficientes de correlao proposto por Brier et al. [BRI04]. Os traos de potncia correspondem ao consumo de potncia do dispositivo enquanto este executa um algoritmo criptogrfico usando diferentes dados de entrada. O resultado intermedirio escolhido no Passo 1 uma parte deste algoritmo. Portanto, o dispositivo precisa calcular o valor intermedirio vck durante as diferentes execues do algoritmo. Conseqentemente, os traos coletados dependem destes valores intermedirios em um mesmo instante de tempo. Este instante no trao de potncia referenciado como ct, ou seja, a coluna tct contm os valores de consumo de potncia que dependem dos valores intermedirios vck. Os valores de consumo de potncia hipotticos hck so simulados pelo atacante com base nos valores vck. Portanto, as colunas hck e tct so fortemente relacionadas. Estas duas colunas conduzem a um valor alto em MR, ou seja, o maior valor da matriz MR o valor rck,ct. Todos os outros valores so menores porque as colunas de MH e MT no so fortemente relacionadas. Um atacante pode revelar o ndice da chave correta ck e o instante de tempo ct por simplesmente observar o valor mais alto na matriz MR. Os ndices deste valor so ento o resultado do ataque DPA. Kocher et al. propuseram o mtodo da diferena das mdias para avaliar as hipteses de chaves. Este mtodo estabelece uma relao entre as colunas das matrizes MH e MT com base na seguinte observao. Analisam a seqncia de zeros e uns dos coeficientes hi,j calculados no Passo 4. Para verificar se uma hiptese de chave Ki est correta ou no, o atacante divide a matriz MT em duas matrizes MT0 e MT1 de acordo com os valores de hi. A primeira matriz MT0 contm as linhas da matriz MT cujos coeficientes hi,j so zeros. A segunda matriz MT1 contm todas as linhas restantes de MT. A seguir, a mdia das linhas deve ser calculada, para da uma das matrizes. O vetor m0i denota a mdia das linhas da matriz MT0 e m1i denota a mdia das linhas da matriz MT1. As hipteses de chave ki so corretas se ocorrer uma diferena significativa entre m0i e m1i no mesmo instante de tempo. A diferena entre m0i e m1i indica que existe uma correlao entre hck e as colunas de MT. Esta diferena ocorre exatamente no instante em que o valor intermedirio que corresponde a hck processado. Em todos os outros instantes a diferena entre os vetores aproximadamente zero. No caso de uma hiptese no correta, a diferena entre m0i e

46

m1i prxima de zero em todos os instantes de tempo. O resultado de um ataque DPA baseado no mtodo da diferena uma matriz MR onde cada linha de MR corresponde s diferenas entre as mdias dos vetores m0i e m1i de uma hiptese de chave. importante destacar a possibilidade de todos os valores contidos em MR serem aproximadamente os mesmos. Neste caso, o atacante no coletou uma quantidade suficiente de traos para estimar a relao entre as colunas de MH e MT. Quanto maior a quantidade de traos, mais elementos esto nas colunas, conseqentemente mais preciso ser o ataque. Isto tambm implica que quanto mais medies e coletas de traos sejam feitas, as menores relaes entre as colunas podem ser determinadas. 2.3 REVISO DE PROPOSTAS DE ATAQUES DPA E VARIANTES Os ataques DPA revisados e discutidos at ento tem a propriedade de explorar apenas um valor intermedirio do algoritmo alvo para revelar a chave criptogrfica, pois apenas os dados de sada da primeira rodada ou os dados de entrada da ltima rodada so considerados durante as anlises. Estes ataques so tambm referenciados na literatura como ataques de primeira ordem. Se vrios valores intermedirios so considerados para formular as hipteses de chave, ento os ataques so referenciados como ataques de alta ordem (do ingls, High Order DPA - HO DPA). Prouff et al. em [PRO09] propuseram uma verso especializada do ataque DPA, chamada de DPA de segunda ordem (do ingls, Second Order DPA, ou SO-DPA). Esta proposta especializada em atacar criptosistemas protegidos por mtodos de mascaramento de dados. Esta anlise combina as fugas de informaes causadas pelo processamento e pelo mascaramento de dados, relacionando-as a fim de encontrar a chave secreta conforme proposto tambm em [MES00] [WAD04] [PEE05] e [OSW06]. Bevan e Knudsen [BEV03] propem melhorias no ataque proposto por Kocher [KOC99]. Os Autores apresentam justificativas para a ocorrncia de picos em hipteses incorretas de subchaves e propem utilizar estas informaes de modo a tornar os ataques mais eficientes, ou seja, reduzir o nmero de traos necessrios para revelar a chave secreta. Esta eficincia obtida atravs de ataques multi-bits, onde a funo seleo proposta por Kocher no aplicada apenas a um bit por ataque e sim a combinaes de dois ou mais bits. Deste modo, os consumos de potncia so somados tornando os ataques mais rpidos e eficientes conforme demonstram seus resultados. Brier et al. em [BRI04] propuseram outra especializao do ataque DPA denominada Anlise por Correlao de Potncia (do ingls, Correlation Power Analysis CPA). CPA uma anlise DPA que emprega um modelo linear de consumo de potncia aplicado sobre os dados manipulados. Esta abordagem basicamente visa reduzir o problema de picos fantasmas durante os ataques DPA. Classicamente utiliza-se o modelo peso Hamming para correlacionar dados manipulados e o consumo de potncia conforme revisado na Seo 2.2.1. Neste caso, utiliza-se o modelo de potncia distncia Hamming, cujo clculo realizado segundo a variao do nmero de bits com valor 1 entre uma mensagem m e uma dada mensagem de referncia mr estimada previamente segundo

47

Brier et al. em [BRI04]. Logo, o consumo de potncia pode ser resumido pela equao W = aH (m mr ) + b , onde a um ganho escalar entre a distncia HD H e a potncia consumida W. J b inclui todas as variaes de consumo decorrentes dos elementos que compem o restante do circuito e que so independentes dos dados manipulados tais como variaes de tenso (offsets), atrasos intrnsecos aos componentes e rudo. Com base nesta Equao so obtidos fatores lineares de correlao que relacionam as varincias dos termos considerados com a potncia consumida medida. Estes fatores de correlao so capazes de rejeitar falsas hipteses de subchaves segundo o modelo de potncia HD adotado como mostrado em [BRI04]. Estas anlises so utilizadas para avaliar a robustez das arquiteturas propostas neste trabalho. Fahn e Pearson em [FAH99] propuseram a anlise de potncia por inferncia (do ingls, Inferential Power Analysis - IPA). Esta anlise se desenvolve basicamente em duas etapas. Inicialmente realizam-se operaes estatsticas tais como diferenciao entre traos de consumo e mdias entre outras, aplicadas sobre uma grande quantidade de traos de consumo a fim de aprender detalhes de implementao, o que conduz localizao e identificao dos bits da chave criptogrfica. A etapa seguinte extrai a chave por inferncia, a partir de poucos traos de potncia, conforme [FAH99]. Chari et al. em [CHA02] introduziram os ataques denominados em ingls Template Attacks. Estes ataques probabilsticos assumem um modelo Gaussiano de rudo para definir e registrar os templates de traos DPAs relativos a um conjunto pr-definido de operaes. As informaes so aprendidas e registradas segundo parmetros tais como a mdia e uma matriz de covarincia as quais so otimizadas para cada operao, de acordo com o princpio da probabilidade mxima. A seguir, o ataque propriamente dito ocorre quando um trao relativo a uma operao tem suas propriedades estatsticas comparadas ao repositrio de templates atravs de regras Bayesianas. Estas regras classificam o trao de acordo com as probabilidades e atribuem ao trao a operao correspondente. Pressupe-se que o repositrio de templates e os traos relativos ao canal lateral analisado sejam obtidos atravs do mesmo dispositivo. Goubin em [GOU03] apresenta uma anlise de potncia refinada (do ingls, Refined Power Analysis - RPA) que permite revelar a chave criptogrfica de algoritmos que se baseiam na estrutura algbrica de curvas elpticas tal como o algoritmo ECC (do ingls, Eliptic Curve Cryptography) mesmo na presena de algumas contramedidas. Outra tcnica proposta por Akishita e Takagi em [AKI03] explora uma caracterstica especial das curvas elpticas onde o consumo nulo. Este mtodo uma extenso de RPA proposto por Goubin e definido pelos Autores como anlise de potncia nula (do ingls, Zerovalue Point Attacks - ZPA). Mesmo em pontos da curva usados para a encriptao de dados onde no exista coordenadas com valor nulo, o mtodo proposto explora registradores laterais que podem obter o valor nulo e sobrepor algumas possveis contramedidas. Logo, estes tipos de anlises no so uma ameaa segurana de algoritmos tais como DES e AES. Nagashima et al. em [NAG07] propuseram um mtodo para realizar ataques DPA em criptosistemas que usam insero de atrasos aleatoriamente como contramedida. O

48

mtodo proposto realiza uma ressincronizao de formas de onda de diferentes fases como pr-processamento ao ataque DPA. Os Autores usam funes matemticas normalmente usadas em tratamento de sinais, tais como a Transformada Discreta de Fourier para definir parmetros que identificam a diferena de fase entre curvas de potncia. Embora seja uma interessante ferramenta de criptoanlise, o mtodo limita-se apenas a analisar o deslocamento de tempo que um trao de consumo de potncia sofre durante uma encriptao completa. 2.3.1 DISCUSSO SOBRE OS ATAQUES Uma reviso dos avanos em ataques DPA realizada e resumida na Tabela 2.1. Depois que Kocher et al. propuseram os ataques TA, SPA e DPA, estes ataques sofreram algumas modificaes ou receberam etapa de pr-processamento, porm sua essncia permanece a mesma.
Tabela 2.1 Reviso de ataques DPAs e variantes.
Ataque proposto Kocher et al. [KOC99] SPA e DPA Mtodo SPA simples observao do consumo de potncia DPA anlise diferencial e estatstica do consumo de potncia DPA na presena de mascaramento de dados DPA com uso de modelo de potncia Modelos estatsticos para identificar fugas de informao Ferramentas estatsticas para identificar fuga de informao Propriedades de curvas elpticas Propriedade de curvas elpticas Transformada de Fourrier (tratamento de sinais) Proposta desta Tese

No vulnervel a estes ataques, at onde se testou

Prouff et al. [PRO09]

SO-DPA

No usa mascaramento de dados. No vulnervel a este ataque No vulnervel a estes ataques, at onde se testou No testado. Acredita-se na dificuldade em detectar padres de consumo No testado. Acredita-se na dificuldade em detectar padres de consumo

Brier et al. [BRI04] Fahn e Pearson [FAH99]

CPA

IPA

Chari et al.[CHA02]

Templates

Goubin [GOU03] Akishita e Takagi [AKI03] Nagashima et al. [NAG07]

RPA

No vulnervel

ZPA

No vulnervel No testado. Acredita-se que seja efetivo apenas para variaes de fase simples em sinais

Phase-match DPA

49

As criptoanlises que se baseiam em mtodos probabilsticos tais como IPA e ataques por templates apresentam resultados apenas em ensaios com criptosistemas sem contramedidas. Embora usem ferramentas e modelos estatsticos eficientes, na prtica a aleatoriedade inserida pelas arquiteturas propostas neste trabalho representa um desafio a este tipo de criptoanlise. Os mtodos RPA, ZPA so criptoanlises propostas para algoritmos que se baseiam em propriedades algbricas de curvas elpticas que por sua vez fogem o escopo do presente trabalho. J SO-DPA proposta como um mtodo de ataque DPA capaz de correlacionar mensagens, mensagens mascaradas e criptogramas para encontrar a chave secreta do sistema. Como o trabalho proposto no usa este tipo de contramedida, esta abordagem no adequada para realizar avaliao da robustez, tais como RPA e ZPA. Os ataques propostos por Nagashima et al. [NAG07] e Clavier et al. [CLA00] embora sejam especializados em criptoanalisar sistemas protegidos pela abordagem de insero de aleatoriedade para ocultar a fuga de informaes, os estudos de casos apresentados mostram ataques bem sucedidos apenas inseres de aleatoriedade simples tal como instrues dummies (nenhuma operao realizada) e deslocamento temporal do processo de encriptao integral. No presente trabalho a execuo do algoritmo usando a arquitetura GALS com domnios de freqncia aleatrios representa um cenrio desafiador para estes tipos de ataques. Acredita-se que estas abordagens juntamente com mtodos de ressincronizao de curvas sejam o caminho para quebrar o sigilo de criptosistemas que empreguem aleatoriedade do modo como proposto aqui. 2.4 ATAQUES POR INDUO A FALHAS Outra tcnica importante de criptoanlise o ataque por induo a falhas em criptosistemas. Um atacante pode induzir falhas durante a computao do criptosistema e explorar o resultado defeituoso para extrair informao sobre a chave secreta. As falhas podem ser caracterizadas como permanentes, se o dano causado ao dispositivo definitivo, tal como forar uma posio de memria para um valor constante, ou podem ser transientes, se o dispositivo sofrer distrbios durante seu funcionamento em operaes especficas. Como exemplo de modos de insero de falhas possvel citar o bombardeio radioativo, criar anormalidades na freqncia do relgio ou na tenso de alimentao do dispositivo, a gerao de glitchs no barramento de dados, o aumento da temperatura, a emisso de luz sobre o silcio e a imerso do circuito em campos eletromagnticos. Este mtodo pode ser classificado como semi-invasivo ou no-invasivo dependendo de como a insero de falhas no dispositivo realizada. Biham e Shamir [BIH90] propuseram anlises diferenciais de falhas (do ingls, Differential Fault Analysis - DFAs) destinadas a algoritmos de encriptao simtricos. Os Autores usam o modelo de falha transiente aplicado aos registradores de uma implementao do algoritmo. O mtodo proposto aplicado durante as operaes de encriptao/decriptao do criptosistema, causando a inverso do valor de um bit com uma pequena probabilidade de ocorrncia, comportando-se como uma falha transiente.

50

As anlises DFAs apresentam-se como um mtodo eficiente e de baixo custo para atacar criptosistemas. Estes mtodos empregam, por exemplo, a variao da tenso de alimentao ou da freqncia do relgio do circuito. O estudo e avaliao da robustez segundo este mtodo no faz parte do escopo do presente trabalho.

51

3. ESTADO DA ARTE
Na literatura encontram-se vrias propostas para contramedir ataques por anlise do consumo de potncia a criptosistemas. Estas propostas podem ser agrupadas em trs grupos de acordo com a abordagem usada para imunizao. A primeira abordagem consiste em introduzir rudo nas medidas de consumo de potncia. A idia bsica aqui reduzir a relao sinal-rudo, de modo a impossibilitar ou inviabilizar na prtica tentativas de correlacionar o consumo do criptosistema com os dados processados. Uma segunda abordagem consiste em mascarar os dados processados, e assim inviabilizar a realizao de anlises de correlao. Finalmente, a terceira abordagem concentra esforos para obter um consumo de potncia equilibrado ou uniforme para qualquer seqncia de valores de dados de entrada. Na literatura encontram-se tambm trabalhos especficos a fim de imunizar criptosistemas a ataques por SEMA/DEMA [GEB05] e induo a falhas [MAI08] [BHA09]. Como preveno a ataques por induo a falhas no o alvo deste trabalho, a reviso destes temas apresentada de forma mais sucinta, apenas visando apresentar aos leitores outra rea relevante de pesquisa. J os ataques SEMA/DEMA por serem mais recentes possuem poucos trabalhos propondo mtodos de preveno. Alm disso, como a radiao eletromagntica est diretamente relacionada variao de corrente no circuito, os mtodos propostos para imunizar circuitos a ataques por consumo de potncia tambm imunizam ou no mnimo reduzem as fugas de informaes atravs das radiaes eletromagnticas [LOM09]. No restante deste Captulo apresenta-se uma reviso de propostas subdivididas de acordo com o tipo de abordagem usada para imunizar criptosistemas contra ataques DPA. 3.1 MTODOS POR MASCARAMENTO DE DADOS O objetivo de toda contramedida tornar a fuga de informao por canais secundrios de um sistema criptogrfico independente dos dados processados. O mascaramento atinge este objetivo atravs da aleatorizao dos valores intermedirios processados pelo sistema. Uma vantagem desta abordagem poder ser implementada no nvel do algoritmo sem mudar as caractersticas de consumo do dispositivo. Ou seja, mesmo o dispositivo apresentando consumo de potncia dependente de dados, o mtodo consegue descorrelacionar o consumo dos dados manipulados. Apesar disso, na literatura so encontradas propostas de mascaramento aplicadas em nvel de porta lgicas tal como sugerido em [POP06] e [GOL07]. A seguir so revisadas diferentes propostas para mascaramento de dados. Pramstaller et al. em [PRA04] propem um mtodo para mascarar dados no algoritmo AES e o comparam com outras duas propostas. O principal desafio encontrado em ambas as propostas evitar a fuga de informaes na operao SubBytes realizada por SBOXes paralelos, que so funes booleanas no-lineares alvo dos ataques SCA, maiores detalhes no Anexo B. Cada SBOX realiza operaes sobre uma poro de 8 bits de dados de entrada, em cada uma das rodadas do AES. SubBytes realiza

52

transformaes no-lineares em campos de Galois (do ingls, Galois Field - GF). As transformaes consistem em um inverso multiplicativo1 em GF(28) e uma transformao afim2. O primeiro trabalho revisado, proposto por Akkar e Giraud [AKK01] realiza uma operao de soma de 128 bits entre dado e mscara (um nmero gerado aleatoriamente), operao denominada mscara aditiva. A mscara aditiva removida antes da inverso de bytes e substituda por uma mscara multiplicativa (operao de multiplicao envolvendo o dado e a uma nova mscara) tambm de 128 bits. Aps a inverso de byte, a mscara multiplicativa removida e a mscara aditiva re-introduzida. Este mtodo introduz custo em rea significativo, pois necessrio gerar duas mscaras aleatrias por operao de encriptao/decriptao. Este mtodo vulnervel a ataques conhecidos como Valor Zero. Tais ataques exploram um caso especfico onde os valores parciais do dado e da chave so iguais [GOL02]. Na proposta de Trichina et al. [TRI03], a mscara aditiva reusada, excluindo o uso da mscara multiplicativa. Isto reduz consideravelmente o custo de clculo. Entretanto, uma nova mscara exigida para cada execuo da rodada para garantir que a mscara no seja zero. Por outro lado, isto no soluciona o problema do valor zero. A proposta de Pramstaller et al. [PRA04] denominada de IAIK pelos Autores . Este mtodo no remove a mscara aditiva antes da inverso de byte. A sada deste passo portanto (Dado + Mscara)-1, o multiplicativo inverso do dado mascarado. O mtodo IAIK obtm o resultado esperado (Dado-1 + Mscara) por calcular termos de correo em paralelo. Aritmtica sobre GFs usada extensamente nesta abordagem e a inverso de byte em GF(28) primeiro mapeada para GF(24) e novamente para GF(22). Neste campo, a inverso pode ser computada efetivamente. A abordagem IAIK a nica imune a ataques por Valor Zero. Um criptosistema foi desenvolvido sob a forma de um ASIC em tecnologia CMOS de 0,25 m empregando o algoritmo AES com a abordagem IAIK. O custo para se obter uma maior resistncia a ataques DPA foi uma reduo entre 40 e 50% no desempenho devido insero dos mtodos de segurana. Mesquita et al. em [MES06] propem o projeto de um criptosistema como uma arquitetura reconfigurvel que mascara o consumo de potncia. Os Autores exploram propriedades das funes modulares de clculo do algoritmo RSA. Este algoritmo divide seu processamento em operaes de multiplicao e exponenciao. Os Autores propem o uso da multiplicao modular proposta por Montgomery, que permite o uso do sistema numrico residual (em ingls, Residue Number System - RNS) baseado no teorema chins do resto (em ingls, Chinese Remainder Theorem - CRT). Deste modo, o mdulo de multiplicao capaz de realizar clculos em diferentes bases numricas. Isto produz um mascaramento dos dados processados e conseqentemente o descorrelacionamento com o consumo de potncia. A arquitetura proposta, denominada de Arquitetura Reconfigurvel Resistente a Fuga (do ingls, Leak Resistant Reconfigurable Architecture LR2A) permite que em tempo de execuo o mdulo de multiplicao tenha sua base alterada aleatoriamente. A arquitetura sofre penalidades em rea, mas apresenta um bom desempenho com relao a criptosistemas existentes.

Na matemtica, o inverso multiplicativo de um nmero x denotado por 1/x ou x-1. Este nmero quando multiplicado por x produz a identidade multiplicativa, ou seja, 1. 2 Em geometria, uma transformao afim entre dois espaos vetoriais consiste de uma transformao linear Ax seguida por uma translao +b, ou seja, x Ax + b.

53

Popp e Mangard, em [POP06] propem um novo estilo lgico para a concepo de criptosistemas resistentes a ataques DPA, aplicando mascaramento de dados em nvel de portas lgicas. O estilo, denominado pelos Autores de Lgica Pr-Carregada com Trilha Dupla Mascarada (em ingls, Masked Dual Rail Pre-charge Logic - MDPL), permite ao criptosistema um consumo de corrente aleatrio, tendo como principal benefcio a no necessidade de balancear o circuito complementado. A idia do mascaramento tornar aleatrio cada resultado intermedirio de um circuito ou algoritmo aplicando a equao (dm = d m ) , onde respectivamente dm o dado mascarado, d o dado propriamente dito e m uma mscara aleatria. Os experimentos realizados mostram elevados custos de potncia e rea comparados a circuitos projetados em lgica CMOS tradicional. Motivados por estes resultados os Autores adicionam tcnicas de reduo de potncia aos circuitos MDPL. Durante os perodos em que os circuitos no desempenham operaes consideradas crticas a ataques DPA, estas tcnicas reduzem em torno de 4 vezes o consumo de potncia em relao a um circuito CMOS tradicional equivalente. Ghosh et al. em [GHO07] motivam-se pelo fato de que circuitos de mascaramento usados para evitar fuga de informaes atravs de SBOXes do AES apresentam vulnerabilidades devido ocorrncia de glitchs. Os Autores propem um mtodo de mascaramento para circuitos multiplicadores de SBOXes AES. Neste mtodo, as entradas dos multiplicadores so sincronizadas por componentes seqenciais ou portas lgicas AND controladas, visando evitar a fuga de informaes. Este trabalho destaca que a principal desvantagem das arquiteturas de mascaramento anteriormente propostas a comutao desbalanceada dos circuitos. A propagao dos sinais de entrada atravs de caminhos com diferentes comprimentos faz com que as portas lgicas XOR realizem operaes bit a bit com diferentes temporizaes. Isto provoca glitchs internos, responsveis por fuga de informaes. A arquitetura proposta possui dois propsitos: reduzir os glitchs internos do circuito e reduzir o atraso no pior caso. Os Autores propem duas abordagens de implementao. A primeira uma estrutura pipeline de dois estgios baseada na aplicao de elementos seqenciais para sincronizar sinais diferentes. Na segunda abordagem, os Autores introduzem elementos combinacionais extras para sincronizar as entradas, de modo a terem mesmo tempo de propagao. Em ambas as abordagens, os Autores organizaram as portas XOR internas em uma estrutura balanceada, para garantir que as entradas de cada porta comutem uma vez a cada ciclo de relgio. Simulaes SPICE confirmam que as modificaes evitam ataques DPA. Huiping et al. [HUI07] propem outro mtodo para mascaramento de dados no algoritmo DES. Os Autores introduzem no algoritmo operaes lgicas e aritmticas (XOR e soma) realizadas entre dados e nmeros gerados aleatoriamente, para produzir o mascaramento de dados em duas partes do algoritmo. Estas operaes so realizadas na funo da rodada, no momento da entrada da subchave e antes da execuo das SBOXes, conforme mostra a Figura 3.1. Para aumentar o desempenho do algoritmo implementa-se um pipeline com a replicao das rodadas do algoritmo. Os Autores propem 4 configuraes diferentes de pipelines com o DES, de modo a analisar o desempenho do processamento. A partir dos resultados obtidos concluem que o pipeline com 16 estgios (uma rodada executada em cada estgio) obtm o melhor desempenho,

54

porm o maior custo em rea. O circuito implementado com tecnologia CMOS 0,25m e possibilita operaes em freqncias de at 100 MHz, atendendo a exigncias de projetos de smart cards.

Figura 3.1 - Diagrama em blocos da funo F da rodada do algoritmo DES. Huiping et al. propem a insero de circuitos para mascarar dados antes do processamento de partes vulnerveis da funo (XOR e SBOXes). Um gerador de nmeros aleatrios inserido em cada rodada para alimentar os circuitos propostos.

Ordu e rs em [ORD07] so os primeiros a apresentar uma implementao em FPGA do algoritmo AES usando mtodos para mascarar dados. Os Autores propem dois mtodos diferentes, mascaramento aditivo de IAIK [OSW05] e mascaramento multiplicativo de Akkar [AKK01]. Os autores realizaram trs implementaes do algoritmo AES: (i) sem contramedidas; (ii) AES com mtodo de Akkar e; (iii) AES com mtodo de IAIK. Comparaes de custos em rea e desempenho foram realizados no dispositivo FPGA Virtex-E 1000 da Xilinx. Os resultados indicam que a implementao utilizando o mtodo IAIK apresentou menor custo em rea e menor perodo de relgio em relao ao mtodo proposto por Akkar. Haijun et al. em [HAI07] analisam vrias contramedidas a ataques DPA e concluem que o mtodo de mascaramento nico (em ingls, Unique Masking Method UMM) no eficiente para proteger criptosistemas contra ataques DPA de alta ordem. Os Autores apresentam um novo mtodo de proteo baseado em circuitos projetados com lgica diferencial dinmica (em ingls, Simple Dynamic Differential Logic - SDDL) proposta em [TIR04], tambm conhecida na literatura como lgica de trilha dupla com dois estgios de funcionamento, pr-carga e avaliao (em ingls, Dual Rail Precharge Logic - DPL). Maiores detalhes sobre tais lgicas encontram-se na Seo 3.3. Em um estudo de caso usando o algoritmo DES, o mtodo prope implementar em lgica SDDL as duas primeiras e duas ltimas rodadas do algoritmo e manter o mascaramento UMM nas rodadas restantes, 3 a 14, visando aumentar a resistncia a ataques DPA. Os resultados demonstram que o mtodo proposto aumenta a robustez de UMM a ataques DPA de alta ordem ao custo de um aumento de 29,3% no consumo de potncia em relao implementao do algoritmo sem contramedidas.

55

Golic em [GOL07] props um novo mtodo para mascaramento de dados em hardware no nvel de portas lgicas. Operaes de mascaramento realizadas tanto em software quanto em hardware no nvel de palavras no so eficientes para imunizar sistemas a ataques DPA, conforme demonstra o Autor. No nvel de bit, as operaes podem ser desbalanceadas, causando glitches durante o processamento e sendo dependente dos dados de entrada. O mtodo proposto classificado pelo Autor como mascaramento lgico,e pode ser aplicado a algoritmos criptogrficos em geral e a tcnicas de converso de operaes lgicas e aritmticas de mascaramento. O mtodo proposto baseado no uso de multiplexadores (MUXs), destinados a balancear em nvel de bit operaes de mascaramento. Mostra-se a possibilidade de implementao do mtodo usando apenas portas lgicas NAND. Como vantagens, o mtodo apresenta uma reduo em rea e latncia em relao a tcnicas de mascaramento similares tal como [GOL04]. Por outro lado, o mtodo mostra-se eficiente apenas a ataques DPA de primeira ordem, sendo vulnerveis a ataques de alta ordem (HO DPA). Ghellar e Lubaszewski em [GHE08] propem uma nova implementao do algoritmo criptogrfico AES para resistir a ataques DPA. O mtodo proposto visa mascarar os dados com base em propriedades da estrutura de campos de Galois, mais precisamente em GF(2). Resumidamente, campos de Galois possuem elementos representados por dois algarismos (0 e 1), permitem apenas duas operaes binrias (soma e multiplicao) e, para o caso especfico GF(28), contm 256 elementos. Uma propriedade desta estrutura o fato de que campos GF(n) com mesmo nmero de elementos so isomrficos entre si. Deste modo, o mascaramento de dados realizado atravs da definio de uma funo de mapeamento para converter representaes existentes em mdulos da rodada do AES. Como vantagem do mtodo, destaca-se um aumento pelo fator de 240 na complexidade dos ataques. Em contrapartida, o hardware adicional aumenta 295% em rea e reduz a freqncia de operao em 60% em relao ao algoritmo original. Goodwin e Wilson em [GOO08] apresentam uma modificao simples na implementao do algoritmo AES sem alterar suas caractersticas de funcionamento como forma de mascarar dados e evitar ataques DPA. No AES, a chave criptogrfica expandida inicialmente e a cada nova rodada de execuo do algoritmo utiliza-se o valor da chave da rodada anterior. No sistema proposto pelos Autores um mdulo de controle gera chaves a cada rodada do AES. O mtodo proposto foi implementado em FPGA e os resultados mostram um aumento da robustez a um custo baixo em rea em relao ao algoritmo sem contramedida. Por outro lado, a complexidade do mdulo de gerao empregado reduz significativamente a freqncia mxima de operao do relgio e por conseqncia causa uma reduo de 30% na vazo do criptosistema. 3.1.1 COMPARAO ENTRE PROPOSTAS Ao analisar as propostas aqui discutidas cujo resumo encontra-se na Tabela 3.1, possvel concluir que o uso de mascaramento em nvel algortmico causa um aumento considervel na latncia de processamento, sofrendo tambm penalidades quanto ao consumo de potncia e rea. O uso desta contramedida em nvel de circuito tambm eleva

56

os custos em rea e o tempo de execuo. A ttulo de exceo possvel citar [POP06]. Apesar da lgica proposta impor um aumento considervel no consumo de potncia, os Autores conseguem adaptar estratgias que reduzem substancialmente o consumo de potncia do circuito. O mtodo proposto nesta tese usa insero de aleatoriedade e rudo no processamento para ocultar a fuga de informaes, diferenciando-se dos demais trabalhos que visam modificar os dados de entrada durante o processamento de operaes do algoritmo vulnerveis a ataques. Conforme revisado, a presente tese apresenta estudos de caso com o algoritmo DES como os trabalhos de [HUI07] e [HAI07] e prottipos em FPGA conforme [MES06], [ORD07] e [GOO08]. Os custos da segurana obtida pelos mtodos propostos e pela tese aqui proposta se resumem a um aumento de rea e latncia. Porm, a tese proposta possui a vantagem do aumento da vazo de dados obtida pela implementao pipeline.
Tabela 3.1 Resumo de propostas que usam mascaramento para descorrelacionar o consumo de potncia dos dados processados.
Algoritmo Pramstaller et al. [PRA04] Mesquita et al. [MES06] AES Mtodo Operaes (+ e mapeamento GF) Reconfigurao modular de bases numricas Lgica geradora de rudo Circuitos balanceados Custos Latncia Tecnologia CMOS 0,25m

RSA

Alto custo em rea

FPGA

Popp e Mangard [POP06] Ghosh et al. [GHO07] Huiping et al. [HUI07] Ordu e rs [ORD07] Haijun et al. [HAI07] Golic [GOL07] Ghellar e Lubaszewski

AES

Potncia

CMOS

AES

CMOS 0,65m

DES

Operaes (+ e x) Operaes (+ e mapeamento GF) Usa SDDL e UMM

rea

CMOS 0,25m

AES

Latncia

FPGA

DES

rea Vulnervel a DPA HO rea e Latncia

CMOS 0,25m

AES

Operaes (+, -, xor)

AES

[GHE08]
Goodwin e Wilson [GOO08] Mtodo proposto nesta Tese AES

Mapeamento de campos GF(2)

CMOS

Alterao do algoritmo Aleatoriedade de execuo, execuo sobreposta (pipeline)

Vazo

FPGA

DES

rea e latncia

FPGA

57

3.2 MTODO POR INJEO DE RUDO Este mtodo tem como objetivo construir criptosistemas com consumo de potncia aleatrio. Isto significa que a cada ciclo de relgio uma quantidade aleatria de potncia consumida pelo sistema. Obter um consumo de potncia idealmente aleatrio no possvel na prtica. Entretanto, existem vrias propostas de como se aproximar do ideal. Na literatura so encontradas propostas que afetam o tempo de execuo do algoritmo criptogrfico e propostas que tornam o consumo de potncia aleatrio, ou seja, inserem uma atividade de chaveamento aleatria no circuito com consumo de potncia dominante sobre o consumo correspondente execuo do algoritmo. Em engenharia eltrica, a qualidade de um sinal medido pode ser definida como a razo existente entre o sinal pretendido e interferncias sobre este sinal. A esta razo dse o nome de relao sinal-rudo (em ingls, signal to noise ratio - SNR). Esta relao definida como a razo entre as potncias de um sinal contendo algum tipo de informao (Psignal) e do rudo (Pnoise), conforme indicado na Equao 1.

SNR =

signal noise

(1)

Em termos de segurana, o chaveamento aleatrio produz um rudo que reduz a relao sinal-rudo, aumentando a complexidade das anlises de correlao. Em um caso ideal, o SNR deve ser zero, obtido teoricamente caso a potncia do rudo inserido tenda a um valor infinito. Na prtica, a potncia de rudo pode ser elevada de modo a atender aos requisitos de segurana, sem elevar excessivamente o consumo de potncia do dispositivo. A seguir apresentam-se algumas propostas que empregam aleatoriedade para contramedir ataques DPA. Benini et al. em [BEN03] propuseram uma combinao de tcnicas de reduo de potncia e de controle da ativao do sinal de relgio, visando introduzir aleatoriedade significativa no trao de potncia sem aumentar e, em alguns casos at reduzindo, o consumo de potncia de sistemas. Deste modo, a tcnica introduz rudo ao processamento de operaes criptogrficas. A maior contribuio dos Autores no aumentar o consumo de potncia com o uso da tcnica. Esta abordagem reduz o consumo de potncia se comparada com a implementao inicial. A idia bsica oferecer um conjunto de primitivas de hardware (macros) que podem ser instanciadas pelos projetistas em muitos algoritmos. Adicionalmente, permite-se ao projetista reduzir o consumo de potncia de modo controlado em tempo de projeto. Isto uma caracterstica desejvel, pois encriptao e decriptao so freqentemente exigidas em ambientes com restries de potncia. Ciet et al. em [CIE03] propuseram o desenvolvimento de um criptosistema tomando como base o algoritmo RSA. Para imunizar o criptosistema contra ataques DPA, os Autores empregam o algoritmo de multiplicao de Montgomery, que permite clculos em diferentes bases numricas usando como recurso nmeros RNS. A arquitetura proposta

58

replica o mdulo de multiplicao de 16 bits de largura, de modo a evitar perda de desempenho. Diferentes estratgias de controle so aplicadas, de modo a se ter operaes de 512 bits. O processamento paralelo e o uso de diferentes bases numricas para realizar a multiplicao contribuem para descorrelacionar o consumo de potncia dos dados processados. A arquitetura validada em FPGA e os resultados mostram eficincia promissora, com tempos de processamento inferiores a 150 ms para uma chave de 1024 bits e com rea adicional competitiva com outras implementaes com contramedidas. Standaert et al. em [STA04] investigaram a vulnerabilidade da implementao em hardware do algoritmo AES usando pipelines. Os Autores propuseram inicialmente o uso de pipeline no processamento de uma rodada do algoritmo, alterando o tempo de execuo de 1 ciclo de relgio para 5 ciclos de relgios. Aps, propuseram um ataque CPA considerando os registradores internos adicionados s rodadas, bem como a atividade de chaveamento dos circuitos e o modelo de potncia baseado na distncia de Hamming. O ataque realiza uma predio dos dados no conjunto de registradores a cada ciclo de relgio, estabelecendo uma matriz de predio para uma dada funo de seleo escolhida. Resultados tericos (via simulao) e prticos demonstram ser possvel revelar a chave secreta. Assim, os Autores propem uma arquitetura com pipeline interno rodada do algoritmo e a replicao das rodadas deste para neutralizar os ataques. Resultados tericos mostram que a chave correta revelada, porm com uma probabilidade muito baixa em relao a outras hipteses de chaves. O mtodo usado utiliza o paradigma sncrono de projeto, facilitando ao atacante prever atravs de modelos adequados os instantes onde ocorrem os chaveamentos de dados no circuito. Alm disso, no foram mostrados resultados prticos de ataques. A proposta sofre ainda um alto custo em rea e latncia, esta ltima compensada parcialmente pela utilizao de pipeline. Bucci et al. em [BUC05] propuseram uma nova contramedida a ataques DPA baseada na insero de elementos de atraso no caminho de dados de criptosistemas. Inicialmente, cada dispositivo composto por um flip-flop tipo D (FFD), uma cadeia com n elementos de atraso em srie (sendo n o nmero de elementos) e um multiplexador (MUX). Um circuito de controle deve selecionar pseudo-aleatoriamente entre a sada direta do FFD ou a sada do FFD atravs da cadeia de atraso. O dispositivo proposto pode ainda ser estendido para 2m possibilidades de cadeias de atraso (sendo m o nmero de cadeias), de modo a aumentar a aleatoriedade, por outro lado aumentando o dispndio de hardware. Este dispositivo inserido em cada bit que compe o caminho de dados do criptosistema, visando aleatorizar o consumo de potncia e assim reduzir a correlao entre dados processados e potncia consumida. Estudos de caso foram realizados com um SBOX do algoritmo AES, usando tecnologia CMOS 0,18m. Os resultados foram obtidos por simulao usando a ferramenta Nanosim da Synopsys. Como vantagens do mtodo destacam-se o uso de um fluxo de projeto padro e a no interferncia na rvore de relgio do circuito. Como desvantagem destaca-se a excessiva rea adicional ao circuito. Alm disso, a insero de atrasos aumenta a latncia de processamento no criptosistema. Yang et al. em [YAN05] apresentam uma nova abordagem contra ataques DPA, baseada no chaveamento aleatrio de freqncia e tenso de alimentao (em ingls,

59

Dynamic Voltage and Frequency Switching - DVFS). Os Autores reutilizam uma estrutura proposta originalmente para reduo do consumo de energia em sistemas intrachip para descorrelacionar o consumo de potncia dos dados processados. Propem-se trs estratgias de controle diferentes. Estas so classificadas pelos Autores de acordo com seu nvel de imunidade, sendo elas ingnua (naive), melhorada (improved) e avanada (advanced). As duas primeiras aumentam a robustez, porm ainda apresentam vulnerabilidades. A terceira revelou-se uma estratgia eficiente para bloquear ataques SPA e DPA. Os resultados mostram que os traos de potncia apresentam nveis de aleatoriedade suficiente para evitar a fuga de informaes. Alm disso, o consumo mdio de energia reduzido em 27% na implementao do algoritmo DES. Por outro lado, o criptosistema sofre um aumento de 16% em seu tempo de execuo em relao implementao original. Grkaynak et al. em [GUR06] apresentam desafios e experincias de projeto com o paradigma GALS, tomando como estudo de caso o algoritmo criptogrfico AES. Os Autores propuseram o uso do paradigma GALS para aumentar a robustez de um criptosistema a ataques por consumo de potncia. O paradigma GALS oferece a projetistas recursos adicionais para implementar contramedidas a DPA. Para demonstrar isto, os Autores desenvolveram o criptosistema Accia. Accia, cuja estrutura mostrada na Figura 3.2, implementa o algoritmo AES o qual executa sucessivamente uma rodada composta por 4 blocos funcionais: AddroundKey, SubBytes, ShiftRows e MixColumns. Accia subdividida em um modulo chamado Goliath, composto por um caminho de dados de 128 bits e um gerador aleatrio de chaves criptogrficas. Dois outros mdulos menores denominados David completam o criptosistema. Estes mdulos so equipados com caminho de dados de 32 bits e realizam as operaes SubBytes e Mixcolumns da rodada do AES. Accia equipada com vrias camadas de contramedidas a ataques DPA. So elas: (i) operaes com dados falsos; (ii) David contm dois operadores SubBytes de 8 bits. Para executar a operao MixColumns so necessrias 4 operaes SubBytes. David pode escalonar aleatoriamente estas quatro operaes, de forma que em um dado ciclo de relgio, todos, apenas um, ou nenhum dos operadores SubBytes podem processar dados reais, enquanto os demais processam dados falsos. (iii) para cada rodada do AES so necessrias quatro operaes MixColumns, sendo que estas podem ser executadas em qualquer ordem nos mdulos David. (iv) todos os trs caminhos de dados so implementados em mdulos GALS com geradores de relgios prprios. (v) os mdulos GALS usam geradores de relgio que podem pausar o relgio a cada ciclo. Com a combinao de todas as contramedidas listadas os Autores esperam oferecer um desafio maior a atacantes que usam tcnicas de anlise de consumo de potncia. O particionamento proposto aumenta significantemente a latncia do sistema, o que se agrava ainda com o processamento de dados falsos para aleatorizar o consumo. A interface assncrona empregada requer o pausamento do relgio para troca de dados o que pode tornar o sistema vulnervel aos ataques SPA, visto que o relgio o principal responsvel pelo consumo de um circuito.

60

Figura 3.2 Estrutura GALS do sistema Accia, proposto em [GUR06]. Accia composto pelo modulo Goliath que executa operaes com 128 bits e por dois mdulos David com operaes de 32 bits.

Baddam e Zwolinski em [BAD07] apresentam uma anlise e discusso sobre o uso de variao aleatria de freqncia e tenso (em ingls, Random Dynamic Voltage and Frequency Scaling - RDVFS) como contramedida a ataques DPA. Os Autores mostram que a partir da anlise do traado de corrente possvel medir a freqncia de operao e/ou o par tenso-freqncia durante o processo de criptografia. Os Autores propem um mtodo que emprega apenas chaveamento aleatrio de tenso e mantm constante a freqncia de operao do circuito. Os resultados comprovam a eficincia do mtodo contra ataques DPA e destacam como vantagem do mtodo o fato deste no exigir mudanas na lgica e/ou fluxo de projeto, bem como no implicar em custos adicionais significativos em rea, desempenho ou consumo de potncia. A principal restrio da proposta no permitir ao atacante ter acesso conexo entre o gerador de nmeros aleatrios e o controlador de voltagem. Caso isso acontea, o sistema perde sua aleatoriedade e se torna vulnervel a ataques DPA. Outra restrio do mtodo que a taxa de mudana de voltagem seja menor que o tempo para processar o nmero de entradas mnimo, de modo a evitar um ataque DPA. Se a taxa muito prxima ao nmero mnimo, o atacante pode implementar um ataque bem sucedido antes da aleatoriedade ser introduzida. Zafar e Har em [ZAF08] propuseram um mtodo para variao aleatria de freqncias em tempo de execuo como forma de ocultar a fuga de informaes em um criptosistema contendo o algoritmo AES. O mdulo gerador do sinal de relgio com freqncia aleatria proposto seleciona uma nova freqncia de relgio a cada nova mensagem de entrada no criptosistema. Com isso, a aleatoriedade inserida de modo a descorrelacionar os dados processados e o consumo de potncia medido. O mdulo gerador de relgio composto pelo oscilador proposto em [ZAF05] sendo facilmente implementado em FPGA. Lu et al. em [LU08] investigam o uso da tcnica de insero de atrasos aleatrios (do ingls, Random Delay Insertion - RDI) em projetos de criptosistemas destinados a FPGAs. Os Autores provam terica e praticamente que a tcnica efetiva contra ataques DPA e propem parmetros que podem ser utilizados para otimizar a segurana do

61

projeto em termos de rea, desempenho e potncia consumida. RDI foi inicialmente aplicada a criptosistemas microprocessados por Clavier et al. em [CLA00] para reduzir a correlao entre um modelo de potncia previamente definido e o consumo de potncia verdadeiro de um dispositivo. Para tanto, uma cadeia de elementos de atrasos programveis adicionada ao caminho de dados, a fim de aleatorizar as curvas de potncia na dimenso do tempo. Este mtodo vulnervel quando aplicado em sistemas microprocessados, segundo os Autores. Logo, Lu et al. propuseram a implementao em FPGA com o ajuste de parmetros tais como variao do atraso inserido, seu desvio padro e um fator de multiplicao k. Os resultados obtidos mostram que RDI em FPGA mais eficaz que a verso original do algoritmo implementada em FPGA. A proposta sofre uma penalizao em rea de cerca de 100%, custo relativamente baixo comparado a outros mtodos. Kamoun et al. em [KAM09] propuseram um gerador de rudo como forma de descorrelacionar o consumo de potncia dos dados processados em um projeto orientado a FPGA. Os Autores usam o algoritmo AES como estudo de caso para validao da tcnica. O gerador proposto nada mais que a replicao das duas funes mais vulnerveis do AES, AddRoundKey e SubBytes. Quando um dado processado pelo criptosistema, este executado concorrentemente por estas operaes, porm com chaves diferentes. Um deles utiliza a chave secreta e o gerador de rudo usa uma chave aleatria. O mtodo proposto apresenta baixo custo em rea comparado a um mtodo de mascaramento [CAN08], embora estes mdulos replicados representem a maior rea do algoritmo. Por outro lado, o mtodo determina restries nas etapas de posicionamento e roteamento para garantir que o processamento seja realmente paralelo. 3.2.1 COMPARAO ENTRE PROPOSTAS Conforme a reviso das propostas resumidas na Tabela 3.2 possvel afirmar que esta abordagem depende da capacidade de reduzir a taxa SNR referente ao consumo de potncia do criptosistema. Quanto maior for a aleatoriedade inserida no sistema, ou seja, o rudo e as variaes no tempo de execuo de operaes, melhor ser a eficincia do mtodo. A necessidade de insero de hardware extra para aumentar a aleatoriedade do consumo exige um aumento em rea e conseqentemente um aumento no consumo de potncia do sistema. Observa-se ainda que esta tcnica pode ser desenvolvida tanto em hardware como em software. Em [YAN05] os Autores usam uma estrutura de hardware para efetivamente atuar na variao de freqncia e tenso, porm o gerenciamento executado em software em um processador de propsito geral. A Tese aqui proposta tambm implementa um pipeline tal como Standaert et al. propuseram, mas a diferena neste caso est no fato de os estgios do pipeline comunicarem-se assincronamente. Em relao proposta de Ciet et al., a Tese aqui proposta diferencia-se por replicar o bloco de encriptao completo do algoritmo ao invs de apenas uma operao. Em relao aos demais trabalhos, a Tese diferencia-se por inserir aleatoriedade no processamento de grupos de rodadas e com variao da freqncia do sinal do relgio em cada estgio a cada novo dado. Tal como implementado nos estudos de caso, possvel processar o algoritmo DES em grupos de oito rodadas (pipeline 2 estgios), quatro rodadas (pipeline 4

62

estgios), duas rodadas (pipeline 8 estgios) e apenas 1 rodada em cada estgio em uma arquitetura pipeline com 16 estgios.
Tabela 3.2 Resumo de propostas que visam descorrelacionar dados aleatorizando o consumo de potncia.
Algoritmo Benini et al. [BEN03] Ciet et al. [CIE03] RSA Mtodo Ativao do relgio Replicao e processamento paralelo Pipeline em dois nveis Atrasos no caminho de dados Custos Baixo ou reduo de potncia rea e desempenho compatveis rea e latncia Alto custo em rea Reduo de potncia e desempenho Alto custo em rea Baixo em potncia Baixo em rea Reduo no desempenho Baixo em rea e freqncia Tecnologia CMOS 0,18m

RSA

FPGA

Standaert et al. [STA04] Bucci et al. [BUC05] Yang et al. [YAN05]

AES

FPGA CMOS 0,18m

AES

DES

DVFS

CMOS

Grkaynak et al. [GUR06]

AES

Dados falsos e chaveamento de mdulos DVS Variao da freqncia do relgio Atrasos aleatrios no caminho de dados Replicao de mdulos Aleatoriedade de execuo, execuo sobreposta (pipeline)

CMOS 0,25m

Baddam e Zwolinski [BAD07] Zafar e Har [ZAF08] Lu et al. [LU08] Kamoun et al. [KAM09]

AES

CMOS

AES

FPGA

AES

FPGA

AES

FPGA

Mtodo proposto

DES

rea e latncia

FPGA

3.3 MTODO POR UNIFORMIZAO DO CONSUMO DE POTNCIA Em oposio ao mtodo revisado anteriormente, este mtodo tem como objetivo construir criptosistemas com consumo de potncia constante, ou ainda, independente dos dados processados. Isto significa que a cada ciclo de relgio uma quantidade constante de potncia consumida pelo sistema. No caso ideal, apenas contramedidas que tornam o consumo de potncia em um criptosistema exatamente igual para todas operaes e todos valores de dados oferecem perfeita proteo aos ataques DPA. Na prtica existem duas estratgias para atingir este objetivo, a primeira delas emprega estilos lgicos especficos no projeto do dispositivo criptogrfico. A segunda abordagem utiliza um filtro

63

para remover as dependncias de consumo de potncia existentes nas operaes e dados manipulados. Esta segunda abordagem pouco usada, a julgar pela quantidade de literatura disponvel. Por outro lado, encontra-se uma grande quantidade de propostas que utiliza a primeira abordagem. A seguir so apresentadas algumas estratgias adotadas no projeto de circuitos com consumo de potncia independente de dados. Tiri et al. em [TIR02] propuseram um novo estilo de lgica CMOS que opera com consumo de potncia independente de valores lgicos e da seqncia de dados. O estilo denominado em ingls, Sense Amplifier Based Logic ou SABL, apresenta um consumo independente de dados seguindo dois princpios: (i) ter apenas um evento de chaveamento por ciclo de relgio, independentemente da seqncia de dados de entrada e; (ii) ter uma carga capacitiva constante durante este evento de chaveamento. SABL apresenta uma estrutura dinmica e diferencial similar lgica DCVSL (do ingls, Differential Cascode Voltage Switch Logic) [RAB03]. Entende-se por lgica dinmica circuitos lgicos que alternam sucessivamente entre etapas de pr-carga (sadas foradas para um valor lgico determinado) e avaliao (sada computada para o valor lgico correto para os valores de entrada). J a lgica diferencial caracterizada por representar um bit de informao com dois fios que representam o valor de um bit quando em polaridades inversas ou a ausncia de informao quando ambos os fios esto em 0. Ou seja, esta uma codificao denominada trilha dupla (do ingls, Dual Rail - DR). Experimentos realizados com uma SBOX do algoritmo Kasumi demonstram uma variao de energia normalizada 116 vezes menor quando comparada a implementaes CMOS tpicas. Por outro lado, a soluo apresenta um custo de rea e potncia duas vezes maior. Tiri e Verbauwhede em [TIR04] apresentam um novo mtodo de projeto de standard cells que visa construir portas lgicas com consumo de potncia uniforme para fluxos de projeto ASIC e FPGA. Embora SABL [TIR02] tenha sido projetado para este fim, o fluxo de projeto de CIs com esta lgica requer a caracterizao da nova biblioteca. O mtodo proposto pelos Autores em [TIR04] evita o projeto de uma nova biblioteca completa, permitindo construir portas complexas a partir de bibliotecas j existentes, seguindo o comportamento de SABL. A lgica diferencial dinmica simples (em ingls, Simple Dynamic Differential Logic - SDDL) complementar lgica convencional. Alm disso, adiciona um circuito de pr-carga s sadas tradicional e complementar de modo a for-las ao nvel lgico 0. Um projeto alternativo desta lgica a implementao do circuito de pr-carga na entrada do circuito e a introduo de registradores na sada. Esta alternativa chamada de lgica diferencial dinmica em onda (em ingls, Wave Dynamic Differential Logic - WDDL). Experimentos revelam que esta eficiente na reduo da variao do consumo de potncia tanto em ASICs quanto em FPGAs, porm apresenta custos significativos em rea, desempenho e consumo de potncia. Vahedi et al. em [VAH06] propuseram um circuito para uniformizar a corrente consumida em criptosistemas microprocessados. O circuito proposto controla dinamicamente o consumo de potncia de duas maneiras: (i) injetando corrente; e (ii)

64

regulando a tenso sobre o criptosistema. A corrente de alimentao monitorada por um sensor que repassa as variaes de corrente a um circuito responsvel por manter a corrente consumida constante durante a encriptao de dados. Quando as variaes de corrente excedem os limites de atuao do circuito de controle de corrente, o regulador de tenso acionado, de modo a redimensionar a tenso sobre o criptosistema fazendo com que o controle de corrente volte a atuar novamente sobre o criptosistema. Como desvantagem do mtodo, o circuito regulador de tenso deve limitar-se a operar com variaes de tenso definidas pelo fabricante do microprocessador. Alm disso, a reduo da tenso de alimentao ocasiona atrasos no processamento de operaes, e por conseqncia pode impor limites para o sistema atender aplicaes que tenham restries de tempo de processamento. Razafindraibe et al. em [RAZ07] realizaram uma avaliao detalhada da robustez da lgica em trilha dupla (DR) a ataques DPA, e mostraram que a faixa de operao da lgica considerada efetivamente robusta surpreendentemente pequena. DR no reduz suficientemente a correlao entre dados e o tempo de computao para caracterizar-se como uma contramedida robusta a ataques DPA. Motivados por esta anlise, os Autores propem o uso de uma lgica alternativa DR, chamada de lgica segura em trs trilhas (em ingls, Secure Triple Track Logic - STTL). Esta lgica utiliza uma terceira trilha para a validao de dados. O circuito de validao projetado com portas de baixa corrente, cujos atrasos de propagao so maiores que os do restante do circuito. Esta caracterstica garante que a validao seja gerada aps a estabilizao dos dados na sada do circuito e independentemente dos dados processados. Outra caracterstica de STTL que o processamento do dado ocorre somente aps a chegada de todos os sinais de validao envolvidos em seu processamento. Isto garante a STTL uma tolerncia ao desequilbrio do tempo de propagao entre fios complementares na lgica DR, um efeito naturalmente introduzido durante a etapa de posicionamento e roteamento do circuito. A lgica de validao redundante garante que os dados sejam processados independentemente de tempo e do consumo de potncia. Esta lgica apresenta custos em rea semelhantes aos da lgica DR. Por outro lado, apresenta custos elevados em latncia devido ao circuito de validao empregado adicionalmente. Guilley et al. em [GUI08] propuseram uma investigao da contramedida WDDL proposta por Tiri e Verbauwhede. Estes Autores apresentam uma metodologia de CAD para desenvolver WDDL em FPGA e a seguir realizam uma avaliao de robustez da lgica, usando como estudo de caso o algoritmo DES. Os Autores discutem um mtodo para reduo de rea e, alm disso, propem uma avaliao de algumas ferramentas de sntese de hardware. Neste caso, os Autores propem uma heurstica para obter SBOXs menores em relao s geradas automaticamente pelo CAD de ASICs. Em outro trabalho, Guilley et al. em [GUI08b] propuseram um estudo do impacto causado pelas etapas de posicionamento e roteamento em FPGA usando duas das principais ferramentas de CAD disponveis no mercado, os ambientes de sntese fsica da Altera e da Xilinx. Segundo os Autores, as lgicas DPL propostas preocupam-se em manter a quantidade de chaveamento de transistores constante para qualquer dado processado como forma de manter o consumo de potncia independente dos dados

65

processados. Porm, os Autores destacam que o tempo de propagao dos sinais entre as trilhas duplas tambm tem importncia. Assim, realizaram experimentos de maneira a estabelecer restries de posicionamento que atenuem os desequilbrios de tempo de propagao dos sinais. As ferramentas da Altera apresentaram melhores resultados que as ferramentas da Xilinx. Embora o mtodo seja interessante e apresente resultados relevantes, a tarefa de estabelecer restries de roteamento em fios no fluxo de projeto de FPGAs complexa, devido ao no-determinismo das ferramentas de sntese. Esta a principal desvantagem do mtodo. Kulikowski et al. em [KUL08] propuseram o uso de projetos com codificao em trilha dupla com consumo de potncia independente de dados, tolerante ao desequilbrio de interconexes entre portas lgicas e variabilidade do processo de fabricao de circuitos integrados. O projeto, denominado pelos Autores em ingls Asynchronous Directional Latch Based Logic (ADLBL) permite um consumo independente de dados pela adio de um protocolo de descarga capacitiva direcional em trilha dupla, baseado no projeto de um latch que permite a descarga completa de ambas as trilhas. Os resultados obtidos por simulao com a implementao de um submdulo do AES demonstram que mesmo na presena de desequilbrio de capacitncias no circuito, a lgica proposta resiste a ataques CPA, mostrando-se mais robusta que WDDL [TIR04]. Apenas experimentos tericos foram realizados, no sendo mostradas avaliaes prticas de robustez da lgica proposta. Os custos em rea e potncia so potencialmente elevados, mas os Autores no apresentam avaliao de rea. Alm disso, a tcnica requer o projeto de uma biblioteca especfica. Muresan e Gregori propuseram em [MUR08] o uso de um circuito de proteo contra ataques DPA para criptosistemas tais como smart cards. O circuito baseado na tcnica de regulao de corrente (em ingls, current flattening technique) inicialmente introduzida em [MUR04] e posteriormente usada em [MUR05] e [MES05]. Este circuito pode ser integrado ao mesmo chip ou ao mesmo encapsulamento do criptosistema. O objetivo desta tcnica manter constante a corrente necessria para suprir o criptosistema, mascarando assim a dependncia entre dados processados e a corrente consumida. Como a corrente Is consumida pelo criptosistema varia a cada dado processado, o circuito de proteo monitora Is e varia dinamicamente seu consumo de corrente If de modo que a corrente total consumida pela fonte Idd = I s + I f seja constante. A principal vantagem desta proposta a simplicidade da integrao ao criptosistema existente, no sendo necessrio o uso de biblioteca dedicada, reprojeto do criptosistema ou modificaes em software. Por outro lado, a tcnica eleva o consumo de potncia, visando uniformiz-lo. Vahedi et al. em [VAH08] propuseram modificaes no trabalho proposto em [VAH06]. Neste ltimo adiciona-se um mtodo de chaveamento de freqncias para remediar as penalidades com atrasos no processamento. Durante a operao de encriptao no processador, se a corrente no alcana a faixa de alimentao pr-definida para o processador, ento um bloco de chaveamento de freqncia ativado para encontrar a freqncia de operao mnima que satisfaa as exigncias de tempo de

66

processamento. Este bloco aumenta a faixa de voltagens de alimentao do processador e traz dois benefcios: (i) garante a funcionalidade do processador e; (ii) reduz os custos com consumo de potncia. Este novo mtodo de projeto introduz um circuito de uniformizao de corrente mais eficiente quanto ao consumo de potncia. A proposta apresenta um circuito com baixos custos de potncia e rea, sendo til para aplicaes tais como smart cards e dispositivos de comunicao mvel. Rammohan et al. em [RAM08] apresentaram o estilo lgico denominado Lgica Diferencial e Dinmica Complementar Reduzida (em ingls, Reduced Complementary Dynamic and Differential Logic - RCDDL) para conceber sistemas imunes a ataques DPA. Este estilo garante um consumo de potncia uniforme para dados de entrada (mensagem e chaves criptogrficas). Em oposio aos estilos DPL existentes, que complementam todas as portas lgicas para gerar a sada diferencial, o estilo RCDDL prope o reuso de portas lgicas, de modo a reduzir o nmero de portas na gerao da lgica complementar para obter a sada diferencial. Esta a primeira proposta de reuso de portas lgicas para conceber uma lgica complementar e conseqentemente reduzir o custo em rea. Duas so as exigncias para garantir segurana a lgicas DPL: (i) exatamente uma transio de sada a cada ciclo de relgio; (ii) a capacitncia total (de carga e de descarga) deve permanecer constante a cada ciclo de relgio. Resultados experimentais sobre circuitos tais como o algoritmo criptogrfico DES e circuitos sintticos mostram que o uso de RCDDL produz um aumento significativo de resistncia a ataques, apresentando uma reduo de 42% na variao de corrente mxima em relao lgica WDDL e 11 vezes quando comparada lgica CMOS ordinria. Os resultados tambm mostram uma melhora no consumo mdio de potncia e rea, mas com uma penalidade na latncia, quando comparado lgica WDDL. Moradi et al. [MOR09a] propuseram um estudo com a lgica de recuperao de energia [KHA08], destinada concepo de circuitos de baixo consumo de energia. Esta lgica apresenta caractersticas tais como mecanismo de pipeline, consumo reduzido de energia dependente de dados e reduzida radiao de energia, o que til em reas de aplicaes tais como segurana de circuitos criptogrficos embarcados. Os Autores examinam a robustez de portas lgicas utilizando a lgica proposta bem como os custos de implementao associados. Os resultados demonstram que a lgica proposta requer menos rea em relao a lgicas destinadas segurana tais como SABL e demais DPLs. Por outro lado, os estudos mostram que a segurana da lgica limitada pela freqncia de operao, apresentando melhores resultados em baixas freqncias. 3.3.1 COMPARAO ENTRE PROPOSTAS A Tabela 3.3 resume as caractersticas dos trabalhos revisados na Seo 3.3. O tipo de contramedida revisado aqui visa eliminar a fuga de informao ao tornar o consumo de potncia constante e independente dos dados processados pelo sistema criptogrfico. Com este objetivo, os Autores buscam propor novas estruturas lgicas para conceber circuitos com consumo uniforme, evitando tanto quanto possvel as variaes de cargas capacitivas no circuito.

67 Tabela 3.3 Resumo de propostas que visam descorrelacionar dados atravs da uniformizao do consumo de potncia.
Algoritmo Tiri et al. [TIR02] Mtodo Lgica diferencial e dinmica (caracterizada) Lgica diferencial e dinmica Circuito regulador de voltagem Lgica em trs trilhas (validao) Balanced WDDL Comparao de ferramentas de sntese para fluxo de projeto com lgicas balanceadas Latch e protocolo tolerante a desequilbrios capacitivos Circuito regulador de corrente Circuito regulador de voltagem e freqncia DPL com reuso de portas Lgica para reduo de consumo Lgica de validao com tempo constante (STTL em FPGA) Custos Tecnologia

Kasumi

Alto custo em potncia

CMOS 0,18m

Tiri e Verbauwhede [TIR04] Vahedi et al. [VAH06]

Kasumi, DES, AES

Alto custo em potncia

CMOS 0,18m e FPGA

DES

Custo em rea

CMOS

Razafindraibe et al. [RAZ07]

DES

Alto custo em rea

CMOS 0,35m e FPGA

Guilley et al. [GUI08] Guilley e al. [GUI08b]

DES

rea

FPGA

DES

Area

FPGA

Kulikowski et al. [KUL08]

AES

Custo em rea

CMOS

Muresan et al. [MUR08]

DES

Alto custo em potncia

CMOS

Vahedi et al. [VAH08]

DES

Custo em rea

CMOS

Rammohan et al. [RAM08] Moradi et al. [MOR09]

DES

Mdio

CMOS

No identificado

Freqncia de operao

CMOS

Mtodo proposto nesta Tese

DES

Latncia e rea

FPGA

68

A vantagem deste mtodo atuar diretamente na origem do problema, buscando alternativas para contornar os problemas inerentes das tecnologias atualmente disponveis. Por outro lado, os custos para se obter uma lgica com tais caractersticas so altos em termos de rea, consumo e latncia, principalmente devido as portas passarem a ter estruturas diferenciais (uso de lgica complementar) e comportamento dinmico (ter obrigatoriamente o mesmo nmero de chaveamentos para cada dado processado), a fim de obter cargas capacitivas constantes. Alm disso, alteraes no fluxo de projeto podem ser necessrias para permitir a concepo do circuito com uma nova biblioteca lgica. O prottipo da lgica STTL proposto neste trabalho visa eliminar as fugas de informaes atravs da uniformizao do consumo de potncia. Ao contrrio das demais lgicas, STTL utiliza trs trilhas para codificar um bit de informao. A lgica mostra-se robusta a ataques por consumo de potncia e por radiao eletromagntica. Por outro lado, STTL sofre uma penalidade na latncia da computao. Quanto ao custo em rea, STTL mostra-se similar s demais lgicas em trilha dupla. 3.4 MTODOS PARA CONTRAMEDIR ATAQUES POR INDUO A FALHAS Nesta Seo revisam-se alguns trabalhos que tm por objetivo imunizar criptosistemas contra a induo maliciosa de falhas. De um modo geral, os trabalhos encontrados na literatura utilizam tcnicas de deteco e correo de erros para evitar que criptogramas defeituosos sejam produzidos e conseqentemente usados em ataques DFA. Embora este tipo de ataque esteja fora do escopo deste trabalho, uma pequena reviso da literatura apresentada em carter exploratrio. Yen e Wu em [YEN06] propuseram vrios esquemas de deteco de erros implementados em hardware com base na verificao de redundncia cclica (n+1,n) (do ingls, Cyclic Redundancy Check - CRC). O esquema proposto facilmente prev a paridade do resultado de uma operao. Os Autores usam o algoritmo AES como estudo de caso devido a sua estrutura orientada a bytes, o que facilita a previso da paridade de operaes internas, a partir de combinaes lineares das paridades de entrada. Como vantagens do mtodo proposto, destaca-se sua escalabilidade, que permite sua aplicao em arquiteturas com caminho de dados de 8, 32 e 128 bits. Alm disso, o clculo de paridade proposto simtrico, ou seja, aplicvel tanto a operaes de encriptao como de decriptao. O processo de gerao de paridade em ambas operaes muito similar, o que traz benefcios na implementao da abordagem em hardware. Regazzoni et al. em [REG07] propuseram um estudo sobre o impacto na robustez de um criptosistema equipado com uma contramedida especfica para um dado canal lateral, porm submetido a ataques por outro canal lateral. Neste trabalho os Autores utilizam um circuito de deteco de erros, mais precisamente um detector de paridade, a fim de imunizar contra ataques por induo a falhas uma SBOX do algoritmo Kasumi, implementada em hardware com tecnologia CMOS 0,18 m. Em simulao, a SBOX ento submetida a ataques DPA visando avaliar sua robustez. Durante os experimentos, os Autores realizaram ataques em duas verses do circuito, uma com e outra sem contramedida. Os resultados obtidos revelaram um aumento de 35% no nmero de chaves criptogrficas descobertas em relao ao circuito sem a contramedida a DFA.

69

Embora a contramedida e o circuito adotados sejam pouco complexos, ou seja, apenas um submdulo do algoritmo Kasumi equipado com um detector de um bit de paridade, a questo levantada pelos Autores relevante. O estudo revela que os esforos em pesquisa direcionados a encontrar uma soluo a um tipo de ataque pode causar vulnerabilidades a outro mtodo de ataque. Maistri e Leveugle em [MAI08] propuseram o uso da tcnica denominada em ingls double data rate (DDR) como base para implementar uma contramedida a ataques DFA. Trabalhos anteriores revelaram que o uso de redundncia temporal como mtodo de deteco de falhas tem um impacto negativo na latncia de um criptosistema. Ou seja, a encriptao/decriptao de um dado deve ser realizada duas vezes e por conseqncia ocasiona a reduo da vazo no criptosistema. Com o uso de DDR, os Autores contornam este problema, obtendo uma vazo compatvel com implementaes tpicas do algoritmo. Em relao robustez, o mtodo mostra-se compatvel com mtodos anteriormente propostos. Por outro lado, a rea e a freqncia de operao sofrem penalizaes neste mtodo. Bhasin et al. em [BHA09] apresentam um estudo provando que os estilos lgicos em trilha dupla dedicados a evitar ataques por consumo de potncia so naturalmente imunes maioria dos ataques por induo a falhas. Os Autores apresentam um estudo de caso com o estilo lgico WDDL sem avaliao antecipada (do ingls, WDDL without early evaluation ou WDDL EE). Este estilo lgico remove a fase de avaliao antecipada de modo a evitar vulnerabilidades provocadas pelos tempos de propagao diferentes dos sinais diferenciais de entrada [BHA09]. Estas lgicas garantem que em caso de problemas com os sinais de entrada presos a um valor nulo ou a chegada de um valor no especificado as sadas tero sempre valores nulos (os espaadores da codificao DR), o que evita ataques DFA. O fluxo de projeto apresentado dedicado a FPGAs Altera, mas pode ser adaptado para a FPGAs Xilinx segundo os Autores. A proposta dos Autores apresenta penalidades em rea e desempenho. 3.4.1 CONSIDERAES SOBRE O MTODO Este mtodo discutido aqui para complementar a reviso da literatura sobre os mtodos de contramedidas para circuitos criptogrficos. O objetivo bsico dos mtodos impedir que a ocorrncia de falhas no processamento, seja qual for sua origem, propague um erro ao meio exterior do circuito. Isto pode ser usado como informao privilegiada para a descoberta da chave secreta em um circuito criptogrfico. A incluso de mtodos de deteco de erros ocorre geralmente em nvel de hardware, a um custo de rea e principalmente gerando aumento da latncia. Isto se deve principalmente ao uso de redundncia temporal ou previso de clculo usado para evitar as falhas induzidas. A Tabela 3.4 apresenta um resumo dos trabalhos revisados sobre mtodos para evitar que anlises por induo a falhas revelem os dados secretos de um criptosistema.

70 Tabela 3.4 Comparao de caractersticas de alguns trabalhos que propem mtodos para contramedir fuga de informaes por induo a falhas.
Algoritmo Yen e Wu [YEN06] Mtodo Deteco de Erros usando CRC Detector de paridade Redundncia temporal acelerada por DDR DPLs sem fase de avaliao Custos Tecnologia

AES

rea

Regazzoni et al. [REG07] Maistri e Leveugle [MAI08]

AES e Kasumi

Vulnerabilidade DPA rea e baixa freqncia de operao rea e fluxo complexo

CMOS 0,18m

AES

CMOS

Bhasin et al. [RAM09]

AES

FPGA

3.5 CONCLUSES A presente Seo apresentou uma reviso de propostas para evitar a fuga de informaes atravs de canais laterais em sistemas criptogrficos. Como revisado no Captulo 2, o problema da fuga de informaes atravs de canais laterais como consumo de potncia ocorre devido ao uso da tecnologia CMOS de concepo de circuitos integrados. Aps o problema ser definido nos experimentos realizados por Kocher, muitos trabalhos foram propostos visando encontrar uma soluo a estes tipos de vulnerabilidades. Na literatura nota-se claramente que existem 3 mtodos principais para evitar a correlao de dados com o consumo de potncia de um dispositivo eletrnico. So estes: mascaramento, insero de aleatoriedade e uniformizao do consumo de potncia, conforme revisado neste Captulo. Dois destes mtodos, mascaramento e insero de aleatoriedade propem solues para impedir a correlao de dados com a fuga de informao no canal lateral analisado. Nestes casos, as caractersticas de consumo da tecnologia CMOS so mantidas, porm os mtodos provocam desordenamento do consumo, a fim de dificultar a tarefa dos atacantes. J o mtodo de uniformizao do consumo aplicado diretamente na tecnologia de concepo visando obter circuitos com consumo de potncia constante para qualquer dado processado. Logicamente, a segurana proposta pelos mtodos apresenta custos em rea, potncia e desempenho. De acordo com a reviso realizada, nenhum mtodo aplicado isoladamente capaz de garantir a segurana completa de um criptosistema, todos apresentam algum tipo de restrio. Acredita-se que a combinao de mtodos eleva o nvel de segurana nestes sistemas.

71

4. PROTOTIPAO DE LGICA NO-SNCRONA ROBUSTA A DPA E DEMA


Os estudos e avaliaes de lgicas em trilha dupla (DPLs) propostas para imunizar sistemas criptogrficos a ataques DPA revelaram vulnerabilidades conforme indicado por Razafindraibe et al. em [RAZ07]. Com base nestas avaliaes os Autores propuseram novas diretivas para conceber a lgica STTL visando reforar a imunidade de DPLs ao introduzir uma lgica de validao associada a um sinal de validade redundante conforme discutido anteriormente. Uma biblioteca lgica proposta em tecnologia CMOS e validada com um estudo de caso para prova de conceitos. Os resultados obtidos por simulao mostram um processamento de dados quase independente do consumo de potncia e do tempo de propagao motivando o uso da lgica STTL. Para melhor avaliar a robustez da lgica proposta torna-se imprescindvel submetla a experimentos prticos de avaliao do consumo de potncia. O tempo de projeto e os custos para desenvolver estudos de caso usando um circuito integrado dedicado so elevados. Deste modo a prototipao usando dispositivos FPGA mostra-se atrativa para esta nova etapa de validao da lgica. Este foi basicamente o objetivo do estgio sanduche realizado no LIRMM - (Universit Montpellier II - Frana) durante um ano e uma das contribuies originais desta tese. Este Captulo apresenta as atividades e os resultados obtidos com o desenvolvimento de prottipos da biblioteca STTL em FPGA bem como a avaliao de sua robustez s anlises de consumo de potncia e de radiao eletromagnticas. Como as propostas de contramedidas desenvolvidas neste trabalho baseiam-se no paradigma no-sncrono de projeto, a Seo 4.1 apresenta uma reviso especfica de pressupostos empregados para o desenvolvimento de circuitos no-sncronos. A Seo 4.2 apresenta os pressupostos da lgica STTL. A proposta de prototipao em FPGA de uma biblioteca de portas lgicas STTL mostrada na Seo 4.3. Um estudo de caso com a implementao do algoritmo DES usando a lgica STTL apresentado na Seo 4.4. Nas Sees 4.5 e 4.6 so abordados os sistemas de medio e aquisio de dados usados para as anlises. As avaliaes de robustez a ataques por consumo de potncia e por radiao eletromagntica esto discutidas nas Sees 4.7 e 4.8. 4.1 REVISO SOBRE PROJETO DE CIRCUITOS NO-SNCRONOS Com o objetivo de superar as limitaes do projeto sncrono, diversos grupos de pesquisa esto retomando o interesse no desenvolvimento de circuitos no-sncronos. Para facilitar a distino entre os estilos de projeto, o termo no-sncrono utilizado neste trabalho para englobar paradigmas assncronos (clockless), o paradigma GALS e outros paradigmas tal como a dessincronizao [COR06]. Circuitos no-sncronos so circuitos que assumem sinais binrios, mas no assumem o pressuposto de discretizao do tempo, isto , em circuitos assncronos o tempo tratado como uma varivel contnua [SPA02]. Este tipo de circuito pode eliminar os problemas de escorregamento e de dissipao de potncia do sinal de relgio

72

[MAH98]. Entretanto, o desenvolvimento de sistemas no-sncronos esbarra na falta de ferramentas adequadas para a automatizao do processo de desenvolvimento [SOT02] [RAF10]. Motivados pelas limitaes do estilo sncrono de projeto, pela falta de ferramentas para dar suporte a circuitos totalmente assncronos, e pela grande popularidade do estilo sncrono de projeto, alguns trabalhos de pesquisa propem solues intermedirias entre o projeto sncrono e o projeto assncrono. O objetivo principal manter as ferramentas do projeto sncrono e eliminar ou reduzir o uso de sincronizao atravs do sinal de relgio. Entre essas propostas pode-se destacar o uso de sistemas GALS e o uso da dessincronizao (do ingls, desynchronization) [COR06]. A dessincronizao uma tcnica de gerao de circuitos assncronos a partir do estilo sncrono [COR06]. A nica alterao do estilo sncrono a substituio da etapa de gerao da rvore de relgio por uma etapa de insero de circuitos de handshake, um para o controle de cada etapa do circuito sncrono. O perodo do sinal de relgio substitudo por um elemento de atraso que deve possuir atraso maior que o atraso de propagao de pior caso da lgica combinacional a qual est associado. A segunda proposta que pode potencialmente preencher a lacuna entre sistemas sncronos e assncronos a decomposio de um sistema sncrono em diversos mdulos que no trabalham globalmente sincronizados, ou seja, onde cada mdulo possua um domnio de relgio distinto. Este estilo de projeto conhecido como Globalmente Assncrono e Localmente Sncrono [CHA84]. Em sistemas GALS, cada mdulo trabalha sincronamente [TEE07] [KRS07], mas a interao entre mdulos utiliza uma interface de comunicao assncrona, responsvel por efetuar a transferncia de informaes entre os mdulos sncronos [PON07]. Estilos de projeto no-sncronos mantm o pressuposto de discretizao dos nveis de tenso, mas adotam outros pressupostos quanto ao tempo ou nenhum pressuposto neste sentido. Dessa forma, o tempo tem de ser tratado como uma varivel contnua, o que torna tais circuitos mais sensveis a fenmenos temporais que ocorrem em circuitos digitais. A seguir sero descritos alguns destes fenmenos temporais, protocolos de comunicao, codificao de dados extrados na sua maioria do trabalho de Spars e Furber [SPA02]. 4.1.1 FENMENOS TEMPORAIS Transitrios (em ingls, hazards) so exemplos de fenmenos temporais que podem afetar o funcionamento de circuitos no-sncronos. Em sistemas sncronos, valores transitrios podem ocorrer sem problemas, desde que no instante de amostragem todos os valores estejam estveis. Em sistemas assncronos, um valor transitrio pode levar o circuito a um estado invlido ou indesejado [CAL98]. A existncia de transitrios acontece devido ocorrncia de atrasos diferenciados de componentes ativos e fios ao longo do circuito. Entretanto, existem algumas tcnicas

73

que podem garantir o desenvolvimento de circuitos combinacionais com comportamento livre de transitrios [NOW05] [SPA02]. Outro fenmeno temporal que pode prejudicar o funcionamento de circuitos digitais a metaestabilidade. Este fenmeno mais difcil de tratar quando tcnicas nosncronas de projeto so adotadas. A metaestabilidade um fenmeno que pode ocorrer em dispositivos de armazenamento [WES94]. Quando um dado a ser registrado em um elemento de armazenamento altera o seu valor simultaneamente ou muito prximo transio do sinal que habilita a amostragem, a sada pode apresentar problemas. Isto provavelmente ocorre se no forem respeitadas as restries de tempos de setup e hold [WES94] dos elementos de memria. Algumas falhas possveis so: a sada apresentar um valor indeterminado entre 0 e 1, ou haver uma demora arbitrariamente longa para que a transio de valor surja na sada. Quando este fenmeno ocorre, ele pode produzir uma falha de sincronizao, isto , o valor de sada do elemento de armazenamento pode ser interpretado como distinto do valor correto por circuitos subseqentes. 4.1.2 PROTOCOLOS DE COMUNICAO O protocolo de comunicao assncrono mais simples e mais comum conhecido como handshake. Este protocolo utiliza dois sinais, geralmente denominados de request (Req) e acknowledge (Ack), para controlar um processo de transmisso de dados ou de sincronizao. O canal de dados opcional, uma vez que o protocolo pode ser utilizado apenas para sincronizao entre os mdulos, sem troca de dados. No caso de troca de dados, um canal do tipo push channel, ou seja, um canal onde a fonte de dados o mestre do protocolo de handshake. Uma forma alternativa desse protocolo a utilizao de pull channels, onde o destino dos dados atua como mestre. De acordo com o nmero de sinalizaes envolvidas no protocolo handshake tmse duas verses deste: protocolo de quatro fases e protocolo de duas fases. 4.1.3 CODIFICAO DE DADOS A codificao de dados em um circuito digital pode ser feita de diversas formas. A codificao mais comumente empregada conhecida como trilha nica (em ingls, single rail - SR). Em circuitos no-sncronos, a utilizao do protocolo de handshake associado a dados codificados em trilha nica determina o estilo de projeto denominado bundled data. Nesse estilo, o sinal de requisio de comunicao (Req) responsvel tambm por sinalizar a validade dos dados transmitidos. Para o funcionamento do estilo bundled data necessrio que o atraso do sinal de requisio seja maior que o atraso de todos os sinais de dados. Dito de outra forma, a mquina de estados responsvel por produzir o sinal de requisio deve ser projetada de forma que a gerao do sinal de requisio s acontea aps os dados estabilizarem na entrada do receptor. Para eliminar a restrio de temporizao imposta gerao do sinal de requisio no estilo bundled data, projetistas de circuitos assncronos exploram possibilidades de codificao capazes de transportar o dado juntamente com a sua informao de validade.

74

Tais tipos de codificao permitem o desenvolvimento de protocolos de comunicao onde no necessria a verificao de atendimento de restries temporais na troca de dados. Tais codificaes so conhecidas como insensveis a atrasos (do ingls, delay insensitive DI). Em uma codificao DI o sinal de requisio embutido como parte inseparvel dos dados, mas o sinal de reconhecimento (Ack) ainda necessrio. Assim, o receptor deve ser capaz de verificar a validade dos dados, bem como sua presena ou ausncia no canal de comunicao. Cdigos especiais so reservados por esquemas DI para indicar a ausncia de dados, os chamados cdigos neutros. Outro nome para cdigos neutros espaadores. Existem vrias formas de codificao DI, mas as duas formas mais utilizadas so o cdigo trilha dupla (DR) e o cdigo m-de-N [MAR06]. 4.1.4 IMPLEMENTAO DE COMPONENTES ASSNCRONOS A implementao de dispositivos e circuitos assncronos pode ser feita tanto sobre informao codificada usando trilha nica, atravs de circuitos combinacionais semelhantes aos utilizados em lgica sncrona, quanto sobre informao expressa via codificaes DI. A seguir exploram-se essas formas de implementao. Antes, contudo ser apresentado o C-element de Muller, um componente bsico em diversos estilos de projeto assncronos, e tambm empregado em vrios pontos neste trabalho.
O C-ELEMENT

Trata-se de um componente de importncia em muitos estilos de projeto assncrono. Ele tambm chamado de C-element de Muller [BER92] [MAR06]. O Celement funciona como um sincronizador de eventos, produzindo um evento na sua sada quando todas as suas entradas recebem eventos especficos. A Tabela 4.1 uma especificao de comportamento de um C-element de 2 entradas, onde a e b so os sinais de entrada e Zi o sinal de sada. O C-element gera 0 na sua sada quando ambas as entradas so 0, 1 na sada quando ambas as entradas so 1 e mantm o valor anterior para qualquer outra configurao de entradas. Logo, trata-se de um circuito seqencial que pode ser implementado de diversas formas.
Tabela 4.1 Tabela verdade de um C-element de Muller com 2 entradas.

a 0 0 1 1

b 0 1 0 1

Zi 0 Zi-1 Zi-1 1

Para FPGAs, a maneira mais simples de implementar um C-Element apresentada na Figura 4.1 (a). O circuito possui duas entradas e sua sada realimentada. Assim, um C-Element de duas entradas pode ser implementado em uma LUT (do ingls, Look Up Table) de 4 entradas (o que representa apenas metade das LUTs

75

disponveis em um slice nas famlias Virtex II e Spartan 3, por exemplo). C-elements so na realidade uma famlia de componentes. Outros tipos de C-element podem ser obtidos variando o nmero de entradas, a polaridade de entradas ou acrescentando sinais de controle (como reset e/ou set). O sinal de realimentao de um C-element constitui uma derivao que deve ser iscrona assimtrica, ou seja, o fio de realimentao deve possuir atraso menor que o fio de sada [BER92].

a Zi a b

Zi

(a)

(b)

Figura 4.1 (a) Uma forma de implementao de um C-Element de Muller de 2 entradas usando portas lgicas. (b) Smbologia comumente usada para representar um C-Element. PORTAS DELAY INSENSITIVE MINTERM SYNTHESIS (DIMS)

Existem diversas tcnicas de implementao de blocos funcionais para codificao trilha dupla [BRE05] [DAV92] [SPA02]. Um exemplo de tcnica empregada para construir blocos funcionais Delay Insensitive Minterm Synthesis (DIMS). Essa tcnica utiliza um conjunto de C-elements para gerar todos os mintermos das variveis de entrada. Uma porta OR usada para somar os mintermos que levam a sada ao estado de set (1) e outra para somar os mintermos que levam a sada ao estado de reset (0). A Figura 4.2 mostra um exemplo de porta XOR DIMS de duas entradas, que pode ser usada para a construo de blocos funcionais.
Bt Bf At Af
C

Sf
C

St
C

Figura 4.2 Exemplo de uma porta XOR implementada com a tcnica DIMS.

4.2 FUNDAMENTOS DA LGICA STTL Para uma melhor compreenso da influncia do deslocamento temporal sobre o trao de corrente de uma clula em trilha dupla, a Figura 4.3 apresenta uma abstrao deste efeito. A topologia de uma clula em trilha dupla pode ter seu comportamento abstrado como mostrado na Figura 4.3 a). Nesta Figura, ATT e ATF representam respectivamente os tempos de chegada dos fios de entrada de um inversor trilha dupla

76

terico, representa a durao da transio dos sinais e t o deslocamento temporal entre os incios das variaes nas duas entradas. Como ilustrado na Figura 4.3 b), o trao diferencial de corrente a diferena entre os traos de corrente de INV1 e INV2. Assumese, sem perda de generalidade, tratar-se de inversores.
Corrente

Perfil de corrente de INV1 Perfil de corrente de INV2 Corrente diferencial

Tempo

Figura 4.3 Impacto do deslocamento temporal sobre a corrente diferencial [RAZ07].

Como se pode constatar, um deslocamento temporal t nas entradas resulta em um deslocamento de mesma ordem nos traos de corrente. Por conseqncia, durante este tempo t, o trao diferencial de corrente igual ao trao de corrente do INV1, cuja amplitude mxima IMAXINV1 pode ser atingida se t = . Neste contexto, o objetivo em propor STTL garantir que este deslocamento temporal t no seja perceptvel no nvel de corrente em clulas trilha dupla. A Figura 4.4a) mostra a idia principal por trs de STTL usando uma clula produtora A e uma clula consumidora B. possvel imaginar as clulas em trilha dupla usando um sinal de validade W, responsvel por habilitar que B use a sada de A ao final de um tempo t t i . Este tempo ajustvel e deve garantir que os sinais de entrada da clula B estejam em um estado vlido e estvel. Analisando a Figura 4.4 b), nota-se que se o deslocamento temporal entre as entradas SF e ST de B no excede ti, isto garante que no existir nenhum impacto nos traos de corrente do mdulo B. Em outras palavras, espera-se com isto que os traos de corrente do mdulo B sejam quase superpostos e por conseqncia insensveis a qualquer deslocamento temporal existente entre os sinais SF e ST, desde que este deslocamento no exceda ti.

Figura 4.4 a) Estrutura tolerante ao deslocamento temporal. b) Modo de funcionamento da estrutura tolerante a deslocamento temporais [RAZ07].

77

Com base nesta premissa, os Autores de [RAZ07] propuseram a lgica STTL. De um modo geral, esta lgica tem caractersticas bem prximas da lgica em trilha dupla (DPL), porm com uma codificao de dados e um modelo de funcionamento particulares. Diferentemente das lgicas DPL existentes, STTL utiliza trs fios ao invs de dois para codificar um bit de informao. Dois fios servem para a codificao de dados enquanto que o terceiro fio serve para identificar o estado de validade dos dados. A Figura 4.5 apresenta a codificao de dados adotada por STTL. Como se pode constatar, no se trata de uma codificao em trs trilhas (1 de 3), a informao contida neste terceiro fio redundante e corresponde validade dos dados. A conseqncia direta que em um ciclo de processamento, este terceiro fio comuta a VDD na fase de avaliao e depois retorna a 0 (GND) na fase de pr-carga. Tendo uma atividade completamente independente dos dados tratados, este terceiro fio no apresenta nenhuma incidncia particular sobre os traos hipteses DPA.

Figura 4.5 Codificao de dados utilizada pela lgica STTL [RAZ07].

A Figura 4.6 ilustra o funcionamento da lgica STTL atravs de um circuito exemplo.


a0 a1 av b0 b1 bv c0 c1 cv d0 d1 dv (g1) XOR e = f(a,b) e0 e1 ev (g3) XOR g = f(e,f) (g2) XOR f = f(c,d) f0 f1 fv g0 g1 gv

av,bv,cv,dv e0,e1 f0,f1 ev fv g0,g1 gv


d(g2) v(g2)

Legenda
d: tempo de processamento de dados. v: tempo de processamento da validao.

Figura 4.6 Operao bsica das portas STTL. d representa o tempo de processamento de dados pela porta. Este tempo pode sofrer variaes como indicado pelo retngulo cinza, os quais no afetam os sinais de validao, conseqentemente mantendo V constante.

78

Depois de ativados os sinais aV, bV, cV e dV (assumindo-se que ocorram ao mesmo tempo), e0, e1, f0, f1 estabilizam primeiro. A seguir, a validao ocorre em eV e fV, que habilitam o chaveamento de g0 ou g1, seguido por gV, assumindo-se (como especificado pela lgica) que os sinais de validade tenham atraso de propagao maior. Deste modo, o chaveamento das portas STTL controlado pela trilha de validade, caracterizada por um chaveamento mais lento em relao s trilhas de dados. Em outras palavras, as trilhas de validade representadas pelas flechas pontilhadas na Figura 4.6 operam como o principal suporte de temporizao dos blocos lgicos, dando seqncia aos eventos independentemente dos dados processados. Observa-se que durante a seqncia de chaveamento, os tempos de ativao de e0 (f0, g0) e de e1 (f1, g1) podem variar devido aos possveis desequilbrios de carga de sada. Isto representado pelos hachurados cinza na Figura 4.6. Entretanto, estes desequilbrios de tempo no afetam a operao das portas seguintes, pois so ativadas pelos sinais de validao. Esta caracterstica evita os efeitos de acmulo de desequilbrios ao longo do caminho de dados. Isto garante um consumo de potncia e tempo de processamento quase independente de dados no circuito. 4.3 PROTOTIPAO DA LGICA STTL EM FPGA Esta Seo apresenta a proposta de uma biblioteca de portas lgicas STTL baseadas nos pressupostos de projeto de circuitos no-sncronos orientados a dispositivos reconfigurveis. O prottipo da biblioteca lgica seguir as premissas definidas pelos Autores em [RAZ07], de modo que seja possvel avaliar sua robustez atravs de anlises reais de consumo de potncia e de radiao eletromagnticas. A maior parte dos circuitos implementados em FPGAs baseia-se no uso de ferramentas de sntese automtica. Entretanto, pode ser difcil satisfazer requisitos de temporizao rgidos (como os exigidos em mdulos assncronos). Tambm, obter um percentual alto de uso de um dispositivo FPGA pode no ser factvel via sntese automtica apenas. Para tentar superar estas restries, a maioria das ferramentas de sntese automtica d suporte especificao de uma ampla variedade de restries, indo desde especificaes de planta baixa e freqncia de operao mnima at o controle de atrasos em fios especficos. Ainda assim, restries so apenas guias para ferramentas de alto nvel e um processo de sntese pode chegar ao seu final violando uma ou mais das restries impostas. Um dos recursos oferecidos em FPGAs da Xilinx para se ter um controle do processo de sntese so as chamadas hard macros. Hard macros so clulas definveis em nvel de leiaute do FPGA, atravs de uma ferramenta (FPGA Editor) que d acesso a fios, LUTs e outros elementos especficos de um dispositivo FPGA especfico de uma famlia especfica. A liberdade de usar os recursos do FPGA no absoluta, mas suficientemente detalhada para permitir criar portas STTL que respeitam restries de temporizao impostas pela lgica. Como FPGAs so em essncia matrizes bidimensionais de componentes idnticos, uma vez projetadas, hard macros podem ser utilizadas como uma clula de biblioteca, instanciadas em descries de alto nvel (como VHDL ou Verilog). Elas so manipuladas

79

como um mdulo de leiaute rgido por ferramentas de sntese lgica e fsica. Partes crticas em funcionalidade e/ou temporizao podem assim ser projetadas a mo. Hard macros provem controle sobre projetos, obviamente ao custo de complexidade adicional. Hard macros no so novidade em projeto de FPGAs. Elas foram usadas, por exemplo, por Martn-Langerwerf et al. em [MAR02] para reduzir o nmero de FPGAs e o tempo de execuo para aplicaes de tratamento de vdeo. Alm disto, hard macros j foram usadas para habilitar o uso de reconfigurao dinmica e parcial de FPGAs, como descrito, por exemplo, em [HUE04] e [MOL06]. Aqui se emprega hard macros para implementar primitivas assncronas da lgica STTL, viabilizando o uso desta lgica em FPGAs de forma compacta. Estudos realizados por Pontes et al. [PON07] mostram que FPGAs da Xilinx possuem recursos que habilitam a implementao da biblioteca pretendida. Quatro verses de portas lgicas AND so desenvolvidas com base nos pressupostos DIMS de concepo assncronos de circuitos. Como exemplo, a Figura 4.7 apresenta quatro diferentes verses implementadas da porta lgica AND de duas entradas. Inicialmente, desenvolveram-se duas verses em trilha dupla (DR), em (a) uma verso DR DIMS conforme definida na literatura e em (b) uma verso DR DIMS balanceada, ou seja, as portas de sada Z1 e Z0 tendo a mesma profundidade lgica. A seguir, desenvolveram-se duas verses de prottipos da lgica STTL. A verso (c) mostra uma lgica baseada nos pressupostos DIMS, porm adaptada s premissas definidas em [RAZ07]. A seguir, uma verso empregando menos recursos (d) definida, apresentando o mesmo comportamento de (c), mas com vantagens em termos de rea e tempo de clculo.

Figura 4.7 Proposta de estruturas lgica e fsica de uma porta lgica AND assncrona de duas entradas. Em (a) a verso bsica DR DIMS (DR), em (b) uma verso DR segura (DR2), em (c) o primeiro prottipo de STTL (STTL) e em (d) uma verso compacta de STTL (STTL2). A letra C dentro dos crculos representa um C-element e o smbolo C um C-element especial de 3 entradas, cujo comportamento de sada expresso pela equao booleana Z0 = Cout.Z0 + (Z0+Cout).(a0+b0).

80

Como a Figura mostra, a lgica composta por C-element de Muller [MAR06], responsveis por evitar que transies esprias ocorridas nas entradas sejam propagadas atravs de portas lgicas tradicionais OR, AND, NAND. Para implementar estas portas em lgica STTL, necessrio que os caminhos de dados da lgica-verdadeira (Z1) e lgicafalsa (Z0) tenham a mesma profundidade lgica. Esta caracterstica importante para se obter consumo de potncia e tempo de propagao quase independentes dos dados em cada clula. Um C-element de trs entradas usado com o objetivo de otimizar o prottipo da lgica STTL apresentado na Figura 4.7 (c). A funo lgica de C apresenta o mesmo comportamento das portas envolvidas na gerao da sada Z0 na Figura 4.7 (c). Isto permite reduzir o nmero de LUTs necessrias para implementar a lgica e conseqentemente reduzir o atraso necessrio para o sinal de validade. A Figura 4.8 apresenta a implementao da porta AND STTL da Figura 4.7 (d) sobre um bloco lgico configurvel (do ingls, Configurable Block Logic - CLB) de um FPGA Xilinx da famlia Spartan3.

Figura 4.8 (a) Abstrao de um CLB Xilinx da famlia Spartan3 composto por 4 slices e um switch box. Cada slice contm 2 LUTs responsveis por implementar uma funo lgica. (b) Leiaute da hard macro que implementa a porta AND indicada na Figura 4.7 (d).

A lgica de validade em portas STTL implementada a partir das entradas AV e BV conforme discutido anteriormente para circuitos CMOS. Assim, uma lgica independente com tempo de propagao maior em relao aos sinais de sada Z1 e Z0 projetada a partir de elementos de atraso como mostrado na Figura 4.7. Este atraso obtido pelo uso de LUTs em cascata implementando cada uma a funo identidade, de modo a obter um atraso constante para todos os dados de entrada. O projeto de uma porta lgica AND STTL de duas entradas tal como da Figura 4.7 (c) pode ser realizado usando 11 LUTs (ou 6 slices). Destas 11 LUTs, 6 so usadas para a definio da lgica propriamente dita e 5 empregadas na lgica de validao. Com esta proposta de porta lgica possvel notar que a concepo de uma porta STTL sobre o FPGA apresenta alto custo de rea. Em um momento inicial, o objetivo principal desta proposta foi validar os conceitos de STTL e no necessariamente encontrar um meio timo de desenvolver a lgica sobre FPGAs. Porm, uma otimizao se faz necessria de

81

modo a torn-la competitiva em relao a outras propostas disponveis na literatura. Assim, a segunda verso (Figura 4.7 (d)) utiliza 6 LUTs, gerando um ganho de quase 50% em termos de rea. Seguindo este mtodo de concepo, outras portas lgicas STTL foram implementadas, incluindo: NAND, OR, NOR, XOR e XNOR. No caso das portas lgicas XOR e XNOR no possvel usar a otimizao dada por C. Para isso, seria necessrio construir um C-element com mais de 4 sinais de entrada. Como as LUTs dos dispositivos Spartan3 possuem apenas 4 sinais de entrada, isto exigiria que o C-element fosse implementado em duas ou mais LUTs. Isto tornaria complexa a tarefa de obedecer s exigncias temporais do C-element, e ainda, no reduziria o nmero total de LUTs para sua implementao. Portanto estas portas lgicas so implementadas apenas com a verso inicial, onde so necessrios 5 elementos de atraso tal como mostrado na Figura 4.7 (c). J um inversor tanto em lgica de trilha dupla como em STTL definido simplesmente como a inverso dos fios verdadeiro e falso da codificao trilha dupla, no sendo necessrio o uso de componentes ativos para sua implementao. 4.3.1 FLUXO DE PROJETO E VALIDAO DA LGICA STTL Antes de avaliar a robustez do processo de prototipao da lgica STTL, necessrio inicialmente validar o funcionamento das portas lgicas desenvolvidas e avaliar atravs de simulao se os tempos de processamento so independentes dos dados de entrada. Para isso o submdulo SBOX1 do algoritmo DES associado a uma funo XOR de entrada foi escolhido como estudo de caso. O motivo para tal escolha o simples fato deste submdulo ter sido usado anteriormente pelo grupo de pesquisa, reduzindo assim o tempo de sua validao. Outros algoritmos mais recentes ou submdulos destes, tal como o AES e sua SBOX, tambm poderiam ser usados neste estudo de caso. O submdulo do DES nada mais que uma funo combinacional com seis bits da mensagem de entrada, 6 bits da subchave criptogrfica e 4 bits de sada para a mensagem cifrada, tal como mostrado na Figura 4.9. Maiores detalhes podem ser obtidos no Anexo B deste trabalho.

Figura 4.9 Submdulo de algoritmo DES.

Inicialmente necessrio mapear esta funo para portas lgicas tradicionais de duas entradas, j que a biblioteca de prottipos da lgica STTL possui apenas portas de duas entradas. Descries de hardware com este tipo de restrio podem ser obtidas a partir de uma descrio do submdulo DES em linguagem de descrio de hardware como VHDL ou Verilog e de um sintetizador de hardware. O sintetizador deve ser parametrizado, de modo a gerar uma descrio do circuito desejado em portas lgicas de

82

duas entradas, descrio esta denominada de netlist pelas ferramentas de sntese de hardware [XIL10]. Com a gerao do netlist do submdulo DES verificou-se que o circuito combinacional composto por 175 portas lgicas de duas entradas. Este nmero significativo de portas lgicas para um estudo de caso exigiu uma ferramenta para automatizar a transcrio da descrio em trilha nica para trs trilhas como exigido pela lgica STTL. Descries de hardware de circuitos mais complexos tais como os algoritmos DES e AES exigem um nmero significativamente maior de portas lgicas, o que pode se tornar invivel de ser realizado manualmente. Deste modo, foi necessrio propor uma nova etapa ao fluxo de projeto para automatizar o desenvolvimento de circuitos com a lgica STTL. Esta nova etapa pode ser vista no fluxo de sntese de hardware da Xilinx, como mostra a Figura 4.10. O fluxo de projeto tem como entrada a descrio VHDL ou Verilog do circuito codificado em trilha nica. A etapa inicial de sntese de hardware deve ser executada para gerar o netlist. O sintetizador XST da Xilinx (do ingls, Xilinx Synthesis Technology - XST) gera arquivos netlists em formato NGC, um formato especfico da Xilinx que contm informaes do projeto lgico e tambm restries de projeto [XIL10], sendo complexo para ser usado como entrada para a etapa de traduo. Deste modo necessrio usar um sintetizador tal como o Encounter RTL Compiler da Cadence [CAD05] que gera netlist em formato Verilog, o que simplifica o processo de traduo na etapa seguinte do fluxo.

Figura 4.10 Adio de uma nova etapa no fluxo de projeto da Xilinx para automatizar o projeto de circuitos usando lgica STTL.

A etapa de traduo do netlist em trilha nica para uma descrio com portas lgicas STTL foi desenvolvida em linguagem C, sendo uma das contribuies deste

83

trabalho. Esta etapa gera como sada uma descrio do circuito em trs trilhas, instanciando as hard macros contidas na biblioteca STTL. Ao final desta etapa se obtm um arquivo com a descrio VHDL do circuito STTL que usado como entrada para o fluxo de projeto da Xilinx. Como um grande nmero de hard macros instanciado no projeto, ainda necessrio realizar restries de posicionamento dos componentes envolvidos no projeto, como indicado na Figura 4.10 na etapa Translate Design. Isto permite que a ferramenta de sntese fsica tenha capacidade de realizar o posicionamento e roteamento de fios a fim de interconectar todos componentes do projeto satisfazendo restries temporais de projeto. Assim, quanto mais recursos de um dispositivo prototipao forem utilizados, mais complexa a tarefa de encontrar restries de posicionamento que satisfaam as exigncias do projeto. Maiores detalhes sobre estas etapas de sntese de hardware podem ser obtidos em [XIL10]. O script de traduo e o fluxo de projeto completo foram validados com o circuito da SBOX1. Simulaes explorando todas as possveis 64 entradas, a anlise e validao dos dados de sada comprovaram o funcionamento correto do circuito. Embora o script seja til aos propsitos do projeto, este ainda limita-se a traduzir apenas descries de portas lgicas, no sendo capaz de traduzir estruturas mais complexas tal como flip-flops, latches, multiplexadores, entre outros componentes comuns em projeto de circuitos digitais. Este fluxo de projeto permite que a etapa de traduo seja alterada para implementar circuitos em trilha dupla, tal como o estilo DIMS apresentado anteriormente. Assim, possvel realizar outros estudos de caso, visando comparar a verso STTL com a implementao DIMS, por exemplo. De um modo geral, o fluxo de projeto baseado em hard macros apresenta uma restrio. As hard macros quando desenvolvidas so dependentes da tecnologia do dispositivo escolhido para sua prototipao. Por exemplo, uma hard macro construda para o dispositivo XC3S200 da famlia Spartan3 no pode ser reusado em um projeto sobre o dispositivo da famlia Spartan3E. Para contornar isto, a Ferramenta FPGA Editor permite a gerao de scripts a fim de automatizar a construo de hard macros para dispositivos diferentes. Este script registra todos os passos usados para criar a hard macro. Ao final, esta mesma hard macro pode ser construda sobre outros dispositivos simplesmente por executar o script especificando o dispositivo ao qual se deseja projetar. Neste trabalho scripts foram criados para construir as hard macros usadas nos estudos de caso, sendo esta outra contribuio deste trabalho. 4.3.2 AVALIAO DO TEMPO DE CLCULO E DE REA DE PROTTIPOS STTL A nova etapa de traduo do fluxo de projeto permite a obteno de quatro verses diferentes do submdulo tomado como estudo de caso: Uma implementao para cada verso descrita na Figura 4.7, alm da verso original, projetada em trilha nica. Com a

84

realizao da sntese completa de todas as verses possvel avaliar e comparar os tempos de clculo e os custos em rea da prototipao. Para avaliar a dependncia entre dados e o tempo de clculo foram realizadas simulaes ps-sntese com os circuitos, visando medir o tempo de clculo para cada uma das combinaes possveis de dados de entrada. Para isso, fixa-se uma das entradas (chave) em um valor aleatrio e aplica-se um vetor entrada de dados com as 64 combinaes de valores possveis, registrando o tempo de clculo para cada dado processado. O experimento foi realizado nas 5 verses do submdulo, todos prototipados no dispositivo Spartan XC3S200 da Xilinx e simulados com a ferramenta ModelSim da Mentor [MEN10]. Os resultados apresentados na Tabela 4.2 demonstram que o tempo de clculo do submdulo STTL rigorosamente constante para todos os dados de entrada, como se esperava. Por outro lado, o tempo de clculo de STTL 5 vezes maior que o tempo de clculo obtido na verso trilha nica. A lgica de validao independente implementada pelo atraso segundo a Figura 4.7 explica este resultado. Redues de 48% em termos de rea e 20% em termos de tempo de clculo so obtidos com a otimizao proposta. Os resultados tambm mostram que o tempo de clculo reduz-se em torno de 44% ao se usar um balanceamento em lgica DR, como visto em DR2.
Tabela 4.2 Tempo de clculo e rea ocupada para implementao da SBOX1 em 3 verses diferentes, SR, DR (DIMS) e STTL.
SR Min (ns) Max (ns) Mdia (ns) Diferena (ns) rea (slices) rea (%) 15,6 26,6 22,2 10,9 175 9 DR 48,1 58,5 53,5 10,4 490 25% DR2 55,9 61,7 58,9 5,8 490 25% STTL 103,0 103,0 103,0 0 966 50% STTL2 81,7 81,7 81,7 0 501 26%

Os resultados obtidos ps-sntese revelam a rea necessria para implementar cada uma das verses do submdulo, como apresentado na Tabela 4.2. O custo em termos de rea para se obter tempo de clculo independente de dados na ordem de 5 vezes em relao implementao tradicional. As plantas-baixas dos submdulos implementados em STTL e trilha simples so mostradas na Figura 4.11.

85

(a)

(b)

Figura 4.11 Plantas-baixas obtidas com o processo de sntese da SBOX1 do algoritmo DES a) usando lgica STTL e b) usando lgica tradicional.

4.4 ALGORITMO DES STTL Aps a validao da biblioteca STTL para prototipao em FPGAs, com a implementao do submdulo SBOX1, a etapa seguinte projetar o algoritmo DES com a biblioteca. Este estudo de caso permite avaliar a robustez da lgica STTL atravs da execuo de um algoritmo difundido. O algoritmo DES composto basicamente por uma funo F (Feistel Function), funes de permutao e expanso de dados. A funo F puramente combinacional, sendo factvel sua implementao em lgica STTL. As funes de permutao e expanso resumem-se a permutaes de fios no projeto de hardware, no representando grande complexidade para o projeto. Uma lgica seqencial de controle utilizada na gerao de subchaves criptogrficas e no controle da realimentao de dados parcialmente cifrados durante as 16 rodadas de execuo do algoritmo. Mais detalhes do algoritmo DES sero apresentados no Captulo 5. A implementao parcial do DES em STTL descrita na Seo 4.3 serve como ponto de partida para criar uma verso completa do algoritmo [DEH10]. Esta implementao utiliza uma abordagem hbrida, do ponto de vista de sincronizao, devido complexidade de lidar com grandes quantidades de hard macros ao longo do fluxo de projeto de FPGAs. Nesta abordagem, registradores e a lgica de controle do lao de execuo do DES so mdulos sncronos, enquanto que a implementao das SBOXes e outras partes da lgica combinacional (operaes XOR) so realizadas com hard macros STTL. Alm disto, o controle seqencial de gerao de subchaves mantm-se sncrono, porm adaptado a interface em trs trilhas de STTL. A Tabela 4.3 apresenta os resultados de rea e latncia para implementar esta verso do algoritmo DES usando a biblioteca STTL2 e a comparao com uma verso completamente sncrona do DES. Dada a natureza hbrida da implementao STTL pode-se esperar que uma implementao completamente assncrona conduza a reas maiores, devido expanso dos mdulos que empregam lgica trilha tripla, e possivelmente uma maior robustez a SCA.

86

Nota-se claramente o alto custo em rea da implementao STTL2. Embora apresente um aumento de aproximadamente 20 vezes em relao implementao sncrona, STTL2 compatvel em termos de rea com outras DPLs. As simulaes usadas na validao do algoritmo mostram que o tempo de processamento constante e independente de dados, diferentemente da implementao regular, onde ocorre uma variao de at 2 ns no tempo de execuo quando submetido ao processamento da mesma seqncia de dados.
Tabela 4.3 Avaliao de rea e latncia para as implementaes convencional e STTL2 do algoritmo DES. DES Regular DES STTL2 Min (ns) Max (ns) Diferena (ns) rea (slices) 5 7 2 267 140 140 0 5130

4.5 SISTEMA DE MEDIO DE TRAOS DE CONSUMO DE POTNCIA E DE RADIAO ELETROMAGNTICA Com a validao da biblioteca de portas lgicas STTL e a verificao por simulao da premissa tempo de clculo independente de dados, a etapa seguinte avaliar a robustez da lgica proposta, atravs das anlises de potncia DPA. Como visto anteriormente, no Captulo 2, a primeira fase das anlises a medio e armazenamento dos traos de consumo de potncia de cada dado processado. Logo, para realizar estes experimentos necessrio um sistema de medio preciso, capaz de medir consumo de potncia em circuitos prototipados em uma plataforma FPGA. O sistema proposto nesta Seo tambm foi utilizado para anlises de radiao eletromagntica produzida pelo circuito, usando SEMA, DEMA e CEMA. Para isto, necessrio apenas substituir a sonda eletromagntica de corrente por uma sonda eletromagntica adequada s caractersticas de freqncia das ondas emitidas pelo circuito. Como estas ondas possuem pequena intensidade, utiliza-se tambm um amplificador de sinal. Por definio, potncia ou potncia instantnea (P) o produto entre os valores instantneos da tenso eltrica (V) e da corrente eltrica (I), P = V (t ) I (t ) [TOR02]. Neste caso, considerando que a tenso de alimentao de um dispositivo FPGA constante, a potncia consumida ser diretamente proporcional s variaes de corrente eltrica produzidas pelo chaveamento do circuito durante o processamento dos dados de entrada. Na literatura encontram-se basicamente dois modos de medio de potncia: (i) usando um resistor em srie com a fonte de alimentao, onde a variao de tenso sobre o V resistor permite encontrar a corrente eltrica no dispositivo segundo a Lei de Ohm I = R

87

[TOR02]; e (ii) usando uma sonda eletromagntica para medio de corrente. Experimentos com ambos os modos de medio foram realizados. As medies de potncia usando a sonda eletromagntica apresentaram menor rudos e, portanto foi adotada nestes experimentos. Para realizar a primeira fase do ataque DPA define-se o sistema de medio de potncia como ilustra a Figura 4.12. Neste caso, um osciloscpio preciso o equipamento mais indicado para medir o consumo de um circuito. Uma sonda eletromagntica de medio de corrente conectada a um canal de entrada do osciloscpio serve como sensor de corrente do sistema. A plataforma de prototipao contm o prottipo do sistema alvo da medio e um dispositivo de comunicao para entrada e sada de dados, neste caso uma porta de comunicao serial. Um hospedeiro deve gerar os dados necessrios a serem medidos e armazenar seus respectivos traos de consumo de potncia.

Figura 4.12 Sistema de medio e armazenamento de traos de potncia para avaliao da robustez da lgica STTL.

Alm destes equipamentos, necessrio um sistema embarcado para servir de interface entre o circuito em avaliao e o restante do sistema. Este sistema deve ser capaz de indicar ao osciloscpio o momento exato do final do processamento para o circuito em avaliao. Deste modo, o hospedeiro armazena o trao de consumo referente apenas ao perodo de tempo em que o dado processado, permitindo medies precisas. Alm disso, a plataforma de prototipao deve sofrer uma modificao no circuito de alimentao do ncleo FPGA, para que seja possvel usar a sonda de corrente. A alterao consiste em substituir o regulador de tenso destinado alimentao do ncleo FPGA por uma bateria recarregvel externa, que passa a alimentar exclusivamente o FPGA na plataforma. O consumo de potncia causado pelos componentes presentes na plataforma desprezado nestes experimentos. Os FPGAs possuem outros pinos de alimentao destinados aos circuitos de entrada e sadas de dados (E/S). Estes so organizados em grupos de pinos e possuem tenses de alimentao ajustveis [XIL09]. Os experimentos realizados neste trabalho levam em conta apenas o consumo do ncleo de lgica programvel do dispositivo onde se encontra o prottipo do circuito em avaliao. Entretanto, o chaveamento de tenso nos pinos de E/S pode gerar rudo na alimentao do ncleo do FPGA. Portanto, aconselhvel restringir ao mximo o uso de pinos de E/S de dados no sistema embarcado

88

projetado, ou manter estes inoperantes durante o perodo de medio do trao de potncia. A Figura 4.13 apresenta um diagrama em blocos do sistema embarcado proposto e desenvolvido. Este composto por um controlador de interface RS-232, responsvel por receber dados do hospedeiro atravs de um canal de comunicao serial. Trs registradores so disponibilizados para armazenar respectivamente o dado de entrada, a chave criptogrfica e o dado cifrado de sada. O sistema tambm possui um decodificador de nmeros binrios para o mostrador de sete segmentos, para exibio dos dados de entrada e sada do circuito avaliado, e possui obviamente o circuito alvo de medio, neste caso o submdulo SBOX1. Alm disso, um mdulo de controle gerencia o envio de dados ao circuito e a sinalizao de disparo (trigger) ao osciloscpio, para que este realize a medio de corrente no momento exato de processamento dos dados. Um gerador de relgio utilizado para reduzir a freqncia de operao do sistema. Como mostra a Tabela 4.2, a verso STTL opera em circuitos com freqncia de relgio inferiores a 10 MHz. A plataforma Digilent Spartan3 Starter Board usada dispe de um sinal de relgio com freqncia de 50 MHz [XIL05], logo a diviso da freqncia deste sinal necessria.
Sincronismo com osciloscpio FPGA Spartan3-200 Comunicao com hospedeiro via Serial Controlador RS-232 dado 8 bits Controle

enable dado 6 bits Interface STTL Circuito S-BOX1

enable dado cifrado 4 bits

Relgio para todos componentes

Relgio 50 MHz

Gerador de Relgio chave 6 bits

Decodificador Display

....

Switches

Display

Figura 4.13 Sistema embarcado para controle de medio de potncia sobre o circuito alvo. Os mdulos Interface STTL, Decodificador do Mostrador 7 Segmentos so usados apenas para validao do sistema. O mesmo sistema sem estes mdulos usado para realizar as medies de consumo.

O circuito Decodificador do Mostrador usado apenas em um instante inicial, para fins de validao do sistema. A verso do sistema sem este recurso utilizada no processo de medio. Isto visa reduzir rudos causados pelo chaveamento de pinos de E/S do FPGA durante o processo de medio de consumo, e assim melhorar a preciso do sistema.

89

Este mesmo sistema embarcado deve servir para a avaliao das 3 verses do submdulo a ser avaliado, (i) lgica trilha simples (SR), (ii) trilha dupla (DR) e (III) STTL. O sistema embarcado projetado com lgica tradicional, porm deve dar suporte avaliao das verses STTL e DR. Logo, necessrio uma interface para codificar cada bit de informao para uma codificao em trs trilhas ou duas trilhas. Esta interface composta por portas lgicas AND, OR e XOR, responsveis por gerar as codificaes necessrias e um controle para as fases de pr-carga e avaliao das lgicas em anlise. A Figura 4.14 mostra uma simulao usada para validar o sistema embarcado projetado para medir os traos de potncia de uma SBOX1 STTL.
1 2 3

5 6

Figura 4.14Resultado de uma simulao, mostrando a ordem de eventos durante o processo de medio e coleta de dados. Em (1) end_frame indica que um dado chegou via interface serial e est disponvel. Em (2), SboxValid indica a validade dos dados codificados para STTL. Em (3), synchro_oscillo sinaliza ao osciloscpio o incio do processo de medio. Em (4), SboxEnable habilita o clculo realizado pela SBOX1. Em (5), o sinal de validade s_v indica o fim do clculo e a estabilidade dos sinais na sada da SBOX1. Em (6), os dados esto disponveis na sada do FPGA.

O perodo entre os eventos (4) e (5) representa o tempo de processamento da SBOX1 que deve ser analisado posteriormente pelos ataques DPA. No instante 3, quando o sinal synchro_oscillo ativado, um rudo intenso produzido, fato que prejudica a anlise de potncia. Neste caso, o experimento tem como objetivo avaliar a eficincia da lgica proposta contra os ataques. O rudo produzido pela ativao deste sinal interfere nesta avaliao, de modo a ocultar informaes do consumo de potncia teis aos ataques e conseqentemente atrapalhando a avaliao da robustez da lgica. Portanto necessrio atrasar o incio do processamento do circuito para que ocorra a estabilizao do consumo do FPGA, obtendo-se assim uma melhor qualidade do sinal medido. O hospedeiro executa um programa que gera e envia dados ao sistema embarcado pela porta serial de comunicao e armazena os dados de consumo medidos pelo osciloscpio. Este programa, inicialmente desenvolvido em linguagem C, realiza 3 operaes: (i) l dados a partir de um arquivo com a seqncia de dados a serem enviados e medidos pelo sistema, (ii) aguarda o trmino do processamento e da medio do trao de consumo de potncia ou radiao eletromagntica pelo osciloscpio e (iii) armazena os traos medidos pelo osciloscpio. A sincronizao entre hospedeiro, sistema embarcado e osciloscpio ocorre atravs de uma funo disponibilizada pelo fabricante do osciloscpio que ativada pelo sinal de gatilho enviado pelo sistema embarcado, o sinal synchro_oscillo. Ao finalizar a medio, a funo desbloqueada para realizar a leitura da

90

memria do osciloscpio atravs da rede local de comunicao (LAN). Os dados so armazenados em um arquivo em formato ASCII cujo nome deriva do dado, chave e valor de sada do submdulo. Aps a medio e armazenamento dos traos de consumo ou radiao eletromagntica encerrada a primeira etapa da anlise DPA. 4.6 SISTEMA DE MEDIO ADAPTADO AO ALGORITMO DES O sistema utilizado para medir os traos de consumo de potncia e de radiaes eletromagnticas do algoritmo DES STTL passa por algumas adaptaes em relao ao usado anteriormente. Neste novo sistema so enviados dados e mensagens de 64 bits ao invs de dados de apenas 8 bits. Ainda, realiza-se a verificao do resultado cifrado antes do armazenamento do trao medido. O sistema embarcado empregado para dar suporte avaliao do algoritmo DES STTL capaz de receber e enviar dados pela porta serial. Usa-se tambm uma interface para adaptar os dados codificados em trilha nica para trs trilhas e vice-versa. Para medir a radiao eletromagntica emitida pela implementao do algoritmo DES STTL utilizam-se os seguintes elementos: (1) uma plataforma Digilent Spartan 3E1600 Development Board com um dispositivo Xilinx Spartan-3E XC3S1600E, (2) uma sonda eletromagntica de 500 m, (3) um amplificador com baixo nvel de rudo (1 GHz de largura de banda e 63 dB) para amplificar o sinal obtido pela sonda e aumentar a preciso da medio, (4) um osciloscpio Agilent Infinium DS80000B (4 GHz 40 GSa/s), e (5) um PC com suporte a scripts MATLAB para controle completo do sistema de medio. O sistema de controle executado no hospedeiro totalmente reescrito para o ambiente MATLAB. Como este ambiente propcio para tratamento de sinais e as anlises DPA, DEMA, CEMA, CPA foram todas desenvolvidas no MATLAB, optou-se por unificar o desenvolvimento dos scripts de aquisio de dados para este mesmo ambiente. Estes scripts foram desenvolvidos originalmente no LIRMM, conforme descrito por Lomn et al. [LOM09] e Dehbaoui et al. [DEH09]. Estes foram tambm usados no DPA Contest 2009 [DPA09]. 4.7 AVALIAO DA LGICA QUANTO A ROBUSTEZ AS ANLISES DPA E DEMA Para desenvolver as anlises DPA e DEMA preciso coletar inicialmente os respectivos traos para todos os possveis dados de entrada, como se discutiu anteriormente. Neste caso, como o circuito estudo de caso possui apenas 6 bits de entrada (SBOX1 do DES), possvel realizar anlises exaustivas, ou seja, analisar os traos de processamento de todos os possveis dados de entrada e todas as possveis sequncias de envio de dados. Porm, para o algoritmo DES, que usa efetivamente como entrada 56 bits de dados e 48 bits de chave, no facial viabilizar a realizao de anlises exaustivas. Neste caso, define-se uma seqencia de dados de entrada de 64 bits, sem repeties e gerados aleatoriamente. De acordo com a edio do DPA Contest em 2009 [DPA09], anlises realizadas com menos de 200 traos so suficientes para revelar a chave secreta de um algoritmo criptogrfico sem prevenes a ataques DPA.

91

Para que os traos coletados tenham uma influncia de rudos reduzida, o trao referente a cada dado obtido a partir da mdia de 50 medies sucessivas do processamento deste dado. Isto aumenta a quantidade de informao e reduz a quantidade de rudo no sinal adquirido, e por conseqncia aumenta a relao sinal rudo (SNR). Uma vez finalizada a coleta de traos, aplica-se o fluxo de anlise descrito na Figura 4.15.

Figura 4.15 Uma viso geral do fluxo de anlise empregado para validar a robustez da lgica STTL.

Conforme apresentado no fluxo, as anlises diferenciais de potncia propostas empregam diferentes funes de seleo. Alm da funo de seleo proposta por Kocher [KOC99], que analisa cada bit de sada da SBOX1 individualmente, utilizam-se tambm anlises multibits [BEV03]. Neste caso, os traos so selecionados de acordo com o valor de 2 ou mais bits de sada. No caso de anlises de 2 bits, os traos de potncia resultantes de processamentos cujos bits analisados apresentam os valores 11 e 00 so recolhidos e divididos respectivamente em dois grupos V1 e V0, e descartam-se todos os demais traos. Anlises considerando os 4 bits de sada da SBOX1 so tambm executadas da mesma forma. Uma variante destas anlises considerar o valor HD do resultado da sada da SBOX1. Por exemplo, no caso da anlise ao bit 0 de sada da SBOX1, cada trao resultante de uma encriptao selecionado de acordo com o valor HD do dado produzido. Este mtodo pode ser aplicado tambm em anlises multibits, sendo mais eficiente que as funes seleo propostas por Kocher, pois se aproxima do consumo de potncia real de um circuito CMOS.

92

Outra variante de funo seleo o uso de HW. Este mtodo usado especificamente para anlises simultneas aos 4 bits de sada da SBOX1. Neste caso, a funo seleo define que traos correspondentes a valores de sada com HW maiores que 2 pertencem a um grupo e os demais traos pertencem ao outro grupo. As anlises CPA e CEMA utilizam tambm HW e HD como funo de seleo. Estas anlises utilizam um fator de correlao linear, o qual definido a partir do modelo de distncia Hamming de consumo de potncia [BRI04]. Na prtica o coeficiente calculado conforme a Equao 2.

WH ( R ) =

N Wi 2 ( Wi )

N Wi H i ,R Wi H i ,R
2

N H i2,R ( H i ,R )

(2)

H i ,R

Nesta equao, N o nmero de traos utilizados, Wi os traos com i pontos e = H (M i R ) a distncia Hamming a partir do estado anterior R. Este fator maximiza

predies corretas de hipteses de chaves e minimiza predies erradas, gerando traos hipteses CPA ou CEMA com maiores probabilidades de acerto [BRI04]. Como ilustram a Figura 4.16 e a Figura 4.17, todas as anlises realizadas apresentam 64 traos hipteses representados em duas dimenses, uma quantidade versus tempo.

Figura 4.16 Traos hipteses de anlises DPA obtidos para a SBOX1 implementada em trilha nica. O trao hiptese correto corresponde subchave 10 com margem de 27% sobre a segunda hiptese de subchave.

Estes traos representam a probabilidade associada a cada hiptese de chave e so resultantes de uma diferena de valores de corrente, de campo eletromagntico ou uma medida de correlao. Em geral, a chave secreta corresponde teoricamente ao trao com maior amplitude. Porm, uma margem deve ser considerada na prtica para garantir um maior nvel de confiabilidade para se concluir uma anlise. A margem definida como a diferena mnima entre a amplitude da assinatura diferencial obtida para a chave correta e a amplitude obtida para a segunda maior amplitude. Uma anlise considerada bem sucedida se o resultado possuir margem maior que 10%.

93

Figura 4.17 Traos hiptese em anlises CPA e CEMA obtidos para a SBOX1 implementada em trilha nica.

A Figura 4.18 apresenta uma avaliao da robustez de STTL contra DPA e DEMA partindo da medio do desvio padro do consumo de corrente durante a computao do SBOX1 implementado nas seguintes verses: (i) trilha nica (SR), (ii) trilha dupla (DR2) (Figura 4.7 (b)) e (iii) STTL2 (Figura 4.7 (d)). Nesta Figura possvel observar que o desvio padro de ambas lgicas balanceadas aproximadamente trs vezes menor em relao lgica em trilha nica. Este fato valida a efetividade de trilha dupla e STTL do ponto de vista da amplitude.

Figura 4.18 Desvio padro da corrente consumida medido durante o processamento da SBOX1.

94

Todas as anlises descritas no fluxo da Figura 4.15 so aplicadas na avaliao da SBOX1. Realizam-se as anlises usando uma seqncia de entrada de 4033 dados. Esta seqncia contm os 64 possveis dados de entrada com repeties, de modo a garantir que se exercitam todas as possveis transies de um valor qualquer de dado de entrada para qualquer outro valor. O valor 4033 garante que entre o primeiro e o ltimo dado ocorrem 4032 transies. fcil calcular que para um vetor de n bits realizar todas as possveis transies de qualquer valor para qualquer outro so necessrias (2n-1)*n transies. Assim possvel desta forma obter todos os traos de potncia e de radiao eletromagntica para a SBOX1 em anlise. Para cada valor de subchave, a maioria das anlises DPA e DEMA bem sucedida. Entretanto, as margens obtidas para anlises DPA variam entre 10% e 30% enquanto para anlises DEMA variam entre 16% e 52%. Isto pode ser notado na Figura 4.16, onde se mostram as assinaturas diferenciais de potncia obtidas para a subchave 10, enquanto a Figura 4.17 representa a evoluo dos coeficientes de correlao com respeito ao nmero de traos usados para desenvolver o CPA e o CEMA. Nesta ltima, 200 e 50 traos so respectivamente suficientes para revelar a subchave secreta usando CPA e CEMA, mesmo se a convergncia estatstica no completamente alcanada. Em seguida realizam-se os mesmos experimentos de avaliao sobre a SBOX1 implementada com lgica DR DIMS e STTL. Porm nestes casos no possvel usar o mesmo vetor de entrada contendo todas as possveis transies de dados, pois entre cada dado processado obrigatrio o uso do espaador. Logo, as anlises limitam-se a processar apenas HW. A Tabela 4.4 relata o percentual de hipteses de subchaves corretas reveladas aps as anlises.
Tabela 4.4 Percentual de subchaves corretas obtidas com a avaliao. Lgica analisada Submdulo SR Submdulo DR Figura 4.7 (a) Submdulo DR Figura 4.7 (b) Submdulo STTL Figura 4.7 (c) Submdulo STTL Figura 4.7 (d) Hipteses corretas 70% 90% 3% 5% 1,5%

Com esses resultados possvel notar que STTL mostra-se mais robusta aos ataques DPA/CPA em relao s demais lgicas analisadas. Entretanto, este aumento em robustez obtido ao custo de rea adicional. Por outro lado pode ser uma vantagem, pois no necessrio o uso de roteamento especfico como aplicado em [TIR06] [ORD08]. Certamente outras lgicas DPL, tal como WDDL, so mais robustas que a lgica usada como comparao. Porm, no escopo deste trabalho invivel avaliar todas as opes de lgica disponveis, devido ao tempo necessrio para projeto e validao das mesmas, sem

95

mencionar o tempo para medio e execuo do fluxo de anlises. Logo, apenas a lgica DR foi avaliada aqui. Realizou-se tambm um experimento visando avaliar a robustez de STTL a ataques EM. Durante este experimento, substituiu-se a sonda de corrente por uma sonda eletromagntica posicionada sobre o FPGA. Coletou-se traos EM relativos s verses SR, DR e STTL e executaram-se as mesmas anlises sobre todas as verses. Os resultados obtidos com as anlises so apresentados na Tabela 4.5.
Tabela 4.5 Percentual de subchaves corretas obtidas para os experimentos. Lgica analisada Submdulo SR Submdulo DR Figura 4.7 (b) Submdulo STTL Figura 4.7 (d) Hipteses corretas 99% 31% 1,5%

A partir destes resultados possvel concluir que a lgica em trilha dupla e STTL mostram-se mais resistentes a anlises EM em relao lgica trilha simples. Alm disso, nota-se que STTL mais resistente que lgica trilha dupla. Considera-se que o comportamento de tempo de processamento quase independente de dados de STTL explica o aumento de resistncia a ataques EM. De fato, o balano simultneo do chaveamento de corrente e do tempo de processamento permite balancear o campo eletromagntico, o qual proporcional variao de corrente no tempo (di/dt), radiado em todo o circuito. Entretanto, o balanceamento em nvel de bloco no garante que todos os pontos do circuito radiam o mesmo campo eletromagntico, uma vez que o posicionamento do circuito e o roteamento das linhas de alimentao deste no possuem restries. Isto explica a fuga de informao remanescente em DR e STTL em relao aos ataques DEMA e CEMA. Assim, devem-se empreender esforos no posicionamento do circuito. Isto implica distribuir melhor a atividade do circuito, e rotear as linhas de alimentao e terra, que so as principais fontes de radiao eletromagntica [ORD08]. 4.8 AVALIAO DA ROBUSTEZ DO ALGORITMO DES STTL Para a avaliao do algoritmo DES em lgica STTL realizou-se a coleta de 400.000 traos diferentes de radiao eletromagntica. O fluxo de anlises empregado o mesmo realizado anteriormente. Porm neste caso realizam-se ataques s oito SBOXes do algoritmo, visando revelar a chave criptogrfica completa. Aps as anlises DEMA, possvel resumir os resultados das anlises conforme mostra a Tabela 4.6. Com aproximadamente 10.000 traos possvel revelar a chave secreta usada pelo algoritmo DES implementado em lgica regular. As anlises realizadas na implementao do algoritmo com lgica STTL exigiram um nmero significativamente maior de traos para que os ataques obtivessem sucesso. Embora seja necessrio um nmero maior de traos,

96

a lgica STTL ainda mostrou-se vulnervel a ataques DEMA. Um dos motivos que conduzem a tal vulnerabilidade a implementao parcialmente sncrona do algoritmo DES. O controle sncrono do algoritmo revela os instantes em que ocorre o trmino da execuo de cada rodada. Alm disso, a verso STTL usa os mesmo registradores para armazenar temporariamente os dados parcialmente cifrados, fato que contribui para a fuga de informaes. Apenas uma subchave no foi revelada. Uma justificativa para isso pode ser a posio da sonda, que no favoreceu a captao de ondas eletromagnticas provenientes desta parte do circuito durante a fase de medies, e por conseqncia no propiciou bons resultados para as anlises sobre a SBOX1.
Tabela 4.6 Nmero de traos para revelar as subchaves do algoritmo DES. DES Regular (nmero de traos) Subchave 1 Subchave 2 Subchave 3 Subchave 4 Subchave 5 Subchave 6 Subchave 7 Subchave 8 4320 2360 7480 10380 10720 4640 3280 2920 DES STTL (nmero de traos) no revelada 68.600 229.440 72.100 107.000 96.000 238.780 190.260

4.9 CONCLUSES Este Captulo introduziu uma avaliao experimental da robustez de STTL a ataques DPA e DEMA. Esta avaliao realizou-se em FPGAs, usando hard macros e sntese de hardware com roteamento e posicionamento padro, sem restries de rea. Os resultados permitem as seguintes concluses: (a) STTL definitivamente mais robusta contra DPA/CPA em relao lgica em trilha nica e ligeiramente mais robusta que lgica em trilha dupla; (b) O projeto de DR e STTL em FPGA ocupa praticamente a mesma rea; (c) STTL, enquanto mais resistente que trilha nica e DR no totalmente robusto aos ataques por consumo de potncia e por radiaes eletromagnticas. Os ltimos resultados sugerem que mais esforos devem ser feitos para balancear espacialmente, em amplitude e no tempo, o fluxo de chaveamento de corrente dentro do chip.

97

5. ARQUITETURAS GALS PARA CONTRAMEDIR ATAQUES DPA E DEMA


Este Captulo apresenta a principal contribuio deste trabalho, a proposta de arquiteturas pipeline GALS como contramedida a anlises por consumo de potncia e radiao eletromagntica. As arquiteturas propostas usam tambm circuitos no-sncronos em sua infraestrutura. Porm, diferentemente da biblioteca STTL, estas empregam insero de aleatoriedade no processamento como mtodo de preveno a ataques. Como j discutido no Captulo 3, apenas uma proposta de contramedida usando metodologia GALS de projeto encontrada na literatura. J arquiteturas pipeline so encontradas na literatura com diversos propsitos, dentre estes a preveno a ataques DPA tal como proposto em [STA04]. Este Captulo prope pela primeira vez a combinao de arquiteturas pipeline implementadas com metodologia GALS de projeto usando relgios com freqncias de operao aleatoriamente selecionadas como forma de contramedir a ao de anlises por consumo de potncia e radiao eletromagntica. Uma vantagem adicional significativa da arquitetura proposta o aumento da vazo de dados, proporcionado pelo estilo pipeline de implementao. 5.1 ALGORITMO DES: CARACTERSTICAS Este trabalho emprega uma tcnica de projeto de hardware muito comum em processadores, o pipeline de execuo de instrues [HEN05]. As instrues so executadas por processadores em vrias etapas. O processador apresenta uma infraestrutura com hardware dedicado a cada uma das etapas, de modo que seja possvel haver diferentes instrues sendo executadas em etapas distintas simultaneamente, a fim de aumentar o desempenho do processamento global do sistema. Este mesmo princpio de execuo pode ser aplicado a sistemas criptogrficos em hardware. Neste caso, o algoritmo criptogrfico deve permitir implementaes em modo pipeline, fato que pode restringir a abordagem proposta a um grupo de algoritmos. Dentre os algoritmos passveis de se beneficiar de implementaes pipeline, possvel citar DES, AES, SHA-1 e MD-5. Alm disso, DES e AES so os algoritmos mais usados em smart cards e aparecem comumente na literatura como alvo de avaliaes de robustez a ataques por consumo de potncia e radiao eletromagntica. A escolha do algoritmo DES justifica-se por ter este sido alvo de estudos de Kocher em [KOC96] e [KOC99] e por utilizar menos rea do que seu sucessor AES, quando implementado em hardware. A Figura 5.1 mostra a estrutura geral do DES. Este algoritmo opera sobre blocos de entrada de 64 bits. Cada entrada passa atravs de 16 rodadas de modificao. Cada rodada usa uma subchave distinta de 48 bits, duas entradas de 32 bits em operaes que incluem permutaes (P), expanses de dados (E), deslocamentos, operaes lgicas ou exclusivo (XORs ) e caixas de substituio (SBOXes). Depois de executar 16 rodadas, o algoritmo produz um resultado que sofre uma permutao inversa e se torna o dado cifrado de 64 bits.

98

Figura 5.1 Estrutura geral do algoritmo DES.

O algoritmo DES esquematizado na Figura 5.1 pode ser implementado em hardware ou software. Uma implementao convencional do DES cria um nico bloco de encriptao do algoritmo (seja este em software ou hardware) e executa 16 iteraes sobre este bloco com parametrizao adequada. Entretanto, o uso de mltiplos blocos de encriptao permite implementar o algoritmo em modo pipeline. Assim, possvel ter arquiteturas pipeline a partir de 2 at 16 estgios para executar o algoritmo completo. Uma vantagem deste tipo de implementao auferir um aumento significativo da vazo de dados cifrados. Por outro lado, como desvantagem, esta abordagem apresenta claramente um custo adicional em rea. 5.2 INFRAESTRUTURA GALS Este trabalho prope a implementao de um algoritmo DES pipeline GALS como mostrado na Figura 5.2. A implementao baseada na replicao do bloco de encriptao do algoritmo. Cada estgio do pipeline envolvido por uma interface assncrona e gerenciado por um mdulo de controle. Este controle definido como uma mquina de estados finita que gerencia a comunicao ponto a ponto com seus estgios vizinhos atravs de um protocolo de comunicao handshake (Req - Ack) de 2 fases. Um subsistema externo ao pipeline responsvel por gerar um sinal de relgio com freqncia pseudo-aleatria, o qual supre os estgios envoltos pela interface assncrona, tambm chamados de ilhas sncronas por Chapiro [CHA84]. Este subsistema gera uma

99

nova freqncia de relgio sempre que um estgio termina o processamento de um dado. Neste contexto, a estrutura do subsistema de relgio pode ser construda de diversas maneiras. Osciladores externos a cristal so uma opo e osciladores em anel internos ao circuito so outra possibilidade. A Figura 5.2 mostra ainda o esquema da interface assncrona. O uso de sincronizadores simples do tipo 2-flip-flops permite a comunicao entre mdulos com diferentes domnios de relgio. A principal suposio de tais sincronizadores que o tempo reservado para a resoluo de metaestabilidade permite um tempo mdio entre falhas (do ingls, Mean Time Between Failures - MTBF) satisfatrio [RAB03]. Outras propostas de circuitos para sincronizao em sistemas que envolvem diferentes domnios de freqncia esto disponveis na literatura, tipicamente mais eficientes e mais complexos de desenvolver que o esquema bsico 2-flip-flops. O leitor interessado pode para tanto consultar, por exemplo, Dobkin e Ginosar [DOB09].
Req
D
SET

Req
Q D
SET

SET

SET

CLR

CLR

CLR

CLR

Relgio aleatrio

Ilha Sncrona 1/n


Relgio aleatrio
Q
CLR

Relgio aleatrio

Ilha Sncrona n/n


Relgio aleatrio Req_nova_freq

Dado e chave Ack


Ack_nova_freq

Dado e chave
CLR

Dado cifrado

sincronizadores
Req_nova_freq

Subsistema de relgio

Figura 5.2 Infraestrutura do algoritmo DES implementado em modo pipeline usando um mtodo GALS de projeto. A proposta inclui interfaces assncronas do tipo 2-flip-flops usando protocolo de comunicao em 2 fases e geradores de relgio independentes que se operam sob comando de cada estgio pipeline.

Os sincronizadores introduzem uma penalidade de tempo que aumenta a latncia do sistema. Com a ativao do sinal de requisio de processamento (Req), dois ciclos de relgio do estgio receptor podem ser necessrios para que este sinal se propague at o prximo estgio e d incio ao processamento dos dados naquele. Um sinal de reconhecimento (Ack) enviado ao requisitante a fim de inform-lo que os dados foram recebidos com sucesso. Nesta arquitetura, cada subsistema de relgio modifica sua freqncia de sada a cada nova requisio de processamento. Isto pressupe que o tempo de processamento em cada estgio alterado para cada novo dado de entrada. A latncia inserida pelos sincronizadores pode ser vista como uma desvantagem em termos de desempenho. Porm este atraso varivel devido aos sinais de relgio com freqncias distintas. Estes fatores aumentam a aleatoriedade do processamento, dificultando a ao das anlises de consumo de potncia e de radiaes eletromagnticas.

SET

SET

Q Q

Ack
Ack_nova_freq

Subsistema de relgio

100

O subsistema de relgio desempenha um papel importante na abordagem proposta, pois uma nova freqncia deve ser gerada a cada novo dado processado. Isto tende a aumentar a segurana, pois oculta a fuga de informaes do criptosistema. Trabalhos anteriores propem alcanar este mesmo objetivo [GUR06] [LU08] [STA04] [ZAF08]. Porm, at onde o autor pode avaliar, o presente trabalho o primeiro a combinar uma implementao GALS baseada em freqncias de relgio aleatrias e uma estrutura pipeline. O modo como o subsistema de relgio implementado no um foco fundamental desta arquitetura. Contudo, uma proposta de implementao discutida na Seo 5.3.1. 5.3 PROVA DE CONCEITO O mtodo proposto requer a replicao de hardware para contribuir para a neutralizao de anlises DPA e DEMA. De fato, o processamento paralelo das rodadas produz um ambiente ruidoso que dificulta a tarefa de SCAs. Por outro lado, a replicao de hardware em um pipeline naturalmente aumenta a vazo de dados do criptosistema. Esta Seo disponibiliza uma comparao do mtodo proposto com alguns trabalhos anteriores em termos de rea, vazo e robustez. Os resultados apresentados sobre robustez mostram evidncias de que este mtodo melhora a segurana do criptosistema. 5.3.1 IMPLEMENTAO EM FPGA A Figura 5.3 apresenta a arquitetura projetada para conduzir os experimentos de avaliao de robustez e comparaes em termos de rea e vazo. Esta arquitetura contm uma ilha sncrona responsvel pela comunicao de dados com um hospedeiro atravs de uma porta serial. Este mesmo mdulo tambm tem como funo manter o pipeline GALS sempre preenchido ao mximo com dados a criptografar, independente da taxa de comunicao com o hospedeiro. Esta ilha opera com um sinal de relgio nico e convencional, com freqncia de 50 MHz, conforme disponibilizado em diversas plataformas de prototipao.
Sinal de sincronismo Estgio 1 FIFO DES 1/n Estgio n DES n/n +

Hospedeiro

RX/TX Serial

RS-232 FSM
GRAL 1

GRAL n

* Vcc *

GRAL Gerador de Relgio Aleatrio Local

Relgio
50MHz

Chave de controle

Figura 5.3 Viso geral da arquitetura usada para avaliar a robustez da arquitetura pipeline GALS.

101

Como mencionado antes, a fim de manter o pipeline da arquitetura repleto de dados, a ilha principal contm um dispositivo de armazenamento FIFO (do ingls, First In First Out). Este dispositivo permite que a arquitetura proposta tenha sua robustez a ataques DPA/DEMA avaliada de duas maneiras. A primeira destas sem uso da FIFO. Aqui, cada dado de entrada processado consecutivamente em todos os estgios do pipeline, onde cada estgio opera com um sinal de relgio diferente escolhido aleatoriamente pelo seu respectivo GRAL como mostrado na Figura 5.3. Neste caso, apenas um dado de entrada permanece no pipeline at que este seja completamente encriptado e transmitido ao hospedeiro para que o prximo dado seja processado. Isto permite avaliar o efeito produzido pelos relgios com diferentes freqncias escolhidas aleatoriamente de forma a aumentar a robustez da arquitetura. Na segunda maneira, com uso da FIFO, alm das execues com diferentes freqncias avalia-se a arquitetura processando diferentes dados simultaneamente. A FIFO permite que dados sejam enviados ao pipeline to logo quanto o primeiro estgio esteja disponvel para atender a uma nova requisio de processamento. O processamento paralelo dos estgios aumenta o rudo no consumo de potncia e conseqentemente na radiao eletromagntica produzidos pela arquitetura. A Figura 5.3 tambm mostra o sinal (sada localizada na parte superior do controlador da comunicao serial) usado para sincronizar o osciloscpio com o processamento dos dados. A arquitetura genrica apresentada na Figura 5.3 foi prototipada em 4 verses diferentes, com 2, 4, 8 e 16 estgios, respectivamente denominadas PIPE-2, PIPE-4, PIPE-8 e PIPE-16 GALS. Na implementao PIPE-2 GALS o bloco de encriptao do algoritmo replicado duas vezes e cada um destes executa 8 rodadas do algoritmo. Raciocnio similar define as demais implementaes. Cada estgio de cada uma das implementaes emprega um subsistema gerador de relgio local que produz um sinal de relgio com uma freqncia escolhida aleatoriamente entre n possveis a cada dado processado. O gerador de relgio pode ser composto de n osciladores em anel compostos por um nmero mpar definido de elementos de atraso operando cada um como um inversor. Um multiplexador livre de transitrios [MAH09] usado para chavear entre os sinais de relgios. Esta restrio se faz necessria, pois a ocorrncia de um transitrio no sinal de relgio pode conduzir o sistema a estados incorretos. A Figura 5.4 apresenta o circuito do multiplexador empregado, para n=4. Um mdulo com a funo de gerar nmeros aleatrios usados para a escolha de um sinal de relgio deve compor o subsistema de relgio. Neste caso emprega-se um registrador LFSR (do ingls, Linear Feedback Shift Register LFSR). Embora seu comportamento determinstico permita apenas a gerao de dados pseudo-aleatrios [HEA09], este mdulo serve validao do mtodo proposto. A Figura 5.5 apresenta uma simulao da operao de chaveamento livre de transitrios deste subsistema.

102

Figura 5.4 Circuito de um multiplexador 4:1 livre de transitrios.

Figura 5.5 Simulao mostrando um chaveamento de sinais de relgio livre de transitrios.

5.3.2 AVALIAO DE REA Observando a Tabela 5.1, nota-se que o mtodo proposto exige menos rea que implementaes assncronas na maioria dos casos, mas sofre de um custo adicional em rea de at 25 vezes no pior caso quando comparada a implementao regular do DES. Esta avaliao baseou-se no dispositivo FPGA VirtexII-XC2V4000 da Xilinx [XIL07]. Assim, a abordagem GALS pipeline permite negociar rea a fim de obter robustez. Alm disso, virtualmente impossvel implementar STTL em FPGAs usando um fluxo de projeto sncrono padro. Os resultados na Tabela 5.1 originados do uso de um fluxo especfico baseado no leiaute de hard macros para FPGAs Xilinx, conforme detalhado no Captulo 4. WDDL outra lgica assncrona na qual Guilley et al. [GUI08] relatam alto custo em rea. Estes Autores mencionam uma otimizao de 23% em rea para uma implementao do triplo DES, partindo de uma implementao inicial de 3.019 slices para 2.321 slices.

103 Tabela 5.1 Comparao em termos de rea entre as diversas implementaes do DES.

Arquitetura
Regular DES GALS PIPE-2 GALS PIPE-4 GALS PIPE-8 GALS PIPE-16 STTL

Slices
267 935 1830 3605 6614 5130

Flip-flops
125 1037 2033 4006 7267 No disponvel

Aumento relativo ao DES regular


1 3.5 6.85 13.5 24.77 19.21

5.3.3 AVALIAO DE LATNCIA E VAZO DE DADOS A Tabela 5.2 apresenta os resultados de latncia e vazo de dados para as seguintes implementaes do algoritmo DES: (i) regular, (ii) GALS PIPE, (iii) STTL e a comparao destas arquiteturas com a abordagem proposta por Grkaynak et al. disponvel na literatura.
Tabela 5.2 Comparaes em termos de latncia e vazo de dados das implementaes do algoritmo DES. As medidas de vazo so expressas em bits por segundo (Mbps). Vazo Arquitetura Regular DES GALS PIPE-2 GALS PIPE-4 GALS PIPE-8 GALS PIPE-16 STTL Grkaynak et al. [GUR06]
NA No aplicvel ND No disponvel * Autores no apresentam detalhes sobre as condies de medio, mas mencionam o uso de trs domnios de relgio, um de 190MHz e dois outros de 250MHz.

Latncia (ciclos) 17 24 40 61 109 NA ND

f=7.2Mhz (Mbps) 201,9 21,8 27 32,9 35,4 NA ND

f=21Mhz (Mbps) 61,1 64 79 96 103,4 NA ND

f=100Mhz (Mbps) 290,9 304,7 376,4 457 492,3 NA ND

f=*Mhz (Mbps) 14,3 256*

Nestes experimentos, os osciladores em anel dos subsistemas de relgios so implementados a partir de cadeias de LUTs. Embora limitado, este um modo simples

104

para implementar uma prova de conceito da operao das arquiteturas propostas. A freqncia mnima 7,2 MHz e a mxima 21 MHz. Apesar das baixas freqncias usadas nos experimentos, a freqncia mxima estimada pela ferramenta de sntese para as arquiteturas GALS PIPE em torno de 100 MHz. Observa-se que na terceira coluna avalia-se o pior caso de vazo das arquiteturas e na quinta coluna apresentado o melhor caso de vazo atingida. importante notar que as freqncias operacionais dos subsistemas de relgio so escolhidas de tal modo que os estgios operem com freqncias distintas. Por isso, para estimar os limites de vazo, comparaes so baseadas na execuo de todos os estgios das arquiteturas na mesma freqncia, conforme a Tabela 5.2. Observa-se que a replicao do hardware no apresenta efeito significativo na freqncia mxima de operao das arquiteturas pipeline. Em relao implementao regular do DES, as verses GALS PIPE aumentam a vazo proporcionalmente ao nmero de estgios, como esperado. J em relao STTL, mostram uma vazo muito superior. O problema com STTL que a propagao do sinal de validade de informao apresenta alto custo em latncia devido s cadeias de atrasos. A magnitude da vazo das arquiteturas GALS PIPE so compatveis com abordagens similares disponveis na literatura, tal com Grkaynak et al. [GUR06]. 5.3.4 AVALIAO DA ALEATORIEDADE O mtodo proposto aqui se baseia na insero de aleatoriedade no processamento criptogrfico, de forma a ocultar a fuga de informaes. Como revisado na literatura, o simples fato de inserir atrasos no processamento no garante completamente o sucesso da contramedida empregada. Portanto, a forma como esta contramedida inserida importante para garantir a eficincia do mtodo. O mtodo insere aleatoriedade em partes do algoritmo implementado em pipeline. Para tanto, cada estgio do pipeline possui seu domnio de freqncia e controle da insero de aleatoriedade. Deste modo, quanto maior for o nmero de estgios do pipeline, maior ser a aleatoriedade inserida no sistema. Os ataques DPA relacionam a amplitude da potncia consumida pelo circuito e o perodo de tempo na qual os dados so computados. Portanto, a aleatoriedade inserida para ocultar a fuga de informaes pode ser uma variao na amplitude da potncia bem como deslocamentos temporais de clculos executados pelo circuito. O mtodo proposto insere rudos atravs do processamento paralelo dos estgios do pipeline e atravs do chaveamento de sinais de relgio com diferentes freqncias. Para estimar de maneira simplificada a aleatoriedade inserida no domnio do tempo, define-se aqui que a aleatoriedade inserida equivalente a variao do instante de tempo em que o sinal de sincronismo fica ativo para a medio de consumo e radiao eletromagntica do circuito. No modo de operao sem FIFO, onde se analisa apenas a influncia do sinal de relgio, o nmero de ciclos de relgio para se processar um dado constante. Por conseqncia, o nmero de ciclos de relgio no qual o sinal de sincronismo fica ativo constante tambm. Logo, o perodo do sinal de sincronismo varia apenas com os perodos

105

dos sinais de relgio dos estgios do pipeline. Com o objetivo de avaliar de forma aproximada a aleatoriedade inserida nas arquiteturas propostas realizada uma medio e avaliao estatstica sobre o sinal de sincronismo. A Tabela 5.3 apresenta os resultados.
Tabela 5.3 Avaliao da aleatoriedade das arquiteturas propostas. Parmetros Mdia () Mediana (Md) Desvio Padro () Moda 1 2 3 Perodo Mnimo Perodo Mximo Diferena Perodo () Nmero de amostras PIPE-2 PIPE-4 PIPE-8

935,12 ns 990,97 ns 1,8207 s 919,86 ns 959,73 ns 1,8595 s 184,41 ns 134,80 ns 206,62 ns 779,7 ns 62,1% 100% 100% 619,5 ns 1,32 s 700,5 ns 50000 939,80 s 1,8595 s 70% 95,7% 100% 759,6 ns 1,32 s 560,4 ns 50000 65,8% 93,4% 100% 1,2599 s 2,1393 s 879,4 ns 50000

Inicialmente, observa-se os valores das mdias aritmticas de tempo para encriptar um dado. Nota-se que a mdia aumenta proporcionalmente com o nmero de estgios usados na implementao da arquitetura. Este aumento decorrente do nmero de sincronizadores usados e do protocolo de comunicao usado entre cada estgio. Isto confirmado pelos perodos mnimo e mximo para cada uma das arquiteturas e tambm pelos valores de latncia medidos e apresentados na Tabela 5.2. Os valores referentes ao parmetro Moda indicam os tempos que mais ocorreram durante as avaliaes. Estes valores so resultados dos geradores LFSRs usados para inserir aleatoriedade no processo de escolha de sinais de relgios. As probabilidades das escolhas de cada um dos 4 sinais disponveis no so igualmente distribudas. Logo, existem sinais de relgio em cada um dos estgios que possuem maiores ocorrncias em relao aos demais. Isto demonstrado pelo parmetro Moda em cada uma das arquiteturas. O desvio padro indica o desvio mdio do perodo de tempo em relao mdia . Quanto maior for o desvio padro nas arquiteturas propostas, melhor ser a aleatoriedade inserida no processamento, conseqentemente maior ser a complexidade das tarefas de ataques para correlacionar o consumo com os dados processados. Esta Tabela revela que o desvio padro na arquitetura PIPE-4 o menor em relao aos demais. Isto revela que as freqncias usadas nos subsistemas ou as funes pseudo-aleatrias usadas devem ser otimizadas de modo a obter-se um maior desvio padro.

106

5.4 SISTEMA DE MEDIO O sistema utilizado para medir os traos de consumo de potncia e de radiaes eletromagnticas fundamentalmente o mesmo usado na avaliao de STTL. Porm, neste sistema necessrio enviar dados de 64 bits ao invs de dados de 8 bits, e verificar se o resultado cifrado est correto antes de armazenar o trao medido. Para avaliar as arquiteturas propostas utilizaram-se os seguintes elementos: (1) uma plataforma Digilent Spartan-3 Board com um dispositivo Xilinx Spartan-3 XC3S1000, (2) uma sonda eletromagntica de 500 m, (3) um amplificador com baixo nvel de rudo (1 GHz de largura de banda e 63 dB) para amplificar o sinal obtido pela sonda e aumentar a preciso da medio, (4) uma mesa cartesiana XYZ para posicionamento automtico da sonda eletromagntica, (5) um osciloscpio Agilent Infinium DS80000B (4 GHz 40 GSa/s), (6) uma gaiola de Faraday para eliminar interferncias eletromagnticas e (7) um PC (Xeon 3.8 GHz quad-core; 12GB de memria RAM, Linux RedHat 5) com suporte a scripts MATLAB para controle do sistema de medio. A Figura 5.6 mostra imagens do sistema de medio empregado.

Figura 5.6 Sistema de medio usado para a avaliao das arquiteturas propostas.

Esta nova verso do sistema de medio adiciona a mesa cartesiana e a gaiola de Faraday ao sistema descrito no Captulo 4. Alm disso, o sistema de controle executado no hospedeiro tambm foi reescrito para uso no ambiente MATLAB. Estes scripts foram todos desenvolvidos conforme descrevem Lomn et al. [LOM09] e Dehbaoui et al. [DEH09] e usados no DPA Contest 2009 [DPA09]. O uso da sonda eletromagntica permite que sejam explorados vrios pontos de medio sobre a superfcie do chip a atacar. Alguns fatores, tais como restries de planta baixa no projeto da arquitetura e disposio dos pinos de E/S do chip influenciam na escolha dos pontos de medio. Os pinos de entrada do sinal de relgio e sada do sinal de sincronizao com o osciloscpio produzem rudos que interferem significativamente na medio de traos. Havendo a necessidade de automatizao da procura pelos melhores pontos de medio, desenvolveu-se um script para controlar a mesa cartesiana e realizar

107

uma varredura sobre a superfcie do chip, visando selecionar os melhores pontos de medio isto , os pontos de medio onde se descobre evidncias das rodadas executadas. Os melhores pontos so escolhidos (geralmente entre 1 e 3 pontos). A seguir, suas coordenadas cartesianas so registradas para que se realize o processo de aquisio de traos. 5.5 AVALIAO DA ROBUSTEZ A ATAQUES DPA E DEMA Na avaliao das arquiteturas propostas apenas um ponto de medio foi usado para a coleta de traos referentes s radiaes eletromagnticas geradas pelo circuito. A deciso sobre por este ponto justificada pelo uso de uma simples tcnica para posicionamento da sonda eletromagntica sobre o FPGA: (i) o FPGA dividido em 64 pequenos quadrados e 5 traos de radiao eletromagntica so adquiridos em cada ponto; (ii) uma inspeo visual de todos os 320 traos define o melhor ponto como aquele que melhor lembrar a forma de onda da Figura 2.8. Uma alternativa a este abordagem para definir pontos atacados seria empregar uma tcnica tal como Weighted Global Magnitude Squared Incoherence (WGMSI) sugerida por Dehbaoui et al. [DEH10]. Conforme j discutido anteriormente, menos de 200 traos so suficientes para se revelar uma subchave criptogrfica de um algoritmo sem mtodos de preveno a ataques SCAs [DPA09]. Nos experimentos descritos aqui, processa-se uma seqncia de 100 mil dados distintos aleatoriamente gerados com uso de uma nica chave criptogrfica. 5.5.1 ETAPA DE MEDIO E COLETA DE TRAOS A Figura 5.7 e a Figura 5.8 mostram, respectivamente, os traos de radiao eletromagntica e de consumo de potncia obtidos pelo sistema de medio para arquiteturas DES PIPE-2. Nas verses com FIFO (ii e iv), so enviados 3 dados distintos para serem processados, sendo eles dado 1, dado 2 e dado 3. Porm, os ataques por consumo de potncia e/ou radiao eletromagntica so realizados apenas sobre o dado 2. Os dados 1 e 3 so gerados aleatoriamente pelo hospedeiro e armazenados na FIFO a fim de manter ambos os estgios da arquitetura PIPE-2 processando durante o perodo em que se realiza a medio e coleta do trao referente a dado 2. Durante a realizao das medies de consumo de potncia, nota-se claramente a interferncia provocada por uma fonte de rudo no identificada externa ao circuito. Mesmo com o uso da gaiola de Faraday e uso de uma fonte de alimentao estabilizada no foi possvel elimin-la. Na Figura 5.8 (iii) e (iv) possvel identificar claramente esta interferncia. Como estas arquiteturas utilizam sinais de relgios com diferentes freqncias no possvel realizar a mdia dos traos adquiridos para reduzir os efeitos do rudo sobre os traos. Neste caso, o tempo de processamento de cada dado varia de acordo com as freqncias selecionadas e a realizao da mdia ocultaria a fuga de informaes contidas nos traos.

108

Figura 5.7 Medidas de radiao eletromagntica emitida pelas arquiteturas DES PIPE-2: (i) sncrona, (ii) sncrona com FIFO, (iii) GALS e (iv) GALS com FIFO.

Figura 5.8 Consumo de potncia das arquiteturas DES PIPE-2: (i) sncrona, (ii) sncrona com FIFO, (iii) GALS e (iv) GALS com FIFO.

109

A Figura 5.9 apresenta as medidas de radiao eletromagntica obtidas para as arquiteturas DES PIPE-4. Em (i) possvel identificar as rodadas sendo processadas nos 4 estgios do pipeline. Cada estgio executa 4 rodadas do algoritmo. Estes grupos de 4 rodadas so identificados na Figura 5.9 (i). Porm nas verses (ii) e (iii) as rodadas no so claramente visveis. Em (ii) so enviados 5 dados distintos para manter o pipeline completo no instante da medio. Neste caso, as medies so realizadas apenas sobre o dado 3. Estas arquiteturas foram prototipadas sobre um FPGA Spartan-3 XC3S1000. Neste dispositivo as medies de consumo de potncia obtiveram traos com uma qualidade ruim do sinal, no sendo possvel identificar as rodadas do mesmo com a prototipao da arquitetura em modo sncrono. A hiptese provvel para isso no foi identificada, pois a plataforma a mesma em ambos os casos, apenas o dispositivo alterado. Por este motivo, apenas medies de traos de radiao eletromagntica foram realizadas.

Figura 5.9 Radiaes eletromagnticas das arquiteturas DES PIPE-4: (i) sncrona, (ii) sncrona com FIFO e (iii) GALS com FIFO.

110

A Figura 5.10 apresenta traos de radiao eletromagntica das arquiteturas PIPE8. A Figura 5.10 (i) contm o trao para uma arquitetura DES PIPE-8 sncrona. Em (ii) mostra-se um trao da arquitetura DES PIPE-8 com FIFO e em (iii) um trao referente radiao eletromagntica da arquitetura GALS DES PIPE-8. Como se pode perceber em (ii) e (iii), no possvel identificar as rodadas do algoritmo DES em execuo.

Emisso EM: DES PIPE 8 GALS c/ FIFO

(iii)

Emisso EM (Wb/m2)

Tempo (0,25 ps)

Figura 5.10 Medidas de radiao eletromagntica das arquiteturas DES PIPE-8: (i) sncrona, (ii) sncrona com FIFO e (iii) GALS com FIFO.

Os demais traos de consumo de potncia e radiao eletromagntica medidos esto disponveis no Apndice A deste volume. 5.5.2 RESULTADO DAS ANLISES Para avaliar a robustez das arquiteturas propostas so utilizados quatro tipos de ataques: DPA, DEMA, CPA e CEMA. Inicialmente, 100 mil traos foram coletados para executar os ataques. A Tabela 5.4 apresenta os resultados relativos s anlises DEMA e DPA. Estes resultados representam o nmero mnimo de traos necessrios para

111

descobrir as subchaves referentes s SBOXes 1 a 8, as quais foram alvos dos ataques. A partir destes resultados nota-se que nenhuma das verses GALS propostas permitiram revelar suas subchaves, como esperado. Todas as verses sncronas tiveram suas subchaves descobertas provando usa vulnerabilidade. O uso exclusivo do processamento paralelo das rodadas como contramedida no apresenta melhoras significativas na resistncia a estes ataques e, em alguns casos, os ataques foram at mais eficazes em verses com processamento paralelo, tal como PIPE-2 e PIPE-8. As anlises DEMA aplicadas sobre a arquitetura PIPE-2 apresentaram um comportamento atpico para a arquitetura sncrona. Um provvel motivo para este comportamento posicionamento da sonda eletromagntica durante o processo de coleta de traos. A posio escolhida provavelmente capta radiaes eletromagnticas com baixa intensidade produzidas pelo circuito SBOX8, o que reduz a quantidade de informao e dificulta as anlises. Uma soluo alternativa ao problema do posicionamento da sonda o uso de WGMSI [DEH10]. J os resultados obtidos pelas anlises DPA demonstram um comportamento esperado, ou seja, um menor nmero de traos para se obter a chave criptogrfica em relao verso sncrona com processamento paralelo.
Tabela 5.4 Nmero de traos necessrios para revelar a chave criptogrfica utilizando anlises DEMA e DPA. PIPE-2 Arquiteturas Sncrona Sncrona com FIFO GALS GALS com FIFO PIPE-4 PIPE-8

DEMA (#) DPA (#) DEMA (#) DPA (#) DEMA (#) DPA (#) 49336 10269 21614 53485 16365 29416 ne x ne ne ne 88540 37686 ne ne ne ne ne

(-) : no descoberta (ne): no executada (#): nmero de traos para encontrar a chave completa (x): apenas a subchave da SBOX8 no foi revelada.

Observando estes resultados e comparando-os com os obtidos na avaliao do DES STTL na Tabela 4.6 nota-se que com 100 mil traos 3 subchaves so reveladas na arquitetura DES STTL e evidncias estatsticas demostram que outras subchaves ficam prximas de serem reveladas. Deste modo um aumento para 400 mil traos permitiu revelar as demais subchaves, exceo da subchave 1. Entretanto, para as arquiteturas GALS PIPE os resultados dos ataques no apresentam indicao, mesmo com 100 mil traos, de convergir para a subchave correta. Para justificar estes resultados, duas razes explicam o fato de no ocorrer uma convergncia durante as anlises executadas sobre as arquiteturas GALS PIPE. A primeira delas, o aumento da aleatoriedade no processamento, sendo efetivo em

112

aleatorizar o momento da encriptao alvo e o tempo de durao da mesma. A outra justificativa dada a execuo superposta dos estgios que de certa forma contribuem para dificultar as anlises. A execuo destas anlises sobre 100 mil traos exigiu at dois dias para serem concludas. Na maioria dos casos, revelar a subchave exigiu apenas uma pequena frao do nmero total de traos. Da mesma forma, a execuo das anlises sobre a arquitetura STTL usando 400 mil traos exigiu um tempo de processamento em torno de uma semana para revelar quase a totalidade das subchaves. A Tabela 5.5 apresenta os resultados referentes s anlises CPA e CEMA. Nota-se que estas anlises tambm encontram as subchaves secretas do algoritmo, de um modo geral com um menor nmero de traos. Apenas em um caso, sobre a arquitetura PIPE-2 com FIFO, a anlise CEMA exigiu um maior nmero de traos em relao DEMA. Em dois outros casos, existe um equilbrio, tal como nas arquiteturas PIPE-4 sem FIFO e PIPE-2 com FIFO. Com base nesta amostra de resultados possvel afirmar que em geral ataques por correlao so mais eficientes que os demais.
Tabela 5.5 Nmero de traos necessrios para revelar a chave criptogrfica utilizando anlises CEMA e CPA. PIPE-2 Arquiteturas Sncrona Sncrona com FIFO GALS GALS com FIFO PIPE-4 PIPE-8

CEMA (#) CPA (#) CEMA (#) CPA (#) CEMA (#) CPA (#) 20025 90007 7849 53707 16285 16058 ne x ne ne ne 71056 ne ne ne ne ne ne

(-) : no descoberta (ne): no executada (#): nmero de traos para encontrar a chave completa (x): apenas a subchave da SBOX8 no foi revelada.

EFICINCIA DOS ATAQUES

A Figura 5.11 apresenta o nmero mnimo necessrio de traos para revelar cada uma das subchaves do algoritmo DES. Com estes resultados possvel concluir que, de um modo geral, o ataque DPA exige um maior nmero de traos em relao aos demais ataques. A anlise por correlao aplicada sobre os traos de consumo de potncia (CPA) ligeiramente mais eficiente que DPA considerando os resultados obtidos para cada uma das arquiteturas. De um modo geral, as anlises sobre traos de radiaes eletromagnticas mostram-se mais eficientes em relao ao consumo de potncia. Em alguns casos o nmero de traos praticamente o mesmo, em raras ocasies exige um nmero maior de traos. O mesmo comportamento encontrado entre as anlises DEMA e CEMA, ou seja, as anlises por

113

correlao demonstram de um modo geral, um melhor comportamento em relao a anlises diferenciais. Com estes resultados conclui-se que ataques por correlao exigem um nmero menor de traos para revelar a chave secreta de um algoritmo ao custo de um maior tempo de processamento para executar as anlises.
PIPE-2 Sncrono sem FIFO
60000
100000 90000

PIPE-2 Sncrono com FIFO

50000

80000 Nmero de traos 70000 60000 50000 40000 30000 20000 10000 DPA CPA DEMA CEMA

Nmero de traos

40000 DPA 30000 CPA DEMA CEMA 20000

10000

0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

PIPE-4 Sncrono sem FIFO


100000 90000 80000 Nmero de traos Nmero de traos 70000 60000 50000 40000 30000 20000 10000 0 1 2 3 4 5 6 7 8 DPA DEMA CEMA 100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 0

PIPE-8 Sncrono sem FIFO

DEMA CEMA

SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

Figura 5.11 Grficos comparando o nmero de traos necessrios para revelar as subchaves de cada SBOX do algoritmo DES. AVALIAO DA ROBUSTEZ VERSUS PROCESSAMENTO PARALELO

Os grficos apresentados na Figura 5.12 demonstram a robustez obtida com o rudo inserido pelo processamento paralelo dos estgios operando em modo sncrono. Os resultados no demonstram uma vantagem significativa do processamento paralelo para neutralizar os ataques, confirmando as concluses obtidas por Standaert et al. em [STA04]. Embora no contribuam significativamente no aumento da robustez quando usados em arquiteturas sncronas, esta contribuio potencializa a robustez a ataques quando acrescida aleatoriedade inserida pelas arquiteturas GALS PIPE.

114
PIPE-2 Sncrono: DEMA
60000
100000 90000

PIPE-2 Sncrono: CEMA

50000

80000 Nmero de traos 70000 60000 50000 40000 30000 20000 10000 s/FIFO c/FIFO

Nmero de traos

40000 s/FIFO c/FIFO

30000

20000

10000

0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

PIPE-2 Sncrono: DPA


60000 60000

PIPE-2 Sncrono: CPA

50000

50000

Nmero de traos

30000

s/FIFO c/FIFO

Nmero de traos

40000

40000 s/FIFO c/FIFO

30000

20000

20000

10000

10000

0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

PIPE-4 Sncrono: DEMA


35000 30000 25000 Nmero de traos 20000 15000 10000 5000 0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8 Nmero de traos 12000 10000 8000 6000 4000 2000 0 SBOX1 SBOX2 18000 16000 14000

PIPE-4 Sncrono: CEMA

s/FIFO c/FIFO

s/FIFO c/FIFO

SBOX3

SBOX4

SBOX5

SBOX6

SBOX7

SBOX8

PIPE-8 Sncrono: DEMA


100000 90000 80000 60000 Nmero de traos Nmero de traos 70000 60000 50000 40000 30000 20000 10000 0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8 10000 0 SBOX1 SBOX2 s/FIFO c/FIFO 50000 40000 30000 20000 80000 70000

PIPE-8 Sncrono: CEMA

s/FIFO c/FIFO

SBOX3

SBOX4

SBOX5

SBOX6

SBOX7

SBOX8

Figura 5.12 Comparao da efetividade do processamento paralelo para neutralizar ataques DPA e DEMA. AVALIAO DA ROBUSTEZ VERSUS REPLICAO DO HARDWARE

Os grficos da Figura 5.13 apresentam uma comparao dos resultados obtidos com as anlises DEMA e CEMA realizadas sobre as arquiteturas PIPE propostas. Notase, a partir destes grficos, que na maioria dos casos, (59% das 32 anlises efetuadas), a

115

arquitetura com maior nmero de estgios exigiu um nmero maior de traos para revelar a chave secreta do algoritmo e a arquitetura com menos estgios exigiu menos traos na maior parte das anlises. Com estas informaes possvel concluir que apenas a replicao do bloco de encriptao do algoritmo em uma arquitetura sncrona j aumenta a robustez a ataques por anlise de radiao eletromagntica.
Arquiteturas Sncronas sem FIFO: DEMA
100000 90000 80000 30000 Nmero de traos Nmero de traos 70000 60000 50000 40000 30000 20000 10000 0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8 5000 0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8 PIPE-2 PIPE-4 PIPE-8 25000 PIPE-2 20000 15000 10000 PIPE-4 PIPE-8 40000 35000

Arquiteturas Sncronas com FIFO: DEMA

Arquiteturas Sncronas sem FIFO: CEMA


80000 70000 60000 Nmero de traos 50000 PIPE-2 40000 30000 20000 20000 10000 0 SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8 10000 0 PIPE-4 PIPE-8 Nmero de traos 70000 60000 50000 40000 30000 100000 90000 80000

Arquiteturas Sncronas com FIFO: CEMA

PIPE-2 PIPE-4 PIPE-8

SBOX1 SBOX2 SBOX3 SBOX4 SBOX5 SBOX6 SBOX7 SBOX8

Figura 5.13 Comparao de anlises DEMA realizadas sobre arquiteturas DES PIPE com diferentes nmeros de estgios.

Os resultados at aqui comprovam mais uma vez que circuitos sncronos so vulnerveis a ataques SCA. A eficincia destas anlises depende da preciso do sistema de medio usado. Ou seja, quanto maior for a razo SNR dos traos de consumo de potncia e de radiao eletromagntica medidos, mais eficientes sero as anlises. Considera-se uma anlise eficiente aquela que conseguir revelar a chave criptogrfica de um criptosistema com o menor nmero possvel de traos. As anlises sobre as arquiteturas GALS propostas no obtiveram xito. Nenhuma das oito subchaves referentes s SBOXes atacadas foi revelada, mesmo usando 100 mil traos obtidos de dados distintos. Isto comprova que as arquiteturas propostas so robustas a este tipo de ataques. As Figuras a seguir demonstram os resultados finais obtidos para cada uma das arquiteturas propostas e submetidas avaliao de robustez. A Figura 5.14 mostra os resultados das anlises DPA e DEMA sobre a SBOX3 em todas as arquiteturas DES PIPE GALS implementadas. Cada grfico mostra os 64 traos hipteses correspondentes s subchaves possveis. Os traos pretos correspondem hiptese correta da subchave, os traos vermelhos correspondem hiptese incorreta da

116

subchave, j os traos azuis correspondem aos demais traos hipteses. Quando o trao hiptese de maior pico um trao preto, o ataque bem sucedido, ou seja, a subchave correta foi encontrada. Por outro lado, se o trao com maior pico no corresponde subchave correta, este trao representado em vermelho correspondendo a uma hiptese incorreta, ou seja, um ataque mal sucedido.

Figura 5.14 Resultados das anlises DPA para as arquiteturas PIPE-2: (i) GALS e (ii) GALS com FIFO. Resultados das anlises DEMA para as mesmas arquiteturas so mostrados em (iii) e (iv). As anlises DEMA desenvolvidas sobre as arquiteturas DES PIPE-4 e DES PIPE-8 verses com FIFO so apresentadas em (v) e (vi). Os traos hipteses pretos correspondem subchave correta, os traos vermelhos correspondem subchave incorreta e os demais traos azuis completam as 64 hipteses possveis de subchave para a SBOX3 do algoritmo DES.

117

Na Figura 5.14 mostra-se em (i) e (ii) os resultados das anlises DPA sobre as arquiteturas GALS PIPE-2 nas verses sem e com FIFO. Os resultados das anlises DEMA sobre as mesmas arquiteturas aparecem respectivamente em (iii) e (iv). As arquiteturas PIPE-4 e PIPE-8 com FIFO foram submetidas apenas a anlises DEMA, devido ao longo tempo de medio e a restries de espao em disco necessrio (na ordem de Terabytes). Os resultados aparecem em (v) e (vi). Em todas as anlises, nota-se que no foi possvel encontrar a subchave secreta, mesmo usando 100 mil traos nas anlises. Observa-se tambm certo equilbrio entre os traos hipteses. Em todos os casos no existe um trao hiptese que tenha uma amplitude destacada entre os demais. Logo, as margens de traos hipteses so pequenas, o que reduz a eficincia dos ataques. Este mesmo efeito ocorre nas demais SBOXes do algoritmo submetidas aos ataques. A aleatoriedade inserida no processamento do algoritmo pela arquitetura proposta demonstra um aumento da robustez a ataques DPA e DEMA como necessrio em sistemas criptogrficos robustos. Embora os resultados tenham comprovado o comportamento desejado das arquiteturas, outras anlises especficas para este tipo de contramedida devem ser realizadas sobre as arquiteturas propostas, tais como as anlises propostas por Nagashima et al. [NAG07] discutida anteriormente. Assim, poder-se-ia afirmar que mesmo submetido a anlises especficas o mtodo proposto mostra-se robusto.

5.6 CONCLUSO
Este Captulo apresentou uma nova proposta de arquitetura pipeline GALS para o algoritmo criptogrfico DES, com o objetivo de neutralizar a ao de anlises de consumo de potncia e de radiaes eletromagnticas. Pela primeira vez obtm-se robustez combinando o uso de replicao de blocos de encriptao operando em modo pipeline e comunicao assncrona entre os blocos. Cada bloco de encriptao suprido com sinais de relgio com freqncias distintas sorteadas aleatoriamente antes de processar um dado para aumentar a aleatoriedade do processamento do circuito visando neutralizar ataques DPA e DEMA. O compromisso entre robustez e rea a principal preocupao do mtodo. Comparado a uma implementao regular do DES (no-pipeline), a arquitetura proposta realmente apresenta alto custo em rea. Entretanto, comparada ao estado da arte de lgicas assncronas propostas para conceber sistemas criptogrficos seguros tal como STTL, a maioria das arquiteturas GALS pipeline exige menos rea. Alm disso, os resultados obtidos com as anlises DPA, DEMA, CPA e CEMA demonstram excelente robustez. Quando as mesmas anlises so aplicadas a arquiteturas sncronas nas mesmas condies, praticamente todos os estudos de casos obtiveram sucesso na tarefa de descobrir a chave secreta. As avaliaes de robustez realizadas confirmam tambm as previses de Standaert et al. em [STA04], onde os Autores afirmam que apenas o uso da implementao pipeline no suficiente para resistir a ataques SCA. Porm, o uso de arquiteturas pipelines onde

118

cada estgio tem seu prprio domnio de freqncia e ainda, o sinal de relgio em cada estgio tem sua freqncia alterada dinamicamente mostra-se robusta a ataques. A partir destes experimentos nota-se tambm que as anlises por correlao de potncia so mais eficientes. De um modo geral, todos os ataques por correlao revelaram as chaves secretas com um nmero menor de traos em relao s anlises propostas por Kocher [KOC96] [KOC99]. Porm, nem mesmo o uso de um modelo de potncia correlacionado s medies reais geradas, tal como o usado nas anlises CEMA e CPA, foi suficiente para neutralizar a contramedida proposta. A robustez da abordagem proposta est diretamente associada aleatoriedade inserida no processamento associado ao mtodo GALS de projeto. O aumento do nmero de estgios da arquitetura paralelizando o processamento do algoritmo DES permite que se tenha uma maior aleatoriedade no sistema e conseqentemente se torne mais difcil a identificao de informaes que escapem pelos canais colaterais do sistema.

119

6. CONCLUSO E TRABALHOS FUTUROS


Este Captulo apresenta uma relao das contribuies do trabalho, na Seo 6.1. Em seguida, mostra-se um conjunto de concluses resultantes do trabalho na Seo 6.2. Finalmente a Seo 6.3 apresenta um conjunto de sugestes de trabalhos futuros.

6.1 CONTRIBUIES DO TRABALHO


Dentre as contribuies deste trabalho citam-se aqui as mais importantes:

Reviso do problema da fuga de informaes por canais laterais: a primeira contribuio deste trabalho consiste na reviso do problema da fuga de informaes atravs de caractersticas fsicas dos circuitos, tais como o tempo de processamento, o consumo de potncia (anlises DPA) e a radiao eletromagntica (anlises DEMA), conforme apresenta o Captulo 2. Reviso do estado da arte: a segunda contribuio deste trabalho a elaborao do estado da arte de propostas de contramedidas s anlises DPA. No que diz respeito ao alvo desta pesquisa, apresenta-se uma reviso de propostas subdivididas em trs grupos, cada um destes contendo uma abordagem para neutralizar anlises DPA. O primeiro grupo emprega mascaramento de dados, o segundo insero de aleatoriedade no sistema, tal como proposto nesta tese e o terceiro grupo emprega a uniformizao do consumo de potncia durante o processamento de dados. O Captulo 3 descreve esta contribuio. Biblioteca STTL: a terceira contribuio do trabalho consiste na proposta, elaborao e validao de uma biblioteca de clulas para a prototipao eficiente da lgica STTL em FPGAs. A lgica STTL foi inicialmente proposta e validada atravs do uso de uma biblioteca dedicada, usando standard cells CMOS voltada para implementao em ASICs. Esta biblioteca apresenta as mesmas premissas de funcionamento daquela proposta por Razafindraibe et al. [RAZ07]. Os prottipos so baseados em estilo de projeto assncrono insensvel a atrasos, usando hard macros para obedecer a restries de tempo. O Captulo 4 deste trabalho detalha esta biblioteca de prototipao. Implementao de script para automatizar fluxo de projeto de circuitos STTL: a quarta contribuio deste trabalho a implementao de um script para converter descries verilog de portas lgicas (SR) contidas em netlists para instncias de hard macros STTL descritas em VHDL a fim de automatizar o fluxo de projeto STTL. Implementaes do algoritmo DES em pipeline GALS: a quinta contribuio deste trabalho a proposta da primeira implementao do algoritmo DES em modo pipeline usando o mtodo GALS de projeto. As ilhas sncronas de encriptao usam um sinal de relgio com freqncias que mudar de forma pseudo-aleatria, o que aumenta a robustez do sistema criptogrfico a anlises de consumo de potncia e de radiao eletromagntica. O Captulo 5 deste trabalho apresenta e discute esta contribuio.

120

Infraestrutura de avaliao dos sistemas: a sexta contribuio do trabalho surgiu da necessidade de se desenvolver uma infraestrutura que permita a prototipao de sistemas criptogrficos, tanto usando a lgica STTL quanto usando a abordagem pipeline GALS, oferecendo recursos que permitam a comunicao com um hospedeiro e com um osciloscpio para medio dos traos necessrios. Sistema de medio de traos de consumo: um sistema para medio do consumo de potncia e a radiao eletromagntica produzidos por um sistema prototipado em FPGA foi proposto neste trabalho.

Publicaes: o desenvolvimento deste trabalho resultou at o momento em um conjunto de publicaes. Dois trabalhos referem-se ao incio do doutorado, envolvendo o uso de hard macros em interfaces assncronas em FPGAs e implementao de redes intrachip com mtodo GALS de projeto, respectivamente. Os quatro trabalhos seguintes dizem respeito s atividades desenvolvidas durante o estgio sanduche, realizado no LIRMM (em Montpellier, Frana). O ltimo trabalho a primeira publicao de resultados iniciais de avaliao da robustez da abordagem GALS pipeline. A publicao mais extensa de resultados trabalho em andamento.
1. Pontes, J.; Soares, R.; Carvalho, E.; Moraes, F.; Calazans, N. SCAFFI: An Intrachip FPGA Asynchronous Interface based on Hard Macros. In: 25th IEEE International Conference on Computer Design (ICCD07), May 2007, pp. 541-546. 2. Pontes, J.; Moreira, M.; Soares, R.; Calazans, N. Hermes-GLP: A GALS Network on Chip Router with Power Control Techniques. In: IEEE Computer Society Annual Symposium on VLSI Design (ISVLSI 2008), Apr 2008, pp. 347-352. 3. Soares, R.; Lomn, V.; Calazans, N.; Maurine, P.; Torres, L.; Robert, M. Evaluating the Robustness of Secure Triple Track Logic through Prototyping. In: 21st Symposium on Integrated Circuits and Systems Design (SBCCI08), Sep 2008, pp. 193-198. 4. Lomn,V.; Ordas, T.; Maurine, P.; Torres, L.; Robert, M.; Soares, R.; Calazans, N. Triple Rail Logic Robustness against DPA. In: International Conference on Reconfigurable Computing and FPGA (RECONFIG08), Dec 2008, pp. 415-420. 5. Lomn, V.; Soares, R.; Ordas, T.; Calazans, N.; Maurine, P.; Torres, L.; Robert, M. Evaluation on FPGA of Triple Rail Logic Robustness against DPA and DEMA. In: Design, Automation and Test in Europe Conference and Exposition (DATE09), Mar 2009, pp. 634-639. 6. Lomn, V.; Dehbaoui, A.; Ordas, T.; Maurine, P.; Torres, L.; Robert, M.; Soares, R.; Calazans, N.; Moraes, F. Secure Triple Track Logic Robustness Against Differential Power Analysis Attacks. Journal of Integrated Circuits and Systems, vol. 4-1, Mar 2009, pp. 20-28.

121 7. Soares, R.; Calazans, N.; Lomn, V.; Dehbaoui, A.; Maurine, P.; Torres, L. A GALS Pipeline DES Architecture to Increase Robustness Against DPA and DEMA Attacks. In: 23rd Symposium on Integrated Circuits and Systems Design (SBCCI10), Sep 2010, pp. 115-120.

6.2 CONCLUSES
Com a realizao deste trabalho foi possvel verificar que a tecnologia CMOS usada no projeto de circuitos digitais tem caractersticas de consumo de potncia dependentes dos dados computados pelo circuito. Alm disso, o paradigma sncrono de projeto de circuitos, utilizado pela grande maioria dos equipamentos eletrnicos, usa um sinal global de relgio para sincronizar todas as operaes executadas por um sistema. Estas duas caractersticas so as principais responsveis pela fuga de informaes relevantes que tornam sistemas computacionais vulnerveis a anlises baseadas no consumo de potncia [KOC99] e na radiao eletromagntica [GAN01]. A reviso da literatura sobre o problema da fuga de informaes atravs de canais laterais revelou, de um modo geral, que existem trs possveis abordagens para conceber sistemas seguros evitando a correlao de dados sigilosos atravs da fuga de informaes. Duas abordagens, mascaramento de dados e insero de rudo e aleatoriedade, no alteram nem as caractersticas da lgica qual so projetados os circuitos nem o fluxo de projeto. Elas criam meios para ocultar a fuga de informaes existente nos circuitos. J a abordagem por uniformizao do consumo de potncia visa propor alteraes na estrutura lgica e no fluxo de projeto a fim de obter circuitos onde o consumo de potncia, o tempo de propagao dos sinais e a radiao eletromagntica emitida pelo circuito sejam constantes e independentes dos dados computados. Teoricamente, a tarefa de projetar circuitos com consumo de potncia uniforme parece ser uma forma simples e eficaz de eliminar a fuga de informaes. Porm na prtica esta tarefa complexa e exige um grande esforo de projeto, tal como a construo de bibliotecas lgicas personalizadas e a definio de fluxos de projeto com diversas restries para obter caminhos balanceados para que o circuito tenha um consumo de potncia o mais prximo possvel do caso ideal. Apesar destes esforos, um sistema de medio robusto capaz de medir e armazenar algumas centenas de milhares de traos, adicionado a um longo tempo de processamento possibilita revelar a chave secreta na maioria das situaes. Com a reviso da literatura foi possvel verificar que a abordagem por uniformizao do consumo de potncia implica custos elevados em termos de rea, latncia e potncia dissipada. Como exemplo desta, o uso de lgica assncrona com codificao em trilha dupla representa um aumento significativo da rea. Experimentos realizados com a lgica STTL [SOA08] demonstraram um aumento significativo da robustez a custos similares ao de lgicas em trilha dupla. Portanto, abordagens alternativas acabam sendo solues de menor custo em termos de rea e latncia. Por outro lado, sabe-se que estas abordagens no eliminam a fuga de informaes, apenas a ocultam de tal modo que se tenha esforo

122

computacional elevado e algoritmos complexos para revelar os dados secretos, sendo ainda possvel obter anlises com sucesso. O trabalho proposto foi desenvolvido visando obter arquiteturas robustas a ataques por anlise do consumo de potncia e da radiao eletromagntica atravs da insero de aleatoriedade no consumo de potncia do circuito. O trabalho combina o uso do modo de implementao pipeline tal como proposto em [STA04] e [HUI07], porm com comunicao assncrona entre os estgios, conforme a metodologia GALS de projeto. Alm disso, os estgios operam em diferentes domnios de freqncia com variao da freqncia do sinal do relgio para cada dado processado, similar aos trabalhos propostos em [BUC05] [GUR06] [LU08] e [ZAF08]. Implementou-se o algoritmo DES em oito verses usando arquitetura pipeline: PIPE-2, PIPE-4, PIPE-8 e PIPE-16. Cada uma destas pode operar em modo sncrono e modo GALS. Estas arquiteturas, prototipadas em FPGA, foram submetidas a ataques DPA, CPA, DEMA e CEMA, com exceo da arquitetura PIPE-16 que no foi possvel prototipar na plataforma usada nos experimentos. As avaliaes de robustez realizadas confirmam os resultados obtidos por Standaert et al. em [STA04], onde os Autores afirmam que apenas o uso de implementao pipeline no suficiente para resistir a ataques DPA. O processamento paralelo dos estgios demonstrou um pequeno aumento da robustez, porm todas as anlises obtiveram sucesso. Um dado interessante obtido a partir da avaliao dos resultados foi que, na maioria dos casos (59% das 32 anlises efetuadas) a arquitetura com maior nmero de estgios exigiu um nmero maior de traos para revelar a chave secreta do algoritmo, significando nesse caso um aumento da robustez. Todas as arquiteturas sncronas tiveram as chaves criptogrficas reveladas pelas anlises. J as arquiteturas GALS, com diferentes domnios de relgios e variao de freqncia no tiveram nenhuma subchave revelada pelas anlises. Com a avaliao dos resultados das anlises pode-se concluir que os ataques por correlao (CPA e CEMA) so mais eficientes em relao aos demais. Uma reduo no nmero de curvas foi constatada nas avaliaes efetuadas. Esta eficincia obtida ao custo de um aumento no tempo de processamento, em geral cinco vezes maior que ataques DPA ou DEMA. Em relao ao canal lateral analisado, as anlises de radiao eletromagntica se mostraram ligeiramente melhores em relao a ataques por consumo de potncia. Isto se deve tambm ao rudo existente no sistema de medio usado durante os experimentos, que prejudica as anlises por consumo de potncia. A robustez obtida atravs da tese proposta est diretamente associada aleatoriedade inserida ao processamento. O aumento do nmero de estgios da arquitetura particiona o processamento das rodadas do algoritmo DES em estgios, permitindo que se tenha uma maior aleatoriedade no sistema e conseqentemente torne mais difcil a tarefa de identificar informaes por canais laterais do sistema. Os resultados das anlises comprovaram que o aumento do nmero de estgios, o processamento paralelo das rodadas e a variao da freqncia do sinal do relgio em cada estgio

123

contribuem para dificultar os ataques, ou at mesmo inviabiliz-los. Acredita-se que usando novas tcnicas que empreguem um pr-processamento de traos a fim de ressincroniz-las haja uma possibilidade de contra-atacar a implementao proposta. Deste modo, pode ser possvel obter resultados que comprovem os limites da imunidade obtida com esta tese proposta.

6.3 TRABALHOS FUTUROS


Esta Seo apresenta um conjunto de sugestes para trabalhos futuros. A primeira sugesto de trabalhos a avaliao da robustez usando alguma tcnica de pr-processamento sobre os traos coletados tais como filtros de sinais como proposto por Nagashima et al. em [NAG07]. Deste modo, a avaliao da robustez das arquiteturas propostas em relao s anlises por consumo de potncia e radiao eletromagntica torna-se mais real. A segunda sugesto propor uma tcnica que permita a ressincronizao dos traos de consumo de potncia e radiao eletromagntica, de modo que as anlises possam ser executadas com maior preciso. O processo de validao e prova de conceito das arquiteturas propostas neste trabalho foram realizados sobre dispositivos FPGAs conforme descrito nos diversos experimentos. Estes dispositivos compostos de vrias estruturas programveis tais como blocos lgicos onde as LUTs so configuradas e canais de interconexo de sinais por onde so roteados os fios de comunicao. Embora seja um dispositivo confivel para a prova de conceito destes experimentos, estas estruturas programveis consomem energia adicional e so fontes potenciais de gerao de rudo. Portanto, sugere-se aqui o projeto de um circuito de aplicao especfica (ASIC) para as arquiteturas aqui propostas visando avaliar sua robustez em um chip dedicado a este propsito. As arquiteturas propostas apresentam uma vulnerabilidade decorrente do modo pipeline de implementao. As anlises propostas por Kocher realizam ataques na primeira e na ltima rodada do algoritmo. Logo, quando apenas um dado processado no pipeline, o mtodo aqui proposto comporta-se tal como o mtodo proposto por Lu et al. [LU08]. A terceira sugesto a proposta de um mtodo que evite esta vulnerabilidade ocorrida na entrada e na sada do pipeline. Um dado gerado aleatoriamente deve ser processado paralelamente com a primeira rodada do algoritmo, bem como, com a ltima rodada processada no ltimo estgio. Uma sugesto interessante o projeto de um bloco de encriptao genrico, ou seja, um bloco que permite a execuo de n 16 rodadas do algoritmo. Assim, um pipeline pode ter a opo de executar rodadas em diferentes estgios. Isto alm de aumentar a aleatoriedade no processamento tambm dificultaria as anlises de radiao eletromagntica, pois a execuo dar-se-ia em diferentes regies do chip em instantes diferentes. Outra opo o projeto de uma rede de interconexo blocos de encriptao genricos, o que expande o processamento aleatrio em duas dimenses do chip.

124

Obviamente, estes mtodos aumentam ainda mais a penalidade em rea e potncia dissipada, mas a segurana obtida pode justificar tal mtodo. A automatizao do projeto tambm importante para o uso de um mtodo de contramedida. Uma sugesto neste sentido o desenvolvimento de uma ferramenta de gerao automtica de pipeline DES. Esta ferramenta pode ser capaz de gerar arquiteturas pipeline de diversos tamanhos, com 2 a 16 blocos de encriptao do DES. Cada estgio pode ter seu hardware facilmente replicado. Porm, um cuidado necessrio levar em conta no projeto do circuito a gerao de subchaves, pois como mostrado no Captulo 5, cada estgio possui associado uma rotao de quantidades diferentes de bits. Otimizaes na arquitetura podem ser realizadas de modo a reduzir os custos em rea de sua implementao. O subsistema de relgio tambm pode ser otimizado de modo a oferecer um maior nmero de freqncias de sinais de relgio a menores custos de implementao visando obter uma melhor aleatoriedade e conseqentemente uma maior robustez a ataques.

125

REFERNCIAS BIBLIOGRFICAS

[ADE08] [AKK01]

Adee, S. The Hunter for the Kill Switch. IEEE Spectrum, vol. 45-5, Jan 2008, pp. 34-39. Akkar, M.; Giraud, C. An Implementation of DES and AES Secure Against some Attacks. In: Third International Workshop on Cryptographic Hardware and Embedded Systems (CHES01), May 2001, pp. 309-318. Akishita, T.; Takagi T. Zero Value Point Attacks on Elliptic Curve Cryptosystem. In: 6th International Conference on Information Security (ISC03), Oct 2003, pp. 218233. Auvergne, D.; Daga, J.; Rezzoug, M. Signal Transition Time Effect on CMOS Delay Evaluation. IEEE Transaction on Circuits and Systems, vol. 47-9, Sep 2000, pp. 1362-1369. Baddam, K.; Zwolinski, M. Evaluation of Dynamic Voltage and Frequency Scaling as a Differential Power Analysis Countermeasure. In: 20th International Conference on VLSI Design (VLSID07), Jan 2007, pp. 854-862. Baignres, T.; Stern, J.; Vaudenay, S. Linear Cryptanalysis of Non Binary Ciphers. In: 14th International Conference on Selected Areas in Cryptography (SAC07), Aug 2007, pp. 184-211. Benini, L.; Macii, A.; Macii, E.; Omerbegovic, E.; Pro, F.; Poncino, M. Energy-Aware Design Techniques for Differential Power Analysis Protection. In: 40th Design Automation Conference (DAC '03), Jun 2003, pp. 36-41. Bergamaschi, R.; Bhattacharya, S. ; Wagner, R. ; Fellenz, C.; Muhlada, M.; White, F.; Daveau, J.; Lee, W. Automating the Design of SoC using Cores. IEEE Design & Test of Computers, vol. 18-5, Sep 2001, pp. 32-45. van Berkel, K. Beware the Isochronic Fork. Integration, The VLSI Journal, vol. 132, Jun 1992, pp. 103-128. Bevan, R.; Knudsen, E. Ways to Enhance Differential Power Analysis. In: International Conference on Information Security and Cryptology (ICISC03), Jan 2003, pp. 327-342. Bhasin, S.; Danger, J.; Flament, F.; Graba, T.; Guilley, S.; Mathieu, Y.; Nassar, M.; Sauvage, L.; Selmane, N. Combined SCA and DFA Countermeasures Integrable in a FPGA Design Flow. In: International Conference on Reconfigurable Computing and FPGAs (Reconfig09), Dec 2009, pp. 213-218. Biham, E.; Shamir, A. Differential Cryptanalysis of DES-like Cryptosystems. In: 10th Annual International Cryptology Conference (CRYPTO90), Aug 1990, pp. 2-21. Boneh, D.; DeMillo, R.; Lipton, R. On the Importance of Checking Cryptographic Protocols for Faults. In: International Conference on the Theory and Application of Cryptographic Techniques (EUROCRYPT97), May 1997, pp. 37-51. Bouesse, G.; Renaudin, M.; Dumont, S.; Germain, F. DPA on Quasi Delay Insensitive Asynchronous Circuits: Formalization and Improvement. In: Design, Automation and Test in Europe Conference and Exposition (DATE05), Mar 2005, pp. 424-429.

[AKI03]

[AUV00]

[BAD07]

[BAG07]

[BEN03]

[BER01]

[BER92] [BEV03]

[BHA09]

[BIH90] [BON97]

[BOU05]

126 [BUC05] Bucci, M.; Luzzi, R.; Guglielmo, M.; Trifiletti, A. A Countermeasure against Differential Power Analysis based on Random Delay Insertion. In: IEEE International Symposium on Circuits and Systems (ISCAS05), May 2005, pp. 35473550. Brej, C. Early Output Logic and Anti-Tokens Tese de Doutorado, School of Computer Science, University of Manchester, Sep 2005. Brier, E.; Clavier, C.; Olivier, F. Correlation Power Analysis with a Leakage Model. In: 6th International Workshop on Cryptographic Hardware and Embedded Systems (CHES04), Aug 2004, pp. 16-29. Cadence Design Systems, Inc. Encounter User Guide. User Guide, May 2005, vol. 4.1.5, 738p. Calazans, N. L. V. Projeto Lgico Automatizado de Circuitos Lgicos Seqnciais. Imprinta, 1998, 342p. Canright, D.; Batina, L. A Very Compact Perfectly Masked S-box for AES. In: 6th International Conference on Applied Cryptography and Network Security (ACNS08), Jun 2008, pp. 446-459. Cannire, C.; Dunkelman, O.; Knezevic, M. KATAN and KTANTAN A Family of Small and Efficient Hardware-Oriented Block Ciphers. In: 11th International Workshop on Cryptographic Hardware and Embedded Systems (CHES09), Aug 2009, pp. 272-288. The Common Criteria Recognition Arrangement. Common Criteria for Information Technology Security Evaluation: Part I: Introduction and general model. CCMB2006-09-001, Version 3.1, Revision 1, Sep 2006, 86 p. Capturado em http://www.commoncriteriaportal.org/files/ccfiles/CCPART1V3.1R1.pdf. Chari, S.; Rao, J.; Rohatgi, P. Template Attacks. In: 4th International Workshop on Cryptographic Hardware and Embedded Systems (CHES02), Aug 2002, pp. 13-28. Chang, C.; Huang, S.; Ho, Y.; Lin, J.; Wang, H.; Lu, Y. Type-Matching Clock Tree for Zero Skew Clock Gating. In: 45th Design Automation Conference (DAC08), Jun 2008, pp. 714-719. Chapiro, D. Globally Asynchronous Locally Synchronous. Tese de Doutorado, Stanford University, Oct 1984, 134 p. Chen, Z.; Zhou, Y. Dual-Rail Random Switching Logic: A Countermeasure to Reduce Side Channel Leakage. In: 8th International Workshop on Cryptographic Hardware and Embedded Systems (CHES06), Oct 2006, pp. 242-254. Ciet, M.; Neve, M.; Peeters, E.; Quisquater, J.-J. Parallel FPGA Implementation of RSA with Residue Number Systems - Can Side-Channel Threats be Avoided?. In: 46th IEEE International Midwest Symposium on Circuits and Systems (MWSCAS'03), Dec 2003, pp. 27-30. Cilio, W.; Linder, M.; Porter, C.; Di, J.; Smith, S.; Thompson, D. Side-Channel Attacks Mitigation Using Dual-Spacer Dual-Rail Delay-Insensitive Logic (D3L). In: IEEE SoutheastCon 2010, Mar 2010, pp. 471-474. Cortadella, J.; Kondratyev, A.; Lavagno, L.; Sotiriou, C. Desynchronization: Synthesis of Asynchronous Circuits from Synchronous Specifications. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 25-10, Oct 2006, pp. 1904-1921. Clavier, C.; Coron, J.; Dabbus, N. Differential Power Analysis in the Presence of Hardware Countermeasures. In: 2nd International Workshop on Cryptographic Hardware and Embedded Systems (CHES00), Aug 2000, pp. 13-25. David, I.; Ginosar, R.; Yoeli, M. An Efficient Implementation of Boolean Function as Self-Timed Circuits. IEEE Transaction on Computers, vol. 41-1, Jan 1992, pp. 2-11.

[BRE05] [BRI04]

[CAD05] [CAL98] [CAN08]

[CAN09]

[CCR06]

[CHA02] [CHA08]

[CHA84] [CHE06]

[CIE03]

[CIL10]

[COR06]

[CLA00]

[DAV92]

127 [DEH09] Dehbaoui, A.; Lomne, V.; Maurine, P.; Torres, L. Magnitude Squared Incoherence EM Analysis for Integrated Cryptographic Module Localisation. IET Electronic Letters, vol. 45-15, Jul 2009, pp. 778-780. Dehbaoui, A.; Ordas, T.; Lomn, V.; Maurine, P.; Torres, L.; Robert, M. Incoherence Analysis and its Application to Time Domain EM Analysis of Secure Circuits. In: Asia-Pacific Symposium on Electromagnetic Compatibility (APEMC10), Apr 2010, pp. 1039-1042. Diffie, W.; Hellman, M. New Directions in Cryptography. IEEE Transactions on Information Theory, vol. 22-6, Nov 1976, pp. 644-654. Dobkin, R.; Ginosar, R. Two-phase Synchronous with Sub-cycle Latency. Integration, the VLSI Journal, vol. 42-3, Jun 2009, pp. 364-375. DPA Contest. Capturado em: http://www.dpacontest.org/index.php, December 2009. Dunkelman, O.; Keller, N. A New Criterion for Nonlinearity of Block Ciphers. IEEE Transactions on Information Theory, vol. 53-11, Nov 2007, pp. 3944-3957. Fahn, P.; Pearson, P. IPA: A New Class of Power Attacks. In: 1st International Workshop on Cryptographic Hardware and Embedded Systems (CHES99), Aug 1999, pp. 173-186. Gandolfi, K.; Moutel, C.; Olivier, F. Electromagnetic Analysis: Concrete Results. In: Third International Workshop on Cryptographic Hardware and Embedded Systems (CHES01), May 2001, pp. 251-261. Gebotys, C.; Tiu, C.; Chen, X. A Countermeasure for EM Attacks of a Wireless PDA. In: International Conference on Information Technology: Coding and Computing (ITCC05), Apr 2005, pp. 544-549. Ghellar, F.; Lubaszewski, M. A Novel AES Cryptographic Core Highly Resistant to Differential Power Analysis. In: 21st Symposium on Integrated Circuits and Systems Design (SBCCI08), Sep 2008, pp. 140-145. Ghosh, S.; Alam, M.; Kumar, K.; Mukhopadhyay, D.; Chowdhury, D. Preventing the Side-Channel Leakage of Masked AES S-box. In: International Conference on Advanced Computing and Communications (ADCOM07), Dec 2007, pp. 18-21. Golic, J.; Tymen, C. Multiplicative Masking and Power Analysis of AES. In: 4th International Workshop on Cryptographic Hardware and Embedded Systems (CHES02), Aug 2002, pp. 198-212. Golic, J.; Menicocci, R. Universal Masking on Logic Gate Level. IET Electronics Letters, vol. 40-9, Apr 2004, pp. 526-527. Golic, J. Techniques for RandomMasking in Hardware. IEEE Transactions on Circuits and Systems, vol. 54-2, Feb 2007, pp. 291-300. Goodwin, J.; Wilson, P. Advanced Encryption Standard (AES) Implementation with Increased DPA Resistance and Low Overhead. In: International Symposium on Circuits and Systems (ISCAS08), May 2008, pp. 3286-3289. Goubin, L. A Refined Power-Analysis Attack on Elliptic Curve Cryptosystems. In: 6th International Workshop on Theory and Practice in Public Key Cryptography (PKC03), Jan 2003, pp. 199-211. Guilley, S.; Sauvage, L.; Danger, J.; Graba, T.; Mathieu, Y. Evaluation of PowerConstant Dual-Rail Logic as a Protection of Cryptographic Applications in FPGAs. In: 2nd International Conference on Secure System Integration and Reality Improvement (SSIRI08), Jul 2008, pp. 19-23.

[DEH10]

[DIF76] [DOB09] [DPA09] [DUN07] [FAH99]

[GAN01]

[GEB05]

[GHE08]

[GHO07]

[GOL02]

[GOL04] [GOL07] [GOO08]

[GOU03]

[GUI08]

128 [GUI08a] Guilley, S.; Sauvage, L.; Danger, J.; Hoogvorst, P. Area Optimization of Cryptographic Co-Processors Implemented in Dual-rail with Precharge Positive Logic. In: International Conference on Field Programmable Logic and Applications (FPL08), Sep 2008, pp. 161-166. Guilley, S.; Chaudhuri, S.; Sauvage, L. ; Graba, T. ; Danger, J. ; Hoogvorst, P. ; Vong, V. ; Nassar, M. Place and Route Impact on the Security of DPL Design in FPGAs. In: IEEE International Workshop on Hardware-Oriented Security and Trust (HOST08), Jun 2008, pp. 26-32. Grkaynak, F.; Oetiker, S.; Kaeslin, H.; Felber, N.; Fichtner, W. Design Challenges for a Differential-Power-Analysis Aware GALS-based AES Crypto ASIC. Electronic Notes in Theoretical Computer Science, vol. 146-2, Jan 2006, pp. 133-149. Haijun, L.; Tao, Z.; Huiling, L.; Qiang, S. A New Method Against High-Order Differential Power Analysis. In: International Conference on Wireless Communications, Networking and Mobile Computing (WiCom07), Sep 2007, pp. 2188-2191. Han, X.; Cao, X.; Lloyd, E.; Shen, C. Fault-Tolerante Relay Node Placement in Heterogeneous Wireless Sensor Networks. IEEE Transactions on Mobile Computing, vol. 9-5, May 2010, pp. 643-656. Healy, D. Understanding Linear Feedback Shift Registers The Easy Way. Capturado em: http://www.yikes.com/~ptolemy/lfsr_web/index.htm, April 2009. Hennessy, J.; Patterson, D. Organizao e Projeto de Computadores: a interface hardware/software. Elsevier, 3 edio, Rio de Janeiro, 2005, 484p. Hebner, M.; Becker, T.; Becker, J. Real-Time LUT-Based Network Topologies for Dynamic and Partial FPGA Self-Reconfiguration. In: 17th Symposium on Integrated Circuits and Systems (SBCCI04), Sep 2004, pp. 28-32. Ho, R.; May, K.; Horowitz, M. The Future of Wires. Proceedings of the IEEE, vol. 89-4, Apr 2001, pp. 490-504. Huiping, J.; Rui, X.; Sheng, B. Advanced DES Algorithm against Differential Power Analysis and its Hardware Implementation. In: 1st International Symposium on Data, Privancy and E-Commerce, Nov 2007, pp. 316-320. ITRS. International Technology Roadmap for Semiconductors, 2005 Edition. Capturado em: http://www.itrs.net/Links/2005ITRS/Home2005.htm, Dezembro 2009. ITRS. International Technology Roadmap for Semiconductors, 2009 Edition. Capturado em: http://www.itrs.net/Links/2009ITRS/Home2009.htm, Janeiro 2009. Jakimoski, G.; Subbalakshmi, K. Discrete Lyapunov Exponent and Differential Cryptanalysis. IEEE Transactions on Circuits and Systems II Express Briefs, vol. 54-6, Jun 2007, pp. 499-501. Javaid, H.; Janapsatya, A.; Haque, M.; Parameswaran, S. Rapid Runtime Estimation Methods for Pipelined MPSoCs. In: Design, Automation and Test in Europe Conference and Exhibition (DATE10), Mar 2010, pp. 363-368. Jie, C.; Yongzhuang, W.; Yupu, H. A New Method for Impossible Differential Cryptanalysis of 7-round Advanced Encryption Standard. In: International Conference on Communications, Circuits and Systems (ICCCAS06), Jun 2006, pp. 1577-1579. Kamoun, N.; Bossuet, L.; Ghazel, A. Correlated Power Noise Generator as a Low Cost DPA Countermeasures to Secure Hardware AES Cipher. In: International Conference on Signals, Circuits and Systems (ICCS09), Oct 2009, pp. 1-6.

[GUI08b]

[GUR06]

[HAI07]

[HAN10]

[HEA09] [HEN05] [HUE04]

[HO01] [HUI07]

[ITR05] [ITR09] [JAK07]

[JAV10]

[JIE06]

[KAM09]

129 [KHA08] Khatir, M.; Moradi, A.; Ejlali, A.; Shalmani, M.; Salmasizadeh, M. A Secure and Low-Energy Logic Style Using Charge Recovery Approach. In: International Symposium on Low Power Electronics and Design (ISLPED08), Aug 2008, pp. 259264. Kim, N. S.; Austin, T.; Blaauw, D.; Mudge, T.; Flautner, K.; Hu, J. S.; Irwin, M. J.; Kandemir, M.; Narayanan, V. Leakage Current: Moores Law Meets Static Power. IEEE Computer, vol. 36-12, Dec 2003, pp. 68-75. Kocher, P. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and others Systems. In: 16th International Cryptology Conference on Advances in Cryptology (CRYPTO96), Aug 1996, pp. 104-113. Kocher, P.; Jaffe, J.; Jun, B. Differential Power Analysis. In: 19th International Cryptology Conference on Advances in Cryptology (CRYPTO99), Aug 1999, pp. 388-397. Kocher, P.; Jaffe, J.; Jun, B. Introduction to Differential Power Analysis and Related Attacks. Technical Report, Cryptography Reserch, 1999, 5p. Krstic, M.; Grass, E.; Gurkaynak, F.; Vivet, P. Globally Asynchronous, Locally Synchronous Circuits: Overview and Outlook. IEEE Design & Test of Computers, vol. 24-5, Sep-Oct 2007, pp. 430-441. Kulikowski, K.; Su, M.; Smirnov, A.; Taubin, A.; Karpovsky, M.; MacDonald, D. Delay Insensitive Encoding and Power Analysis: A Balancing Act. In: 11th IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC05), Mar 2005, pp. 116-125. Kulikowski, K.; Venkataraman, V.; Wang, Z.; Taubin, A.; Karpovsky, K. Asynchronous Balanced Gates Tolerant to Interconnect Variability. In: International Symposium on Circuits and Systems (ISCAS08), May 2008, pp. 3190-3193. Leung, L.; Tsui, C. Energy-Aware Synthesis of Network-on-Chip Implemented with Voltage Islands. In: 44th Design Automation Conference (DAC '07), Jun 2007, pp. 128-131. Lomne, V.; Maurine, P.; Torres, L.; Robert, M. Soares, R.; Calazans, N. Evaluation on FPGA of Triple Track Logic Robustness against DPA and DEMA. In: Design, Automation and Test in Europe Conference and Exhibition (DATE09), Apr 2009, pp. 634-639. Lu, Y.; ONeill, M.; McCanny, J. FPGA Implementation and Analisys of Random Delay Insertion Countermeasure against DPA. In: International Conference on Field-Programmable Technology (FTP08), Dec 2008, pp. 201-208. Maheshwari, N.; Sapatnekar, S. Timing Analysis and Optimization of Sequential Circuits. Springer, 1998, 208p. Mahmud, R. Techniques to Make Clock Switching Glitch Free. Capturado em: http://www.eetimes.com/news/design/showArticle.jhtml?articleID=16501239, May 2009. Maistri, P.; Leveugle, R. Double-Data-Rate Computation as a Countermeasure against Fault Analysis. IEEE Transactions on Computers, vol. 57-11, Nov 2008, pp. 1528-1539. Mansoori, S.; Bizaki, H. Linear Cryptanalysis on Second Round Simplified AES. In: 8th International Conference on Advanced Communication Technology (ICACT06), Feb 2006, pp. 1210-1214. Martin, G.; Chang, H. System-on-Chip Design. In: 4th International Conference on ASIC (ASICON01), Tutorial T.2, Oct 2001, pp. 12-17.

[KIM03]

[KOC96]

[KOC99]

[KOC99a] [KRS07]

[KUL05]

[KUL08]

[LEU07]

[LOM09]

[LU08]

[MAH98] [MAH09]

[MAI08]

[MAN06]

[MAR01]

130 [MAR02] Martn-Langerwerf, J.; Reuter, C.; Kropp, H.; Pirsch, P. Benefits of Macro-based Multi-FPGA Partitioning for Video Processing Applications. In: 13th Workshop on Rapid Systems Prototyping (RSP02), Jul 2002, pp. 60-65. Martin, A.; Nystrom, M. Asynchronous Techniques for System-on-Chip Design. Proceedings of the IEEE, vol. 94-6, Jun 2006, pp. 1089-1120. Matsui, M. Linear Cryptoanalysis Method for DES Cypher. In: Workshop on the Theory and Application of Cryptographic Techniques Advances in Cryptology (EUROCRYPT93), May 1993, pp. 386-397. Mentor Graphics Corporation. ModelSim SE Users Manual. User Manual, v6.6b, 2010, 1544p. Messerges, T. Using Second Order Power Analysis to Attack DPA Resistant Software. In: 2nd International Workshop on Cryptographic Hardware and Embedded Systems (CHES00), Aug 2000, pp. 238-251. Mesquita, D.; Techer, J.-D.; Torres, L.; Sassatelli, G.; Cambon, G.; Robert, M.; Moraes, F. Current Mask Generation: A Transistor Level Security Against DPA Attacks. In: 18th Symposium on Integrated Circuits and Systems Design (SBCCI05), Sep 2005, pp. 115-120. Mesquita, D.; Badrignans, B.; Torres, L.; Sassatelli, G.; Robert, M.; Moraes, F.G. A Leak Resistant SoC to Counteract Side Channel Attacks. In: International Symposium on System-on-Chip (SoC06), Nov 2006, pp. 1-4. Mller, L.; Soares, R.; Carvalho, E.; Grehs, I.; Calazans, N.; Moraes, F. Infrastructure for Dynamic Reconfigurable Systems: Choices and Trade-offs. In: 19th Symposium on Integrated Circuits and Systems Design (SBCCI06), Sep 2006, pp. 44-49. Moore, G. Cramming More Components Onto Integrated Circuits. Electronics, vol. 38-8, Apr 1965, pp. 114-117. Moore, S.; Anderson, R.; Cunningham, P.; Mullins, R.; Taylor, G. Improving Smart Card Security using Self-Timed Circuits. In: 8th International Symposium on Asynchronous Circuits and Systems (ASYNC02), Apr 2002, pp. 211-218. Morris, B.; Rogaway, P.; Stegers, T. How to Encipher Messages on a Small Domain Deterministic Encryption and the Thorp Shuffle. In: 29th Annual International Cryptographic Conference (CRYPTO09), Aug 2009, pp. 286-302. Moradi, A.; Khatir, M.; Salmasizadeh, M.; Shalmani, M. Charge Recovery Logic as a Side Channel Attack Countermeasure. In: 10th International Symposium on Quality of Electronic Design (SQED), Mar 2009, pp. 686-691. Muresan, R.; Gebotys, C. Current Flattening in Software and Hardware for Security Applications. In: International Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS04), Sep 2004, pp. 218-223. Muresan, R.; Vahedi, H.; Yang, Z.; Gregori, S. Power Smart System On Chip Architecture for Embedded Cryptosystems. In: International Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS05), Sep 2005, pp. 184-189. Muresan, R.; Gregori, S. Protection Circuit against Differential Power Analysis Attacks for Smart Cards. IEEE Transaction on Computers, vol. 57-11, Nov 2008, pp. 1540-1549. Nagashima, S.; Homma, N.; Imai, Y.; Aoki, T.; Satoh, A. DPA Using Phase-Based Waveform Matching against Random-Delay Countermeasure. In: International Symposium on Circuits ans Systems (ISCAS07), May 2007, pp. 1807-1810. Naor, M.; Segev, G. Public-Key Cryptosystems Resilient to Key Leakage. In: 29th Annual International Cryptographic Conference (CRYPTO09), Aug 2009, pp. 18-35.

[MAR06] [MAT93]

[MEN10] [MES00]

[MES05]

[MES06]

[MOL06]

[MOO65] [MOO02]

[MOR09]

[MOR09a]

[MUR04]

[MUR05]

[MUR08]

[NAG07]

[NAO09]

131 [NIK99] Nikolaidis, S.; Chatzigeorgiou, A. Analytical Estimation of Propagation Delay and Short-Circuit Power Dissipation in CMOS Gates. International Journal of Circuit Theory and Applications, vol. 27-4, Sep 1999, pp. 375-392. National Institute of Standards and Technology. Computer Security Division, 2009 Annual Report. Annual Report, 2009, 64 p. Ogras, U.; Marculescu, R.; Choudhary, P.; Marculescu, D. Voltage-Frequency Island Partitioning for GALS-based Network-on-Chip. In: 44th Design Automation Conference (DAC '07), Jun 2007, pp. 110-115. Ordu, L.; rs, B. Power Analysis Resistant Hardware Implementations of AES. In: 14th IEEE International Conference on Eletronics, Circuits and Systems (ICECS07), Dec 2007, pp. 1408-1411. Ordas, T.; Lisart, M.; Sicard, E.; Maurine, P.; Torres, L. Near-Field Mapping System to Scan in Time Domain the Magnetic Emissions of Integrated Circuits. In: 18th International Workshop on Power and Timing Modeling Optimization and Simulation (PATMOS08), Sep 2008, pp. 229-236. Oswald, E.; Mangard, S.; Pramstaller, N.; Rijmen, V. A Side-Channel Analysis Resistant Description of the AES S-box. In: 12th International Workshop on Fast Software Encryption (FSE05), Feb 2005, pp. 413-423. Oswald, E.; Mangard, S.; Herbst, C.; Tillich, S. Pratical Second Order DPA Attacks for Masked Smart Card Implementions of Block Ciphers. In: Topics in Cryptology Cryptographers Track at the RSA Conference (CT-RSA06), Feb 2006, pp. 192-207. Peeters, E.; Standaert, F.; Donckers, N.; Quisquater, J. Improving High-Order Side Channel Attacks with FPGA Experiments. In: 7th International Workshop on Cryptographic Hardware and Embedded Systems (CHES05), Aug-Sep 2005, pp. 309-321. Pontes, J.; Soares, R.; Carvalho, E.; Moraes, F.; Calazans, N. SCAFFI: An Intrachip FPGA Asynchronous Interface based on Hard Macros. In: 25th IEEE International Conference on Computer Design (ICCD07), May 2007, pp. 541-546. Popp, T.; Mangard, S. Implementation Aspects of the DPA-Resistant Logic Style MDPL. In: IEEE International Symposium on Circuits and Systems (ISCAS06), May 2006, pp. 2913-2916. Pramstaller, N.; Grkaynak, F.; Haene, S.; Kaeslin, H.; Felber, H.; Fichtner, W. Towards an AES Crypto-chip Resistent to Differential Power Analysis. In: 30th European Solid-State Circuits Conference (ESSCIRC04), Sep 2004, pp. 307-310. Prouff, E.; Rivain, M.; Bvan, R. Statistical Analysis of Second Order Differential Power Analysis. IEEE Transactions on Computers, vol. 58-6, Jun 2009, pp. 799811. Rabaey, J. Digital Integrated Circuits: A Design Perspective. Upper Saddle River, 2nd Edition, Pearson Education, 2003, 761p. Rafiev, A.; Murphy, J.; Yakovlev, A. Secure Design Flow for Asynchronous MultiValued Logic Circuits. In: 40th IEEE International Symposium on Multiple-Valued Logic (ISMVL10), May 2010, pp. 264-269. Rammohan, S.; Sundaresan, V.; Vemuri, R. Reduced Complementary Dynamic and Differential Logic: A CMOS Logic Style for DPA-Resistant Secure IC Design. In: 21st International Conference on VLSI Design (VLSID08), Jan 2008, pp. 699705. Razafindraibe, A.; Maurine, P.; Robert, M.; Bouesse, F.; Folco, B.; Renaudin, M. Secured Structures for Secured Asynchronous QDI Circuits. In: 19th International Conference on Design of Circuits and Integrated Systems (DCIS04), Nov 2004, pp. 20-26.

[NIS09] [OGR07]

[ORD07]

[ORD08]

[OSW05]

[OSW06]

[PEE05]

[PON07]

[POP06]

[PRA04]

[PRO09]

[RAB03] [RAF10]

[RAM08]

[RAZ04]

132 [RAZ06] Razafindraibe, A.; Robert, M.; Maurine, P. Formal Evaluation of the Robustness of Dual-Rail Logic against DPA Attacks. In: 16th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS06), Sep 2006, pp. 634644. Razafindraibe, A.; Robert, M.; Maurine, P. Improvement of Dual Rail Logic as a Countermeasure against DPA. In: IFIP International Conference on Very Large Scale Integration (VLSI-SoC07), Oct 2007, pp. 270-275. Regazzoni, F.; Eisenbarth, T.; Groschdl, J.; Breveglieri, L.; Ienne, P.; Koren, I.; Paar, C. Power Attacks Resistance of Cryptographic S-boxes with Added Error Detection Circuits. In: 22nd IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems (DFT VLSI07), Sep 2007, pp. 508-516. Rivest, R.; Shamir, A.; Adleman, L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, vol. 21-2, Feb 1978, pp. 120-126. Rouvroy, G.; Standaert, F.; Quisquater, J.; Legat, J. Efficient Uses of FPGAs for Implementations of DES and Its Experimental Linear Cryptanalysis. IEEE Transactions on Computers, vol. 52-4, Apr 2003, pp. 473-482. Schneier, B. Applied Cryptography Protocols, Algorithms and Source Code in C. John Wiley & Sons, 1996, 2nd Edition, 784 p. Selimis, G.; Fournaris, A.; Kostopoulos, G.; Koufopavlou, O. Software and Hardware Issues in Smart Card Technology. IEEE Communications Surveys & Tutorials, vol. 11-3, Third Quarter 2009, pp. 143-152. Skorobogatov, S.; Anderson, R. Optical Fault Induction Attacks. In: 4th International Workshop on Cryptographic Hardware and Embedded Systems (CHES02), Aug 2002, pp. 2-12. Soares, R.; Lomn, V.; Calazans, N.; Maurine, P.; Torres, L.; Robert, M. Evaluating the Robustness of Secure Triple Track Logic through Prototyping. In: 21st Symposium on Integrated Circuits and Systems Design (SBCCI08), Sep 2008, pp. 193-198. Sotiriou, C. Implementing Asynchronous Circuits using a Conventional EDA ToolFlow. In: 39th Design Automation Conference (DAC'02), Jun 2002, pp. 415-418. Spars, J.; Furber, S. Principles of Asynchronous Circuits Design A System Perspective. Kluwer Academic Publishers, 2002, 360p. Standaert, F.; rs, S.; Preneel, B. Power Analysis of an FPGA Implementation of Rijndael: Is Pipelining a DPA Countermeasure? In: 6th International Workshop on Cryptographic Hardware and Embedded Systems (CHES04), Aug 2004, pp. 30-44. Sze, S. Semiconductors Devices: Physics and Technology. John Wiley & Sons, 2002, 2nd Edition, 568p. Teehan, P.; Greenstreet, M.; Lemieux, G. A Survey and Taxonomy of GALS Design Styles. IEEE Design & Test of Computers, vol. 24-5, Sep-Oct 2007, pp. 418-428. Tiri, K.; Akmal, M.; Verbauwhede, I. A Dynamic and Differential CMOS Logic with Signal Independent Power Consumption to withstand Differential Power Analysis on Smart Cards. In: 28th European Solid-State Circuits Conference (ESSCIRC02), Sep 2002, pp. 403-406. Tiri, K.; Verbauwhede, I. A Logic Level Design Methodology for a Secure DPA Resistant ASIC or FPGA Implementation. In: Design, Automation and Test in Europe Conference and Exhibition (DATE04), Feb 2004, pp. 246-251.

[RAZ07]

[REG07]

[RIV78]

[ROU03]

[SCH96] [SEL09]

[SKO02]

[SOA08]

[SOT02] [SPA02] [STA04]

[SZE02] [TEE07]

[TIR02]

[TIR04]

133 [TIR06] Tiri, K.; Verbauwhede, I. A Digital Design Flow for Secure Integrated Circuits. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, vol. 25-7, Jul 2006, pp. 1197-1208. Torres, G. Fundamentos de Eletrnica. Axcel Books, 2002, 244p. Trichina, E.; De Seta, D.; Germani, L. Simplified Adaptative Multiplicative Masking for AES and its Secure Implementation. In: 5th International Workshop on Cryptographic Hardware and Embedded Systems (CHES03), Sep 2003, pp. 187197. Vahedi, H.; Muresan, R.; Gregori, S. On-chip Current Flattening Circuit with Dynamic Voltage Scaling. In: IEEE International Symposium on Circuits and Systems (ISCAS06), May 2006, pp. 4277-4280. Vahedi, H.; Gregori, S.; Muresan, R. Improved Current Flattening Circuit using Current Injection, Voltage Regulation, and Frequency Switching. In: Canadian Conference on Electrical and Computer Engineering (CCECE08), May 2008, pp. 2061-2066. Vangal, S.; Howard, J.; Ruhl, G.; Dighe, S.; Wilson, H.; Tschanz, J.; Finan, D.; Singh, A.; Jacob, T.; Jain, S.; Erraguntla, V.; Roberts, C.; Hoskote, Y.; Borkar, Nitin.; Borkar, S. An 80-Tile Sub-100-W TeraFLOPS Processor in 65-nm CMOS. IEEE Journal of Solid State Circuits, vol. 43-1, Jan 2008, pp. 29-41. Waddle, J.; Wagner, D. Toward Efficient Second Order Power Analysis. In: 6th International Workshop on Cryptographic Hardware and Embedded Systems (CHES04), Aug 2004, pp. 1-15. Weste, N.; Eshraghian, K. Principles of CMOS VLSI Design. Addison-Wesley, 2nd edition, 1994, 735p. Xilinx, Inc. Spartan-3 Starter Kit Board User Guide. User Guide (UG130), v1.1, May 2005, 64p. Xilinx, Inc. Virtex-II Platform FPGAs: Complete Data Sheet. Data Sheet (DS031), v3.5, Nov 2007, 318p. Xilinx, Inc. Spartan-3 FPGA Family Data Sheet. Product Specification (DS099), Dec 2009, 217p. Xilinx, Inc. Synthesis and Simulation Design Guide. Xilinx User Guide (UG626), v12.1, Apr 2010, 180p. Yang, S.; Wolf, W.; Vijaykrishnan, N.; Serpanos, D.N.; Xie, Y. Power Attack Resistant Cryptosystem Design: A Dynamic Voltage and Frequency Switching Approach. In: Design, Automation and Test in Europe Conference and Exhibition (DATE05), Mar 2005, pp. 64-69. Yen, C.; Wu, B. Simple Error Detection Methods for Hardware Implementation of Advanced Encryption Standard. IEEE Transactions on Computers, vol. 55-6, Jun 2006, pp. 720-731. Zafar, Y.; Ahmad, M. Adaptative On-chip Oscillator for FPGA based Synchronous Designs. In: International Conference on Emerging Technologies (ICET05), Sep 2005, pp. 295-300. Zafar, Y.; Har, D. A Novel Countermeasure Enhancing Side Channel Immunity in FPGAs. In: International Conference on Advanced in Electronics and Microelectronics (ENICS08), Sep-Oct 2008, pp. 132-137.

[TOR02] [TRI03]

[VAH06]

[VAH08]

[VAN08]

[WAD04]

[WES94] [XIL05] [XIL07] [XIL09] [XIL10] [YAN05]

[YEN06]

[ZAF05]

[ZAF08]

134

135

APNDICE A TRAOS RESULTANTES DO PROCESSO DE MEDIO DAS ARQUITETURAS GALS


Neste Apndice so apresentados os traos de potncia consumida, tracos de radiao eletromagntica das arquiteturas propostas medidos durante as anlises realizadas. O Apndice tambm apresenta os traos hipteses resultantes das anlises DPA, DEMA e realizadas.

A.1

TRAOS MEDIDOS

Nesta Seo so apresentados os traos de consumo de potncia e de radio eletromagntica obtidos com o sistema de medio do laboratrio LIRMM. A.1.1 CONSUMO DE POTNCIA: ARQUITETURAS PIPE-2 Traos de consumo de potncia obtidos para as arquiteturas DES pipeline GALS com 2 estgios. Estes resultados foram obtidos usando a plataforma da Digilent Spartan-3 Board [XIL05] e prototipados no dispositivo XC3S200 [XIL09].
Consumo de potncia: DES PIPE 2 sncrono Consumo de potncia: DES PIPE 2 sncrono c/ FIFO

Dado 1 e 2 Dado 2 e 3 Estgio 1 e 2 Estgio 1 e 2 Dado 1 Estgio 1 Dado 3 Estgio 2

Estgio 1

Estgio 2

Rudo causado pelo chaveamento do sinal de sincronismo

Rudo causado pelo chaveamento do sinal de sincronismo

(i)
Tempo (0,25 ps) Consumo de potncia: DES PIPE2 GALS

(ii)
Tempo (0,25 ps) Consumo de potncia: DES PIPE 2 GALS c/ FIFO

(iii)
1 Estgio 2 Estgio

(iv)
Rudo externo

Rudo externo

Rudo externo

Rudo externo

Rudo externo

Rudo causado pelo chaveamento do sinal de sincronismo

Rudo causado pelo chaveamento do sinal de sincronismo

Tempo (0,25 ps)

Tempo (0,25 ps)

Figura 1 - Traos de consumo de potncia das arquiteturas DES pipeline: (i) sncrono sem FIFO, (ii) sncrono com FIFO, (iii) GALS sem FIFO e (iv) GALS com FIFO.

136

A.1.2 RADIAO ELETROMAGNTICA: ARQUITETURA PIPE-2 Traos da radiao eletromagntica obtidos sobre as arquiteturas DES pipeline GALS com 2 estgios. Estes resultados foram obtidos usando a plataforma da Digilent Spartan-3 Board [XIL05] e prototipados no dispositivo XC3S200 [XIL09].

Figura 2 - Traos de radiao eletromagntica das arquiteturas DES pipeline: (i) sncrono sem FIFO, (ii) sncrono com FIFO, (iii) GALS sem FIFO e (iv) GALS com FIFO.

137

A.1.3 CONSUMO DE POTNCIA: ARQUITETURA PIPE-4 Trao de consumo de potncia medido sobre a arquitetura DES pipeline GALS com 4 estgios. Estes resultados foram obtidos usando a plataforma da Digilent Spartan-3 Board [XIL05] e prototipados no dispositivo XC3S1000 [XIL09].

Figura 3 - Trao de consumo de potncia obtido para a arquitetura DES pipeline com 4 estgios.

138

A.1.4 RADIAO ELETROMAGNTICA: ARQUITETURA PIPE-4 Traos de radiao eletromagntica das arquiteturas DES pipeline com 4 estgios. Cada estgio processa 4 rodadas do algoritmo. Os experimentos so todos realizados em um dispositivo XC3S1000 [XIL09].

Figura 4 - Traos de radiao eletromagntica das arquiteturas DES pipelines com 4 estgios: (i) sncrono sem FIFO, (ii) sncrono com FIFO, e (iii) GALS com FIFO.

139

A.1.5 RADIAO ELETROMAGNTICA: ARQUITETURAS PIPE-8 Traos de radiao eletromagntica das arquiteturas DES pipeline com 8 estgios. Nestas arquiteturas apenas 2 rodadas do algoritmo so executadas em cada estgio, como visto na verso sncrona. Estes traos foram obtidos usando a plataforma da Digilent Spartan-3 Board [XIL05] e prototipados no dispositivo XC3S1000 [XIL09].

Figura 5 - Traos de radiao eletromagntica das arquiteturas DES pipelines com 8 estgios: (i) sncrono sem FIFO, (ii) sncrono com FIFO, e (iii) GALS com FIFO.

140

A.2

TRAOS HIPTESES DE SUBCHAVES

A.2.1 ARQUITETURAS PIPE-2: TRAOS RESULTANTES DAS ANLISES DEMA Traos hipteses resultantes das anlises DEMA. Cada grfico apresenta 64 hipteses de traos de subchaves, onde os traos em preto correspondem hiptese correta da subchave, os traos vermelhos hiptese errada dada como correta pelas anlises e os traos azuis so os demais traos. A Figura abaixo apresenta os resultados de ataques DEMA sobre a SBOX3 das diferentes verses da arquitetura PIPE-2: (i) sncrono sem FIFO, (ii) sncrono com FIFO, (iii) GALS sem FIFO e (iv) GALS com FIFO.

Figura 6 - Resultados das anlises DEMA para a arquitetura DES PIPE-2: (i) sncrono sem FIFO, (ii) sncrono com FIFO, (iii) GALS sem FIFO e (iv) GALS com FIFO.

141

A.2.2 ARQUITETURAS PIPE-2: TRAOS RESULTANTES DAS ANLISES DPA Nesta Seo so apresentados os traos resultantes das anlises DPA. Os resultados mostram que as verses sncronas so vulnerveis aos ataques DPA. J os ataques sobre as arquiteturas propostas se mostraram robustas a estes ataques, no havendo nenhum caso de sucesso dos ataques. Nesta Seo apenas os resultados de ataques realizados sobre a SBOX3 so apresentados.

Figura 7 - Resultados das anlises DPA para a arquitetura DES PIPE-2: (i) sncrono sem FIFO, (ii) sncrono com FIFO, (iii) GALS sem FIFO e (iv) GALS com FIFO.

142

A.2.3 ARQUITETURAS PIPE-4: TRAOS RESULTANTES DAS ANLISES DEMA Nesta Seo so apresentados os traos hipteses resultantes das anlises DEMA sobre a SBOX3 das arquiteturas DES pipeline com 4 estgios. Os resultados demonstram que as verses sncronas so vulnerveis aos ataques DPA. J os ataques sobre as arquiteturas GALS propostas se mostram robustas a estes ataques, no havendo nenhum caso de sucesso dos ataques.

Figura 8 - Traos hipteses obtidos com a realizao dos ataques DEMA sobre as arquiteturas DES pipeline com 4 estgios: (i) sncrona sem FIFO, (ii) sncrona com FIFO e (iii) GALS com FIFO.

143

A.2.4 ARQUITETURAS PIPE-8: TRAOS RESULTANTES DAS ANLISES DEMA Nesta Seo so apresentados os traos resultantes das anlises DEMA sobre as arquiteturas DES GALS pipeline com 8 estgios. Os resultados mostram que as verses sncronas so vulnerveis aos ataques DPA. J os ataques sobre as arquiteturas propostas se mostraram robustas a estes ataques, no havendo nenhum caso de sucesso dos ataques.

Figura 9 - Traos hipteses obtidos com a realizao dos ataques DEMA sobre as arquiteturas DES pipeline com 8 estgios: (i) sncrona sem FIFO, (ii) sncrona com FIFO e (iii) GALS com FIFO.

144

145

ANEXO B TABELAS DO ALGORITMO DES


Tabelas de permutao, substituio e funo do algoritmo DES. As tabelas devem ser lidas da esquerda para a direita e de cima para baixo. Por exemplo, a especificao da Permutao Inicial diz que o bit 58 de uma palavra de 64 bits deve ser movido para a posio 1, o bit 50 para a posio 2, o bit 42 para a posio 3 e assim por diante. Note que os vetores de 64 bits so numerados de 1 a 64 e no de 0 a 63 como se faz em muitos projetos de hardware.
Permutao Inicial
58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 25 27 29 31 18 20 22 24 17 19 21 23 10 12 14 16 9 11 13 15 2 4 6 8 1 3 5 7

PI-1

Permutao Inicial Inversa


40 39 38 37 36 35 34 33 8 7 6 5 4 3 2 1 48 47 46 45 44 43 42 41 16 15 14 13 12 11 10 9 56 55 54 53 52 51 50 49 24 23 22 21 20 19 18 17 64 63 62 61 60 59 58 57 32 31 30 29 28 27 26 25

PI-2

Funo de Expanso E (Permutao de Expanso)


32 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31 4 8 12 16 20 24 28 32 5 9 13 17 21 25 29 1

Tabela de Substituio SBOX1


14 3 0 10 4 15 15 5 4 10 15 6 1 12 12 11 13 6 7 12 14 9 8 3 1 12 4 11 8 7 2 14 2 5 14 9 13 3 4 10 15 9 2 5 6 10 9 0 11 0 13 3 2 5 1 6 8 7 1 8 11 0 7 13

SBOX1

Tabela de Substituio SBOX2


SBOX2 15 9 3 1 7 13 8 2 4 14 13 7 6 12 15 11 0 5 3 5 8 4 10 14

146
12 0 5 13 11 0 14 8 8 6 1 7 12 10 7 10 11 6 1 12 6 10 9 3 0 9 4 3 15 5 11 13 2 4 14 5 1 15 2 9

Tabela de Substituio SBOX3


10 1 13 2 13 11 1 4 0 13 7 8 6 1 10 15 9 12 0 5 4 2 13 14 14 7 9 14 9 12 0 3 6 11 3 12 8 5 6 11 3 4 4 11 15 10 9 5 15 2 6 15 3 14 8 2 5 8 10 1 0 7 7 12

SBOX3

Tabela de Substituio SBOX4


7 1 13 4 10 15 3 9 13 2 8 7 6 1 15 4 14 8 11 2 9 3 0 5 3 5 5 12 0 14 6 11 0 11 6 1 12 5 10 12 6 12 15 10 11 2 1 7 9 4 0 14 7 8 13 2 10 15 3 9 13 4 8 14

SBOX4

Tabela de Substituio SBOX5


2 8 14 5 4 15 11 6 12 5 11 0 2 9 8 15 4 3 2 15 1 12 12 0 1 15 12 10 11 5 7 9 7 13 4 3 10 6 1 10 10 0 7 9 13 3 14 4 11 14 13 8 7 0 2 5 6 9 1 6 8 14 13 3

SBOX5

Tabela de Substituio SBOX6


12 0 10 6 9 7 4 11 1 13 15 1 14 0 3 14 10 3 4 13 15 4 2 1 15 4 2 14 5 10 12 7 9 14 7 0 2 1 9 6 2 7 12 11 8 13 5 0 6 5 9 3 12 11 15 8 8 11 5 8 3 6 10 13

SBOX6

Tabela de Substituio SBOX7


4 3 13 14 1 10 6 9 11 12 0 3 4 15 11 5 2 9 11 5 11 6 13 0 14 7 7 12 13 8 8 15 15 5 4 2 12 0 1 14 0 10 9 15 3 5 4 2 8 6 1 8 7 9 10 3 13 1 10 6 14 2 7 12

SBOX7

147
Tabela de Substituio SBOX8
13 10 1 12 7 0 2 15 2 9 15 5 11 6 1 12 8 3 13 6 4 10 14 9 4 14 8 11 1 13 7 0 6 5 10 0 9 15 4 3 15 0 3 14 12 3 10 5 11 12 7 9 14 5 8 6 1 7 4 2 2 8 13 11

SBOX8

Permutao P-Box
16 1 2 19 7 15 8 13 20 23 24 30 21 26 14 6 29 5 32 22 12 18 27 11 28 31 3 4 17 10 9 25

Permutao da Chave - CP-1


57 10 63 14 49 2 55 6 41 59 47 61 33 51 39 53 25 43 31 45 17 35 23 37 9 27 15 29 1 19 7 21 58 11 62 13 50 3 54 5 42 60 46 28 34 52 38 20 26 44 30 12 18 36 22 4

CP-1

Permutao de Compresso (da Chave) - CP-2


14 CP-2 23 41 44 17 19 52 49 11 12 31 39 24 4 37 56 1 26 47 34 5 8 55 53 3 16 30 46 28 7 40 42 15 27 51 50 6 20 45 36 21 13 33 29 10 2 48 3211

You might also like