Stato della distribuzione di Trusted Computing e Remote Attestation

18

Il supporto hardware per vari controlli lato client basati su Trusted Computing (Wikipedia) si è evoluto nel corso degli anni, ad es. TCPM, TPM, TXT (LaGrande, DRTM).

Ho sentito di un'applicazione pratica, per una comoda crittografia del disco tramite una "modalità operativa trasparente" di BitLocker.

Quali altri esempi ci sono di applicazioni di tecnologie informatiche affidabili? Separerò due categorie di interesse.

  • Stand-alone, protegge "me l'utente e il proprietario" dai file modificati. Bitlocker è un esempio, ma questo include anche per es. "TXT late launch" da un ambiente non affidabile a una macchina virtuale attendibile, come discusso in Attacking TXT (Joanna Rutkowska) )
  • "Attestazione remota": dimostra ad un altro sistema che questo è in esecuzione software approvato (ad esempio per consentire a un server di fidarsi di un browser, per l'equità nella riproduzione di giochi online, ecc.)

Le applicazioni open source mi interessano di più.

Nota: sono molto consapevole del problema che TC può essere vista come "treacherous computing", a causa delle varie minacce al controllo dell'utente, ad es. tramite un DRM più efficace e questioni politiche associate. Ma per favore non discutere di questo lato qui.

    
posta nealmcb 21.05.2011 - 01:05
fonte

3 risposte

18

In generale, è necessario sapere quali TPM e TXT e tutte queste tecnologie sono mirate a proteggere, perché ci sono incomprensioni. I TPM, in genere, abilitano 5 processi distinti e solo quelli:

  • Misura di integrità - calcolo di un hash crittografico di un componente di piattaforma
  • Avvio autenticato - un processo mediante il quale lo stato di una piattaforma (la somma dei suoi componenti) viene misurato e memorizzato in modo affidabile
  • Archiviazione sigillata: il processo di archiviazione dei dati su una piattaforma in modo tale che i dati possano essere recuperati solo se la piattaforma si trova in uno stato particolare
  • Attestation - il processo di reporting affidabile dello stato corrente della piattaforma
  • Esecuzione isolata - abilita l'esecuzione senza ostacoli del software

Dal punto di vista di Intel, TXT è l'insieme delle funzioni di trusted computing incluso il TPM, le modifiche al funzionamento del processore e le modifiche al funzionamento del chipset.

Le caratteristiche principali della tecnologia TXT sono tutte quelle del TPM più

  • esecuzione protetta (separazione del dominio basata su hardware)
  • pagine di memoria protette (che offrono protezione contro tutti e quattro i diversi modi in cui è possibile accedere alla memoria - tramite software, tramite DMA, attraverso schede GPU, tramite SMM)
  • input protetto
  • grafica protetta
  • abilitazione dei canali attendibili (tra due computer o dispositivi tra un computer)

La funzione Late Launch di cui parli è una funzione TXT opzionale che consente di eseguire le misurazioni dopo l'avvio di un sistema anziché ogni fase dei processi di avvio, è piuttosto complicato.

Generalmente Trusted Computing è un progetto enorme, con molte ricerche in corso in tutto il mondo da anni e ha obiettivi a breve, medio e lungo termine. Devo rivelare qui che faccio parte di quella ricerca.

Passiamo ora alle implementazioni reali (sebbene queste siano fuori dal mio campo)

Prima di tutto, tutti i principali produttori di sistemi hanno hardware e software aziendali che fanno uso di TPM, alcune delle sue funzionalità. Aziende come Dell e HP che producono la maggior parte dei sistemi aziendali utilizzano software come ( HP ProtectTools ). In questo esempio, l'autenticazione di preavvio viene utilizzata con l'aiuto di un TPM. Microsoft è stata in questa ricerca da sempre e ha ridimensionato Bitlocker con supporto per TPM prima di Vista. In realtà BitBlocker non riguarda solo la crittografia: ha una funzionalità separata denominata Avvio protetto che implementa la parte di verifica dell'integrità (potrebbe essere lì senza il componente di crittografia). L'operazione trasparente ha a che fare con l'autenticazione - può funzionare anche in modalità di autenticazione pre-avvio. Anche i software di sicurezza, come symantec e mcaffee, dispongono di software che fa affidamento o fa uso di TPM.

Ora, non sono a conoscenza di nessun altro software open source commerciale o pronto all'uso che si occupa di TPM e di attestazione o di qualsiasi altra funzionalità. (ma come ho detto non ho guardato molto, forse un altro membro ne sa di più).

Se vuoi strumenti sperimentali, software proof of concept o solo documenti e specifiche, ce ne sono molti - come ho detto ci sono obiettivi a lungo termine nel progetto, e l'attestazione è uno degli obiettivi a lungo termine. Ecco un esempio di implementazione di riferimento dello stack software necessario per supportare tutte le funzionalità di un TPM in linux: link (il software è al link )

Proprio per incuriosire i lettori, il controllo dell'accesso alla rete è un'area di ricerca attiva - gli strumenti commerciali possono già esistere su quello. L'idea generale in NAC che utilizza TPM è ovviamente quella di consentire un dispositivo in una rete solo se può essere verificato come sicuro fornendo misure specifiche, non solo sull'integrità del software avviato, ma anche sul livello delle patch applicate, definizioni anti-virus, configurazione del firewall ... Altri esempi di ricerca: download di software sicuro, come in un gestore di telefonia mobile che deve aggiornare in modo sicuro il firmware di un telefono over the air, in particolare il software di Software Defined Radio. Naturalmente, Digital Video Broadcasting (DVB) è un'area o ricerca: i ricevitori dvb utilizzano già le smartcard per memorizzare le chiavi, ma è possibile utilizzare i TPM.

Obiettivi a lungo termine? Immagina un mondo in cui ogni sistema e dispositivo mobile ha un TPM: un coprocessore crittografico, un'archiviazione sicura ... e può generare coppie di chiavi pubbliche su richiesta, senza interazione dell'utente: una PKI mondiale - sono in corso ricerche su come gestire e cosa fare con che!

Penso di essermi allontanato molto dalla portata della domanda, quindi questo dovrebbe essere sufficiente.

    
risposta data 21.05.2011 - 05:02
fonte
8

Tutti gli strumenti pertinenti sono disponibili per Linux, probabilmente anche più che altrove.

Molto lo spirito open source, devi costruire tutto da solo. Una versione gratuita di MS Bitlocker è consigliata se si utilizza google "IBM blueprint eCryptFS TPM". I pantaloni supportano anche un'interfaccia PKCS # 11 che consente l'integrazione con, ad esempio, Firefox. Con Linux IMA, si ottiene una buona architettura di misurazione flessibile anche in Linux. Flicker consente inoltre di avviare programmi semplici utilizzando la tecnologia LateLaunch.

Tuttavia, "attestazione remota", uno degli obiettivi principali, è ancora impossibile / poco pratico, tranne che per configurazioni molto limitate. Ci sono semplicemente troppe configurazioni possibili e aggiornamenti troppo frequenti per basare qualsiasi applicazione di sicurezza su una lista tipica (molte migliaia di articoli) di misure SHA-1. Un'architettura OS differente sarebbe d'aiuto (google 'Turaya'), ma la gestione MS ha accantonato NGSCB nel 2004 e Linux 3.0 non è ancora un microkernel.

A mia conoscenza, "hardware affidabile" per l'I / O utente era destinato molto tempo fa ma non è mai stato realizzato. Intel TXT implementa VT-d ma non aiuta, ad esempio, un registratore di tastiera basato su hardware. C'è poca richiesta per cose del genere. Ci sono anche alcuni problemi concettuali con l'attuale implementazione di DRTM / LateLaunch su x86. AMT e SMM essenzialmente ti impediscono di creare un RTM veramente indipendente. Questo non è banale da correggere e Intel ha più o meno rifiutato di farlo a causa della mancanza di richieste: nessun punto nella rottura dell'architettura x86 per oscuri attacchi "Ring -3" se continui a sfruttare un nuovo browser ogni 1-2 settimane.

Una buona risorsa per i problemi del DRTM: link

Inoltre, Flicker è stato recentemente esteso e trasferito a SF: link

Oltre a utilizzare il TPM come SmartCard, Flicker è probabilmente lo strumento più interessante per il desktop. Gli sviluppi interessanti nell'area mobile sono "Credenziali di bordo (ObC)" e attestati basati su software (SWATT, Pioneer, recentemente anche "attestato basato su PUF"). L'attestato è più pratico qui a causa degli stack software MOLTO meno complessi e dei cicli di sviluppo più lenti.

    
risposta data 23.06.2011 - 03:29
fonte
2

Questa domanda ha già avuto risposta, ma credo che stia invecchiando.

Ecco alcune novità su Trusted Computing:

risposta data 25.10.2013 - 04:20
fonte

Leggi altre domande sui tag