Ho la necessità di memorizzare chiavi private per più utenti, in modo che la mia applicazione server possa firmare i file per loro conto.Memorizzazione di chiavi private nel database
Desidero memorizzare le chiavi private in modo sicuro, ma non sono riuscito a trovare le migliori pratiche in merito. Se stavo memorizzando una password, salverei + hash la password per creare un hash che non può essere facilmente reinserito nella password. Tuttavia, con una chiave privata ho bisogno di memorizzarlo in un modo che posso recuperare in seguito.
Stavo pensando di crittografare la chiave privata e quindi memorizzarla nel mio database. Inizialmente pensavo che ogni chiave sarebbe stata crittografata con una password diversa (basata su alcune proprietà dell'utente). Tuttavia, tali proprietà verrebbero probabilmente archiviate nel database, quindi se il mio database è trapelato, l'hacker ha tutto.
È possibile crittografare tutte le chiavi private con una sola password che è nota solo alla mia applicazione. Quindi un utente malintenzionato dovrebbe rubare il mio database e la mia richiesta di fare del male.
Esiste una tecnica/procedura ottimale che mi manca?