← All research
ACM AsiaCCS 2024 Co-first author

SA4P

Sensing and Actuation as a Privilege

A formally verified Peripheral Guard (PEG) isolates an IoT device's sensors and actuators from its possibly compromised software until a trusted deployment manager grants time-limited access.

Piet De Vaere and Felix Stöger (equal contribution), Adrian Perrig, Gene Tsudik

Read the paper Code Cite

How it works

Authorization and enforcement

IOT DEVICE 10 s Tauth hardware timer timer fired PEG Peripheral Guard counter 41 Microphone sensor UNTRUSTED Runtime apps + OS relays, cannot forge Deployment manager trusted · e.g. router Counter fresh Policy allows mic Decision logged LOG #41 · mic · granted #40 · mic · granted serial network ENF ISOLATED CONNECTED read() REQ #41 · MAC GRANT #41 Grant valid within Tchal = 20 ms old GRANT #40 Replayed grant rejected

The problem

IoT access control works at device granularity and relies on the device being trustworthy.

An attacker who compromises a device through an exploit or a backdoor can sense and actuate at will. Even a humidity sensor or a motion-activated light can reveal whether a room is occupied. Component-level schemes target smartphones and enable or disable access for long periods, and access control on cloud platforms includes the devices and the entire cloud in its TCB.

Approach

The PEGs and the deployment manager form a distributed reference monitor.

The manager makes the access decisions for the whole deployment, and the PEGs enforce them before a sensor is sampled or an actuator is driven.

Design

The manufacturer and the PEG it adds are trusted, and all other code on the device is untrusted.

  • Peripheral. A sensor or actuator, e.g. a microphone or an electric door strike.
  • Peripheral Guard (PEG). Sits between the peripherals and the Runtime and blocks all access by default. Runs on a separate microcontroller or, without extra hardware, in the ARM TrustZone secure world.
  • Runtime. Applications and OS or hypervisor, untrusted. Relays messages between the PEG and the manager.
  • Deployment manager. Trusted, one per deployment such as a household or office. Runs on a local or remote server, e.g. the home router, and decides on and logs every access request.
PAIR · pairing AUTH · authorization ENF · enforcement PERS · persistence

Example policies

  • Security cameras are off while the owners are home.
  • The stove cannot be switched on while the owners sleep.
  • The audio and video system in a hotel room is off during a confidential meeting.

Pairing and persistence

To pair a device, the owner scans the code printed on it and presses the PEG's button, which starts a Noise-inspired handshake with the manager. The persistence module lets the manager detect when a device leaves the deployment.

Results

Prototype evaluation

Dedicated and TrustZone PEG on an STM32L552ZE microcontroller (110 MHz, 256 kB SRAM), deployment manager in Go on a laptop.

6.16 ms

Access latency with a dedicated PEG, from the Runtime's access request until the PEG confirms access.

14.97 kB

Binary size of the dedicated PEG (3.18 kB RAM). TrustZone PEG: 6.62 kB binary, 1.9 kB RAM.

~90 bps

Network overhead of continuous access with a 10 s access window (61 B request and 51 B grant per window).

Dedicated PEG

Latency breakdown

Mean values. Serial links take 1.47 ms, the network 4.32 ms, the PEG 0.09 ms, the manager 0.24 ms and the Runtime 0.03 ms. A TrustZone PEG with networking directly on the Runtime is expected to reach an access latency below 1 ms.

Verification

Protocols proven in the Tamarin prover. Enforcement checked by circuit analysis, e.g. an isolated I²C line sits at about 10 mV and reads as low.

Pairing: proven Authorization: proven Persistence: proven (stand-alone messages) Enforcement: circuit analysis

Scope

Limitations

  • Out of scope: physically invasive attackers, attacks on the TEE or the deployment manager, and the design of the manager and its policies.
  • Messages carry an HMAC-SHA256 tag (Curve25519-derived keys) and are sent unencrypted, so a passive network observer can see access requests.
  • Data sampled during a granted access is outside SA4P's control.

Cite

@InProceedings{DeVaereStoeger2024SA4P,
  title     = {The SA4P Framework: Sensing and Actuation as a Privilege},
  author    = {Piet De Vaere and Felix St\"{o}ger and Gene Tsudik and Adrian Perrig},
  booktitle = {Proceedings of the ACM Asia Conference on Computer and Communications Security (ASIACCS)},
  year      = {2024},
  doi       = {10.1145/3634737.3657006}
}

More research