Algunos de ustedes pueden estar familiarizados con el proyecto aSSL, que utiliza AJAX / PHP para imitar el protocolo SSL. Utiliza RSA 512 o 1024 para las claves, y AES para los datos reales. Me parece impresionante en concepto, pero tengo curiosidad por ver si ven alguna interceptación obvia que pueda revelar las claves que se están pasando. Como todos sabemos, la técnica de encriptación de JS a PHP es típicamente inútil ya que la clave se pasa al lado del cliente. Este parece ser un enfoque más avanzado.
Aquí están los pasos: 1. El navegador llama al servidor para iniciar el proceso.
-
El servidor devuelve su módulo RSA y el exponente público.
-
El navegador genera una clave de intercambio aleatoria de 128 bits, la cifra mediante la clave pública del servidor y pasa la clave de intercambio cifrada al servidor.
-
El servidor recibe esta clave de intercambio cifrada de 128 bits, la descifra con su clave privada y, si el resultado es correcto, devuelve el tiempo de duración de la sesión.
-
El navegador recibe el tiempo de duración de la sesión y establece un tiempo de espera para mantener activa la conexión.
La URL del proyecto está aquí: enlace
Si esto tiene algún potencial, tengo algunas ideas sobre cómo mejorar aún más el apretón de manos y asegurar el lado del cliente.