When you boot up any device, that jump from a powered-down processor to a device running trusted software requires hardware support. The old “BIOS” of over 30 years ago didn’t provide any protections; it could barely get an operating system loaded. Since then, system vendors have been trying to build more security into the boot process. Industry-standard approaches such as UEFI have set the groundwork and created best practices.
Today, smartphones need that same protection. The Android community has specified some starting points, but device vendors, such as Samsung, have built on those to bring smartphone security to “enterprise-ready” levels.
The end-goal is making sure that the smartphone is running trusted software. Two components that help ensure that are: secure booting with Samsung Trusted Boot and kernel integrity checking through TrustZone-based Integrity Management Architecture (TIMA).
Secure boot is a common Android mechanism that is used to keep Android devices from booting non-approved software. Android devices, like most computers, have a very small ROM-based primary bootloader that is used to do basic hardware initialization, find a file system with more boot software, then load and jump into that secondary boot software.
That secondary bootloader may load the Android operating system, or jump to another bootloader, depending on the selected hardware and software. By convention, the last bootloader before the operating system is usually called aboot.
An Android phone that has secure boot technology uses digital certificates to ensure that the software loaded before the operating system is trusted. This means that it is digitally signed — and cryptographically secured against tampering — by the device vendor. Thus, the primary bootloader doesn’t just find and run the secondary bootloader file; instead, it reads the secondary bootloader and verifies a digital signature to ensure it is untampered. If the verification fails, then the boot process stops.
Signature verification and tamper checking is a standard public key infrastructure (PKI) operation: The file being verified is hashed and the hash is signed with a public/private key pair. For Samsung devices, this public/private key pair is Samsung-controlled and goes through a chain of certificates to the Samsung Secure Boot Certificate, which is loaded as part of the hardware root of trust in the platform.
This means that a Samsung phone, for example, can’t run a Motorola secondary bootloader, because the file has not been signed by Samsung.
Each bootloader in the chain, all the way up to the operating system, is responsible for verifying the software has been digitally signed and is tamper-free. Some device vendors allow the secure boot feature be disabled, either for developers (who might need to load unsigned experimental software) or because they want to encourage hobbyists to run their own software and operating systems.
Secure boot ensures that the chain of bootloaders hasn’t been tampered with and is signed by a trusted authority — usually the device vendor. Samsung Knox adds an enhancement called Trusted Boot, that goes a step further by taking snapshots during the boot process and storing the results in the TrustZone Trusted Execution Environment (TEE).
The goal of Trusted Boot is to ensure that older, trusted, bootloaders that might have security vulnerabilities in them can’t be used, a part of the Rollback Prevention process. As the system is booting, TrustZone Trustlets check the snapshots and can decide that an older bootloader was used and block certain security-critical operations.
While these are necessary measures, the secure boot and Trusted Boot process stop once Android is running. Checking the integrity of Android itself is handled by a built-in Android feature called device mapper verity (dm-verity) that provides integrity checking at a very low level. Samsung’s version of dm-verity includes some enhancements that make it easier for carriers to patch Android on devices using firmware over-the-air updates.
Samsung smartphones go beyond the basic Android checks with a series of Samsung proprietary security features that add integrity checking to Android: TrustZone-based Integrity Management Architecture (TIMA).
Samsung’s TIMA runs inside the TrustZone TEE, which provides a wide variety of security services, including attestation, a trusted user interface, KeyStore, Client Certificate Management and two components that are part of the TIMA real-time protections: real-time kernel protection (RKP) and periodic kernel measurement (PKM).
Security professionals like to combine both active and passive security checks to catch malicious behaviors. PKM is a passive check: It is software that runs in the TrustZone TEE regardless if anything is trying to touch the Android kernel. PKM periodically checks the kernel to detect if code or data have been modified by malicious software. PKM also checks the integrity of key data structures used by SE for Android to detect attempts to disable those security checks.
RKP is an active security check designed to block tampering with the kernel. With RKP, critical kernel events are intercepted and inspected in the TrustZone TEE. Events that impact the kernel can be blocked or logged to indicate suspected tampering. Tamper alerts are available to MDM/EMM software — which means that checking those logs is a key task for security-minded IT managers.
TIMA combines active and passive protections and runs within the protected world of the TrustZone TEE. RKP tries to block tampering; if something gets through or around RKP, then PKM can pick it up. In either case, when a security problem is detected, IT managers can see an alert in their MDM/EMM software and proactively take action.
With both passive and active integrity checks via TIMA and the TrustZone TEE, and Samsung’s Trusted Boot technologies, Android devices have a strong and secure hardware-assisted security setup to create easily-deployable and protected hardware for today’s enterprise.
Learn how to protect your enterprise with a multi-layered security plan.