tdc2016sp - trilha embarcados

77
1 / 70

Upload: tdc-globalcode

Post on 14-Jan-2017

41 views

Category:

Education


2 download

TRANSCRIPT

Page 1: TDC2016SP - Trilha Embarcados

1 / 70

Page 2: TDC2016SP - Trilha Embarcados

Construindo hardware .para criptografia ...

O que e preciso considerar?

Luckas Farias (Judocka)

[email protected]

[email protected]

Engenharia da Computacao - Escola PolitecnicaUniversidade de Sao Paulo - USP

07 de Julho de 2016

Page 3: TDC2016SP - Trilha Embarcados

Cronograma

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

3 / 70

Page 4: TDC2016SP - Trilha Embarcados

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

Page 5: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

5 / 70

Page 6: TDC2016SP - Trilha Embarcados

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Page 7: TDC2016SP - Trilha Embarcados

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Page 8: TDC2016SP - Trilha Embarcados

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Page 9: TDC2016SP - Trilha Embarcados

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Page 10: TDC2016SP - Trilha Embarcados

Custos da criptografia?

I Tempo?

I Processamento?

I Conhecimento?

I Otimizacoes?

I Um pouco mais real...

6 / 70

Page 11: TDC2016SP - Trilha Embarcados

MICAz (ATMega128)

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

7 / 70

Page 12: TDC2016SP - Trilha Embarcados

ARM processor at 600MHz

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

8 / 70

Page 13: TDC2016SP - Trilha Embarcados

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

Page 14: TDC2016SP - Trilha Embarcados

Criptografia em Hardware

FPGA

10 / 70

Page 15: TDC2016SP - Trilha Embarcados

Criptografia em Hardware

FPGA

10 / 70

Page 16: TDC2016SP - Trilha Embarcados

Custo de operacoes em ECC

Eberle

NIST curves Curvas genericasF163 F163

62% Multiplicacao 81% Multiplicacao

11 / 70

Page 17: TDC2016SP - Trilha Embarcados

Visualmente

12 / 70

Page 18: TDC2016SP - Trilha Embarcados

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

Page 19: TDC2016SP - Trilha Embarcados

Visualmente

I Eficiencia de 156,25% em curvas NIST

I Eficiencia de 125,00% em curvas genericas

14 / 70

Page 20: TDC2016SP - Trilha Embarcados

Alguns resultados de hardware

15 / 70

Page 21: TDC2016SP - Trilha Embarcados

Estudo de Paralelismo F512

16 / 70

Page 22: TDC2016SP - Trilha Embarcados

Estudo de Paralelismo F512

17 / 70

Page 23: TDC2016SP - Trilha Embarcados

Software

18 / 70

Page 24: TDC2016SP - Trilha Embarcados

Hardware

19 / 70

Page 25: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

20 / 70

Page 26: TDC2016SP - Trilha Embarcados

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

Page 27: TDC2016SP - Trilha Embarcados

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

Page 28: TDC2016SP - Trilha Embarcados

Necessidade de comunicacao!

22 / 70

Page 29: TDC2016SP - Trilha Embarcados

Todos PRECISAMse comunicar

1

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

Page 30: TDC2016SP - Trilha Embarcados

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

Page 31: TDC2016SP - Trilha Embarcados

E com a perdada informacao...

3

...As coisas geralmente nao acabam bem.

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

Page 32: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

26 / 70

Page 33: TDC2016SP - Trilha Embarcados

Tipos de criptografia

Existem 2 grandes grupos em que os algoritmoscriptograficos sao divididos.

I Criptografia Simetrica

I Criptografia Assimetrica

27 / 70

Page 34: TDC2016SP - Trilha Embarcados

Tipos de criptografia

Existem 2 grandes grupos em que os algoritmoscriptograficos sao divididos.

I Criptografia Simetrica

I Criptografia Assimetrica

27 / 70

Page 35: TDC2016SP - Trilha Embarcados

Cifras simetricas

28 / 70

Page 36: TDC2016SP - Trilha Embarcados

A chave que fecha abre

29 / 70

Page 37: TDC2016SP - Trilha Embarcados

Criptografia Assimetrica

30 / 70

Page 38: TDC2016SP - Trilha Embarcados

Quem fecha nao abre

31 / 70

Page 39: TDC2016SP - Trilha Embarcados

Exemplos

I ElGamal

I Diffie–Hellman

I RSA

I Curvas Elıpticas Criptograficas \o/

I Pos-quantica \o/\o/

32 / 70

Page 40: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

33 / 70

Page 41: TDC2016SP - Trilha Embarcados

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

Page 42: TDC2016SP - Trilha Embarcados

Escolha do hardware

35 / 70

Page 43: TDC2016SP - Trilha Embarcados

Fabricantes

36 / 70

Page 44: TDC2016SP - Trilha Embarcados

Placas legaisAltera DE0-nano

37 / 70

Page 45: TDC2016SP - Trilha Embarcados

Placas legaisFPGA 101

38 / 70

Page 46: TDC2016SP - Trilha Embarcados

Placas legaisAltera DE2

39 / 70

Page 47: TDC2016SP - Trilha Embarcados

Placas legaisAltera DE2i-150

40 / 70

Page 48: TDC2016SP - Trilha Embarcados

Placas legaisParallella - Zynq Xilinx

41 / 70

Page 49: TDC2016SP - Trilha Embarcados

Placas legaisZedboard - Zynq Xilinx

42 / 70

Page 50: TDC2016SP - Trilha Embarcados

Nao tao embarcado assim...Net FPGA

43 / 70

Page 51: TDC2016SP - Trilha Embarcados

O FUTURO

44 / 70

Page 52: TDC2016SP - Trilha Embarcados

O FUTURO

Intel Xeon FPGA

45 / 70

Page 53: TDC2016SP - Trilha Embarcados

O FUTURO

Intel Xeon FPGA

46 / 70

Page 54: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

47 / 70

Page 55: TDC2016SP - Trilha Embarcados

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

Page 56: TDC2016SP - Trilha Embarcados

Codificador e Decodificador

49 / 70

Page 57: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

50 / 70

Page 58: TDC2016SP - Trilha Embarcados

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

Page 59: TDC2016SP - Trilha Embarcados

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

Page 60: TDC2016SP - Trilha Embarcados

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

Page 61: TDC2016SP - Trilha Embarcados

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

Page 62: TDC2016SP - Trilha Embarcados

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

Page 63: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

56 / 70

Page 64: TDC2016SP - Trilha Embarcados

Retomando...

57 / 70

Page 65: TDC2016SP - Trilha Embarcados

Paralelismo em F512

58 / 70

Page 66: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

59 / 70

Page 67: TDC2016SP - Trilha Embarcados

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

Page 68: TDC2016SP - Trilha Embarcados

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

Page 69: TDC2016SP - Trilha Embarcados

Perspectivas futuras

I Curvas Elıpticas (mais) Robustas

I Pos-quantica

62 / 70

Page 70: TDC2016SP - Trilha Embarcados

Sumario

Motivacao

Contextualizacao

Criptografia

Hardware!

AES

Modulos em Corpos Binarios

Custo de Operacoes

Precaucoes

Ataques conhecidos e vulnerabilidades

63 / 70

Page 71: TDC2016SP - Trilha Embarcados

Pollard Rho

64 / 70

Page 72: TDC2016SP - Trilha Embarcados

Pollard Rho

65 / 70

Page 73: TDC2016SP - Trilha Embarcados

Side channel attack

66 / 70

Page 74: TDC2016SP - Trilha Embarcados

Side channel attack

67 / 70

Page 75: TDC2016SP - Trilha Embarcados

Side channel attack

68 / 70

Page 76: TDC2016SP - Trilha Embarcados

Interessou?Entao maos a obra!

69 / 70

Page 77: TDC2016SP - Trilha Embarcados

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: [email protected]: [email protected]: fb.com/luckas.judockaLinkedin: br.linkedin.com/in/luckas

70 / 70