Re: [ietf-dkim] More on layer violations

2010-10-21 Thread J.D. Falk
On Oct 21, 2010, at 11:01 AM, Steve Atkins wrote:

> On Oct 21, 2010, at 9:53 AM, Murray S. Kucherawy wrote:
>> 
>> 
>> Take a tour through the eleven parts of Section 7 of RFC5451, and then 
>> Appendices A and C.  They provide all kinds of warnings about 
>> misinterpreting the data provided, which amounts to pretty firm 
>> implementation advice, and identifies ways you can shoot yourself in the 
>> foot.  But none of those sections are normative.  (Actually there are two 
>> SHOULDs in 7.4, but in retrospect they shouldn't really be there.)
>> 
>> That's what I'm advocating here: The normative stuff defines the core 
>> mechanics of the protocol itself, and the informative stuff explains why 
>> it's done that way, detailed implementation advice including stuff about 
>> other layers, and how one should (and shouldn't) interpret the output.
> 
> +1

+1


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


Re: [ietf-dkim] More on layer violations

2010-10-21 Thread Hector Santos
-1.

This is not a LAYER violation.  DKIM is a  protocol for RFC 
822/2822/5322 data to:

   a) verify a message signature, and/or
   b) create a message signature.

In order to do either requires INPUT that MUST be valid for the 
protocol to be fundamentally correct with its OUTPUT.

Therefore it MUST make sure its input is 100% valid.

This is not different than any function generator that checks its 
boundary conditions.  A robust function generator MUST check its input 
otherwise you have faults, chaos, aborts, GIGO - Garbage In, Garbage Out.

DKIM is fundamentally a security protocol and it will be insane to 
believe that it should allow GIGO to occur due to not checking it 
input validity.

A Layer Violation is when you are asking for data bits that in 
821/2821/5321 (or another our feed) and/or also producing BITS that 
other layers like a MUA might use.

We are not doing the former but would be if we bind bits like a 
Return-Path. We are differently doing the latter with the creating of 
more bits for other LAYERS to use.

DKIM validating its INPUT is not a layer violation and in practice, it 
will be extremely bad product engineering. In fact, I would go as far 
to make it an ethical engineering responsibility for ALL DKIM 
components to make sure its not a GIGO engine.

Now, if that doesn't jive with the "IETF DOCS" well, thats an entirely 
different issue. Most implementators are not going to GAS (Give a 
S$$$) what that docs says or doesn't say if it not providing what is 
fundamentally necessary.

The DKIM component MUST check its input and at least one independent 
API has done so (on the verify side for 5322.From only).  It could not 
pass the buck to 822/2822/5322 message generators or verifiers.

-- 
Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com

Murray S. Kucherawy wrote:
> You can add OpenDKIM to that list.  Like I said, it already does do the 
> validation, but that's because RFC5322 says so, not because RFC4871 says so.  
> And I think that's the way it should stay.
> 
> Take a tour through the eleven parts of Section 7 of RFC5451, and then 
> Appendices A and C.  They provide all kinds of warnings about misinterpreting 
> the data provided, which amounts to pretty firm implementation advice, and 
> identifies ways you can shoot yourself in the foot.  But none of those 
> sections are normative.  (Actually there are two SHOULDs in 7.4, but in 
> retrospect they shouldn't really be there.)
> 
> That's what I'm advocating here: The normative stuff defines the core 
> mechanics of the protocol itself, and the informative stuff explains why it's 
> done that way, detailed implementation advice including stuff about other 
> layers, and how one should (and shouldn't) interpret the output.
> 
> 
> ___
> 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


Re: [ietf-dkim] More on layer violations

2010-10-21 Thread Steve Atkins

On Oct 21, 2010, at 9:53 AM, Murray S. Kucherawy wrote:
> 
> 
> Take a tour through the eleven parts of Section 7 of RFC5451, and then 
> Appendices A and C.  They provide all kinds of warnings about misinterpreting 
> the data provided, which amounts to pretty firm implementation advice, and 
> identifies ways you can shoot yourself in the foot.  But none of those 
> sections are normative.  (Actually there are two SHOULDs in 7.4, but in 
> retrospect they shouldn't really be there.)
> 
> That's what I'm advocating here: The normative stuff defines the core 
> mechanics of the protocol itself, and the informative stuff explains why it's 
> done that way, detailed implementation advice including stuff about other 
> layers, and how one should (and shouldn't) interpret the output.

+1

Cheers,
  Steve


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


Re: [ietf-dkim] More on layer violations

2010-10-21 Thread Murray S. Kucherawy
> -Original Message-
> From: John R. Levine [mailto:jo...@iecc.com]
> Sent: Thursday, October 21, 2010 9:07 AM
> To: Murray S. Kucherawy
> Cc: ietf-dkim@mipassoc.org
> Subject: More on layer violations
> 
> Having pondered the layer thing some more, it occurs to me that we have
> several decades of practice with software that validates the format of
> mail messages to a greater or lesser extent, with the emphasis on lesser.
> Different software depends on different bits of the message to be correct,
> which means that some leakage of the message validation into different
> applications is unavoidable unless you're willing to lose mail that has
> flaws that don't matter to the applications that it passes through.
> 
> In procmail, for example, doubled subjects only matter if you have a rule
> that does something depending on the subject line.  In MUAs, based on the
> random way existing MUAs handle them, they don't matter at all.

All true.  But those are implementations, not specifications.

You can add OpenDKIM to that list.  Like I said, it already does do the 
validation, but that's because RFC5322 says so, not because RFC4871 says so.  
And I think that's the way it should stay.

Take a tour through the eleven parts of Section 7 of RFC5451, and then 
Appendices A and C.  They provide all kinds of warnings about misinterpreting 
the data provided, which amounts to pretty firm implementation advice, and 
identifies ways you can shoot yourself in the foot.  But none of those sections 
are normative.  (Actually there are two SHOULDs in 7.4, but in retrospect they 
shouldn't really be there.)

That's what I'm advocating here: The normative stuff defines the core mechanics 
of the protocol itself, and the informative stuff explains why it's done that 
way, detailed implementation advice including stuff about other layers, and how 
one should (and shouldn't) interpret the output.


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


[ietf-dkim] More on layer violations

2010-10-21 Thread John R. Levine
Having pondered the layer thing some more, it occurs to me that we have 
several decades of practice with software that validates the format of 
mail messages to a greater or lesser extent, with the emphasis on lesser. 
Different software depends on different bits of the message to be correct, 
which means that some leakage of the message validation into different 
applications is unavoidable unless you're willing to lose mail that has 
flaws that don't matter to the applications that it passes through.

In procmail, for example, doubled subjects only matter if you have a rule 
that does something depending on the subject line.  In MUAs, based on the 
random way existing MUAs handle them, they don't matter at all.

So that's where my SHOULD NOT comes from.  It leaks the bit that matters 
to DKIM.

Regards,
John Levine, jo...@iecc.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. http://jl.ly
___
NOTE WELL: This list operates according to 
http://mipassoc.org/dkim/ietf-list-rules.html