R: R: R: [jdev] about spim techniques
Tijl Houtbeckers
thoutbeckers at splendo.com
Sat Aug 27 17:31:18 CDT 2005
On Sat, 27 Aug 2005 23:01:15 +0200, Sander Devrieze
<s.devrieze at pandora.be> wrote:
Hi Sander, I admit to not reading carefully enough that what you were
saying was actually in the context of the ideas you were suggesting.
> Op zaterdag 27 augustus 2005 21:13, schreef Tijl Houtbeckers:
>
> What I am telling is that we also need a new component especially to
> protect
> against spim. Dialback solves spoofing, something else (what also can
> help
> against spimmers). So before an incomming connection is allowed by a
> server:
> * Dialback should be used to verify the domain.
> * It should be verified (read also my other mails in this thread) that
> the
> server has a good certificate issued by a non-blocked authority.
Well, so what are you suggesting is a "whitelist" of certificate issuers
(simuliar to the root CAs). What would be the criteria for a "jabber CA"
to be on the whitelist? Will it be their responsibility to combat the spim
or will that be the responsibility of those they issue it to?
If you choose the first, what will happen if a CA gets blacklisted? All
their certificates become invalid? (in other words it becomes pretty
pointless,it's just moving the problem up one level).
If you go for the second, why not use existing certificates rather than
introducing a new top level? Existing ones cost money (verisign, etc.)
and/or effort (CAcert). You can even self sign and have others accept it
(that's effort too).
The point is, if you're just gonna introduce accountability there is no
point as long as our XMPP network itself has such low standards of anti
spim measures and spim related techology (eg. spim detection: I seriously
doubt any automated spam detection will work very well on spim). What
Google does is acountability at the user level (for Google Talk). And in
the case of email, they use technology (spam filtering). That doesn't mean
we can't do the same for Jabber *servers*, however in practise I think
that will lead to a "federation" model where handpicked servers are
whitelisted, either at the individual level or in some orginazation. Not a
truly open model.
So how could we make a truly open model? One possibility (as seen on this
list) are the developing trust relationships, and "sharing" these in a
FOAF like manner, or more effective spam fighting (cross server
blacklisting for example, like often done with email).
A less touched approach is taking the accountability to the user level, in
a cross server fashion. I wouldn't like having to have an "account" of
some sort (or another form of proving I'm a human and that I will behave
on their server) on every server that I would have a friend on so I can do
S2S, but it's better than no open model at all. And there's plenty of
things we could do to make this a little easier (eg if I have a mutual
subscription request pending with a person on the other server, it could
automatically whitelist me at least for that person (and it could be seen
as a larger sign of trust perhaps)). Or a mechanism for seeing if there is
already a trust relationship between me and the user I want to talk to,
completly transparant to the users (so spimmers can't abuse it). And of
couse servers can still "federate" if they want, and maybe if one server
in a "federation" trusts me (as user) all the others can too.
In short, I think introducing accountability for servera (by certificates
or another method) is overrated as a solution for combatting spim (or
spam). All it does is take the problem one level up (to servers) from
where it really comes (users), which seems fine till the spimmers come in
and suddenly a whole server gets blacklisted (and you see the problem also
propagates to the next level). Same when you take it yet another level
higher (whitelisting CAs).
The only real solution for a truly open network, where in reality you'll
have "good" servers and "bad" servers (signed or not!) is combatting spim
itself, by making sure it doesn't get send, and that when it does the user
doesn't see it. There's nothing wrong with letting the servers take part
of the work in doing that (that's the Jabber way after all) but since the
problem is at the user level ultimatly I think part of it will have to be
solved there. If you do it right "well behaving" users on decent secure
"trusted" servers will have little hassle, and servers/users with a worse
or more unknown reputation would have to go through more trouble. If you
start excluding them, how can you still call it an open network?
More information about the JDev
mailing list