Risposta all'estensione TLS inattesa nel server Ciao

3

Qual è il comportamento previsto quando un server Hello contiene una risposta inaspettata per un'estensione TLS (ad esempio ALPN)?

Dovrei (come cliente) terminare la connessione o semplicemente ignorare l'estensione? È definito nella RFC? Il comportamento dovrebbe essere diverso per le diverse estensioni?

    
posta EarthDragon 02.10.2017 - 14:38
fonte

2 risposte

5

Nella sezione RFC di TLS 1.2 7.4.1.4 si dice quanto segue:

An extension type MUST NOT appear in the ServerHello unless the same extension type appeared in the corresponding ClientHello. If a client receives an extension type in ServerHello that it did not request in the associated ClientHello, it MUST abort the handshake with an unsupported_extension fatal alert.

Per TLSv1 e TLSv1.1 guarda a RFC 3546 che si applica a entrambe le versioni.

Sezione 2.3 :

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.

Sezione 4: avvisi di errore

"unsupported_extension" - this alert is sent by clients that receive an extended server hello containing an extension that they did not put in the corresponding client hello (see Section 2.3). This message is always fatal.

    
risposta data 02.10.2017 - 15:06
fonte
1

What is the expected behavior when a server hello contains an unexpected reply for a TLS extension (e.g. ALPN)?

Suppongo che tu sia quando dici "risposta inaspettata" che stai suggerendo che il server risponda con un valore "protocollo selezionato" ALPN che non è tra quelli proposti dal cliente.

Should I (as a client) terminate the connection or just ignore the extension? Is it defined in the RFC?

Mentre RFC 7301 non è esplicito, credo che l'aspettativa implicita sia che il client debba interrompere l'handshake TLS - proprio come farebbe il server se non supportasse alcun protocollo pubblicizzato dal cliente:

In the event that the server supports no protocols that
the client advertises, then the server SHALL respond
with a fatal "no_application_protocol" alert.

Should the behavior be different for different extensions?

Diverse estensioni possono gestire diversamente questo caso: i due handler più comuni sono "abort the handshake" e "ignorano il tentativo di estensione". Per loro stessa natura, le estensioni sono spesso tolleranti a diversi livelli di supporto e maturità di implementazione.

    
risposta data 02.10.2017 - 15:11
fonte

Leggi altre domande sui tag