theupdateframework / theupdateframework/taps

audit logs for root metadata changes

Open
#153 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
37
Forks
23
PR merge metrics
No merged PRs in 30d

Description

Given the importance of the root metadata, changes made to it are quite important. I was recently tasked with keeping an audit log of such changes. The naive approach is to more or less add a new DB column and move on. However, when I start to think of the qualities such a solution needs such as being tamper resistant, I start wonder if this shouldn't be optionally supported (or even recommended) in the TUF spec? For example, maybe we could add a new optional attribute to the signed root metadata reason. Maybe a free form string or some free form object. e.g:

signed:
  _Type: Root
  expires: 2022-08-19T16:23:01Z
  version: 2
  reason: User(1234) rotated root key that were due to expire

then we add a new targets signing key and get

signed:
  _Type: Root
  expires: 2022-09-19T16:23:01Z
  version: 3
  reason: User(456) added targets keyid 1234

I'm not totally sure this belongs in the root metadata and might need to be its own new artifact. Just curious if people had thought about this and if there was interest in something along these lines?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the TUF root metadata described in the issue and the examples of a signed root with a reason field. Determine whether tamper-resistant audit logging belongs in root metadata or a separate artifact, and document a concrete proposal with its scope and format.

Written by the indexing model from the issue text.

Assessment

Domain
security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.