1 / 35

Self-organised Group Key Management for Ad Hoc Networks

Self-organised Group Key Management for Ad Hoc Networks. Adriano Simões 53813 Tiago Almeida 53867. 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

kane
Download Presentation

Self-organised Group Key Management for Ad Hoc Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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)* B10 = • EKA(c1 * B1k) + …. + EKA(ck+1 *B10) = • EKA(c1 * B1k + ... + ck+1 *B10) = • 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 Si • Cada nó i calcula o XOR de todas as L chaves partilhadas KIG = K1IGxor…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 Memória K valores Tempo processamento N((2k+1)p + ak2) Custo junção Nj((2k+1)p + ak2) • 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.

  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?

More Related