Per-object encryption (Re: Git Merge contributor summit notes)
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Mar 26, 2018, 20:54 UTC
- Message-ID
- <20180326205349.GA21735@aiede.svl.corp.google.com>
- In-Reply-To
- <874ll3yd75.fsf@evledraar.gmail.com>
Hi Ævar,
Ævar Arnfjörð Bjarmason wrote:
Show 8 quoted lines
> It occurred to me recently that once we have such a layer it could be > (ab)used with some relatively minor changes to do any arbitrary > local-to-remote object content translation, unless I've missed something > (but I just re-read hash-function-transition.txt now...). > > E.g. having a SHA-1 (or NewHash) local repo, but interfacing with a > remote server so that you upload a GPG encrypted version of all your > blobs, and have your trees reference those blobs.
Interesting!
To be clear, this would only work with deterministic encryption. Normal GPG encryption would not have the round-tripping properties required by the design.
If I understand correctly, it also requires both sides of the connection to have access to the encryption key. Otherwise they cannot perform ordinary operations like revision walks. So I'm not seeing a huge advantage over ordinary transport-layer encryption.
That said, it's an interesting idea --- thanks for that. I'm changing the subject line since otherwise there's no way I'll find this again. :)
Jonathan