[zeromq-dev] Curve question... changing keys after binding server socket...

Pieter Hintjens ph at imatix.com
Tue May 20 09:36:37 CEST 2014


First, long term keys are not meant to change, that's the whole point.
Distributing new keys is a complex and risky part of the process so
the only time you'd want to generate new long term keys is if the
server private key was compromised.

Second, yes, it does (afaik) re-read the long term key before each
connection so you could change the LT key randomly. There's no sane
use case for this that I can see.

Third, once a connection is established the LT keys aren't used again.
This is inherent in the CurveZMQ design. You could and would normally
force all connections to end, by restarting the server.


On Tue, May 20, 2014 at 2:44 AM, Keith Henrickson
<keith.henrickson at nominum.com> wrote:
> Presently once the server socket is bound, the keys can never change, as they’re not read from the socket options again.
>
> Not a bad idea, but I’m wondering if that would ever change? Would the server-side ever be changed to read the keys from the options upon each connection?
>
> If the server keys were allowed to change, what would happen to connections in progress? It looks to me like the long-term keys are not involved in the per-message crypto, so my guess would be that changing the server’s long-term secret would have no effect on connections that have already negotiated?
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev



More information about the zeromq-dev mailing list