• [gentoo-dev] RFC: dev-libs/openssl USE=bindist removal

    From Robin H. Johnson@21:1/5 to All on Tue Sep 28 01:00:02 2021
    Deadline for responses: 2021/10/14!

    The Foundation would like to propose that RedHat/Fedora "hobble" patch presently applied when USE=bindist is true shall be removed from dev-libs/openssl.

    RedHat's stated reasons for the patch were originally to avoid any patent concerns, but they have also morphed over time to present some "insecure" things from being used entirely: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening
    "All ECC curves < 224 bits (since RHEL 6)"
    "All binary field ECC curves (since RHEL 6)"

    However, the Foundation would also like to be sure that no users feel that patchset provides something critical to their usage of Gentoo.

    If nobody speaks up as saying that the "hobble" patch is REQUIRED for their use cases, the Foundation proposes that usage of the patchset be dropped from the main tree.

    Any users who might be concerned about patent compliance are encouraged to do their own due diligence, as OpenSSL was the only Gentoo package that shipped this type of patch, and even Fedora's upstream did not completely patch out EC in other packages.

    Below shows which EC curves are present in major distributions.
    - RHEL/Fedora is the most restrictive list, with only 5 curves kept
    - OpenSUSE is next, with 41 curves
    - Gentoo, Debian, Ubuntu all have the same 88 curves available.

    Fedora # openssl ecparam -list_curves
    secp224r1 : NIST/SECG curve over a 224 bit prime field
    secp256k1 : SECG curve over a 256 bit prime field
    secp384r1 : NIST/SECG curve over a 384 bit prime field
    secp521r1 : NIST/SECG curve over a 521 bit prime field
    prime256v1: X9.62/SECG curve over a 256 bit prime field

    OpenSUSE Leap # openssl ecparam -list_curves
    secp112r1 : SECG/WTLS curve over a 112 bit prime field
    secp112r2 : SECG curve over a 112 bit prime field
    secp128r1 : SECG curve over a 128 bit prime field
    secp128r2 : SECG curve over a 128 bit prime field
    secp160k1 : SECG curve over a 160 bit prime field
    secp160r1 : SECG curve over a 160 bit prime field
    secp160r2 : SECG/WTLS curve over a 160 bit prime field
    secp192k1 : SECG curve over a 192 bit prime field
    secp224k1 : SECG curve over a 224 bit prime field
    secp224r1 : NIST/SECG curve over a 224 bit prime field
    secp256k1 : SECG curve over a 256 bit prime field
    secp384r1 : NIST/SECG curve over a 384 bit prime field
    secp521r1 : NIST/SECG curve over a 521 bit prime field
    prime192v1: NIST/X9.62/SECG curve over a 192 bit prime field
    prime192v2: X9.62 curve over a 192 bit prime field
    prime192v3: X9.62 curve over a 192 bit prime field
    prime239v1: X9.62 curve over a 239 bit prime field
    prime239v2: X9.62 curve over a 239 bit prime field
    prime239v3: X9.62 curve over a 239 bit prime field
    prime256v1: X9.62/SECG curve over a 256 bit prime field
    wap-wsg-idm-ecid-wtls6: SECG/WTLS curve over a 112 bit prime field
    wap-wsg-idm-ecid-wtls7: SECG/WTLS curve over a 160 bit prime field
    wap-wsg-idm-ecid-wtls8: WTLS curve over a 112 bit prime field
    wap-wsg-idm-ecid-wtls9: WTLS curve over a 160 bit prime field
    wap-wsg-idm-ecid-wtls12: WTLS curve over a 224 bit prime field
    brainpoolP160r1: RFC 5639 curve over a 160 bit prime field
    brainpoolP160t1: RFC 5639 curve over a 160 bit prime field
    brainpoolP192r1: RFC 5639 curve over a 192 bit prime field
    brainpoolP192t1: RFC 5639 curve over a 192 bit prime field
    brainpoolP224r1: RFC 5639 curve over a 224 bit prime field
    brainpoolP224t1: RFC 5639 curve over a 224 bit prime field
    brainpoolP256r1: RFC 5639 curve over a 256 bit prime field
    brainpoolP256t1: RFC 5639 curve over a 256 bit prime field
    brainpoolP320r1: RFC 5639 curve over a 320 bit prime field
    brainpoolP320t1: RFC 5639 curve over a 320 bit prime field
    brainpoolP384r1: RFC 5639 curve over a 384 bit prime field
    brainpoolP384t1: RFC 5639 curve over a 384 bit prime field
    brainpoolP512r1: RFC 5639 curve over a 512 bit prime field
    brainpoolP512t1: RFC 5639 curve over a 512 bit prime field
    SM2 : SM2 curve over a 256 bit prime field

    Gentoo, Ubuntu, Debian # openssl ecparam -list_curves
    secp112r1 : SECG/WTLS curve over a 112 bit prime field
    secp112r2 : SECG curve over a 112 bit prime field
    secp128r1 : SECG curve over a 128 bit prime field
    secp128r2 : SECG curve over a 128 bit prime field
    secp160k1 : SECG curve over a 160 bit prime field
    secp160r1 : SECG curve over a 160 bit prime field
    secp160r2 : SECG/WTLS curve over a 160 bit prime field
    secp192k1 : SECG curve over a 192 bit prime field
    secp224k1 : SECG curve over a 224 bit prime field
    secp224r1 : NIST/SECG curve over a 224 bit prime field
    secp256k1 : SECG curve over a 256 bit prime field
    secp384r1 : NIST/SECG curve over a 384 bit prime field
    secp521r1 : NIST/SECG curve over a 521 bit prime field
    prime192v1: NIST/X9.62/SECG curve over a 192 bit prime field
    prime192v2: X9.62 curve over a 192 bit prime field
    prime192v3: X9.62 curve over a 192 bit prime field
    prime239v1: X9.62 curve over a 239 bit prime field
    prime239v2: X9.62 curve over a 239 bit prime field
    prime239v3: X9.62 curve over a 239 bit prime field
    prime256v1: X9.62/SECG curve over a 256 bit prime field
    sect113r1 : SECG curve over a 113 bit binary field
    sect113r2 : SECG curve over a 113 bit binary field
    sect131r1 : SECG/WTLS curve over a 131 bit binary field
    sect131r2 : SECG curve over a 131 bit binary field
    sect163k1 : NIST/SECG/WTLS curve over a 163 bit binary field
    sect163r1 : SECG curve over a 163 bit binary field
    sect163r2 : NIST/SECG curve over a 163 bit binary field
    sect193r1 : SECG curve over a 193 bit binary field
    sect193r2 : SECG curve over a 193 bit binary field
    sect233k1 : NIST/SECG/WTLS curve over a 233 bit binary field
    sect233r1 : NIST/SECG/WTLS curve over a 233 bit binary field
    sect239k1 : SECG curve over a 239 bit binary field
    sect283k1 : NIST/SECG curve over a 283 bit binary field
    sect283r1 : NIST/SECG curve over a 283 bit binary field
    sect409k1 : NIST/SECG curve over a 409 bit binary field
    sect409r1 : NIST/SECG curve over a 409 bit binary field
    sect571k1 : NIST/SECG curve over a 571 bit binary field
    sect571r1 : NIST/SECG curve over a 571 bit binary field
    c2pnb163v1: X9.62 curve over a 163 bit binary field
    c2pnb163v2: X9.62 curve over a 163 bit binary field
    c2pnb163v3: X9.62 curve over a 163 bit binary field
    c2pnb176v1: X9.62 curve over a 176 bit binary field
    c2tnb191v1: X9.62 curve over a 191 bit binary field
    c2tnb191v2: X9.62 curve over a 191 bit binary field
    c2tnb191v3: X9.62 curve over a 191 bit binary field
    c2pnb208w1: X9.62 curve over a 208 bit binary field
    c2tnb239v1: X9.62 curve over a 239 bit binary field
    c2tnb239v2: X9.62 curve over a 239 bit binary field
    c2tnb239v3: X9.62 curve over a 239 bit binary field
    c2pnb272w1: X9.62 curve over a 272 bit binary field
    c2pnb304w1: X9.62 curve over a 304 bit binary field
    c2tnb359v1: X9.62 curve over a 359 bit binary field
    c2pnb368w1: X9.62 curve over a 368 bit binary field
    c2tnb431r1: X9.62 curve over a 431 bit binary field
    wap-wsg-idm-ecid-wtls1: WTLS curve over a 113 bit binary field
    wap-wsg-idm-ecid-wtls3: NIST/SECG/WTLS curve over a 163 bit binary field
    wap-wsg-idm-ecid-wtls4: SECG curve over a 113 bit binary field
    wap-wsg-idm-ecid-wtls5: X9.62 curve over a 163 bit binary field
    wap-wsg-idm-ecid-wtls6: SECG/WTLS curve over a 112 bit prime field
    wap-wsg-idm-ecid-wtls7: SECG/WTLS curve over a 160 bit prime field
    wap-wsg-idm-ecid-wtls8: WTLS curve over a 112 bit prime field
    wap-wsg-idm-ecid-wtls9: WTLS curve over a 160 bit prime field
    wap-wsg-idm-ecid-wtls10: NIST/SECG/WTLS curve over a 233 bit binary field
    wap-wsg-idm-ecid-wtls11: NIST/SECG/WTLS curve over a 233 bit binary field
    wap-wsg-idm-ecid-wtls12: WTLS curve over a 224 bit prime field
    Oakley-EC2N-3:
    IPSec/IKE/Oakley curve #3 over a 155 bit binary field.
    Not suitable for ECDSA.
    Questionable extension field!
    Oakley-EC2N-4:
    IPSec/IKE/Oakley curve #4 over a 185 bit binary field.
    Not suitable for ECDSA.
    Questionable extension field!
    brainpoolP160r1: RFC 5639 curve over a 160 bit prime field
    brainpoolP160t1: RFC 5639 curve over a 160 bit prime field
    brainpoolP192r1: RFC 5639 curve over a 192 bit prime field
    brainpoolP192t1: RFC 5639 curve over a 192 bit prime field
    brainpoolP224r1: RFC 5639 curve over a 224 bit prime field
    brainpoolP224t1: RFC 5639 curve over a 224 bit prime field
    brainpoolP256r1: RFC 5639 curve over a 256 bit prime field
    brainpoolP256t1: RFC 5639 curve over a 256 bit prime field
    brainpoolP320r1: RFC 5639 curve over a 320 bit prime field
    brainpoolP320t1: RFC 5639 curve over a 320 bit prime field
    brainpoolP384r1: RFC 5639 curve over a 384 bit prime field
    brainpoolP384t1: RFC 5639 curve over a 384 bit prime field
    brainpoolP512r1: RFC 5639 curve over a 512 bit prime field
    brainpoolP512t1: RFC 5639 curve over a 512 bit prime field
    SM2 : SM2 curve over a 256 bit prime field

    --
    Robin Hugh Johnson
    Gentoo Linux: Dev, Infra Lead, Foundation Treasurer
    E-Mail : robbat2@gentoo.org
    GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
    GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2
    Comment: Robbat2 @ Orbis-Terrarum Networks - The text below is a digital signature. If it doesn't make any sense to you, ignore it.

    iQKTBAABCgB9FiEEveu2pS8Vb98xaNkRGTlfI8WIJsQFAmFSSppfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEJE RUJCNkE1MkYxNTZGREYzMTY4RDkxMTE5Mzk1RjIzQzU4ODI2QzQACgkQGTlfI8WI JsQKCQ/9H+Vfwddt4GDkuZEUBWBYAnujVPboSCGVcsph/fEEJZbOSt+9uWg7WDfy C+OaoEFqrj7dTdJVz4VSnCrB9fZt/nyT7/kZNtRo8gUYS4HZeBYpgWI9la3dJUrr k7EggHG60mAouzp1xapxjt1zPLVlUv7QB+DlN3f1M1sdxL7iz7aY7A0lgXt9u7Ki 2dAVaUZFhpH+OvWtTC9FHcUpzWKpqBQhcaRW8TERsH0JW0+BWaXtsdCKzipvGehR W3yc/ONktAMP3M6ggNt9B+OE5MFLGfL5Dha9Kz53fn39WlUiwgYGyF6eab9fesw+ s/h4WMr2FswoKveWsmon73JUAkr4wDkBMz0Qk2azQtdChXsW0yc7F1Bmn90S+r+/ CEGt0YSuDPEUVy3t/aT1
  • From Sam James@21:1/5 to All on Thu Sep 30 03:10:02 2021
    On 27 Sep 2021, at 23:50, Robin H. Johnson <robbat2@gentoo.org> wrote:

    Deadline for responses: 2021/10/14!

    The Foundation would like to propose that RedHat/Fedora "hobble" patch presently applied when USE=bindist is true shall be removed from dev-libs/openssl.

    RedHat's stated reasons for the patch were originally to avoid any patent concerns, but they have also morphed over time to present some "insecure" things from being used entirely: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening
    "All ECC curves < 224 bits (since RHEL 6)"
    "All binary field ECC curves (since RHEL 6)"

    However, the Foundation would also like to be sure that no users feel that patchset provides something critical to their usage of Gentoo.

    If nobody speaks up as saying that the "hobble" patch is REQUIRED for their use
    cases, the Foundation proposes that usage of the patchset be dropped from the main tree.

    Any users who might be concerned about patent compliance are encouraged to do their own due diligence, as OpenSSL was the only Gentoo package that shipped this type of patch, and even Fedora's upstream did not completely patch out EC
    in other packages.

    [snip]

    Thanks for this. You've ended up addressing the comments & concerns I raised the other day
    on the (slightly derailed) other thread [0]. There's a PR on this on GitHub too [1] to handle the
    removal.

    As I suspect was already clear, I support this move in the absence of new information
    (which I suspect will not be forthcoming).

    [0] https://archives.gentoo.org/gentoo-dev/message/99551035af66db79f60c6bd8ef7138a8
    [1] https://github.com/gentoo/gentoo/pull/18894

    best,
    sam

    -----BEGIN PGP SIGNATURE-----

    iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmFVDfBfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g SDtY3gf/VycywBy6GjUL/VDqHf+XQvywH05StiHkv2hmx0P3Zws3B++tr6p42+av P/91fnrGfGxwOt563D+borhXR2T0xjC4qDWxdX5ZyZBA0GR1Gh16GdUkOT43kQbZ /rSu73NzegXPEuCnE4k3ONo4PmEL90lYP0BrFOcCwYOrbhks5SV/CKLlMfXraSUJ SxELku49wCbYkHLN5SPKXgnqElvWAW/h1PJ0N7tnMx/b+M0mkNIWJb1ciVjcVY3U xcCw3EAhHmQokdnkYG6UbmQKEONK+4P4uVHdLAmwptwG2HgKq2Exh8rxy+NnUBr2 E2Iup887+Iz2N+ufVN8pN8fbNplVDA==
    =U6uB
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)