Из того, что я понял, ключ AES загружен в чип. А также может быть проверка CR232 на прошивке, а также установка предохранителей OTP
источник
Поддерживает незащищенную загрузку с интерфейсов UART и USB (класс DFU) во время разработки. Как только ключ AES запрограммирован в OTP, разрешена только безопасная загрузка через UART и USB.
Это не значит, что его нельзя взломать, если вы потратите на это время. Я бы проверил, отключены ли контакты JTAG, и начну оттуда.
некоторые интересные утверждения из руководства пользователя
7.1 Вариант использования производственной линии На производственной линии NXP OTP будет тестироваться и программироваться с использованием JTAG. В тестовом режиме доступ к самому блоку предохранителей будет осуществляться напрямую. Во время программирования VPP потребуется более высокое напряжение, чем в случае использования приложения. После этого записанные данные проверяются путем считывания предохранителей (с использованием низкого напряжения на VPP). Заказчик также будет программировать OTP только на производственной линии, здесь будет использоваться программирование DFU. Изображение для программирования выбранных пользователем битов может быть загружено в устройство через USB.
7.2 Случай использования приложения очень важен, чтобы убедиться, что регистр data_15 обновляется рано во время инициализации (с помощью загрузочного кода), это установит уровень безопасности. В проекте реализованы четыре уровня безопасности:
• Уровень 0: ничто не защищено.
• Уровень 1: защищен паролем. На этом уровне JTAG может быть включен программным обеспечением после последовательности паролей (зависит от приложения клиента), установив залипший бит «JTAG_EN» в регистре OTP_con.
• Уровень 2: на этом уровне доступ JTAG может быть включен с помощью специального испытательного оборудования. Используется NXP только для анализа возвращенных материалов.
• Уровень 3: JTAG полностью отключен, и, следовательно, чип фактически заблокирован.
Клиент может запрограммировать уровень безопасности чипа. Для уровня 1 должен быть установлен бит предохранителя 509. Для уровня 2 установлены биты предохранителей 509 и 510. Для уровня 3 запрограммированы биты предохранителей 509, 510 и 511. Особый случай будет для клиента, чтобы отключить запись на предохранители, но так как в приложении низкое напряжение (для чтения) будет подключено к VPP, запись все равно будет невозможна. При нормальном применении предохранители уже запрограммированы на производственной линии. Таким образом, остаются три варианта: копирование данных предохранителя в регистры данных, чтение этих данных и установка защиты от чтения. Загрузочный код скопирует данные предохранителя в регистры данных, потому что это необходимо для безопасности и DRM. После этого данные могут быть считаны из регистров данных через шину APB0 (в соответствии с настройками защиты от чтения).
Редактировать: если ключ действительно загружен, вы сможете загрузить пользовательскую прошивку, только если у вас есть ключ.