2011-01-21 16 views
14

Supponiamo che qualcuno acceda a tutto il mio disco fisso, suppongo che il punto debole sarebbe la mia password di Windows. Senza sapere/essere in grado di recuperarlo, i dati dovrebbero essere praticamente al sicuro, non dovrebbe?Quanto è protetto ProtectedData.Protect (DPAPI)?

che sto chiedendo in particolare a causa della EFS entry in wikipedia cui si afferma che

In Windows 2000, l'amministratore locale è l'agente recupero dati predefinito, in grado di decifrare tutti i file crittografati con EFS da qualsiasi utente locale .

ed EFS succede utilizzare DPAPI. Così fa lo stesso si applica ai miei dati protetti con questo:

ProtectedData.Protect(plain, null, DataProtectionScope.CurrentUser); 

E se questo è davvero il caso, come potrei impedirlo?

[Modifica] N.B. Sto cercando di memorizzare le credenziali per un'app winforms in modo che l'utente non debba inserire la propria password ogni volta che effettua l'accesso. In altre parole, se qualcuno è in grado di accedere come tale utente (cioè conosce la password dell'utente), potrebbe anche essere in grado di leggere i dati crittografati.

Quale - non proveniente da uno sfondo di Windows - ora mi fa meraviglia - non può comunque l'accesso di amministratore locale come qualsiasi utente locale? In tal caso, non dovrei essere preoccupato per l'amministratore essere in grado di recuperare le password in ogni caso ...

[Edit2] Come rivela Google, sembra che un amministratore non può semplicemente effettuare il login come qualsiasi utente senza ripristinare/cambiare prima la password. Quindi la mia domanda sembra ancora rilevante ...

+0

Le password di Windows sono notoriamente facili da interrompere in quanto si dispone di accesso fisico. (Questo potrebbe essere cambiato nelle versioni recenti, anche se non a mia conoscenza. Mi piacerebbe essere smentito.) –

+0

@Matthew: qualche link per supportarlo? –

+0

cerca l0ftcrack. Mi rifiuto di collegarlo direttamente. Come per XP almeno (e ancora, le mie informazioni potrebbero non essere aggiornate) quasi tutte le password di Windows possono essere violate in pochi minuti dato l'accesso ai file delle password (ad esempio l'accesso fisico). Per quanto ne so, questo è tutto irrilevante per gli utenti della rete. Ciò è dovuto a un punto debole nel modo in cui le password vengono elaborate/hash. –

risposta

4

Vedere this article on DPAPI Security. Fondamentalmente, è sicuro quanto la password di Windows: se la password viene reimpostata da un amministratore, la chiave di decrittografia andrà persa. I principali vettori di attacco avrete bisogno di guardare sono:

  • password disclosure: "shoulder surfing", le note adesive, ecc
  • cattura del computer del database degli account e l'utilizzo di una password cracker
  • attacco online di "drive-by download", supporti rimovibili AutoPlay, ecc
  • bloccaggio di un disco di reimpostazione password, se hai fatto uno
  • L'installazione fisica di un dispositivo di key-logging o altro "bug"
+0

Sfortunatamente, l'articolo non tratta il problema dell'amministratore a cui sono specificamente interessato. –

+0

"Se la password viene reimpostata da un amministratore, la chiave di decrittografia andrà persa."- Non secondo [questo articolo] (https://msdn.microsoft.com/en-us/library/ms995355.aspx?f=255&MSPPError=-2147217396). Dice" DPAPI si aggancia al modulo di modifica della password e quando viene modificata la password di un utente, tutti i MasterKey vengono nuovamente crittografati con la nuova password. " – Jez

+1

@Jez, in una modifica della password (diversa da una reimpostazione della password) viene fornita la vecchia password in modo che le vecchie chiavi possano essere decodificate; un disco di reimpostazione della password può fornire un backup della vecchia chiave per i ripristini automatici.Per gli account di dominio, una chiave di backup può anche essere archiviata nel controller di dominio, ma per gli account locali il disco di reimpostazione della password è l'unico backup effettuato. –

15

EFS utilizza DPAPI, non il contrario. E l'amministratore non può leggere la tua chiave proprio così.

Prima di dimenticare DPAPI, vorrei prendere in considerazione le alternative. Se si crittografa il file da soli,

  1. è necessario selezionare una procedura forte e implementare bene.
  2. Avrete bisogno di una chiave. Dove sarà?
  3. Memorizzerete la chiave in un file da qualche parte sull'unità.
  4. Quella chiave è sensibile, ovviamente, si vuole crittografare
  5. Goto 1

DPAPI fa 1-3 bene. 4 e 5 sono discutibili. Se una password di Windows non è sufficiente per proteggere i dati, chiediti perché è sufficiente che i dati siano in primo luogo CRUD.

Per maggiore sicurezza, è possibile considerare di non salvare i dati ma un hash (salato), se possibile. Rende i tuoi dati solo scritti, però. Per esempio, se si desidera verificare un numero di licenza del cliente:

  • Salva un valore hash salata di esso
  • Eseguire lo stesso hash del numero di licenza salata che si desidera verificare,
  • confrontare i due. Corrispondono, la licenza è valida.

Se è necessario leggere i dati crittografati e una chiave crittografata a livello locale non è sufficiente, prendere in considerazione la crittografia della chiave dell'applicazione (passaggio 2 sopra) con una chiave privata memorizzata su una smart card.

In entrambi i casi, ricorda che le cose accadono. Hai sempre bisogno di una chiave di backup da qualche parte.

1

DPAPI può essere utilizzato sia con che senza entropia opzionale. Ci sono solo due modi DPAPI Blobs senza entropia opzionale può essere compromessa:

  1. un amministratore di dominio può recuperare direttamente la storia di nessuno di chiavi master DPAPI in qualsiasi momento. Nient'altro è richiesto. Questi possono essere usati per decodificare tutti i BLOB. Gli amministratori locali non possono farlo.

  2. Le credenziali di Windows dell'utente sono compromesse.

Se si utilizza l'entropia opzionale quindi i dati non possono essere decifrati da chiunque che pretende molto conoscere il valore. L'entropia può essere derivata da una password richiesta per avviare l'applicazione, ecc. Senza il valore, i dati vengono persi per sempre.

EFS funziona in modo diverso. La chiave utente viene protetta utilizzando DPAPI per il proprio profilo, ma la chiave di decrittografia per il file stesso viene inoltre crittografata direttamente anche con la chiave pubblica dell'amministratore. Pertanto un amministratore di dominio può accedere ai file.