Назначение шаблона

Шаблон предназначен для организации загрузки устройства с использованием только программного обеспечения, которому доверяет изготовитель аппаратной платформы (оборудования) системы.

Типовые цели безопасности

Типовые цели безопасности при применении шаблона включают:

  • обеспечение целостности базового программного обеспечения системы;
  • обеспечение аутентичности базового программного обеспечения системы.

Предположения безопасности

Предположения безопасности включают:

  • доверие аппаратной платформе (оборудованию) системы в смысле отсутствия аппаратных и программных закладок;
  • сохранение целостности и аутентичности загрузчика первой стадии загрузки и ключевой информации, хранимых в памяти только для чтения.

Предположения и условия, при которых шаблон не может быть применен:

  • неэффективность организационных и технических методов обеспечения доверия оборудованию системы.

Описание решения

Шаблон реализуется на основе шаблона «иерархия доверия». При этом корень доверия представляет собой загрузчик первой стадии загрузки и криптографический ключ (ключи или сертификаты, содержащие ключевую информацию), хранимые на уровне аппаратной платформы и используемые для проверки целостности и аутентичности как базового программного обеспечения, так и ключевой информации, хранимой загрузчиком следующей стадии.

На каждом этапе загрузки операционной системы, начиная от момента подачи питания до полной загрузки и передачи управления пользователю, загрузчик на текущей стадии загрузки проверяет целостность и аутентичность программного кода, используемого на следующей стадии, путем проверки его ЭЦП. Таким образом может гарантироваться, что на каждой стадии загрузки устройства будет происходить проверка аутентичности и целостности исполняемого кода. Будут загружаться только компоненты, подписанные заранее известными сертификатами, хранящимися в доверенном хранилище. У злоумышленника не будет возможности подменить код ни на одной стадии загрузки.

Элементы системы, реализующей шаблон:

  • загрузчик первой стадии и корневой сертификат, хранимые в памяти, доступной только для чтения;
  • загрузчик второй стадии и сертификат (ы) загрузчика второй стадии;
  • загрузчик третьей стадии и сертификат (ы) загрузчика третьей стадии;
  • ядро операционной системы и сертификат (ы) уровня ОС;
  • элементы, отнесенные к приложениям пространства пользователя.

Взаимодействие элементов системы, реализующей шаблон, показано на рисунке 1.

Требования к технологии разработки элементов системы

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

Необходима гарантия со стороны аппаратной платформы целостности и аутентичности загрузчика первой стадии и криптографического ключа (ключей или сертификатов, содержащих ключевую информацию);

Необходима реализация криптографических алгоритмов проверки аутентичности и целостности цифровых образов исполняемого кода с использованием хранимых или сгенерированных в процессе работы ключей.

Ограничения на применение шаблона

Ограничения не применяются.

Допустимые модификации шаблона

Допустимо изменение количества стадий доверенной загрузки.

Допустимость прочих модификаций должна быть обоснована при проектировании архитектуры и формировании требований, предъявляемых к системе на основе целей и предположений безопасности для этой системы.