perkeep/vendor
Filippo Valsorda f9cfd754a2 blobserver/encrypt: rewrite encryption to use NaCl and a simpler meta
NaCl offers authenticated encryption, which means that the blobstore
can't tamper with the data.  Since SHA-1 were checked one could not
change a blob outright, but could add new blobs by tampering with the
meta blobs, too.  It's true that only signed blobs should cause actions
just by being present, but we are already far too deep in the chain of
assumptions, just not to spend a bit of CPU adding a MAC.  The new
scheme is much easier to prove secure.

Also simplified the meta by removing the IV (which is in the encrypted
blob anyway) and the encrypted size (which is plaintext size + overhead).

Finally, added tests (including a storagetest) and tried to make this
sort of production-ready.

Still to do are meta compaction and a way to regenerate the meta from
the blobs, in case of meta corruption (which now we can do securely
thanks to NaCl authentication).

golang.org/x/crypto/nacl/secretbox:
golang.org/x/crypto/poly1305:
golang.org/x/crypto/salsa20/salsa:
golang.org/x/crypto/scrypt:
golang.org/x/crypto/pbkdf2:
	1e61df8d9ea476e2e1504cd9a32b40280c7c6c7e

Change-Id: I095c6204ac093f6292c7943dbb77655d2c51aba6
2017-12-29 14:16:34 -08:00
..
bazil.org/fuse vendor: avoid retaining irrelevant vendor files and enumerate existing removals 2017-12-28 15:36:01 -08:00
cloud.google.com/go vendor: update cloud.google.com/go/logging to V2 API 2017-02-06 19:59:24 +01:00
embed Vendor OpenSans (apache 2 licence) 2017-12-29 10:22:49 -08:00
github.com Merge "vendor: avoid retaining irrelevant vendor files and enumerate existing removals" 2017-12-29 01:18:03 +00:00
go4.org Merge "vendor: avoid retaining irrelevant vendor files and enumerate existing removals" 2017-12-29 01:18:03 +00:00
golang.org/x blobserver/encrypt: rewrite encryption to use NaCl and a simpler meta 2017-12-29 14:16:34 -08:00
google.golang.org pkg/deploy/gce: also create Google Cloud Project for user 2017-04-21 18:09:10 +02:00
honnef.co/go/js/dom web UI: add "About" menu entry and dialog 2017-03-07 00:24:07 +01:00
labix.org/v2/mgo Move remaining stuff in third_party/* to vendor/* 2016-04-20 16:49:15 -07:00
myitcv.io vendor: avoid retaining irrelevant vendor files and enumerate existing removals 2017-12-28 15:36:01 -08:00
rsc.io vendor: update qr package 2017-11-20 12:08:08 -08:00
README Move remaining stuff in third_party/* to vendor/* 2016-04-20 16:49:15 -07:00

README

External packages which Camlistore depends on.

These are not under Camlistore copyright/license.  See the respective projects
for their copyright & licensing details.

These are mirrored into Camlistore for hermetic build reasons, as well
as enabling local patching to work with an ever-changing upstream Go
project.  (not all projects will follow Go tip as closely)