СИСТЕМА ДОВЕРЕННОЙ ЗАГРУЗКИ СБИС Российский патент 2025 года по МПК G06F21/57 

Описание патента на изобретение RU2836166C1

ОБЛАСТЬ ТЕХНИКИ

Настоящее техническое решение относится к области вычислительной техники, в частности, к системам доверенной загрузки сверхбольшой интегральной схемы.

УРОВЕНЬ ТЕХНИКИ

Из уровня техники известно решение, выбранное в качестве наиболее близкого аналога, US2009019275A1. Данное решение характеризует систему, которая включает внешнюю память, внутреннюю память и одноразовую программируемую память (OTP). Внешняя память включает в себя образ ядра операционной системы, открытый ключ, первую загрузочную информацию, используемую для аутентификации открытого ключа и генерации тестового секретного ключа, и второй загрузчик, проверяющий целостность образа ядра. Внутренняя память включает в себя первый загрузчик, который проверяет целостность второго загрузчика и генерирует тестовый секретный ключ. Память OTP содержит вторую загрузочную информацию, созданную с использованием открытого ключа и секретного ключа.

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

Использование проверки совпадения значения хеш-функции от корневого сертификата с хранящимся в ОТР в качестве критерия подтверждения целостности и аутентичности корневого ключа проверки цепочки загрузки. В аналоге используется гибридный алгоритм, включающий хранение XOR-а от контрольной суммы, рассчитанной с использованием криптографического ключа и открытого ключа проверки подписи кода с последующим сравнением этой контрольной суммы.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Технической проблемой, на решение которой направлено заявленное решение, является создание системы доверенной загрузки сверхбольшой интегральной схемы (СБИС). Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.

Технический результат заключается в повышении безопасности процесса инициализации микросхемы. Дополнительный технический результат заключается в обеспечении контроля целостности и аутентичности загружаемого программного обеспечения.

Заявленный результат достигается за счет осуществления системы доверенной загрузки сверхбольшой интегральной схемы, содержащей:

контроллер безопасности;

масочное неизменяемое постоянное запоминающее устройство, содержащее:

первичный загрузчик контроллера безопасности FBL, который не может быть изменен в процессе ее функционирования;

однократно программируемое постоянное запоминающее устройство, содержащее:

кодовое значение, определяющее текущее состояние интегральной микросхемы;

контрольное значение хэш-функции корневого сертификата;

минимально разрешенная к загрузке версия загружаемого программного обеспечения;

внешнее, по отношению к сверхбольшой интегральной схеме, запоминающее устройство, содержащее данные, которые могут обновляться в процессе эксплуатации:

вторичный загрузчик контроллера безопасности SBL;

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

блок вычисления электронной подписи;

блок вычисления хэш-функции.

В частном варианте реализации описываемой системы прошивки для загрузки контроллера безопасности SBL и для загрузчика подсистемы основных процессорных ядер сверхбольшой интегральной схемы, размещаются во внешнем, по отношению к сверхбольшой интегральной схеме, запоминающем устройстве в контейнерах в формате бинарного файла, содержащих следующие данные:

цепочка сертификатов ключей проверки электронной подписи;

параметр, определяющий назначение программного кода;

программный код;

электронная подпись контейнера.

В частном варианте реализации описываемой системы первичный загрузчик FBL выполнен с возможностью:

самоконтроля целостности программного обеспечения на основе проверки контрольной суммы;

выполнения операции самотестирования;

определения состояния сверхбольшой интегральной схемы на основе кодовых значений, считываемых из однократно программируемого постоянного запоминающего устройства;

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

чтения и разбора контейнера с вторичным загрузчиком SBL, из внешнего, по отношению к сверхбольшой интегральной схеме, запоминающего устройства в блок статической памяти сверхбольшой интегральной схемы;

проверки структуры корневого сертификата, определения и проверки соответствия назначения ключа проверки подписи из корневого сертификата;

вычисления значения хэш-функции корневого сертификата и его сравнения с контрольным значением из однократно программируемого постоянного запоминающего устройства;

проверки структуры остальных сертификатов из контейнера, определения и проверки соответствия назначения ключе проверки подписи из сертификатов;

построения и проверки валидности цепочки сертификатов ключей проверки подписи до ключа проверки подписи вторичного загрузчика включительно на основе проверки электронной подписи и вычисления значения хэш-функции с использованием корневого сертификата в качестве корня доверия и учетом полей назначения ключей сертификатов;

проверки целостности на основе сверки значений хэш-функции и аутентичности на основе проверки электронной подписи вторичного загрузчика SBL;

определения назначения программного кода вторичного загрузчика - сервисный или рабочий, разблокировка доступа на запись в однократно программируемого постоянного запоминающего устройства в случае сервисного SBL;

проверки версии программного кода вторичного загрузчика на предмет того, не попадает ли она в диапазон запрещенных к загрузке;

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

В частном варианте реализации описываемой системы вторичный загрузчик SBL выполнен с возможностью:

выполнения операции самотестирования;

запуска программного обеспечения;

чтения программного кода загрузчика ЦП из внешнего, по отношению к сверхбольшой интегральной схеме, запоминающего устройства в блок статической памяти сверхбольшой интегральной схемы;

проверки контейнера, проверки целостности на основе сверки значений хэш-функции и аутентичности на основе проверки электронной подписи;

копирования программного кода загрузчика ЦП в загрузочный блок статической памяти сверхбольшой интегральной схемы, доступный процессору ЦП;

запуска процессора ЦП.

ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.

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

Основная задача заявленной системы доверенной загрузки - обеспечение безопасной инициализации сверхбольшой интегральной схемы (СБИС), контроль целостности и аутентичности загружаемого программного обеспечения (ПО), а также перевод СБИС (далее - равнозначно "микросхема") перед запуском ПО в состояние, соответствующее назначению этого ПО и уровню необходимых ему полномочий.

Для решения поставленной задачи реализован следующий функционал:

1. Контроль записи в однократно программируемое ПЗУ (ОППЗУ) микросхемы;

2. Контроль состояния микросхемы на основе значения параметра в ОППЗУ микросхемы;

3. Проверка целостности данных на основе контрольной суммы;

4. Проверка целостности и аутентичности данных на основе значения хэш-функции и электронной подписи (ЭП);

5. Управление доступом загружаемого ПО к функциям управления конфигурацией СБИС в соответствии с уровнем авторизации ключа ЭП, которым подписан контейнер с загружаемым программным кодом, и идентификатором назначения ПО;

6. Организация хранения сведений о сертификатах ключей проверки ЭП в ОППЗУ.

В работе системы доверенной загрузки микросхемы задействованы следующие компоненты из ее состава:

(КБ - контроллер безопасности;

(ЦП - подсистема основных процессорных ядер СБИС, обеспечивающих выполнение целевых задач СБИС/РЭА;

(МПЗУ - масочное неизменяемое постоянное запоминающее устройство, его содержимое определяется на этапе разработки микросхемы и формируется при ее производстве;

(ОППЗУ - однократно программируемое постоянное запоминающее устройство;

(ВЗУ - внешнее по отношению к микросхеме запоминающее устройство;

(криптоблок - блок вычисления электронной подписи;

(хэш-блок - блок вычисления хэш-функции.

В состав ПО управляющего процессом инициализации СБИС входит:

(Первичный загрузчик КБ - FBL, располагается в МПЗУ, не может быть изменен в процесс-се ее функционирования;

(Вторичный загрузчик КБ - SBL, располагается в контейнере в ВЗУ, может обновляться штатными способами в процессе эксплуатации;

(Загрузчик ЦП - располагается в контейнере в ВЗУ, может обновляться штатными способами в процессе эксплуатации;

Загрузка микросхемы осуществляется путем последовательного запуска и выполнения нескольких компонентов:

(первичный загрузчик КБ (FBL);

(вторичный загрузчик КБ (SBL);

(загрузчик ЦП (BL).

Прошивки для загрузки микросхемы - (кроме первичного загрузчика FBL) - SBL и загрузчик ЦП, размещаются в ВЗУ в контейнерах в формате бинарного файла, содержащих следующие данные:

(цепочка сертификатов ключей проверки ЭП;

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

(программный код;

(ЭП контейнера.

Текущее состояние СБИС определяется данными хранящимися в ОППЗУ. Перевод микросхемы между различными состояниями осуществляется путем записи в заданную область ОППЗУ числовых значений ("ИНИТ" для начального и отладочного состояний и "СТД" для рабочего состояния), а также записи данных о сертификате основного корневого ключа.

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

Жизненный цикл микросхемы включает следующие состояния:

(Исходное состояние - микросхема ни разу не запускалась, в масочном ПЗУ содержится код FBL первичного загрузчика КБ, ОППЗУ находится в исходном состоянии (заполнено нулями); важной особенностью микросхемы является то, что отладочные интерфейсы после ее производства заблокированы.

(Начальное состояние - микросхема прошла отбраковку и может поставляться потребителю, в выделенной области ОППЗУ записано значение ИНИТ, соответствующее начальному и отладочному состоянию микросхемы, отладочные интерфейсы микросхемы могут быть включены.

(Отладочное состояние - микросхема прошла первоначальную настройку, в ОППЗУ записано число ИНИТ и хэш-свертка сертификата основного корневого ключа, отладочные интерфейсы микросхемы могут быть включены.

(Рабочее состояние - микросхема штатно функционирует, ОППЗУ частично заполнено необходимыми данными, в ОППЗУ записано значение СТД, в блоки памяти инструкций всех управляющих контроллеров записан программный код, центральные процессоры запущены, отладочные интерфейсы заблокированы.

Особенностью реализации системы загрузки микросхемы является то, что изменение значения параметра "Состояние" - необратимая операция. Запись указанных чисел в ОППЗУ для фиксации состояния микросхемы осуществляется в соответствии с изложенными ниже принципами.

Изначально ОППЗУ содержит только нули.

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

Для предотвращения повреждения или бесконтрольной записи ячеек ОППЗУ хранящих нули, FBL по умолчанию, перед передачей управления ПО следующей стадии (SBL), блокирует запись в ОППЗУ. Доступ на запись в ОППЗУ остается не заблокированным только в случае, если загруженный и прошедший проверку SBL принадлежит к специализированному типу - сервисный SBL.

Сервисный SBL может записать единицы в некоторые из оставшиеся нулевыми ячейки, чтобы преобразовать значение "ИНИТ" в "СТД". Числа "ИНИТ" и "СТД" выбраны таким образом, чтобы минимизировать возможность ошибочного определения состояния при сбое чтения из ОППЗУ или при обработке значения.

Последовательность исполнения загрузочного ПО при запуске микросхемы выглядит следующим образом:

Первичный загрузчик FBL на КБ выполняет:

1. Контроль целостности ПО на основе проверки контрольной суммы.

2. Настройку тактового генератора, настройку и запуск хэш-блока.

3. Настройку криптоблока, настройку контроллера ОППЗУ.

4. Определение состояния микросхемы,

5. Включение отладочных интерфейсов по внешнему сигналу в случае начального или отладочного состояния микросхемы.

6. Чтение программного кода вторичного загрузчика SBL, из ВЗУ в блок статической памяти микросхемы.

7. Проверку структуры и значения хэш-функции корневого сертификата.

8. Верификацию программного кода (проверку целостности на основе сверки значений вычисленной хэш-функции и контрольной суммы, проверку аутентичности на основе проверки ЭП) вторичного загрузчика SBL.

9. Определение назначения программного кода вторичного загрузчика - сервисный или рабочий, разблокировка доступа на запись в ОППЗУ в случае сервисного SBL.

10. Проверку версии программного кода вторичного загрузчика, относительно значения записанного в ОППЗУ, которое задает наименьшую разрешенную к загрузке версию.

11. Копирование программного кода вторичного загрузчика КБ SBL в блок статической памяти инструкций КБ и передачу управления программному коду SBL.

Вторичный загрузчик SBL на КБ выполняет:

1. Запуск ПО и выполнение операции самотестирования.

2. Чтение программного кода загрузчика ЦП из ВЗУ в блок статической памяти микросхемы.

3. Верификацию программного кода загрузчика ЦП (проверку контейнера, проверку целостности на основе сверки значений хэш-функции и аутентичности на основе проверки ЭП).

4. Копирование программного кода загрузчика ЦП в загрузочный блок статической памяти микросхемы, доступный процессору ЦП.

5. Запуск процессора ЦП.

После выполнения указанных операций микросхема готова к загрузке остальных управляющих контроллеров и центральных процессоров.

Работа системы доверенной загрузки определяется функционированием первичного загрузчика контроллера безопасности - FBL. В ходе своей работы FBL:

1. Проверяет целостность своего кода посредством вычисления контрольной суммы и сравнения вычисленного значения с записанным в МПЗУ. При успешном выполнении сверки значений работа FBL продолжается.

2. Выполняет настройку тактового генератора, настраивает и запускает хэш-блок.

3. Настраивает и запускает криптоблок, настраивает контроллер ОППЗУ.

4. Проверяет значение параметра "Состояние".

Если значение равно 0 - микросхема запущена впервые после производства. В этом случае FBL выполняет запись в эту ячейку ОППЗУ числа, соответствующего значению "ИНИТ" и выполняет перезагрузку.

Если значение равно "ИНИТ" - значит, микросхема находится в начальном или отладочном состоянии.

Если значение равно "СТД" - значит, микросхема работает в штатном режиме функционирования.

Если в процессе обращения к ОППЗУ происходит сбой, или полученное значение не соответствует ни одному из вышеприведенных, контроллер безопасности под управлением FBL переходит в режим "зависания", то есть выполнения инструкции, предписывающей только выполнить саму себя, дальнейшая работа микросхемы невозможна, это является важной конструктивной особенностью разработанной системы доверенной загрузки.

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

В случае, когда микросхема находится в начальном или отладочном состоянии возможно включение отладочных интерфейсов. Для этого вводно-выводной интерфейс микросхемы GPIO переводится в состояния ожидания ввода, и при поступлении сигнала на этот интерфейс выполняется разблокирование интерфейсов отладки. Важной особенностью системы доверенной загрузки является то, что изначально заблокированные интерфейсы могут быть включены только при нахождении микросхемы в соответствующих состояниях и поступлении сигнала.

6. Выполняет чтение программного кода вторичного загрузчика SBL из ВЗУ в блок статической памяти микросхемы.

7. Проверяет структуру основного корневого сертификата, записанного в контейнере с программным кодом вторичного загрузчика SBL. Проверяет валидность основного корневого сертификата способом, зависящим от состояния микросхемы.

В контейнере, содержащем образ прошивки вторичного загрузчика SBL, располагаются сертификаты соответствующих ключей проверки ЭП: - сертификат ключа подписи программных кодов, - сертификат корневого ключа подписи программных кодов - сертификат основного корневого ключа (корневой сертификат).

Изначально выполняется проверка структуры и вычисление значения хэш-функции от корневого сертификата, записанного в контейнере с прошивкой SBL. Вычисленное значение хэш-функции от основного корневого сертификата может сверяться с записанным в ОППЗУ, возможность и необходимость такой сверки определяется состоянием микросхемы.

Пока микросхема находится в начальном состоянии, в ОППЗУ в той области, которая предназначена для хранения данных основного корневого сертификата, нет записей и эти ячейки заполнены нулями. В этом состоянии при загрузке контейнера производится проверка контрольной суммы основного корневого сертификата на совпадение со значением записанном в этом же контейнере прошивки.

Для выполнения отладочных работ с микросхемой и для перехода микросхемы в соответствующее состояние, в ОППЗУ должно быть записано значение хэш-функции основного корневого сертификата.

Запись значения хэш-функции позволяет использовать меньше места в ОППЗУ для хранения данных, чем при записи самого сертификата, что является особенностью реализации системы доверенной загрузки. В этом состоянии выполняется сверка вычисленного значения хеш-функции от сертификата в контейнере со значением из ОППЗУ, загрузка продолжается только в случае совпадения.

При нахождении микросхемы в рабочем состоянии и при отсутствии значения хэш-функции корневого сертификата в ОППЗУ дальнейшая загрузка микросхемы невозможна.

8. Проверяет целостность и аутентичность кода вторичного загрузчика SBL, расположенного в ВЗУ, посредством проверки ЭП. Код вторичного загрузчика обязательно должен быть подписан ключом для ЭП программных кодов. Для проверки ЭП программного кода вторичного загрузчика используется цепочка сертификатов из контейнера: сначала производится проверка валидности всех сертификатов в цепочке, и завершающим этапом выполняется проверка ЭП программного кода вторичного загрузчика, для подтверждения его аутентичности и целостности.

9. Проверяет назначение программного кода (прошивки) вторичного загрузчика: сервисная или рабочая это прошивка. Особенностью реализации является различие рабочих и сервисных прошивок по следующим параметрам:

рабочая прошивка обеспечивает выполнение микросхемой целевых функций, первичный загрузчик FBL блокирует перед ее запуском возможность запись данных в ОППЗУ;

сервисная прошивка выполняет функции обновления состояния микросхемы, первичный загрузчик FBL предоставляет сервисной прошивке возможность записывать данные в ОППЗУ (данные нового корневого сертификата, номер версии текущей прошивки и т.д.).

10. Проверяет версию программного кода, для предотвращения "отката версий". Проверка корректности версии выполняется сравнением значения соответствующего параметра в контейнере прошивки SBL со значением, полученным из ОППЗУ. Версия корректна, когда версия загружаемой прошивки больше или равна версии зафиксированной в ОППЗУ. Запись числа, определяющего версию, в ОППЗУ может производиться только сервисной прошивкой SBL.

11. Далее выполняется копирование программного кода вторичного загрузчика КБ SBL в блок статической памяти инструкций КБ и управление КБ передается вторичному загрузчику SBL.

Вторичный загрузчик SBL выполняет проверку ЭП программного кода последующего загрузчика ЦП по аналогичному принципу, производит перемещение кода загрузчика ЦП в блоки статической памяти, предназначенные для загрузки основных процессорных ядер ЦП. При этом ЦП не имеют доступа к ВЗУ и находятся в состоянии останова до их запуска, который осуществляет КБ. После запуска ЦП начинают выполнять инструкции из загрузочного блока статической памяти.

Таким образом, достигаются основные цели при загрузке микросхемы: корректная и контролируемая инициализация микросхемы, а также контроль аутентичности и целостности ПО, исполняемого при запуске микросхемы.

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

Похожие патенты RU2836166C1

название год авторы номер документа
Способ доверенной загрузки устройства с возможностью заверения разных этапов загрузки несколькими независимыми владельцами ключей 2023
  • Аляутдин Роман Тимурович
  • Караваев Алексей Владимирович
  • Карасев Константин Александрович
  • Рыбаков Антон Викторович
  • Сыренков Андрей Владимирович
  • Тодорук Евгений Анатольевич
RU2808198C1
ЗАЩИЩЕННЫЕ ЗАГРУЗКА И ХРАНЕНИЕ ДАННЫХ В УСТРОЙСТВЕ ОБРАБОТКИ ДАННЫХ 2005
  • Германн Кристиан
  • Сметс Бернард
RU2408071C2
СПОСОБ ФОРМИРОВАНИЯ ЭЛЕКТРОННОГО ДОКУМЕНТА 2012
  • Иванов Александр Иванович
  • Фунтиков Вячеслав Александрович
  • Майоров Александр Викторович
  • Трифонов Сергей Евгеньевич
  • Колючкин Александр Владимирович
RU2527731C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
  • Хейли Джон
RU2673969C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
RU2672712C2
СПОСОБ АВТОРИЗАЦИИ ОПЕРАЦИИ, ПРЕДНАЗНАЧЕННОЙ ДЛЯ ВЫПОЛНЕНИЯ НА ЗАДАННОМ ВЫЧИСЛИТЕЛЬНОМ УСТРОЙСТВЕ 2014
  • Стерн Аллон Дж.
RU2675902C2
СПОСОБ УСТАНОВКИ ВЫЧИСЛИТЕЛЬНОГО КОМПОНЕНТА И СОПУТСТВУЮЩЕЕ ЭЛЕКТРОННОЕ УСТРОЙСТВО 2020
  • Абади, Эрик
  • Бессьер, Себастьян
  • Меньер, Паскаль
RU2812276C2
СПОСОБ И СИСТЕМА АВТОРИЗАЦИИ НОСИТЕЛЯ ЦИФРОВОГО КЛЮЧА 2018
  • Потапов Владимир Игоревич
  • Рыков Сергей Валерьевич
RU2709281C1
ПРИВЯЗКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ К АППАРАТНЫМ СРЕДСТВАМ С ИСПОЛЬЗОВАНИЕМ КРИПТОГРАФИИ 2004
  • Михаэлис Оливер
  • Моро Энтони
RU2356169C2
ЗАЩИТА ДВОИЧНЫХ ФАЙЛОВ ТИПОВЫХ КОММЕРЧЕСКИХ ПРОГРАММ ОТ ПИРАТСТВА С ИСПОЛЬЗОВАНИЕМ АППАРАТНЫХ АНКЛАВОВ 2020
  • Гэ, Синьян
  • Цуй, Вэйдун
  • Ню, Бэнь
  • Чэнь, Лин Тони
RU2812867C1

Реферат патента 2025 года СИСТЕМА ДОВЕРЕННОЙ ЗАГРУЗКИ СБИС

Изобретение относится к системе доверенной загрузки сверхбольшой интегральной схемы. Технический результат заключается в обеспечении доверенной загрузки сверхбольшой интегральной схемы. Система содержит контроллер безопасности; масочное неизменяемое постоянное запоминающее устройство, содержащее: первичный загрузчик контроллера безопасности FBL, который не может быть изменен в процессе ее функционирования; однократно программируемое постоянное запоминающее устройство, содержащее: кодовое значение, определяющее текущее состояние интегральной микросхемы; контрольное значение хэш-функции корневого сертификата; минимально разрешенную к загрузке версию загружаемого программного обеспечения; внешнее, по отношению к сверхбольшой интегральной схеме, запоминающее устройство, содержащее данные, которые могут обновляться в процессе эксплуатации: вторичный загрузчик контроллера безопасности SBL; загрузчик подсистемы основных процессорных ядер сверхбольшой интегральной схемы; блок вычисления электронной подписи; блок вычисления хэш-функции. 3 з.п. ф-лы.

Формула изобретения RU 2 836 166 C1

1. Система доверенной загрузки сверхбольшой интегральной схемы, содержащая:

• контроллер безопасности;

• масочное неизменяемое постоянное запоминающее устройство, содержащее:

• первичный загрузчик контроллера безопасности FBL, который не может быть изменён в процессе её функционирования;

• однократно программируемое постоянное запоминающее устройство, содержащее:

• кодовое значение, определяющее текущее состояние интегральной микросхемы;

• контрольное значение хэш-функции корневого сертификата;

• минимально разрешенную к загрузке версию загружаемого программного обеспечения;

• внешнее, по отношению к сверхбольшой интегральной схеме, запоминающее устройство, содержащее данные, которые могут обновляться в процессе эксплуатации:

• вторичный загрузчик контроллера безопасности SBL;

• загрузчик подсистемы основных процессорных ядер сверхбольшой интегральной схемы;

• блок вычисления электронной подписи;

• блок вычисления хэш-функции.

2. Система по п. 1, в которой прошивки для загрузки контроллера безопасности SBL и для загрузчика подсистемы основных процессорных ядер сверхбольшой интегральной схемы размещаются во внешнем, по отношению к сверхбольшой интегральной схеме, запоминающем устройстве в контейнерах в формате бинарного файла, содержащих следующие данные:

• цепочка сертификатов ключей проверки электронной подписи;

• параметр, определяющий назначение программного кода;

• программный код;

• электронная подпись контейнера.

3. Система по п. 1, в которой первичный загрузчик FBL выполнен с возможностью:

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

• выполнения операции самотестирования;

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

• включения отладочных интерфейсов по внешнему сигналу в случае определения состояния сверхбольшой интегральной схемы как начального или отладочного;

• чтения и разбора контейнера с вторичным загрузчиком SBL из внешнего, по отношению к сверхбольшой интегральной схеме, запоминающего устройства в блок статической памяти сверхбольшой интегральной схемы;

• проверки структуры корневого сертификата, определения и проверки соответствия назначения ключа проверки подписи из корневого сертификата;

• вычисления значения хэш-функции корневого сертификата и его сравнения с контрольным значением из однократно программируемого постоянного запоминающего устройства;

• проверки структуры остальных сертификатов из контейнера, определения и проверки соответствия назначения ключей проверки подписи из сертификатов;

• построения и проверки валидности цепочки сертификатов ключей проверки подписи до ключа проверки подписи вторичного загрузчика включительно на основе проверки электронной подписи и вычисления значения хэш-функции с использованием корневого сертификата в качестве корня доверия и учетом полей назначения ключей сертификатов;

• проверки целостности на основе сверки значений хэш-функции и аутентичности на основе проверки электронной подписи вторичного загрузчика SBL;

• определения назначения программного кода вторичного загрузчика - сервисный или рабочий, разблокировка доступа на запись в однократно программируемое постоянное запоминающее устройство в случае сервисного SBL;

• проверки версии программного кода вторичного загрузчика на предмет того, не попадает ли она в диапазон запрещенных к загрузке;

• копирования программного кода вторичного загрузчика в блок статической памяти инструкций и передачу управления программному коду SBL.

4. Система по п. 1, в которой вторичный загрузчик SBL выполнен с возможностью:

• выполнения операции самотестирования;

• запуска программного обеспечения;

• чтения программного кода загрузчика ЦП из внешнего, по отношению к сверхбольшой интегральной схеме, запоминающего устройства в блок статической памяти сверхбольшой интегральной схемы;

• проверки контейнера, проверки целостности на основе сверки значений хэш-функции и аутентичности на основе проверки электронной подписи;

• копирования программного кода загрузчика ЦП в загрузочный блок статической памяти сверхбольшой интегральной схемы, доступный процессору ЦП;

• запуска процессора ЦП.

Документы, цитированные в отчете о поиске Патент 2025 года RU2836166C1

Способ доверенной загрузки устройства с возможностью заверения разных этапов загрузки несколькими независимыми владельцами ключей 2023
  • Аляутдин Роман Тимурович
  • Караваев Алексей Владимирович
  • Карасев Константин Александрович
  • Рыбаков Антон Викторович
  • Сыренков Андрей Владимирович
  • Тодорук Евгений Анатольевич
RU2808198C1
УСТРОЙСТВО СОЗДАНИЯ ДОВЕРЕННОЙ СРЕДЫ ДЛЯ КОМПЬЮТЕРОВ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ 2014
  • Дударев Дмитрий Александрович
  • Кравцов Алексей Юрьевич
  • Полетаев Владимир Михайлович
  • Полтавцев Александр Васильевич
  • Романец Юрий Васильевич
  • Сырчин Владимир Кимович
RU2569577C1
RU 225635 U1, 26.04.2024
US 20090019275 A1, 15.01.2009
EP 2962241 A4, 14.09.2016
CN 111433771 A, 17.07.2020
US 8560820 B2, 15.10.2013
US 20080126779 A1, 29.05.2008.

RU 2 836 166 C1

Авторы

Сидорин Юрий Юрьевич

Пузанов Николай Анатольевич

Даты

2025-03-11Публикация

2024-06-28Подача