tdc2016sp - trilha embarcados

Post on 14-Jan-2017

40 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 / 70

Construindo hardware .para criptografia ...

O que e preciso considerar?

Luckas Farias (Judocka)

luckas.judocka@gmail.com

luckas.farias@usp.br

Engenharia da Computacao - Escola PolitecnicaUniversidade de Sao Paulo - USP

07 de Julho de 2016

Cronograma

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

3 / 70

Luckas, quem e voce?I Formado em Ciencia da Computacao - UEL

I Mestrando em Engenharia da Computacao - USP

I Escoteiro

I FotografoI Membro IEEE

I Young ProfessionalsI Mentor para ramos estudantis

I Geek em eventos:I RoadSecI LatinowareI CPBRI BSideSPI STEPI HackathonI CryptoRave

I Engenheiro de coracao

4 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

5 / 70

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

MICAz (ATMega128)

Artigo: “Implementacao eficiente de criptografiade curvas elipticas em sensores sem fio”

7 / 70

ARM processor at 600MHz

Artigo: “A Performance Comparison of Elliptic CurveScalar Multiplication Algorithms on Smartphones”

8 / 70

Solucoes da Literatura

Board Curve Cycles Time8-bit processor Atmega 128 163-bit ECC 111.183.513 13.9 segundos

Dispositivos MICAz (ATMega128) sect163k1 7.022.289 0.95 segundosDispositivos MICAz (ATMega128) sect163k1 5.100.400 0.69 segundos

Texas Instrument MSP430 ECC 160-bit key 5.400.0008-bit processor Atmega 128 ECC 163-bit key 3.930.000 (GLV)8-bit processor Atmega 128 ECC 163-bit key 5.945.000 (Montgomery)

9 / 70

Criptografia em Hardware

FPGA

10 / 70

Criptografia em Hardware

FPGA

10 / 70

Custo de operacoes em ECC

Eberle

NIST curves Curvas genericasF163 F163

62% Multiplicacao 81% Multiplicacao

11 / 70

Visualmente

12 / 70

Paralelizacao da Arquitetura

Eberle

NIST curves Curvas genericasF163 F163

62% Multiplicacao 81% Multiplicacao36% com Hardware 20% com Hardware

103.33ns 1,356.11ns

13 / 70

Visualmente

I Eficiencia de 156,25% em curvas NIST

I Eficiencia de 125,00% em curvas genericas

14 / 70

Alguns resultados de hardware

15 / 70

Estudo de Paralelismo F512

16 / 70

Estudo de Paralelismo F512

17 / 70

Software

18 / 70

Hardware

19 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

20 / 70

O que e Criptografia?

Criptografia e o estudo de tecnicas matematicas que visam aseguranca da informacao, por meio das quais e possıvel obter-se aintegridade dos dados, autenticidade das entidades e autenticidadeda informacao.

OK.... Mas isso e muito formal, nao?

21 / 70

O que e Criptografia?

Criptografia e o estudo de tecnicas matematicas que visam aseguranca da informacao, por meio das quais e possıvel obter-se aintegridade dos dados, autenticidade das entidades e autenticidadeda informacao.

OK.... Mas isso e muito formal, nao?

21 / 70

Necessidade de comunicacao!

22 / 70

Todos PRECISAMse comunicar

1

1Cinderela, Disney, 22 de Maio de 195023 / 70

Ha quem querler a mensagem...

2

...Mesmo essa nao sendo destinada a ele...

2Malevola em “A bela adormecida”, Disney, 06 de Fevereiro de 195924 / 70

E com a perdada informacao...

3

...As coisas geralmente nao acabam bem.

3“A bela adormecida”, Viktor Mikhailovich Vasnetsov25 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

26 / 70

Tipos de criptografia

Existem 2 grandes grupos em que os algoritmoscriptograficos sao divididos.

I Criptografia Simetrica

I Criptografia Assimetrica

27 / 70

Tipos de criptografia

Existem 2 grandes grupos em que os algoritmoscriptograficos sao divididos.

I Criptografia Simetrica

I Criptografia Assimetrica

27 / 70

Cifras simetricas

28 / 70

A chave que fecha abre

29 / 70

Criptografia Assimetrica

30 / 70

Quem fecha nao abre

31 / 70

Exemplos

I ElGamal

I Diffie–Hellman

I RSA

I Curvas Elıpticas Criptograficas \o/

I Pos-quantica \o/\o/

32 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

33 / 70

Design ModularPor exemplo, a implementacao de umaassinatura feita totalmente em hardware deveconsiderar que a unica entrada no dispositivo e a mensagem aser assinada e a unica saıda e a assinatura desta mensagem.

O processo de implementacao pode ser representado como:

34 / 70

Escolha do hardware

35 / 70

Fabricantes

36 / 70

Placas legaisAltera DE0-nano

37 / 70

Placas legaisFPGA 101

38 / 70

Placas legaisAltera DE2

39 / 70

Placas legaisAltera DE2i-150

40 / 70

Placas legaisParallella - Zynq Xilinx

41 / 70

Placas legaisZedboard - Zynq Xilinx

42 / 70

Nao tao embarcado assim...Net FPGA

43 / 70

O FUTURO

44 / 70

O FUTURO

Intel Xeon FPGA

45 / 70

O FUTURO

Intel Xeon FPGA

46 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

47 / 70

O que e AES?

Advanced Encryption Standard

O AES e um algoritmo que usa criptografia simetrica, sendocapaz de codificar e decodificar blocos de informacao de 128 bits.

Parametros

Data (bits) Rounds key size (bits)

128 10 128

128 12 192

128 14 256

48 / 70

Codificador e Decodificador

49 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

50 / 70

Modulos para aritmetica

Operacoes em F2m sao tipicamente faceis de se implementar emhardware, se comparados a implementacao sobre Fp.

A adicao em F2m nao possui uma propagacao de carry (vai um).

Alem disso, o quadrado em Fp e semelhante a uma multiplicacao,entretanto em corpos binarios existem otimizacoes para calcular-seem 1 pulso de clock.

51 / 70

Exemplo no corpo F24

Em F24 o polinomio irredutıvel e f (z) = z4 + z1 + z0.

Exemplos de operacoes aritmeticas:

I Adicao: (z3 + z2 + 1)⊕ (z2 + z + 1) = z3 + z

I Subtracao: (z3 + z2 + 1)⊕ (z2 + z + 1) = z3 + z

I Multiplicacao: (z3 + z2 + 1).(z2 + z + 1) = z5 + z + 1= z .z4 + z + 1 = z(z + 1) + z + 1 = z2 + z + z + 1 = z2 + 1

I Inversao: (z3 + z2 + 1)−1 = z2

Sabendo que (z3 + z2 + 1).z2mod(z4 + z + 1) = 1

52 / 70

Multiplicacao esquematicoCaso a reducao polinomial f (z) seja fixapode-se projetar o multiplicador com um nıvel menor decomplexidade, isso pois a reducao precisa de um registrador menor.

53 / 70

Quadrado de um polinomio

A representacao binaria de a(z)2 e obtida inserindo 0 entre osvalores dos bits (posicoes ımpares do polinomio).

54 / 70

Exemplo de HardwareSe considerarmos o corpo F27 cujopolinomio irredutıvel seja f (z) = z7 + z + 1, temos que:

c = a2

c = a6z12 + a5z

10 + a4z8 + a3z

6 + a2z4 + a1z

2 + a0z0

c = (a6 +a3)z6 +a6z5 + (a5 +a2)z4 +a5z

3 + (a4 +a1)z2 +a4z +a0

55 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

56 / 70

Retomando...

57 / 70

Paralelismo em F512

58 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

59 / 70

Como se protegerde ataques?

Considerando protocolos sem backdors, os ataques sobremaneiras de implementar recaem sobre:

I Ataques de medida de tempo

I Ataques de consumo de potencia

I ”Ladroes de galinha”

60 / 70

Ataques de medida

I O algoritmo depende dos elementos

I Em busca de “otimizacoes” como multiplicar por 0000...0010

I Equacoes nao completas

I Depende de “conferencias”

Solucoes

I Usar equacoes completas

I Nao usar sistemas que necessitam de checagem

I Mesmo parecendo burro, faca com que sempre tenha o mesmotempo

61 / 70

Perspectivas futuras

I Curvas Elıpticas (mais) Robustas

I Pos-quantica

62 / 70

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

63 / 70

Pollard Rho

64 / 70

Pollard Rho

65 / 70

Side channel attack

66 / 70

Side channel attack

67 / 70

Side channel attack

68 / 70

Interessou?Entao maos a obra!

69 / 70

Obrigado pela atencao

Obrigado a CAPES pela bolsa que me permite realizar minha pesquisa;Ao Prof. Paulo e ao Prof. Bruno por estar me orientando neste mestrado;Obrigado a Karoline pelas revisoes.

E-mail: luckas.judocka@gmail.comE-mail: luckas.farias@usp.brFacebook: fb.com/luckas.judockaLinkedin: br.linkedin.com/in/luckas

70 / 70

top related