<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 11, 2017 at 7:24 AM, Trevor Perrin <span dir="ltr"><<a href="mailto:trevp@trevp.net" target="_blank">trevp@trevp.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The idea that was bandied about earlier was to use the list of all<br>
client-offered protocol names as the prologue.<br>
<br>
That doesn't bind the message contents for non-chosen client initial<br>
messages, but I think that's OK, though merits a security<br>
consideration (server should only inspect protocol names, not<br>
messages, when choosing which message to respond to).<br></blockquote><div><br></div><div>There is a scenario where message contents could be relevant.  I give you NoisePipesNG:<br><br></div><div>- The initiator includes both IK and XX protocols in its handshake with the same crypto algorithms.<br>- IK is listed first as preferred over XX.<br></div><div>- The IK and XX protocols may share the same ephemeral.<br></div><div>- The responder tries to use IK and it fails.<br></div><div>- The responder immediately shifts to XX (a real XX handshake, not XXfallback) and reports that as its chosen protocol.<br><br></div><div>Cheers,<br><br></div><div>Rhys.<br></div><br></div></div></div>