Обзор отличий UEFI Secure Boot загрузчика Shim и решения от Linux Foundation

Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux, последнее время занимающийся обеспечением загрузки Linux на системах с UEFI, опубликовал сводный список отличий между развиваемым им загрузчиком Shim и решением для загрузки произвольных дистрибутивов Linux на системах с UEFI Secure Boot, представленным на днях организацией Linux Foundation. Оба загрузчика нацелены на решение единой задачи, но реализуют её разными методами - Shim выступает как надстройка, дублирующая функции UEFI для проверки и загрузки компонентов, а решение Linux Foundation реализует собственные обработчики для осуществляющих проверку компонентов UEFI.

Загрузчик Shim использует для проверки загружаемых компонентов систему верификации по ключам, т.е. требует создания инфраструктуры для формирования цифровых подписей, но позволяет обеспечить более полный цикл верификации всех компонентов загружаемых систем. В то время как загрузчик Linux Foundation оперирует криптографическими хэшами, что существенно проще для внедрения в небольших дистрибутивах и позволяет сохранить неизменными процессы разработки, но требует повторной ручной загрузки хэшей при каждом обновлении загрузчика или ядра (если ядро загружается в режиме верификации).

В случае Shim проверочный ключ дистрибутива требуется загрузить только один раз и он будет действовать на все компоненты, подписанные при помощи связанного с ним закрытого ключа. В качестве достоинств загрузчика Linux Foundation отмечается более удобный интерфейс управления загрузкой ключей/хэшей и большая универсальность, позволяющая использовать его для систем, использующих UEFI-загрузчики, подобные Gummiboot.

В будущем, создатели упомянутых решений заявили о готовности объединить свои усилия и пойти на слияние проектов. В частности, Мэтью Гаррет планирует адаптировать для работы с Shim интерфейс конфигурации и код верификации по хэшам, созданный Linux Foundation. В итоге будет подготовлен оптимальный для различных областей применения единый загрузчик.

Полный текст статьи читайте на OpenNet