Autenticación

Un problema de la comunicación cifrada es la autenticación. Cuando empiezas a hablar con alguien, es fácil configurar un canal cifrado tu contacto y tú. Pero es bastante difícil saber si tu canal va directamente a la otra persona, o si alguien en el medio ha logrado insertarse en la comunicación, ejecutando un ataque de persona en el medio. Puede pensar en esto como una persona sentada entre usted y su contacto, y descifrando todo lo que dices, leyéndolo y volviéndolo a cifrar para tu contacto, y lo mismo en la dirección opuesta. Este es un problema profundo y fundamental en criptografía, y la mejor solución disponible para nosotros es la de autenticar su contacto. Esto puede volverse un poco técnico, pero por ahora intentaremos mantenerlo ligero. Más información sobre cómo hacerlo la autenticación se puede encontrar en el manual del usuario, aquí.

La autenticación es realmente el proceso de verificar si la información criptográfica de su contacto es la correcta uno para esa persona. La mejor manera de hacer esto es sentarse junto a su contacto y verificar que tenga la misma información a ambos lados. Una forma de hacer esto es usar lo que se llama huella digital. La huella dactilar es un número que únicamente identifica su información criptográfica, por lo que si su contacto tiene la misma huella digital que usted, entonces sabe que nadie está sentado en el medio. Sin embargo, tendrás que comparar dos huellas digitales: una para ti y otra para tu contacto. En CoyIM, estas huellas dactilares son cadenas largas, compuestas por números y letras entre A y F. Los números suelen estar divididos en grupos más pequeños, para que sean un poco más fáciles de leer y administrar. Sólo para darte una idea, un fingerprint para una cuenta de CoyIM se ve así: 7B097059 6FB66BCF C4823540 DAD37B95 1818CB2D.

Sin embargo, comparar este tipo de cadenas de caracteres no es muy agradable, y también es fácil cometer pequeños errores. Por esta razón, CoyIM también te permite realizar la autenticación mediante un método llamado Protocolo del Socialista Millonario (Socialist Millionaire Protocol - SMP). Con este método, puedes autenticar a la otra persona si ambos conocen un secreto, o si comparten un número de algún tipo. Lo importante aquí es que ambos sepan exactamente el mismo secreto y que ninguna otra persona pueda averiguarlo. También puedes proporcionar una pista, si así lo deseas. Por ejemplo, un buen secreto podría ser “¿De qué país vino la comida que comimos la primera vez que nos conocimos?”. La respuesta puede ser “Tailandia”. Lo importante es que tu contacto escriba exactamente la misma cadena de caracteres que tú, por lo que debes ser ​​claro con esto, sin revelar el secreto. Sin embargo, no es como una contraseña, donde un atacante tendrá muchas posibilidades de intentar romper su seguridad. Lo bueno de SMP es que sólo tienes una oportunidad. Pero a veces eso también puede hacer que sea más complicado verificar a otra persona. Una advertencia importante: no debes decir el secreto en la ventana de chat, ya que este es el canal que estamos tratando de asegurar. Si usáramos este canal inseguro para transmitir el secreto, eso frustraría el propósito de intentar autenticar a la persona.

CoyIM también tiene una versión simplificada de SMP, donde se genera un número de seis dígitos para ti. Si tienes otra forma razonablemente segura de enviar este número a tu contacto, el proceso se vuelve muy fácil y ágil. Lo importante es que autentiques a tu contacto de alguna manera antes de que confíes en el cifrado realmente. Lamentablemente, esta es la parte más complicada del proceso y no es una cosa fácil de resolver. Con CoyIM, hemos intentado hacer el proceso lo mejor posible, sin dejar de mantener la seguridad.