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

Иллюстрации

Показать все

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

Реферат

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

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

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

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

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

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

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

ТЕХНИЧЕСКАЯ ЗАДАЧА

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

РЕШЕНИЕ ЗАДАЧИ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ

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

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

[44] Эти и/или другие функции и выгоды представленной общей концепции в соответствии с настоящим изобретением станут очевидными и понятными из следующего описания вариантов осуществления в совокупности с сопроводительными чертежами, в которых:

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

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

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

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

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

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

[51] Фиг. 7 представляет собой принципиальную электрическую схему, более подробно иллюстрирующую один пример системы на кристалле, изображенной на Фиг. 4;

[52] Фиг. 8 иллюстрирует пример расположения безопасного встроенного программного обеспечения;

[53] Фиг. 9 иллюстрирует пример карты памяти для выполнения безопасной начальной загрузки;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СПОСОБ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

[71] Далее примерные варианты осуществления будут описаны более подробно со ссылками на сопроводительные чертежи.

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

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

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

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

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

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

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

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

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

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

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

[83] Первая память 110 может хранить информацию о загрузчике для начальной загрузки. Загрузчик для начальной загрузки относится к программе, которая выполняется прежде, чем запускается ОС, заканчивает все операции, необходимые для запуска ядра, и наконец запускает ОС. Таким образом, ОС делится на ядро, в котором выполняются реальные команды, платформу, которая передает ядру команды, включенные в программу, и пользовательский интерфейс (UI), который выполняется на ядре и платформе. Загрузчик для начальной загрузки относится к программе, которая подготавливает аппаратные средства перед запуском ядра. В частности, конфиденциальная информация загрузчика для начальной загрузки может храниться в первой памяти 110. Конфиденциальная информация загрузчика для начальной загрузки может включать в себя информацию, необходимую для инициализации системы.

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

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

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

[87] Если применяется способ 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 может быть выполнено c использованием уравнения E(M)=M^E mod N=C, где М означает шифруемые данные.

Энергонезависимая память 200 может хранить код начальной загрузки, который шифруется согласно этому уравнению. В этом случае ЦП 130 может выполнять дешифрование RSA, используя уравнение D(C)=C^D mod N=((M^E)^D) mod N=M. Дешифрованные данные сохраняются во второй памяти 120, и ЦП 130 выполняет последующий процесс начальной загрузки, используя сохраненные данные.

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

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

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

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

[92] ЦП 130 дешифрует зашифр