summaryrefslogtreecommitdiffhomepage
path: root/keysafe.hs
Commit message (Collapse)AuthorAge
* Store information about backed up keys in ~/.keysafe/backup.logJoey Hess2016-09-14
| | | | | | | | This can be deleted by the user at any time, but it's useful in case a server is known to be compromised, or a problem is found with keysafe's implementation that makes a backup insecure. This commit was sponsored by Nick Daly on Patreon.
* Added --chaff mode which uploads random junk to servers.Joey Hess2016-09-14
| | | | | | | | This is useful both to test the server throttling of uploads, and to make it harder for servers to know if an object actually contains secret key information. This commit was sponsored by Brock Spratlen on Patreon.
* Warn when --uploadqueued fails to upload to servers.Joey Hess2016-09-14
|
* Warn when uploads fail and are put in the upload queue.Joey Hess2016-09-14
|
* implemented dynamic rate limitingJoey Hess2016-09-13
|
* implement client-server Proof Of WorkJoey Hess2016-09-12
| | | | | | | | | | | | | | | | | | | 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.
* Added --name and --othername options.Joey Hess2016-09-04
|
* improve messageJoey Hess2016-09-01
| | | | Share download cannot be due to wrong password
* better message on bad passwordJoey Hess2016-08-31
|
* added --store-directoryJoey Hess2016-08-31
|
* Added basic test suite.Joey Hess2016-08-30
|
* Improve time estimates, taking into account the number of cores.Joey Hess2016-08-30
| | | | | This only affects time estimates while keysafe is generating hashes; it does not affect cost estimates to brute-force.
* make server default to only listening to localhostJoey Hess2016-08-29
| | | | | This way, the tor hidden service using it will be the only way it's exposed.
* --server needs a portJoey Hess2016-08-22
|
* http client, and --serverJoey Hess2016-08-20
|
* wordingJoey Hess2016-08-19
|
* done for the day!Joey Hess2016-08-19
|
* avoid displaying messages while progress bar is displayedJoey Hess2016-08-19
|
* chunkingJoey Hess2016-08-19
| | | | | This changed the storage format, not that it matters because nobody is using it yet.
* rename shard -> shareJoey Hess2016-08-19
| | | | This makes it clearer that it's not a chunk of data, but a Shamir share.
* minor prompt flowJoey Hess2016-08-18
|
* untested moving of upload queues on to serversJoey Hess2016-08-18
| | | | | | | | | | | There needs to be a 1:1 mapping between upload queues and servers, otherwise using the upload queue risks two shards for the same object being uploaded to the same server. Also, fixed storeShards to give up on StoreAlreadyExists, rather than trying another storage location. Otherwise, on a name collision, the shards would be rejected by the servers, and be stored to their upload queues.
* add support for multiple storage locattionsJoey Hess2016-08-18
| | | | also, server upload queues in ~/.keysafe
* obscure nameJoey Hess2016-08-17
|
* allow configuring N and MJoey Hess2016-08-17
| | | | | User has to remember they did this and use the same configuration on restore.
* probe knownTunings on restoreJoey Hess2016-08-17
|
* save restored secret key to gpg or fileJoey Hess2016-08-17
|
* simplifyJoey Hess2016-08-17
| | | | | Don't need to check key server for --gpgkeyid backup, because the same switch has to be provided at restore time.
* refactorJoey Hess2016-08-17
|
* make storage to use configurable on command lineJoey Hess2016-08-17
|
* progress display for storingJoey Hess2016-08-17
|
* add progress bars to restoreJoey Hess2016-08-17
| | | | also, restore actually works!
* improve layoutJoey Hess2016-08-16
|
* allow shorter nameJoey Hess2016-08-16
|
* improve cost tableJoey Hess2016-08-16
|
* add cost estimatesJoey Hess2016-08-16
|
* key selection workingJoey Hess2016-08-16
|
* more command line interface improvementsJoey Hess2016-08-16
|
* improve options to select secret key to backup/restoreJoey Hess2016-08-16
|
* add --benchmarkJoey Hess2016-08-16
|
* switch to random salt byte to make decryption expensiveJoey Hess2016-08-16
|
* prompt for nameJoey Hess2016-08-12
|
* add --gui optionJoey Hess2016-08-12
|
* option parsingJoey Hess2016-08-12
|
* improve output slightlyJoey Hess2016-08-12
|
* add checksum to encrypted dataJoey Hess2016-08-12
| | | | Needed to verify decryption puzzles
* zero-pad size of padded bytesJoey Hess2016-08-11
|
* disable decryption puzzle, at least for nowJoey Hess2016-08-11
| | | | | | | | It only adds 1 minute GPU time to each crack attempt, on top of the 10 minutes CPU time needed to argon2 the password. Since my implementation of the AES puzzle is currently really slow, this is not worth it. Will revisit when I have a faster AES library to use, or a better puzzle.
* don't use IV as puzzle after allJoey Hess2016-08-11
| | | | | | | | Not a good idea to use IV, because all the parts of the IV that are 0 will not obscure the data in the first block at all. Instead, sha256 the password to generate the IV, and keep the puzzle as part of the key.
* guessing puzzle answersJoey Hess2016-08-11
|