Что нового

RPMB раздел: что это такое, и что с ним можно делать. Решено 

Статус
Закрыто для дальнейших ответов.

Layder

Z3X-Team
.
27/8/06
2 262
619
В микросхемах памяти eMMC и UFS есть защищенный от доступа раздел, называемый RPMB (Replay Protect Memory Block).
В микросхеме UFS, раздел, выполняющий функции RPMB имеет ID: W-LUN 0xC4

Данный раздел предназначен для хранения информации, к которой закрыт прямой доступ. На рисунке из презентации Samsung, показано, как он работает.

c433ead078fed2aaddb604320a6c1494.png



Как это работает более подробно:

Если ключ (Key) отсутствует, то устройство (процессор), программирует ключ в микросхему.
Ключ генерируется из SN процессора и CID eMMC, и, таким образом, ключ для разных процессоров и разных eMMC различен. Дальнейшая работа происходит в режиме как с запрограммированным ключем. Запрограммированный ключ изменить невозможно.

Если ключ (Key) уже существует, то, как правило, счетчик имеет значение больше 0.
С микросхемой, которая уже имеет ключ (16 байт), устройство (процессор) может работать только через закодированные ключом (Key) и счетчиком записи (Counter) данные.



Режим чтения: устройство (процессор) получает значение счетчика из eMMC, запрашивает чтение данных (блоками по 256 байт), получает закодированные счетчиком и ключом данные, расшифровывает их, используя сохраненный ключ и значение счетчика, проверяет валидность данных.

Режим записи: устройство (процессор) получает значение счетчика из eMMC, кодирует данные, используя ключ и счетчик (блоками по 256 байт) и отправляет в микросхему. Микросхема расшифровывает их, используя сохраненный ключ и значение счетчика, проверяет валидность данных. Если данные валидны, происходит запись блока, при этом значение счетчика записи (Counter) увеличивается на 1.
Таким образом, значение счетчика записи (Counter), показывает, сколько блоков по 256 байт (или сколько раз) было записано в область RPMB.


Для того, чтобы произвести запись в раздел RPMB, необходимо знать ключ, который сохранен в микросхеме (eMMC).

Для того чтобы произвести чтение можно пробовать применить определенный способ получения данных. Хотя при этом невозможно гарантировать их валидность, но проведённые командой Z3x Easy JTAG эксперименты показывают, что прочтённые таким способом данные валидны более чем в 90% случаев.

В последних версиях программы Z3x EasyJTAG Classic (3.4.4.0 и выше) добавлен вывод в лог строки состояния RPMB области (записывались ли в нее когда либо данные или нет).

Пример строки в логе программы:
EMMC RPMB is not yet programmed (clear) or NO Error
или
EMMC RPMB is programmed and written 12 times

При этом доступна возможность чтения RPMB экспериментальным способом через выбор раздела RPMB (в комбобоксе выбора ROM).


Важно:
1) при записи Firmware в eMMC происходит переинициализация внутренней NAND памяти eMMC, со стиранием ключа, счетчика и данных RPMB
2) другими способами удалить ключ из RPMB или изменить счетчик, кроме увеличения значения счетчика путем записи данных, закодированных с валидным ключом, невозможно.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.

Похожие Темы

Кто читал эту тему (всего: 1705) Детально

Верх Низ