Subject: RE: [ietf-dkim] Base issue: multiple linked signatures

From: "Hallam-Baker, Phillip" <[email-masked]>
Date: Wed, 27 Dec 2006 07:40:27 -0800

Did we really put this in base? Yes we did.

Its not enforceable as it is at the option of the receiver and so cannot be a MUST NOT, it could be a SHOULD NOT.

If the signer gives information to the receiver the receiver can use it for any purpose they choose. We are not doing a rights management scheme here.

If a recipient determines that a signature does not verify but does find that it verifies if the headers are substituted then there are many situations in which it would make excellent sense to treat the message as authentic. I don't think that it would make a lot of sense to implement that type of logic, and the sender certainly should not depend on the logic being implemented but its at the option of the receiver to do what they like with the information provided.

People seem to have a very imperative view of this specification. It is important to remember that a specification is not a program. A specification should almost always be written in declarative form and describe the semantics of the messages exchanged and not attempt to dictate the decisions that parties make on the basis of those semantics.

The only case where an imperative view is appropriate is in the case that there is a finite state machine and the semantics of the messages are inherently operational, i.e. they describe transitions between the set of defined states. This cannot be the case in our example since there are no states.

> -----Original Message-----
> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of John Levine
> Sent: Tuesday, December 26, 2006 8:24 PM
> To: [email-masked]
> Subject: Re: [ietf-dkim] Base issue: multiple linked signatures
> 
> >       Verifiers MUST NOT use the header field names or copied values
> >       for checking the signature in any way.  Copied header field
> >       values are for diagnostic use only.
> >
> >But of course that restriction could be relaxed.
> 
> My recollection is the point of that restriction is that a 
> verifier has to use the actual values of the headers in the 
> message, not the copied versions in the z= header.  There had 
> been some suggestions that if a header were "close enough" to 
> the copied version, the verifier might substitute in the 
> copied version.  As always, this was part of the mailing list 
> argument, with the idea to have signatures tolerate subject 
> munging that lists like this one do.  We decided against it 
> both because nobody proposed a concrete version of close 
> enough, and because nobody could say how a verifier would 
> distinguish algorithmically between an inserted [ietf-dkim] 
> and an inserted [[email-masked]].
> 
> A perfectly legitimate diagnostic use on a failed signature 
> is to detect what header(s) don't match the copies, and 
> whether the signature would have verified had the current 
> versions matched the copied versions.  But I don't know what 
> you'd do operationally once you figured that out, and I don't 
> recall any other suggestions that didn't involve considerable 
> hand waving.
> 
> > That said, this representation is more compact, so it's a tradeoff. 
> 
> You're right, but in an era when one line messages routinely 
> contain 20K of HTML style goop, compact headers are the least 
> of our worries.
> 
> R's,
> John
> 
> _______________________________________________
> NOTE WELL: This list operates according to 
> http://mipassoc.org/dkim/ietf-list-rules.html
> 

_______________________________________________
NOTE WELL: This list operates according to 
http://mipassoc.org/dkim/ietf-list-rules.html

---

From: John L <[email-masked]>
Date: Wed, 27 Dec 2006 12:15:00 -0500 (EST)

> be a MUST NOT, it could be a SHOULD NOT.

Seems to me this is a semantic niggle.  People can implement whatever 
variant form of whatever spec they want to, but if they want to 
interoperate and implement the signature validation that DKIM specifies, 
that have to use the current values of the headers.

I suppose that note could be reworded, e.g.

 	Informative note: Signature verification uses the
 	headers contained in the message.  Copied header field
 	values are intended for diagnostic use only.

Regards,
John Levine, [email-masked], Primary Perpetrator of "The Internet for Dummies",
Information Superhighwayman wanna-be, http://johnlevine.com, Mayor
"I dropped the toothpaste", said Tom, crestfallenly.
_______________________________________________
NOTE WELL: This list operates according to 
http://mipassoc.org/dkim/ietf-list-rules.html