{
  "slug": "ubifs-authentication",
  "term": "UBIFS authentication",
  "aliases": [],
  "definition": "UBIFS authentication uses hashes and keyed authentication to detect offline changes to file contents and filesystem metadata on UBI volumes.",
  "note": "The authenticated index binds child nodes to an HMAC-protected master; the journal and LEB property tree also need authentication. Trusted executing code and protection of the authentication key are assumptions. [ubifs-auth-design]\n\nThe threat model excludes full-flash rollback and rollback of individual index commits. Successful authentication is therefore not proof of the latest committed state. [ubifs-auth-design]\n\nLinux v6.16 documents auth_key= as making authentication mandatory, with a logon-type key in the kernel keyring. auth_hash_name= selects the hash/HMAC algorithm. These settings are distinct from data-node CRC checking. [ubifs-auth-options]\n\nThe v6.16 initializer rejects an absent or unknown hash name and propagates key-lookup failures; a revoked key is rejected. Configuration support is not evidence that a particular mounted volume is authenticated. [ubifs-auth-code]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "ubifs",
    "ubi",
    "hmac",
    "merkle-tree",
    "rollback-protection",
    "fscrypt"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-25",
  "citations": [
    {
      "id": "ubifs-auth-design",
      "title": "Linux v6.16: UBIFS Authentication Support, threat model and index/journal authentication",
      "url": "https://raw.githubusercontent.com/torvalds/linux/v6.16/Documentation/filesystems/ubifs-authentication.rst",
      "accessed": "2026-10-25"
    },
    {
      "id": "ubifs-auth-options",
      "title": "Linux v6.16: UBIFS mount options, data CRC and authentication keys",
      "url": "https://raw.githubusercontent.com/torvalds/linux/v6.16/Documentation/filesystems/ubifs.rst",
      "accessed": "2026-10-25"
    },
    {
      "id": "ubifs-auth-code",
      "title": "Linux v6.16 auth.c: ubifs_init_authentication and authentication-node construction",
      "url": "https://raw.githubusercontent.com/torvalds/linux/v6.16/fs/ubifs/auth.c",
      "accessed": "2026-10-25"
    },
    {
      "id": "hesela-ubifs",
      "title": "Hesela: UBIFS, authenticated does not mean current",
      "url": "https://hesela.com/analyses/checksums-identity-and-lost-writes/#ubifs-authentication",
      "accessed": "2026-10-25"
    }
  ],
  "provenance": [
    "Source review pinned to Linux v6.16. No UBIFS mount, power-cut, offline-modification or key-erasure experiment was performed."
  ]
}
