[tc] info Root Of Trust

Salvatore Caratozzolo s.caratozzolo2 a campus.unimib.it
Ven 14 Dic 2007 19:03:42 CET


mmmm
potrebbe andare bene una introduzione del genere:
Per avere una macchina allo stato Trusted, il TPM ha 3 
componenti hardware/software considerate intrinsecamente 
fidate a priori e sono RTM, RTS e RTR.
RTM è il fulcro di tutto, da questo dipendono tutti gli 
altri root of trust, ne fa parte il CRTM, il primo 
elemento caricato nel bootstrap (e qui spiego che cos'è, 
il suo compito e le varie fasi del boot per introdurre la 
chain of trust e spiego l'importanza della catena per i RT 
successivi),
RTS invece si occupa di come vengono create e salvate le 
chiavi e gli stati dei PCR all'interno del TPM 
assicurandosi di come questi siano raggiungibili o no 
dall'esterno attraverso la sua interfaccia.
RTR invece assicura il corretto utilizzo della EK per la 
creazione del certificato AIK e il corretto utilizzo delle 
AIK nella Remote attestation (pero' qui mi sorge un 
dubbio: se la remote attestation avviene tramite un 
software esterno al TPM, come fa questo ad accorgersene 
che l'utilizzo che se ne fa è corretto? si considera anche 
il software trusted? MMMMMMMM....no!).
Un motivo per cui considerare queste parti fidate a 
priori, come dogmi, è il luogo in cui si trovano: il TPM, 
perchè una zona di memoria non modificabile! e il software 
installato è proprietario, creato dal produttore del TPM.

cosi va bene?

On Fri, 14 Dec 2007 17:33:41 +0100
  "Davide Vernizzi" <davide.vernizzi a gmail.com> wrote:
> Mah, io non mi farei troppi problemi su quali parti del 
>TPM sono
> cosa... vedila così, piuttosto: il CRTM è la RTM, mentre 
>il TPM è la
> RTS e RTR. Se poi vuoi sapere che pezzo di TPM fa cosa, 
>puoi pensarci,
> ma non credo che serva questa informazione per sapere 
>chi implementa
> quale root of trust.... del motivo per cui queste siano 
>root of trust,
> poi... è una cosa più di opportunità che altro: in una 
>sua
> presentazione Jan Camenish ha detto "quando in 
>crittografia non
> sappiamo come fare qualcosa ci inventiamo una trusted 
>party che faccia
> questa cosa per noi"... qui è lo stesso: non sappiamo 
>come fare a
> convincere il verificatore di una serie di cose e ci 
>inventiamo delle
> root of trust che facciano questa cosa (le trusted 
>parties di cui
> parlava Camenish). Poi ci preoccupiamo di fare in modo 
>che queste cose
> che ci siamo inventati siano credibili come trusted 
>parties (quindi
> mettiamo il packaging temper resistant, il codice non 
>modificabile, la
> memoria non accessibile e tutto il resto...).
> 
> On Dec 14, 2007 5:21 PM, Salvatore Caratozzolo
> <s.caratozzolo2 a campus.unimib.it> wrote:
>> mmm quello che più non mi è chiaro è cosa siano!
>> cioè, sono zone di memoria che contengono le varie
>> componenti del TPM? sono altro codice del TPM che
>> comunicano con gli altri componenti per assicurare loro 
>>la
>> protezione e lo stato "trusted"?
>> o semplicemente: il CRTM è RTM perkè è fidato di suo 
>>(cioè
>> perkè nn modificabile), keygeneration+memoria è RTS 
>>perchè
>> insieme garantiscono la fiducia e perchè si appoggia al
>> CRTM (che è RT), la AIK in congiunzione con la EK e i 
>>loro
>> certificati sono RTR perkè sono "assicurati dal CRTM" e
>> per la tecnica utilizzata (tutte le varie fasi, dallo
>> scambio della ekpub con la CA al rilascio del 
>>certificato
>> della AIK), quindi in poche parole RT vuol dire che la
>> tecnica utilizzata assicura che il componente sia 
>>fidato!
>> uffff....:\ come dire... ho bisogno di una introduzione 
>>a
>> questi componenti!
>>
>>
>>
>>
>> On Fri, 14 Dec 2007 16:53:22 +0100
>>   "Davide Vernizzi" <davide.vernizzi a gmail.com> wrote:
>> > RT sta per Root of Trust e sono quelle parti di cui ci
>> >si fida per
>> > forza, altrimenti l'intera cosa crollerebbe... M, S e 
>>R
>> >stanno per
>> > Measures, Storage e Report, quindi:
>> > RTM = Root of Trust for Measures.Si occupa di misurare
>> >il boot loader
>> > sostanzialmente e, come hai correttamente osservato, 
>>si
>> >trova nel
>> > CRTM. È una Root of Trust perché se non potessimo 
>>fidare
>> >di questo
>> > pezzo, non potremmo avere garanzie sul boot loader, ma
>> >il boot loader
>> > misura il kernel, quindi non potremmo avere garanzie
>> >neanche sul
>> > kernel e così via...
>> > RTS = Root of Trust for Storage. Si tratta del
>> >componente che mantiene
>> > lo storage in modo fidato. In particolare mantiene i 
>>PCR
>> >(che infatti
>> > non sono accessibili in altro modo), mantiene le 
>>chiavi
>> >e le
>> > informazioni di cui viene fatto il sealing ed il
>> >binding. Se non si
>> > potesse fidare di questo pezzo, non potremmo essere
>> >sicuri che i PCR
>> > non vengono modificati da qualcuno non autorizzato o 
>>che
>> >le chiavi che
>> > devono restare segrete effettivamente restino segrete.
>> >Queste funzioni
>> > fanno parte del TPM
>> > RTR = Root of Trust for Reporting. Si tratta di quella
>> >parte di
>> > sistema che garantisce che il reporting delle misure 
>>sia
>> >affidabile.
>> > In pratica è la remote attestation. Se non fossimo
>> >sicuri che la
>> > remote attestation è fatta da una Root of Trust, non
>> >potremmo fidarci
>> > delle informazioni che ci manda. Anche questa funzione 
>>è
>> >fatta dal
>> > TPM.
>> >
>> > Il TPM poi fa altre cose, ma queste non credo che 
>>siano
>> >Root of Trust
>> > (per intenderci, non ho mai sentito parlare di Root of
>> >Trust for
>> > Random Generator o altro). Alcuni dei componenti che
>> >fanno parte del
>> > TPM contribuisco al fatto che questo sia una Root fo
>> >Trust: ad esempio
>> > se non ci fosse il RSA Engine, il TPM non potrebbe
>> >essere una RTR
>> > perché non potrebbe firmare le attestazioni di
>> >configurazione.
>> >
>> > On Dec 14, 2007 4:30 PM, Salvatore Caratozzolo
>> > <s.caratozzolo2 a campus.unimib.it> wrote:
>> >> arrivato a questo punto mi vergogno un po' a chiedere 
>>ma
>> >> lo faccio lo stesso...
>> >> non ho ancora ben capito che cosa sono e che compito
>> >>hanno
>> >> i 3 componenti RTM, RTS, RTR!!!
>> >> il TPM ha diversi componenti: RSA Engine, Volatile
>> >>Memory,
>> >> NON-Volatile Memory, Key generation (AES, RSA), HMAC
>> >> Engine, ecc ecc, allora come si inseriscono i 3
>> >>componenti
>> >> di prima in questo contesto?
>> >> se li dividono?non capisco....
>> >> il RTM contiene il CRTM (e questo so bene che 
>>cos'è!!),
>> >> RTS cosa contiene? il keyGeneration e NON-Volatile
>> >>Memory?
>> >> ufff....schiaritemi le ideeeeeee!!!
>> >> _______________________________________________
>> >> tc mailing list - http://itlists.org/notcpa
>> >> tc a no1984.org
>> >> http://lists.no1984.org/mailman/listinfo/tc
>> >>
>> >
>> >
>> >
>> > --
>> > Davide
>> > _______________________________________________
>> > tc mailing list - http://itlists.org/notcpa
>> > tc a no1984.org
>> > http://lists.no1984.org/mailman/listinfo/tc
>>
>> _______________________________________________
>> tc mailing list - http://itlists.org/notcpa
>> tc a no1984.org
>> http://lists.no1984.org/mailman/listinfo/tc
>>
> 
> 
> 
> -- 
> Davide
> _______________________________________________
> tc mailing list - http://itlists.org/notcpa
> tc a no1984.org
> http://lists.no1984.org/mailman/listinfo/tc



Maggiori informazioni sulla lista tc