status-go/vendor/github.com
Andrea Maria Piana ee3c05c79b
Change handling of skipped/deleted keys & add version (#1261)
- Skipped keys

The purpose of limiting the number of skipped keys generated is to avoid a dos
attack whereby an attacker would send a large N, forcing the device to
compute all the keys between currentN..N .

Previously the logic for handling skipped keys was:

- If in the current receiving chain there are more than maxSkip keys,
throw an error

This is problematic as in long-lived session dropped/unreceived messages starts
piling up, eventually reaching the threshold (1000 dropped/unreceived
messages).

This logic has been changed to be more inline with signals spec, and now
it is:

- If N is > currentN + maxSkip, throw an error

The purpose of limiting the number of skipped keys stored is to avoid a dos
attack whereby an attacker would force us to store a large number of
keys, filling up our storage.

Previously the logic for handling old keys was:

- Once you have maxKeep ratchet steps, delete any key from
currentRatchet - maxKeep.

This, in combination with the maxSkip implementation, capped the number of stored keys to
maxSkip * maxKeep.

The logic has been changed to:

- Keep a maximum of MaxMessageKeysPerSession

and additionally we delete any key that has a sequence number <
currentSeqNum - maxKeep

- Version

We check now the version of the bundle so that when we get a bundle from
the same installationID with a higher version, we mark the previous
bundle as expired and use the new bundle the next time a message is sent
2018-11-05 20:00:04 +01:00
..
NaySoftware/go-fcm Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
agl/ed25519 Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
aristanetworks/goarista Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
beevik/ntp Make whisper tolerant to local time skews (#864) 2018-05-04 11:23:38 +03:00
btcsuite Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
coreos/go-semver Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
davecgh/go-spew Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
deckarep/golang-set Upgrade geth to 1.8.13 (#1140) 2018-08-07 15:31:06 +02:00
edsrzf/mmap-go Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
ethereum/go-ethereum added ulc patch (#1239) 2018-10-16 14:27:11 +03:00
fd/go-nat Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
fjl/memsize Update to geth 1.8.11. Closes #1033 2018-06-22 18:04:13 +02:00
go-playground Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
go-stack/stack Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
gogo/protobuf Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
golang Add x3dh key exchange (#1127) 2018-09-24 20:07:34 +02:00
golang-migrate/migrate Add x3dh key exchange (#1127) 2018-09-24 20:07:34 +02:00
gorilla/websocket Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
gxed Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
hashicorp/golang-lru Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
huin/goupnp Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
ipfs/go-log Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
jackpal Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
jbenet Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
karalabe/hid Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
libp2p Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
mattn Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
minio Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
mr-tron/base58 Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
multiformats Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
mutecomm/go-sqlcipher Add x3dh key exchange (#1127) 2018-09-24 20:07:34 +02:00
opentracing/opentracing-go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
pborman/uuid Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
pmezard/go-difflib Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
prometheus/prometheus Refactor in-app metrics (#963) 2018-05-16 17:36:59 +02:00
rjeczalik/notify Make statusd compile with go 1.11 (#1225) 2018-10-04 17:57:39 +02:00
rs Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
satori/go.uuid Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
spaolacci/murmur3 Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
status-im Change handling of skipped/deleted keys & add version (#1261) 2018-11-05 20:00:04 +01:00
stretchr/testify Remove non-go option (#682) 2018-02-21 15:37:46 +01:00
syndtr/goleveldb Update to geth 1.8.11. Closes #1033 2018-06-22 18:04:13 +02:00
whyrusleeping Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00