RU2720068C2 - Устройство обработки информации, способ для его управления и носитель хранения данных - Google Patents

Устройство обработки информации, способ для его управления и носитель хранения данных Download PDF

Info

Publication number
RU2720068C2
RU2720068C2 RU2018136581A RU2018136581A RU2720068C2 RU 2720068 C2 RU2720068 C2 RU 2720068C2 RU 2018136581 A RU2018136581 A RU 2018136581A RU 2018136581 A RU2018136581 A RU 2018136581A RU 2720068 C2 RU2720068 C2 RU 2720068C2
Authority
RU
Russia
Prior art keywords
software module
program
signature
verification
activated
Prior art date
Application number
RU2018136581A
Other languages
English (en)
Other versions
RU2018136581A3 (ru
RU2018136581A (ru
Inventor
Сота СИМИДЗУ
Original Assignee
Кэнон Кабусики Кайся
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Кэнон Кабусики Кайся filed Critical Кэнон Кабусики Кайся
Publication of RU2018136581A3 publication Critical patent/RU2018136581A3/ru
Publication of RU2018136581A publication Critical patent/RU2018136581A/ru
Application granted granted Critical
Publication of RU2720068C2 publication Critical patent/RU2720068C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к устройству обработки информации, к способу для его управления и к носителю хранения данных.
Уровень техники
[0002] Относительно уязвимостей программного обеспечения в компьютерной системе, атаки, которые изменяют программное обеспечение и используют компьютеры, являются проблемой. В качестве противодействия таким атакам, непатентный документ ("About TPM", [онлайн-версия], [поиск от 12 октября 2017 года], Insight International Inc., Интернет-адрес: <http://www.insight-intl.com/jigyou/securitysystem/about_TPM/ about_TPM20.html>) предлагает TPM (доверенный платформенный модуль), который нацелен на укрепление безопасности в вычислительном окружении в компьютерной системе (платформе), для TCG (исследовательской группы в области доверенных вычислений). В TPM, хэш-значения для BIOS/UEFI и начального загрузчика последовательно получаются из CRTM (центрального корня доверия для измерения) в периоды времени, когда они активируются, и они активируются при распространении PCR TPM один за другим. Кроме того, в TPM, обнаружение изменения выполняется посредством, после завершения активации, определения того, совпадают или нет значения PCR в TPM и корректные ответные значения. Такая защищенная активация упоминается как доверенная загрузка (защищенная загрузка). Следует отметить, что поскольку CRTM или TPM представляют собой конфигурации, которые не могут перезаписываться, атака, которая изменяет фрагмент для выполнения обработки обнаружения изменения, чтобы избегать ее, теоретически является невозможной.
[0003] Тем не менее, имеется проблема, как изложено ниже, в вышеприведенной традиционной технологии. Например, в конфигурации, которая не имеет TPM, к примеру, в недорогом устройстве, невозможно реализовывать доверенную загрузку. В случае такой конфигурации, обработка верификации для изменения выполняется после того, как активация приложения для выполнения этой обработки завершается. Вследствие этого, даже если изменение выполнено, невозможно сразу обнаруживать изменение, поскольку изменение обнаруживается после определенного времени работы BIOS или ОС, что обеспечивает запас, например, для выполнения приложения, которое изменяется со злым умыслом.
Сущность изобретения
[0004] Настоящее изобретение обеспечивает реализацию механизма для обнаружения изменения системы во время активации, даже в конфигурации, которая не имеет TPM.
[0005] Один аспект настоящего изобретения предоставляет устройство обработки информации, выполненное с возможностью последовательно активировать множество модулей после активации загрузочной программы посредством встроенного контроллера, причем каждый модуль содержит: блок обнаружения, который использует верифицирующую информацию для верификации подписи модуля, который должен активироваться следующим, чтобы обнаруживать изменение модуля, который должен активироваться следующим, и блок активации, который активирует модуль, который должен активироваться следующим, в случае если верификация подписи посредством блока обнаружения успешно выполняется, при этом каждый модуль хранит заранее верифицирующую информацию и собственную подпись.
[0006] Другой аспект настоящего изобретения предоставляет способ управления устройством обработки информации, выполненным с возможностью последовательно активировать множество модулей после активации загрузочной программы посредством встроенного контроллера, при этом:
- каждый модуль включает в себя: использование верифицирующей информации для верификации подписи модуля, который должен активироваться следующим, чтобы обнаруживать изменение модуля, который должен активироваться следующим, и активацию модуля, который должен активироваться следующим, когда верификация подписи успешно выполняется.
[0007] Еще один другой аспект настоящего изобретения предоставляет машиночитаемый носитель хранения данных, сохраняющий компьютерную программу для инструктирования компьютеру выполнять каждый этап способа управления устройством обработки информации, выполненным с возможностью последовательно активировать множество модулей после активации загрузочной программы посредством встроенного контроллера, при этом каждый модуль включает в себя: использование верифицирующей информации для верификации подписи модуля, который должен активироваться следующим, чтобы обнаруживать изменение модуля, который должен активироваться следующим, и активацию модуля, который должен активироваться следующим, когда верификация подписи успешно выполняется.
[0008] Дополнительные признаки настоящего изобретения должны быть очевидными из нижеприведенного описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи.
Краткое описание чертежей
[0009] Фиг. 1 является схемой аппаратной конфигурации многофункционального периферийного устройства согласно варианту осуществления.
[0010] Фиг. 2A и фиг. 2B являются схемами программной конфигурации многофункционального периферийного устройства согласно варианту осуществления.
[0011] Фиг. 3A-3E являются характерными схемами, которые иллюстрируют операции во время активации, согласно варианту осуществления.
[0012] Фиг. 4 является блок-схемой последовательности операций способа для описания процедуры обработки согласно варианту осуществления.
[0013] Фиг. 5 является блок-схемой последовательности операций способа для описания процедуры обработки согласно варианту осуществления.
[0014] Фиг. 6 является блок-схемой последовательности операций способа для описания процедуры обработки согласно варианту осуществления.
Подробное описание вариантов осуществления
[0015] Ниже подробно описываются предпочтительные варианты осуществления настоящего изобретения со ссылкой на чертежи. Следует отметить, что относительное размещение компонентов, численные выражения и числовые значения, приводимые в этих вариантах осуществления, не ограничивают объем настоящего изобретения, если прямо не указано иное.
[0016] Первый вариант осуществления
Ниже приводится описание относительно первого варианта осуществления настоящего изобретения, со ссылкой на прилагаемые чертежи. Следует отметить, что нижеприведенные варианты осуществления не имеют намерение ограничивать объем формулы изобретения настоящего изобретения, и что не все комбинации признаков, которые описываются согласно нижеприведенным вариантам осуществления, обязательно требуются относительно средств для того, чтобы разрешать проблемы согласно настоящему изобретению. Помимо этого, описание приводится посредством рассмотрения многофункционального периферийного устройства (цифрового многофункционального периферийного устройства/MFP) в качестве примера устройства обработки информации согласно варианту осуществления. Тем не менее, объем применения не ограничен многофункциональными периферийными устройствами, и возможно применение к любому устройству обработки информации.
[0017] Аппаратная конфигурация устройства обработки информации
Во-первых, со ссылкой на фиг. 1, приводится описание для аппаратной конфигурации многофункционального периферийного устройства 100, которое представляет собой устройство обработки информации согласно настоящему варианту осуществления, и встроенного контроллера 113. Многофункциональное периферийное устройство 100 содержит CPU 101, ROM 102 (постоянное запоминающее устройство), RAM 103 (оперативное запоминающее устройство), HDD 104 (жесткий диск), блок 105 управления сетевым интерфейсом, блок 106 управления интерфейсом сканера, блок 107 управления интерфейсом принтера, блок 108 управления панелью, сканер 111, принтер 112, встроенный контроллер 113, флэш-память 114 и светодиод 117. Помимо этого, встроенный контроллер 113 содержит CPU 115 и RAM 116.
[0018] CPU 101 выполняет программу многофункционального периферийного устройства 100, чтобы всесторонне управлять устройством в целом. ROM 102 представляет собой постоянное запоминающее устройство и сохраняет BIOS (базовую систему ввода-вывода) многофункционального периферийного устройства 100, фиксированные параметры и т.п. RAM 103 представляет собой оперативное запоминающее устройство и используется, например, для того, чтобы сохранять программу или временные данные, когда CPU 101 управляет многофункциональным периферийным устройством 100. HDD 104 представляет собой жесткий диск и сохраняет некоторые приложения и различные фрагменты данных. Флэш-память 114 сохраняет различные модули, такие как загрузчик, ядро и приложения.
[0019] CPU 115 встроенного контроллера 113 выполняет программу встроенного контроллера 113, чтобы выполнять определенное управление в многофункциональном периферийном устройстве 100. RAM 116 представляет собой оперативное запоминающее устройство и используется, например, для того, чтобы сохранять программу или временные данные, когда CPU 115 управляет многофункциональным периферийным устройством 100. Относительно встроенного контроллера 113, многофункциональное периферийное устройство 100 содержит главный контроллер для всестороннего управления системой. Главный контроллер сконфигурирован посредством включения, по меньшей мере, CPU 101, ROM 102 и RAM 103.
[0020] Блок 105 управления сетевым интерфейсом управляет передачей и приемом данных с сетью 118. Блок 106 управления интерфейсом сканера выполняет управление для считывания оригинала посредством сканера 111. Блок 107 управления интерфейсом принтера управляет обработкой печати и т.п. посредством принтера 112. Блок 108 управления панелью управляет функциональной панелью 110, которая представляет собой сенсорную панель, отображает различные фрагменты информации и управляет инструкцией, вводимой от пользователя. Шина 109 соединяет CPU 101, ROM 102, RAM 103, HDD 104, блок 105 управления сетевым интерфейсом, блок 106 управления интерфейсом сканера и блок 107 управления интерфейсом принтера между собой. Кроме того, шина 109 также соединяет блок 108 управления панелью, встроенный контроллер 113 и флэш-память 114 между собой. Управляющий сигнал из CPU 101 или сигналы данных между устройствами передаются и принимаются через шину 109. Светодиод 117 подсвечивается по мере необходимости и используется для того, чтобы передавать наружу анормальность в программном обеспечении или аппаратных средствах.
[0021] Программная конфигурация устройства обработки информации
Далее, со ссылкой на фиг. 2A, приводится описание для программных модулей, хранимых посредством многофункционального периферийного устройства 100 согласно настоящему варианту осуществления. Многофункциональное периферийное устройство 100 включает в себя загрузочную программу 209 во встроенном контроллере 113, в качестве программного модуля. Кроме того, многофункциональное периферийное устройство 100 включает в себя BIOS 210, загрузчик 211, ядро 212, собственные программы 213, программу 214 по технологии Java (зарегистрированная торговая марка), блок 203 управления UI и блок 207 управления связью.
[0022] Блок 207 управления связью управляет блоком 105 управления сетевым интерфейсом, который соединен с сетью 118, который выполняет передачу и прием данных с внешним блоком через сеть 118. Блок 203 управления UI принимает ввод в функциональную панель 110 через блок 108 управления панелью и выполняет обработку в соответствии с вводом или экранным выводом в функциональную панель 110.
[0023] Загрузочная программа 209 представляет собой программу, которая выполняется посредством CPU 115 встроенного контроллера 113, когда источник мощности многофункционального периферийного устройства 100 включается, и помимо выполнения обработки, связанной с активацией, включает в себя блок 201 обнаружения изменения BIOS для обнаружения изменения BIOS. BIOS 210 представляет собой программу, которая выполняется посредством CPU 101 после выполнения загрузочной программы 209, и помимо выполнения обработки, связанной с активацией, включает в себя блок 202 обнаружения изменения загрузчика для обнаружения изменения загрузчика 211.
[0024] Загрузчик 211 представляет собой программу, выполняемую посредством CPU 101 после того, как обработка для BIOS 210 завершается, и помимо выполнения обработки, связанной с активацией, имеет блок 204 обнаружения изменения ядра для обнаружения изменения ядра. Ядро 212 представляет собой программу, выполняемую посредством CPU 101 после того, как обработка для загрузчика 211 завершается, и помимо выполнения обработки, связанной с активацией, имеет блок 205 обнаружения изменения собственных программ для обнаружения изменения собственных программ 213.
[0025] Собственные программы 213 представляют собой программы, которые выполняются посредством CPU 101 и содержат множество программ для предоставления различных функций, совместно с программой 214 по технологии Java (зарегистрированная торговая марка) многофункционального периферийного устройства 100. Например, собственные программы 213 включают в себя загрузочную программу либо программу для управления блоком 106 управления интерфейсом сканера или блоком 107 управления интерфейсом принтера. Загрузочная программа вызывается из собственных программ посредством ядра 212, и обработка активации выполняется. Помимо этого, собственные программы 213 имеют блок обнаружения изменения Java-программ для обнаружения изменения Java-программы в качестве одной из этих программ.
[0026] Java-программа 214 представляет собой программу, которая выполняется посредством CPU 101, и представляет собой программу, которая предоставляет различные функции, совместно с собственными программами 213 многофункционального периферийного устройства 100. Например, Java-программа 214 представляет собой программу для отображения экрана на функциональной панели 110.
[0027] Процедура активации
Ниже приводится описание относительно процедуры для активации многофункционального периферийного устройства 100, со ссылкой на фиг. 3A и фиг. 3B. Фиг. 3A иллюстрирует порядок, в котором многофункциональное периферийное устройство 100 активируется без выполнения обнаружения изменения. Загрузочная программа 209 активирует BIOS 210, BIOS 210 активирует загрузчик 211, загрузчик 211 активирует ядро 212, и ядро 212 активирует загрузочную программу из собственных программ 213. Java-программа 214 активируется посредством загрузочной программы, и затем функции многофункционального периферийного устройства 100 предоставляются посредством взаимодействия собственных программ 213 и Java-программы 214. Управление активацией для каждого модуля выполняется в предварительно определенном порядке таким способом, и обработка активации последующего модуля выполняется, когда завершается активация предыдущего модуля.
[0028] Фиг. 3B иллюстрирует порядок, в котором многофункциональное периферийное устройство 100 активируется при выполнении обнаружения изменения. Как показано на чертеже, активация выполняется при выполнении обнаружения изменения в порядке загрузочной программы 209, затем BIOS 210, загрузчика 211, ядра 212, собственных программ 213 и Java-программы 214. Обнаружение изменения модуля, который должен активироваться, выполняется посредством модуля, активированного непосредственно предыдущим. Например, обнаружение изменения BIOS 210 выполняется посредством загрузочной программы 209. Помимо этого, фиг. 3B представляет местоположения хранения для каждой программы, цифровые подписи (в дальнейшем называемые "подписями) и местоположения хранения для открытых ключей (верифицирующей информации) для верификации подписей.
[0029] Ниже предполагается, что загрузочная программа 209 и BIOS 210 сохраняются в ROM 102, а загрузчик 211, ядро 212 и собственные программы 213 (первая программа) сохраняются во флэш-памяти 114. Кроме того, предполагается, что Java-программа 214 (вторая программа) сохраняется на HDD 104.
[0030] Открытый ключ 300 верификации BIOS-подписи сохраняется в загрузочной программе 209, а BIOS-подпись 302 и открытый ключ 303 верификации загрузчика сохраняются в BIOS 210. Подпись 304 загрузчика и открытый ключ 305 верификации ядра сохраняются в загрузчике 211. Помимо этого, подпись 306 ядра и открытый ключ 307 верификации собственной программы сохраняются в ядре 212, а подпись 309 собственной программы и открытый ключ 308 верификации Java-программы сохраняются в собственных программах 213. Кроме того, подпись 310 Java-программы сохраняется в Java-программе 214. Желательно, чтобы эти открытые ключи и подписи назначались заранее программам до заводской поставки многофункционального периферийного устройства 100. В многофункциональном периферийном устройстве 100 согласно настоящему варианту осуществления, соответствующие блоки обнаружения для ссылок с номерами 201, 202 и 204-206 выполняют обнаружение изменения посредством верификации соответствующей программы (соответствующего модуля), которая должна активироваться следующей, и активации следующей программы, если не возникает проблем.
[0031] Процедура обработки
Далее, со ссылкой на фиг. 4, приводится описание для процедуры для обработки во время активации многофункционального периферийного устройства 100 согласно настоящему варианту осуществления. Когда источник мощности для многофункционального периферийного устройства 100 вводится, загрузочная программа 209 считывается из ROM 102 в RAM 116, и она выполняется посредством CPU 115.
[0032] На этапе S401, блок 201 обнаружения изменения BIOS, включенный в загрузочную программу 209, выполняет верификацию подписей для BIOS и определяют то, успешно выполнена или нет верификация подписи. В частности, блок 201 обнаружения изменения BIOS считывает BIOS 210, открытый ключ 303 верификации загрузчика и BIOS-подпись 302 из флэш-памяти 114 в RAM 116. Кроме того, блок 201 обнаружения изменения BIOS использует открытый ключ 300 верификации BIOS для того, чтобы выполнять верификацию BIOS-подписи 302 и определять то, успешно выполнена или нет верификация. Когда верификация подписи завершается неудачно, обработка переходит к этапу S403, и блок 201 обнаружения изменения BIOS инструктирует светодиоду 117 подсвечиваться, и завершает обработку. Между тем, если верификация подписи успешно выполняется, блок 201 обнаружения изменения BIOS прикладывает ток к CPU 101, и обработка загрузочной программы завершается. После этого, блок-схема последовательности операций способа переходит к обработке для этапа S402 и далее, которая выполняется посредством CPU 101.
[0033] Когда ток прикладывается, на этапе S402, CPU 101 считывает BIOS 210 и открытый ключ 303 верификации загрузчика из флэш-памяти 114 в RAM 103 и активирует BIOS 210. Последующая обработка полностью описывается в качестве обработки, которая обрабатывается посредством CPU 101.
[0034] Когда BIOS 210 активируется, обработка переходит к этапу S404. На этапе S404, BIOS 210 выполняет различную обработку инициализации, и блок 202 обнаружения изменения загрузчика, включенный в BIOS 210, считывает загрузчик 211, открытый ключ 305 верификации ядра и подпись 304 загрузчика из флэш-памяти 114 в RAM 103. Кроме того, блок 202 обнаружения изменения загрузчика использует открытый ключ 305 верификации загрузчика для того, чтобы выполнять верификацию подписи 304 загрузчика и определять то, успешно выполнена или нет верификация. Когда верификация подписи завершается неудачно, обработка переходит к этапу S412, и блок 202 обнаружения изменения загрузчика отображает сообщение об ошибке на функциональной панели 110, и обработка завершается. Между тем, когда верификация подписи успешно выполняется, блок 204 обнаружения изменения загрузчика завершает обработку, переходит к этапу S405, и BIOS 210 активирует загрузчик 211, который считан в RAM 103.
[0035] Когда загрузчик 211 активируется, обработка переходит к этапу S406. На этапе S406, загрузчик 211 выполняет различную обработку инициализации, и блок 204 обнаружения изменения ядра, включенный в загрузчик 211, считывает ядро 212, открытый ключ 307 верификации собственной программы и подпись 306 ядра из флэш-памяти 114 в RAM 103. Кроме того, на этапе S406, блок 204 обнаружения изменения ядра использования открытый ключ 305 верификации ядра, чтобы выполнять верификацию подписи 306 ядра и определять то, успешно выполнена или нет верификация. Когда верификация подписи завершается неудачно, обработка переходит к этапу S412, и блок 204 обнаружения изменения ядра отображает сообщение об ошибке на функциональной панели 110, и обработка завершается. Между тем, когда верификация подписи успешно выполняется, блок 204 обнаружения изменения ядра завершает обработку, переходит к этапу S407, и загрузчик 211 активирует ядро 212, которое считано в RAM 103.
[0036] Когда ядро 212 активируется, обработка переходит к этапу S408. На этапе S408, ядро 212 выполняет различную обработку инициализации. Кроме того, блок 205 обнаружения изменения программ, включенный в ядро 212, считывает собственные программы 213, открытый ключ 308 верификации Java-программы и подпись 309 собственной программы из флэш-памяти 114 в RAM 103. На этапе S408, блок 205 обнаружения изменения программ использует открытый ключ 307 верификации собственной программы для того, чтобы выполнять верификацию подписи 309 собственной программы и определять то, успешно выполнена или нет верификация. Когда верификация подписи завершается неудачно, на этапе S412, блок 205 обнаружения изменения программ отображает сообщение об ошибке на функциональной панели 110, и обработка завершается. Между тем, когда верификация подписи успешно выполняется, блок 205 обнаружения изменения программ завершает обработку и активирует собственные программы 213 на этапе S409.
[0037] Когда, из числа собственных программ 213, блок 206 обнаружения изменения Java-программ, который предназначен для выполнения обработки для обнаружения изменения, активируется, обработка переходит к этапу S410. На этапе S410, блок 206 обнаружения изменения Java-программ считывает Java-программу 214 и подпись 310 Java-программы из HDD 104 в RAM 103. На этапе S410, блок 206 обнаружения изменения Java-программ использует открытый ключ 308 верификации Java-программы для того, чтобы выполнять верификацию подписи 310 Java-программы и определять то, успешно выполнена или нет верификация. Когда верификация подписи завершается неудачно, обработка переходит к этапу S412, и блок 206 обнаружения изменения Java-программ отображает сообщение об ошибке на функциональной панели 110, и обработка завершается. Между тем, когда верификация подписи успешно выполняется, блок 206 обнаружения изменения Java-программ завершает обработку, и собственные программы 213 активируют Java-программу 214 на этапе S411.
[0038] Как описано выше, устройство обработки информации согласно настоящему варианту осуществления последовательно активирует множество модулей после активации загрузочной программы. Каждый модуль использует верифицирующую информацию для верификации подписи модуля, который должен активироваться следующим, чтобы обнаруживать изменение модуля, который должен активироваться следующим, и активирует модуль, который должен активироваться следующим, когда верификация подписи успешно выполняется. Кроме того, каждый модуль хранит заранее верифицирующую информацию и собственную подпись. В силу этого, настоящее устройство обработки информации, даже без TPM-конфигурации, может обнаруживать изменение независимо от то, что из BIOS 210 загрузчика 211, ядра 212, собственных программ 213 или Java-программы 214 изменено. Помимо этого, поскольку обнаружение изменения выполняется непосредственно перед активацией каждой программы, и активация сразу прекращается, если изменение найдено, можно гарантировать, что многофункциональное периферийное устройство 100 работает только в защищенном состоянии в любой момент времени, и измененная программа не работает даже на один момент. Помимо этого, в соответствии с другим аспектом, настоящее устройство обработки информации может предоставлять более надежный механизм для обнаружения изменения системы.
[0039] Второй вариант осуществления
Ниже приводится описание для второго варианта осуществления настоящего изобретения. В первом варианте осуществления, описанном выше, предусмотрена конфигурация, в которой HDD 104 сохраняет Java-программы. Поскольку HDD 104 представляет собой область, которая используется для хранения данных, он может считываться или записываться и имеет наибольшую вероятность изменения. В первом варианте осуществления, описанном выше, имеется проблема в том, что доступность снижается, поскольку активация многофункционального периферийного устройства 100 прекращается, когда существует изменение. Соответственно, в настоящем варианте осуществления, приводится описание относительно способа, при использовании которого доступность не снижается, даже если Java-программа, сохраненная на HDD 104, изменяется.
[0040] Процедура активации
Далее, со ссылкой на фиг. 3C, приводится описание для каждой программы, подписи, местоположения хранения для открытого ключа и порядка активации в варианте осуществления. Как проиллюстрировано посредством фиг. 3C, процедура для активации каждого модуля является аналогичной фиг. 3B, которая описывается в первом варианте осуществления, описанном выше. Тем не менее, в настоящем варианте осуществления, в отличие от первого варианта осуществления, описанного выше, Java-программа также сохраняется во флэш-памяти 114, помимо HDD 104. Кроме того, подпись 330, которая является идентичной подписи 310 Java-программы 214, сохраняется во флэш-памяти 114 вместе с Java-программой 331. При условии, что подпись 330 не изменяется, она является идентичной подписи 310, сохраненной на HDD 104.
[0041] Процедура обработки
Далее, со ссылкой на фиг. 5, приводится описание для процедуры для обработки во время активации многофункционального периферийного устройства 100 согласно настоящему варианту осуществления. Поскольку этапы S401-S407, этап S409, этап S410 и этап S412 имеют обработку, аналогичную обработке в первом варианте осуществления, описанном выше, ее описание опускается.
[0042] На этапе S407, когда ядро 212 активируется, выполняется различная обработка инициализации, и обработка переходит к этапу S501. Кроме того, блок 205 обнаружения изменения программ, включенный в ядро 212, считывает собственные программы 213 и Java-программу 214 из флэш-памяти 114 в RAM 103. Кроме того, блок 205 обнаружения изменения программ считывает открытый ключ 308 верификации Java-программы, подпись 309 собственной программы и подпись 330 Java-программы 331 из флэш-памяти 114 в RAM 103.
[0043] Далее, на этапе S501, блок 205 обнаружения изменения программ использует открытый ключ 307 верификации собственной программы для того, чтобы выполнять верификацию подписи 309 собственных программ 213. Кроме того, блок 205 обнаружения изменения программ использует открытый ключ 308 верификации Java-программы для того, чтобы выполнять верификацию подписи 330 Java-программы 331 и определять то, успешно выполнены или нет обе верификации подписей. Когда обе верификации подписей успешно выполняются, обработка переходит к этапу S409. Между тем, когда любая верификация подписей завершается неудачно, обработка переходит к этапу S412.
[0044] Когда обработка этапа S409 завершается, и на этапе S410 определяется то, что верификация подписей Java-программы 214 завершена неудачно, обработка переходит к этапу S502. На этапе S502, блок 206 обнаружения изменения Java-программ удаляет Java-программу 214 из HDD 104 и выполняет обработку повторного развертывания для записи Java-программы 331, сохраненной во флэш-памяти 114, и ее подписи 330 на HDD 104. Когда обработка повторного развертывания завершается, блок 206 обнаружения изменения Java-программ завершает обработку, обработка переходит к этапу S411, и Java-программа 214 активируется.
[0045] Как описано выше, на основе настоящего варианта осуществления, Java-программы хранятся во флэш-памяти 114 в дополнение к HDD 104. Вследствие этого, даже если Java-программа HDD 104, которая имеет высокую вероятность изменения, изменяется, можно не допускать снижения доступности, поскольку изменение может быть восстановлено посредством повторного развертывания Java-программы 331, которая находится флэш-памяти 114.
[0046] Третий вариант осуществления
Ниже приводится пояснение для третьего варианта осуществления настоящего изобретения. Как проиллюстрировано посредством фиг. 3D, предусмотрен случай, в котором рассматриваемая конфигурация представляет собой конфигурацию, в которой многофункциональное периферийное устройство 100 хранит множество ядер и программ, и ядра и программы, которые должны активироваться, заменяются посредством загрузчика. При такой конфигурации, в случае попытки активировать ядро B 220, которое не представляет собой ядро 212 согласно конфигурации первого или второго вариантов осуществления, описанных выше, имеется проблема в том, что поскольку отсутствует подпись для ядра B 220, она должна обнаруживаться как измененная, несмотря на отсутствие изменения, и не активируется. Соответственно, в настоящем варианте осуществления, приводится описание относительно способа для выполнения обнаружения изменения и активации даже в конфигурации, в которой хранятся различное ядро и различная программа.
[0047] Программная конфигурация
Во-первых, со ссылкой на фиг. 2B, приводится описание для примера конфигурации программных модулей, хранимых посредством многофункционального периферийного устройства 100 согласно настоящему варианту осуществления. Поскольку ссылки с номерами 201-214 являются идентичными ссылкам с номерами на фиг. 2A, их описание опускается.
[0048] Загрузчик 223 представляет собой программу, выполняемую посредством CPU 101 после того, как обработка для BIOS 210 завершается, и помимо выполнения обработки, связанной с активацией, имеет блок 224 обнаружения изменения ядра для обнаружения изменения ядра. Загрузчик 223 заменяет ядро, которое следует активировать в соответствии с пользовательским вводом, через функциональную панель 110.
[0049] Ядро B 220 представляет собой программу, выполняемую посредством CPU 101, которая отличается от ядра 212, выполняет обработку, связанную с активацией, и также имеет блок 221 обнаружения изменения программ для выполнения обнаружения изменения собственной программы B 222. Собственная программа B 222 представляет собой программу, которая выполняется посредством CPU 101, и предоставляет функцию обновления для многофункционального периферийного устройства 100. Она вызывается посредством ядра B 220 и предоставляет функцию для обновления ядра 212, собственных программ 213 или Java-программы 214. Следует отметить, что собственная программа B 222 не ограничена функцией обновления и может представлять собой программу, которая предоставляет другую функцию.
[0050] Процедура активации
Далее, со ссылкой на фиг. 3E, приводится описание для последовательности операций обработки, в которой цель для обнаружения изменения может заменяться и активироваться в соответствии с тем, представляет собой ядро, которое следует активировать посредством загрузчика 223, ядро 212 или ядро B 220.
[0051] Предполагается, что загрузчик 223 включает в себя подпись 304 загрузчика 223, открытый ключ 305 для верификации ядра 212 и открытый ключ 340 для верификации ядра B 220. Помимо этого, подпись 341 для ядра B и открытый ключ 342 для верификации собственной программы B включены в ядро B 220, и подпись 343 для собственной программы B включена в собственную программу B 222. Желательно, чтобы эти открытые ключи и подписи назначались заранее программам до заводской поставки многофункционального периферийного устройства 100. Таким образом, загрузчик 223 включает в себя соответствующие открытые ключи (верифицирующую информацию) для множества ядер, которые могут активироваться следующими.
[0052] Процедура обработки
Далее, со ссылкой на фиг. 6, приводится описание для процедуры для обработки во время активации многофункционального периферийного устройства 100 согласно настоящему варианту осуществления. Поскольку обработка этапов S401-S404 и этапов S406-S412 является аналогичной обработке на фиг. 4, ее описание опускается.
[0053] На этапе S600, когда загрузчик 223 активируется, различная обработка инициализации выполняется. Далее, на этапе S601, загрузчик 223 определяет то, выбрано или нет ядро B 220 в качестве цели активации через функциональную панель 110. Если ядро B 220 не выбрано в качестве цели активации, выполняется переход к обработке этапа S406. Между тем, когда ядро B 220 выбирается, блок 224 обнаружения изменения ядра, включенный в загрузчик 223, считывает ядро B 220, открытый ключ 342 для верификации собственной программы B и подпись 341 ядра B из флэш-памяти 114 в RAM 103. На этапе S602, блок 224 обнаружения изменения ядра использует открытый ключ 342 для верификации ядра B, чтобы выполнять верификацию подписи 341 ядра B и определять то, успешно выполнена или нет верификация. Если верификация подписи завершается неудачно, обработка переходит к этапу S412. Между тем, когда верификация подписи успешно выполняется, блок 221 обнаружения изменения ядра завершает обработку, и на этапе S603, загрузчик 223 активирует ядро B 220, которое считано в RAM 103.
[0054] Когда ядро B 220 активируется, выполняется различная обработка инициализации, и блок 221 обнаружения изменения программ, включенный в ядро B 220, считывает собственную программу B 222 и подпись 343 для собственной программы B из флэш-памяти 114 в RAM 103. На этапе S604, блок 221 обнаружения изменения программ использует открытый ключ 342 для верификации собственной программы B, чтобы выполнять верификацию подписи 343 собственной программы B и определять то, успешно выполнена или нет верификация. Если верификация подписи завершается неудачно, обработка переходит к этапу S412. Между тем, когда верификация подписи успешно выполняется, блок 221 обнаружения изменения программ завершает обработку и активирует собственную программу B 222 на этапе S605. При активации, собственная программа B 222 предоставляет пользователю функцию обновления.
[0055] Как описано выше, на основе настоящего варианта осуществления, даже в конфигурации, в которой хранятся множество ядер и множество программ, можно выполнять активацию после выполнения обнаружения изменения для них, и можно достигать преимущества, аналогичного преимуществу первого и второго вариантов осуществления, описанных выше.
[0056] Варьирование
Настоящее изобретение не ограничено вариантами осуществления, описанными выше, и возможны различные варьирования. В первом-третьем вариантах осуществления, описанных выше, открытые ключи описаны как отличающиеся друг от друга, но они могут быть идентичными. Помимо этого, описание приведено с ROM 102, флэш-памятью 114 и HDD 104 в качестве местоположения хранения для соответствующих программ, но это не ограничивает местоположение хранения, и местоположение хранения может представлять собой другой носитель хранения данных. Помимо этого, местоположение хранения программы не должно обязательно представлять собой описанное местоположение, и, например, может осуществляться конфигурация для того, чтобы сохранять загрузчик 223 в ROM 102.
[0057] Другие варианты осуществления
Вариант(ы) осуществления настоящего изобретения также могут реализовываться посредством компьютера системы или устройства, которое считывает и выполняет машиноисполняемые инструкции (например, одну или более программ), записанные на носителе хранения данных (который также более полно может называться "энергонезависимым машиночитаемым носителем хранения данных"), с тем чтобы выполнять функции одного или более вышеописанных вариантов осуществления, и/или которое включает в себя одну или более схем (например, специализированную интегральную схему (ASIC)) для выполнения функций одного или более вышеописанных вариантов осуществления, и посредством способа, осуществляемого посредством компьютера системы или устройства, например, посредством считывания и выполнения машиноисполняемых инструкций из носителя хранения данных с возможностью выполнять функции одного или более вышеописанных вариантов осуществления, и/или управления одной или более схем с возможностью выполнять функции одного или более вышеописанных вариантов осуществления. Компьютер может содержать один или более процессоров (например, центральный процессор (CPU), микропроцессор (MPU)) и может включать в себя сеть отдельных компьютеров или отдельных процессоров, чтобы считывать и выполнять машиноисполняемые инструкции. Машиноисполняемые инструкции могут предоставляться в компьютер, например, из сети или с носителя хранения данных. Носитель хранения данных может включать в себя, например, одно или более из жесткого диска, оперативного запоминающего устройства (RAM), постоянного запоминающего устройства (ROM), устройства хранения распределенных вычислительных систем, оптического диска (такого как компакт-диск (CD), универсальный цифровой диск (DVD) или Blu-Ray-диск (BD)™), устройства флэш-памяти, карты памяти и т.п.
[0058] Хотя настоящее изобретение описано со ссылкой на примерные варианты осуществления, следует понимать, что изобретение не ограничено раскрытыми примерными вариантами осуществления. Объем прилагаемой формулы изобретения должен соответствовать самой широкой интерпретации, так что он заключает в себе все такие модификации и эквивалентные структуры и функции.

Claims (34)

1. Устройство обработки информации, выполненное с возможностью последовательно активировать множество программных модулей после активации загрузочной программы посредством встроенного контроллера, причем каждый программный модуль, кроме программного модуля, который должен быть активирован последним, содержит:
блок обнаружения, который использует верифицирующую информацию для верификации подписи программного модуля, который должен активироваться следующим, чтобы обнаруживать изменение программного модуля, который должен активироваться следующим, и
блок активации, который активирует программный модуль, который должен активироваться следующим, в случае если верификация подписи посредством блока обнаружения успешно выполняется, и
при этом каждый программный модуль хранит заранее верифицирующую информацию и собственную подпись, и
при этом обнаружение блоком обнаружения изменения программного модуля, который должен активироваться следующим, содержащегося в программном модуле, при успешном выполнении верификации, выполняется повторно до тех пор, пока не будет активирован программный модуль, который должен быть активирован последним.
2. Устройство обработки информации по п. 1, в котором:
встроенный контроллер для выполнения загрузочной программы:
содержит блок обнаружения и блок активации, и
хранит заранее верифицирующую информацию.
3. Устройство обработки информации по п. 1, в котором блок активации прекращает активацию устройства обработки информации в случае, если верификация подписи посредством блока обнаружения завершается неудачно.
4. Устройство обработки информации по п. 1, в котором:
множество программных модулей включают в себя BIOS (базовую систему ввода-вывода), загрузчик, ядро, первую программу и вторую программу, и
загрузочная программа и BIOS сохраняются в ROM (постоянном запоминающем устройстве), загрузчик, ядро и первая программа сохраняются во флэш-памяти, и вторая программа сохраняется на HDD (жестком диске).
5. Устройство обработки информации по п. 4, в котором:
флэш-память также сохраняет вторую программу, и
в случае если верификация подписи посредством блока обнаружения для второй программы, сохраненной на HDD, завершается неудачно, блок активации программного модуля, который активирует вторую программу, повторно развертывает вторую программу, сохраненную во флэш-памяти, на HDD и активирует вторую программу.
6. Устройство обработки информации по п. 1, в котором:
блок активации заменяет и активирует программный модуль, который должен активироваться следующим, в соответствии с пользовательским вводом,
каждый программный модуль хранит заранее верифицирующую информацию для каждого из множества программных модулей, которые могут активироваться следующими, и собственную подпись.
7. Устройство обработки информации по п. 1,
дополнительно содержащее главный контроллер, который управляет каждым программным модулем,
при этом встроенный контроллер имеет запоминающее устройство и процессор, отдельные от главного контроллера.
8. Способ управления устройством обработки информации, выполненным с возможностью последовательно активировать множество программных модулей после активации загрузочной программы посредством встроенного контроллера, при этом:
каждый программный модуль, кроме программного модуля, который должен быть активирован последним, включает в себя этапы, на которых:
используют верифицирующую информацию для верификации подписи программного модуля, который должен активироваться следующим, чтобы обнаруживать изменение программного модуля, который должен активироваться следующим, и
активируют программный модуль, который должен активироваться следующим, когда верификация подписи успешно выполняется, и
при этом каждый программный модуль хранит заранее верифицирующую информацию и собственную подпись, и
при этом обнаружение блоком обнаружения изменения программного модуля, который должен активироваться следующим, содержащегося в программном модуле, при успешном выполнении верификации, выполняется повторно до тех пор, пока не будет активирован программный модуль, который должен быть активирован последним.
9. Машиночитаемый носитель хранения данных, сохраняющий компьютерную программу для инструктирования компьютеру выполнять каждый этап способа управления устройством обработки информации, выполненным с возможностью последовательно активировать множество программных модулей после активации загрузочной программы посредством встроенного контроллера, при этом:
каждый программный модуль, кроме программного модуля, который должен быть активирован последним, включает в себя:
использование верифицирующей информации для верификации подписи программного модуля, который должен активироваться следующим, чтобы обнаруживать изменение программного модуля, который должен активироваться следующим, и
активацию программного модуля, который должен активироваться следующим, когда верификация подписи успешно выполняется, и
при этом каждый программный модуль хранит заранее верифицирующую информацию и собственную подпись, и
при этом обнаружение блоком обнаружения изменения программного модуля, который должен активироваться следующим, содержащегося в программном модуле, при успешном выполнении верификации, выполняется повторно до тех пор, пока не будет активирован программный модуль, который должен быть активирован последним.
RU2018136581A 2017-10-18 2018-10-17 Устройство обработки информации, способ для его управления и носитель хранения данных RU2720068C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017201956A JP6942601B2 (ja) 2017-10-18 2017-10-18 情報処理装置、その制御方法、及びプログラム
JP2017-201956 2017-10-18

Publications (3)

Publication Number Publication Date
RU2018136581A3 RU2018136581A3 (ru) 2020-04-17
RU2018136581A RU2018136581A (ru) 2020-04-17
RU2720068C2 true RU2720068C2 (ru) 2020-04-23

Family

ID=63708142

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018136581A RU2720068C2 (ru) 2017-10-18 2018-10-17 Устройство обработки информации, способ для его управления и носитель хранения данных

Country Status (6)

Country Link
US (1) US11055413B2 (ru)
EP (1) EP3474179B1 (ru)
JP (1) JP6942601B2 (ru)
KR (1) KR102347703B1 (ru)
CN (1) CN109684849B (ru)
RU (1) RU2720068C2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392687B2 (en) * 2019-01-04 2022-07-19 Baidu Usa Llc Method and system for validating kernel objects to be executed by a data processing accelerator of a host system

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6942601B2 (ja) * 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP6706278B2 (ja) * 2018-03-27 2020-06-03 キヤノン株式会社 情報処理装置、及び情報処理方法
JP7182966B2 (ja) 2018-09-12 2022-12-05 キヤノン株式会社 情報処理装置、情報処理装置の起動方法、及びプログラム
EP4318285A3 (en) * 2019-06-10 2024-03-13 Google LLC Secure verification of firmware
JP2021002081A (ja) 2019-06-19 2021-01-07 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP7321795B2 (ja) * 2019-06-27 2023-08-07 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP7282616B2 (ja) * 2019-06-27 2023-05-29 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP7367471B2 (ja) * 2019-11-07 2023-10-24 株式会社リコー 情報処理装置、ファイル保証方法、及びファイル保証プログラム
EP3822775A1 (de) * 2019-11-14 2021-05-19 Siemens Aktiengesellschaft Verfahren zum sicheren starten einer gerätesoftware, insbesondere eines betriebssystems, eines elektronischen gerätes
JP7393226B2 (ja) * 2020-01-29 2023-12-06 キヤノン株式会社 情報処理装置とその起動方法
CN111523124B (zh) * 2020-07-06 2020-10-13 飞天诚信科技股份有限公司 一种云音箱固件保护方法及系统
JP2022135443A (ja) * 2021-03-05 2022-09-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US11409865B1 (en) * 2021-08-16 2022-08-09 Cyberark Software Ltd. Verification code injection at build time

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161784A1 (en) * 2005-01-14 2006-07-20 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
US20070136807A1 (en) * 2005-12-13 2007-06-14 Deliberato Daniel C System and method for detecting unauthorized boots
WO2012148422A1 (en) * 2011-04-29 2012-11-01 Hewlett-Packard Development Company, L.P. Embedded controller to verify crtm
RU2595924C2 (ru) * 2011-08-29 2016-08-27 Сони Корпорейшн Устройство обработки информации, способ обработки информации и программа
US20170103209A1 (en) * 2015-10-12 2017-04-13 Microsoft Technology Licensing, Llc Trusted platforms using minimal hardware resources

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
US20050005101A1 (en) * 2003-07-03 2005-01-06 Yenduri Bhargava K. Kernel cryptographic module signature verification system and method
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
FR2899702A1 (fr) 2006-04-10 2007-10-12 France Telecom Procede et dispositif pour engendrer une suite pseudo-aleatoire
JP4939851B2 (ja) * 2006-06-21 2012-05-30 パナソニック株式会社 情報処理端末、セキュアデバイスおよび状態処理方法
JP4227641B2 (ja) * 2006-11-20 2009-02-18 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法
AU2008246243B2 (en) * 2008-11-19 2011-12-22 Canon Kabushiki Kaisha DVC as generic file format for plenoptic camera
JP2011003020A (ja) * 2009-06-18 2011-01-06 Toyota Infotechnology Center Co Ltd コンピューターシステムおよびプログラム起動方法
US8949565B2 (en) * 2009-12-27 2015-02-03 Intel Corporation Virtual and hidden service partition and dynamic enhanced third party data store
JP2012008641A (ja) * 2010-06-22 2012-01-12 Toshiba Tec Corp セキュリティデバイス及び情報処理装置
NO335189B1 (no) * 2010-10-26 2014-10-20 Cupp Computing As Sikkert databehandlingssystem
JP5822527B2 (ja) * 2011-05-09 2015-11-24 キヤノン株式会社 情報処理装置、その制御方法、および制御プログラム
US8732527B2 (en) * 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
JP2013117910A (ja) * 2011-12-05 2013-06-13 Canon Inc 情報処理装置、その制御方法、およびプログラム
US9367328B2 (en) * 2012-06-28 2016-06-14 Intel Corporation Out-of-band host OS boot sequence verification
CN102830990A (zh) * 2012-07-20 2012-12-19 大唐移动通信设备有限公司 一种计算机系统启动方法及计算机终端
JP5980050B2 (ja) * 2012-08-29 2016-08-31 キヤノン株式会社 情報処理装置
US9990666B2 (en) * 2012-09-12 2018-06-05 Canon Kabushiki Kaisha Method, system and apparatus for delivering a recommendation
US9792439B2 (en) * 2012-09-19 2017-10-17 Nxp B.V. Method and system for securely updating firmware in a computing device
RU2630171C2 (ru) * 2013-03-15 2017-09-05 Хуавей Текнолоджиз Ко., Лтд. Способ начальной загрузки компьютерной системы с множеством центральных процессоров
JP2015052996A (ja) * 2013-09-09 2015-03-19 キヤノン株式会社 画像形成装置、及び画像形成装置の制御方法
JP6226709B2 (ja) * 2013-11-15 2017-11-08 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
JP6399763B2 (ja) * 2014-02-19 2018-10-03 キヤノン株式会社 情報処理装置、情報処理方法
CN103927490A (zh) * 2014-04-25 2014-07-16 华为技术有限公司 操作系统安全启动方法及装置
CN104200153B (zh) * 2014-09-12 2019-04-16 北京赛科世纪科技股份有限公司 一种启动验证方法和系统
KR20160076371A (ko) * 2014-12-22 2016-06-30 삼성전자주식회사 워크플로우를 처리하는 방법 및 이를 수행하는 모바일 디바이스
DE102015001801A1 (de) * 2015-02-16 2016-08-18 IAD Gesellschaft für Informatik, Automatisierung und Datenverarbeitung mbH Autonom bootendes System mit einer Verschlüsselung des gesamten Datenspeichers und Verfahren hierfür
CN104794393B (zh) * 2015-04-24 2017-11-10 杭州字节信息技术有限公司 一种嵌入式分区映像安全认证及内核可信引导方法及其设备
JP6659150B2 (ja) 2016-02-05 2020-03-04 キヤノン株式会社 装置及びその制御方法、並びにプログラム
CN106775716B (zh) * 2016-12-15 2020-04-17 中国科学院沈阳自动化研究所 一种基于度量机制的可信plc启动方法
JP6942601B2 (ja) * 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161784A1 (en) * 2005-01-14 2006-07-20 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
US20070136807A1 (en) * 2005-12-13 2007-06-14 Deliberato Daniel C System and method for detecting unauthorized boots
WO2012148422A1 (en) * 2011-04-29 2012-11-01 Hewlett-Packard Development Company, L.P. Embedded controller to verify crtm
RU2595924C2 (ru) * 2011-08-29 2016-08-27 Сони Корпорейшн Устройство обработки информации, способ обработки информации и программа
US20170103209A1 (en) * 2015-10-12 2017-04-13 Microsoft Technology Licensing, Llc Trusted platforms using minimal hardware resources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392687B2 (en) * 2019-01-04 2022-07-19 Baidu Usa Llc Method and system for validating kernel objects to be executed by a data processing accelerator of a host system

Also Published As

Publication number Publication date
EP3474179B1 (en) 2021-07-07
RU2018136581A3 (ru) 2020-04-17
KR20190043473A (ko) 2019-04-26
KR102347703B1 (ko) 2022-01-06
EP3474179A1 (en) 2019-04-24
US20190114429A1 (en) 2019-04-18
RU2018136581A (ru) 2020-04-17
US11055413B2 (en) 2021-07-06
JP2019075000A (ja) 2019-05-16
JP6942601B2 (ja) 2021-09-29
CN109684849A (zh) 2019-04-26
CN109684849B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
RU2720068C2 (ru) Устройство обработки информации, способ для его управления и носитель хранения данных
US10740468B2 (en) Multiple roots of trust to verify integrity
US8892858B2 (en) Methods and apparatus for trusted boot optimization
JP6282305B2 (ja) ハイパーバイザモードにおけるコードの安全な実行システムおよび方法
US8850177B2 (en) System and method for validating components during a booting process
US20180020112A1 (en) Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium
CN107408172B (zh) 从用户信任的设备安全地引导计算机
US9576132B2 (en) Information processing apparatus and information processing method
EP2407906A2 (en) Providing silicon integrated code for a system
CN110874467B (zh) 信息处理方法、装置、系统以及处理器、存储介质
JP2020160747A (ja) 情報処理装置、その制御方法、及びプログラム
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
EP3547194B1 (en) Apparatus and method for secure boot
US11822928B2 (en) Information processing apparatus, method of controlling same, storage medium, and image forming apparatus
JP2020052597A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
US20220309145A1 (en) Information processing apparatus, verification method of program, computer readable medium and image processing apparatus
JP2019128775A (ja) 情報処理装置及びその制御方法、並びにプログラム