Come conservare il client segreto in sicurezza sulla base dell'applicazione in Windows?

5

Vorrei memorizzare dati importanti del cliente (ad esempio password, token OAuth) in modo che siano accessibili solo da un'applicazione (separazione sulla base dell'applicazione). Il meccanismo deve essere trasparente per l'utente - una protezione aggiuntiva della password sarà irritante.

C'è un modo per ottenerlo in Windows?

(Nel caso di Android, tale separazione è possibile assegnando l'ID utente univoco a ciascuna applicazione e sfruttando i meccanismi standard * nix.)

Sono a conoscenza dell'esistenza di Storage isolato ( link ), ma la documentazione indica chiaramente non è raccomandato per la memorizzazione di dati preziosi:

You should not use isolated storage in the following situations:

  • To store high-value secrets, such as unencrypted keys or passwords, because isolated storage is not protected from highly trusted code, from unmanaged code, or from trusted users of the computer.
    
posta random_crane 05.11.2014 - 13:00
fonte

1 risposta

3

Dovresti utilizzare DPAPI per crittografare i dati prima di archiviarli in Storage isolato. Mentre DPAPI è principalmente mirato alla sicurezza per utente, non per applicazione, ha alcune disposizioni per il tuo scenario:

A small drawback to using the logon password is that all applications running under the same user can access any protected data that they know about. Of course, because applications must store their own protected data, gaining access to the data could be somewhat difficult for other applications, but certainly not impossible. To counteract this, DPAPI allows an application to use an additional secret when protecting data. This additional secret is then required to unprotect the data.

    
risposta data 11.11.2014 - 18:23
fonte

Leggi altre domande sui tag