self-organised group key management for ad hoc networks
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 PresentationTRANSCRIPT
![Page 1: Self-organised Group Key Management for Ad Hoc Networks](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062422/56813bf4550346895da53405/html5/thumbnails/35.jpg)
35
Dúvidas / sugestões?