Skip to content

Support Chromium v12 ciphertexts (SecretPortal / Flatpak) on Linux #580

@moonD4rk

Description

@moonD4rk

Context

Chromium on Linux has a third cipher tier we don't yet support: v12, used by SecretPortalKeyProvider for Flatpak / sandboxed installs that retrieve secrets via org.freedesktop.portal.Desktop.

Profiles from Flatpak-installed Chromium can carry v12-prefixed ciphertexts we cannot decrypt.

Current behavior

After #579, decryptValue emits a known-gap error rather than a generic one:

unsupported cipher version v12 (Chromium SecretPortal / Flatpak; not yet implemented)

The corresponding cookie.value / password.password fields end up empty.

What's needed

v12 uses a different algorithm from v10/v11/v20:

  • Secret source: org.freedesktop.portal.Desktop.RetrieveSecret (not libsecret)
  • KDF: HKDF-SHA256 with salt "fdo_portal_secret_salt" (not PBKDF2-HMAC-SHA1)
  • Cipher: AES-256-GCM (not AES-128-CBC)

Implementation would add:

  1. New SecretPortalRetriever populating keyretriever.Retrievers.V12
  2. HKDF + AES-256-GCM primitive in crypto/
  3. MasterKeys.V12 slot + decryptValue dispatch case
  4. RFC-006 §5 update

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    browser: chromiumIssues related to Chromium-based browsersfeatureNew feature or requestplatform: linuxIssues specific to Linux

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions