Subject: RE: Gen-ART review of draft-ietf-marf-redaction-04

From: "Murray S. Kucherawy" <[email-masked]>
Date: Tue, 10 Jan 2012 20:40:42 -0800

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]
> Sent: Tuesday, January 10, 2012 6:44 PM
> To: [email-masked]; Murray S. Kucherawy; [email-masked]; [email-masked]
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: Gen-ART review of draft-ietf-marf-redaction-04

Hi David, thanks for the review.

> [1] The first open issue is the absence of security guidance to ensure that this
> redaction technique effectively hides the redacted information.  The redaction
> technique is to concatenate a secret string (called the "redaction key") to the
> information to be redacted, apply "any hashing/digest algorithm", convert the output
> to base64 and use that base64 string to replace the redacted information.
> [...]
> 
> I suggest a couple of changes:
> 1) Change "any hashing/digest algorithm" to require use of a secure hash, and
> 	explain what is meant by "secure hash" in the security considerations section.
> 2) Require a minimum length of the "redaction key" string, and strongly suggest
> 	(SHOULD) that it be randomly generated (e.g., by running sufficient output
> 	of an entropy-rich random number generator through a base64 converter).
> 
> For the latter change, figure out the amount of entropy that should be used
> for redaction - the recommended string length will be larger because printable
> ASCII is not entropy-dense (at best it's good for 6 bits of entropy in each
> 8-bit character, and human-written text such as this message has significantly
> less).
> 
> From a pure security perspective, use of HMAC with specified secure hashes
> (SHA2-family) and an approach of hashing the "redaction key" down to a binary
> key for HMAC would be a stronger approach. I suggest that authors consider
> approach, but there may be practical usage concerns that suggest not
> adopting it.

These are all good points.  My gut reaction is to say that this is all good advice and entirely correct but probably goes a little far for the problem space we're trying to address.  Thus, my inclination is to make the following changes (subject to WG consensus):

- add all of this advice to Security Considerations, with forward references to it elsewhere in the document
- make a SHOULD suggestion as to the minimum redaction key length (instead of a requirement)
- make a SHOULD suggestion as to the type of hash to be used (instead of a requirement)

Would those be sufficient?

> [2] The second open issue is absence of security considerations for the redaction
> key.  The security considerations section needs to caution that the redaction key
> is a secret key that must be managed and protected as a secret key.
> Disclosure of a redaction key removes the redaction from all reports that used
> that key. As part of this, guidance should be provided on when and how to change
> the redaction key in order to limit the effects of loss of secrecy for a single
> redaction key.

Also a good point.  I don't think this is the right place to introduce advice about key rotation and the like as those are well-discussed concepts, so instead Security Considerations can simply make reference to such material elsewhere.  I'll go find some.  I know there's stuff like that in RFC6376 (DKIM) but I'm sure there are better ones.

> Editorial Nit: I believe that "anonymization" is a better description of what
> this draft is doing (as opposed to "redaction"), particularly as the result is
> intended to be correlatable via string match across reports from the
> same source.

Fair enough.  We can add a sentence to that effect in the Introduction.

To the MARF working group: Please let me know if the above suggestions suffice (reply only to the marf list, please).  I will summarize and have a new version ready to publish when LC closes, and make sure David sees it around the same time.

-MSK

---

From: <[email-masked]>
Date: Tue, 10 Jan 2012 21:44:16 -0500

I am the assigned Gen-ART reviewer for this draft. For background on Gen-ART, please
see the FAQ at <http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.

Please resolve these comments along with any other Last Call comments you may receive.

Document: draft-ietf-marf-redaction-04
Reviewer: David L. Black
Review Date: January 10, 2012
IETF LC End Date: January 18, 2011
IESG Telechat Date: January 19, 2011

Summary: This draft is on the right track but has open issues, described in the review.

This draft specifies a method for redacting information from email abuse reports
(e.g., hiding the local part [user] of an email address), while still allowing
correlation of the redacted information across related abuse reports from the same
source. The draft is short, clear, and well written.

There are two open issues:

There are two important ways in which this technique could fail to effectively hide
the redacted information:
	- The secret string may inject insufficient entropy.
	- The hashing/digest algorithm may be weak.

To take an extreme example, if the secret string ("redaction key") consists of a
single ASCII character, and a short email local part is being redacted, then the
output is highly vulnerable to dictionary and brute force attacks because only 6 bits
of entropy are added (the result may look secure, but it's not).  Beyond this extreme
example, this is a potentially real concern - e.g., applying the rule of thumb that
ASCII text contains 4-5 bits of entropy per character, the example in Appendix A
uses a "redaction key" of "potatoes" that injects at most 40 bits of entropy -
is that sufficient for email redaction purposes?

To take a silly example, if a CRC is used as the hash with that sort of short input,
the result is not particularly difficult to invert.

(SHA2-family) and an approach of hashing the "redaction key" down to a binary
key for HMAC would be a stronger approach. I suggest that authors consider
approach, but  there may be practical usage concerns that suggest not adopting it.

[2] The second open issue is absence of security considerations for the redaction
key.  The security considerations section needs to caution that the redaction key
is a secret key that must be managed and protected as a secret key.  Disclosure
of a redaction key removes the redaction from all reports that used that key.
As part of this, guidance should be provided on when and how to change the
redaction key in order to limit the effects of loss of secrecy for a single
redaction key.

Editorial Nit: I believe that "anonymization" is a better description of what
this draft is doing (as opposed to "redaction"), particularly as the result is
intended to be correlatable via string match across reports from the same source.

idnits 2.12.13 didn't find any nits.

Thanks,
--David
----------------------------------------------------
David L. Black, Distinguished Engineer
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
[email-masked]        Mobile: +1 (978) 394-7754
----------------------------------------------------

---

From: <[email-masked]>
Date: Wed, 11 Jan 2012 02:38:26 -0500

Hi Murray,

Thanks for the quick response.

> These are all good points.  My gut reaction is to say that this is all good advice and entirely
> correct but probably goes a little far for the problem space we're trying to address.  

That sounds reasonable to me, and I like John Levine's suggestion to add material to explain
more about the level of security that is appropriate for this problem space and why.  In light
of such an explanation, an HMAC-based mechanism could well be overkill.

> - make a SHOULD suggestion as to the type of hash to be used (instead of a requirement)

I have a hard time believing that the examples used in the review ("a" as the redaction
key, CRC as the hash) are ever acceptable, and for that reason, I think a couple of MUSTs
would be in order to prohibit that sort of nonsense.  In particular:

	- I think there ought to be a MUST minimum length requirement
		on the redaction key string to prevent really short ones.
	- I think use of a secure hash ought to be a MUST to prevent
		use of CRC and other bad ideas.

That could be accompanied by additional guidance that may or may not be "SHOULDs", e.g.,
suggest a SHA2 hash as a good secure hash, suggest use of a longer string than the
minimum requirement.

> Also a good point.  I don't think this is the right place to introduce advice about key rotation and
> the like as those are well-discussed concepts, so instead Security Considerations can simply make
> reference to such material elsewhere.  I'll go find some.  I know there's stuff like that in RFC6376
> (DKIM) but I'm sure there are better ones.

That would be fine - introducing the concept of key rotation as a means to reduce the impact of key
compromise accompanied by a reference to a longer explanation elsewhere seems reasonable.

Thanks,
--David

> From: Murray S. Kucherawy [mailto:[email-masked]]
> Sent: Tuesday, January 10, 2012 11:41 PM
> To: Black, David; [email-masked]; [email-masked]; [email-masked]
> Cc: [email-masked]; [email-masked]
> Subject: RE: Gen-ART review of draft-ietf-marf-redaction-04
> 
> These are all good points.  My gut reaction is to say that this is all good advice and entirely
> correct but probably goes a little far for the problem space we're trying to address.  Thus, my
> inclination is to make the following changes (subject to WG consensus):
> 
> Also a good point.  I don't think this is the right place to introduce advice about key rotation and
> the like as those are well-discussed concepts, so instead Security Considerations can simply make
> reference to such material elsewhere.  I'll go find some.  I know there's stuff like that in RFC6376
> (DKIM) but I'm sure there are better ones.
> 
> To the MARF working group: Please let me know if the above suggestions suffice (reply only to the marf
> list, please).  I will summarize and have a new version ready to publish when LC closes, and make sure
> David sees it around the same time.
> 
> -MSK

---

From: Paul Hoffman <[email-masked]>
Date: Wed, 11 Jan 2012 11:02:45 -0800

> 	explain what is meant by "secure hash" in the security considerations section.

Simply saying "any hash algorithm listed in [FIPS180-3]" is precise and sufficient.

> 	of an entropy-rich random number generator through a base64 converter).

Proposal: "The redaction key SHOULD be based on at least 64 bits of pseudo-random input that is converted to base64".

> of a redaction key removes the redaction from all reports that used that key.

Agree.

> redaction key in order to limit the effects of loss of secrecy for a single

Disagree, given that we have absolutely no idea how systems that use this will work operationally. Simply telling them "if it is no longer secret, you're hosed" is sufficient.

--Paul Hoffman

---

From: SM <[email-masked]>
Date: Wed, 11 Jan 2012 11:50:20 -0800

Hi David,
>I am the assigned Gen-ART reviewer for this draft. For background on 

I appreciate that you have spent your time and effort in performing 
the review.  I find the review useful.

>redaction key in order to limit the effects of loss of secrecy for a single

The comments are from a security perspective.  To be candid, 
redaction is silly as the email folks know how to get around 
that.  The secret key does not even have to be broken; a cookie in 
the message would get you the information you want.  The cost of 
preserving the secrecy is not worth it in my opinion.

Regards,
-sm

---

From: <[email-masked]>
Date: Wed, 11 Jan 2012 15:51:58 -0500

Hi,

Thanks for the response - I appreciate the perspective.

> preserving the secrecy is not worth it in my opinion.

At a minimum, I like John Levine's suggestion that the draft explain
the level of security required for redaction in practice.  Such an
explanation could help illuminate whether the secure hash (the
example in the draft uses SHA-1) is for obfuscation purposes
vs. actual security.

Absent such an explanation, I saw the use of a secure hash and inferred
the existence of actual security requirements.  If that was an incorrect
inference, then text should be added to the draft to avoid having
other readers make similarly incorrect inferences.

Thanks,
--David

> From: SM [mailto:[email-masked]]
> Sent: Wednesday, January 11, 2012 2:50 PM
> To: Black, David
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: Re: Gen-ART review of draft-ietf-marf-redaction-04
> 
> Hi David,

---

From: <[email-masked]>
Date: Thu, 19 Jan 2012 19:10:24 -0500

Based on discussion with the authors, the -05 version of this draft resolves the
issues raised in the Gen-ART review of the -04 version.  An important element of
the approach taken to issue [1] has been to explain why the security requirements
for redaction are significantly weaker than the strength of the secure hashes
that are suggested by the draft.

Thanks,
--David

> From: Black, David
> Sent: Tuesday, January 10, 2012 9:44 PM
> Cc: Black, David; [email-masked]; [email-masked]