Re: Нужна информация о защите прошивок ВВ5
#96
Цитата:
Сообщение от tevel
main-entry в прошивке. почему мэйн? потому что он так обозван в дебаг инфе в дкт4. мцу = прошивка. как в дкт4 сделана защита от патчей мцу, тело запускается и в одной из начальных функций вызывает проверку в бутроме, которая уже при положительном результате включает дсп. а здесь мне интересна, как организовано взаимодействие мцу с sequre rom
|
Понятно, что main это main, просто хотелось определиться, что вы вкладываете в это понятие. На самом деле "мэйнов" там должно быть несколько. Самый крупный - это вход в ось (или любую другую управляющую программу) До неё должно стартовать ещё несколько мини-"мэйнов" (простите за коламбур, но на сишнике, они так скорее всего и обзываются, только модули разные). Они обслуживают тело до запуска оси. Не буду углубляться.
Но насчет бутрома, могу вас уверить, что это не прошивка обращается в буткор, а скорее буткор обращается в прошивку, после проверки её на валидность. У ARM четко задан стартовый адресс = 0x00000000. Вектора можно перемапить, но это "кто-то" должен сделать.
Кстати насчет ключей. Они действительно не в boot-rom-е Они туда переписываются во время сброса.
Вот ещё одно доказательство. Это выдержка из техасовских "секретов":
Basically, the Secure Boot-ROM code authenticates and verifies the integrity of the external Firmware or the downloaded FLASH Programmer before their execution on the device.
и ещё:
The secure-ROM code takes the control of the system activity upon System Reset It cannot be interrupted or bypassed until the completion of its execution. It is not dependant on the OS. It includes software-library (Macro-functions & H-W Drivers) allowing for encryption Algorithm & H-W cryptoprocessor control. These software libraries are available for User Secure-Application through reserved secure-ROM entry-points.
И ещё, как они утверждают, the Secure ROM content cannot be read/dumped neither from MCU nor from DMA; any access to the Secure-ROM subroutine area from outside the Secure-ROM is denied, returning a data to “0” and generating a security violation to the EMPU for abort generation (DMA violation is not flagged). Access to the subroutine part is also denied in emulation mode
Это к вопросу о "том месте", где же происходит проверка. Не про нокию, но от того же производителя.