On Mon, Jan 22, 2018 at 8:21 AM, David Sommerseth
<open...@sf.lists.topphemmelig.net> wrote:
>
> On 18/01/18 16:49, Selva Nair wrote:
> > Hi
> >
> > On Wed, Jan 17, 2018 at 3:53 AM, Steffan Karger <steffan.kar...@fox-it.com
> > <mailto:steffan.kar...@fox-it.com>> wrote:
> >
> >     Hi,
> >
> >     On 17-01-18 05:24, Selva Nair wrote:
> >     > Also I'm toying with the idea of renaming ecdsa-sig/ECDSA-SIGN by
> >     > pkey-sig/PKEY-SIGN so that eventually we may be able to use it for
> >     > all types of keys and retire rsa-sig. Any thoughts on that?
> >
> >     This was my first though when looking at these patches.  Haven't looked
> >     at the code yet, but functionally I think that's the way to go.  Even if
> >     it were that Ed25519 / Ed448 sigs are technically not ECDSA sigs.
> >
> >
> > I was waiting for the chatlog before finalizing v2. Looks like there are a
> > number of opinions
> > that seem to converge towards the same view.
> >
> > This is what I have in my current v2 ready to go out:
> >
> > (i) Current behaviour for rsa signatures stays for now: daemon sends
> >>RSA_SIGN  client responds
> > with rsa-sig
> > (ii) Daemon sends >PK_SIG client responds with pk-sig [*]
> > Initially this will be used only for EC, but trivial to switch RSA to this 
> > in
> > future.
> > So document that new mgmt clients should be prepared to handle all supported
> > key types via >PK_SIGN/pk-sig and >RSA_SIGN will be eventually removed.
> >
> > As a nice side effect, clients are allowed to respond with pk-sig even if 
> > the
> > challenge was
> >>RSA_SIGN. As a not so nice side effect, the daemon will reply with "SUCCESS
> > rsa-sign
> > succeeded" because that's what it asked for -- I suppose we can live with 
> > that.
> >
> > We can deprecate and remove >RSA_SIGN at a later date by a hard switch when
> > all known clients are capable of handling >PK_SIGN
> >
> > Does this sound like an acceptable solution?
> >
> > Question: while at it should we alter the syntax to
> >>PK_SIGN,xxx,<base64>
> >
> > where xxx will be empty for now, but it reserves space for extra info that 
> > may
> > come handy for some future signature types (like use PSS padding for RSA or
> > use PureEdDSA or whatever).
>
> Hi,
>
> I've discussed this quickly with James quite recently.  We are concerned about
> breaking existing front-end integrations by doing too much funky stuff with
> RSA_SIGN for EC support.  That in particular touches the signal renaming to
> PK_SIGN.
>
> So we have another suggestion.  For external keys to be used,
> --management-external-key is needed.  Add an optional argument to this option,
> which indicates a version.  If this argument is not provided, everything works
> as it is today - without EC support.  If using: --management-external-key 2
> ... for version 2, do a hard-shift to PK_SIGN with RSA and EC support.
>
> This way we ensure we don't break any existing implementations, we can allow a
> period of transition to the new version, and we can in the future when we are
> sure PK_SIGN works well and has seen deployment elsewhere start a deprecation
> process if the legacy version 1.  But we're not put in a situation where
> anything changes suddenly and abruptly.
>
> Any thoughts?


This is similar to what Arne proposed while reviewing version 1 of the
patch. But I was not excited about encoding client capability into a
config option. On further thought, this may offer a little less
unpleasant UX to some users and I'm ok with it.

I guess tunnelblick supports this options so Jonathan (and Arne) may
have more insight.

The current patch also allows a delayed deprecation of RSA_SIGN giving
time for clients to prepare to handle PK_SIGN. But the UX differs a
little:

- lay user: everything just works always if the provider/admin is good;
or someone fixes things for them.

- client developers: as long as we deprecate commands/options
responsibly (no hard switching), and document it, they/we will cope

So its about average/advanced users changing their RSA cert to EC with
--management-external-key and a client that doesn't yet support
PK_SIGN:

- Present patch: connection process appears stuck (but UI is still
responsive) and logs show the daemon is waiting for signature

- This proposal: connection fails with: "External EC cert/key not
supported in this config. Try using --management-external-key 2"
User edits the config option and the connection process appears stuck .....

I suppose the latter is a bit better.

Selva

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to