Способ загрузки программного обеспечения Российский патент 2020 года по МПК G06F9/445 G06F21/57 

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

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

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

Известен способ загрузки программного обеспечения (см. патент РФ №2481616 приоритет от 16.06.2008 «Способ и устройство для загрузки программного обеспечения», авторы Кивиля Маркус (FI), Экберг Ян-Эрик (FI), МПК G06F 9/445, опубликованный 10.05.2013 Бюл. №13), включающий выполнение первого программного загрузчика; запрос первым программным загрузчиком первого программного кода у сервера начальной загрузки, при этом первый программный код включает второй программный загрузчик и эмулятор доверенного модуля; прием первого программного кода из сервера начальной загрузки; измерение (верификацию) второго программного загрузчика; расширение значения регистра конфигурации результатом измерения второго программного загрузчика; измерение эмулятора доверенного модуля с использованием второго программного загрузчика; расширение значения регистра конфигурации результатом измерения эмулятора доверенного модуля; выполнение второго программного загрузчика и запрос вторым программным загрузчиком второго программного кода у сервера начальной загрузки.

Указанный способ является наиболее близким по технической сущности к заявляемому способу и поэтому выбран в качестве наиболее близкого аналога.

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

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

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

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

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

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

На фиг. 2 представлена блок-схема заявляемого способа загрузки программного обеспечения.

Микропроцессорная вычислительно-управляющая система 1 (фиг. 1) для реализации заявляемого способа загрузки программного обеспечения должна иметь в своем составе оперативное запоминающее устройство 8 и блок 4 ввода ключевой информации.

К микропроцессорной вычислительно-управляющей системе 1 подключают первый внешний носитель 2 информации и второй внешний носитель 3 информации.

На первом внешнем носителе 2 информации расположены первый программный загрузчик 5 и программный код 6 (программное обеспечение в преобразованном виде).

На втором внешнем носителе 3 информации расположен второй программный загрузчик 7 (в преобразованном виде).

Первый 5 и второй 7 программные загрузчики никогда не хранятся в долговременной памяти микропроцессорной вычислительно-управляющей системы 1, имеют в своем составе исполняемые программные модули верификации данных, в обработке которых указанные загрузчики принимают участие. Второй программный загрузчик 7 имеет в своем составе программный модуль, выполняющий обратные преобразования программного кода 6 в соответствии с введенными значениями третьей ключевой информации из массива ключевой информации. Заявленный способ не исключает возможности одновременной загрузки на выполнение нескольких видов программного обеспечения в зависимости от введенных значений третьей ключевой информации из массива ключевой информации.

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

В блок 4 ввода ключевой информации ключевая информация может быть введена как с любых известных устройств ввода информации, так и с любых известных устройств хранения данных при условии наличия у микропроцессорной вычислительно-управляющей системы 1 соответствующих интерфейсов для подключения данных устройств. Для введения первой, второй и третьей ключевой информации на шагах 12, 17, 24 фиг. 2 могут применяться различные виды устройств, выполняющих ввод ключевой информации.

Микропроцессорная вычислительно-управляющей система 1 может быть реализована на базе функционально и конструктивно законченного изделия, состоящего из набора больших интегральных схем и предназначенного для выполнения определенного набора функций: получение, обработка, передача, преобразование информации и управление. В оперативном запоминающем устройстве 8 микропроцессорной вычислительно-управляющей системы 1 в процессе загрузки программного обеспечения монтируется виртуальное дисковое пространство 9 с сегментами 10N, где N - количество сегментов виртуального дискового пространства 9 и равно 1, 2, 3, …. Количество сегментов 10N виртуального дискового пространства 9 должно быть достаточным для выполнения процесса загрузки и запуска на выполнения как минимум одного программного обеспечения (т.е. количество сегментов N должно быть не менее трех). Также микропроцессорная вычислительно-управляющая система 1 должна обеспечивать возможность подключения внешних носителей информации и блока ввода ключевой информации посредством соответствующих интерфейсов.

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

Способ загрузки программного обеспечения реализуется следующим образом (фиг. 2).

Перед началом выполнения работ к микропроцессорной вычислительно-управляющей системе 1 подключают первый внешний носитель 2 информации (шаг 11), после чего пользователю предоставляется возможность ввода первой ключевой информации. В микропроцессорную вычислительно-управляющую систему 1 посредством блока 4 ввода ключевой информации вводят первую ключевую информацию (шаг 12). Введение первой ключевой информации является инициирующим событием и санкционирует загрузку первого программного загрузчика 5 в оперативное запоминающее устройство 8 (шаг 13), в котором первый программный загрузчик 5 выполняет монтирование виртуального дискового пространства 9 (шаг 14) с количеством сегментов, достаточным для выполнения процесса загрузки и запуска на выполнения как минимум одного программного обеспечения, а исполняемый программный модуль верификации первого программного загрузчика выполняет проверку правильности конфигурации и целостности смонтированного виртуального дискового пространства 9 (шаг 15). После успешного монтирования виртуального дискового пространства 9 и при положительно результате его верификации первый программный загрузчик 5 загружает программный код 6 в первый сегмент 101 виртуального дискового пространства 9 (шаг 16). Далее необходимо к микропроцессорной вычислительно-управляющей системе 1 подключить второй внешний носитель информации 3 (шаг 17), после чего пользователю предоставляется возможность ввода второй ключевой информации. Необходимо ввести в микропроцессорную вычислительно-управляющую систему 1 посредством блока 4 ввода ключевой информации вторую ключевую информацию (шаг 18). Исполняемый программный модуль верификации первого программного загрузчика 5 выполняет проверку правильности и целостности введенной второй ключевой информации (шаг 19), и, при положительном результате верификации второй ключевой информации, первый программный загрузчик 5 санкционирование загружает второй программный загрузчик 7, хранящийся на втором внешнем носителе информации 3 в преобразованном виде, в оперативное запоминающее устройство 8 (шаг 20) и выполняет в оперативном запоминающем устройстве 8 обратное преобразование второго программного загрузчика с помощью введенной второй ключевой информации (шаг 21). Исполняемый программный модуль верификации первого программного загрузчика 5 выполняет проверку правильности и целостности второго программного загрузчика (шаг 22). При положительном результате верификации второго программного загрузчика 7, преобразованного на шаге 21, первый программный загрузчик 5 санкционирование загружает второй программный загрузчик 7 во второй сегмент 102 виртуального дискового пространства 9 (шаг 23) и передает второму программному загрузчику управление дальнейшим процессом загрузки программного обеспечения (шаг 24). Пользователю предоставляется возможность ввода третьей ключевой информации из массива ключевой информации. Далее необходимо ввести в микропроцессорную вычислительно-управляющую систему 1 посредством блока 4 ввода ключевой информации третью ключевую информацию (шаг 25). Исполняемый программный модуль верификации второго программного загрузчика 7, преобразованного на шаге 21, выполняет проверку правильности и целостности введенной третьей ключевой информации (шаг 26). При положительном результате верификации третьей ключевой информации, второй программный загрузчик 7, преобразованный на шаге 21, санкционированно выполняет в оперативном запоминающем устройстве 8 обратное преобразование программного кода 6, хранящегося в преобразованном виде в первом сегменте 101 виртуального дискового пространства 9, с помощью третьей ключевой информации (шаг 27). Исполняемый программный модуль верификации второго программного загрузчика 7, преобразованного на шаге 21, выполняет проверку правильности и целостности программного обеспечения, полученного в ходе обратного преобразования программного кода на шаге 27 (шаг 28). При положительном результате верификации программного обеспечения второй программный загрузчик 7, преобразованный на шаге 21, санкционированно загружает на выполнение программное обеспечение, полученное в ходе обратного преобразования программного кода на шаге 27, в третий сегмент 103 виртуального дискового пространства 9 (шаг 29). Загруженное программное обеспечение запускается на выполнение (шаг 30)

В случае если верификация введенной ключевой информации, виртуального дискового пространства, второго программного загрузчика или программного обеспечения (фиг. 2, шаги 15, 19, 22, 26, 28) прошла с отрицательным результатом, дальнейший процесс загрузки программного обеспечения прекращается, при этом первый программный загрузчик 5 принудительно размонтирует виртуальное дисковое пространство 9 и очищает память оперативного запоминающего устройства 8, после чего приводит микропроцессорную систему 1 в состояние, соответствующее шагу 12 загрузки программного обеспечения.

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

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

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

название год авторы номер документа
СПОСОБ АВТОРИЗАЦИИ ОПЕРАЦИИ, ПРЕДНАЗНАЧЕННОЙ ДЛЯ ВЫПОЛНЕНИЯ НА ЗАДАННОМ ВЫЧИСЛИТЕЛЬНОМ УСТРОЙСТВЕ 2014
  • Стерн Аллон Дж.
RU2675902C2
Способ доверенной загрузки устройства с возможностью заверения разных этапов загрузки несколькими независимыми владельцами ключей 2023
  • Аляутдин Роман Тимурович
  • Караваев Алексей Владимирович
  • Карасев Константин Александрович
  • Рыбаков Антон Викторович
  • Сыренков Андрей Владимирович
  • Тодорук Евгений Анатольевич
RU2808198C1
СЕЛЕКТИВНОЕ ОБЕСПЕЧЕНИЕ СОБЛЮДЕНИЯ ЦЕЛОСТНОСТИ КОДА, ОБЕСПЕЧИВАЕМОЕ МЕНЕДЖЕРОМ ВИРТУАЛЬНОЙ МАШИНЫ 2014
  • Хепкин Дэвид А.
  • Джонсон Кеннет Д.
RU2667713C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
  • Хейли Джон
RU2673969C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
RU2672712C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ЗАГРУЗКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2008
  • Кивиля Маркус
  • Экберг Ян-Эрик
RU2481616C2
СПОСОБ ЗАГРУЗКИ КОДА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО ПРОГРАММНОГО МОДУЛЯ 2011
  • Амон Венсан
RU2557459C2
СПОСОБ ФУНКЦИОНИРОВАНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ ВЫЧИСЛИТЕЛЬНОГО УСТРОЙСТВА ПРОГРАММНО-АППАРАТНОГО КОМПЛЕКСА 2016
  • Моляков Андрей Сергеевич
RU2626350C1
ЗАЩИТА ДВОИЧНЫХ ФАЙЛОВ ТИПОВЫХ КОММЕРЧЕСКИХ ПРОГРАММ ОТ ПИРАТСТВА С ИСПОЛЬЗОВАНИЕМ АППАРАТНЫХ АНКЛАВОВ 2020
  • Гэ, Синьян
  • Цуй, Вэйдун
  • Ню, Бэнь
  • Чэнь, Лин Тони
RU2812867C1
Связанное с выбранными архитектурными функциями администрирование обработки 2015
  • Гшвинд Михаэль Карл
  • Гейни Чарлз
RU2665243C2

Иллюстрации к изобретению RU 2 720 220 C1

Реферат патента 2020 года Способ загрузки программного обеспечения

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

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

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

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

СПОСОБ И УСТРОЙСТВО ДЛЯ ЗАГРУЗКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2008
  • Кивиля Маркус
  • Экберг Ян-Эрик
RU2481616C2
СИСТЕМА И СПОСОБ ДЛЯ ЗАЩИЩЕННОЙ НАЧАЛЬНОЙ ЗАГРУЗКИ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ ПРОВЕРКИ СОСТОЯНИЯ 2005
  • Уиллмэн Брайан Марк
  • Инглэнд Пол
  • Рэй Кеннет Д.
  • Хантер Джеми
  • Макмайкл Лонни Дин
  • Ласалл Дерек Норман
  • Жакомет Пьер
  • Пэли Марк Элиот
  • Куриен Теккталакал Варугис
  • Кросс Дэвид Б.
RU2413295C2
Станок для придания концам круглых радиаторных трубок шестигранного сечения 1924
  • Гаркин В.А.
SU2019A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ и приспособление для нагревания хлебопекарных камер 1923
  • Иссерлис И.Л.
SU2003A1

RU 2 720 220 C1

Авторы

Аникеев Владимир Васильевич

Мартынов Александр Петрович

Марунин Михаил Викторович

Николаев Дмитрий Борисович

Одинцов Михаил Витальевич

Сплюхин Денис Валерьевич

Фомченко Виктор Николаевич

Даты

2020-04-28Публикация

2019-06-21Подача