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

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

ОПИСАНИЕ УРОВНЯ ТЕХНИКИ

С развитием электронных технологий были разработаны электронные продукты различных типов. В частности, в связи с широким использованием компьютеров увеличивается использование компьютерных периферийных устройств. "Компьютерное периферийное устройство" относится к устройству, которое улучшает применение компьютера. Типичными примерами таких компьютерных периферийных устройств являются принтеры, сканеры, копировальные устройства и многофункциональные периферийные устройства.

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

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

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

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

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

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

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

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

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

Система на кристалле может дополнительно содержать первую схему для ограничения доступа к ЦП через внешний порт на заранее определенный период времени.

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

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

Система на кристалле может содержать вторую схему и третью схему для управления доступом к первой памяти.

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

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

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

Первая память может представлять собой масочное постоянное запоминающее устройство (mask ROM) или однократно программируемое (OTP) ROM, и вторая память может представлять собой статическое оперативное запоминающее устройство (SRAM). Третья память может представлять собой память с плавкими перемычками (EFUSE).

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

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

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

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

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

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

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

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

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

Когда произошло событие загрузки, система на кристалле может ограничивать доступ к ЦП через внешний порт на заранее определенный период времени.

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

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

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

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

Первая память может представлять собой масочную ROM или OTP ROM, и вторая память может представлять собой SRAM. Третья память может представлять собой память EFUSE.

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 1 представляет собой блок-схему, иллюстрирующую систему на кристалле в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения;

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

Фиг. 3 представляет собой блок-схему, иллюстрирующую систему на кристалле в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения;

Фиг. 4 представляет собой блок-схему, иллюстрирующую главную плату, на которой установлена система на кристалле, в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения;

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

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

Фиг. 7 представляет собой принципиальную схему, подробно иллюстрирующую пример системы на кристалле с фиг. 4;

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

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

Фиг. 10 представляет собой блок-схему, иллюстрирующую пример устройства формирования изображений, в которое установлена система на кристалле;

Фиг. 11 представляет собой блок-схему, иллюстрирующую пример CRUM-микросхемы, которая может быть установлен в расходный блок;

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

Фиг. 13 представляет собой блок-схему, иллюстрирующую пример системы на кристалле в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения с фиг. 12;

Фиг. 14 и фиг. 15 представляют собой блок-схемы, иллюстрирующие пример системы на кристалле в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения;

Фиг. 16 представляет собой вид, иллюстрирующий пример блока генерации кода, который может быть применен в примерных вариантах осуществления общей идеи настоящего изобретения, проиллюстрированных на фиг. 14 и 15;

Фиг. 17 представляет собой вид, иллюстрирующий примерный вариант осуществления блока генерации кода с фиг. 16;

Фиг. 18 и фиг. 19 представляют собой изображения, иллюстрирующие примерные варианты осуществления общей идеи настоящего изобретения для кода программного обеспечения, который генерируется в блоке генерации кода с фиг. 19;

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

Фиг. 23 представляет собой вид, иллюстрирующий способ обработки контакта записи энергозависимой памяти, которая должная быть деактивирована в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения;

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

Фиг. 25 представляет собой вид, иллюстрирующий примерный вариант осуществления контроллера памяти для выполнения способа управления памятью по примерному варианту осуществления общей идеи настоящего изобретения, проиллюстрированного на фиг. 24;

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

Фиг. 27 представляет собой вид, иллюстрирующий примерный вариант осуществления хост-устройства для выполнения способа управления печатью в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения, проиллюстрированным на фиг. 26;

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

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

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

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

Фиг. 1 представляет собой блок-схему, иллюстрирующую систему на кристалле в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения. Обратимся к фиг. 1; система 100 на кристалле выполняет безопасную загрузку с использованием энергонезависимой памяти 200, в которой хранятся зашифрованные данные. Система 100 на кристалле и энергонезависимая память 200 с фиг. 1 могут быть встроены в электронное устройство (например, в одно электронное устройство). Например, система 100 на кристалле может быть встроена в устройство формирования изображений, такое как устройство 1000 формирования изображений, проиллюстрированное и описанное в связи с фиг. 10. Система 100 на кристалле может быть встроена в любое подходящее электронное устройство. Система на кристалле может представлять собой интегральную схему, программируемое логическое устройство, программируемую пользователем матрицу логических элементов и/или любое подходящее устройство для выполнения безопасной загрузки в соответствии с примерными вариантами осуществления общей идеи настоящего изобретения, изложенными в настоящем описании.

Система 100 на кристалле выполняет процесс безопасной загрузки с применением шифрованных данных, которые хранятся в энергонезависимой памяти 200. В частности, различные данные, такие как символ начала блока загрузки (BSS), ядро, программа инициализации, операционная система (OS), другая OS (беспроводной стек), библиотека методов доступа, эмуляция, фиксированный сегмент, неупорядоченный массив данных, ключ аутентификации, зашифрованная OS и драйвер устройства могут быть зашифрованы и могут храниться в энергонезависимой памяти 200.

Данные могут быть зашифрованы различными способами. Например, может применяться способ стандарта шифрования данных (DES), способ тройного DES (TDES), способ расширенного стандарта шифрования (AES), алгоритм SEED, способ Ривеста – Шамира - Эдльмана (RSA) и алгоритм академического агентства научно-исследовательских институтов (ARIA).

Способом DES называется способ, в котором данные шифруются и дешифруются с применением алгоритма шифрования с симметричными ключами с использованием ключа из 56 бит. Способом TDES называется способ, в котором DES повторяется три раза. Способом AES называется способ, в котором выполняется шифрование/дешифрование блока размером 128 бит с использованием любого ключа, кратного 32 битам, такого как 128, 160, 192, 224, или 256 бит. Способ SEED, который аналогичен способу AES, относится к способу шифрования 128-битных блоков, который шифрует и дешифрует данные с применением ключа шифрования из 128 бит или 256 бит. Способ RSA является одним из видов системы шифрования с открытым ключом, в котором используется односторонняя функция, и алгоритм ARIA представляет собой способ блочного шифрования, в котором шифруется и дешифруется блок из 128 бит с применением ключа 128, 192 или 256 бит.

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

Обратимся к фиг. 1; система 100 на кристалле содержит первую память 110, вторую память 120 и центральный процессор (ЦП) 130. ЦП 130 может представлять собой процессор и/или любое подходящее устройство для выполнения примерных вариантов осуществления общей идеи настоящего изобретения. Ключ шифрования может храниться в первой памяти 110. Первая память 110 может быть реализована посредством применения масочного постоянного запоминающего устройства (ROM) или однократно программируемой памяти (OTP).

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

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

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

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

ЦП 130 дешифрует зашифрованные данные, которые хранятся в энергонезависимой памяти 200, размещенной вне системы 100 на кристалле, с применением ключа шифрования, хранящегося в первой памяти 110, и сохраняет дешифрованные данные во второй памяти 120. ЦП 130 может выполнять загрузку с использованием данных, хранящихся во второй памяти 120. Способ дешифрования может соответствовать способу шифрования данных.

Например, если применяется способ AES, то данные шифруются посредством повторения процесса AddRoundKey, который выполняет операцию XOR в отношении данных, которые должны быть зашифрованы, и исходно введенного ключа шифрования, процесса SubBytes, который заменяет результат операции XOR в соответствии с конкретным правилом, процесс ShiftRows, который сдвигает строку данных, и процесса MixColumn, который перемешивает строку данных 10 раз. В энергонезависимой памяти 200 могут храниться данные, которые зашифрованы описанным выше способом. ЦП 130 может дешифровать зашифрованные данные посредством повторения обратных процессов, соответствующих описанным выше процессам шифрования. Дешифрованные данные хранятся во второй памяти 120, и ЦП 130 выполняет последующий процесс загрузки с использованием хранящихся данных.

Если применяется способ RSA, то данные шифруются и дешифруются с применением открытого ключа {N, E} и частного ключа {N, D}. В частности, выбираются два больших простых числа 'p' и 'q' (то есть простые числа, превышающие заранее определенное значение) и рассчитывается модуль N=p*q и PI(N). Также выбирается E случайным образом, при этом E является взаимно простым с PI(N)=(p-a)(q-1). D, которое подчиняется соотношению E*D mod PI(N)-1, вычисляется с применением расширенного алгоритма Евклида. В результате шифрование RSA может выполняться с применением открытого ключа {N, E} и частного ключа {N, D}. Шифрование RSA может выполняться с использованием формулы E(M)=MAE mod N=C. M обозначает данные, которые должны быть зашифрованы. В энергонезависимой памяти 200 может храниться загрузочный код, который зашифрован в соответствии с данной формулой. В этом случае ЦП 130 может выполнять RSA-дешифрование с использованием формулы D(C)=CAD mod N=((MAE)AD) mod N=M. Дешифрованные данные хранятся во второй памяти 120, и ЦП 130 выполняет последующий процесс загрузки с использованием хранящихся данных.

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

Фиг. 2 представляет собой блок-схему последовательности операций, подробно иллюстрирующую способ безопасной загрузки в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения. Обратимся к фиг. 2; если электронное устройство, в котором установлена система на кристалле (например, система на кристалле 100), включается в операции S210, то система на кристалле осуществляет доступ к первой памяти 110 и считывает данные, хранящиеся в первой памяти 110, в операции S220. В частности, ЦП 130 переходит к вектору сброса, которому выделен конкретный адрес, и вызывает инструкцию. В данном примерном варианте осуществления адрес вектора сброса может быть задан как первая память 110.

Если задана первая память 110, то ЦП 130 выполняет безопасную загрузку с использованием данных, хранящихся в первой памяти 110. В первой памяти 110 могут храниться различные данные, такие как код для инициализации системы (например, системы на кристалле 100) и код или ключ шифрования для дешифрования зашифрованного внешнего программного кода.

ЦП 130 обнаруживает код для инициализации системы в первой памяти 110 и выполняет задачу инициализации в отношении аппаратного обеспечения электронного устройства в операции S230. Задача инициализации может включать в себя перевод генератора тактовых импульсов, используемого в системе на кристалле 110, с использованием внутренней схемы фазовой автоматической подстройки частоты (PLL) или инициализация контроллера с двойной скоростью (DDR) для использования памяти DDR. Задача инициализации может также включать в себя различные операции инициализации, такие как первоначальное управление различными приложениями, инициализация установки для формирования канала связи между внутренними или внешними устройствами электронного устройства, инициализация значения памяти, настройка значения внутреннего регистра, настройка ввода/вывода (I/O), последовательная настройка, получение MAC-адреса и настройка порта Ethernet. Задача инициализации может включать в себя подготовку аппаратного обеспечения, установленного в электронном устройстве наряду с системой 100 на кристалле. Такие операции инициализации могут быть реализованы рядом способов в соответствии с типом электронного устройства, в котором установлена система 100 на кристалле. Код, хранящийся в первой памяти 110, может быть использован для других операций. Например, ЦП 130 данных считывает значение установки опции контакта загрузки (SPI/NAND/SD) и передает (то есть записывает) данные во вторую память 120 согласно соответствующей опции загрузки.

ЦП 130 дешифрует зашифрованные данные, которые загружаются в систему 100 на кристалле в операции S240. ЦП 130 может дешифровать данные с применением ключа шифрования, хранящегося в первой памяти 110. ЦП 130 сохраняет дешифрованные данные во второй памяти 120 или памяти DDR в операции S250. ЦП 130 выполняет загрузку с использованием дешифрованных данных в операции S260.

То есть ЦП 130 может выполнять загрузку с использованием таких данных, как дешифрованный символ начала блока загрузки (BSS), код ядра, программа инициализации, OS, другая OS (беспроводной стек), библиотека методов доступа, эмуляция, фиксированный сегмент и неупорядоченный массив данных. "Загрузка" относится к операциям загрузки ядра, выполнения оболочки, выполнения UI и запуска OS.

В соответствии с примерным вариантом осуществления, описанным выше, безопасная загрузка может быть выполнена с использованием первой памяти 110 и второй памяти 120 системы 100 на кристалле, которые не являются зашифрованными, при этом зашифрованные данные хранятся во внешней энергонезависимой памяти 200.

Фиг. 3 представляет собой блок-схему, иллюстрирующую систему на кристалле в соответствии с примерным вариантом осуществления общей идеи настоящего изобретения. Обратимся к фиг. 3; система 100 на кристалле может содержать третью память 140 в дополнение к первой памяти 110, второй памяти 120 и ЦП 130.

В соответствии с примерным вариантом осуществления общей идеи настоящего изобретения, множество ключей шифрования может храниться в первой памяти 110. Значение установки для выбора одного из множества ключей шифрования может храниться в третьей памяти 140. Такое значение установки называется "значением установки кл