Ho una domanda, come sarebbe possibile implementare l'avvio sicuro in un ambiente virtuoso, ad esempio l'hypervisor XEN con più SO guest incluso VM guest Windows 8? la VM guest ha bisogno di accedere anche alla convalida dell'hardware?
Un ambiente virtualizzato potrebbe sarebbe più facile da gestire in questo caso.
In primo luogo, per caricare qualsiasi sistema operativo, è necessario emulare l'avvio. Quindi un'implementazione VM come Intel VT solo implementa l'emulazione della CPU; il resto spetta al software VM. Tutto deve essere emulato o passato attraverso il supporto hardware.
L'avvio non fa eccezione - e poiché la maggior parte delle soluzioni VM emulano attualmente BIOS basati su MBR, non c'è motivo per non essere in grado di emulare l'avvio EFI. Le specifiche EFI sono disponibili pubblicamente e i dischi partizionati con GPT, come quelli richiesti per l'avvio EFI con Windows, sono stati creabili per un po 'di tempo.
Ora la domanda è: come funziona l'avvio sicuro? Bene, senza immergersi troppo in profondità nelle specifiche, il concetto è che i binari che si desidera avviare sono firmati con una chiave privata e la chiave pubblica corrispondente viene fornita con l'hardware. Non sono ancora sicuro di quanto sia in atto una catena di fiducia completa x509 / PKCS, ma credo che sia lo scopo.
Dato un eseguibile l'hardware è richiesto per l'avvio, l'avvio sicuro significa molto semplicemente che controllerà la firma o le firme su quell'eseguibile e se corrispondono ai suoi certificati internamente affidabili e le firme restano valide, ottimo, possono avviarsi. In caso contrario, la shell EFI dice semplicemente all'utente "mi dispiace amico, non posso avviarlo, non mi piace" e bam, vai via.
Quindi dal punto di vista dei sistemi operativi guest, la vita è facile da avviare, basta autorizzarlo e non controllare le firme.
Le cose diventano più complicate quando si tratta della capacità dei sistemi operativi di stabilire un canale * sull'hardware, tuttavia - credo (non ho letto quel bit delle specifiche a fondo, ma ho leggi la parte del layout GPT. Posso citare i layout GPT nel mio sonno!) i sistemi operativi comunicano con la shell EFI se desiderano notificarlo delle modifiche al loro ambiente, sostituire le chiavi, ecc. Dovrebbe essere emulato correttamente; un errore in tal senso interromperà indubbiamente il sistema operativo host supponendo che sia necessario e si aspetta che il protocollo esista.
Se Windows 8 insisterà sull'avvio sicuro e sulla possibilità di interagire con l'hardware, tutto ciò richiederà un'emulazione corretta. Tuttavia, i sistemi operativi che richiedono semplicemente di essere avviati non faranno alcuna differenza.
Leggi altre domande sui tag windows linux virtualization trusted-computing uefi