[jdev] Re: TLS and self-signed certs

Peter Saint-Andre stpeter at jabber.org
Thu Nov 18 15:42:26 CST 2004


In article <20041118175148.GH29336 at serwis2.beta>,
 Jacek Konieczny <jajcus at bnet.pl> wrote:

> On Thu, Nov 18, 2004 at 09:33:05AM -0800, JD Conley wrote:
> > If an attacker attempts to connect and provides a certificate that is
> > not on record for the host they are claiming to be, a dialback is
> > performed against the authority of the host.  The attacker, unless they
> > have control of DNS or the other host's network, is then rejected as the
> > dialback authority would produce a certificate that is not the same as
> > the attacker's.
> 
> But the attacker hast to take over the DNS only once. After that his
> certificate is "trusted" and he can use the faked domain without
> problems. With pure dialback he would have to keep the DNS compromised
> all the time he wants to use the faked domain.

Very good point.

As I mentioned in my blog the other day [1], I tend to think that we 
will see islands (or archipelagoes) of federation, initially by 
industry. So certain financial companies will come to agreement on how 
they will do XMPP interop (perhaps they have a trusted CA for their 
industry), healthcare companies will have their own agreements, maybe 
some big ISPs will have their own business agreements, etc. What we're 
really talking about in this thread is s2s interop on the public jabber 
network, so that amessage.de can securely connect to myjabber.net and so 
on. If we limit the scope to the public network, we may find that the 
potential solution-set is quite different than if we were trying to 
convince Wall Street banks to connect to the public network (which, I 
have to tell you, ain't going to happen for a long time, if ever).

I don't have the answers to how we'll do this, and I am no security 
expert. Possible avenues to explore include a root CA for the public 
jabber network, webs of trust among server admins (I trust Matthias 
because I've met him in person, he seems like a trustworthy person, his 
server sends all the right protocols, etc.), reputation systems for 
servers, and probably lots of other things that I don't know about. As 
JEP-0139 [2] said:

1. Rough consensus and running code are superior to "perfect" solutions
2. Security measures that cannot or will not be implemented are useless
3. Iteration works better than trying to define all solutions up front

Those seem like good principles. Perhaps the first step, as mentioned in 
JEP-0139, is to define the threat model. I've been meaning to write up a 
first pass at a threat model document, but haven't gotten to it yet. 

/psa

[1] http://www.saint-andre.com/blog/2004-11.html#2004-11-15T20:13
[2] http://www.jabber.org/jeps/jep-0139.html




More information about the JDev mailing list