Linux FoundationのJames BottomleyがMicrosoftでUEFIセキュアブート用のブートローダーに署名しようとした経緯

MicrosoftがWindows 8と互換性があると認定したハードウェアは、UEFIセキュアブートテクノロジを必ずサポートする必要があります。これにより、署名されていないコードのダウンロードが許可されません。 これは、Windows以外の認定ハードウェアOSにインストールしようとするすべての人に大きな問題を引き起こします。 Linux Foundationコンソーシアム今年10月、すべてのLinuxディストリビューションがユニバーサルプリローダーを使用できるようになると発表しました。これにより、Microsoftが署名し、代替システムの比較的簡単なロードが可能になります。



ブートローダーは長い間書かれ、デバッグされてきましたが、まだマイクロソフトによって署名されていません。 なんで? キーを使用して切望された証明書を取得するためのパスは、非常に長くて厄介であることが判明しました。 Linux Foundation理事会のメンバーであるジェームス・ボトムリーは、これが彼のブログでどのように起こっかについて語っています。



ブートローダーに署名するには、Microsoftシステムソフトウェア認証sysdev )に登録する必要があり、そのためには、自分が本人であることを確認する署名済みのVerisign証明書が必要です。 証明書の価格は99米ドルです。 sysdevでアカウントを作成する場合、送信されたMicrosoft実行可能ファイルに証明書のキーで署名する必要があります。 その後のみ、アカウントがアクティブになります。



その後、紙の契約書に署名する必要があります。これは、他の多くの条件の中でも、コピーレフトライセンス(GPLなど)の下でコードに署名することを禁止します。 この文書を調べた後、Linux Foundationの弁護士は、この特定のケースでは基本的に無害であるという結論に達しましたが、一般的に言えば、小さなブートローダーよりも深刻なものに署名したい人にとって問題を引き起こす可能性があります。



その後、署名プロセスが開始されます。 ただし、それを受け取って実行可能ファイルをダウンロードすることはできません! Microsoftキャビネットコンテナに梱包する必要があります。 幸いなことに、 lcabを使用すると、Linuxでこれを行うことができます 。 次に、 圧縮ファイルにVerisignキーで署名する必要があります。これは、 osslsigncodeを使用して実行できます。 ファイルダウンローダーはSilverlightで記述されており、Moonlightは役立ちません。 そのため、James Bottomleyは仮想Windows 7の下からファイルをダウンロードする必要がありました。ダウンロードを開始する直前に、実行可能ファイルがGPLv3または他の同様のライセンスでライセンスされていないことをもう一度確認する必要があります。



ダウンロード後、ファイルは7段階で処理されます。 ダウンロードする最初の試みは、ステップ番号6-「ファイルへの署名」でハングしました。 6日間待機した後のMicrosoftサポートへの手紙は、署名されているコードが有効なWin32アプリケーションではないことを通知するエラーで署名プロセスが中断されたことを明らかにしました。 Bottomleyは、これがUEFIの正しい64ビット実行可能コードであり、Win32との互換性を要求するのはかなり奇妙であり、サポートサービスは応答しなかったと指摘しました。



ただし、2回目の試行では、ファイルが何らかの形でダウンロードされました。 署名されたブートローダーがLinux Foundationメールボックスに届き、セキュアブートが有効になっているコンピューターで正常に機能しましたが、MicrosoftのWebサイトではファイルに署名できないと述べています。



困惑したジェームズ・ボトムリーは、サポートチームに再度手紙を送り、「間違って」署名されているため使用できないという回答を受け取りました。追加の指示を待つ必要があります。 Bottomleyは、問題はファイルがLinux Foundationの個別のキーではなく、UEFIドライバーメーカー向けのMicrosoftユニバーサル(変更不可)キーで署名されていることだと示唆しています。



これまでのところ、プロセスは停止しています。 Linux Foundationは、Microsoftが署名するとすぐに、サイトでブートローダーを公開します。 Windows 8を搭載した最初のコンピューターはすでに販売されています...






All Articles