summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-01-24 00:50:07 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-01-24 00:50:07 -0400
commit9d76fe14e3c93d38445529bf4217d5659b3a053c (patch)
treef0b70dde3a3d207129f6b646adbaae609765e673
parent426cfd99088c043e72cc927a1f386e1e3a55cc1d (diff)
tip
-rw-r--r--doc/tips/Shamir_secret_sharing_and_git-annex.mdwn21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/tips/Shamir_secret_sharing_and_git-annex.mdwn b/doc/tips/Shamir_secret_sharing_and_git-annex.mdwn
new file mode 100644
index 000000000..d849dfbd7
--- /dev/null
+++ b/doc/tips/Shamir_secret_sharing_and_git-annex.mdwn
@@ -0,0 +1,21 @@
+Combining git-annex with [Shamir secret sharing](http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing)
+is an useful way to securely back up highly sensitive files,
+such as a gpg key.
+
+Shamir secret sharing creates N shares of a file, of which any M can be
+used to reconstitute the original file. Anyone who has less than M shares
+cannot tell anything about the original file, other than its size.
+
+Where git-annex comes in is as a way to manage these shares. They can be
+added to the annex, and then git-annex used to move one share to each clone
+of the repository. Since git-annex keeps track of where each file is
+stored, this can aid later finding the shares again when they're needed, as
+well as making ongoing management of the shares easier.
+
+Note that this conveniece comes at a price: Any attacker who gets a copy
+of the git repository can use it to figure out where the shares are
+located. While this is not a crippling flaw, and can be worked around, it
+needs to be considered when implementing this technique.
+
+Here is an example of this method being used for a ~/.gnupg directory:
+<http://git.kitenet.net/?p=gpg.git;a=blob;f=README.sss>