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.