18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Tabela 4. Nomenclatura das variáveis<br />

K = e(r B P, d A1 ) · e(Q<br />

} {{ }<br />

B1 , r A sP ) · e(Q<br />

} {{ }<br />

B1 , d A1 ) · e(r<br />

} {{ } B P, r A sP )<br />

} {{ }<br />

K 1 K 2 K 3<br />

L = e(r B P, d A2 ) · e(Q<br />

} {{ }<br />

B2 , r A sP ) · e(Q<br />

} {{ }<br />

B2 , d A2 ) · e(r<br />

} {{ } B P, r A sP )<br />

} {{ }<br />

L 1 L 2 L 3<br />

K 4<br />

L 4 (=K 4 )<br />

M = e(x B P, d A1 ) · e(Q<br />

} {{ }<br />

B1 , x A sP )<br />

} {{ }<br />

M 1<br />

M 2<br />

Z = (x A x B P , x<br />

} {{ } A r B P , r<br />

} {{ } A r B P , r<br />

} {{ } A x B P )<br />

} {{ }<br />

Z 1 Z 2 Z 3 Z 4<br />

9, S <strong>de</strong>sconhece a chave parcial secreta d A1 = abP , pois não sabe calcular ab. Na Tabela<br />

3, são indicados com “x” outros componentes secretos aos quais S não tem acesso. São<br />

os casos em que A é permitido substituir a chave pública ou escolher ativamente o valor<br />

temporário <strong>de</strong> sessão, preservando ainda a característica <strong>de</strong> sessão fresh e com matching.<br />

De acordo com a <strong>de</strong>finição <strong>de</strong> sessão fresh, se não houver sessão com matching, o<br />

receptor não po<strong>de</strong> ser totalmente corrompido. S precisa tratar corretamente as situações<br />

em que B se envolve em sessões integralmente corrompidas, isto é, com um participante<br />

C <strong>de</strong>sonesto. Esse cenário é tratado como subcaso dos casos 1, 4, 5, 6, 8 e 9. Analogamente,<br />

S <strong>de</strong>ve lidar corretamente com as sessões em que A interage com o participante C<br />

<strong>de</strong>sonesto; essa situação é tratada como subcaso <strong>de</strong> todos os nove casos.<br />

Na sequência, vamos analisar os nove casos sobre sessões que envolvem A e/ou<br />

B, participantes do Teste. Nos casos 5 a 9, fazemos uso do oráculo <strong>de</strong> <strong>de</strong>cisão BDH,<br />

suposto existente no problema Gap-BDH. No caso 9, usamos duas variantes do problema<br />

Gap-BDH, que mostramos serem equivalentes ao Gap-BDH, no Apêndice A.2.<br />

Caso 1. O <strong>de</strong>safio é embutido em Z 1 . Se A consulta H(A, B, E A , E B , K, L, M, (Z 1 , Z 2 ,<br />

?<br />

Z 3 , Z 4 )), S verifica se e(aP, bP ) = e(P, Z 1 ), caso sim, answerBDH ←<br />

e(cP, Z 1 ). S proce<strong>de</strong> como no caso (a) para manter H lst atualizada.<br />

Casos 2, 3 e 4. O <strong>de</strong>safio é embutido respectivamente em Z 3 , Z 2 e Z 4 . S proce<strong>de</strong> <strong>de</strong><br />

forma semelhante ao caso 1.<br />

Caso 5. O <strong>de</strong>safio é embutido em M 1 .<br />

Se A consulta H(A, B, E A , E B , K, L, M, Z), S verifica se M 1 contém a resposta ao<br />

<strong>de</strong>safio, calculando M 2 = e(d B1 , x A P ), M 1 = M/M 2 e submetendo 〈aP, bP, cP, M 1 〉<br />

ao oráculo DBDH; se o oráculo respon<strong>de</strong>r positivamente, answerBDH ← M 1 . S verifica<br />

se já foi calculada chave para a sessão em questão ou uma com matching; em caso<br />

positivo, atualiza entradas incompletas no registro <strong>de</strong> H lst se for preciso, caso contrário,<br />

sorteia SK e cria novo registro em H lst . Respon<strong>de</strong> SK.<br />

Se A consulta RevealSessionKey(A, B, s), S calcula as variáveis <strong>de</strong> que é capaz e procura<br />

(A, B, E A , E B , ∗, ∗, ∗, (∗, ∗, Z 3 , Z 4 ), ∗) em H lst ; se encontrar registros na forma<br />

K<br />

(A, B, E A , E B , K, L, M, (Z 1 , Z 2 , Z 3 , Z 4 ), SK), calcula K 1 =<br />

K 2·K 3·K 4<br />

M 1 = M M 2<br />

e fornece<br />

〈aP, bP, r B P, K 1 〉 e 〈aP, bP, cP, M 1 〉 ao oráculo DBDH; se o oráculo respon<strong>de</strong>r<br />

positivamente em ambas consultas, S calcula L 1 =<br />

L<br />

L 2·L 3·L 4<br />

e verifica se valem todas as<br />

?<br />

= e(r B P, yaP ) · K −z<br />

1 , se e(x A P, x B P ) ? = e(Z 1 , P ) e se<br />

seguintes igualda<strong>de</strong>s: se L 1<br />

e(x A P, r B P ) = ? e(Z 2 , P ); em caso positivo, S respon<strong>de</strong> SK, caso contrário, sorteia novo<br />

SK.<br />

277

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!