Проблемы на пути реализации режима безопасной загрузки UEFI в Linux
18 января 2012 года
Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux из компании Red Hat, опубликовал заметку о возможных проблемах с поддержкой технологии безопасной загрузки UEFI в Linux. Несмотря на то, что с позиции создания кода реализация поддержки режима безопасной загрузки для ядра Linux практически готова, сложности возникают в сопутствующих областях, таких как обеспечение работы сторонних драйверов, несовместимость с лицензией GPLv3, под которой распространяется загрузчик Grub, и обеспечение функционирования инфраструктуры для распространения ключей.
Режим безопасной загрузки подразумевает, что все компоненты, взаимодействующие с оборудованием и обеспечивающие загрузку ОС, должны иметь цифровую подпись, в том числе загрузчик, ядро ОС, загружаемые ядром драйверы и все модули ядра. Для формирования цифровой подписи, кроме использования ключей компании-разработчика предустановленной ОС или производителя оборудования, рекомендации по реализации режима безопасной загрузки предусматривают возможность генерации пользователем собственных ключей, механизм управления которыми пока никак не определён. Именно такие ключи планируется использовать для обеспечения работы Linux при активном режиме безопасной загрузки, так как иначе придётся заверять у производителя компоненты используемого дистрибутива.
При использовании собственных ключей возникает проблема с заметным усложнением процесса установки операционной системы: появляются дополнительные шаги по генерации ключей, созданию цифровых подписей и загрузке ключей в прошивку. При этом пока отсутствует единый унифицированный пользовательский интерфейс загрузки ключей, каждый производитель может сформировать его на свой вкус. Также пока не определён единый формат ключей, требования к которому также могут меняться в зависимости от типа прошивки. Кроме того, интерфейс загрузки ключей подразумевает физическое участие пользователя, что вызывает вопросы в организации развёртывания большого числа машин, например, сводит на нет автоматизацию установки ОС в парке из тысяч ПК.
В случае использования не созданных пользователем ключей возникает проблема с обеспечением работы сторонних драйверов - по умолчанию будут работать только штатные драйверы, заверенные владельцем ключа. Сторонние драйверы также должны быть заверены цифровой подписью или используемый ключ поставщика должен быть включен в список поддерживаемых ключей. Иными словами, пользователи могут столкнуться с невозможностью локальной сборки модулей ядра, а также с проблемами использования таких широко распространённых драйверов, как AMD Catalyst, NVIDIA и Virtualbox, так как ядро будет блокировать загрузку не подписанных нужным ключом модулей.
Итоговый вывод звучит следующим образом: Для написания кода, необходимого для обеспечения поддержки режима безопасной загрузки в Linux, потребуется минимальное время - большая часть кода уже готова. Но значительные практические проблемы пока остаются нерешёнными; более того, в настоящее время нет ни одного реального решения хотя бы для одной из этих проблем.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.