Esistono modi sicuri per memorizzare la chiave segreta utilizzata in uno schema TOTP?

8

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?

    
posta Wug 01.03.2014 - 07:41
fonte

1 risposta

4

Sì. Cifra il tasto TOTP in testo normale sul lato dell'applicazione e salva il testo cifrato nel database. Se non ti puoi fidare nemmeno dell'applicazione, usa un HSM (modulo di sicurezza hardware) o creane una versione software.

    
risposta data 01.03.2014 - 09:21
fonte

Leggi altre domande sui tag