• Nenhum resultado encontrado

Balanced secure triple track logic: uma nova topologia segura contra ataques DPA e DEMA utilizando técnica de uniformização de consumo

N/A
N/A
Protected

Academic year: 2021

Share "Balanced secure triple track logic: uma nova topologia segura contra ataques DPA e DEMA utilizando técnica de uniformização de consumo"

Copied!
63
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE PELOTAS Centro de Desenvolvimento Tecnológico Programa de Pós-Graduação em Computação

Dissertação

Balanced Secure Triple Track Logic: Uma Nova Topologia Segura Contra Ataques DPA e DEMA utilizando Técnica de Uniformização de Consumo

Vitor Gonçalves de Lima

(2)

Balanced Secure Triple Track Logic: Uma Nova Topologia Segura Contra Ataques DPA e DEMA utilizando Técnica de Uniformização de Consumo

Dissertação apresentada ao Programa de Pós-Graduação em Computação da Universidade Federal de Pelotas, como requisito parcial para a obtenção do título de Mestre em Ciência da Computação

Orientador: Prof. Dr. Rafael Iankowski Soares Co-Orientadores: Prof. Dr. Felipe de Souza Marques

Prof. Dr. Leomar Soares da Rosa Júnior

(3)

L732b Lima, Vitor Gonçalves de

LimBalanced Secure Triple Track Logic : uma nova

topologia segura contra ataques DPA e DEMA utilizando técnica de uniformização de consumo / Vitor Gonçalves de Lima ; Rafael Iankowski Soares, orientador ; Felipe de Souza Marques, Leomar Soares da Rosa Júnior, coorientadores. — Pelotas, 2018.

Lim63 f. : il.

LimDissertação (Mestrado) — Programa de Pós-Graduação

em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, 2018.

Lim1. Ataques a canais laterais. 2. DPA. 3. DEMA. 4.

Contramedidas. 5. Criptografia. I. Soares, Rafael Iankowski, orient. II. Marques, Felipe de Souza, coorient. III. Rosa Júnior, Leomar Soares da, coorient. IV. Título.

CDD : 005

(4)

RESUMO

LIMA, Vitor Gonçalves. Desenvolvimento de Contramedida Topológica e Método de Dimensionamento Visando Resiliência Contra Ataques Criptográficos DPA e DEMA. 2018. 63f. Trabalho acadêmico (Mestrado em Computação) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas, 2018. A criptografia é responsável por garantir o sigilo dos dados. Os algoritmos atuais são de domínio público e a segurança dos dados se concentra na chave criptográfica secreta. Porém, técnicas vêm sendo desenvolvidas visando obter essas chaves secretas e, dessa maneira, ter acesso às informações sigilosas. Análise Diferencial de Potência (Differential Power Analysis - DPA) é uma dessas técnicas de ataque que explora a relação entre o consumo de energia com os dados que estão sendo processados. Buscando neutralizar essa ameaça, muitas propostas de contramedidas vêm sendo desenvolvidas pela comunidade científica. Nesse contexto, esse trabalho desenvolve uma estratégia de contramedida para ataques DPA baseada em tecnologia ASIC. Para isso, a estratégia proposta apoia-se em duas topologias já consolidadas, a Secure Triple Track Logic (STTL) e a Pre-Charge Static Logic (PCSL). As topologias STTL e a PCSL são contramedidas em nível de porta lógica visando a homogeneização do consumo. A STTL adiciona uma trilha de validação que sinaliza quando as entradas e saídas estão estáveis e podem ser computadas. Isso elimina os chaveamentos indesejáveis que são gerados pela instabilidade dos sinais intermediários do circuito. A PCSL adiciona transistores redundantes em sua composição, visando alcançar a simetria da porta lógica e, assim, minimizar as discrepâncias capacitivas internas. Neste trabalho constata-se que a STTL e a PCSL possuem problemas que contribuem para a fuga de informações. A STTL possui um arranjo de transistores desbalanceados, enquanto a PCSL possui a instabilidade que a STTL se propõe a resolver. Dessa maneira, é introduzida a Balanced Triple Track Logic (BSTTL) que incorpora as duas estratégias e os seus benefícios. Para comprovar os benefícios da BSTTL, são utilizadas métricas da literatura que quantificam o nível de vulnerabilidades dos dispositivos e simulações elétricas. O trabalho apresenta estudos de casos utilizando tais métricas nas portas básicas And, Nand, Or, Nor e nos circuitos SBox 1 do DES e na Serpent Sbox do AES. Os resultados demonstram que circuitos implementados com a BSTTL chegam a ser 3.9x mais seguros que as versões com topologias antecessoras, com frequência de operação de 990KHz na Serpent e 350KHz na SBox do DES. Esses benefícios são obtidos ao custo de área e consumo.

(5)

ABSTRACT

LIMA, Vitor Gonçalves. Development of Topologic Countermeasure and Sizing Method Aiming Resilience Against Cryptographic DPA and DEMA Attacks. 2018. 63f. Dissertation (Master Degree in Computation) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas, 2018.

The cryptography is responsible to guarantee the data secrecy. Nowadays, the algorithms are public domain and the data security relies in cryptographic secret keys. Although, techniques have been developed aiming acquire these keys granting access to the secret information. Differential Power Analysis (DPA) is an attack technique that exploit the relation between the power consumption and the processed data. Aiming neutralize this threat, many countermeasures researches have been developed by scientific community. In this context, this work introduces an DPA countermeasure strategy applicate in VLSI technology. This strategy composes two consolidates topologies, the Secure Triple Track Logic (STTL) and the Pre-Charge Static Logic (PCSL). The STTL and PCSL are countermeasures in gate-level topologies that focus in consumption homogenization. STTL adds a validation track that signalizes when the inputs and outputs are stable and may be computed. It eliminates the undesirable switches generate by the instability in the intermediate signals of the circuit. The PCSL adds redundant transistors in its composition that aims reach the gate symmetry. Therefore, minimizing the internal capacitive discrepancies. Although, this work verified that STTL and PCSL have problems that implies in data-dependency. The STTL has an unbalanced transistors arrangement while the PCSL has the instability that STTL proposes to solve. This work introduces the Balanced Secure Triple Track Logic (BSTTL) that composes the STTL and PCSL strategies and benefits. To verify the BSTTL benefits, are used two community metrics that quantifies the devices DPA vulnerabilities and electric simulations. Additionally, these metrics are used in the basics gates And, Nand, Or and Nor and circuits DES SBox1 and AES Serpent Sbox as cases studies. The BSTTL reaches 3.9x safer than the previous topologies with frequency of operation of 990KHz in the Serpent and 350KHz in SBox of DES. These benefits are obtained through cost in circuit area and consumption.

(6)

LISTA DE FIGURAS

Figura 1 Diferentes Cartões Inteligentes baseados em contato: cartões de

créditos, cartão de saúde, cartão identidade e cartão SIM... 14

Figura 2 Consumo de Energia de uma Nand de duas entradas em tecnologia CMOS, para diferentes arcos de entradas... 15

Figura 3 Diagrama de blocos dos passos 2 ao 5 do ataque DPA... 19

Figura 4 DPPL trilha única NAND (esquerda) e AND (direita)... 26

Figura 5 Lógica Nand/And STTL... 28

Figura 6 Diagrama dos sinais de um inversor TDPL, onde, eixo Y representa Sinais de Entradas e Saídas e o eixo X representa etapas da lógica... 29

Figura 7 Circuito lógico da Nand/And TDPL... 30

Figura 8 Arranjo lógico da Nand/And PCSL... 31

Figura 9 Algoritmo baseado em Programação Linear para dimensionamento de transistores focando em segurança... 32

Figura 10 Fluxo para dimensionamento, considerando variação de processo e vulnerabilidade a ataques DPA... 34

Figura 11 porta lógica Nand e And STTL com Fluxos de Corrente e Capacitâncias, tendo, (a) representando a porta desbalanceada e (b) demonstrando a porta balanceada... 38

Figura 12 Etapas do algoritmo de dimensionamento proposto... 40

Figura 13 Agrupamento de transistores para NAND2 em diferentes topologias: (a) BSTTL, (b) STTL e (c) PCSL... 41

Figura 14 Fluxograma da etapa 2 do algoritmo que determina um tamanho mínimo aceitável. Onde os losangos representam os condicionais, os retângulos são os métodos implementados, a elipse representa o estado final da etapa e os índices em vermelho são os métodos que serão detalhados ao longo da seção... 42

(7)

Figura 15 Fluxograma da etapa 3, onde os losangos representam os condicionais, os retângulos são os métodos implementados, a elipse representa o estado final da etapa e os índices em vermelho são os métodos que estão detalhados ao longo da

seção... 47 Figura 16 Valores da métrica NSD para as fases de Pré-Carga e Lógica nas

topologias utilizadas como estudo de caso... 55 Figura 17 Valores da métrica NED para as fases de Pré-Carga e Lógica nas

(8)

LISTA DE TABELAS

Tabela 1 Resultados das simulações elétricas para diferentes topologias e

métricas... 54 Tabela 2 Resultados dos dimensionamentos das portas lógicas básicas nas

topologias BSTTL, STTL e PCSL e comparando-as entre si... 56 Tabela 3 Frequência de operação das portas básicas, Serpent e DES

SBoxes nas etapas de Pré-carga e

(9)

LISTA DE ABREVIATURAS E SIGLAS

AES Advanced Encryption Standard

ASIC Application-Specific Integrated Circuits BSTTL Balanced Secure Triple Track Logic

CMOS Complementary Metal–Oxide–Semiconductor DEMA Differential Electromagnetic Analysis

DES Data Encryption Standard DFA Differential Fault Attack DPA Differential Power Analysis DPL Dual-Rail Precharge Logic

DPPL Differential Pass-Transistor Precharge logic

DR Dual Rail

EDA Electronic Design Automation EPE Early Propagation Effects

FPGA Field-Programmable Gate Array

HD Hamming Distance

HDL Hardware Description Language

HW Hamming Weight

MTD Measurements to Disclosure NED Normalized Energy Deviation NSD Normalized Standard Deviation PAT Power-Attack Tolerance

PCSL Pre-Charge Static Logic SABL Sense Amplifier Based Logic

SBox Substitution-Box

SCA Side Channel Attacks

SIM Card Subscriber Identity Module Card SPA Simple Power Analysis

SPICE Simulated Program with Integrated Circuits Emphasis

SoC Systems-on-Chip

STD Standard Deviation of Energy STTL Secure Triple Track Logic

(10)

TA Timing Attacks

TDPL Three-phase Dual-rail Pre-charge Logic VLSI Very Large Scale Integration

(11)

SUMÁRIO

1 Introdução ... 11

1.1 Motivação ... 14

1.2 Objetivos ... 16

1.3 Organização do Trabalho ... 16

2 Análise Diferencial do Consumo de Energia ... 17

2.1 Escolha do resultado intermediário para execução do algoritmo ... 17

2.2 Obter os traços de consumo do dispositivo ... 18

2.3 Calcular valores hipotéticos intermediários ... 18

2.4 Mapear valores intermediários para valores hipotéticos de consumo de energia ... 20

2.5 Comparação dos valores de consumo de energia hipotética com os traços de consumo ... 20

2.6 Métricas para estimar vulnerabilidades ... 21

3 Trabalhos Relacionados ... 23

3.1 Contramedidas ... 23

3.1.1 Trilha Dupla (Dual-Rail – DR) ... 23

3.1.2 Lógica com Pré-carga em Trilha Dupla (Dual-Rail Precharge Logic – DPL) ... 23

3.2 Estratégias para homogeneizar o consumo de energia ... 25

3.2.1 Lógica Diferencial Baseada em Transistores de Passagem com Pré-carga (Differential Pass-Transistor Precharge logic – DPPL) ... 25

3.2.2 Lógica Segura em Trilha Tripla (Secure Triple Track Logic – STTL) .... 26

3.2.3 Lógica em Fases Triplas utilizando Trilha Dupla com Pré-carga (Three-phase Dual-rail Pre-charge Logic – TDPL) ... 28

3.2.4 Lógica com Pré-carga Estática (Pre-Charge Static Logic – PCSL) ... 30

3.3 Estratégias para Dimensionamento ... 31

3.3.1 Formulação de Programação Linear para Dimensionamento de Transistores focando Robustez ... 31

3.3.2 Análise e Atenuação dos Impactos pela Variação de Processo na Tolerância por Ataques de Potências ... 33

(12)

4.1 Lógica Segura em Trilha Tripla Balanceada (Balanced Secure Triple

Track Logic – BSTTL) ... 36

4.2 Dimensionamento ... 39

4.2.1 Etapa 1 – Separar Transistores em Agrupamentos ... 39

4.2.2 Etapa 2 – Convergir Dimensionamento para Tamanhos Mínimos ... 41

4.2.2.1 Estratégia Inicial do Algoritmo ... 42

4.2.2.2 Analisar Simulações e Calcular Menor Tamanho ... 44

4.2.2.3 Estratégia Algoritmo ... 44

4.2.3 Etapa 3 – Convergir Dimensionamentos para Maior Robustez ... 46

4.2.3.1 Estratégia Inicial do Algoritmo ... 47

4.2.3.2 Analisar Simulações e Calcular Menor Vulnerabilidade: ... 48

4.2.3.3 Estratégia do Algoritmo ... 49

4.2.4 Aplicação da Estratégia de Dimensionamento nas Portas Lógicas Básicas ... 50

5 Resultados ... 53

6 Conclusões ... 57 REFERÊNCIAS 59

(13)

1 Introdução

O termo criptologia tem sua origem no grego kryptos, que significa esconder ou segredo e, logia é um sufixo para ciência. Essa é uma ciência muito antiga e vem sofrendo uma revolução com a era da computação. A criptografia tem como objetivo garantir que mensagens sejam trocadas entre dois agentes através de um meio não seguro, de maneira que, apenas os envolvidos tenham acesso as informações. Adicionalmente, a criptografia tem como objetivo prover ferramentas para diferentes necessidades em segurança:

 autenticação: permitir a certificação das identidades dos agentes que desejam trocar informações;

 confidencialidade: garantir que os agentes possam trocar informações secretamente, onde, mesmo que hajam espiões, eles não estarão aptos a entender o sentido da informação;

 integridade: os agentes possam checar que a mensagem recebida não foi alterada ou modificada;

 não-repudiar: verificar que a informação enviada foi bem recebida.

Segundo LOMNE (2010), diferentes primitivas criptográficas e protocolos têm sido desenvolvidos para suprir essas demandas em segurança. Os cifradores são uma parte dessas primitivas e são utilizados para a confidencialidade da informação, os cifradores atuais são divididos em dois principais tipos de algoritmos: os simétricos e os assimétricos. Essas primitivas criptográficas podem ser utilizadas através de uma, ou mais, chaves criptográficas compartilhadas entre agentes autorizados. Isso significa que mesmo que os adversários possuam conhecimento do algoritmo que está sendo utilizado na comunicação, o mesmo não é capaz de entender as informações, se este não detiver a chave criptográfica. Esse princípio é bastante reconhecido pela comunidade que estuda e desenvolve os algoritmos de criptografia. Contudo, algumas companhias preferem desenvolver um cifrador próprio para os seus produtos, todavia, o algoritmo pode sofrer engenharia reversa e, dessa maneira, a criptografia ser totalmente quebrada.

As técnicas de ataques são denominadas de criptoanálises e exploram vulnerabilidades oriundas dos sistemas criptográficos. Essas técnicas são divididas em dois grandes grupos: criptoanalítico – estratégias que exploram as vulnerabilidades matemáticas dos algoritmos criptográficos, onde é analisada a

(14)

relação entre o texto claro1 e o texto cifrado2 e Ataque por Canais Laterais (Side

Channel Attacks – SCA) – exploram vulnerabilidades físicas dos dispositivos que implementam algoritmos criptográficos. Neste caso, exploram-se características como: (1) variação no tempo de execução; (2) consumo de energia e (3) radiação eletromagnética.

O ataque SCA foi proposto por Kocher (1996) através das análises por tempo de execução (Timing Attack – TA) (MAZUMDAR, et al., 2017) (KAR, et al., 2017), a partir de então, novas técnicas têm sido desenvolvidas. O Ataque por Indução a Falhas (Differential Fault Attack – DFA) (LIU, et al., 2017) (MAITRA, SIDDHANTI, SARKAR, 2017), o Ataque por Análise Simples de Potência (Simple Power Attack – SPA) (SARAVANAN, RAJADURAI, KALPANA, 2014) (GUPTA, et al., 2017) e o Ataque por Análise Diferencial de Potência (Differential Power Analysis - DPA) são exemplos de ataques SCA da literatura que obtiveram sucesso em adquirir a chave secreta criptográfica.

O ataque SPA é um ataque simples que utiliza um único traço para correlacionar a energia consumida pelo circuito digital com os dados que estão sendo processados. Em Kocher (1999) é demonstrado que diferentes operações aritméticas produzem diferentes traços de consumo no circuito, esses traços fornecem assinaturas de consumo específicas para cada operação realizada no circuito. O SPA analisa os traços de maneira simples, a partir da energia total consumida ou picos de consumo do circuito, e infere o valor da chave.

Análise Diferencial de Potência e Análise Diferencial Eletromagnética (Differential ElectroMagnetic Analysis – DEMA), são ataques SCA que correlacionam a chave criptográfica com o consumo elétrico dos dispositivos, enquanto os mesmos computam os dados. As estratégias desses dois ataques são feitas de maneiras análogas, diferenciando apenas na maneira como os traços de consumo são obtidos. No DPA, os traços são obtidos através de um resistor, de baixa resistência, em série a fonte de alimentação do dispositivo. Já o DEMA obtém os traços através de uma ponteira eletromagnética em uma região estratégica do circuito.

Em resposta ao surgimento dos ataques DPA/DEMA, técnicas foram desenvolvidas visando eliminar a relação de dependência existente entre o consumo

1 Texto claro é a transcrição original, legível, que não sofreu nenhuma modificação.

(15)

de energia e os dados processados. Essas estratégias são denominadas de contramedidas e são divididas em três categorias:

 Inserção de ruído – insere computações randômicas que não compõe a lógica de saída do dispositivo (DESSOUKY e SADEGHI, 2016);

 Mascaramento dos dados processados – com o intuito de desassociar o consumo com o dado processado, são inseridas operações antes ou depois dos módulos lógicos, que não contribuem à solução final (WANG, et al., 2016);

 Consumo uniforme – independente dos dados de entrada, o dispositivo sempre terá um consumo constante, para isso, são elaboradas estratégias em níveis de transistor, porta lógica e circuito (PANG, et al., 2015).

A maneira que o circuito é desenvolvido interfere diretamente no comportamento elétrico e consequentemente em sua fuga de informações. Características utilizadas em projetos tradicionais de Semicondutor de Metal-Óxido Complementar (Complementary Metal Oxide Semiconductor – CMOS), são indesejáveis quando se busca uma contramedida eficiente contra ataques DPA/DEMA. Algumas dessas estratégias indesejáveis, são:

 Chaveamento ocorrer em trilha única – variando os estímulos de entrada, a lógica produzirá consumos específicos para transições 0-1 e 1-0 que se refletirá no traço de consumo. O ideal, é que haja uma trilha adicional que sempre realize transições complementares, dessa maneira, o traço de consumo é desassociado com a operação lógica;

 Chaveamentos lógicos realizados pelos planos PFET e NFET – inserem comportamentos lógicos inerentes ao processo;

 Circuitos síncronos – esse paradigma de projeto facilita o algoritmo de ataque, permitindo determinar, quando as operações relevantes estão sendo realizadas no dispositivo, resultando em operações alinhadas ao longo do tempo.

Atualmente não há uma estratégia que elimine totalmente as vulnerabilidades do circuito. Porém, existem técnicas que minimizam o potencial de ataque ao circuito, forçando que o atacante utilize equipamentos com maior precisão. Adicionalmente, aumenta consideravelmente o número de medições de consumo, nesse trabalho denominado de traços de consumos, necessários para a realização de um ataque bem-sucedido.

(16)

1.1 Motivação

Com o avanço da microeletrônica é possível desenvolver sistemas complexos em um único circuito integrado (Systems-on-Chip – SoC), inclusive dispositivos criptográficos. Com essa evolução, tornou-se possível embarcar algoritmos e informações confidenciais em um único circuito eletrônico. Os cartões inteligentes (Smart Cards) e os Cartões Módulo de Identificação do Assinante (Subscriber Identity Module – SIM Cards), são aplicações reais de dispositivos que estão presentes no cotidiano. A Figura 1 demonstra alguns Smart Cards comerciais, onde a parte metálica é o contato para comunicação do circuito eletrônico e o restante do cartão é o invólucro de PVC ou policarbonato.

O ataque DPA/DEMA explora a dependência entre os dados processados com o consumo de energia de um dado dispositivo. A Figura 2 ilustra essa relação, através de simulações de uma NAND de duas entradas implementadas com tecnologia CMOS tecnologia de 45nm. As linhas tracejadas em tons de preto representam os consumos dos arcos3 ao longo do tempo e a linha tracejada vermelha

representa o desvio padrão ponto-a-ponto da potência. Adicionalmente, foram

3 Arcos – São todas as transições ocorridas ao alterar um bit de uma das entradas, que resulte na

transição lógica 0→1 ou 1→0, em uma ou mais saídas do dispositivo.

Figura 1 - Diferentes smart cards baseados em contato: cartões de créditos, cartão de saúde, cartão identidade e cartão SIM.

(17)

realizadas simulações com a ferramenta SPICE ( do inglês, Simulated Program with Integrated Circuits Emphasis – SPICE), na tecnologia preditiva FreePDK @45nm.

A partir da Figura 2, é possível perceber que ao alterar os estímulos de entrada, a porta lógica assume diferentes comportamentos elétricos. Dessa maneira, quanto maior a discrepância entre os arcos, representado pelo desvio padrão, mais vulnerável o dispositivo estará aos ataques.

Pesquisas foram desenvolvidas com objetivo de neutralizar os ataques DPA/DEMA, o autor RAZAFINDRAIBE, et al., (2007) propôs a Lógica Segura em Trilha Tripla (Secure Triple Track Logic – STTL. A STTL é uma estratégia em nível de porta lógica que adiciona uma trilha de validação, que sinaliza as portas subsequentes quando as saídas estão estáveis e podem ser computadas. Isso elimina os chaveamentos ocasionados pela instabilidade dos sinais intermediários. Esses chaveamentos são indesejáveis, já que, se alteram de acordo com os estímulos de entradas e refletem no consumo do dispositivo, diminuindo a sua homogeneização. Outra proposta é a Lógica com Pré-Carga Estática (Pre-Charge Static Logic – PCSL) que se propõe a realizar o balanceamento das capacitâncias e resistências internas através do rearranjo dos transistores (PANG, et al., 2015). Porém, foi constatado que a STTL possui um arranjo de transistores desbalanceado e, a PCSL não possui os

-550,00 -440,00 -330,00 -220,00 -110,00 0,00 110,00 220,00 330,00 440,00 0,00 0,50 1,00 1,50 2,00 2,50 Po tê nc ia (µ W ) tempo (ps)

a=1; b=1→0 a=1; b=0→1 a=1→0; b=1

a=0→1; b=1 Desvio Padrão

Figura 2 - Consumo de Energia de uma Nand de duas entradas em tecnologia CMOS, para diferentes arcos de entradas

(18)

sinais de validações que minimizam o efeito de chaveamento por propagação antecipada.

O trabalho proposto tem por motivação desenvolver uma nova contramedida contra ataques DPA baseada na STTL. Para isso, é utilizado o conceito de balanceamento da PCSL, com o objetivo de eliminar as assimetrias e o desbalanceamento da antecessora STTL. Dessa maneira, esse trabalho propõe um novo arranjo de transistores e uma estratégia de dimensionamento, em nível de transistores, que visa eliminar as vulnerabilidades proveniente do desbalanceamento, se beneficiando das qualidades de ambas as topologias e minimizando as suas desvantagens.

1.2 Objetivos

O presente trabalho tem como objetivo desenvolver uma nova topologia de transistores para concepção de portas lógicas visando a homogeneização do consumo de energia de modo a reduzir a ação de ataques DPA/DEMA. Para isso, a nova topologia combina benefícios de duas topologias predecessoras, a STTL (RAZAFINDRAIBE, et al., 2007) e a PCSL (CHONG, et al., 2015), com o intuito de minimizar as suas desvantagens. Adicionalmente é proposta uma metodologia de dimensionamento de transistores que é, idealmente aplicável, a qualquer biblioteca de portas lógicas que vise homogeneizar o consumo de energia de um circuito.

1.3 Organização do Trabalho

Este trabalho está dividido em cinco capítulos. O Capítulo 2 apresenta com detalhes os ataques DPA e DEMA, assim como, métricas que são utilizadas para medir o grau de vulnerabilidade de um dispositivo. No Capítulo 3 são discutidos os trabalhos relacionados considerando dimensionadores de transistores e importantes contramedidas, em nível lógico, utilizadas na comunidade científica. O Capítulo 4 discute a topologia e a técnica de dimensionamento propostas, assim como, a metodologia utilizada neste trabalho. O Capítulo 5 expõe os resultados obtidos, utilizando diferentes topologias e cenários como estudos de casos. Finalmente, o Capítulo 6 apresenta as conclusões obtidas, expondo as principais contribuições e o que se pretende fazer em trabalhos futuros.

(19)

2 Análise Diferencial do Consumo de Energia

O ataque DPA é o ataque mais popular na literatura dentre os SCA, isso se dá por não necessitar de conhecimento detalhado do dispositivo que está sendo atacado (MANGARD, et al., 2007). O objetivo do DPA é revelar a chave secreta dos algoritmos criptográficos executados em um dado dispositivo. Para isso, o ataque utiliza vários traços de consumos que obtidos a partir do dispositivo enquanto criptografa ou descriptografa informações. Através dos traços, são exploradas as dependências existentes entre os dados e o consumo de energia. O ataque DEMA funciona de maneira análoga, modificando apenas a grandeza a que se está monitorando e suas particularidades de aquisição.

Neste capítulo são expostas as etapas básicas que estão presentes na maioria das implementações DPA, utilizando como referência o texto base MANGARD, et al. (2007). Esse capítulo está dividido em seis tópicos que representam procedimentos necessários para a realização dos ataques. Os procedimentos são aplicados de forma sequencial, destacando a importância da etapa e como ela ocorre. Os passos necessários estão divididos, em: (1) escolha do resultado intermediário para execução do algoritmo; (2) obter os traços de consumo do dispositivo; (3) calcular os valores hipotéticos intermediários; (4) mapeando os valores intermediários para valores em consumo de potência e (5) comparando o consumo hipotético com o consumo dos traços de consumo. O sexto tópico não faz parte do procedimento para a realização do ataque. Esse tópico, expõe duas métricas da literatura que são utilizadas para quantificar o nível de vulnerabilidade de um dado dispositivo.

2.1 Escolha do resultado intermediário para execução do algoritmo

A primeira etapa de um ataque DPA é a escolha de um resultado intermediário, proveniente do algoritmo criptográfico atacado. Este valor intermediário precisa ser uma função f(d,k), em que, d é uma porção de bits que compõe o dado de entrada conhecido e não-constante, enquanto k é uma porção de bits que compõe a chave criptográfica. Resultados intermediários que preencham estas condições, podem ser usados para revelar k.

(20)

2.2 Obter os traços de consumo do dispositivo

A segunda etapa consiste em realizar medições dos consumos de energia do dispositivo criptográfico enquanto ele criptografa ou descriptografa um vetor de D diferentes dados de entrada. Dessa maneira, para cada execução que o algoritmo criptografa, ou descriptografa, o atacante precisa saber a entrada correspondente d. Esse valor, está relacionado com o cálculo dos valores intermediários, escolhidos na etapa descrita em 2.1. É necessário escrever os valores de entrada em um vetor D, sendo que, D = (d1, ..., dD)’, onde di denota o valor in da simulação de

criptografia/descriptografia.

Para cada simulação o atacante salva o traço de consumo correspondente a um dado de entrada Di, sendo expresso por: t’i = (ti,1, ..., ti,T), onde, T denota o

comprimento do traço. O atacante faz medição de cada traço para cada D dados de entrada e, consequentemente, o traço pode ser descrito em uma matriz T de tamanho DxT.

Ao realizar a obtenção dos traços de consumo, é importante para o ataque DPA que os pontos dos traços de consumo estejam corretamente alinhados. Isso significa, que os valores do consumo de energia de cada coluna Tj, da matriz T, sejam

resultados da mesma operação lógica do dispositivo. Dessa maneira, o disparo do osciloscópio ou o sinal para o começo da medição precisam ser gerados, de tal maneira, que garanta que as sequências de operações sejam salvas na respectiva coluna da matriz. Isso deve ocorrer para cada simulação de criptografia e descriptografia, caso esse requisito não seja respeitado, é necessário aplicar técnicas de alinhamento de sinais nos traços obtidos.

2.3 Calcular valores hipotéticos intermediários

O próximo passo do ataque é calcular o valor hipotético intermediário para cada possível valor de K. Tomando como exemplo a SBox (Substitution Box) do algoritmo Data Encryption Standard – DES que possui 6 bits de entrada, seria necessário criar um vetor de 26 possibilidades para K, ou seja, um vetor com 64

posições. No contexto do ataque DPA, K normalmente representa as chaves secretas de hipóteses.

(21)

Dado um vetor de entrada D e hipóteses de chaves K, um atacante pode calcular os valores intermediários hipotéticos f(d,k) para todas as simulações D e para todas as k hipóteses de chaves. Este cálculo, resulta em uma matriz V de tamanho

DxK. A Figura 3 ilustra um diagrama de blocos que representa a etapa 2 até a etapa 5 do ataque DPA.

De maneira resumida, essa etapa selecionará os valores hipotéticos intermediários que serão utilizados no ataque. Se baseando na etapa 1, foi escolhido o texto claro como valores de d, a matriz V é preenchida com os textos cifrados

Figura 3 - Diagrama de blocos dos passos 2 ao 5 do ataque DPA Fonte: MANGARD, 2007, pág. 122.

(22)

esperados para as respectivas entradas correspondentes. A matriz é composta, por: V[i,j]=f(di,kj), onde, di é cada valor do texto claro que é utilizado no ataque e kj cada

possível valor de chave. Tendo como exemplo uma SBox do DES, kj varia de 0 a 63,

a função f() é a saída esperada da respectiva SBox para entrada di e kj. Caso na etapa

1 seja escolhido o texto cifrado, as etapas funcionam de maneira análoga, onde, di é

o texto cifrado, kj representará as hipóteses de chaves e a função f() resultará na

relação entre cada texto cifrado de entrada com cada hipótese de mensagem.

2.4 Mapear valores intermediários para valores hipotéticos de consumo de energia

A próxima etapa consiste em mapear os valores hipotéticos intermediários V para a matriz de valores hipotéticos de potência H, conforme mostrado na Figura 3. Para isso, o atacante utiliza um modelo de consumo hipotético que visa estimar o consumo do dispositivo utilizando a quantidade de chaveamentos das saídas. Exemplos utilizados como modelos para circuitos CMOS, são: Peso Hamming (Hamming Weight – HW) e a Distância Hamming (Hamming Distance – HD). Essas técnicas são utilizadas para cada traço de consumo de energia, sendo que, para cada valor intermediário vi,j é feita uma estimativa. Esse cálculo é necessário para que se

obtenha o valor hipotético do consumo de energia hi,j. A qualidade da simulação varia

de acordo com o conhecimento que o atacante tem sobre o dispositivo analisado. Quanto mais próximo do real esses modelos forem ajustados, mais fácil será de convergir para a chave correta.

2.5 Comparação dos valores de consumo de energia hipotética com os traços de consumo

Após ter mapeado a matriz V para matriz H, a etapa final do ataque DPA pode ser realizada. Nessa etapa, cada coluna hi da matriz H é comparada com cada coluna

tj da matriz T. Isso significa, que o atacante compara o valor hipotético de potência de

cada hipótese de chave, com o traço de consumo para cada posição. O resultado dessa comparação será a matriz R de tamanho K x T, onde, cada elemento ri,j contém

o resultado da relação entre as colunas hi e tj. A comparação é feita baseada em

algoritmos de ataques, como por exemplo, o ataque DPA de Segunda Ordem (MANGARD, et al., 2007).

(23)

2.6 Métricas para estimar vulnerabilidades

É necessário definir métricas para estimar o nível de homogeneização do consumo de energia de um dado dispositivo. Esses valores são importantes para auxiliar o algoritmo de dimensionamento permitindo quantificar o nível de vulnerabilidade a ataques DPA e DEMA que cada topologia provê. Adicionalmente, esses valores são utilizados para estabelecer o ranking4 entre a topologia proposta e

outras estratégias da literatura, estratégias essas, que são utilizadas como estudo de caso nesse trabalho.

As métricas Variação Padrão Normalizada (Normalized Standard Deviation – NSD) e o Desvio Padrão de Energia Normalizado (Normalized Energy Deviation – NED) são amplamente utilizadas na literatura para determinar o nível de vulnerabilidade de um dispositivo (BUCCI, GIANCANE, TRIFILETTI, 2006) (PANG, et al, 2015) (SHINU, KUMAR, 2012). A Equação (1) demonstra o cálculo do consumo de energia por ciclo. O NED, expressa pela Equação (2), representa a variação de energia normalizada entre os picos mínimo e máximo dos arcos. Enquanto NSD, estabelece uma relação entre o desvio padrão de energia e a média dos consumos, a fórmula matemática está definida na Equação (3).

𝐸 = 𝑉 𝐼 (𝑡)𝑑 (1)

E é a energia total consumida no ciclo ao computar um dado arco de entrada, Vdd

expressa a tensão elétrica nominal e Idd corresponde a corrente elétrica em Vdd.

𝑁𝐸𝐷 =𝑚𝑎𝑥(𝐸) − 𝑚𝑖𝑛(𝐸)

𝑚𝑎𝑥(𝐸) (2)

max(E) é o consumo máximo de Energia (E) dentre todos os arcos e min(E) expressa o consumo mínimo de Energia (E) dentre todos os arcos.

𝑁𝑆𝐷 =𝜎

𝐸 (3)

(24)

𝜎 expressa o desvio padrão de Energia (E) entre todos os arcos e o 𝐸 é amédia aritmética de Energia (E) entre os arcos.

Em geral, os ataques exploram informações obtidas pela análise das variações de características elétricas dos dispositivos, enquanto eles realizam a criptografia ou a descriptografia. As métricas NSD e NED indicam a homogeneização de energia de um dado dispositivo. A seguir temos um capítulo responsável por expor dois importantes conceitos de contramedida a ataques DPA e DEMA e os principais trabalhos relacionados.

(25)

3 Trabalhos Relacionados

Esse capítulo é responsável por apresentar trabalhos relacionados com o trabalho proposto. Os trabalhos serão divididos em duas subseções: estratégias que se propõem minimizar as fugas de informações, aqui referido como contramedidas, e técnicas de dimensionamento encontradas na literatura.

3.1 Contramedidas

Os ataques DPA funcionam porque a energia consumida pelos dispositivos criptográficos depende dos valores intermediários processados pelos algoritmos (MANGARD, et al., 2007), gerando assim, um traço de consumo correspondente a quantidade de computações. Dessa maneira, o objetivo principal das contramedidas é remover as dependências entre os valores processados e o consumo de energia.

Esta Seção demonstrará as principais características das contramedidas e as vulnerabilidades que elas se propõem a minimizar. Nesse trabalho serão consideradas apenas as vulnerabilidades voltadas a ataques DPA e DEMA.

3.1.1 Trilha Dupla (Dual-Rail – DR)

DR é uma importante proposta de codificação de informações que se aplica em paradigmas síncronos e assíncronos, sendo utilizado por muitos trabalhos encontrados na literatura, como exemplos SOARES, et al. (2008) DANGER, et al. (2009) PANG, et al. (2015). A lógica, consiste em todas as trilhas chavearem na lógica direta e em uma lógica complementar, em duas trilhas distintas. Essa estratégia faz com que haja uma importante homogeneização no consumo de energia do circuito, já que, para todo sinal que chavear de 1-0, haverá um sinal complementar correspondente que variará de 0-1 e vice-versa.

3.1.2 Lógica com Pré-carga em Trilha Dupla (Dual-Rail Precharge Logic – DPL)

Essa é uma técnica de codificação da informação baseada em Trilha Dupla e funciona de maneira análoga à sua antecessora, possuindo duas diferenças: (1) a DPL é projetada para que a lógica combinacional do dispositivo se concentre em

(26)

apenas um plano, NMOS ou PMOS. Isso garante que não ocorram variações no consumo de energia inerentes de cada plano FET e (2) o plano complementar ao utilizado em (1), é utilizado para levar todo o circuito para uma condição inicial que é igual para qualquer dado processado. Isso garante que todos os arcos terão estados iniciais iguais e, assim, removendo as cargas internas residuais da computação anterior. Considerando que são as diferenças de consumo as responsáveis pelas vulnerabilidades exploradas nos ataques DPA, como resultado, essa estratégia aumenta consideravelmente a robustez do circuito (DANGER, 2009).

Este estilo lógico possui as mesmas vantagens da Trilha Dupla tradicional, com benefícios adicionais. Porém, para que seja possível implementar a sua lógica, é necessário adicionar o comportamento lógico denominado de pré-carga. Como não há planos complementares para fazer as transições 1-0 e 0-1, o circuito realiza uma computação e fica impossibilitado de computar novas transições mantendo a integridade lógica dos dados. Dessa maneira, é necessário que haja uma lógica complementar que retorne todo o circuito para um estado inicial, esse mecanismo é denominado pré-carga. Um importante trabalho foi realizado por (DANGER, et al., 2009) comparando as principais estratégias DPL da época, evidenciando as suas principais características e contribuições contra diferentes ataques SCA.

Além de evitar as vulnerabilidades oriundas da utilização de ambos os planos CMOS, a etapa de pré-carga fornece outros benefícios no âmbito de contramedidas a ataques SCA. Estas vantagens são:

 Diminuição no número de arcos de entradas válidas para geração de traços de consumos – os possíveis arcos de entradas são calculados através da tabela verdade, nas outras topologias, para cada transição no bit de entrada, que gera chaveamento 0↔1 na saída, são somados dois arcos. Na DPL, o valor inicial sempre será 0. Dessa maneira, o número de arcos é o próprio número de entradas;

 Estado elétrico interno do dispositivo5 – ao aplicar a etapa de pré-carga todas

as cargas elétricas internas são levadas para 0, isso elimina as cargas residuais provenientes de computações anteriores e, consequentemente, reduz a fuga de informação;

 Eliminação de estados anteriores para geração de traços de consumos – na metodologia complementar e na trilha dupla, o estado anterior é indiferente

(27)

para a computação da lógica do circuito. Dessa maneira, além dos arcos citados em (1), é possível computar o estado atual a partir de diferentes estados anteriores. Considerando a SBox 1 do DES (BIHAM, SHAMIR, 1993) como exemplo, para cada uma das 64 entradas, existem 64 possíveis estados anteriores a entrada efetiva. Isso gera comportamentos elétricos desejáveis nos ataques, como demonstrado em (2).

3.2 Estratégias para homogeneizar o consumo de energia

Como demonstrado nas Seções anteriores, a DR e a DPL são metodologias robustas para ataques DPA, mas essas estratégias não eliminam completamente as vulnerabilidades exploradas nos ataques. Um dos fatores que contribui para variação no consumo é a maneira que o sinal se propaga pelo circuito, como demonstrado na Figura 2. Variando os estímulos de entradas, o sinal é propagado com diferentes tempos pela porta lógica, esse efeito vai se acumulando ao longo do circuito e geram características únicas que são exploráveis pelo algoritmo de ataque.

3.2.1 Lógica Diferencial Baseada em Transistores de Passagem com Pré-carga (Differential Pass-Transistor Precharge logic – DPPL)

Em PANG, et al. (2015) foi desenvolvido um novo estilo lógico para contramedida de ataques DPA/DEMA chamada DPPL, focando na homogeneização do consumo de energia e eliminar Efeitos de Propagação Antecipada (Early Propagation Effects – EPE). Nessa metodologia é usada a lógica utilizando transistores de passagem em um circuito assíncrono, com estilo lógico DPL e concentra a etapa lógica no plano N e a pré-carga no plano P.

O trabalho contribui com uma nova proposta de contramedida ao utilizar um arranjo com transistores de passagem. A Figura 4 demonstra a porta lógica Nand e And DPPL em uma versão simplificada em trilha única. A letra N representa os transistores NFet e a letra P representa os PFet. Adicionalmente, o Vdd representa a alimentação do circuito e Y representa a saída, pelo qual, a pré-carga se dá pelos transistores do tipo P, ocorrendo quando as entradas A, A, B e B são iguais a 0. A lógica principal se dá nos transistores N5 e N6, os outros 4 transistores NMOS são utilizados para evitar efeitos de EPE.

(28)

O autor confirma os resultados através de simulações SPICE e utiliza a tecnologia SMIC 0.18μm. Os resultados são obtidos através da comparação da estratégia proposta com outras duas topologias, a SCELL, composta por Bibliotecas de Células (Standard Cells), e a Lógica Modular Dinâmica e Diferencial (Wave Dynamic Differential Logic – WDDL) (TIRI, VERBAUWHEDE, 2004). O trabalho compara as áreas dos circuitos através do número de transistores das portas básicas, tendo o grau de vulnerabilidade calculado através de métricas utilizadas na literatura: NED e Desvio Padrão Normalizado (Standard Deviation of Energy – STD) de energia e Consumo Energético Médio. Em comparação a SCELL, a DPPL apresentou melhorias na homogeneização do consumo, ao considerar NED a DPPL obteve melhoras entre 16 a 25 vezes, de 11,4 a 23,4 vezes ao considerar STD(E) e um aumento do consumo de energia variando entre 1.8 a 6.9 vezes. Quando comparada a WDDL, a proposta obteve ganhos variando entre 1.6 e 2.2 vezes em NED, 1.5 vezes em STD(E) com aumento de consumo de 43%.

Figura 4 - DPPL trilha única NAND (esquerda) e AND (direita) Fonte: Pang X. et al., 2015, pág. 1

3.2.2 Lógica Segura em Trilha Tripla (Secure Triple Track Logic – STTL) Um trabalho foi desenvolvido por RAZAFINDRAIBE, et al. (2007) para eliminar os EPE nos circuitos. Diferentemente da DPPL, que busca eliminar os EPE através da adição de transistores utilizando apenas as trilhas composta na lógica DPL. A STTL adiciona uma terceira trilha em sua lógica, que é mais lenta que as saídas lógicas, e é responsável por sinalizar quando os sinais estão estáveis. Dessa maneira, a topologia STTL foi a primeira a utilizar um sinal de validade para diminuir a dependência de dados focando a homogeneização de consumo. STTL é uma

(29)

estratégia em nível de porta lógica que adiciona uma trilha extra para cada entrada e saída do circuito. A lógica reside em: a porta subsequente só realizará as suas operações quando todos os sinais de entrada estiverem sido sinalizados que estão prontos para serem computados. Adicionalmente, essa porta informará as portas subsequentes quando as suas saídas estão estáveis, esse processo se repete por todo o circuito, garantindo assim, que as variações nos atrasos sejam concentradas apenas nas portas.

A técnica em trilha tripla adiciona uma complexidade significativo no circuito. Na etapa de projeto das portas lógicas, é necessário que os sinais de validade sempre sejam gerados depois da estabilidade dos sinais lógico, independente dos estímulos das entradas. A técnica DR dobra o número de entradas e saídas, a metodologia em Trilha Tripla triplica o número de entradas e saídas, refletindo diretamente na área do circuito.

Essa metodologia não é verdadeiramente uma implementação de codificação em trilha tripla, já que, a codificação adicional não contém informações relevantes para a computação da lógica da porta. Mesmo assim, essa é uma implementação muito relevante no ponto de vista de segurança, a Figura 5 representa o arranjo de transistores da porta lógica And/Nand STTL, onde, Ax e Bx são as entradas e Sx

simboliza as saídas, sendo que, x representa três possíveis sinais: 1 – a lógica direta; 0 – a lógica complementar e V – o sinal extra de validação.

A topologia STTL é desenvolvida com o estilo lógico DPL, sendo que, os transistores PFet são utilizados para a etapa de pré-carga e os NFet são utilizados para etapa lógica. Adicionalmente, nessa topologia o sinal de pré-carga é propagado de maneira sequencial ao longo do circuito, gerando um atraso muito maior que as topologias que o fazem paralelamente. Os sinais S0 e S1 representam as saídas

complementar e direta, respectivamente. Na

Figura 5 – Arranjo lógico Nand/And STTLas portas lógicas com fundo cinza, são

portas CMOS tradicionais que são utilizadas na composição da lógica do circuito, os inversores compõem latches que são usados para manter o sinal em 1 lógico. Observando a Figura 5, pode-se observar que a topologia STTL é muito que a tradicional, enquanto a Nand tradicional possui 4 transistores, a mesma porta STTL possui 27 transistores. SOARES, et al. (2008) propõem uma metodologia STTL para ser utilizada em FPGA. Dessa maneira, a STTL é uma estratégia que se aplica tanto em ASIC, quanto em FPGA.

(30)

Figura 5 – Arranjo lógico Nand/And STTL. Fonte: RAZAFINDRAIBE, et al., 2007, pág. 4.

3.2.3 Lógica em Fases Triplas utilizando Trilha Dupla com Pré-carga (Three-phase Dual-rail Pre-charge Logic – TDPL)

Em BUCCI, et al. (2006) foi realizado um trabalho que propõe um aperfeiçoamento da Lógica Baseada em Amplificadores Sensitivos (Sense Amplifier Based Logic – SABL). Essa nova topologia é chamada de TDPL e sua estratégia consiste em dividir a lógica das portas em três fases. As duas primeiras fases são iguais as etapas de pré-carga e lógica da DPL e a terceira fase é responsável pela descarga. Ao contrário da STTL, a etapa de pré-carga dessa porta eleva os sinais de saídas para 1 lógico, enquanto a STTL é levada para o valor 0 lógico. A Figura 6 representa a lógica nos sinais de entradas e saídas em um inversor implementado com TDPL. Os passos abaixo demonstram o que ocorre em cada uma das 3 etapas, pré-carga, lógica e descarga.

1. Pré-carga: No início de cada ciclo os sinais de descarga e o sinal de Carregamento vão pra 0 lógico e ambas as saídas vão para 1 lógico. 2. Lógico: Durante a etapa de pré-carga as novas entradas (entrada e

entrada) são estimulados no circuito. Na borda de subida do sinal de Carregamento são processados os sinais de entradas e a saída correspondente é chaveada de acordo com a lógica da porta.

(31)

3. Descarga: No final de cada computação lógica, a entrada descarga é sinalizada com 1 lógico, levando a saída que ainda não havia sido chaveada para 0.

Figura 6 - Diagrama dos sinais de um inversor TDPL, onde, eixo Y representa Sinais de Entradas e Saídas e o eixo X o tempo.

Fonte: BUCCI, 2006, pág. 235.

Figura 7 representa o arranjo de transistores para a Nand/And TDPL. A porta possui os mesmos sinais descritos acima, adicionando apenas a lógica extra que representa uma entrada extra do inversor para Nand/And. Na figura, o Vdd representa

a alimentação do circuito e o símbolo “▼” representa o “Ground” ou 0 lógico, os transistores PMOS são representados pela letra P, enquanto os NMOS são simbolizados pela letra N. Como resultados, foram utilizadas as portas básicas e um somador completo como estudo de caso. O autor obteve aproximadamente dez vezes mais homogeneidade no consumo de energia, considerando NSD e NED, detalhadas na Seção 2.6, com um aumento de consumo variando entre 33% e 49%, em relação a antecessora SABL.

(32)

Figura 7 - Circuito lógico da Nand/And TDPL Fonte: BUCCI, 2006, pág. 236.

3.2.4 Lógica com Pré-carga Estática (Pre-Charge Static Logic – PCSL) Uma nova topologia DPL que utiliza o balanceamento do circuito como uma maneira para aumentar a robustez contra ataques DPA foi proposta por CHONG, et al. (2015). A Figura 8 representa o arranjo lógico para Nand/And PCSL, os transistores que foram inseridos para equilibrar as capacitâncias são simbolizados com asterisco (*). Além disso, o sinal REQ determina se está sendo computada a etapa de pré-carga ou lógica. Os resultados foram gerados atacando uma SBox de 6 bits e através de simulações SPICE. O autor demonstra que a porta balanceada é robusta contra ataques DPA, porém essa metodologia não é completamente balanceada. Ao variar os arcos de entrada, a corrente propagará pela mesma capacitância, mas por diferentes caminhos. No plano N e no fluxo de saída 𝑄, a corrente se divide e propaga por 𝐴 e 𝐵 quando ambas forem 0 e por apenas uma delas quando apenas uma estiver 0. Esse efeito ocorre de maneira análoga no plano P, no fluxo de saída Q e com as entradas A e B.

(33)

Figura 8 - Arranjo lógico da Nand/And PCSL Fonte: CHONG, 2015, pág. 2.

3.3 Estratégias para Dimensionamento

Os tamanhos dos transistores interferem diretamente no comportamento elétrico que o circuito terá. Frequência de operação, consumo dinâmico e consumo estático são exemplos que estão associados diretamente ao dimensionamento dos transistores. Um único transistor pode assumir uma quantidade exorbitante de possíveis tamanhos. Além disso, o dimensionamento ótimo6 possui uma

complexidade computacional exponencial com o número de transistores que se deseja dimensionar. Dessa maneira, técnicas e metodologias são desenvolvidas para se obter um dimensionamento aceitável com uma complexidade tangível. Vários trabalhos com diferentes estratégias e objetivos para dimensionamento foram reunidos por BHATTACHARYA, RANGANATHAN (2008). Técnicas também foram elaboradas focando o dimensionamento dos transistores visando minimizar as vulnerabilidades exploradas nos ataques DPA. Essa Seção expõe duas importantes metodologias de dimensionamento encontradas na literatura.

3.3.1 Formulação de Programação Linear para Dimensionamento de Transistores focando Robustez

6 Dimensionamento ótimo significa os melhores tamanhos possíveis para os transistores.

1*

A

0

B

0

A

1

B1

0*

0*

A

1

B1 1*

B

0

A

0

R

R

R

S

0

S

1 Vdd Vdd

(34)

Essa estratégia se baseia nas bibliotecas padrões CMOS para um dimensionamento inicial e a partir delas aplica o redimensionamento. Na segunda etapa, são calculadas as probabilidades de chaveamentos dos nós do circuito para cada entrada possível. Então, baseado na probabilidade de chaveamento e nas capacitâncias em cada nó do circuito, é aplicado um algoritmo de dimensionamento com programação linear gulosa que definirá o tamanho de cada transistor do circuito (BHATTACHARYA, RANGANATHAN, 2008).

A Figura 9 representa as etapas propostas pelo autor para realizar o dimensionamento dos transistores, onde CPSA representa as Atividades de Chaveamento Acumulativas dos Caminhos (do inglês, Cumulative Path Switching Activity) e NEOS é uma ferramenta para otimizações matemáticas.

1 Mapeamento da tecnologia para a estrutura do netlist 2 Representar a estrutura do arranjo como um grafo

3 Estimar CPSA de todas as conexões para ordenar os nodos de saídas 4 Repetir

5 Determinar um par de caminhos disjuntos escolhidos gulosamente, marcando os nodos internos dos caminhos

6 Garantir que nenhum dos caminhos é um caminho falso

7 Adicionar o termo para a função objetiva correspondente para encontrar os caminhos disjuntos

8 Deletar os nodos do grafo correspondentes nos caminhos disjuntos encontrados, senão desmarcar os nodos

9 Até (grafo vazio OU nenhum caminho disjunto encontrado) 10 Adicionar nodos baseados nos tempos

11 Adicionar termos na função objetiva para Atraso e Consumo

12 Dimensionar as portas lógicas resolvendo a Programação Linear correspondente utilizando servidor resolvedor NEOS

13 Gerar dimensionamento do arranjo do netlist

Figura 9 - Algoritmo baseado em Programação Linear para dimensionamento de transistores focando em segurança

Adaptado de: BHATTACHARYA, RANGANATHAN, 2008, pág. 4.

O autor comparou os resultados com um dimensionador de transistores baseado em programação linear que tem como objetivo otimizar área e atraso do circuito, os algoritmos foram aplicados nos circuitos do benchmark ISCAS85. Considerando o benchmark, a nova proposta obteve em média: 40% de ganho em

(35)

robustez contra ataques DPA, 6,4% de aumento no atraso, 7,9% no aumento de consumo e 11,8% de aumento na área do circuito.

3.3.2 Análise e Atenuação dos Impactos pela Variação de Processo na Tolerância por Ataques de Potências

Outra estratégia de dimensionamento voltada para segurança contra ataques DPA foi proposto por LIN, et al. (2009). O autor propõe uma métrica para cálculo da vulnerabilidade no consumo dinâmico e consumo estático baseado nas dependências de consumos com os dados processados decorrentes das variações de processos. A métrica Power-Attack Tolerance – PAT é definida por 𝑃𝐴𝑇 = . O algoritmo proposto também utiliza Measurements to Disclosure – MTD, esse valor representa o número de traços de consumo necessários para que o ataque seja bem-sucedido.

A Figura 10 representa as etapas propostas pelo autor, a partir do circuito em formato Linguagem de Descrição de Hardware (Hardware Description Language – HDL) e de tamanhos de transistores não otimizados, o algoritmo redimensiona o circuito pelo número de traços necessários para descobrir a chave secreta. Para cada iteração que o circuito não obtém um MTD satisfatório, ele redimensiona o nodo do circuito que possui a maior capacitância considerando o valor de PAT. Comparando com um dimensionamento não otimizado, o trabalho teve 40% de ganho ao utilizar o DES.

(36)

Figura 10 - Fluxo para dimensionamento, considerando variação de processo e vulnerabilidade a ataques DPA.

(37)

4 Trabalho Proposto

Os ataques DPA, cuja as etapas básicas estão descritas na Seção 2, exploram a correlação entre o consumo de energia com as operações que os dispositivos realizam. Os atacantes utilizam essas características para obter informações confidenciais dos dispositivos criptográficos, quanto maior for a variação e as discrepâncias nos traços de consumo, mais suscetível os dispositivos estarão aos ataques. Dessa maneira, se houvesse uma contramedida que homogeneizasse completamente o consumo, independente das entradas do circuito, não seria possível realizar ataques DPA/DEMA.

Existem diversos fatores que contribuem para o desbalanceamento. As causas variam desde motivos intrínsecos do processo de fabricação da tecnologia, como, por exemplo, a variabilidade do processo, até um arranjo de transistores que não favoreça a homogeneização de consumo. Dado isso, alguns elementos que geram vulnerabilidades não são possíveis de serem completamente eliminados. Dessa maneira, é necessário que sejam aplicadas técnicas para minimizá-las a ponto de não permitir fugas de informações suficientes para que sejam realizados os ataques. Este capítulo expõe as duas novas contribuições propostas nesse trabalho: um arranjo de porta balanceada e uma técnica de dimensionamento voltada a segurança contra DPA.

A etapa de dimensionamento é uma etapa chave no desenvolvimento de um projeto. Essa etapa é responsável por definir os tamanhos dos transistores, pelos quais, possuem uma relação direta com: área, frequência de operação e consumo dos dispositivos. Adicionalmente, o dimensionamento interfere no comportamento elétrico que o componente possui, e consequentemente, na relação entre o dado processado e o consumo de energia.

O dimensionamento não é uma tarefa trivial, o arranjo de transistores, as características da rampa dos estímulos das entradas, as capacitâncias internas e as capacitâncias relativas aos dispositivos interligados nas entradas e saídas, influenciam no comportamento elétrico. Esse valor altera o comportamento interno da porta e, possivelmente, com as portas que a antecedem e a sucedem. Essas outras portas, por sua vez, podem precisar ser redimensionadas e gerar problemas nos componentes conectados em suas entradas e saídas, criando um problema encadeado.

(38)

Aliado aos problemas citados, há a necessidade de criar um dimensionamento que beneficie a homogeneização do consumo de energia. Nesse sentido, técnicas foram desenvolvidas pela comunidade visando suprir essa demanda (BHATTACHARYA, RANGANATHAN, 2008) (LIN, et al., 2009). Essas metodologias foram desenvolvidas visando especificamente o dimensionamento de transistores considerando o arranjo do circuito. Como resultado, são obtidos diversos dimensionamentos distintos para a mesma porta lógica. Dessa maneira, o uso de ferramentas para automatização do Projeto de Circuitos Integrados (Electronic Design Automation – EDA) utilizando as Bibliotecas de Células (Standard Cells) é inviabilizado.

4.1 Lógica Segura em Trilha Tripla Balanceada (Balanced Secure Triple Track Logic

– BSTTL)

A BSTTL é uma topologia que consiste em combinar os benefícios dos estilos lógicos STTL (RAZAFINDRAIBE, et al., 2007) e PCSL (CHONG, et al., 2015). Deste modo, a partir da topologia da lógica STTL são inseridos transistores adicionais a fim de obter o balanceamento da mesma, tal como a estratégia usada na lógica PCSL.

A Figura 11 demonstra os comportamentos de desbalanceamento citados anteriormente para as portas Nand e And de duas entradas com os fluxos de correntes e capacitâncias para cada nó. As propagações de correntes estão representadas pelas linhas coloridas e tracejadas para todos os possíveis valores de entrada, onde cada valor de entrada é representada por uma coloração e um tracejamento distinto, as relações entre as mesmas estão representadas nas tabelas de Lógicas e Pré-cargas das imagens. A Figura 11 (a) representa a STTL clássica e a Figura 11 (b) representa a BSTTL.

Levando em consideração a Figura 11 (a) observa-se que todas as capacitâncias dos fios do Plano N, de C1 a C3, são assimétricas e desbalanceadas.

Sem considerar os transistores das portas lógicas CMOS, a capacitância C1 é definida

pelo nó de 3 transistores enquanto a capacitância C2 é definida pela junção de apenas

2 transistores. Adicionalmente, a capacitância C3 existe apenas no fluxo S0, não

havendo uma correspondente em S1. Analisando a Figura 11 (b) é possível observar

(39)

conceitualmente iguais, para cada capacitância de um dos lados existe uma capacitância igual no lado oposto.

Ainda analisando a Figura 11, pode-se observar que as entradas interferem nos caminhos que os fluxos de correntes propagam. Cada tracejamento e cada coloração representa uma das quatro possíveis entradas das portas. Considerando o que foi exposto e a Figura 11 (a), é possível observar que a corrente flui em 3 diferentes cenários:

1. No primeiro arco, onde A=1 e B=1, a propagação ocorre através de 3 transistores sem se dividir;

2. Nos arcos 2 e 4, quando as entradas são A=1, B=0 e A=0, B=1 o fluxo ocorre em uma propagação contínua através de 2 transistores;

3. Esse arco ocorre quando A=0 e B=0, a corrente é dividida e propagada através de 2 transistores em 2 caminhos distintos.

Esses comportamentos não se aplicam na porta demonstrada na imagem (b), onde, independente dos valores de entrada a corrente sempre propagará em um fluxo contínuo e por 3 transistores. Os fluxos de correntes, que são características elétricas, evidenciam o que está sendo processado no circuito, facilitando consideravelmente, o sucesso do atacante. Entretanto, o balanceamento possui um custo. Foram necessários adicionar 8 transistores e 2 fluxos inatingíveis para a lógica do circuito. Esses caminhos estão representados pelas duas linhas contínuas em vermelho da Figura 11 (b). A BSTTL é uma porta mais segura contra ataques DPA, porém, as portas básicas Nand/And e Nor/Or BSTTL passam de 27 transistores, da STTL, para 35 transistores, representando um aumento de 29,6% no número de transistores.

(40)

Av Bv Sv S0 S1 A v Bv A1 B1 A0 A v Bv B0 C1 C2 C3 C4 F a se P ro ce ss a m e n to A = 0 , B = 1 A = 0 , B = 0 A = 1 , B = 0 A = 1 , B = 1 F a se P ré -c a rg a Av = 0 , B v = 0 F lu xo C o rr e n te 2 T ra n s . 1 2 T ra n s . 2 2 T ra n s . 1 3 T ra n s . 1 1 – N ã o D iv id e 2 – D iv id e F a se P ro ce ss a m e n to E s ta d o Im p o s sí ve l Av Bv C2 A1 B1 C2 0 C2 C2 A0 B1 C2 A0 B0 C2 A1 B0 0 0 0 A v B v C4 C1 A v B v C4 Sv S0 S1 C1 C3 F ig u ra 1 1 – p or ta ló g ic a N a nd e A n d S T T L co m F lu xo s de C o rr e n te e C ap ac itâ nc ia s, t en d o , (a ) re pr es e n ta n do a p or ta d e sb a la nc e a d a e ( b ) d e m on st ra n do a po rt a b al a nc ea da (a ) (b )

(41)

4.2 Dimensionamento

Uma das contribuições deste trabalho é proposta de um algoritmo guloso para o dimensionamento de transistores, em nível de portas lógicas, compatível com a utilização de ferramentas EDA. O algoritmo funciona basicamente em três etapas, sendo representadas pela Figura 12. Estas etapas são sumarizadas como segue:

1. A primeira etapa organiza o arranjo de transistores em agrupamentos de forma estratégica. Essa estratégia, visa garantir que os agrupamentos sejam feitos, de forma que todas as entradas da porta lógica estejam conectadas em transistores que tenham os mesmos tamanhos. Além disso, a estratégia visa garantir que ambos os caminhos, com lógicas complementar e direta, possuam transistores com o mesmo dimensionamento;

2. A partir desses agrupamentos, na segunda etapa são realizadas simulações elétricas SPICE para determinar o dimensionamento mínimo7 dos agrupamentos, que garantam que as portas chaveiem

mantendo a lógica correta;

3. Como etapa final, após definir os dimensionamentos mínimos, o algoritmo busca convergir o dimensionamento para a maior segurança.

4.2.1 Etapa 1 – Separar Transistores em Agrupamentos

Essa etapa reduz consideravelmente a complexidade do algoritmo e, nas metodologias balanceadas BSTTL e PCSL, os agrupamentos possuem o benefício adicional de garantir a equivalência dos efeitos capacitivos e resistivos internos. No caso da STTL, o agrupamento e o algoritmo minimizam os desbalanceamentos provenientes da assimetria do arranjo dos transistores. Além disso, o número de agrupamentos possui uma relação exponencial na complexidade do algoritmo, dessa maneira, é desejável que haja uma quantidade limitada de agrupamentos.

A Figura 13 ilustra os agrupamentos, logicamente reduzidos8, de uma NAND2

para cada topologia utilizada nesse trabalho. As linhas coloridas e tracejadas

7 Dimensionamento mínimo é o menor tamanho encontrado pelo algoritmo, não necessariamente com

os menores tamanhos possíveis, mas sim, um dimensionamento resultante aceitável.

8 Foram removidas as portas lógicas CMOS tradicionais. O dimensionamento dessas portas são feitas

(42)

representam os agrupamentos dos arranjos de transistores, onde: a Figura 13 (a) representa a BSTTL com 4 agrupamentos, a Figura 13 (b) representa a STTL com 5 agrupamentos de transistores e a Figura 13 (c) representa a PCSL com 4 agrupamentos. Todos os transistores de cada agrupamento funcionam como unidades únicas, isso implica em: (1) possuem a mesma largura em todas as etapas do algoritmo; (2) todas as alterações são realizadas em todos os transistores simultaneamente e (3) agrupamentos diferentes podem possuir dimensionamentos distintos.

Figura 12 - Etapas do algoritmo de dimensionamento proposto

Etapa 2:

Convergir Dimensionamentos para Tamanhos Mínimos

Solução Etapa 3:

Convergir Dimensionamentos para Maior Robustez

Etapa 1:

Separar Transistores em Agrupamentos

Arranjo Transistores

(43)

(a) (b) (c)

4.2.2 Etapa 2 – Convergir Dimensionamento para Tamanhos Mínimos O algoritmo proposto tem como objetivo ser aplicável em qualquer topologia focada em segurança contra ataques DPA. Isso não é uma tarefa trivial, já que, existem diferentes estratégias para homogeneizar o consumo de energia. Alguns exemplos de lógicas, são: dinâmica e dominó (TIRI, VERBAUWHEDE, 2004), com transistores de passagem (PANG, et al., 2015); DPL (DANGER, 2009) e trilhas extras (RAZAFINDRAIBE, et al., 2007) (BUCCI, et al., 2006). Assim, um dimensionamento inicial ideal para uma estratégia, pode não ser bom o suficiente para outra. Determinar um dimensionamento inicial que seja aplicável em qualquer metodologia é um problema. Buscando suprir essa demanda, é calculado9 como etapa inicial, um

dimensionamento mínimo, pelo qual, a porta mantenha a sua função lógica e supra as restrições da topologia. Isso garantirá um ponto de partida com um dimensionamento reduzido, permitindo que esses valores sejam escalados em busca de tamanhos que beneficiem a homogeneização do consumo.

A Figura 14 representa o fluxo do algoritmo, em um primeiro momento, é testado se o tamanho mínimo, definido pela tecnologia, é o suficiente para essa etapa. Caso não seja, é aplicada uma estratégia gulosa baseada em busca em largura que objetiva convergir no menor dimensionamento.

9 Esse cálculo será exposto ao longo da Seção 4.2.2.2

Figura 13 - Agrupamento de transistores para NAND2 em diferentes topologias: (a) BSTTL, (b) STTL e (c) PCSL.

(44)

Figura 14 - Fluxograma da etapa 2 do algoritmo que determina um tamanho mínimo aceitável..

4.2.2.1 Estratégia Inicial do Algoritmo

Esse passo utilizará os agrupamentos definidos anteriormente e a partir da Largura Mínima do Canal do Transistor (wMinTec), definido pela tecnologia, escalará em busca do melhor dimensionamento. A Equação (4) expressa os dimensionamentos que serão simulados no próximo passo do algoritmo, onde cada linha representa um possível conjunto de tamanhos para os agrupamentos.

Simulações com Larguras Mínima para os Canais dos Transistores

Simulação Válida? Etapa 3 Estratégia Algoritmo Inicial Gerar Arquivos SPICE Simulações utilizando SPICE Estratégia Algoritmo Atingiu Iterações? Analisar Simulações e Calcular Menor Tamanho Sim Não 1 3 2 Não Sim

Referências

Documentos relacionados

6 Num regime monárquico e de desigualdade social, sem partidos políticos, uma carta outor- gada pelo rei nada tinha realmente com o povo, considerado como o conjunto de

A taxa do INR ideal para os paci- entes com disfunção ventricular e insuficiência cardíaca também não foi estimada por meio de estudos prospectivos e randomizados, e a taxa

• Quando o navegador não tem suporte ao Javascript, para que conteúdo não seja exibido na forma textual, o script deve vir entre as tags de comentário do HTML. <script Language

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

Quando contratados, conforme valores dispostos no Anexo I, converter dados para uso pelos aplicativos, instalar os aplicativos objeto deste contrato, treinar os servidores

A Lista de Fauna Ameaçada de Extinção e os Entraves para a Inclusão de Espécies – o Exemplo dos Peixes Troglóbios Brasileiros.. The List of Endangered Fauna and Impediments