On Thu, Jul 27, 2017, at 09:05, Vittorio Bertola wrote:
> 

>> Il 26 luglio 2017 alle 19.10 Brandon Long <bl...@google.com> ha scritto:>> 
>> Why can't smtp software being expected to maintain a list of trusted CAs?  
>> Or at least run on an OS that is expected to do so.> There is a standard 
>> explanation (literally) in RFC 7672, section 1.3, and especially 1.3.4.:> 
>> "Even if it were generally possible to determine a secure server name, the 
>> SMTP client would still need to verify that the server's certificate chain 
>> is issued by a trusted CA (a trust anchor).  
I've never understood why this is a special challenge in the SMTP world, it's 
generally a solved problem for HTTPS, XMPP, and various other protocols.
User-configured SMTP clients obtain a hostname from the user, using an 
incorrect hostname doesn't magically work, so adding one more validation test 
(certificate name matches hostname) doesn't seem onerous. Similarly, MX records 
with an incorrect hostname already don't work, so why would requiring a 
consistent mx.our-email-host.example. be used in MX records be a big deal?
The STARTTLS command could be extended to allow "STARTTLS hostname" (like HTTPS 
SNI), where hostname would indicate the requested certificate, allowing 
multiple certificates to be used without a single certificate listing every 
possible alternate name. This would accommodate large virtual hosters who want 
to offer every client their own mail.client-company.example without dedicating 
IPs to every client.
There would definitely be a transition period, and it would make suddenly 
renaming your SMTP server more of a challenge (at least in so far as 
maintaining secondary certificates), but these would have been more solvable 
problems had it been handled as STARTTLS was starting to take off rather than 
the current state of ignoring mismatching common names and assuming self-signed 
certificates are good enough (which implicitly means MITM attacks are not 
defended against).

> 
> MTAs are not interactive applications where a human operator can make a 
> decision (wisely or otherwise) to selectively disable TLS security policy 
> when certificate chain verification fails.  With no user to "click OK", the 
> MTA's list of public CA trust anchors would need to be comprehensive in order 
> to avoid bouncing mail addressed to sites that employ unknown CAs.> On the 
> other hand, each trusted CA can issue certificates for any domain.  If even 
> one of the configured CAs is compromised or operated by an adversary, it can 
> subvert TLS security for all destinations. Any set of CAs is simultaneously 
> both overly inclusive and not inclusive enough."
... So we therefore assume that every attacker has the resources to compromise 
or become a CA and just don't bother trying.
The CA system has it's flaws, but it's still better than "Trust every 
certificate implicitly". This just seems like a case of "We can't be 100% 
perfect, so we won't try".

_______________________________________________
mailop mailing list
mailop@mailop.org
https://chilli.nosignal.org/cgi-bin/mailman/listinfo/mailop

Reply via email to