summaryrefslogtreecommitdiff
path: root/docs/Prevent_Tracking.txt
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2014-01-19 13:53:24 -0500
committerirungentoo <irungentoo@gmail.com>2014-01-19 13:53:24 -0500
commit639b37de672b26daae6bdb4119c0eb677cde0b54 (patch)
tree229d0b8fec4e3519fca29d95012cd6e8f447650b /docs/Prevent_Tracking.txt
parentcdcb8b86007b6490557f1329f42c08732282c500 (diff)
Small protocol change for more replay attack prevention.
see the changes to Prevent_Tracking.txt
Diffstat (limited to 'docs/Prevent_Tracking.txt')
-rw-r--r--docs/Prevent_Tracking.txt12
1 files changed, 7 insertions, 5 deletions
diff --git a/docs/Prevent_Tracking.txt b/docs/Prevent_Tracking.txt
index ab091999..07e8ae1e 100644
--- a/docs/Prevent_Tracking.txt
+++ b/docs/Prevent_Tracking.txt
@@ -97,7 +97,8 @@ Data sent to Node D:
97 97
98announce request packet: 98announce request packet:
99[uint8_t packet id (131)][nonce][our real long term public key or a temporary one (see next)] 99[uint8_t packet id (131)][nonce][our real long term public key or a temporary one (see next)]
100encrypted (with our real long term private key if we want to announce ourselves, a temporary one if we are searching for friends) and the pub key of Node D and the nonce:[[(32 bytes) ping_id][client id we are searching for][data to send back in response(fixed size)]] 100encrypted (with our real long term private key if we want to announce ourselves, a temporary one if we are searching for friends) and the pub key of Node D and the nonce:
101[[(32 bytes) ping_id][client id we are searching for][public key that we want those sending back data packets to use.][data to send back in response(fixed size)]]
101 102
102(if the ping id is zero, respond with a announce response packet) 103(if the ping id is zero, respond with a announce response packet)
103(If the ping id matches the one the node sent in the announce response and the public key matches the one being searched for, 104(If the ping id matches the one the node sent in the announce response and the public key matches the one being searched for,
@@ -105,7 +106,7 @@ add the part used to send data to our list (if the list is full make it replace
105 106
106data to route request packet: 107data to route request packet:
107[uint8_t packet id (133)][public key of destination node][nonce][temporary just generated public key] 108[uint8_t packet id (133)][public key of destination node][nonce][temporary just generated public key]
108encrypted with that temporary private key and the nonce and the real public key of the destination node:[data] 109encrypted with that temporary private key and the nonce and the public key from the announce response packet of the destination node:[data]
109(if Node D contains the ret data for the node, it sends the stuff in this packet as a data to route response packet to the right node) 110(if Node D contains the ret data for the node, it sends the stuff in this packet as a data to route response packet to the right node)
110 111
111The data in the previous packet is in format: [real public key of sender] 112The data in the previous packet is in format: [real public key of sender]
@@ -114,12 +115,13 @@ encrypted with real private key of the sender, the nonce in the data packet and
114Data sent to us: 115Data sent to us:
115announce response packet: 116announce response packet:
116[uint8_t packet id (132)][data to send back in response(fixed size)][nonce] 117[uint8_t packet id (132)][data to send back in response(fixed size)][nonce]
117encrypted with the DHT private key of Node D, the public key in the request and the nonce:[[(32 bytes) ping_id][Node_Format * (maximum of 8)]] 118encrypted with the DHT private key of Node D, the public key in the request and the nonce:[[uint8_t is_stored]
118(if the ping id is zero, it means the information to reach the client id we are searching for is stored on this node) 119[(32 bytes) ping_id if is_stored is 0, public key that must be used to send data packets if is_stored is not 0][Node_Format * (maximum of 8)]]
120(if the is_stored is not 0, it means the information to reach the client id we are searching for is stored on this node)
119 121
120data to route response packet: 122data to route response packet:
121[uint8_t packet id (134)][nonce][temporary just generated public key] 123[uint8_t packet id (134)][nonce][temporary just generated public key]
122encrypted with that temporary private key and the nonce and the real public key of the destination node:[data] 124encrypted with that temporary private key, the nonce and the public key from the announce response packet of the destination node:[data]
123 125
124 126
125Onion packet (response): 127Onion packet (response):