Jerry
Administrator
849
2,375
RPMB розділ: що це таке, для чого він і що з ним можна робити.
"RPMB" (Replay Protected Memory Block) - це технологія безпеки в області зберігання даних, яка широко використовується в сучасних мобільних пристроях та інших електронних пристроях. Вона призначена для захисту важливих даних від вторгнень і впливу з боку несанкціонованих джерел. Давайте розглянемо ключові аспекти та функції технології RPMB.RPMB: Захист електронних даних від вторгнень.
З ростом використання мобільних пристроїв та інтернету росте і необхідність в захисті конфіденційності та цілісності даних. У цьому контексті технологія RPMB стає важливим елементом безпеки.
Як працює RPMB?
RPMB використовує блок пам'яті, який захищений від повторного відтворення (replay attacks). Це означає, що атаки, спрямовані на повторне відтворення або модифікацію даних, мають обмежені можливості впливу на захищений блок.
RPMB базується на криптографічних методах та захисті від атак, таких як відновлення або модифікація даних. Кожен доступ до RPMB супроводжується перевіркою цілісності та автентичності даних, що робить його відмінним інструментом для захисту важливої інформації.
RPMB широко використовується для зберігання ключів шифрування, використованих для захисту даних. Це може включати ключі, необхідні для розшифрування збережених файлів або для взаємодії з безпекою платіжних додатків на пристрої.
мікросхемах пам'яті eMMC і UFS є захищений від доступу розділ, названий RPMB (Replay Protect Memory Block).
У мікросхемі UFS, розділ, що виконує функції RPMB має ID: W-LUN 0xC4


Як це працює більш детально:
Якщо ключ (Key) відсутній, то пристрій (процесор), програмує ключ у мікросхему.
Ключ генерується з SN процесора і CID eMMC, і, таким чином, ключ для різних процесорів і різних eMMC різний. Подальша робота відбувається в режимі як із запрограмованим ключем. Запрограмований ключ змінити неможливо.
Якщо ключ (Key) уже існує, то, як правило, лічильник має значення, що перевищує 0.
З мікросхемою, яка вже має ключ (16 байт), пристрій (процесор) може працювати тільки через закодовані ключем (Key) і лічильником запису (Counter) дані.
Режим читання: пристрій (процесор) отримує значення лічильника з eMMC, запитує читання даних (блоками по 256 байт), отримує закодовані лічильником і ключем дані, розшифровує їх, використовуючи збережений ключ і значення лічильника, перевіряє валідність даних.
Режим запису: пристрій (процесор) отримує значення лічильника з eMMC, кодує дані, використовуючи ключ і лічильник (блоками по 256 байт) і відправляє в мікросхему. Мікросхема розшифровує їх, використовуючи збережений ключ і значення лічильника, перевіряє валідність даних. Якщо дані збігаються, відбувається запис блоку, при цьому значення лічильника запису (Counter) збільшується на 1.
Таким чином, значення лічильника запису (Counter), показує, скільки блоків по 256 байт (або скільки разів) було записано в область RPMB.
Приклад рядка в логу програми z3x Easy-Jtag:
EMMC RPMB is not yet programmed (clear) or NO Error
або
EMMC RPMB is programmed and written 12 times EMMC RPMB is programmed and written 12 times
При цьому доступна можливість читання RPMB експериментальним способом через вибір розділу RPMB (у ComboBox вибору ROM).
Важливо:
1) під час запису Firmware в eMMC відбувається переініціалізація внутрішньої NAND пам'яті eMMC, зі стиранням ключа, лічильника та даних RPMB
2) іншими способами видалити ключ з RPMB або змінити лічильник, окрім збільшення значення лічильника шляхом запису даних, закодованих з валідним ключем, неможливо.