The Adventures in Microsoft's UEFI Signature

Náhodou preložím tento článok, ktorý napísal James Bottomley, technický poradca Linux Foundation, ktorí sa začali dávať dokopy pred zavedením, aby ste mohli zaviesť systém Linux.

Ako som vysvetlil v mojom predchádzajúcom príspevku, máme zavedený kód pre-bootloader Linux Foundation. Existovala však a meškanie zatiaľ čo sme mali prístup k podpisovému systému Microsoftu.

Prvá vec, ktorú musíte urobiť, je zaplatiť 99 dolárov spoločnosti Verisign (teraz Symantec) a nechajte si kľúč overiť spoločnosťou Verisign. Urobili sme to pre Linux Foundation a jediné, čo chcú, je zavolať na ústredie a overiť si to. Kľúč sa vracia v adrese URL, ktorá je nainštalovaná vo vašom prehliadači, ale na jeho extrakciu a vytvorenie obvyklého certifikátu a kľúča PEM je možné použiť štandardné nástroje Linux SSL. Nemá to nič spoločné s podpisom UEFI, ale slúži na overenie platnosti systému sysdev Microsoft, že ste tým, za koho sa považujete. Pred vytvorením účtu sysdev ho musíte otestovať podpísanie spustiteľného súboru, ktorý vám dajú, a jeho nahranie. Robia prísne požiadavky, aby ste to podpísali na konkrétnej platforme Windows, ale sbsign to aspoň fungovalo a bingo bolo vytvorené.

Po vytvorení účtu stále nemôžete nahrať binárne súbory UEFI na podpis bez predchádzajúceho prihlásenia podpísať papierovú zmluvu. Dohody sú veľmi náročné, vrátane mnohých vylúčených licencií (vrátane všetkých licencií GPL pre ovládače, nie však pre bootloadery). Najťažšou časťou je, že dohody akoby dospeli mimo objekty UEFI, ktoré podpisujete. Právnici pre Linux Foundation dospeli k záveru, že pre LF je to väčšinou neškodné, pretože nepredávame výrobky, ale môže to byť nechutné pre iné spoločnosti. Podľa Matthewa Garretta je Microsoft ochotný rokovať o zvláštnych dohodách s distribúciami, aby zmiernil niektoré z týchto problémov.

Akonáhle budú dohody podpísané, skutočné technická zábava. Nemôžete len nahrať binárny súbor UEFI a nechať ho podpísať. Najprv musíte zabaľte ho do súboru .cab. Našťastie existuje projekt s otvoreným zdrojom, ktorý dokáže vytvárať súbory kabinetu s názvom lcab. Potom musíte podpíšte súbor .cab kľúčom Verisign. Opäť existuje ďalší otvorený projekt, ktorý to dokáže: osslsigncode. Pre každého, kto tieto nástroje potrebuje, sú dostupné v mojom úložisku openSuse Build Service UEFI. Posledným problémom je načítanie súboru vyžaduje strieborné svetlo. Zdá sa, že mesačný svit bohužiaľ nefunguje a aj pri ukážke verzie 4 sa pole na nahrávanie vyprázdni, takže je čas použiť Windows 7 pod kvm (virtuálny stroj založený na jadre). Keď sa dostanete do tejto časti, musíte tiež potvrdiť, že binárny „podpis, nesmie mať licenciu podľa GPLv3 alebo podobných licencií otvoreného zdroja“. Predpokladám, že je to zo strachu pred zverejnením kľúča, ale nie je to vôbec jasné (to isté platí pre „podobné licencie typu open source“).

Po dokončení nahrávania sa súbor skrinky zastaví v siedmich fázach. Bohužiaľ, prvé testovacie stúpanie zostalo uzamknutý v 6. etape (podpis súborov). Po 6 dňoch som spoločnosti Microsoft poslal e-mail s podporou s otázkou, čo sa deje. Odpoveď: „Kód chyby vyvolaný procesom podpisovania je taký váš súbor nie je platnou aplikáciou Win32. Je to platná aplikácia Win32? “. Odpoveď: zjavne nie, je to platný 64-bitový binárny súbor UEFI. Viac odpovedí už nebolo...

Skúsil som to znova. Tentokrát som dostal podpísaný súbor na stiahnutie a doska to hovorí podpísaný zlyhal. Stiahol som to a overil. Binárny súbor funguje na platforme secureboot a je podpísaný kľúčom

subject = / C = US / ST = Washington / L = Redmond / O = Microsoft Corporation / OU = MOPR / CN = Microsoft Windows UEFI Driver Publisher
emitent = / C = USA / ST = Washington / L = Redmond / O = Microsoft Corporation / CN = Microsoft Corporation UEFI CA 2011

Požiadal som podporu, prečo proces naznačoval zlyhanie, ale mal som platné stiahnutie a po návale e-mailov odpovedali „nepoužívajte ten súbor, ktorý bol neprávom podpísaná. Vrátim sa k vám. “ Stále si nie som istý, v čom je problém, ale ak sa pozriete na Predmet podpisového kľúča, v kľúči nie je nič, čo by naznačovalo Linux Foundation, preto mám podozrenie, že problém je v tom, že binárna verzia je podpísaná skôr všeobecným kľúčom spoločnosti Microsoft ako konkrétnym (a odvolateľným) kľúčom viazaným na Linux Foundation.

Toto je však stav: Budeme naďalej čakať na to, kým Microsoft dá Linux Foundation podpísaný a overený bootloader. Keď sa to stane, bude to nahrané na stránku Linux Foundation pre všetky použitie.

Fuente: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/

Urobte svoje závery, ale bude to chvíľu trvať.


Pridať ako preferovaný zdroj v Google