Quale PCR possiamo estendere utilizzando il nostro codice?

2

Poiché ci sono 24 PCR nella specifica TPM 1.2. Alcune di queste PCR sono riservate e non possono essere estese con il codice dell'utente. Di seguito sono riportati l'indice PCR con il loro utilizzo:

0 - CRTM, BIOS e estensioni della piattaforma
1 - Configurazione della piattaforma
2 - Opzione Codice ROM
3 - Configurazione e dati ROM delle opzioni
4 - Codice IPL (Informazioni su MBR e Bootloader Fase 1)
5 - Codice IPL e dati di configurazione (da utilizzare con il codice IPL)
6 - Eventi di transizione e attivazione dello stato
7 - Riservato per uso futuro. Non usare.
8 - Bootloader Stage 2 Parte 1
9 - Bootloader Stage 2 Parte 2
10 - Non in uso.
11 - Non in uso.
12 - Argomenti della riga di comando Bootloader
13 - File controllati tramite la routine del file di controllo
14 - File che sono effettivamente caricati (ad esempio kernel Linux, initrd, moduli ..)
15 - Non in uso.
16 - Non in uso.
17 - DRTM
18 a 23. Non in uso.

Che cosa ho capito che un utente può estendere tutti i PCR che non sono in uso? È corretto? Ho fatto questa domanda perché ho scritto il mio codice per estendere la PCR (seguendo il link ) e si scopre che posso estendere tutti i PCR tranne dal PCR 17 al PCR 22. E la mia comprensione è che posso solo estenderne alcuni e soprattutto non posso giocare con quelli inferiori da PCR 0 a PCR 7.

Il tuo aiuto è molto apprezzato! Posso anche inviare il codice se richiesto!

    
posta Geek 30.10.2013 - 15:55
fonte

2 risposte

-2

Dipende dalla località in cui ci troviamo ... ci sono 6 località. Ero in località 0.

    
risposta data 04.11.2013 - 19:11
fonte
1

Racconto

Puoi estenderli tutti, ma dipende dal contesto. Per capire cosa intendo per contesto, dobbiamo parlare del concetto di località. In breve, puoi vedere questo come una forma di dominio di fiducia. Per impostazione predefinita, ti trovi in Località 0.

Non vedo perché dovresti farlo ma per estendere tutti i PCR, devi trovarti in Locality 2. In altre parole, devi caricare un OS / MLE attendibile (un sistema operativo che desideri fidarti) usando DRTM.

Lunga storia

SRTM, cioè PCR 0-15 non possono essere ripristinati (tranne all'avvio) ma possono sempre essere estesi (è richiesta la località 0 che, come ho detto prima, è la località predefinita).

Per DRTM, ovvero 17-22, è un po 'più complesso. Lo descriverò un po 'ma la vera matrice che dovresti vedere è giusta qui sezione 7.2 .

  • La Locality 4 è controllata da hardware / microcodice, quindi puoi davvero vederla come root di DRTM / TXT. Viene utilizzato per ripristinare le PCR 17-20 e inviare la misurazione di SINIT ACM (Authenticated Code Module) in PCR 17. Non è possibile eseguire il codice in località 4, ma solo le istruzioni TXT, ma è possibile avviare questo processo utilizzando SENTER istruzioni.
  • Locality 3 si riferisce a SINIT ACM che è responsabile della convalida di alcune impostazioni di sicurezza che fanno riferimento a DRTM (tabelle ACPI / DMAR, ad esempio per la protezione DMA) e invia la misurazione del Measured Launch Environment (MLE) in PCR 18. Di nuovo, non hai accesso a questa località, solo SINIT (codice di Intel).
  • La località 2 è per il runtime del MLE. Può resettare 20-22 ed estendere tutti i PCR. Ecco dove puoi eseguire il tuo codice (qualunque sia il tuo sistema operativo preferito)
  • La località 1 è di uso generale per il MLE.

Come puoi vedere, i diversi livelli di localizzazione sono usati da DRTM per creare una sorta di livelli di fiducia a fasi.

    
risposta data 03.04.2014 - 17:35
fonte

Leggi altre domande sui tag