<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 9, 2015 at 8:53 PM, Phillip Hallam-Baker <span dir="ltr"><<a href="mailto:phill@hallambaker.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=phill@hallambaker.com&cc=&bcc=&su=&body=','_blank');return false;">phill@hallambaker.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Anyhoo. Let us imagine for a moment that it is really easy to connect<br>
up to a git repo in the cloud. On your Google drive or your 1Tb<br>
OneDrive or whatever.<br>
<br>
Wouldn't it be really nice to be able to automatically encrypt the<br>
data you store in the remote .git repo?<br></blockquote><div><br></div><div>There are many, many systems that aspire to this sort of thing. Some are already git compatible. Others (that have more notable cryptographic designs) can model git-like concepts, but are not yet git compatible (but perhaps should be). Not naming names yet as I'm not a big fan of any of these systems (at least in the git-compatible department), but they're certainly out there and you can find them with a bit of Googling.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">It probably wouldn't be all that hard to arrange either.</blockquote><div><br></div><div>I can assure you it's a difficult problem, especially if you want both 1) robust, modern cryptography and 2) a system that's backwards compatible with git</div><div><br></div><div>For starters, git's Merkelized DAG is based on SHA1 with no futureproofing built into the protocol. To safely encrypt and authenticate it would require a complete wrapper based on modern primitives.</div><div><br></div><div>There are some safety features around collisions built into git, but they require collisions be spotted in the wild, when an attacker might e.g. be trying to get code A through an approval workflow, only to swap out approved code A prior to malicious code B prior to merging, and workflow systems built around git might try to correlate everything based around commit SHA1s.</div><div><br></div></div>-- <br><div class="gmail_signature">Tony Arcieri<br></div>
</div></div>