微軟UEFI簽名歷險記

我碰巧翻譯了他寫的這篇文章 詹姆斯·波托姆利,技術顧問 Linux基金會,他們開始放在一起 預引導程序,以便您可以引導Linux.

正如我在上一篇文章中所解釋的,我們已經準備好Linux Foundation預引導程序的代碼。 但是,有一個 延遲 而我們可以訪問Microsoft簽名系統。

首先要做的是 支付99美元給Verisign (現為Symantec)並具有由Verisign驗證的密鑰。 我們是為Linux Foundation做的,他們要做的就是致電總部進行驗證。 密鑰返回瀏覽器中安裝的URL,但是可以使用標準的Linux SSL工具提取它並創建常規的PEM證書和密鑰。 它與UEFI簽名無關,但用於驗證系統 系統開發人員 微軟,你就是你所說的。 在創建sysdev帳戶之前,必須對其進行測試 他們給您簽名的可執行文件並上傳。 他們對您在特定的Windows平台上進行簽名提出了嚴格的要求,但請至少對其進行簽名,然後創建Bingo我們的帳戶。

創建帳戶後,如果沒有先註冊,您仍然無法上傳UEFI二進製文件進行簽名 簽訂紙質合同。 協議非常繁重,包括許多排除的許可證(包括用於驅動程序的所有GPL,但不適用於引導加載程序)。 最麻煩的部分是協議似乎已經達成 超出您簽署的UEFI對象。 Linux基金會的律師得出結論,它對LF基本上無害,因為我們不出售產品,但對其他公司可能會令人噁心。 根據Matthew Garrett的說法,Microsoft願意與發行版進行特殊交易的談判,以緩解其中的一些問題。

協議簽署後, 技術樂趣。 您不能只上傳UEFI二進製文件並對其進行簽名。 首先你必須 將其包裝為.cab文件。 幸運的是,有一個開源項目可以創建名為lcab的內閣文件。 那你必須 使用Verisign密鑰對.cab文件進行簽名。 同樣,還有另一個開源項目可以做到這一點:osslsigncode。 對於需要這些工具的任何人,都可以在我的openSuse Build Service UEFI存儲庫中找到它們。 最後的問題是上傳文件 需要Silverlight。 不幸的是,月光似乎不起作用,即使使用版本4預覽,上傳框也變為空白,因此 是時候使用Windows 7了 在kvm(基於內核的虛擬機)下。 當您進入該部分時,還必須證明二進製文件“將被簽名, 不得根據GPLv3或類似的開源許可證獲得許可”。 我以為是因為擔心密鑰公開,但是根本不清楚(與“類似的開源許可證”相同)。

上傳完成後,內閣文件將停止七個階段。 不幸的是,第一次測試攀爬一直沒有 鎖定在第六階段 (文件簽名)。 6天后,我向Microsoft發送了一封支持電子郵件,詢問發生了什麼事。 答案是:“簽名過程拋出的錯誤代碼是: 您的文件不是有效的Win32應用程序。 它是有效的Win32應用程序嗎?”。 答:顯然不是,它是有效的64位UEFI二進製文件。 沒有更多答案了...

我再次嘗試。 這次,我收到了簽名文件的下載電子郵件,董事會說 簽名失敗。 我下載並驗證。 二進製文件可在secureboot平台上運行,並用密鑰簽名

主題= / C =美國/ ST =華盛頓/ L =雷德蒙德/ O = Microsoft Corporation / OU = MOPR / CN = Microsoft Windows UEFI Driver Publisher
發行人= / C =美國/ ST =華盛頓/ L =雷德蒙德/ O =微軟公司/ CN =微軟公司UEFI CA 2011

我詢問支持人員,為什麼該過程指示失敗,但是我進行了有效下載,並且在收到大量電子郵件後,他們回答“請勿使用該文件。 簽名錯誤。 我會回到你身邊。” 我仍然不確定是什麼問題,但是如果您查看簽名密鑰的主題, 密鑰中沒有任何內容可以指示Linux Foundation,因此我懷疑問題在於二進製文件是用通用Microsoft密鑰而不是與Linux Foundation綁定的特定(可撤銷)密鑰簽名的。

但是,狀態是:我們將繼續等待Microsoft向Linux Foundation提供經過簽名並經過驗證的預引導程序。 發生這種情況時,它將被上傳到Linux Foundation站點供所有人使用。

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

得出您的結論,但這將需要時間。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   羅洛 他說:

    如果確實通過從BIOS禁用UEFI來解決UEFI系統附帶的帶有win8 OEM的PC的問題,在我看來,Linux基金會和Fedora,Ubuntu和我都不知道哪個發行版都需要支付證書費用並接受,這是一個錯誤。 Microsoft施加的限制。

    我們必須停止成為羔羊!

    1.    圍攻84 他說:

      但我知道Windows 8仍然無法啟動

      1.    布萊爾·帕斯卡 他說:

        呵呵呵,沒什麼大不了的。 好吧,至少對我來說。 這是個人觀點,我不想得罪任何人。

    2.    芝87 他說:

      不能從BIOS中禁用UEFI,因為UEFI是一種固件,可以代替壽命更長的BIOS。

      我們所說的是安全啟動(Secure Boot),這是一種UEFI功能,可通過數字簽名來驗證用於啟動計算機的軟件的真實性,應該禁用安全啟動。

      這不像禁用安全啟動那樣簡單,僅此而已,製造商必須考慮包括一個允許用戶禁用安全啟動的菜單,如果製造商不希望禁用它,那將非常複雜。為了使用戶能夠這樣做,可能不得不將主板固件替換為非官方的固件。

      Linux Foundation的解決方案將成為受此疾病影響的任何硬件的“通用”解決方案,並且允許安裝任何系統僅需支付一次數字簽名即可,這肯定會嚇到他們,為什麼他們要花這麼多錢

      1.    MSX 他說:

        «這不像禁用安全啟動那樣簡單,僅此而已,製造商就必須考慮包括一個允許用戶禁用安全啟動的菜單,如果製造商不希望禁用它,那將非常有必要。使得用戶無法做到,»

        因此,需要做的是一個數字掃盲運動,向用戶解釋說他們要求使用具有該功能的計算機,而不是購買其他功能。

      2.    塔里貢 他說:

        所有這些都是通過驗證使用安全啟動可以啟動和不能啟動的東西來賺錢。

  2.   他說:

    完全的無能與惡意無關。

  3.   雨果 他說:

    儘管羅伯特·J·漢隆(Robert J. Hanlon)有一句著名的話說:“永遠不要將愚蠢充分解釋為惡意的原因”,在Microsoft的特殊情況下,這麼一個愚蠢的困難對於一個原本精心構思和設計的過程來說是一個更好的選擇。安全性,它給人的印像一直是它們阻礙了Linux Foundation,因此無法在具有UEFI的新PC上安裝linux,從而使Microsoft不受競爭。

    1.    布萊爾·帕斯卡 他說:

      精確。 我不喜歡這個主意,一個安全的開始……讓我感到恐懼。 在我看來,Microsoft具有非常……黑手黨的目的。

      1.    巴姆勒 他說:

        我對微軟及其操縱感到非常厭倦,甚至害怕它的意圖,並厭倦了它假裝在市場上存在的每台PC或設備中占主導地位。

        我希望Linux能夠全面普及,並在最終用戶中盛行,而Windows最終由於其操作系統的廢話而最終被邊緣化。

        1.    雨果 他說:

          這使我想起了授予Microsoft的專利,該專利限制了默認系統,並且為了釋放其全部潛能或安裝任何第三方程序,許可證是必需的,當然,用戶或用戶都必須為此付費。希望將其應用程序安裝在操作系統上的第三方。 他們還沒有實現它,並不意味著他們不打算這樣做,我給人的印像是UEFI正在為此做準備。

  4.   Erunamo爵士 他說:

    使我感到驚訝的是64bist二進製文件失敗並強制32bit二進製文件…。 它們是逆行的,市場上幾乎沒有任何新的86位x32架構處理器。 它應該在64位上工作。

    u

  5.   約格曼花園 他說:

    數字簽名或安全啟動正在嘗試阻止系統以外的“事物”啟動。 這也是為了避免所謂的盜版或專有軟件的非法複製。

    對他們所謂的Win8安全系統進行分析並進行一些研究,該技術具有自吹自boot的安全啟動功能,因為他們最近發現了一個安全漏洞,因此顯示了它的無能。

    由於上述原因,並且不必成為具有博士學位和其他博士學位的行業天才,因此可以推斷,這只是伴隨Microsoft成為封閉式蘋果風格系統的前提的一種營銷概念。

    從我個人的角度來看,我可以說UEFI /安全啟動是一種欺詐和騙局,其目的僅在於迫使和支持Microsoft項目完全關閉其生態系統,同時利用它仍然可以行使一定的權利。個人計算領域的壓力。

  6.   帕夫洛科 他說:

    這個假期,我將尋求起訴微軟的方法。 我恨他們。

    1.    布萊爾·帕斯卡 他說:

      呵呵呵,如果我有慾望和時間,我也會要求他們。 這是對自由的侵犯。 除非他們製作臭名昭著的EULA的另一個版本,除非他們在其中指定接受合同即表明您同意不安裝任何其他軟件,否則我不會感到驚訝。

    2.    巴姆勒 他說:

      +1

  7.   Nosferatux 他說:

    我們將看到Microsoft如何使用win8和UEFI / secureboot,也許它將失去一些市場,而青睞Macbook或chromebook。

    誰知道呢,也許有一天,某些個人電腦製造商將會出現,支持Linux和其他免費系統。

  8.   Nosferatux 他說:

    mmm,例如,如果linux社區在互聯網日和程序員日“表現出來”,則在某些hp商店(至少可以說)面前表示對品牌的讚賞,但不同意使用Windows?。

    如果在那個日子裡,“裝置盛宴”走到街頭或公共廣場上?

    1.    雨果 他說:

      可悲的現實是,所有Linux用戶加起來僅佔Windows用戶的一小部分,因此硬件製造商自然會優先考慮具有最高市場份額的操作系統。 因此,我認為示範不可能改變一切。

      我認為,例如,使Linux成為更有吸引力的應用程序和遊戲平台,可能會比許多針對MS的演示更具影響力。 但這需要時間(和資源)。

  9.   查理·布朗 他說:

    可以攻擊Micro $ oft及其安全啟動,但請記住,默認情況下,是主板製造商將它包含在UEFI中,就像只有一個操作系統一樣。 微軟的...他們走了錯誤的道路。 考慮到這種情況,在我看來,將來像今天使用某些產品的ROM一樣,我們將被迫使用“已發布”版本刷新板的UEFI。 幸運的是,事實證明,那些渴望自由的人比那些企圖消滅自由的人更有才華。

    1.    芝87 他說:

      伙計....這不像製造商選擇是否在其硬件中包括安全啟動那樣簡單,我們決不能忘記微軟是壟斷者,實際上它是壟斷者,並且作為製造商,對微軟說不。這可能意味著必須與律師面對面,增加許可成本,這會使您的設備更加昂貴,甚至失去80%的國內市場。

      不是說要為他們辯護,而是如果微軟知道該怎麼做,正是基於勒索和壟斷而施加的,唯一的選擇就是讓所有製造商或至少大多數製造商同意並立即制止它。 ,但要實現這一目標非常困難,無論一家公司規模多大,無論微軟要求什麼不公平/爬行/荒唐,在冒險經營之前,三思而後行。

  10.   阿爾夫 他說:

    在各個博客和論壇上都有很多關於這個問題的討論,但是我有幾天想著什麼,也許這是我的愚蠢,但是,對於銷售Linux機器的DELL和HP(我不知道其他公司)而言,安全啟動會退出嗎?

    1.    雨果 他說:

      我想我已經讀過,在這些情況下,製造商會使用雙UEFI / BIOS系統,因此,如果禁用UEFI,則會退回到BIOS。 這自然會增加成本。

      最終,BIOS應該消失了,因為我們知道它會支持UEFI或其他更好的標準,因為BIOS技術很舊,因此存在局限性。

  11.   芝87 他說:

    先生們,在這件事上,FSF請願書的簽名:

    我們的簽署方敦促所有實施UEFI所謂的“安全啟動”的計算機製造商以允許安裝免費操作系統的方式進行安裝。 為了尊重用戶的自由並真正保護他們的安全,製造商必須允許計算機所有者禁用啟動限制,或提供可靠的系統來安裝和運行他們選擇的免費操作系統。 我們保證,我們不會購買或推薦會剝奪用戶這種重要自由的計算機,我們將積極鼓勵社區中的人們避免使用這種籠罩的系統。

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

    1.    MSX 他說:

      完善,請求已與LUG和其他Web站點簽署並共享,感謝您的評論。