kubo/routing/dht
Juan Batiz-Benet 0cdc2e0adf dht: split out online record verification
Online record verification -- meaning record verification
that might cause messages to other peers -- presents a
way to perform an attack on a dht node: forge a record and
make the node attempt to fetch the public key to verify.
This becomes a very powerful amplification attack if
online verification is done for records _received passively_.
This means records that were received as the result of a
PUT_VALUE or ADD_PROVIDER. Thus we only accept records we
can verify offline (whose public keys we already have). In
practice this is not at all a problem for us, because
typical connections are encrypted: we've already exchanged
public keys.
2014-12-21 05:45:30 -08:00
..
pb peer: major refactor. builds 2014-12-20 21:26:51 -08:00
dht_logger.go go-vet friendly codebase 2014-10-25 03:46:39 -07:00
dht_net.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
dht_test.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
dht.go dht: split out online record verification 2014-12-21 05:45:30 -08:00
diag.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
ext_test.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
handlers.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
providers_test.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
providers.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
query.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
records.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
routing.go peer: major refactor. builds 2014-12-20 21:26:51 -08:00
util.go rewrite sendWantlistToProviders 2014-12-17 23:44:40 -08:00