[tc] perchè usare il TPM nel boot?
Davide Vernizzi
davide.vernizzi a gmail.com
Lun 3 Dic 2007 17:48:27 CET
On Dec 3, 2007 5:08 PM, Salvatore Caratozzolo
<s.caratozzolo2 a campus.unimib.it> wrote:
>
> > Il calcolo lo fa tgrub, poi passa il valore dell'hash al
> >tpm con
> > l'indicazione del PCR da estendere...
> >
> >> il calcolo del SHA1 e l'estensione dei PCR avviene in
> >> un'unica fase dal TPM? una subito dopo l'altra dal TPM o
> >> da Trustedgrub?
> >
> > ... e l'estensione (ma solo l'estensione, non il calcolo
> >dell'hash)
> > avviene in maniera atomica nel tpm.
>
> aspetta non ho capito.
> TG chiama il TPM passandogli il PCR da estendere e il dato
> di cui il TPM deve calcolare il digest sha1. il TPM esegue
> i due comandi in maniera atomica!
> right?
no, tgrub fa l'hash e poi chiama il tpm passandogli l'hash ed i numero
del pcr... il tpm prende l'hash e poi fa l'estensione in maniera
atomica (quindi concatena il valore attuare del pcr con il valore
passatogli dal tgrub, ne calcola l'hash e poi scrive il nuovo hash nel
pcr... queste 3 operazioni avvengono in maniera atomica (almeno
credo)).
> TG non calcola nessun digest!e non passa nessun digest al
> TPM!
tgrub calcola l'hash del kernel che avvia, dei moduli del kernel e
delle righe di comando. Anche perché il tpm non può avere in alcun
modo queste informazioni.
Quello che è un po' confondente è che tgrub calcola un hash e che
questo hash viene usato per calcolare un hash... in teoria credo che
si possa passare al tpm anche un valore che non sia un hash, ma per
semplicità ho sempre visto passare l'hash di quello che deve andare
nel pcr. Questo avviene per vari motivi:
- limiti del tpm... che essendo un chip a basso costo ha poca memoria
in cui tenere i valori su cui fare i calcoli
- prestazioni del tpm... che essendo un chip a basso costo è
lentissimo in tutto quello che fa
- convenienza.. perché è più semplice che un'applicazione riesca a
fare ragionamenti complicati sulle misure che poi andranno nei pcr...
--
Davide
Maggiori informazioni sulla lista
tc