tdc2016sp - trilha embarcados
TRANSCRIPT
1 / 70
Construindo hardware .para criptografia ...
O que e preciso considerar?
Luckas Farias (Judocka)
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: [email protected]: [email protected]: fb.com/luckas.judockaLinkedin: br.linkedin.com/in/luckas
70 / 70