These types of distributed systems generally have unique node IDs that
would allow tie-breaking, assigning the server and client role consistently
for each pair.  Would that be sufficient, or is there a need for either end
to be able to initiate the connection?

On Wed, Jan 4, 2023 at 11:34 AM Kristijan Sedlak <xpeperm...@gmail.com>
wrote:

> Yes, I'm referring to P2P networks.
>
> Hum … let me try to explain. Imagine a group of computers discovering each
> other through Kademilia or similar. Each endpoint is required to connect to
> N remote nodes so it can then in theory access all parts of the network.
> Each endpoint uses a single socket address, communicates over UDP, and can
> accept connections or can initiate them. A socket can serve multiple
> virtualized clients thus DTLS CIDs are used. Endpoints go live and then
> disappear - so you don't really know who's a client and who's a server. In
> case a connection has already been established by some initiator then you
> don't need to initiate a new connection when "the algorithm" requires
> connection establishment.
>
> I hope the above makes sense.
>
> K
>
> On 4 Jan 2023, at 17:10, Eric Rescorla <e...@rtfm.com> wrote:
>
>
>
> On Wed, Jan 4, 2023 at 6:30 AM Ben Schwartz <bemasc=
> 40google....@dmarc.ietf.org> wrote:
>
>> On Wed, Jan 4, 2023 at 7:50 AM Kristijan Sedlak <xpeperm...@gmail.com>
>> wrote:
>>
>>> Hey,
>>>
>>> The record layer of the cTLS skips the "profile_id" in the
>>> CTLSServerPlaintext. I wonder how will an endpoint correctly distinguish
>>> between multiple, CID-ext-based CTLSClientPlaintext requests and
>>> CTLSServerPlaintext responses when the same socket is used for client and
>>> server communication.
>>
>>
>> It sounds like you are thinking about cases where (1) a single 5-tuple
>> can be used for DTLS in both directions, (2) the parties have not already
>> agreed who will be the client and who will be the server, and (3) there can
>> be multiple handshakes in flight simultaneously.  In this case, a party who
>> sends a ClientHello might receive a ServerHello, HRR, or a racing
>> ClientHello in response.  This is not a use case I had thought about.  Is
>> this considered a supported configuration for DTLS (with Connection IDs)?
>>
>
> When would this actually happen? In my experience the only situation in
> which there is ambiguity about who will be the client and the server are
> p2p-style applications and those need ICE for NAT traversal, so you already
> have a way of determining who is who.
>
> -Ekr
>
>
>
>
>>
>>
>>> I believe there should be a different content_type for a request and
>>> response or just a requirement that the response always has `profile_id=0`
>>> or smth.
>>
>>
>> If we decide this use case is in-scope, I would add a content_type to
>> distinguish the roles.  I'm interested to hear if people feel this use case
>> is in scope.
>>
>>
>>> I hope I'm not reacting too fast and thus my writing makes sense.
>>>
>>> K
>>>
>>> _______________________________________________
>>> TLS mailing list
>>> TLS@ietf.org
>>> https://www.ietf.org/mailman/listinfo/tls
>>>
>> _______________________________________________
>> TLS mailing list
>> TLS@ietf.org
>> https://www.ietf.org/mailman/listinfo/tls
>
>
>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to