[ietf-dkim] New Issues: bunch of nits for base

Stephen Farrell stephen.farrell at cs.tcd.ie
Thu Apr 6 00:49:20 PDT 2006


Hi Eric,

Eric Allman wrote:
> That's a lot of nits. 

Only because the document's worth reading closely!

Deleted bits where there's nothing to say other than "ok".

Other than the new text resolving 1193, which should have a
thread of its own, none of these need hold up issuing base-01.

>> #1 Overview is still somewhat sales-ish. A bit more objectivity
>> would arguably be more appropriate. E.g. "requires minimal new
>> infrastructure" would be better stated as "reqiures no extensive
>> new infrastructure", "transparent to..." is also a bit inaccurate,
>> since there are some cases where DKIM is not transparent, e.g. some
>> mailing list cases.
> 
> I guess I disagree with you on this one --- I think you're being a bit 
> over-sensitive.  What's the difference between "minimal" and "no 
> extensive"?  From a "sales-ish" point of view they seem equivalent to 
> me.  I did change the "transparency" comment to "is compatible with the 
> existing email infrastructure and transparent to the fullest extent 
> possible" though.

It is a totally subjective thing so I'm fine with the above.

>> #5 section 3.3.3: "keys smaller than... are subject to brute
>> force.." The fact is that every algorithm is subject to brute
>> force. Whether or not factoring is considered brute force is also
>> perhaps debatable. I suggest replacing with something like "using
>> keys with a modulus shorter than 1024 bits may be considered unwise"
> 
> I've changed this to read:
> 
>        <t>Selecting appropriate key sizes is a trade-off between
>        cost, performance and risk. Since short RSA keys more easily
>        succumb to off-line attacks, signers MUST use RSA keys of at
>        least 1024 bits for long-lived keys. Verifiers MUST be able
>        to validate signatures with keys ranging from 512 bits to
>        2048 bits, and they MAY be able to validate signatures with
>        larger keys. Security policies may use the length of the
>        signing key as one metric for determining whether a signature
>        is acceptable.</t>
>        <t>Factors that should influence the key size choice include:
>        <list
>        style="symbols">
>        <t>The practical constraint that a 2048 bit key is the
>        largest key that fits within a 512 byte DNS UDP response
>        packet</t>
>        <t>The security constraint that keys smaller than 1024 bits
>        are subject to brute force attacks.</t>

I'll shut up about it, but you *will* get comments that factoring
is not "brute force" which is a "technical term", in this case I
guess meaning trying all possible values for the decryption exponent.

>        <t>Larger keys impose higher CPU costs to verify and sign
>        email</t>
>        <t>Keys can be replaced on a regular basis, thus their
>        lifetime can be relatively short</t>
>        <t>The security goals of this specification are modest
>        compared to typical goals of public-key systems</t>
>        </list>
>        </t>

I suspect that this section will generate some more suggested
re-wordings - maybe it'd be good to pass it by some crypto type,
just to catch crypto-buzzword nits, e.g. some of the above is
specific to RSA, some isn't, and the text isn't always exactly
right in how it expresses that, e.g. s/2048 bit key/2048 bit
RSA modulus/ Again though I wouldn't hold up the document to
fix it - can be done later.

>> #13 section 3.7 would be better off talking about the signature
>> input bytes rather than hash calculations which will often happen
>> inside some signature API. (This might change if the existing issue
>> about separate body and header hashes gets accepted.)
> 
> I didn't understand this point.  

I think its the same point as EKR made that this document shouldn't
be a tutorial on how signature calculations work.

 > In any case, the separate hashes has
> been accepted.  The whole section now reads:

That, I think, is not a nit-fix and deserves a thread of its
own - any chance you could start that? (Without angle brackets:-)

>> #16 (like #13 above) section 6.3, last bullet: "Compare the
>> decrypted signature to the message hash..." is wrong. PKCS#1 (and
>> later) signature schemes require more, in the case of pkcs#1v1.5
>> there should be an algorithm OID in the recovered plaintext as
>> well. As before, suggest rephrasing this in terms of calculating
>> the bytes input to a signature verification API.
> 
> I don't understand this one either.

Same as EKR's above point again - don't go into details about how
the crypto works, that's specified elsewhere (which ought be
referenced if it's not now) and a description here will inevitably
be inaccurate or incomplete in some way.

Cheers,
S.




More information about the ietf-dkim mailing list