3 votos

Implementación TLS / interpretación RFC

¿El Servidor Hola romper el RFC? No parece haber contradicción en el RFC.

Una de las reclamaciones de los clientes de nuestro dispositivo (Citrix Netscaler) devuelve la Extensión (ec_point_formats: CE punto de formato: sin comprimir) cuando no se soliciten. Debido a esto dicen que nuestro dispositivo no sigue el Rfc.

Desde el Rfc creo que estos dos secciones pertinentes: extensiones:

ver rfc3546 sec 2.3. Hola Extensiones

   Note that for all extension types (including those defined in
   future), the extension type MUST NOT appear in the extended server
   hello unless the same extension type appeared in the corresponding
   client hello.  Thus clients MUST abort the handshake if they receive
   an extension type in the extended server hello that they did not
   request in the associated (extended) client hello.

rfc 4492 y 8422 sec 4, párrafo 3:

   The client MUST NOT include these extensions in the ClientHello
   message if it does not propose any ECC cipher suites.  A client that
   proposes ECC cipher suites may choose not to include these
   extensions.  In this case, the server is free to choose any one of
   the elliptic curves or point formats listed in Section 5.  That
   section also describes the structure and processing of these
   extensions in greater detail.

Paquete de trazas:

Cliente Hola:

TLSv1.2 Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.2 (0x0303)
    Length: 63
    Handshake Protocol: Client Hello
        Handshake Type: Client Hello (1)
        Length: 59
        Version: TLS 1.2 (0x0303)
        Random
        Session ID Length: 0
        Cipher Suites Length: 20
        Cipher Suites (10 suites)
        Compression Methods Length: 1
        Compression Methods (1 method)

Server Hello:

TLSv1.2 Record Layer: Handshake Protocol: Server Hello
    Content Type: Handshake (22)
    Version: TLS 1.2 (0x0303)
    Length: 82
    Handshake Protocol: Server Hello
        Handshake Type: Server Hello (2)
        Length: 78
        Version: TLS 1.2 (0x0303)
        Random
        Session ID Length: 32
        Session ID: bfe64de5d94a7c4c12bdb419b6938efcbb70429cd216fa1c...
        Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
        Compression Method: null (0)
        Extensions Length: 6
        Extension: ec_point_formats
            Type: ec_point_formats (0x000b)
            Length: 2
            EC point formats Length: 1
            Elliptic curves point formats (1)
                EC point format: uncompressed (0)

4voto

Steffen Ullrich Puntos 2354

Creo que su cliente está en lo correcto.

RFC 4492 y su seguimiento RFC 8422 decir que es bastante claro que esta extensión es una respuesta a un cliente enviando ec_point_formats, lo que significa que no debería estar allí es que el cliente no está enviando ec_point_formats. En cambio, si el cliente no envía ningún ec_point_formats el servidor debe asumir que el cliente sólo admite los puntos sin comprimir en formato. De hecho, con RFC 8422 todos, pero sin comprimir en formato de punto es obsoleto por lo que está perfectamente bien para un cliente no incluir esta extensión. Para citar de RFC 8422 5.1.2. Admite Formatos De Punto De Extensión:

Esta especificación deja de usar todos pero sin comprimir punto formato. ... Para propósitos de compatibilidad hacia atrás, el punto de la lista de formato de extensión de MAYO ser incluido y contiene exactamente un valor: sin comprimir formato de punto (0). RFC 4492 especifica que si esta extensión es falta, lo que significa que sólo los sin comprimir en formato de punto es respaldo, por lo que la interoperabilidad con las implementaciones que apoyan la formato sin comprimir debería funcionar con o sin la extensión.

Y RFC 8422 5.2. Servidor Hola Extensión pone de manifiesto que un ec_point_formats de extensión en el ServerHello sólo se debe enviar como respuesta a una ec_point_formats de extensión en el ClientHello, es decir, no se debe enviar sin extensión en el ClientHello y por lo tanto el servidor se comporta mal:

Cuando esta extensión es enviado:
El Admitidos Formatos de Extensión se incluye en un ServerHello mensaje en respuesta a un mensaje ClientHello que contiene la Apoyó Formatos de punto de Extensión cuando la negociación de un ECC suite de cifrado.

Tenga en cuenta que un problema similar que usted describe parece ocurrir también con las versiones anteriores de F5 equilibrador de carga, consulte Desactivar Admite Curvas Elípticas Extensión de servidor .

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: