summaryrefslogtreecommitdiffhomepage
path: root/keysafe.cabal
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-09-12 22:35:47 -0400
committerJoey Hess <joeyh@joeyh.name>2016-09-12 22:39:21 -0400
commit13c408d2295597540f0b2dfb6f7b86e739876c90 (patch)
treecac72a6d5a75fb15d71d5e86395543829fe2f2df /keysafe.cabal
parent483cc9e1fe40899c7f045d71d75aaa5ca99db3fb (diff)
downloadkeysafe-13c408d2295597540f0b2dfb6f7b86e739876c90.tar.gz
implement client-server Proof Of Work
Mashed up a argon2-based PoW with token buckets and bloom filters. This is intended to prevent a few abuses including: * Using a keysafe server for general file storage, by storing a whole lot of chunks. * An attacker guessing names that people will use, and uploading junk to keysafe servers under those names, to make it harder for others to use keysafe later. * An attacker trying to guess the names used for objects on keysafe servers in order to download them and start password cracking. (As a second level of defense, since the name generation hash is expensive already.) Completely untested, but it builds! This commit was sponsored by Andreas on Patreon.
Diffstat (limited to 'keysafe.cabal')
-rw-r--r--keysafe.cabal5
1 files changed, 5 insertions, 0 deletions
diff --git a/keysafe.cabal b/keysafe.cabal
index 9b75141..b13ee88 100644
--- a/keysafe.cabal
+++ b/keysafe.cabal
@@ -60,10 +60,14 @@ Executable keysafe
, stm == 2.4.*
, socks == 0.5.*
, network == 2.6.*
+ , token-bucket == 0.1.*
+ , bloomfilter == 2.0.*
-- Temporarily inlined due to https://github.com/ocharles/argon2/issues/3
-- argon2 == 1.1.*
Extra-Libraries: argon2
Other-Modules:
+ Benchmark
+ ByteStrings
Crypto.Argon2.FFI
Crypto.Argon2
CmdLine
@@ -76,6 +80,7 @@ Executable keysafe
HTTP.Client
HTTP.ProofOfWork
HTTP.Server
+ HTTP.RateLimit
SecretKey
Serialization
Share