Falsches Handshake in TLS 1.0 Client Hello

  • Hallo liebes Firefox Forum,

    nach dem Update auf FF50.0.2 habe ich das Problem, dass ich mich nicht mehr mit dem DRAC4 eines Dell 6850 Servers verbinden kann (was vorher durch Zufügen von Zertifikatsausnahmen problemlos ging).
    Durch Wireshark-Analyse des Verbindungsverkehrs ist mir folgendes im ClientHello aufgefallen:

    -----------------Snip---------------------------------------------------------------------
    Secure Sockets Layer
    SSL Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 161
    Handshake Protocol: Client Hello
    Handshake Type: Client Hello (1)
    Length: 157
    Version: TLS 1.2 (0x0303)
    Random
    GMT Unix Time: Sep 5, 2084 13:55:28.000000000 Mitteleurop�ische Sommerzeit
    Random Bytes: 431b83acf3454c96e62bddcbc3ec7317c7d2c2a743d119ed...
    Session ID Length: 0
    Cipher Suites Length: 26
    Cipher Suites (13 suites)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
    Cipher Suite: Unknown (0xcca9)
    Cipher Suite: Unknown (0xcca8)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
    Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
    Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
    Compression Methods Length: 1
    Compression Methods (1 method)
    Extensions Length: 90
    Extension: Extended Master Secret
    Type: Extended Master Secret (0x0017)
    Length: 0
    Extension: renegotiation_info
    Type: renegotiation_info (0xff01)
    Length: 1
    Renegotiation Info extension
    Extension: elliptic_curves
    Type: elliptic_curves (0x000a)
    Length: 8
    Elliptic Curves Length: 6
    Elliptic curves (3 curves)
    Extension: ec_point_formats
    Type: ec_point_formats (0x000b)
    Length: 2
    EC point formats Length: 1
    Elliptic curves point formats (1)
    Extension: SessionTicket TLS
    Type: SessionTicket TLS (0x0023)
    Length: 0
    Data (0 bytes)
    Extension: next_protocol_negotiation
    Type: next_protocol_negotiation (0x3374)
    Length: 0
    Extension: Application Layer Protocol Negotiation
    Type: Application Layer Protocol Negotiation (0x0010)
    Length: 14
    ALPN Extension Length: 12
    ALPN Protocol
    Extension: status_request
    Type: status_request (0x0005)
    Length: 5
    Certificate Status Type: OCSP (1)
    Responder ID list Length: 0
    Request Extensions Length: 0
    Extension: signature_algorithms
    Type: signature_algorithms (0x000d)
    Length: 24
    Signature Hash Algorithms Length: 22
    Signature Hash Algorithms (11 algorithms)
    -----------------Snip---------------------------------------------------------------------

    An den fett hervorgehobenen Stellen kann man sehen, dass FF im SSL-Frame das TLSv1.0 Protokoll korrekt verwendet, aber als Handshake das TLSv1.2 verwenden will. Der Server antwortet auf das Client Hello überhaupt nicht.

    Im Gegentest mit IE-Explorer kann man dann erkennen, dass der für das SSL-Paket und auch für den Handshake TLSv1.0 benutzt und siehe da: Der Server antwortet.

    Habe ich da jetzt was nicht verstanden oder ist das ein echter Bug? Per Googel habe ich jedenfalls absolut nichts dazu gefunden....

    Wäre dankbar, wenn sich das mal jemand anschauen könnte. Denn IE benutzen müssen, das wäre irgendwie nicht so mein Ding!!
    :wink:

    - Hans

  • Nur mal so erwähnt... dein Problem hat nix mit dem Betriebssystem Namens Firefox OS zu tun oder ? Weil den IE gibt es für Firefox OS nicht...

    Chromebook Lenovo IdeaPad Flex 5 - chromeOS 122 (Stable Channel) - Linux Debian Bookworm: Firefox ESR 115.8.0 und Firefox Nightly, Beta und Main Release (Mozilla PPA), Android 13: Firefox Nightly und Firefox (Main Release)

    Smartphone - Firefox Main Release, Firefox Nightly, Firefox Klar (Main Release)

  • Zitat von hans05

    dass der für das SSL-Paket und auch für den Handshake TLSv1.0 benutzt und siehe da: Der Server antwortet.


    DRAC IV ist so rund 10 Jahre alt, oder? Damals gab es TLS 1.2. noch gar nicht. Aber es gibt doch bestimmt eine neuere Firmware, welche dann TLS 1.2. unterstützt?
    Wenn es denn wirklich an der fehlenden Unterstützung für 1.2. liegt, dann könnte das hier helfen:
    http://kb.mozillazine.org/Security.tls.version.*

    TLS 1.0 hat aber ein paar Lücken. Zum Beispiel diese hier: https://www.kb.cert.org/vuls/id/864643 . Besser wäre, auf dem Server nachzurüsten, wenn das geht.

  • Vielen Dank für die Antorten!

    AngelOfDarkness: Nein, es geht nicht um FirefoxOS. Es geht um den Firefox Browser unter Windows.

    @ccm: Da eben der DRAC4 so alt ist, gibt es für ihn kein Firmare update für TLS1.2. Mir ist auch klar, dass TLS1.2 besser als TLS1.0 ist. Aber wie auch in dem einen von dir verlinkten Artikel zu lesen, ist es durchaus vorgesehen, eine TLS1.0 Verbindung aufzubauen. Selbst die Standarteinstellung in Firefox lässt einen min-Version von "1" zu, was TLS1.0 entspricht.
    Außerdem ist das eigentliche Problem, dass FF beim Verbindungsaufbau eben mit TLS1.0 nur beim Handshake dann 1.2 fordert....

    Liebe Grüße