Anais - Engenharia de Redes de Comunicação - UnB
Anais - Engenharia de Redes de Comunicação - UnB
Anais - Engenharia de Redes de Comunicação - UnB
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