RE: Man In The Middle Attacks and STARTTLS

"Scott Roberts (Exchange)" <[email protected]> Thu, 15 Apr 1999 15:54:49 -0700
Newsgroups gmane.ietf.apps-tls
Message-ID <2FBF98FC7852CF11912A0000000000010F778DEC@DINO>
Bodo, your points are good. I would think that it is better to state that a
reasonable amount of time SHOULD pass before the message is returned to the
sender rather than stating a default time because of issues that might arise
in the future. 

We could add to section 5 stating:
	A client that receives a 454 reply code from a server that has
advertised the STARTTLS verb SHOULD attempt to retry the mail in a
reasonable amount of time or reroute it before returning it to the sender.
The amount of time before retrying the message and/or NDRing the message
should be left up to the implementation and is outside the scope of this
document. 



> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]
> Sent: Thursday, April 15, 1999 3:05 PM
> To: Paul Hoffman / IMC
> Cc: [email protected]
> Subject: Re: Man In The Middle Attacks and STARTTLS
> 
> 
> On Thu, Apr 15, 1999 at 12:02:19PM -0700, Paul Hoffman / IMC wrote:
> 
> > Greetings again. I thinking about the recent messages, I 
> realized that we 
> > have missed a major problem here, one that might not be 
> fixable at all.
> > [...]    we missed an attack that uses (b) and/or (c).
> > 1) The server says "250 STARTTLS". The attacker lets this go by.
> > 2) The client says "STARTTLS". The attacker changes the 
> command to "NOOP" 
> > or some other harmless command before the server sees it.
> > 3) The server replies to the NOOP. The attacker changes the 
> status reply to 
> > "454 TLS not available due to temporary reason" before the 
> client sees it.
> 
> > No one suspects anything.
> 
> Well, I certainly do :-), was my message of March 26 too vague?  See
> the first sentence of my reply:
> 
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> Date: Fri, 26 Mar 1999 19:43:07 +0100
> From: Bodo Moeller <[email protected]>
> To: Scott Roberts <[email protected]>
> Cc: [email protected], [email protected]
> Subject: Re: Interop problem with SMTP STARTTLS and Cisco PIX firewall
> Message-ID: <[email protected]>
> References: <002f01be77b0$28e49110$01731fac@scotthome>
> 
> On Fri, Mar 26, 1999 at 09:43:26AM -0800, Scott Roberts wrote:
> 
> > The RFC for STARTTLS has a section for dealing with the 
> middleman attack
> > where the client should keep track of each server's TLS and 
> remember the
> > last time it was advertised. If a server stops advertising 
> STARTTLS due to
> > an invalid certificate or invalid configuration it could 
> lead to false
> > security issues and alerts when the problem was just a bad 
> certificate that
> > caused it to stop advertising the STARTTLS during the EHLO.
> 
> The "454 TLS not available due to temporary reason" answer to STARTTLS
> could just as well indicate an MITM attack.  If the server is
> misconfigured, it is very unlikely that waiting after the 454 response
> will fix the problem (how often do people change their mail server's
> configuration?) -- similarly, an incorrect "RCPT TO:" typically will
> not generate "451 User does not yet exist" :-)
> 
> >     [...] The server will return a '454 TLS not available 
> due to temporary
> > reason' to any client that issues the STARTTLS command and 
> fails.  If we do
> > not advertise STARTTLS when there is ANY problem with the 
> certificate or
> > configuration than why have this error code?
> 
> "Temporary reasons" for unavailability of TLS could have several
> reasons: E.g., after a reboot the server needs a password to decrypt
> its key; or a decrypting smart card was just removed from the
> interface because a new one with a new key is to be inserted.
> A configuration mistake _might_ be a good reason, but only for limited
> time (namely, while someone is working on the configuration: E.g., an
> old certificate and key have just been deleted, but the new one is not
> yet installed), not for more than, say, one day at most.
> I think this proposal makes sense:
> 
> >> As I see it the real question is whether the mail can be 
> sent within a
> >> reasonable amount of time. If a server has had a working TLS
> >> configuration that doesn't work just now then it should advertise
> >> STARTTLS but if it has never been configured then it 
> shouldn't. Five
> >> days seems to be a common queue return time and so I 
> suggest that if a
> >> valid configuration has not existed in the last five days 
> then it can be
> >> deemed to have never existed.
> 
> This time-out should be configurable, but three days (one weekend) or
> five days are probably a reasonable default.
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> <<<<<<<<<<<<<<<
> 
> > I do not see a way around this problem. If no one comes up 
> with a solution, 
> > I'll change the security considerations of RFC 2487 to 
> discuss this. And, 
> > then, we can move forwards with the correct wording for 
> what to do when a 
> > server is not ready to do TLS.
>