Only advanced technologies.                                  Safety - is a priority.

ICU-m
Intelligent Cryptographic Unit  Renesas RH850

Интеллектуальный криптографический модуль ICU-m renesas


              В микроконтроллерах RH850 есть 2 типа IP-адресов безопасности: ICU-S и ICU-M. В этой статье мы расскажем о том, как обеспечивается безопасная загрузка на обоих типах устройств.

            Безопасная загрузка в ICU-S и ICU-M может быть реализована на основе спецификации HIS (теперь AUTOSAR) Secure Hardware Extension (SHE). Если вы хотите получить более подробную информацию о спецификации SHE, пожалуйста, обратитесь к AUTOSAR SHE (URL: Спецификация защищенных аппаратных расширений (autosar.org)). Каждый может ознакомиться со спецификацией SHE на сайте AUTOSAR SHE.


   Способ реализации безопасной загрузки с использованием ICU-S на RH850

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

В ICU-S нет специального процессора, предназначенного только для обеспечения безопасности. Безопасная загрузка выполняется с незащищенного процессора (PE1). Для предотвращения несанкционированного доступа исходная логика безопасной загрузки хранится в памяти одноразовой программы (OTP). Вектор сброса должен указывать на этот неизменяемый код для предотвращения несанкционированного доступа. Наряду с протоколом OTP, secure boot на устройствах ICUS использует MAC-ключ secure boot и MAC-слоты secure boot, защищенные в ICUS. В рамках этой стратегии OTP-память и ICU создают основу доверия.

ICU-S - это интеллектуальный криптографический модуль, эквивалентный EVITA light.

Краткое описание метода:

  • Аппаратный корень доверия:
    Флэш-память OTP и защищенное хранилище ключей ICU-S
    Защита от несанкционированного доступа:
    MAC и MAC-ключ надежно хранятся в защищенной памяти ICU-S
    Криптографический алгоритм
    CMAC (NIST SP 800-38B)

Пример поэтапной безопасной загрузки с использованием ICUS на RH850:

  1. После перезагрузки MCU центральный процессор (PE1) запускает программу безопасной загрузки, расположенную в памяти OTP.
    Программа безопасной загрузки проверяет пользовательскую программу A.
    Программа безопасной загрузки вычисляет значение CMAC на основе пользовательской программы A и загрузочного MAC-ключа.
    Программа безопасной загрузки проверяет результат расчета и “значение CMAC программы A” (Примечание 1).
    Если проверка на шаге 2 пройдена успешно, PE1 запускает пользовательскую программу A и проверяет пользовательскую программу B с помощью ICU-S.
    Аналогично шагу 2 (Программа A -> Программа B).
    Если проверка на шаге 3 пройдена успешно, пользовательская программа (Программа B) выполняется PE1.

Примечание 1: “Значение CMAC программы A” может быть зарегистрировано на защищенной флэш-памяти, управляемой ICU-S

    Способ реализации безопасной загрузки с использованием ICU-M на RH850


ICU-M - это интеллектуальный криптографический модуль Renesas, соответствующий стандарту EVITA medium.

Микроконтроллеры, оснащенные ICU-M, оснащены отдельным процессором ICU-M, который называется Intelligence Cryptographic Unit Processor (ICUP). Программное обеспечение для обеспечения безопасности полностью работает на ICUP. ICUP имеет эксклюзивный доступ к аппаратным ресурсам ICU-M, таким как криптографические ускорители и защищенная флэш-память. Кроме того, ICUP может получить доступ к некоторым общим ресурсам для связи с основным процессорным элементом (MainPE).

Прикладное программное обеспечение, работающее на главном компьютере, не может напрямую обращаться к ресурсам ICU-M, таким как криптографические ускорители и secure flash. Поэтому главный компьютер должен запрашивать службы безопасности у ICUP через определенный интерфейс связи. Этот интерфейс определяется встроенным ПО ICUM. Микроконтроллеры с поддержкой ICUM поддерживают межпроцессорную связь через почтовые ящики с общей памятью, а также межпроцессорные прерывания.

На устройствах с ICUM безопасная загрузка выполняется из secure ICUP. Исходная логика безопасной загрузки хранится в хранилище защищенного кода, доступном только ICU-M. Реализация безопасной загрузки проверяет приложение с помощью ключа безопасной загрузки, хранящегося в защищенной флэш-памяти ICUM. Ключ безопасной загрузки и ICUM образуют аппаратный “Корень доверия”. После перезагрузки ICUP запускается первым и выполняет безопасную загрузку прикладного программного обеспечения. После проверки ICUP выводит другие процессорные элементы микроконтроллера из состояния сброса и начинает работу. Как упоминалось ранее, доступ к аппаратным ресурсам ICU-M, таким как криптографические ускорители и защищенная флэш-память, предоставляется исключительно ICUP.


Краткое описание метода:

  • Аппаратный корень доверия:
    Аппаратное обеспечение ICU-M. и программа безопасной загрузки на флэш-памяти с защищенным кодом. (Злоумышленник не может изменить программу безопасной загрузки, защищенную аппаратным обеспечением ICU-M)
    Защита от несанкционированного доступа:
    Загрузочный MAC хранится в защищенной флэш-памяти, доступной только ICUM.
    Криптографические алгоритмы:
    CMAC (NIST SP 800-38B)
    Алгоритм цифровой подписи RSA



Пример поэтапной безопасной загрузки с использованием ICUM в микроконтроллере RH850 (асимметричные алгоритмы)

  1. ICUP настроен на выполнение функций загрузочного процессора после сброса MCU.
    Пользовательская программа A проверяется программой безопасной загрузки в ICU-M.
    Программа безопасной загрузки вычисляет дайджест сообщений (хэш) из пользовательской программы A.
    Программа безопасной загрузки вычисляет дайджест сообщения на основе подписи программы A и открытого ключа.
    Программа безопасной загрузки проверяет оба дайджеста сообщения.
    Если проверка на шаге 2 прошла успешно, ICUM (программное обеспечение для обеспечения безопасности) запускает процессор (PE1).
    PE1 управляет пользовательской программой A и проверяет пользовательскую программу B на использование защищенного программного обеспечения.
    Аналогично шагу 2 (Программа A -> Программа B).
    Если проверка на шаге 4 пройдена успешно, пользовательская программа B управляется PE1.
                                                               



Подводя итог…

ICU-S и ICU-M могут создавать “корень доверия” и “цепочку доверия”.
Безопасная загрузка в ICU-M может быть реализована на основе проверки подписи.


     Таким образом, невозможно внести изменения в память микроконтроллера, разблокировав и перезаписывая секторы памяти OPBT0  и Dflash2.    
                                                                             Ключи доверия рассинхронизируются и ICU  заблокирует микроконтроллер. 

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

                                                                                      GprogSE-programmer              https://gromcalctool.ru/

    1) смена типа блокировки микроконтроллера с SEC 3F  на ID-code (в этом случае возможна полная перезапись данных DataFlash1 )  

       2) 64b block erase (в этом случае удаляются блоки с инцидентом) 

Задать вопрос

Режим работы:
ПН-ПТ: с 10:00 до 18:00
СБ-ВС: Выходной

ИП Овчинникова Надежда Михайловна

ИНН 591300795600 / ОРГНИП 323595800027284

КОНТАКТЫ

Телефон Москва:

Адрес Москва:

Телефон Пермь:

Адрес Пермь:

Наверх