Sì, può essere fatto. Questo è chiamato Scambio chiavi autenticati tramite password . Tali protocolli riutilizzano elementi "criptati asimmetrici" (come Diffie-Hellman) e li mescolano "in modo intelligente" con un segreto condiviso, in modo che:
- Client e server si autenticano a vicenda per quanto riguarda il segreto condiviso.
- Indovinare il segreto condiviso non consente di decodificare le sessioni precedenti.
- Nulla in ciò che viene registrato fornisce informazioni sufficienti per test valori potenziali per il segreto condiviso.
La terza condizione implica che un segreto condiviso a bassa entropia, ad es. una "password", può ancora essere utilizzata in tutta sicurezza, da qui il nome per questo tipo di protocollo. Il concetto crittografico è stato inventato nel 1992 da Bellovin e Merrit, sotto il nome di "scambio di chiavi crittografato" (formalmente, uno scambio di chiavi DH in cui i messaggi sono simmetricamente cifrati con il segreto condiviso, in modo che la decrittazione con il segreto sbagliato restituisca ancora la validità sintattica del DH messaggi - i requisiti matematici effettivi sono sottili).
Nel contesto di SSL / TLS, è stato definito un protocollo PAKE standard, sotto il nome SRP (vedere anche la pagina di Wikipedia ). SRP è buono. Sfortunatamente, i browser Web non sembrano supportarlo (ancora).