Sto scrivendo una piccola webapp che dimostra l'autenticazione a 2 fattori. Sto usando il protocollo TOTP come descritto in RFC 6238 . Nel nostro schema, stiamo memorizzando, oltre a un hash di password b-criptato per ogni utente, una chiave segreta, che viene utilizzata per convalidare codici monouso.
Sto usando postgreSQL per un back-end del database. Supponiamo che il mio database sia compromesso a mia insaputa. Le password sono tutte sicure perché sto salendo e crittografandole: non c'è un attacco facile che rivelerà tutte le password, a meno di forzare brute ciascuna.
C'è un modo in cui posso tranquillamente archiviare la chiave per il TOTP? Non posso cancellarlo, ho bisogno del suo testo in chiaro per la convalida OTP.
C'è un modo per archiviare questa chiave in modo sicuro?