Device security

Android device security architecture

Where Otukan sits in the Android device trust architecture: which layers it builds on, what it owns, and how protected devices behave offline or degraded.

  • Built into the system layer

    Otukan's protection runs as privileged system components in your firmware, above the boot chain and below the apps that rely on it.

  • Clear ownership lines

    Every function is marked as Android platform, chipset or Otukan, so reviewers know which party answers for which behaviour.

  • Defined when disconnected

    Protected devices keep enforcing their last approved policy without a network, and report what happened once they reconnect.

Threats Otukan handles at each layer

Each layer faces a different attacker, and Otukan pairs each one with a control and a record.

Abused system privileges

  1. Detect

    Otukan's components watch for privileged apps and services acting outside the behaviour approved for the model.

  2. Respond

    The action is blocked or the device moves to the restricted state your policy defines.

  3. Report

    The component, action and device state are sent to your verification service.

Modified system service

  1. Detect

    Partition verification and Otukan's integrity checks flag system code that differs from the signed image.

  2. Respond

    The affected function is withheld and the device is marked untrusted.

  3. Report

    Your server receives the finding alongside the attested boot state.

Weakened access control

  1. Detect

    Otukan checks that mandatory access control stays in enforcing mode and that debug settings match a production build.

  2. Respond

    Sensitive functions are restricted until the device returns to its approved configuration.

  3. Report

    The changed setting is logged with a timestamp.

Forged device evidence

  1. Detect

    On models with key attestation, your verification service checks the certificate chain to a trusted root and rejects reports not signed by a genuine device key.

  2. Respond

    Services treat the sender as an unknown device.

  3. Report

    Rejected reports are kept for investigation.

Disconnected device

  1. Detect

    The verification service notices when a device stops reporting within the window you set.

  2. Respond

    On the device, the last approved policy stays in force; on the server, access follows your rule for stale evidence.

  3. Report

    Queued reports arrive with their original timestamps when the device reconnects.

What Otukan owns in the architecture

These components are Otukan's. Everything else on this page is a platform or chipset service Otukan builds on.

  • Embedded protection components

    System-level services built into your image that monitor device state and enforce the policy set for each model.

  • Evidence collection

    Gathers boot, patch, runtime and attestation results into one signed report per device for your server.

  • Verification service

    Runs in the environment you choose and compares each report with the expected values approved for that model.

  • Signals for apps and management

    Device state is made available to your own apps and management tools through a defined interface.

How Otukan maps your architecture

  1. List the layers

    We document hardware, boot chain, kernel, system components and apps for each model.

  2. Mark the owners

    Each function is assigned to the Android platform, the chipset vendor, the OEM or Otukan.

  3. Place the components

    Otukan's system components are placed in the image and their privileges agreed with your engineers.

  4. Define degraded states

    Offline, missing-hardware and failed-check behaviour is written down per model.

  5. Review the diagram

    Your engineers sign off the trust-boundary diagram before integration begins.

Otukan sits in the system layer of an Android-based device. Its protection components are built into the firmware image you sign, run with privileges agreed with your engineers, and rely on the boot chain and hardware beneath them. Above them, your apps and management tools consume the device state Otukan reports. Off the device, a verification service in the environment you choose checks that evidence. Otukan owns those components and that service; verified boot, access control and hardware key storage stay Android and chipset functions. The architecture applies to devices whose firmware an OEM or ODM builds.

Trust layers

Each layer trusts the one below it and is checked by it. Otukan’s place is easiest to see layer by layer.

LayerWhat lives thereWho owns itOtukan’s role
HardwareBoot ROM, fused keys, trusted execution environment, secure element where presentChipset vendorUses hardware-backed keys and attestation where the chipset provides them
Boot chainBootloader, vbmeta, kernel imageOEM keys, chipset vendor codeConfigures verified boot for your keys and reports its result
Operating systemKernel, dm-verity, SELinux policyAndroid platform, customised by the OEMChecks that these protections stay in force at runtime
Privileged componentsSystem services and apps signed with platform keysOEM, with Otukan for its own componentsRuns Otukan’s protection components and enforces model policy
ApplicationsYour apps and your management agentYouReceive device state through a defined interface

Why the privileged layer matters

System components run with rights ordinary apps never receive. That makes the layer powerful for protection and attractive to attackers. Otukan’s components sit here so they can watch it, and their own privileges are limited to what each function needs.

Dependencies

Reviewers need to know which behaviour comes from Android, which from the chipset and which from Otukan.

FunctionProvided byOtukan’s part
Verified boot and rollback indexAndroid platform and bootloaderConfigured for your keys, result reported
Block-level partition checksAndroid platform (dm-verity)Result included in device evidence
Mandatory access controlAndroid platform (SELinux)Enforcing mode checked at runtime
Hardware-backed keys and attestationChipset, through Android’s key store (KeyMint)Used for signing evidence where present
Protection components and model policyOtukanBuilt, maintained and updated by Otukan
Evidence report and verificationOtukanCollected on device, verified in your environment

Where a chipset lacks a function, the record says so for that model, and Otukan’s evidence carries a matching label.

Keeping Otukan’s part current

Otukan’s components change on their own schedule as well as yours. Each new version is built into your next firmware release, tested on the models in scope and signed by you, so an Otukan update never reaches a device outside your release process. The verification service is updated in the environment where it runs, with the expected values for every model it serves. Because the platform functions above are maintained by the Android project, the chipset vendor and the OEM, Otukan checks each Android security patch and chipset update for changes that affect its own components before your release goes out.

Failure behaviour

A security architecture is judged by what happens when something is missing. Otukan defines each state per model and tests it before release.

  • No network. The device keeps enforcing its last approved policy. Reports are queued and sent with their original timestamps on reconnection.
  • Verification service unreachable. Your services decide, by rule, whether stale evidence still grants access or triggers a fallback.
  • Hardware feature absent. Protection and reporting continue, and evidence is labelled software-level so your server can weigh it.
  • Failed integrity check. The device moves to the restricted state defined for that model, and the finding is reported when possible.
  • Interrupted update. On devices with A/B system partitions, a failed install falls back to the slot that last booted correctly. The device keeps the Otukan components and policy of the image it runs, and reports the reverted version once it is online.

Each of these states is tested on the physical models in scope before release, and the results go into the model’s architecture record alongside the trust-boundary diagram. How to plan those tests for your own models is covered on device security evaluation.

How firmware integrity evidence is produced and verified is covered on Android firmware integrity. Which hardware features a model offers is covered on hardware-backed mobile security. For the product overview, see mobile device security.

Common questions

  • Does Otukan replace Android's own security features?

    No. Verified boot, dm-verity, SELinux and the hardware-backed key store remain Android and chipset mechanisms. Otukan configures them for your keys, adds its own system components on top, and turns their results into evidence your server can verify. Reviewers can see which party answers for each function.

  • Where do Otukan's components run?

    On the device, as privileged system components in the image you sign, with privileges agreed with your engineers. Off the device, the verification service runs in the environment you choose, including your own data centre or an isolated network.

  • What if the chipset has no hardware-backed key store?

    Otukan still delivers its system-level protection and reporting, and marks the evidence as software-level so your server can weigh it accordingly. The architecture record states this per model, so nobody mistakes it for hardware-backed evidence.

  • Is this architecture the same for iOS devices?

    No. Apple controls the boot chain, system image and privileged layer of iOS devices, so third parties cannot place components there. This architecture applies to Android-based devices whose firmware an OEM or ODM builds.

See where Otukan fits your devices

Tell us whether you are an OEM or an institution, which models and chipsets are in scope, and which layers of the firmware you or your ODM control. We never ask for source code, signing keys or firmware images in a first conversation.

Or request a technical demo