Przygody w sygnaturze UEFI firmy Microsoft

Tak się składa, że ​​tłumaczę ten artykuł, który napisał Jamesa Bottomleya, doradca techniczny Linux Foundation, który zaczął składać pre-bootloader, abyś mógł uruchomić Linuksa.

Jak wyjaśniłem w moim poprzednim poście, mamy kod dla pre-bootloadera Linux Foundation. Jednak był opóźnienie podczas gdy mieliśmy dostęp do systemu podpisywania Microsoft.

Pierwszą rzeczą do zrobienia jest zapłać 99 $ firmie Verisign (obecnie Symantec) i mieć klucz zweryfikowany przez Verisign. Zrobiliśmy to dla Linux Foundation, a oni chcą tylko zadzwonić do centrali w celu weryfikacji. Klucz jest zwracany w adresie URL zainstalowanym w przeglądarce, ale do jego wyodrębnienia i utworzenia zwykłego certyfikatu i klucza PEM można użyć standardowych narzędzi Linux SSL. Nie ma to nic wspólnego z podpisywaniem UEFI, ale służy do sprawdzania poprawności systemu sysdev Microsoft, że jesteś tym, za kogo się podajesz. Zanim utworzysz konto sysdev, musisz je przetestować podpisanie pliku wykonywalnego, który Ci dali, i przesłanie go. Stawiają surowe wymagania, abyś podpisał ją na określonej platformie Windows, ale sbsign przynajmniej zadziałało i bingo nasze konto zostało utworzone.

Po utworzeniu konta nadal nie można przesyłać plików binarnych UEFI do podpisania bez wcześniejszego ich podpisania podpisać umowę papierową. Umowy są bardzo uciążliwe i obejmują wiele wykluczonych licencji (w tym wszystkie GPL dla sterowników, ale nie dla programów ładujących). Najbardziej uciążliwe jest to, że porozumienia wydają się nadchodzić poza obiektami UEFI, które podpisujesz. Adwokaci Linux Foundation doszli do wniosku, że jest to w większości nieszkodliwe dla LF, ponieważ nie sprzedajemy produktów, ale może być obrzydliwe dla innych firm. Według Matthew Garretta Microsoft jest skłonny negocjować specjalne umowy z dystrybucjami, aby złagodzić niektóre z tych problemów.

Po podpisaniu umów realne zabawa techniczna. Nie możesz po prostu przesłać pliku binarnego UEFI i podpisać go. Najpierw musisz zawiń go w plik .cab. Na szczęście istnieje projekt open source, który może tworzyć pliki cab o nazwie lcab. Wtedy musisz podpisz plik .cab za pomocą klucza Verisign. Znowu istnieje inny projekt open source, który może to zrobić: osslsigncode. Dla każdego, kto potrzebuje tych narzędzi, są one dostępne w moim repozytorium openSuse Build Service UEFI. Ostatnim problemem jest przesłanie pliku wymaga Silverlight. Niestety, światło księżyca wydaje się nie działać i nawet z podglądem w wersji 4 pole przesyłania jest puste, więc czas skorzystać z Windows 7 pod kvm (maszyna wirtualna oparta na jądrze). Kiedy dojdziesz do tej części, musisz również poświadczyć, że plik binarny „do podpisania, nie mogą być objęte licencją GPLv3 lub podobną licencją typu open source”. Zakładam, że dzieje się tak z obawy przed ujawnieniem klucza, ale nie jest to wcale jasne (to samo z „podobnymi licencjami open source”).

Po zakończeniu przesyłania plik CAB przechodzi przez siedem etapów. Niestety pierwsza próbna wspinaczka została zablokowany na etapie 6 (podpis plików). Po 6 dniach wysłałem wiadomość e-mail z pomocą techniczną do firmy Microsoft z pytaniem, co się dzieje. Odpowiedź: „Kod błędu generowany przez proces podpisywania jest taki Twój plik nie jest poprawną aplikacją Win32. Czy jest to poprawna aplikacja Win32? ”. Odpowiedź: oczywiście nie, jest to poprawny 64-bitowy plik binarny UEFI. Nie było więcej odpowiedzi...

Spróbowałem ponownie. Tym razem otrzymałem wiadomość e-mail z pobieraniem podpisanego pliku i płyta mówi, że podpisany nie powiódł się. Pobrałem go i zweryfikowałem. Plik binarny działa na platformie secureboot i jest podpisany kluczem

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

Zapytałem obsługę, dlaczego proces wskazywał niepowodzenie, ale miałem prawidłowe pobieranie, a po lawinie e-maili odpowiedzieli „nie używaj tego pliku, który był źle podpisany. Wrócę do ciebie. " Nadal nie jestem pewien w czym jest problem, ale jeśli spojrzysz na Temat klucza do podpisu, w kluczu nie ma nic do wskazania Linux FoundationDlatego podejrzewam, że problem polega na tym, że plik binarny jest podpisany za pomocą ogólnego klucza Microsoft zamiast określonego (i odwołalnego) klucza powiązanego z Linux Foundation.

Jednak jest to stan: będziemy nadal czekać, aż Microsoft przekaże Linux Foundation podpisany i zweryfikowany program ładujący przed uruchomieniem. Kiedy tak się stanie, zostanie on przesłany do witryny Linux Foundation do użytku wszystkich.

źródło: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/

Wyciągnij wnioski, ale to zajmie trochę czasu.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Rolo powiedział

    Jeśli naprawdę problem komputerów PC z win8 OEM, które są dostarczane z systemem UEFI, rozwiązuje się wyłączając UEFI z BIOS-u, wydaje mi się, że jest to błąd, że zarówno fundacja Linux, jak i Fedora, Ubuntu i ja nie wiemy, która inna dystrybucja, zapłać za certyfikat i zaakceptuj ograniczenia nałożone przez Microsoft.

    MUSIMY PRZESTAĆ BYĆ BARANKAMI !!!!!

    1.    Sieg84 powiedział

      ale wiem, że Windows 8 nie został uruchomiony

      1.    Blaire pascal powiedział

        Hehehe, to nie była wielka sprawa. Cóż, przynajmniej dla mnie. To osobista opinia, nie chcę nikogo urazić.

    2.    Shiba87 powiedział

      UEFI nie może zostać wyłączone z BIOS-u, ponieważ UEFI to oprogramowanie sprzętowe, które zastępuje BIOS o dłuższej żywotności.

      To, o czym mówimy, to Secure Boot, funkcja UEFI, która weryfikuje autentyczność oprogramowania, za pomocą którego uruchamiamy komputer za pomocą podpisów cyfrowych, to Bezpieczny rozruch powinien być wyłączony.

      Nie jest to tak proste, jak wyłączenie Bezpiecznego rozruchu i to wszystko, konieczne jest, aby producent rozważył włączenie menu, które pozwala użytkownikom wyłączyć Bezpieczny rozruch, jeśli producent nie chce go wyłączyć, będzie to bardzo skomplikowane dla użytkownika. zrób to, prawdopodobnie posuwając się do skrajności polegającej na konieczności wymiany oprogramowania układowego płyty głównej na nieoficjalne.

      Rozwiązanie Linux Foundation byłoby „uniwersalnym” rozwiązaniem dla każdego sprzętu dotkniętego tą chorobą i pozwoliłoby na zainstalowanie dowolnego systemu za jednym podpisem cyfrowym tylko raz, co z pewnością jest tym, co ich przeraża i dlaczego tak dużo się modlą

      1.    msx powiedział

        «To nie jest tak proste, jak wyłączenie Bezpiecznego rozruchu i to wszystko, konieczne jest, aby producent rozważył włączenie menu, które pozwala użytkownikom wyłączyć Bezpieczny rozruch, jeśli producent nie chce, aby był wyłączony, będzie bardzo skomplikowane dla użytkownika, aby mógł to zrobić, »

        Musisz więc przeprowadzić kampanię dotyczącą alfabetyzacji cyfrowej, w ramach której wyjaśnia się użytkownikom, że żądają komputerów o tej charakterystyce, a zamiast tego kupują inne.

      2.    Taregonu powiedział

        Wszystko po to, aby zarabiać pieniądze, sprawdzając, co można, a czego nie można uruchomić przy bezpiecznym rozruchu.

  2.   anty powiedział

    Całkowitej niekompetencji nie da się odróżnić od złych intencji.

  3.   Hugo powiedział

    Chociaż istnieje słynne zdanie Roberta J. Hanlona, ​​które mówi: „Nigdy nie przypisuj złości tego, co jest odpowiednio wyjaśnione przez głupotę”, w szczególnym przypadku Microsoftu tak wiele głupich trudności rzekomo dobrze przemyślanego i obmyślonego procesu na rzecz lepszego bezpieczeństwa, sprawia wrażenie, że przeszkadzają Linux Foundation, więc linux nie może być zainstalowany na nowych komputerach z UEFI, więc Microsoft nie ma konkurencji.

    1.    Blaire pascal powiedział

      Dokładny. Nie podoba mi się ten pomysł, rzekomy bezpieczny start ... To mnie przeraża. Wydaje mi się, że Microsoft ma bardzo ... mafijne cele.

      1.    bamlera powiedział

        Jestem bardziej niż zmęczony Microsoftem i jego manipulacjami, a nawet boję się jego intencji i mam dość udawania, że ​​dominuje na każdym z komputerów PC lub urządzeń, które istnieją na rynku.

        Mam nadzieję, że Linux zakończy się masowo i zwycięży wśród użytkowników końcowych, a Windows zostanie ostatecznie zmarginalizowany, totalnie, z powodu bzdur systemu operacyjnego, jakim jest.

        1.    Hugo powiedział

          Przypomina mi to patent udzielony Microsoft, za pomocą którego system jest domyślnie ograniczony, a aby odblokować jego pełny potencjał lub zainstalować dowolny program innej firmy, potrzebne są licencje, za które oczywiście użytkownik lub użytkownicy muszą zapłacić. strony trzecie, które chcą, aby ich aplikacje były instalowane w systemie operacyjnym. To, że jeszcze go nie wdrożyli, nie oznacza, że ​​nie zamierzają tego robić i mam wrażenie, że UEFI przygotowuje do tego grunt.

  4.   erunamoJAZZ powiedział

    Zaskakuje mnie to, że 64-bitowe pliki binarne zawodzą i wymuszają 32-bitowe pliki binarne…. Działają wstecz, prawie nie ma na rynku nowych 86-bitowych procesorów o architekturze x32. Powinien działać na 64 bitach.

    uu

  5.   jorgemanjarrezlerma powiedział

    Podpis cyfrowy lub bezpieczny rozruch próbują uniemożliwić „coś” innym niż uruchomienie systemu. Ma to również na celu uniknięcie tzw. Piractwa lub nielegalnego kopiowania prawnie zastrzeżonego oprogramowania.

    Przeprowadzenie analizy i trochę badań nad tak zwanym sejfem Win8 z jego bardzo cenionym bezpiecznym bagażnikiem wykazało jego niekompetencję, ponieważ niedawno odkryli lukę w zabezpieczeniach.

    W związku z powyższym i bez konieczności bycia geniuszem branży, z doktorantami i innymi, można wywnioskować, że jest to tylko koncepcja marketingowa, której towarzyszy założenie Microsoftu, aby stać się zamkniętym systemem w stylu jabłka.

    Osobiście przeglądając, konsultując i studiując, mogę powiedzieć z mojej osobistej perspektywy, że UEFI / Secure Boot to oszustwo i oszustwo, którego celem jest jedynie wymuszenie i wsparcie projektu Microsoftu w celu całkowitego zamknięcia jego ekosystemu, wykorzystując fakt, że nadal może on wykonywać pewne presja w segmencie komputerów osobistych.

  6.   Pawłoko powiedział

    W te wakacje znajdę sposób, by pozwać Microsoft. Nienawidzę ich.

    1.    Blaire pascal powiedział

      Hehehe, gdybym miał ochotę i czas, też bym ich zażądał. To pogwałcenie wolności. Chyba że stworzą kolejną wersję niesławnej EULA, w której określą, że akceptując umowę, zgadzasz się nie instalować żadnego innego oprogramowania hehehe, co by mnie nie zdziwiło.

    2.    bamlera powiedział

      +1

  7.   nosferatuks powiedział

    Zobaczymy, jak Microsoft radzi sobie ze swoim win8 i jego UEFI / secureboot, być może straci część rynku na rzecz macbooka lub chromebooka.

    A kto wie, może któregoś dnia pojawi się jakiś producent komputerów PC na rzecz Linuksa i innych bezpłatnych systemów.

  8.   nosferatuks powiedział

    mmm i czy społeczności linuxowe "zamanifestowały się" w dzień internetu i dzień programisty, na przykład przed jakimś sklepem hp (delikatnie mówiąc) okazując uznanie dla marki, ale nie zgadzają się na używanie Windows?

    A jeśli w tamtych czasach „festyn instalacji” wychodzi na ulice lub place?

    1.    Hugo powiedział

      Smutna rzeczywistość jest taka, że ​​wszyscy użytkownicy Linuksa razem stanowią ułamek użytkowników Windowsa, więc producenci sprzętu naturalnie traktują priorytetowo system operacyjny z największym udziałem w rynku. więc nie wydaje mi się, aby demonstracja zmieniła sytuację.

      Moim zdaniem, na przykład, uczynienie Linuksa bardziej atrakcyjną platformą dla aplikacji i gier może mieć większy wpływ niż wiele demonstracji przeciwko MS. Ale to wymaga czasu (i zasobów).

  9.   Charlie Brown powiedział

    Dobrze jest zaatakować Micro $ oft i jego bezpieczny rozruch, ale pamiętaj, że to producenci płyt głównych włączyli go domyślnie do UEFI, tak jakby istniał tylko jeden system operacyjny; Microsoft ... poszli złą ścieżką. Biorąc pod uwagę ten przypadek, wydaje mi się, że w przyszłości będziemy zmuszeni flashować UEFI płyt z „wydanymi” wersjami, tak jak robimy to dzisiaj z ROMem niektórych produktów. Na szczęście pomysłowość tych, którzy dążą do wolności, okazała się silniejsza niż tych, którzy starają się ją wykorzenić.

    1.    Shiba87 powiedział

      Człowieku ... To nie jest tak proste, jak producent decydujący o włączeniu bezpiecznego rozruchu w swoim sprzęcie, nie możemy zapominać, że Microsoft jest monopolem, w rzeczywistości jest to monopol i jako producent mówiący nie Microsoft może oznaczać konieczność stawienia czoła ich prawnikom, zwiększenie kosztów licencji, które znacznie drożą Twój sprzęt, a nawet utratę 80% krajowego rynku.

      Nie chodzi o to, że ich broni, ale jeśli Microsoft wie, jak to zrobić, to właśnie to, narzucać w oparciu o wymuszenia i monopol, jedyną opcją byłoby, aby wszyscy producenci lub przynajmniej większość, zgodzili się i natychmiast zatrzymali, ale jest to niezwykle trudne, a pojedyncza firma, bez względu na to, jak duża może być, dwa razy się zastanowi, zanim zaryzykuje swój biznes, bez względu na to, o co Microsoft prosi, o co prosi Microsoft.

  10.   Alf powiedział

    Dużo mówiło się na ten temat na różnych blogach i forach, ale przez wiele dni myślę o czymś, może to moja głupota, ale w przypadku DELL i HP (nie znam innych firm), które sprzedają maszyny z Linuksem, to bezpieczny rozruch zejdzie?

    1.    Hugo powiedział

      Myślę, że przeczytałem, że w takich przypadkach producenci umieszczają podwójny system UEFI / BIOS, więc jeśli wyłączysz UEFI, nastąpi powrót do BIOS-u. Powinno to naturalnie zwiększyć koszty.

      Ostatecznie BIOS powinien zniknąć, tak jak go znamy, na rzecz UEFI lub innych lepszych standardów, w które się wierzy, ponieważ technologia BIOS jest stara i dlatego nakłada ograniczenia.

  11.   Shiba87 powiedział

    Panowie, podpis pod petycją FSF w tej sprawie:

    My, sygnatariusze, wzywamy wszystkich producentów komputerów, którzy wdrażają tzw. „Bezpieczny rozruch” UEFI, aby zrobili to w sposób umożliwiający instalację bezpłatnych systemów operacyjnych. Aby szanować wolność użytkowników i naprawdę chronić ich bezpieczeństwo, producenci muszą zezwolić właścicielom komputerów na wyłączenie ograniczeń rozruchu lub zapewnić niezawodny system do zainstalowania i uruchomienia wybranego przez nich bezpłatnego systemu operacyjnego. Zobowiązujemy się, że nie będziemy kupować ani polecać komputerów, które odbierają użytkownikowi tę krytyczną wolność, oraz że będziemy aktywnie zachęcać ludzi w naszych społecznościach do unikania takich zamkniętych systemów.

    http://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/statement

    1.    msx powiedział

      Doskonale, prośba podpisana i udostępniona LUG-owi i reszcie sieci, dzięki za komentarz.