[TLS] Tr: Behaviour when TLS fails
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[TLS] Tr: Behaviour when TLS fails



Hi,

Would it be possible to have some more information about how to behave when
a TLS negotiation fails?

In RFC 4642 on TLS with NNTP, it is written:

   Upon receiving a 382 response to a STARTTLS command, the client MUST
   start the TLS negotiation before giving any other NNTP commands.  The
   TLS negotiation begins for both the client and server with the first
   octet following the CRLF of the 382 response.  If, after having
   issued the STARTTLS command, the client finds out that some failure
   prevents it from actually starting a TLS handshake, then it SHOULD
   immediately close the connection.

   [...]

   If the TLS negotiation fails, both client and server SHOULD
   immediately close the connection.  Note that while continuing the
   NNTP session is theoretically possible, in practice a TLS negotiation
   failure often leaves the session in an indeterminate state;
   therefore, interoperability can not be guaranteed.

But we do not know whether the "SHOULD immediately close the connection"
is in fact a MUST.

You can see a current discussion about that here:
   http://groups.google.fr/group/news.software.nntp/browse_frm/thread/aa305c96999afbcf


Some excerpts below.

Thanks beforehand for your answer (please CC: me as I am not subscribed
to the list).

Julien


----- Message d'origine ----- De : "Julien ÉLIE"
Groupes de discussion : news.software.nntp
Envoyé : mercredi 24 septembre 2008 19:39
Objet : Re: Behaviour when STARTTLS fails

After having carefully reviewed it, I think I cannot submit an errata
report for that because of the difference between fatal and warning
messages in RFC 5246.  Even though almost everything is fatal, I see
that one:

  user_canceled
     This handshake is being canceled for some reason unrelated to a
     protocol failure.  If the user cancels an operation after the
     handshake is complete, just closing the connection by sending a
     close_notify is more appropriate.  This alert should be followed
     by a close_notify.  This message is generally a warning.

And unfortunately, the connection MAY go on (even though it SHOULD be
closed).

----- Message d'origine ----- De : "Julien ÉLIE"
Groupes de discussion : news.software.nntp
Envoyé : mercredi 24 septembre 2008 21:20
Objet : Re: Behaviour when STARTTLS fails


Hi Russ,

I was having a hard time understanding RFC 5246, but the impression that I
was getting was that once you start establishing STARTTLS, either you
finish or you fail;

I also admit it is not clear at all!


if you send a warning message instead of an error
message, that means you're going to finish successfully.

  If an alert with a level of warning is sent and received, generally
  the connection can continue normally.  If the receiving party decides
                 ^^^^^^^^^^^^^^^^^^^^^
  not to proceed with the connection (e.g., after having received a
  no_renegotiation alert that it is not willing to accept), it SHOULD
  send a fatal alert to terminate the connection.  Given this, the
  sending party cannot, in general, know how the receiving party will
  behave.  Therefore, warning alerts are not very useful when the
  sending party wants to continue the connection, and thus are
  sometimes omitted.  For example, if a peer decides to accept an
  ^^^^^^^^^^^^^^^^^
  expired certificate (perhaps after confirming this with the user) and
  wants to continue the connection, it would not generally send a
           ^^^^^^^^^^^^^^^^^^^^^^^
  certificate_expired alert.



I couldn't find any notion of an unsuccessful finish.

Fatal => close.
But with warnings, nothing very precise is said :-/

  One of the content types supported by the TLS record layer is the
  alert type.  Alert messages convey the severity of the message
  (warning or fatal) and a description of the alert.  Alert messages
  with a level of fatal result in the immediate termination of the
  connection.

...

--
Julien ÉLIE

« Tout homme devrait un jour se marier ;
 après tout, le bonheur n'est pas la seule chose dans la vie. »

_______________________________________________
TLS mailing list
TLS at ietf.org
https://www.ietf.org/mailman/listinfo/tls



Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.