Alcuni di voi potrebbero avere familiarità con il progetto aSSL, che utilizza AJAX / PHP per imitare il protocollo SSL. Utilizza RSA 512 o 1024 per le chiavi e AES per i dati effettivi. Mi sembra impressionante nel concetto, ma sono curioso di vedere se voi vedete delle intercettazioni ovvie che potrebbero / rivelerebbero le chiavi che vengono passate. Come tutti sappiamo, la tecnica di crittografia da JS a PHP è in genere inutile in quanto la chiave viene passata allo scoperto sul lato client. Questo sembra essere un approccio più avanzato.
Ecco i passaggi: 1. Il browser chiama il server per avviare il processo.
-
Il server restituisce il suo modulo RSA e l'esponente pubblico.
-
Il browser genera una chiave a 128 bit a scambio casuale, la crittografa utilizzando la chiave pubblica del server e passa la chiave di scambio crittografata al server.
-
Il server riceve questa chiave di scambio crittografata a 128 bit, la decrittografa con la sua chiave privata e, se il risultato è ok, restituisce la durata della sessione.
-
Il browser riceve la durata della sessione e imposta un timeout per mantenere attiva la connessione.
L'URL del progetto è qui: link
Se questo ha un potenziale, ho alcune idee su come migliorare ulteriormente l'handshake e garantire ulteriormente il lato client.