Quando si acquisisce la proprietà di un TPM in Windows 7, qual è l'SRK derivato dalla password?

7

Quando diventi proprietario di un TPM in Windows 7, si incontra una schermata come questa:

Basato su questo documento , sono a mia conoscenza che completando questa la finestra di dialogo genera in qualche modo la generazione della chiave radice di archiviazione (SRK) in base alla password:

Storage Root Key: The Storage Root Key (SRK) is used to wrap TPM protected keys which can be stored outside the TPM. This builds a hierarchy of keys represented in figure 4 on an external storage device like a hard disk drive. The SRK is embedded into the TPM and is generated during the process of taking logical ownership of the platform. It can be re-generated by creating a new platform owner which destroys the previous key hierarchy and all the data and keys it contains.

Questo solleva le seguenti domande:

  1. In che modo SRK è derivato dalla password?
  2. Come viene salvato l'SRK?
  3. Se l'SRK è in qualche modo compromesso, con quale facilità la password può essere derivata da SRK?
posta alx9r 17.03.2013 - 19:53
fonte

2 risposte

6

Dichiarazione di non responsabilità: non sono un esperto di TPM - la maggior parte di questo è venuto da una mezz'ora di ricerca. Sono riuscito a ricostruire insieme una ragionevole comprensione del processo e dei dettagli dalle specifiche TCG TPM, la documentazione dell'API TPM su MSDN e vari articoli sull'argomento.

L'SRK è una coppia di chiavi RSA (di almeno 2048 bit) utilizzata come root per una catena di trust all'interno del TPM. Agisce come la massima autorità di fiducia. Se una chiave RSA secondaria viene caricata nel TPM e firmata con SRK, quella chiave viene classificata come attendibile e altri materiali firmati con quella chiave possono essere caricati tramite tale catena di trust. L'SRK non deriva da una password: è una chiave RSA generata nell'hardware.

Quando si assume la proprietà del TPM, il processo implica due cose: una sta generando SRK, l'altra sta memorizzando il segreto di autenticazione del proprietario . Una volta impostato, questo segreto viene utilizzato per autenticare gli utenti proprietari nelle sessioni future, in genere tramite uno scambio basato su HMAC.

Le specifiche TCG (Trusted Computing Group) per TPM non specificano come deve essere creato questo segreto, ma Windows utilizza un hash SHA1 della password codificata UTF-16LE, con il terminatore null della stringa escluso ( fonte ). Se si è in grado di recuperare il segreto di autenticazione del proprietario dal TPM, si sarebbe in grado di decifrarlo altrettanto rapidamente di qualsiasi altro hash SHA1, ad es. via oclHashcat. Catturare semplicemente uno scambio di autenticazione (HMAC di un valore di sfida usando il segreto come chiave) non è sufficiente per violare il segreto di autenticazione, poiché il valore di sfida viene generato dal TPM.

L'SRK è memorizzato nel TPM in un formato crittografato, utilizzando uno dei due diversi metodi di crittografia. Se viene utilizzato il protocollo ADIP (Authorization Data Insertion Protocol), SRK può essere crittografato con AES-128-CTR o XOR semplice. Se ADIP non viene utilizzato, XOR è l'unico metodo definito dalla specifica. Pertanto, si prevede che il sistema calcoli la propria chiave e archivi le informazioni secondarie come l'IV all'interno delle aree non protette del TPM. La creazione della chiave per la crittografia è, ancora una volta, interamente dipendente dal sistema operativo.

È ovvio che chiavi diverse possono essere utilizzate per la proprietà della crittografia interna e , cioè una chiave SRK e una chiave del proprietario. Tuttavia, sembra che Windows semplifica la situazione utilizzando la stessa chiave per entrambi.

    
risposta data 17.03.2013 - 20:44
fonte
2

Mi rendo conto che questo è un thread vecchio, ma comunque ...

This raises the following questions:

  1. How is the SRK derived from the password?
  2. How is the SRK stored?
  3. If the SRK is somehow compromised, how easily can the password be derived from the SRK?
  1. Non lo è. L'SRK viene generato dal TPM utilizzando un generatore di numeri casuali incorporato. La password viene utilizzata per autorizzare le azioni SRK.
  2. Sia la password che l'SRK sono memorizzati nella NVRAM TPM. La parte privata della SRK non esce mai dal TPM.
  3. Questo ha due mezze risposte, a seconda di cosa intendi.
    1. La metà privata dell'SRK è difficile da compromettere: a meno che l'NSA non sia il tuo avversario (e anche allora), puoi sostanzialmente presumere che ciò non accadrà. Per fare ciò richiederebbe un microscopio elettronico o la rottura di RSA.
    2. Se la password è compromessa, consente alle parti remote di autorizzare le operazioni SRK su questo TPM . Non ricevono la stessa SRK, dal momento che SRK non ne deriva.

Nota: si dice che l'NSA sia in grado di infrangere le chiavi private detenute dal TPM tramite un attacco di forza. Un simile attacco richiede ancora l'accesso fisico alla macchina; non può essere montato da remoto.

    
risposta data 10.04.2015 - 18:42
fonte

Leggi altre domande sui tag