Suppongo che tu stia lavorando in .Net o forse in un livello inferiore come C ++. Di aver recentemente consumato queste API ecco cosa consiglierei.
Sono disponibili 2 provider di configurazioni protette, DPAPI (più appropriato per le applicazioni desktop lato client) e Provider RSA . Quest'ultimo è più appropriato per crittografare web.configs in quanto si tratta di una configurazione a chiave pubblica in cui solo il servizio ASP.NET ha la chiave privata per decrittografare i dati, questo può essere definito sia dall'utente che macchina, simile a DPAPI.
Qui è una vecchia, ma solida procedura di esso in ASP.Net. Mi scuso se non stai usando .Net, non è chiaro. Comunque penso che il provider RSA sia il modo corretto per andare qui.
Per quanto riguarda la rottura della crittografia DPAPI, sì la maggior parte degli attacchi dovrebbe essere orchestrata sulla macchina di destinazione, di solito coinvolgendo un tentativo con i file SAM della password o script di reimpostazione della password destinati agli amministratori di sistema. Documento relativo alla conferenza - rottura di DPAPI offline: BlackHat 2010 .