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
e
, estabeleçam à distância uma chave simétrica de sessão
, de modo que uma terceira parte apenas “escute” (eavesdropper) não consiga descobrir
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
. Essa chave será usada depois em um cifrador rápido (por ex. AES) para todas as mensagens do canal.
Passo 3
A cifra
com a chave pública de B, calculando
e envia
para B.
Passo 4
B recebe
e decripta com sua chave privada
, obtendo
Agora B conhece a mesma chave simétrica
.
Passo 5
Para garantir que não há um intruso intermediário (man-in-the-middle), B gera um nonce aleatório
e envia-o cifrado com a chave simétrica:
Passo 6
A decifra
, recupera
e retorna para B o mesmo valor cifrado:
B decripta
e verifica que obteve o mesmo
. Isso prova que A conhece
.
Passo 7
A partir daí, ambos compartilham autenticamente a chave
e podem cifrar todas as mensagens subsequentes com
. A terceira parte, sem conhecer
nem
, só vê textos cifrados.
Passo 8
Hipóteses para a segurança do protocolo:
- A dificuldade de fatoração de
e (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
e de 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
, envia-o cifrado com a chave pública de B, B decripta e realiza um desafio/resposta usando
para autenticação mútua. Depois, toda comunicação é cifrada com o cifrador simétrico de chave
.
Hipóteses:
Hipóteses:
- RSA seguro (fatoração inviável).
- Autenticidade das chaves públicas (sem MitM).
- Boa geração de valores aleatórios (
e nonce). - Segurança do cifrador simétrico empregado.