Re: Mail Server Registries and Foreign Sender Authentication: A Proposal

Douglas Otis <[email protected]> Thu, 29 Mar 2007 11:39:33 -0700
Newsgroups gmane.ietf.mxcomp
Message-ID <[email protected]>

On Mar 28, 2007, at 7:52 PM, Jeff Macdonald wrote:
> On Wed, Mar 28, 2007 at 07:42:51AM -0600, Randy Smith wrote:
>
>> Since OpenID is built to allow authentication, among other things,  
>> against 3rd party systems, it seems like an excellent way to allow  
>> and recipient server to authenticate all users who wish to send or  
>> deliver mail with their server.
>
> Randy, could you use OpenID terms in describing your SMTP extension?

I don't think an SMTP extension is required.  Explaining follows:

> I'm having trouble understanding how this would work from your  
> description in your blog. Adding PGP seems to add additional  
> overhead for what OpenID provides (unless I'm totally mis- 
> understanding OpenID). Here are what I think are some of the  
> relevant terms:
>
> MTA terms:
> C:	Sending MTA	- sending message
> S:	Receiving MTA	- receiving message

There are OpenID extensions proposed to allow the exchange of public  
keys related to an Identity.

http://openid.net/specs/openid-service-key-discovery-1_0-01.html

There are OpenID extensions proposed for email-addresses such as:

http://www.sappenin.com/openid/ext/oet/openid-email-transform- 
extension-1_0.html

http://blog.phpbb.cc/2007/02/04/smtp-service-extension-for-yadis- 
discovery/

Now imagine an extension to DKIM, OpenPGP, or S/MIME where a query  
method is defined for OpenID.

This would allow senders to sign messages and allow recipients to  
verify using extensions proposed for identifying email-addresses  
using OpenID.

This would not require any change to SMTP, but would require a minor  
change to DKIM, OpenPGP, or S/MIME.  But it gets better...

> OpenID terms:
> Consumer	- wants proof
> End User	- wants to prove their identity to Consumer
> User Agent	- End user web browser

Add:
Sender	- wants proof of recipient and secure receipt for web  
exchanged information.

It would also be possible to forgo any public-key cryptography  
related to the message by using standardized conventions for where  
the web exchanged information is placed with regard to a specific  
identity.

Perhaps a subdomain of OMail.<email-domain> could work where the  
local-part is normalized within the first path.  Sub-path components  
could function as the message-ID, for example.

When a message is exchanged using something like BURL, the identity  
of the sender can be deduced from the embedded URI.  Nothing else is  
needed as it would be expected this location would be identified  
using SSL certs when related to commerce.  It would be rather  
difficult to forge such messages when the entire message body is  
found via the link.  The web server could then use OpenID to ensure  
only the intended recipient receives the message.  When done using  
HTTPS, email becomes secure without use of encrypted messages.

OpenID is already establishing whitelists to protect blogs.  This  
effort could extend to whitelisting email that is sent using such  
conventions.


> I is the Identity server
>
> Say there is a new ESMTP keyword, OPENID. Here's a breakdown loosely
> following your example:
>
> C->S: connects
> S->C: banner
>
> C->S: ehlo
> S->C: OPENID is returned along with whatever else

There could be extensions made in the HTTP header structures found in  
OMail subdomain that lists the root names of all "authorized" SMTP  
clients, for example.  I doubt this would be needed once only BURL  
style messages are adopted as an exclusive mode of exchange.  This  
will take awhile.


> C->S: OPENID <url identifier>
> S: 	<becomes a Consumer>
> S->I:   <fetches url identifier: Section 3.3 of OpenID spec>
> S->C:   250 <identity provider URL: Section 3.5 of OpenID spec>

Possible, but this would require a lengthy adoption process.  There  
could be a convention used for the SMTP client host-name that also  
signals use of an authorization field found within the OMail  
subdomain. This convention might look something like:

EHLO:
  OMAIL-<host-name>.<email-domain>.


> S->I: associate with identity provider? Section 4.1.x
>
> C->I: go to identity provider? Section 4.2.x
>
> C->S: OPENID CRED <stuff from 4.2.2.3?>
> S->C: 250 Ok Credentials are OK
>
> <continue with normal SMTP>
>
> I may of abused SMTP extensions in this example (re: OPENID CRED).

An extension could also be used.  Which ever shows the least  
resistance will likely be the best choice.

-Doug