Exercício 26.1. Problema do hand shaking: Mostre como dois usuários do sistema RSA podem estabelecer, a distância, um canal seguro (em relação a uma terceira parte que esteja espionando as comunicações). Quais as hipóteses para isso ser possível?

Passo 1

O enunciado pede um protocolo de handshake para que dois usuários, A e B, que já dispõem de chaves RSA públicas (eA,NA) e (eB,NB), estabeleçam à distância uma chave simétrica de sessão K, de modo que uma terceira parte apenas “escute” (eavesdropper) não consiga descobrir K nem decifrar as mensagens subsequentes. Vamos usar criptografia híbrida (RSA + cifra simétrica) e um desafio/resposta para autenticação mútua.

Passo 2

A gera aleatoriamente uma chave de sessão simétrica K. Essa chave será usada depois em um cifrador rápido (por ex. AES) para todas as mensagens do canal.

Passo 3

A cifra K com a chave pública de B, calculando
C ;=; K^eB bmod NB
e envia C para B.

Passo 4

B recebe C e decripta com sua chave privada dB, obtendo
K ;=; C^dB bmod NB
Agora B conhece a mesma chave simétrica K.

Passo 5

Para garantir que não há um intruso intermediário (man-in-the-middle), B gera um nonce aleatório R e envia-o cifrado com a chave simétrica:
D ;=; EncK(R)

Passo 6

A decifra D, recupera R e retorna para B o mesmo valor cifrado:
D' ;=; EncK(R)
B decripta D' e verifica que obteve o mesmo R. Isso prova que A conhece K.

Passo 7

A partir daí, ambos compartilham autenticamente a chave K e podem cifrar todas as mensagens subsequentes com EncK(cdot). A terceira parte, sem conhecer dB nem K, só vê textos cifrados.

Passo 8

Hipóteses para a segurança do protocolo:
  • A dificuldade de fatoração de NA e NB (pressuposto de segurança do RSA).
  • As chaves públicas são autênticas e não foram substituídas (nenhum ataque man-in-the-middle na fase de distribuição das chaves).
  • Geração de K e de R com entropia alta, para não serem previsíveis.
  • O cifrador simétrico usado (por ex. AES) é resistente a criptoanálise e fornece confidencialidade (privacidade) das mensagens do canal.

Resposta

O canal seguro é estabelecido via troca híbrida de chave: A gera K, envia-o cifrado com a chave pública de B, B decripta e realiza um desafio/resposta usando K para autenticação mútua. Depois, toda comunicação é cifrada com o cifrador simétrico de chave K.
Hipóteses:
  • RSA seguro (fatoração inviável).
  • Autenticidade das chaves públicas (sem MitM).
  • Boa geração de valores aleatórios ( K e nonce).
  • Segurança do cifrador simétrico empregado.

Exercícios de Livros Relacionados