jump to navigation

Software Trusted Computing per Linux January 9, 2006

Posted by laspinanelfianco in Trusted Computing.
2 comments

Ammesso e non concesso che voleste utilizzare il Fritz Chip del vostro nuovo PC da Linux, come fareste? E se non avete il Fritz Chip? Continuate a leggere e lo scoprirete.

Driver Linux per il TPM

Nella pratica, la tecnologia “Trusted Computing” prende la forma di un microchip che viene saldato sulla motherboard del vostro PC. Questo chip si chiama TPM (Trusted Platform Module) e svolge sostanzialmente due funzioni:

  • genera e conserva chiavi crittografiche (DES e RSA)
  • cifra e decifra “al volo” file (programmi e documenti) e flussi di dati (comunicazioni)

Non è il chip a decidere cosa possiate fare del vostro computer. Sono i programmi (Sistema Operativo e Programmi Applicativi) ad utilizzare le funzionalità del Fritz Chip per proteggere sè stessi ed i loro dati.

Per sfruttare le funzionalità crittografiche del Fritz Chip è necessario un driver di dispositivo, esattamente come avviene per la stampante, la scheda video, il lettore DVD ed ogni altro “device” o “periferica” del vostro computer. Nelle macchine Windows e McOS X, questo driver verrà fornito con il sistema operativo. Nel caso di Windows, il driver (che non è veramente un driver…) si chiama “Nexus” ed arriverà sul mercato come componente di una tecnologia chiamata NGSCB e presente nel SP2 di Windows Vista, previsto per il 2008. Nel caso di Linux, il driver è disponibile come elemento standard del kernel nelle versioni 2.6.12 e successive. Per le versioni precedenti del kernel, dalla 2.4 alla 2.6.11, è disponibile una patch da applicare al kernel. Questa patch è stata sviluppata (sin dal 2003) dalla IBM ed è disponibile (in varie forme) a queste URL:

http://www.research.ibm.com/gsal/tcpa/

http://tpmdd.sourceforge.net/

Oltre al semplice driver, all’interno dei package tar.gz presenti a queste URL sono disponibili anche alcune librerie di utility ed alcuni esempi di utilizzo del TPM. A questa URL, invece, è presente una completa implementazione del TSS (Trusted Software Stack), cioè di tutto il software stack legato al funzionamento del TPM:

http://trousers.sourceforge.net/

Per vedere in funzione il TPM è necessario anche qualche programma applicativo che ne sfrutti le funzionalità. In questo momento, tuttavia, gli unici programmi applicativi disponibili sono gli esempi allegati al driver. Curiosamente il primo, e per ora anche l’unico, sistema operativo a supportare il TPM è proprio Linux, grazie al driver IBM incluso nella versione 2.6.12 del kernel.

Emulatore TPM per Linux

Al momento, il TPM è disponibile solo su alcuni PC Dell, IBM, Lenovo, Fujitsu e Hewlett-Packard. Se sul vostro PC non è disponibile il TPM potete ugualmente provare il brivido di questa sottile perdita di controllo grazie ad un emulatore software. L’emulatore in questione è stato sviluppato all’interno di una tesi di laurea come strumento didattico e di testo. Lo potete trovare a questa URL:

https://developer.berlios.de/projects/tpm-emulator

La relativa tesi è disponibile a queste URL:

http://www.infsec.ethz.ch/people/psevinc/TPMEmulatorTalk.pdf

http://www.infsec.ethz.ch/people/psevinc/TPMEmulatorReport.pdf

Documentazione

Se non sapete da che parte cominciare, sappiate che è disponibile un tutorial sulla programmazione del TPM a questa URL:

http://www.linuxjournal.com/article/6633

Questo tutorial è del 2003 ma è stato scritto da David Safford, un programmatore Senior di IBM coinvolto nel progetto TCPA/TCG ed autore del più importante documento pro-TC esistente (“why TCPA”), per cui è di un certo interesse.

Intel LaGrande, AMD Presidio

Attualmente non esistono nè driver nè emulatori per la versione Intel del Trusted Computing, cioè LaGrande, o per quella AMD, cioè Presidio. Entrambe queste versioni utilizzano il Fritz Chip (TPM) come componente bae della loro architettura ma ne ampliano di molto le funzionalità aggiungendo elementi esterni. Entrambe queste implementazioni prevedono che il Fritz Chip venga “annegato” nella circuiteria della CPU.

Microsoft NGSCB

Attualmente (che io sappia) non esistono versioni di test di Windows Vista dotate di NGSCB e del Nexus necessario a pilotare il TPM. Tuttavia, sono disponibili i driver proprietari di Atmel, Infineon ed IBM per pilotare i relativi TPM. Questi TPM sono disponibili come componenti della motherboard di alcuni PC sul mercato. Alcuni di questi chip, in particolar modo quelli di IBM, possono anche essere acquistati ed installati su PC esistenti grazie al fatto che risiedono su normali schede PCI, simili a delle normali schede di rete o a delle normali schede video.