[tc] simulazione tpm / RA
Salvatore Caratozzolo
s.caratozzolo2 a campus.unimib.it
Mer 14 Nov 2007 11:51:46 CET
volevo fare un esempio di una Remote Attestation +
controllo PCR con un server!
mettiamo di trovarci in una rete aziendale dove ci sono 5
computer con TPM + un server con TPM.
LATO CLIENT
la PRIMA VOLTA tutti e 5 i client eseguono Trustedgrub e a
SO caricato creano la AIK (una chiave firma creata a
partire dalla EK) e la fanno anche autofirmare dal TPM
(nel senso che si crea una sorta di digest per evitare la
perdita di pacchetti nella rete, se arriva solo mezzo
pacchetto almeno con il digest si accorge che manca
qualcosa o che il pacchetto è corrotto!).
i clients successivamente creano un set di good-values,
cioè i valori dei PCR che il server deve accettare per
buoni e si registra nel server via http, ad sempio ma
poteva essere fatto anche in altri modi giusto?
nella registrazione invieranno sia l'AIK che il set di
Godd-values!
nei set of good-values oltre ai digest presenti nei PCR si
inserisce anche il digest della macchina che ospita il
server (si potrebbe indicare indirizzo ip + nome macchina
o link http) e/o digest di programmi che si vuole essere
sicuri che siano originali, volendo si potrebbe eseguire
l'extend di due programmi sullo stesso PCR_10, tanto il
risultato finale sarà cmq qualcosa di univoco, basta non
cambiare l'ordine dell'extend! se estendiamo nel pcr_10 i
digest di Word e poi di Kate in un successivo riavvio
l'ordine deve essere ancora quello altrimenti si ha un
digest finale diverso!.
LATO SERVER
il server ha anch'esso installato Trustedgrub e i digest
presenti nei SUOI PCR vengono "assicurati" , "certificati"
ad ogni avvio grazie al SEAL di un file (l' UNseal viene
eseguito appena il SO è stato caricato, oppure quando
l'amministratore lo richiede in un momento qualsiasi basta
che sia prima di ricevere le remote attestation e le
configurazioni dei PCR dei clients).
se l' UNSEAL avviene correttamente (cioè se i PCR hano dei
valori originali) allora fino a quel momento ho tutto
nella norma!
il server rimane in attesa di richieste di registrazione o
di certificazione!
mettiamo che sia la prima volta che si esegue il
sistema!quindi il server non ha ancora un Database e
rimane solo in attesa di una o + registrazioni!
attraverso un http server installato nella stessa
macchina, riceve i pacchetti
AIK_firmato+set-of-good-values da ciascun client e li
salva in un suo Database.
il Database è cifrato con il TPM con una chiave simmetrica
, che a sua volta è cifrata e salvata dentro il TPM con
una chiave asimmetrica, questa a sua volta è salvata nel
TPM.
il DB potrebbe essere benissimo quel file di cui parlavo
prima, usato come metodo sicuro che i PCR del boot del
server siano allo stato originale.
ad ogni successivo avvio ogni client dovrà mandare, dopo
che il SO è stato caricato, lo stato dei PCR + AIK_firmata
al server e rimanere in attesa della sua risposta come
assicurazione che tutto si trovi nella norma!fino a quel
momento ogni client deve rimanere bloccato!(mettiamo che
durante l'attesa un attaccante con la modifica di un
modulo kernel riesca ad aprire documenti e ad inviarli via
mail prima che il server mandi la risposta la cosa
potrebbe danneggiare la società!!).
il server riceve la richiesta, confronta i dati ricevuti
con quelli presenti nel DB decifrato dopo il boot e
risponde.
se i PCR sono allo stato originale allora i client si
trovano in uno stato fidato e possono proseguire con il
lavoro!
mettiamo caso che invece il server sia irraggiungibile o
che sia stato oggetto di un attacco DOS, il client puo'
rimanere in attesa al max per 5 mn (esempio!) e proporre a
chi sta davanti al pc se rimandare il pacchetto o
contattare l'amministatore della rete via telefono!
se invece il server risponde negativamente allora il
client o manda un'avviso via mail o contatta per sms (come
sono fantasioso!!!) all'amministratore!cmq la macchina
resta bloccata finchè non viene inserita un psw di root
per entrare e finche non viene inserita la owner password
del TPM che permetta di fare le opportune modifiche!
ok questa visione generale come vi sembra? verosimile?
troppo fantasiosa?
Maggiori informazioni sulla lista
tc