Criptografia em RSSF: implementações e impactos nos nós ... · Distribuição com Chave mestra...

56
1 Criptografia em RSSF: implementações e impactos nos nós sensores Apresentação das implementações de criptografia em RSSF e o impacto no consumo de energia e na ocupação de memória em nós sensores Tópicos: Revisão de criptografia Distribuição de chaves criptográficas Criptografia no TinyOS: TinySec Distribuição de chaves em RSSF Conclusões Dênio Teixeira Silva – Redes de Sensores sem Fio – CPDEE/DEE/UFMG

Transcript of Criptografia em RSSF: implementações e impactos nos nós ... · Distribuição com Chave mestra...

1

Criptografia em RSSF: implementações e impactos nos nós sensores

Apresentação das implementações de criptografia em RSSF e o impacto no consumo de energia e na ocupação de memória emnós sensores

Tópicos:

• Revisão de criptografia

• Distribuição de chaves criptográficas

• Criptografia no TinyOS: TinySec

• Distribuição de chaves em RSSF

• Conclusões

Dênio Teixeira Silva – Redes de Sensores sem Fio – CPDEE/DEE/UFMG

2

Criptografia em RSSF: implementações e impactos nos nós sensores

Revisão de criptografia

3

Criptografia em RSSF: implementações e impactos nos nós sensores

Classificação dos algoritmos:

Simétricos

Assimétricos

4

Criptografia em RSSF: implementações e impactos nos nós sensores

Criptografia com algoritmos simétricos (chave secreta)

cifraçãosimétrica

decifraçãosimétricaMensagem Mensagem

Mensagemcifrada

chavesecreta

chavesecreta

canal inseguro

canal seguro

Tipos de algoritmos simétricos:

Algoritmos de blocoAlgoritmos de fluxo

5

Criptografia em RSSF: implementações e impactos nos nós sensores

Algoritmos de bloco (cifração de blocos de n bits)

cifrador debloco

decifrador debloco

bloco den bits

Mensagemcifrada(n bits)

chavesecreta(k bits)

chavesecreta(k bits)

bloco den bits

Utilizam substituições e transposições: implementaçãosimples e processamento rápido.

Utilização: Confidencialidade

Criptografia on-line.

6

Criptografia em RSSF: implementações e impactos nos nós sensores

Modos de cifração de bloco

BlockEncryption

BlockEncryption

BlockDecryption

BlockEncryption

BlockEncryption

BlockDecryption

BlockDecryption

BlockDecryption

Ks Ks Ks

Ks Ks Ks

C1 C2

IV

IV

M1 M2 M3

M1 M2 M3

C3

Ks

Ks

C1

M1

M1

ECB mode CBC mode

7

Criptografia em RSSF: implementações e impactos nos nós sensores

Algoritmos mais utilizados:

DES: n = 64 bits, k = 56 bits3DES: n = 64 bits, k = 168 bitsIDEA: n= 64 bits, k = 128 bitsAES: n = 128 bits, k = 128, 192, 256 bits

Os mais adequados para RSSF:

Skipjack: n = 64 bits, k = 80 bits (projetado para usoem chipsRC5: n e k podem ser selecionados (o mais adequado –alto desempenho e pouco espaço em memória)

8

Criptografia em RSSF: implementações e impactos nos nós sensores

Algoritmos de fluxo (cifração do fluxo de bits)

xmensagem cifrada

mensagemoriginal

geradorpseudo-

aleatório nãolinear

xmensagem

original

geradorpseudo-

aleatório nãolinear

chavesecreta(k bits)

chavesecreta(k bits)

Exemplo: RC4 (k de 1 a 2048 bits, seqüência maior que 10100)

Utilização: Confidencialidade

Criptografia on-line.

9

Criptografia em RSSF: implementações e impactos nos nós sensores

Função resumo criptográfica (função hash unidirecional)

função hashunidirecional

bloco dem bits

bloco den bits

Exemplos:

MD5: m = 512 bits, n = 128 bitsSHA-1: m = 512 bits, n = 160 bits

10

Criptografia em RSSF: implementações e impactos nos nós sensores

Message Autentication Code (MAC)

Função hash unidirecional com chave:

MACbloco de

m bitsbloco de

n bits

chavesecreta(k bits)

Aplicação: autenticação e integridade

11

Criptografia em RSSF: implementações e impactos nos nós sensores

Criptografia com algoritmos assimétricos (chave pública)

Aplicação: Confidencialidade e distribuição de chaves secretas

cifraçãoassimétrica

decifraçãoassimétricaMensagem Mensagem

Mensagemcifrada

chaveprivada

chavepública

canal inseguro

canal insegurochave

pública

12

Criptografia em RSSF: implementações e impactos nos nós sensores

Criptografia com algoritmos assimétricos (chave pública)

Aplicação: autenticação

cifraçãoassimétrica

decifraçãoassimétricaMensagem Mensagem

Mensagemautenticada

chaveprivada

chavepúblicachave

pública

canal inseguro

canal inseguro

13

Criptografia em RSSF: implementações e impactos nos nós sensores

Criptografia com algoritmos assimétricos (chave pública)

Utilizam operações matemáticas complexas: implementaçãocomplexa e processamento lento.

Exemplos: RSA (fatoração de grandes números), ElGamal(logaritmo discreto em campos finitos)

14

Criptografia em RSSF: implementações e impactos nos nós sensores

Algoritmo RSA (exponenciação módulo n)

Dificuldade de fatoração de grandes números

• selecionar n = p.q onde p e q são primos distintos (um dos dois deve terde 1024 a 2048 bits)• selecionar e < (p-1).(q-1) tal que e e (p-1).(q-1) sejam primos entre si• calcular d = e-1 mod (p-1).(q-1)

Chave pública: (n, e), chave secreta (d)Mensagem: m

Cifração:c = me mod n (cifração)

Decifração:m = cd mod n (decifração)

15

Criptografia em RSSF: implementações e impactos nos nós sensores

Diffie-Hellman (DLP – Discrete Logarithm Problem)

Utilização: distribuição de chaves

16

Criptografia em RSSF: implementações e impactos nos nós sensores

Distribuição de chaves criptográficas

17

Criptografia em RSSF: implementações e impactos nos nós sensores

Segurança criptográfica depende da chave secreta nos algoritmos bemprojetados:

Distribuição segura de chaves é fundamental;Uma chave descoberta permite decifração de todos os dados enviados antes e depois.

Técnicas de criptoanálise:

Troca de chave dificulta muito a criptoanálise.

Métodos para distribuição de chaves:

Chave mestra;Algoritmos assimétricos.

18

Criptografia em RSSF: implementações e impactos nos nós sensores

Distribuição com Chave mestra (sem comunicação)

funçãopseudo-aleatória

semente chavesecreta

chavemestra

19

Criptografia em RSSF: implementações e impactos nos nós sensores

Distribuição com Chave mestra (com comunicação)

cifraçãosimétrica

decifraçãosimétrica

chavecriptografada

chavemestra

chavemestra

canal inseguro

chavesecreta

chavesecreta

cifraçãosimétrica

decifraçãosimétrica

Mensagem Mensagem

Mensagemcifrada

chavesecreta

chavesecreta

20

Criptografia em RSSF: implementações e impactos nos nós sensores

Distribuição com Algoritmos assimétricos

cifraçãoassimétrica

decifraçãoassimétrica

chavecriptografada

chaveprivada

chavepública

canal inseguro

chavesecreta

chavesecreta

cifraçãosimétrica

decifraçãosimétrica

Mensagem Mensagem

Mensagemcifrada

chavesecreta

chavesecreta

21

Criptografia em RSSF: implementações e impactos nos nós sensores

Criptografia no TinyOS: TinySec

22

Criptografia em RSSF: implementações e impactos nos nós sensores

TinySec

Segurança no nível de link (chave secreta fixa)

Novo componente: SecureGenericComm em substuição ao GenericComm

Interfaces: SendMsg: Integridade, autenticação, sem criptografiaSendMsgEncryptAndAuth: Integridade, autenticação, com criptografiaSendMsgCRC: envia mensagem com CRC, sem criptografiaReceiveMsg: recebe mensagensReceiveMsgNoAuth: recebe mensagens com CRC

Algoritmos de bloco: RC5 (12 etapas, blocos de 64 bits, chave de 80 bits)Skipjack

23

Criptografia em RSSF: implementações e impactos nos nós sensores

Formato dos pacotes do TinySec

24

Criptografia em RSSF: implementações e impactos nos nós sensores

Impacto da criptografia no Mica2 (TinySec)

Impacto da Utilização de Mecanismos de Segurança em Nodos Sensores (WCSF 2004, Fortaleza, outubro de 2004)

CONSUMO DE ENERGIA PELO RÁDIO

Pacote # bytes Tempo (ms)

Energia (mJ)

aumento (%)

Padrão 36 15,00 1,215 - Com autenticação 37 15,40 1,247 2.6 Com criptografia e autenticação 41 17,10 1,385 13.99

Obs.: broadcast de mensagens com payload de 29 bytes a

cada 250 ms

25

Criptografia em RSSF: implementações e impactos nos nós sensores

IMPACTO NA CPU AO CIFRAR O CONTEÚDO DO PACOTE

Algoritmo Tempo(ms)

Ciclos de clock

Energia (µJ)

SkipJack 2,16 15.925,2 51,84 RC5 1,50 11.059,2 36,00

IMPACTO NA CPU NO CÁLCULO DO MAC DO PACOTE

Algoritmo Tempo(ms)

Ciclos de clock

Energia (µJ)

SkipJack 2,99 22.044,6 71,76 RC5 2,08 15.335,4 49,92

26

Criptografia em RSSF: implementações e impactos nos nós sensores

OCUPAÇÃO DE MEMÓRIA EM BYTES COM RC5

Modo Utilizado ROM bytes % ROM RAM

bytes % RAM

Sem usar o TinySec 10510 8,018 444 10,840 Desabilitado 18206 13,890 918 22,412 Somente autenticação 18210 13,893 918 22.412 Criptografia e Autenticação 18212 13,895 918 22,412

OCUPAÇÃO DE MEMÓRIA EM BYTES COM SKIPJACK

Modo Utilizado ROM bytes % ROM RAM

bytes % RAM

Sem usar o TinySec 10510 8,018 444 10,840 Desabilitado 17930 13,679 1174 28,662 Somente autenticação 17928 13,678 1174 28,662 Criptografia e Autenticação 17930 13,680 1174 28,662

27

Criptografia em RSSF: implementações e impactos nos nós sensores

Impacto da Utilização de Mecanismos de Segurança em Nodos Sensores (WCSF 2004, Fortaleza, outubro de 2004) - Conclusões:

•Impacto pouco significativo em termos de consumo de energia devido ao processamento

•Impacto pequeno devido ao aumento no tamanho das mensagens

•Impacto aceitável no consumo de memória

28

Criptografia em RSSF: implementações e impactos nos nós sensores

Distribuição de chaves em RSSF

29

Criptografia em RSSF: implementações e impactos nos nós sensores

SPINS: Security Protocols for Sensor Networks (2002)

Motivação: impossibilidade de utilização de algoritmos de chave pública em nós sensores (memória e processamento)Protocolos para redes de sensores: µTesla e SNEP

Utilização de chave mestra

µTesla – broadcast com autenticação Utiliza RC5 para implementar o MAC

SNEP – Secure Network Protocol (confidencialidade, autenticação, verificação de validade da chave)

Utiliza RC5 em modo CTR (algoritmo de bloco em modo fluxo)

Protocolos complexos (conceitualmente)

30

Criptografia em RSSF: implementações e impactos nos nós sensores

Distribuição de chaves com SNEP

31

Criptografia em RSSF: implementações e impactos nos nós sensores

Testes do SPIN com nós Smart Dust

32

Criptografia em RSSF: implementações e impactos nos nós sensores

Testes do SPIN com nós Smart Dust

33

Criptografia em RSSF: implementações e impactos nos nós sensores

Consumo maior de energia é devido à transmissão, 98 % durante a transmissão de mensagens de 30 bytes:

34

Criptografia em RSSF: implementações e impactos nos nós sensores

TinyPK: Securing Sensor Networks with Public Key Technology (2004)

Proceedings of the 2nd ACM workshop on Security of ad hoc and sensor networks, Washington DC, USA October, 2004

Infra-estrutura de chave pública para redes de sensores

Testes com RSA e Diffie-Hellman no MICA2 (TinyOS)

35

Criptografia em RSSF: implementações e impactos nos nós sensores

36

Criptografia em RSSF: implementações e impactos nos nós sensores

Resultados

Operação de cifração com chave pública no RSA (viável)

Foi utilizado e=3 (small exponent) para teste com RSA (c = m3 mod n)

Operação de decifração com chave privada no RSA (chave ≥ 512 bits): dezenas de minutos (INVIÁVEL !)

m = cd mod n (d é muito grande)

37

Criptografia em RSSF: implementações e impactos nos nós sensores

Operação com chave pública no RSA: autenticação

utilizando certificados simplificados (operação equivalente àde um browser acessando um site seguro)

Operação com chave privada é inviável: não pode ser utilizadapara confidencialidade ou distribuição de chaves

38

Criptografia em RSSF: implementações e impactos nos nós sensores

Testes com Diffie-Hellman (estabelecimento da chave secreta)

39

Criptografia em RSSF: implementações e impactos nos nós sensores

Testes com Diffie-Hellman (estabelecimento da chave secreta)

A = ga mod n (troca de valores aleatórios)s = gab mod n (cálculo da chave)

40

Criptografia em RSSF: implementações e impactos nos nós sensores

Testes com Diffie-Hellman (estabelecimento da chavesecreta)

Os tempos são grandes mas o algoritmo de Diffie-Hellman é viávelse a troca de chaves ocorrer com pouca frequência.

Podem ser utilizados módulo de 1024 bits e expoente de 160 bits para garantir uma razoável segurança (equivalente a 80 bits emalgoritmos simétricos):

41

Criptografia em RSSF: implementações e impactos nos nós sensores

A Public-Key Infrastruture for Key Distribution in TinyOSBased Elliptic Curve Cryptography (2004)

Proceedings of the First IEEE International Conference on Sensorand Ad hoc Communications and Networks (SECON), Santa Clara, CA, October 2004

Implementação do Algoritmo de Diffie-Hellman com curvaselípticas (Mica2/TinyOS)

Observação dos autores: chave de Diffie-Hellman-ECC com chave de 163 bits oferece segurança suficiente.

42

Criptografia em RSSF: implementações e impactos nos nós sensores

curvas elípticas sobre campos finitos (Galois Fields) GFp: pontos sobre a curva formam um grupo em GFp (valores inteiros entre 0 e p-1)

43

Criptografia em RSSF: implementações e impactos nos nós sensores

Diffie-Hellman-DLP

Diffie-Hellman-ECDLP

44

Criptografia em RSSF: implementações e impactos nos nós sensores

Desempenho da implementação de Diffie-Hellman-DLP

45

Criptografia em RSSF: implementações e impactos nos nós sensores

46

Criptografia em RSSF: implementações e impactos nos nós sensores

47

Criptografia em RSSF: implementações e impactos nos nós sensores

Desempenho da primeira implementação de Diffie-Hellman-ECDLP (acima de 63 bits ocorreu stack overflow)

48

Criptografia em RSSF: implementações e impactos nos nós sensores

49

Criptografia em RSSF: implementações e impactos nos nós sensores

Comparação das implementações de Diffie-Hellman-ECDLP(versão 1.0 e 2.0)

50

Criptografia em RSSF: implementações e impactos nos nós sensores

Desempenho de Diffie-Hellman-ECDLP (verão 2.0)

51

Criptografia em RSSF: implementações e impactos nos nós sensores

Conclusões

52

Criptografia em RSSF: implementações e impactos nos nós sensores

• A criptografia simétrica como mecanismo de confiabilidade, integridade e autenticação não causa impacto significativo.

• Criptografia de chave pública ainda sofre muita limitação devido aohardware nos atuais nós sensores

• A implementação de PKI semelhante às utilizadas em redes tradicionais, que empregam algoritmos como o RSA (SSL, IPSec) ainda não é viável, énecessário simplificar as operações. Protocolos como os que utilizam Diffie-Hellman com chaves pequenas e RSA small exponente são viáveis. Desdeque a troca de chaves não seja feita com freqüência.

• Não deve demorar muito para que sensores mais rápidos e com maismemória permitam a utilização de qualquer protocolo/algoritmo de redestradicionais com segurança de alto nível. Desde que a troca de chaves nãoseja feita com freqüência para evitar consumo excessivo de energia.

53

Criptografia em RSSF: implementações e impactos nos nós sensores

Referências

54

Criptografia em RSSF: implementações e impactos nos nós sensores

Referências

Chris Karlof, Naveen Sastry, David Wagner; TinySec: A Link Layer Security Architecture for Wireless Sensor Networks; UC Berkeley; Proceedings of the 2nd international conference onEmbedded networked sensor systems; Baltimore, MD; November 2004.

D. J. Malan, M. Welsh, M. D. Smith; A Public-Key Infraestructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography; Harvard University; Proceedings of the First IEEE International Conference on Sensor and Ad hoc Communications and Networks (SECON), Santa Clara, CA, October 2004.

55

Criptografia em RSSF: implementações e impactos nos nós sensores

Referências

Ronald Watro, Derrick Kong, Sue-fen Cuti, Charles Gardiner, Charles Lynn1 and Peter Kruus; TinyPK: Securing Sensor Networks with Public Key Technology; BBN Technologies; Proceedings of the 2nd ACM workshop on Security of ad hoc and sensor networks, Washington DC, USA October, 2004

ADRIAN PERRIG, ROBERT SZEWCZYK, J.D. TYGAR, VICTORWEN and DAVID E. CULLER; SPINS: Security Protocols for Sensor Networks; UC Berkeley; Wireless Networks, 2002.

Cláudia B.L.N. da Silva, Eduardo J.P Souto, Germano de F. Guimarães, Reinaldo C.M. Gomes;Djamel Sadok1, Judith Kelner; Impacto da Utilização de Mecanismos de Segurança em Nodos Sensores; WCSF 2004, Fortaleza, outubro de 2004.

56

Criptografia em RSSF: implementações e impactos nos nós sensores

Perguntas ?