Re: SPF is harmful. Adopt it.

James Craig Burley <[email protected]>
Newsgroups gmane.mail.im2000
Message-ID <[email protected]>
Ah, a nice meaty example indeed!  I'll contrast it with the potentials
for existing SMTP protocol, extending the "ecosystem" that surrounds
it with mechanisms that largely parallel what IM2000 would require (or
at least imply) for IM2000 to be work as advertised.

>I am <[email protected]>.  I receive a notification that says, in essence,
>"you have message ID X waiting to be picked up from server
>foobar.example.com".

My SMTP server receives a delivery attempt.  It either temporarily
rejects it before, or after, the DATA phase; either way, it notifies
me in almost the exact same fashion, except the notification I receive
says, in essence, "you have message ID X waiting to be delivered again
by server foobar.example.com".

>The first time this happens, I'll likely do the
>following:
>
>1) Connect to the message store.

That'd be the local SMTP message store -- an important difference,
since it means that if the remote message store was temporarily
inaccessible, I'd be stuck (in IM2000-land, but not in SMTP-land).

On the other hand, my *local* message store would have to keep track
of delivery attempts in SMTP-land.  With IM2000, I gather, there'd be
no such need; it's really my local MUA that would keep track of these
(which it'd have to do to some extent anyway with SMTP improved along
these lines).

>2) Tell it to not send me any more notifications about message X.

Part and parcel of talking to the local SMTP message store above, I
would think.

Strictly speaking, this *request* might be *ignored* by an
uncooperative remote message store in IM2000-land, since it might
prefer to not try to track the preferences of each and every potential
email *recipient* for which it stores *outgoing* email, especially in
the cases of bulk outgoing email -- single emails with lots of
recipients.

So, whatever agent *receives* notifications on my behalf about message
X would also have to be told to ignore those.  Maybe that's akin to
the "local message store" in IM2000 land, or maybe it's just a job for
my MUA to ignore notifications that I've requested (presumably through
it) I not be delivered in the first place.

But I'm not sure this is an important distinguishing characteristic of
IM2000 versus SMTP's potential, so I'll just move along.

>3) Retrieve only the "summary" headers of the message (i.e. who it's from, the
>date, the subject, message-id:, and references:).

That can't be done in SMTP-land, as such.

But if my SMTP server waited until *after* the DATA phase to
temporarily reject a message, it would have as much of that message as
it wanted to store locally available for retrieval, whereas the sender
would still have to store and repeatedly try to deliver it.

(And, again, this can't be done at all in IM2000-land if the remote
message store is unavailable.  I know a message is waiting for me; I
just can't see it.  I think that'd be very frustrating.)

Now, temporarily rejecting SMTP messages has its risks of losing mail;
but so does shutting off incoming SMTP mail entirely, which I assume
would be inherent to adopting IM2000 sufficiently to gain all of its
advantages over SMTP.

>If, based on (3), the message looks like spam, the process ends here.
>Otherwise, I might retrieve the entire message.  Of course, it might still
>turn out to be spam.

Pretty much the same in SMTP-land.

>If this happens more than once, I'll likely instruct my notification agent to
>ignore notifications about messages on foobar.example.com, /regardless of
>where the notification comes from/.

Similarly, I'd likely instruct my SMTP server to permanently reject
incoming messages from foobar.example.com, regardless of relays
through which such messages passed.  (Parsing "Received:" headers is a
PITA, but it can be, and is, done.)

>IM2000 gives recipients total control.  That is it's power.

Without the clearer, cleaner divisions between message envelopes,
message contents, message deliveries, message-handling agents, and
message stores, SMTP-land doesn't offer recipients as much control.
No question about that.

Further, the mechanisms an SMTP-based system needs to imitiate the
above are more burdensome, from a resource-utilization point of view,
in most cases.  (An exception: senders need not serve up message
content in SMTP-land; they *must* do so in IM2000-land.  I'm nervous
about requiring more widespread server deployment -- given how poor
server deployment already is for SMTP, DNS, HTTP, and the like -- just
to *send* messages.  Seems like it introduces another major "point of
failure", in that, with IM2000, both the sender *and* the recipient of
an email must have working message-exchange servers.)

What SMTP-land *does* offer is a fairly straightforward means to
implement much of this power *now*, on pretty much an ad-hoc basis (by
which I mean *recipients* and their local SMTP servers can choose to
implement these mechanisms without having to convince *senders* of
legitimate email -- email they want to receieve -- to change much of
anything that they're already doing).

And note that this scenario, designed to favor IM2000, assumes that
readers of email will be willing and/or able to take some extra steps
when it comes to reading email, such as clicking an "obtain just the
headers" button, waiting for remote retrieval, reading what comes
back, then clicking "obtain the whole message" button, waiting for
remote retrieval, reading what comes back, then clicking "this is
spam, I really didn't want to see it".

Whereas, today, most people aren't clicking *any* of those buttons,
except insofar as one might view the "delete" button as implicit to
the final "this is spam, I really didn't want to see it" button in the
IM2000 case.

I've learned to be very cautious about assuming widespread willingness
of end users to a) learn new interfaces, b) use them to be more
precise in feeding back, to their computer (MUA here), what they think
about what they're seeing, and c) do so in a manner that's
sufficiently accurate and precise that the result is constructive, not
destructive (it filters out undesired email without collateral damage
such as filtering out desired email).

So I'd be interested in seeing any discussion of how IM2000 rollout
would play, given *today's* user base, which should be presumed to
behave almost exactly as users have long behaved: scroll down the
one-line notices of incoming email, look at each email's content as it
comes up (which they're used to it doing, *fast*), then either
skipping each email, clicking on "delete", or clicking on "save to
some folder".

Since clicking on "delete" wouldn't mean the same thing as "this is
spam", how would IM2000 help these users, aside from indirectly?


So, after posting my long response to JdBP's response to my earlier
email on this list, I thought through what I was saying, and think
I've boiled down my concerns about IM2000 as a *protocol* to the
following point:

  With IM2000, the network is the in-box.

Sounds like a good slogan, and it's really just another take on what
JdBP had said.

But it's intentionally reworked to sound like the following
widely-published slogan:

  The network is the computer.

Remember that?  The idea being, if we just ran (say, Java-enabled)
network computers that had little or no local storage, no running of
arbitrary external code in native mode (to dispense with vermin), and
instead used upstream facilities to do all our computing, all sorts of
existing problems would be *solved*, "overnight".

But without super-reliable, high-bandwidth connections to address
technology issues, and various sociopolitical arrangements to address
accountability and related issues, "the network is the computer"
failed to deliver on its promise.  (Or maybe I'm just unaware of the
extent to which it *has*?)

I'm not sure I can see how IM2000 will avoid becoming just another
technology that is rejected by the masses for just this reason.

And, to the extent it *is* deployed and people work around this issue
by having their incoming-message notification agents automatically
retrieve messages from the remote message stores, a fundamental
advantage of IM2000 over SMTP is defeated by its own end users,
correct?


Now, my concerns about IM2000 as an anti-UBM measure revolve primarily
around my having been "educated" (clue-by-foured, some might say ;-)
on the qmail list and elsewhere about the willingness and ability of
UBM senders to work around almost anything that stands in their way.
(I've been criticized for "advocating", even "inventing", Greylisting,
on this basis -- "spammers will just deliver twice, or as often as
needed" -- though I certainly did not invent or propose Greylisting.)

In particular, if requiring senders to store and serve outgoing
messages is supposed to be a another big advantage of IM2000, and my
previously-posted "guess" about the direction of the costs associated
with that activity is essentially correct, then perhaps JdBP's and
other's statements about IM2000 will have to be augmented thusly:

  IM2000 is an idea whose time has come...and gone.

It might simply be too late to take sufficient advantage of IM2000's
distinguishing features to justify its rollout as an effective
deterrent to UBM and/or its associated expenses for recipients of
email.


I am *guessing* that IM2000 rollout is a better utilization of
resources than rolling out C/R or SPF; however, given my opinions
regarding those technologies, that isn't saying a whole lot, even if
my guess is correct!

I'd prefer we think in terms of a more-flexible messaging architecture
that might *include* IM2000, or an approximation thereof, as well as
SMTP-style delivery, as options that senders, recipients, and
intermediaries can choose among and agree to on a per-message-delivery
basis or on coarser-grained levels, at their convenience.

In essence, I think an important component of any transaction, one
that should be made more *explicit*, at least as an option, is the
"resources to be used" component.  So each SMTP delivery includes an
implicit "this message will use the recipient's SMTP server for its
message store", while each IM2000 notification includes an implicit
"this message will stay in the sender's message store for now".

Why not create a protocol that allows for *each* message notification
to include an optional resource identifier?  "I'm willing to store and
later serve this message", or "I want you to store this message", or
"I'll pay you $.05 to store this message", or "You'll pay me $.10 to
store and later server this message, plus $.01 for each time you
request it without accepting responsibility for it", etc.

Why not also create a protocol that allows email recipients to publish
their criteria for accepting messages, including resource requirements
with which they are or are not comfortable, as well as protocols
(SMTP, IM2000, direct delivery via this sort of uber-protocol) they
support for message notification and/or delivery?

Why not also take certain other steps that could cut spammers,
especially spamware authors, off at the knees, and/or cut off their
air supply?  Again, IM2000 could be one *component* of this, but it
would be seen as just one of several notification and delivery
options.


So I don't really mind if IM2000 *is* deployed.  (I'm grateful it
looks less and less like C/R will be, as was being "threatened" as of
a few months ago; unlike with IM2000, I came to actively *worry* about
widespread deployment of C/R, and am beginning to do so about SPF.)

I just don't think people should get too excited about IM2000's
distinguishing features without really thinking through how they'll
work in practice.

-- 
James Craig Burley
Software Craftsperson
<http://www.jcb-sc.com>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.