Chrome OS ARC data snapshot daemons

This package implements daemons related to ARC /data directory snapshots.

arc-data-snapshotd

arc-data-snapshotd is a minijailed daemon. It executes operations with ARC data/ snapshots for Managed Guest Sessions (MGS).

The arc-data-snapshotd interface is exposed to Chrome browser through a D-Bus API.

arc-data-snapshotd daemon is responsible to execute next operations on the browser's request

  • present system UI to block the screen.
  • generate a key pair and store a public key hash in the Bootlockbox before the first user login.

arc-data-snapshotd daemon wires up actual operations with the snapshots to arc-data-snapshotd-worker.

arc-data-snapshotd-worker

This daemon processes requests from arc-data-snapshotd daemon and is responsible for actual operations with ARC data/ snapshots.

arc-data-snapshotd-worker executes actual copying of ARC data/ snapshots, signature and verification operations.

It stores ARC data/ snapshots in encrypted storage to make sure they are disposed once the device is unenrolled.

APIs between arc-data-snapshotd and browser

The browser manages a lifetime of arc-data-snapshotd and delegates to it all operations with ARC data/ snapshots via D-Bus API.

APIs between arc-data-snapshotd and arc-data-snapshotd-worker

arc-data-snapshotd daemon manages a lifetime of arc-data-snapshotd-worker daemon and delegates all actual operations with copying, signing and verifying ARC data/ snapshots via D-Bus API.