[tc] info AIK

Davide Vernizzi davide.vernizzi a gmail.com
Mer 21 Nov 2007 12:03:05 CET


On Nov 21, 2007 10:25 AM, Salvatore Caratozzolo
<s.caratozzolo2 a campus.unimib.it> wrote:
> ehehehe attento Davide!! o ci riempi di messaggi
> incompleti!

Eh, hai ragione... ma ho la tastiera inglese... per fare le lettere
accentate devo premere l'accento e poi la lettera, ma l'accento è
vicino al tab, quindi ogni tanto mi sbaglio, premo il tab, il focus
esce dal campo di inserimento del testo e va sul pulsante send e se
premo spazio manda...

> cmq altra domanda: ma come funziona la storia del TPM
> utilizzato con i DRM?

beh... non funziona... nel senso che non esiste ancora alcuna
implementazione... in ogni caso dovrebbe assomigliare a questo:

1. faccio il boot con un bootloader trusted... quindi alla fine del
boot nei pcr avrò le misure di: bios, bootloader e kernel
sostanzialmente
2. a questo punto ho avviato un sistema trusted (trusted nel senso che
è riconoscibile a partire dalle misure nei pcr e che un verificatore
esterno si fida delle misure e del reporting perché sono fatti da crtm
e tpm)
3. il sistema trusted dovrebbe essere in grado di garantire isolamento
forte tra applicazioni... ad esempio usando virtualizzazione... in
ogni caso supponiamo che dati due programmi A e B, abbiamo la garanzia
che A e B non si parlano a meno che il sistema operativo non lo
consenta
4. faccio partire il player trusted... il kernel prima di avviarlo fa
la misura e la mette da qualche parte (un area di memoria protetta,
diciamo)
5. quando chiedo di accedere ad un contenuto, il verificatore mi fa
una remote attestation. Durante la remote attestation il tpm firma i
pcr e manda il tutto al verificatore
6. come al solito, se il verificatore di fida della PCA che ha emesso
AIK_Cert e bla bla bla, quindi si fida delle misure, quindi si fida
che le misure siano corrette, quindi può verificare le misure
7. il verificatore verifica che le misure riportate siano le stesse
che sono state fornite dal produttore del sistema trusted. Spiego
meglio: il produttore del sistema trusted (supponiamo MS) ha fatto il
kernel ed il bootloader... poi li ha misurati esattamente come fa il
tpm (praticamente ha fatto sha1 di tutto)... una volta misurati ha
reso pubbliche le misure e le ha messe sul suo sito. Ora chiunque può
vedere quali sono le misure di un sistema trusted di MS. Se le misure
fornite dal tpm coincidono con quelle fornite da MS, sulla macchina
che ha quel tpm, sta girando quel sistema trusted di MS
8. a questo punto il verificatore sa che: a) c'è un tpm genuino, b)
sta girando un sistema trusted di MS...
9. a questo punto se il verificatore si fida del sistema che sta
girando sulla macchina potrà interrogarlo e fidarsi delle risposte. In
particolare gli chiederà che player l'utente sta utilizzando... visto
che il sistema aveva misura il player prima di avviarlo, può dare la
misura che aveva fatto (anche qui la misura è un hash del binario)
10. a questo punto il verificatore sa che: a) c'è un tpm genuino, b)
sta girando un sistema trusted di MS, c) il contenuto verrà
visualizzato con il player XXX prodotto da YYY... quindi può andare da
YYY (supponiamo Real o Appple o chiunque produce player) e chiedere le
misure del player XXX... una volta ottenute queste misure, le
confronta con quelle fornite dal sistema trusted... se coincidono,
allora il verificatore è persuaso che sulla macchina sta girando
proprio quel player che non è stato compromesso... quindi se quel
player garantisce che rispetterà le policy imposte dal verificatore,
il verificatore sa che le sue policy verranno rispettate...
11. a questo punto sa che: a) c'è un tpm genuino, b) sta girando un
sistema trusted di MS, c) il contenuto verrà visualizzato con il
player trusted XXX prodotto da YYY e che questo non è stato
compromesso....

quindi, ricapitolando, il verificatore si fida di PCA, quindi si fida
di AIK_Cert, quindi si fida del tpm, quindi si fida del sistema
trusted, quindi si fida che è stato avviato il player XXX, e se si
fida anche di XXX, allora si fida di tutta la catena di trust che c'è
su quella macchina e può mandare il contenuto a XXX.

Tutto chiaro? Mi rendo conto che è un po' confuso, ma sono molte
interazioni.. forse ci andrebbe qualche disegnino o qualche slide...
mah.

> ps ma di rispondere alla mia simulazione proprio no eh!!

è un po' lungo... riscrivilo per punti e sintetico e ci provo.

-- 
Davide


Maggiori informazioni sulla lista tc