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
1
Self-organised Group Key Management for Ad Hoc Networks
Adriano Simões 53813Tiago Almeida 53867
2
Problema
■ Desenvolver um protocolo para estabelecer uma chave de sessão comum a um conjunto de nós.
3
Motivação
■ Cenários de Guerra
■ Catástrofes
■ Emergências
■ Monitorização Ambiental
■ Entretenimento (Rede Segura de Portáteis/PDA's)
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)
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)
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)
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.
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.
9
Protocolo
■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e propagá-la a toda a
rede.
10
Protocolo
■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e propagá-la a toda a
rede.
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.
12
Protocolo
■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e propagá-la a toda a
rede.
13
■ Cifras Homomórficas
■ Cifras Homomórficas: E(A) & E(B) = E(A&B) , & é uma operação qualquer. K*E(A) = E(K*A)
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?
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.
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.
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
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.
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.
20
Protocolo
■ Consiste em 3 fases: Setup Inicial. Descoberta de chaves partilhadas. Estabelecer chave de sessão e “propagá-la” a toda a
rede.
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)!
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).
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.
24
Seguro?
■ Soa bem, mas será realmente seguro?!
■ Situação1: Atacante consegue apanhar o tráfego entre todos os nós.
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.
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
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
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!
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.
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.
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
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.
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.
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.
35
Dúvidas / sugestões?