[mail-vet-discuss] Auth-Results issues? #2 headerspec
Tony Hansen
tony at att.com
Wed Apr 19 14:29:16 PDT 2006
Murray S. Kucherawy wrote:
> Tony Hansen wrote:
>> I have a variety of problems with the "headerspec" value.
>>
>> It's unclear how multiple methods are to be combined together into a
>> single header; what happens with the "headerspec" value? If you wanted
>> to put in an A-R header saying that the message passed CSV, SIDF, SPF
>> and DKIM, how would those be combined?
>
> You would have a separate A-R header for each thing that was evaluated.
> For example, one would report all the results pertaining to header.From,
> one would show all the results matching smtp.FROM, etc.
>
>> My proposal is to either eliminate the headerspec from A-R, or to make
>> it subordinate to the method=result. In other words, the headerspec
>> should be supporting information to what was validated, not the other
>> way around.
>
> I think it is that way now, or at least it's intended to be. It's meant
> to be a common-factoring of the results rendered by various methods
> which all evaluated the same thing. This is done mostly for
> compression, versus adding an A-R header for each method regardless of
> what each one evaluated.
Unfortunately, the different authentication mechanisms are usually
looking at totally different things. SIDF uses either or both
smtp.mailfrom and/or header.{from,sender,resent-from,resent-sender}.
DKIM potentially uses the entire header *and* the body. CSV uses
smtp.{helo,ehlo}. BATV uses smtp.mailfrom.
Also, the results produced by the different authentication mechanisms
may generate different values, further eliminating commonality.
I don't see being able to ever combine the A-R headers.
>> If headerspec is kept, note the varying use of what's put there. Let's
>> think about what the values for ptype first. The spec says either "smtp"
>> or "header". Note that DKIM doesn't match either of these, because it
>> uses both the header and the body to do verification (and a DNS entry
>> too). Hmmm; should token be listed? No, I wouldn't want that. But I'm
>> not sure what to replace it with. Note that in the samples, some people
>> ignored the "ptype" entirely; perhaps it should be eliminated after all.
>
> In this case I blame the nascence of the specification. An older draft
> didn't have the "ptype", which is probably why you're not seeing it in
> some cases.
>
> In the DKIM case I would think we'd want A-R to relay either the
> purported sender (DK used "Sender", then "From") or the (express or
> implied) value of the "i=" tag.
Ok, I can see this choice for DKIM. We're going to need specific
guidance for the different authentication schemes.
>> Back to first principles: what's the headerspec supposed to provide?
>> From the comments in the ABNF, I see three things: 1) which part(s) of
>> the message transmission was being evaluated (smtp, header or body); 2)
>> what identity was extracted from those parts; and 3) what in particular
>> within those parts was used to determine the identity. (Ok, body isn't
>> listed in #1, but should have been.)
>
> It's intended to report who the sender of the message was according to
> the sender authentication method being evaluated. In the case of
> Sender-ID, that's the PRA; in the case of SPF, that's the envelope
> sender; in the case of DKIM, that's either the purported sender or the
> "i=" value.
Ok.
>> From this, we can see that a headerspec should be totally dependent on
>> the type of authentication that's being performed, and the types of
>> values that should go into it are also totally dependent on the type of
>> authentication.
>
> Exactly.
>
>> This implies to me that the headerspec should be: 1) subordinate to the
>> authentication results; and the choice of what should be used for ptype
>> and property should be specified by protocols that use this
>> specification.
>
> I think the common-factoring described above takes care of the first
> point, but I'd be happy to add text to cover the second.
As I said before, I don't think we'll be able to do common factoring on
the headerspec, as they'd all be checking different things and producing
different identities.
Putting the headerspec *after* the authentication results and not trying
to factor it out makes much more sense to me.
Tony Hansen
tony at att.com
More information about the mail-vet-discuss
mailing list