Sobre la creación de una nueva cuenta en esquemas de "cifrado de conocimiento cero" cliente-servidor
Client requests a nonce by sending new username
Server sends client a random nonce if username is available.
Client generates new RSA key pair.
Client signs nonce with private key.
Client sends singed nonce AND public key AND clear text username.
Server verifies nonce using public key.
¿Esto excluye al hombre en los ataques medios?
A primera vista, el servidor debe confiar en todo lo que envíe el 'cliente', pero solo el cliente original pudo haber firmado el contrato con su propia clave privada. Entonces, ¿la clave pública enviada por el cliente también puede ser confiable?
¿Es esto cierto?