diff options
author | irungentoo <irungentoo@gmail.com> | 2014-01-19 13:53:24 -0500 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2014-01-19 13:53:24 -0500 |
commit | 639b37de672b26daae6bdb4119c0eb677cde0b54 (patch) | |
tree | 229d0b8fec4e3519fca29d95012cd6e8f447650b /docs/Prevent_Tracking.txt | |
parent | cdcb8b86007b6490557f1329f42c08732282c500 (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.txt | 12 |
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 | ||
98 | announce request packet: | 98 | announce 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)] |
100 | encrypted (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)]] | 100 | encrypted (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 | ||
106 | data to route request packet: | 107 | data 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] |
108 | encrypted with that temporary private key and the nonce and the real public key of the destination node:[data] | 109 | encrypted 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 | ||
111 | The data in the previous packet is in format: [real public key of sender] | 112 | The 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 | |||
114 | Data sent to us: | 115 | Data sent to us: |
115 | announce response packet: | 116 | announce 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] |
117 | encrypted 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)]] | 118 | encrypted 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 | ||
120 | data to route response packet: | 122 | data 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] |
122 | encrypted with that temporary private key and the nonce and the real public key of the destination node:[data] | 124 | encrypted 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 | ||
125 | Onion packet (response): | 127 | Onion packet (response): |