History integrity and signatures
The question. A host that stores ciphertext could still replay, rewind or forge a branch's head, and every reader would follow. Can every reader check the history, with signatures, ref monotonicity and longer ids, without moving existing vaults and without breaking a client that is still writing on an older version?
Where it stands
| Status | Where it is said | |
|---|---|---|
Canonical (JCS) signing input, author_key_id, check verify, signatures-required, rewind detection, the shared branch index | shipped in 0.19.0 to 0.21.0 | History integrity, Update to 0.21.0 |
The format gate: format 2, 128-bit ids, --min-client | shipped | History integrity, sgit vault format |
| What each fix costs, measured on a real vault (verify 66 µs a commit) | measured, 7 October | Cost and compatibility |
| Every client version against the web UI and the API, step by step | analysis, 7 October | Compatibility matrix |
| git's security features mapped onto sgit, with corrections | review; four gaps closed for 0.21.0 | Git to sgit security mapping |
| The ideas after 0.21.0, bounded by "a new commit field breaks older clients' signature checks" | proposed | Future features |
The research documents, newest first
Possible future features, after 0.21.0
The git-parity and security ideas that are not in 0.21.0, what each would take and what it could break, starting from the constraint that a new commit field breaks older clients' signature checks.
reviewReview: "Git security features → sgit: a one-way mapping
A review of the one-way map from git's security features to sgit, checked against the code: three corrections, one missing gap, and the four easy gaps closed for 0.21.0.
analysisCompatibility matrix: sgit CLI × vault web UI × SG/Send API, across the integrity roll-out
The CLI, the vault web UI and the SG/Send API across the integrity roll-out, step by step: what each version reads, writes and loses, under the rule that no client may break another still writing.
measurementHistory integrity: what the three fixes would cost, and how to ship them without a vault move
What signature verification, ref monotonicity and 128-bit ids would cost, measured on a real vault, and how to ship all three without a vault move.
This page as markdown · its source, admin/content/research/topics/integrity.md