Attualmente sto utilizzando un sistema di accesso descritto di seguito:
- Una stringa di 1000 caratteri viene generata sul server ogni volta che il sito viene aperto e funziona per un massimo di 5 minuti, a quel punto viene generata una nuova stringa che sarà in memoria fino al prossimo login
- La stringa viene quindi crittografata utilizzando la mia chiave pubblica che è archiviata sul server
- Il messaggio crittografato PGP viene quindi mostrato nella pagina di accesso
- Dopo aver decifrato il messaggio PGP usando la mia chiave privata, copio / incollo il messaggio decrittografato nella pagina di accesso
- e infine lo script sul lato server confronta il messaggio decrittografato con la stringa generata nel passaggio 1 e dopo che la stringa di accesso precedentemente generata non è più disponibile
I vantaggi dell'utilizzo di questo sistema:
- la password viene memorizzata solo nella memoria del server per un tempo molto breve
- Il messaggio PGP può essere decodificato solo tramite la mia chiave privata (RSA - 4096 bit) E la mia passphrase
Contro:
- inconveniente
- la mia implementazione potrebbe essere errata
Questo è solo a scopo didattico e non verrà utilizzato su alcun sistema di produzione.
Ho anche caricato il codice su github se qualcuno vuole vedere il codice
Quali sono alcuni dei potenziali rischi per la sicurezza dell'uso di questo sistema?