[Twisted-Python] Elliptic Curve support

Tobias Oberstein tobias.oberstein at gmail.com
Mon Apr 17 12:00:42 MDT 2017


Hi,

I do think letting users configure the permissible curves (and their 
priority) using a public tx API, and exposing all of the curves that the 
underlying openssl provides is important.

FWIW, the german BSI (a state IT security institute that provides 
recommendations, and certifications) now recommends:

brainpoolP256r1, brainpoolP384r1, brainpoolP512r1

and only if none of these is avail, falls back to

secp256r1, secp384r1

Page 15 (3.6.1) here:

https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102-2.pdf?__blob=publicationFile

--

Currently, eg Crossbar.io is using secp256r1 (not configurable)

https://github.com/crossbario/crossbar/blob/master/crossbar/twisted/tlsctx.py#L331
https://github.com/crossbario/crossbar/blob/master/crossbar/twisted/tlsctx.py#L206

and we would like to move to a configurable, maintainable solution.

Cheers,
/Tobias

Am 17.04.2017 um 18:46 schrieb Thedore Oidelson:
> I'm taking Glyph's suggestion and bringing this to the mailing list. :)
>
> I still believe it was unwise to remove the support for the extra EC curves
> in PR #749 for a few reasons that I've said in a few different places so
> I'll summarize them here.
>
> *  Support for more curves is better.  It gives more options to users and
> developers such as myself who want to use Twisted for custom environments.
> All of this widens the support base.
>
> *  These are all curves suggested in RFC 5656, and I believe the more
> Twisted supports the RFC the better.
>
> *  There are cases for using alternative curves.  NIST-T-571 is stronger
> than any of the currently supported curves.  NIST-K-163 is weaker, but
> there are still uses for it. I may be working in an embedded environment
> where every CPU cycle counts and I just need simple encryption to protect
> against simple plain text scanning.
>
> * Having extra curves does not make Twisted less secure.  SSH negotiates
> encryption based on a list of preferred ciphers.  We put the strongest
> ciphers first and the weaker curves only get used if nothing better is
> available where weak encryption is still better than no encryption.
>
> There are other reasons why I think it makes sense to have the curves in
> Twisted but these are the main ones.
>
>
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>




More information about the Twisted-Python mailing list