È generalmente accettato che i meccanismi di modifica della password dovrebbero chiedere all'utente la loro vecchia password (es. OWASP ) Il motivo è che un utente malintenzionato che ha accesso temporaneo alla sessione di un utente (tramite XSS, il computer rimasto connesso, qualunque cosa) avrà accesso solo a quella sessione.
Presumibilmente questo principio dovrebbe portare avanti altri meccanismi di autenticazione: certificati, token, ecc. (anche se non ho mai visto questo discusso)
Tuttavia, considera come funziona SSH authorized_keys. Se si ha accesso alla sessione di accesso di un utente, ma non alle proprie chiavi (ad esempio, se hanno lasciato il proprio accesso al computer), è possibile modificare il file authorized_keys. È possibile aggiungere la propria chiave al file, in modo da poter accedere all'account in futuro. Puoi anche rimuovere le chiavi legittime per bloccare il proprietario dell'account.
Quindi i progettisti di SSH dovrebbero essere in cerca di soluzioni per rafforzare questo? E quali approcci potremmo adottare per fermare questa vulnerabilità?