Replay Protected Memory Block
A Replay Protected Memory Block (RPMB) is provided as a means for a system to store data to the specific memory area in an authenticated and replay protected manner and can only be read and written via successfully authenticated read and write accesses. The data may be overwritten by the host but can never be erased.[1]
Use in computing systems
Since RPMB is tamper-resistant, it can be used as a storage medium for a variety of data-critical purposes on an embedded system:
- A place to write "permanent" and/or "pre-programmed" data on a system without any programmable ROM storage, or if the data is too large for it.
- Along with encryption and hardware fuses, it can also be used to build a trusted storage solution for a trusted execution environment[2]
- Anti-rollback protection for versioned data (keys, encrypted files, software, etc).[3]
- Storage for a Trusted Application[3]
Some operating systems, such as Linux may provide a generic driver for accessing an RPMB device attached to an eMMC.[4] However, in other cases the access to RPMB is controlled through a proprietary driver; this may require use of a Trusted Application instead of a normal application to access the data.[3] Some embedded flash storage devices, such as eMMC, eUFS and NVMe, support this standard.
Logical unit addressing
The UFS specification allocates a "Well-Known LUN" identifier of 44h for the RPMB device.[1] This can be represented as:
- UFS LUN:
WLUN_ID (80h) | UNIT_NUMBER_ID=C4h - 64-bit SCSI LUN:
WLUN_ID (C1h) | UNIT_NUMBER_ID=C1h 44h 00h 00h 00h 00h 00h 00h
Memory layout
An RPMB device supplies the following memory sections:
| Section | Access | Size |
|---|---|---|
| Authentication Key | Write-only | 32 bytes |
| Write Counter | Read-only | 4 bytes (32 bits) |
| Data Area | Read/write | Multiple of 128 Kbytes* |
* This is the minimum defined by the specification, the actual block size depends on the flash vendor's implementation.
References
- ^ a b JEDEC Standard No. 220
- ^ Raj, Himanshu; Saroiu, Stefan; Wolman, Alec; Aigner, Ronald; Cox, Jeremiah; England, Paul; Fenner, Chris; Kinshumann, Kinshuman; Loeser, Jork; Mattoon, Dennis; Nystrom, Magnus; Robinson, David; Spiger, Rob; Thom, Stefan; Wooten, David (August 10–12, 2016), "fTPM: A Software-Only Implementation of a TPM Chip", 25th USENIX Security Symposium, Austin, TX, USA
{{citation}}: CS1 maint: location missing publisher (link) - ^ a b c Cai, Liang, Guard Your Data with the Qualcomm Snapdragon Mobile Platform (PDF), retrieved April 19, 2021
- ^ Winkler, Thomas, Replay Protected Memory Block (RPMB) subsystem, retrieved April 19, 2021
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.