Tenía curiosidad acerca de cómo las contraseñas rellenadas en los campos de contraseña viajan del lado del cliente al lado del servidor. Entonces, comencé a explorar artículos en línea y utilizando mi propio conocimiento sobre redes y criptografía, llegué a una cierta conclusión. Pero sigo pensando que no entiendo el mecanismo completo. Esto es lo que sé y me corrija si estoy equivocado.
Hoy en día, la mayoría de los navegadores web utilizan HTTPS, que es TLS a través del protocolo HTTP. En este caso, se crea una sesión entre los dos lados mediante el protocolo de intercambio de contactos en el que se intercambian las claves para cifrar los datos. Por lo tanto, cuando inicio sesión o creo una nueva cuenta en Google, Facebook u otra parte, estas claves se utilizan para cifrar los datos antes de la transferencia. ( incluida la contraseña ).
Cuando el paquete llega al servidor, descifra los datos (incluida la contraseña). Si se trata de una cuenta nueva, el servidor almacena el valor hash de la contraseña o el valor hash con sal. Estoy pensando que durante este tiempo la contraseña está en forma de texto. En caso de que sea una cuenta antigua, el servidor simplemente verifica el valor hash de la contraseña con el valor hash almacenado del cliente.
Es que todos o los sitios web toman especial cuidado con las contraseñas para la transferencia ? ¿Cuál es la situación cuando solo se usa HTTP? ¿Cuál fue el escenario antes de que HTTPS entrara en escena?