summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2021-07-05 18:53:34 +0200
committerMartin Schanzenbach <mschanzenbach@posteo.de>2021-07-05 18:53:34 +0200
commit4651a10a7458697717ef0e96d71125ff27f828ae (patch)
tree4a15ff362409e1bce37d413a567be1c4bc5dd3a8
parent385ebc680f1af71cce85164cb5157c14485cbf59 (diff)
downloadlsd0004-4651a10a7458697717ef0e96d71125ff27f828ae.tar.gz
lsd0004-4651a10a7458697717ef0e96d71125ff27f828ae.zip
update naming
-rw-r--r--draft-schanzen-r5n.xml58
1 files changed, 47 insertions, 11 deletions
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 9d7acc5..1d78c5b 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -160,7 +160,27 @@ Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 \
160 tor+onionv3://rasdflkjasdfliasduf.onion/ 160 tor+onionv3://rasdflkjasdfliasduf.onion/
161 ]]></artwork> 161 ]]></artwork>
162 </figure> 162 </figure>
163 <!--
164 1) The current API is always fire+forget, it doesn't allow for flow
165 control. I think we need to add that, possibly for sending and receiving.
163 166
167 IDK.
168
1692) I'm not sure what to do with the crypto: mandate EdDSA or allow the
170 underlay to do whatever public keys it likes.
171
172 We need keys in the overlay. (Path signatures). Do they need to
173 be the same keys???
174
1753) I think we may want to mandate that the lower layer at least
176authenticate the other peer (i.e. every UDP message could be in
177cleartext, but would need to come with an EdDSA signature, alas 92 byte
178overhead and a signature verification _required_). Otherwise, I don't
179see how we can offer even the most minimal protections against peer
180 impersonation attacks. WDYT?
181
182 Security considerations? Prerequisites?
183 -->
164 <t> 184 <t>
165 It is expected that there are basic mechanisms available to 185 It is expected that there are basic mechanisms available to
166 manage peer connectivity and addressing. 186 manage peer connectivity and addressing.
@@ -168,49 +188,65 @@ Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 \
168 procedures and events: 188 procedures and events:
169 </t> 189 </t>
170 <dl> 190 <dl>
171 <dt>PEER_CONNECTED(pk,address)</dt> 191 <dt>PEER_CONNECTED(phash,address)</dt>
172 <dd> 192 <dd>
173 is a signal that allows the DHT to react to peers which connect. 193 is a signal that allows the DHT to react to peers which connect.
174 Such an event triggers, for example, updates in the 194 Such an event triggers, for example, updates in the
175 routing table. 195 routing table.
176 </dd> 196 </dd>
177 <dt>PEER_DISCONNECTED(pk,address)</dt> 197 <dt>PEER_DISCONNECTED(phash,address)</dt>
178 <dd> 198 <dd>
179 is a signal that allows the DHT to react to peers which disconnect. 199 is a signal that allows the DHT to react to peers which disconnect.
180 Such an event triggers, for example, updates in the 200 Such an event triggers, for example, updates in the
181 routing table. 201 routing table.
182 </dd> 202 </dd>
183 <dt>CONNECT(address)</dt> 203 <dt>TRY_CONNECT(pid, address)</dt>
184 <dd> 204 <dd>
185 A function which allows a peer to attempt the establishment of 205 A function which allows a peer to attempt the establishment of
186 a connection to another peer using an address. 206 a connection to another peer using an address.
187 </dd> 207 </dd>
188 <dt>DISCONNECT(address)</dt> 208 <dt>HOLD(pash)</dt>
209 <dd>
210 A function which tells the underlay to keep a hold on the connection
211 to another peer.
212 </dd>
213 <dt>DROP(pash)</dt>
189 <dd> 214 <dd>
190 A function which allows a peer to disconnect from 215 A function which tells the underlay to drop the connection to another
191 another peer. 216 peer.
192 </dd> 217 </dd>
193 <dt>RECEIVE(source, message)</dt> 218 <dt>RECEIVE(source, message)</dt>
194 <dd> 219 <dd>
195 A function or event that allows the peer to receive protocol 220 A function or event that allows the peer to receive protocol
196 messages as defined in this document from a connected peer. 221 messages as defined in this document from a connected peer.
197 </dd> 222 </dd>
198 <dt>SEND(source?, target)</dt> 223 <dt>SEND(target, message)</dt>
199 <dd> 224 <dd>
200 A function that allows a peer to send protocol messages as defined 225 A function that allows a peer to send protocol messages as defined
201 in this document to a connected peer. 226 in this document to a connected peer. If call to SEND fails,
227 the message has not been sent.
202 </dd> 228 </dd>
203 <dt>NETWORK_SIZE_ESTIMATE(N)</dt> 229 <dt>NETWORK_SIZE_ESTIMATE(N)</dt>
204 <dd> 230 <dd>
205 A function or event that provides estimates on the network size 231 A function or event that provides estimates on the network size
206 for use in the DHT routing algorithms. 232 for use in the DHT routing algorithms.
207 </dd> 233 </dd>
208 <dt>ADDRESS_CHANGED(pk, address)</dt> 234 <dt>ADDRESS_ADD(pk, address)</dt>
235 <dd>
236 The underlay signals us that an address was added.
237 This information is used, for example, to publish
238 connectivity as part of the bootstrapping and overlay creation.
239 </dd>
240 <dt>ADDRESS_DELETE(pk, address)</dt>
209 <dd> 241 <dd>
210 An event that allows the DHT to learn and react to address changes 242 The underlay signals us that an address was removed.
211 of the peer. This information is used, for example, to publish 243 This information is used, for example, to publish
212 connectivity as part of the bootstrapping and overlay creation. 244 connectivity as part of the bootstrapping and overlay creation.
213 </dd> 245 </dd>
246 <dt>VERIFY(blob)</dt>
247 <dd>
248 Signature verification by underlay.
249 </dd>
214 </dl> 250 </dl>
215 </section> 251 </section>
216 <section anchor="routing" numbered="true" toc="default"> 252 <section anchor="routing" numbered="true" toc="default">