self-organised group key management for ad hoc networks

35
1 Self-organised Group Key Management for Ad Hoc Networks Adriano Simões 53813 Tiago Almeida53867

Upload: kane

Post on 06-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

Self-organised Group Key Management for Ad Hoc Networks. Adriano Simões 53813 Tiago Almeida53867. Problema. Desenvolver um protocolo para estabelecer uma chave de sessão comum a um conjunto de nós. Motivação. Cenários de Guerra Catástrofes Emergências Monitorização Ambiental - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Self-organised Group Key Management for Ad Hoc Networks

1

Self-organised Group Key Management for Ad Hoc Networks

Adriano Simões 53813Tiago Almeida 53867

Page 2: Self-organised Group Key Management for Ad Hoc Networks

2

Problema

■ Desenvolver um protocolo para estabelecer uma chave de sessão comum a um conjunto de nós.

Page 3: Self-organised Group Key Management for Ad Hoc Networks

3

Motivação

■ Cenários de Guerra

■ Catástrofes

■ Emergências

■ Monitorização Ambiental

■ Entretenimento (Rede Segura de Portáteis/PDA's)

Page 4: Self-organised Group Key Management for Ad Hoc Networks

4

Requisitos

■ Não existe qualquer tipo de acordo à priori (infra-estrutura, chaves partilhadas, routing, “terceiras entidades confiáveis”)

■ Chave tem de ser gerada por todos.

■ Rede tem de permitir que nós se juntem ou a abandonem facilmente.

■ TEM DE SER SEGURO! (Confidencial)

Page 5: Self-organised Group Key Management for Ad Hoc Networks

5

Ideia do protocolo

■ Alguns nós da rede são definidos como “grupo iniciador” (Initiator Group = IG)

■ IG combina entre si (de forma segura) uma chave de sessão a usar.

■ Chave de sessão é propagada ao resto da rede (de forma segura).

■ Todo o tráfego “útil” é cifrado com chave de sessão (qualquer algoritmo)

Page 6: Self-organised Group Key Management for Ad Hoc Networks

6

Restrições

■ Os nós que iniciam a rede (IG) têm de conseguir comunicar uns com os outros directamente.

■ Cada nó tem uma maneira única de ser identificado. (ex: SIM card)

Page 7: Self-organised Group Key Management for Ad Hoc Networks

7

Ideia “refinada” do protocolo

■ IG acorda um conjunto P de chaves e particiona-o em K subconjuntos.

{1,2,3,4,5,6} { {1,2} , {3,4} , {5,6} }

■ Cada nó escolhe aleat. Uma chave de cada subconjunto. (cada um fica com K chaves).

■ Nós tentam “adivinhar” as chaves que os vizinhos escolheram aleat.

■ Quando cada nó souber as chaves do vizinho, geram todos uma chave de sessão.

Page 8: Self-organised Group Key Management for Ad Hoc Networks

8

Notação

■ Existe um conjunto P de chaves igual para todos os nós e público.

■ Conjunto P tem tamanho N.

■ O conjunto P irá ser partido em k blocos de m elementos (N=mk).

■ L é o número mínimo de chaves partilhadas entre cada par de nós para que se considere que eles têm uma ligação segura.

Page 9: Self-organised Group Key Management for Ad Hoc Networks

9

Protocolo

■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e propagá-la a toda a

rede.

Page 10: Self-organised Group Key Management for Ad Hoc Networks

10

Protocolo

■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e propagá-la a toda a

rede.

Page 11: Self-organised Group Key Management for Ad Hoc Networks

11

Setup Inicial

■ Definir o conjunto P (tamanho N e elementos).

■ Definir k (número de subconjuntos).

■ Partir P em k subconjuntos chamados blocos.

■ Definir L.

■ (Isto pode ser hardcoded ou negociado dinamicamente)

■ Cada nó escolhe 1 chave de cada bloco aleatoriamente.

Page 12: Self-organised Group Key Management for Ad Hoc Networks

12

Protocolo

■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e propagá-la a toda a

rede.

Page 13: Self-organised Group Key Management for Ad Hoc Networks

13

■ Cifras Homomórficas

■ Cifras Homomórficas: E(A) & E(B) = E(A&B) , & é uma operação qualquer. K*E(A) = E(K*A)

Page 14: Self-organised Group Key Management for Ad Hoc Networks

14

Descoberta de chaves partilhadas 1/6

■ Na fase de Setup cada nó escolheu k chaves do conjunto P.

■ A tem de conseguir perceber as chaves de B e de C que são iguais às suas. Como?

Page 15: Self-organised Group Key Management for Ad Hoc Networks

15

Descoberta de chaves partilhadas 2/6

■ A constrói um polinómio FA(x)=(x-KA1)*…*(x-KAk) (fácil ver que FA(KA1) = 0)

■ Aplica a distributiva e obtém os coeficientes do polinómio.

(Exemplo para B)

■ Cifra os coeficientes com algoritmo de cifra homomórfico e envia a B.

■ B recebe o polinómio, calcula: Zi = EKA(rFA(KBi)) onde r é um número aleatório e envia

para A.

Page 16: Self-organised Group Key Management for Ad Hoc Networks

16

Descoberta de chaves partilhadas 3/6

■A decifra obtendo rFA(KBi).

■Se este valor for 0 então a chave é igual tanto em A como em B.

Page 17: Self-organised Group Key Management for Ad Hoc Networks

17

Descoberta de chaves partilhadas 4/6

■ “Demonstração” B tem o seguinte: EKA(c1), … , EKA(ck+1)

EKA(c1)*xk + … + EKA(ck+1)* x0 =

EKA(c1)*B1k + … + EKA(ck+1)* B1

0 = EKA(c1 * B1

k) + …. + EKA(ck+1 *B10) =

EKA(c1 * B1k + ... + ck+1 *B1

0) = EKA(FA(KB1))

■ Porquê o r ? Atacante sabe que o B respondeu com algo estilo: EKA(c1)*Xk + … + EKA(ck+1)* X0

E também sabe EKA(ck) , portanto seria só resolver a equação em ordem a X para obter os Bi

Page 18: Self-organised Group Key Management for Ad Hoc Networks

18

Descoberta de chaves partilhadas 5/6

■ Este processo é repetido para todas as chaves de cada nó, para todos os nós.

■ Finalmente, cada nó fica com uma matriz que diz para cada nó as chaves que são comuns.

■ Matriz tem q-1 linhas por k colunas, onde q é o número de nós no IG.

Page 19: Self-organised Group Key Management for Ad Hoc Networks

19

Descoberta de chaves partilhadas 6/6

■ O IG considera-se bem formado se existirem L chaves partilhadas entre cada par de nós do IG.

■ Se não existirem, os nós não concordantes voltam a repetir o processo para tentar acertar em chaves comuns.

Page 20: Self-organised Group Key Management for Ad Hoc Networks

20

Protocolo

■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e “propagá-la” a toda a

rede.

Page 21: Self-organised Group Key Management for Ad Hoc Networks

21

Estabeler chave de sessão

■ Cada nó i (pertencente a IG) gera um aleatório S i

■ Cada nó i calcula o XOR de todas as L chaves partilhadas KIG = K1

IG xor…xor KLIG

■ Cada nó i cifra Si com KIG e envia para todos os vizinhos (pertencentes a IG).

■ Cada nó decifra com KIG e calcula a chave de sessão Ks = S1 xor … xor Sr

■ Finalmente (Chave partilhada entre o IG)!

Page 22: Self-organised Group Key Management for Ad Hoc Networks

22

Propagar chave de sessão

■ Cada nó do IG manda a chave de sessão para os vizinhos (só para os que tem ligação segura, ou seja, L chaves partilhadas).

Ideia:➔ O novo Nó junta-se a partir de um Nó já pertencente à rede.➔ A Chave de Sessão tem que ser mudada para que o novo

nó não veja comunicação passada (Segurança Futura Perfeita).

Page 23: Self-organised Group Key Management for Ad Hoc Networks

23

Propagar chave de sessão 2

■ Cada nó na fronteira repete a fase 2 com os vizinhos fora do IG.

■ Gera-se uma nova chave de sessão aplicando função não invertível à chave de sessão actual. (seg. futura perfeita)

■ Nós da rede passam a usar a nova chave.

■ Nova chave enviada para o novo membro usando as L chaves comuns como cifra.

Page 24: Self-organised Group Key Management for Ad Hoc Networks

24

Seguro?

■ Soa bem, mas será realmente seguro?!

■ Situação1: Atacante consegue apanhar o tráfego entre todos os nós.

Page 25: Self-organised Group Key Management for Ad Hoc Networks

25

Seguro?

■ Mensagens trocadas na fase 2 são cifradas com cifra homomórfica segura.

■ Desde que o algoritmo de cifra seja seguro, atacante não tem qualquer informação das L chaves partilhadas.

■ Chave de sessão também vai cifrada com algoritmo seguro.

■ N=mk chaves possíveis.■ Ele sabe valor de L (público) mas não sabe de

que bloco é que cada chave veio.■ Vai ter de testar (kCL)mL conjuntos de chaves.

Page 26: Self-organised Group Key Management for Ad Hoc Networks

26

Seguro?

■ Parâmetros bem definidos:■ 1264 chaves, partidas em blocos de 4 316

blocos. 20 chaves partilhadas por todos.

■ m=4 , L=20 , k=316

■ (316C20)420

Page 27: Self-organised Group Key Management for Ad Hoc Networks

27

Seguro!

■ Parâmetros bem definidos:■ 1264 chaves, partidas em blocos de 4 316

blocos. 20 chaves partilhadas por todos.

■ m=4 , L=20 , k=316

■ (316C20)420 ~= 2150

Page 28: Self-organised Group Key Management for Ad Hoc Networks

28

Seguro!

■ Situação 2: Atacante apoderou-se de um dos nós.

Assumindo que os vizinhos conseguem detectar essa situação…

■ B envia para rede a dizer “D é espião!”■ Todas as chaves comuns entre B e D estão

comprometidas!

Page 29: Self-organised Group Key Management for Ad Hoc Networks

29

Seguro!

■ D é eliminado da lista de nós autorizados da rede.

■ Se a intersecção entre chaves comuns BD com chaves BA e BC for “pequena” segurança da rede continua intacta.

■ B volta a juntar-se à rede.

Page 30: Self-organised Group Key Management for Ad Hoc Networks

30

Mais detalhes

■ Protocolo é independente do algoritmo de Cifra E(.) desde que seja homomórfico na soma.

■ Paper usa algoritmo de cifra algo complexo para ser usado, proposto por Chan.

A. C.-F. Chan and E. S. R. Sr. Distributed symmetric key management for mobile ad hoc networks. In Infocom 2004, 2004.

■ Consideramos não ser importante devido à independência do protocolo.

Page 31: Self-organised Group Key Management for Ad Hoc Networks

31

Eficiência e mobilidade

• Protocolo é muito pesado.– K+1 coefs k+1 cifras + k decifras.

– Cada nó faz o mesmo. N nós n(k^2 + 2k +1) trocas de informação na rede e cálculos.

– Nj - nós a juntar, p – custo (de)cifra homomórfica , a – custo de soma em dados cifrados homomórficamente.

Nj((2k+1)p + ak2)Custo junção

N((2k+1)p + ak2)Tempo processamento

K valoresMemória

Page 32: Self-organised Group Key Management for Ad Hoc Networks

32

Mais detalhes

■ Custo amortizado. Cada nó só precisa de 1 ligação segura com 1 vizinho para pertencer à rede.

■ Um nó ao mover-se pode ganhar novos vizinhos e negociar chaves com eles aumentando a fiabilidade da rede.

Page 33: Self-organised Group Key Management for Ad Hoc Networks

33

Como definir bem os parâmetros?

■ Parâmetros mal definidos podem tornar a probabilidade de formação de IG muito baixa ou tornar o sistema fraco.

■ Bons valores tornam o sistema fortíssimo e com boa probabilidade de formação de IG (>=0.5).

■ Fácil ver que: Quanto maior L maior a segurança e menor a probabilidade de

formação de IG.

Quanto mais nós no IG maior a força da chave de sessão mas menor a probabilide de formação de IG.

Quanto menor k (e menor m para N fixo N=mk) menor a probabilidade de formação de IG mas maior a segurança.

Page 34: Self-organised Group Key Management for Ad Hoc Networks

34

Trabalhos relacionados

■ Artigo refere dois outros trabalhos parecidos: Chan Eschenauer and Gligor

■ O primeiro tem baixa probabilidade de formação de IG (muito baixa).

■ Segundo requer terceira entidade confiável.

■ Algoritmo de cifra usado é o do Chan.

Page 35: Self-organised Group Key Management for Ad Hoc Networks

35

Dúvidas / sugestões?