This page contains recommendations to ensure that the hardware present on Android devices contributes to raising the overall security of the device instead of compromising the security of the device.
Device memory
It is important to understand the potential security tradeoffs when selecting memory for Android devices. For example, certain types of memory can enable the execution of Rowhammer style attacks.
- Android devices should use memory that contains mitigations against Rowhammer style attacks. Device manufacturers should work closely with their memory manufacturers for additional details.
StrongBox KeyMint
It's important to securely store and handle cryptographic keys that are available on the device. This is typically done on Android devices by utilizing a hardware-backed KeyMint implemented in an isolated environment, such as the Trusted Execution Environment (TEE). We also recommend supporting a StrongBox KeyMint, which is implemented in tamper-resistant hardware.
- If you choose to support a StrongBox KeyMint, ensure that it's running in an environment that has a discrete CPU, secure storage, a high-quality true random number generator, tamper-resistant packaging, and side-channel resistance to meet the requirements to qualify as a StrongBox KeyMint. See Section 9.11.2 of the Android 9 CDD for more information on the requirements.