Subject: Gen-ART LC Review of draft-ietf-ltans-xmlers-08

From: Ben Campbell <[email-masked]>
Date: Thu, 6 Jan 2011 17:32:03 -0600

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-ltans-xmlers-08
Reviewer: Ben Campbell
Review Date: 11-01-06
IETF LC End Date: 11-01-11

Summary:

This draft is on the right track for proposed standard, but I think it needs more editing prior to publication.

Note that I have not attempted to verify the XML schema or examples. These should be mechanically verified prior to publication, if they have not already been done so.

-Major issues:

None

-Minor issues:

-- General: I'd like to see some more architectural background. Who are the actors? What are their roles? You mention the time stamp authorities, but not much else. Who are the verifiers? How to Certificate Authorities fit in?

-- general: I'd like to see at least one complete example.

-- 3.1.2, 1st paragraph: "exact time (obtained from trusted time source) of Time-Stamping."

How exact?

-- 3.1.2, paragraph before example: "The Attribute type must be used"

Normative?

-- 3.1.3, 1st paragraph:

Is that a normative SHOULD? Can you offer examples or an explanation of when thus might not be possible?

-- 3.1.3, 2nd paragraph: "Following values SHOULD be used as identifiers for the Type attribute"

Just should? Don't you mean to say the type MUST be something in the IANA registry?

-- 4.1, last paragraph "must be valid at the present time"

Normative?

-- 4.1.1, general:

(comments also apply to the Canonicalization method URL)

What does the URI represent? Does that point to the actual definition of the algorithm? Can I make up arbitrary ones? Is there a registry? What schemes are allowed and/or reasonable?

Are there any required-to-support algorithms?

-- 4.1.1, 2nd paragraph: "those must be used as defined in [RFC3275] and [RFC4051]"

Normative?

-- 4.1.1, last paragraph:

What do you mean by equal? The same algorithm? One of equal strength? How do you determine relative strength?

-- 4.2.1, last paragraph: "The new ATS and its hash tree MUST use the same digest algorithm as the preceding one"

Does this imply they can't change to a new algorithm? What if an algorithm becomes deprecated over time?

-- 7, 1st paragraph: "have to be considered by verifying components"

Normative?

-- 7, 4th paragraph:

should "recommended" and "must" be normative?

Why different TSAs? Wouldn't different algorithms be good enough? Are you assuming a given TSA is limited to a single algorithm at a time?

-- 7, last paragraph: "Time-Stamps should have the same or higher quality"

Normative?

-Nits/editorial comments:

-- General: The draft could really use another editing pass to check for punctuation errors and awkward style. There's lots of missing or misused commas, missing articles, passive voice that obscures actors, etc. It looks like sections were edited in isolation from each other, with redundant assertions (how many times do you need to open with "time stamps prove the existence of data at a particular time"), inconsistent use of acronyms, etc.  I will highlight some examples, but they are by no means exhaustive.

Much of this could be handled by the RFC editor, but its best to minimize their work load, and better to minimize the opportunity for outside editors to misconstrue your meaning.

-- General: The pagination and vertical spacing seem strange.

-- Abstract : "This document specifies XML syntax and processing rules for creating evidence for long-term non- repudiation of existence of data."

I assume this is for non-repudiation of more than just the "existence" of the data, right? Also, please expand the acronyms in the abstract.

-- section 1: "define XML Schema and processing rules for Evidence Record Syntax in XML format. The document is related to initial ASN.1 syntax"

Missing articles. Also, since you use an acronym for this later, why not declare it here?

-- 1.1, first paragraph: "Such data and non-repudiable proof of existence must endure for long periods of time, even when information to prove data existence and integrity weakens or ceases to exist."

That seems to say the proof must continue to exist past it's own existence. I assume that is not the intent.

-- "digital signatures defined in [RFC5652] for example do not provide absolute reliability"

Missing commas around "for example"

-- 2nd paragraph: "All integrity and authenticity related techniques used today suffer from the same problem of time related reliability degradation including techniques for Time-Stamping, which are generally recognized as data existence and integrity proof mechanisms."

I find it hard to parse that sentence. 

-- "Some of the problems might not even be technically related like a decomposing Time-Stamping authority."

Technically related to what? Do you mean to say "might not even be of a technical nature..."? Also, I'm not sure I understand "decomposing" in this context.

-- 3rd paragraph: " introduced for example by"

Missing commas

-- "long term signature syntaxes like [RFC5126]"

Missing words? (i.e. .... syntaxes like those defined in...)

-- "Long term signature syntaxes and processing rules address mostly the long term endurance of digital signatures..."

Seems self-redundant

-- 4th paragraph:

Please expand XMLERS on first mention. Also, this is not consistent with the acronym used in the abstract.

-- 6th paragraph: "support for example import"

commas

-- section 1.2, first paragraph

Multiple missing articles

-- 3rd paragraph: "Evidence Record maintains a close relationship to Time-Stamping techniques"

I doubt it "maintains" anything. It think you mean to say "is closely related to..."

-- 1.2, 4th paragraph: "packed into a structure called a "hash tree""

The text appears to be trying to introduce the concept of a "hash tree", but that's already been mentioned several times.

-- 1.2, 5th paragraph: "collected evidence data must be monitored and renewed before such events occur"

monitored by whom?

-- 1.3, 2nd paragraph:

"multitude" connotes a large number. I think you just mean "set". Also, why the parentheses?

-- 1.3, definition of "canonicalization"

This seems like a definition of "canonicalization rules". Wouldn't "canonicalization" refer to the act of following the rules, rather than the rules themselves?

Also, the draft needs a definition for "canonical form"

-- section 2, first paragraph:

It would be nice to have definitions of integrity and non-reputability in the terminology section. Maybe even "existence" as used in the context.

-- section 2, first paragraph: "unit of data, which is to be used"

I think you mean "unit of data that is to be used"

-- section 2, 1st paragraph: "Time-Stamp Tokens obtained from the Time-Stamping Authority (TSA)"

Obtained by whom?

-- section 2, 2nd paragraph "number of reasons"

More than one example would be nice.

-- 2.1, 1st paragraph: "CRLs or OCSP"

Expand on first mention

-- 2.1, paragraph made up of "<CanonicalizationMethod> is a required element that specifies the canonicalization algorithm applied over the archive data in case of XML data objects, <ArchiveTimeStampSequence> or <TimeStamp> element prior to performing digest value calculations."

Sentence does not make sense. Are therre missing words?

-- 2.2, 3rd paragraph after numbered list: "the application not defined in this draft"

I'm not sure what you mean. Is there a specific application defined elsewhere, or are you just trying to say it is out of scope?

-- 2.2, 2nd to last paragraph:

I'm not sure what this is an example of. It just looks like a continuation of the section text.

-- "provide also evidence"

also provide evidence

-- 3.1.1, third to last paragraph "When a single Time-Stamp is obtained for a set of archive objects, a hash tree MUST be constructed to generate a single hash value to bind all archive objects from that group and then a reduced hash tree MUST be extracted from the hash tree for each archive object respectively (see Section 3.2.1)."

Meaning obscured by passive voice. Who or what MUST generate and/or extract hash trees?

-- 3.1.1, 2nd to last paragraph: "For example, the text value"

Is this a second example, or a continuation of the previous one?

-- 3.1.2, 1st paragraph "Since at the time being there is no standard"

Won't is statement become false when this draft is published as an RFC?

-- 3.1.2, paragraph before example: "in particular, e.g."

"in particular" or "e.g", not both.

-- 3.2.1, 2nd paragraph: "This is the case:"

Confusing. Do you mean to say "The values are unequal when either of the following are true:"?

-- 3.2.1, 1st bullet list entry "is having"

has

-- 3.2.1, paragraph before 2nd numbered list: "is built from bottom to the root."

Leaves to the root, or bottom to top. Also, who builds it?

-- "The leaves represent the digest values of the archive objects:"

It looks like you mean this sentence to introduce the following list, but it doesn't seem to do so.

-- List entry 3: Need to define N. Is this the order of the tree?

-- 3.3, list item 2: "If an additional proof is necessary that the Archive Time-Stamp relates to a data object group (e.g. a document and all its digital signatures), it can also be verified that only the hash values of the given data objects are in the first hash value list."

I don't understand this sentence

-- 3.3, numbered list:

Is there a need to distinguish between kinds of negative results?

-- 4.1.2, last paragraph: "it is recommended to use c14n- 20010315."

Reference?

-- 4.2 "Archive Time-Stamps have to be renewed "

by whom?

-- section 7, "Secure Algorithms", etc

Should these be numbered subsections?

-- 7, 1st paragraph: "have to be considered by verifying components"

They need to be considered by people, not components, right? Also, is this a verification issue or a generation issue?

-- section 8, 1st paragraph: "namespace has been registered in the IANA XML Registry."

It's already been registered, or are you instrucing IANA to register it? (repeats several times in section)

-- Appendix A, general:

Why is this in an appendix? It seems central to the draft. lots of readers will stop reading when they get to the references sections.

---

From: Ben Campbell <[email-masked]>
Date: Thu, 6 Jan 2011 18:15:33 -0600

Also note that sending to [email-masked] resulted in a "user unknown" delivery failure report for [email-masked] . That's not the address listed for him in the draft, either the address in the draft forwards to a dead address, or the tools alias for the draft is incorrect. In either case, something is broken somewhere.

Thanks!

Ben.

---

From: Tobias Gondrom <[email-masked]>
Date: Tue, 11 Jan 2011 20:33:41 +0000

Dear Ben,

thank you very much for your thorough review of xmlers.
I corrected nearly all of the items you raised and sent the revised
version to my co-authors for approval and publication as version -10. On
a note of further language style improvement beyond your comments, the
AD advised us at the time of submission to rely on the RFC Editor.
Details inline below.

Kind regards,
Tobias

> Note that I have not attempted to verify the XML schema or examples. These should be mechanically verified prior to publication, if they have not already been done so.
xml schema has been verified.

> -- General: I'd like to see some more architectural background. Who are the actors? What are their roles? You mention the time stamp authorities, but not much else. Who are the verifiers? How to Ce…
For the architectural background I would refer you to ERS (RFC4998)
which is the ASN variant. Furthermore the systems mainly need the time
stamp authorities, all other players can actually vary with implementation.
For this reason we are currently working on an informational draft
draft-ietf-ltans-ari to exactly give a more detailed view on the use
scenarios and actors and roles.

> -- 3.1.2, 1st paragraph: "exact time (obtained from trusted time source) of Time-Stamping."
Actually to be precise "how exact" depends on the time source. So not
sure what you mean here?
> -- 3.1.2, paragraph before example: "The Attribute type must be used"
yes, corrected to MUST

> Is that a normative SHOULD? Can you offer examples or an explanation of when thus might not be possible?
corrected to SHOULD.
Example of when this might not be possible is when the data structure of
the used time-stamp token does not allow storing further verification data.
> Just should? Don't you mean to say the type MUST be something in the IANA registry?
yes, corrected to MUST
> -- 4.1, last paragraph "must be valid at the present time"
yes normative. Corrected to MUST
> Are there any required-to-support algorithms?
The URI is an identifier for the algorithm as specified in RFC4051 and 3275.
The draft is intentionally algorithm agile, meaning it references
algorithm identifiers from the listed RFCs and there are no
"required-to-support algorithms" as these will obviously evolve over
time and new ones may have to be developed and supported in the future
when current ones become weak.
> -- 4.1.1, 2nd paragraph: "those must be used as defined in [RFC3275] and [RFC4051]"
Yes normative. Corrected to MUST.
> What do you mean by equal? The same algorithm? One of equal strength? How do you determine relative strength?
Corrected language. They must be the same digest algorithm. 
> Does this imply they can't change to a new algorithm? What if an algorithm becomes deprecated over time?
No it does not imply the digest algorithm can't be changed to a new one.
But to change the hash algorithm you must use the hash tree renewal
(section 4.2.2)

> -- 7, 1st paragraph: "have to be considered by verifying components"
Actually not. Because verifying components may use different criteria
to  determine which algorithm is considered secure. These can vary by
country and legislation, so it would be inappropriate to make this
normative.

> Why different TSAs? Wouldn't different algorithms be good enough? Are you assuming a given TSA is limited to a single algorithm at a time?
Changed recommended to normative "RECOMMENDED".
And changed non-normative "must" to normative "SHOULD": because there
may theoretically be scenarios where redundancies still have value even
without hash algorithm redundancy or two different secure hash
algorithms may not be available.
Different TSAs are recommended, because there may be events when one TSA
(and all its keys) is compromised. In which case a redundant TSA would
help mitigate this risk. (on a personal side note: in practice different
TSAs are sometimes also needed because some of them do only offer a very
limited range of algorithms.)

> -- 7, last paragraph: "Time-Stamps should have the same or higher quality"
Yes, changed to normative.
> Much of this could be handled by the RFC editor, but its best to minimize their work load, and better to minimize the opportunity for outside editors to misconstrue your meaning.
Regarding punctuation errors and style the AD advised to rely on the
editor for this in this case.
However, as you kindly outlined some of the vulnerable areas, I will
revisit each of them again and try to improve language there.

> I assume this is for non-repudiation of more than just the "existence" of the data, right? Also, please expand the acronyms in the abstract.
expanded.
> Missing articles. Also, since you use an acronym for this later, why not declare it here?
done: declared ASN.1 and XML.
> That seems to say the proof must continue to exist past it's own existence. I assume that is not the intent.
corrected
> Missing commas around "for example"
corrected
> I find it hard to parse that sentence. 
improved sentences structure. Will ask RFC Editor for further language
improvements
> Technically related to what? Do you mean to say "might not even be of a technical nature..."? Also, I'm not sure I understand "decomposing" in this context.
yes, changed and replaced "decomposing"

> -- 3rd paragraph: " introduced for example by"
corrected
> Missing words? (i.e. .... syntaxes like those defined in...)
corrected
> -- "Long term signature syntaxes and processing rules address mostly the long term endurance of digital signatures..."
corrected
> Please expand XMLERS on first mention. Also, this is not consistent with the acronym used in the abstract.
expanded
> -- 6th paragraph: "support for example import"
corrected
> Multiple missing articles
corrected
> I doubt it "maintains" anything. It think you mean to say "is closely related to..."
corrected
> The text appears to be trying to introduce the concept of a "hash tree", but that's already been mentioned several times.
no change: yes it has been mentioned, but hash tree is one of the key
elements of XMLERS so it should be mentioned in the overview provided in
this section (1.2 general overview)
> -- 1.2, 5th paragraph: "collected evidence data must be monitored and renewed before such events occur"
actually who monitors can vary with implementation (it could be the
system operator, user or a third party) so we did intentionally not
specify it here.
> "multitude" connotes a large number. I think you just mean "set". Also, why the parentheses?
corrected
> Also, the draft needs a definition for "canonical form"
unchanged: in this case I think the definition is appropriate and also
the term "canonical form" is sufficiently well known in XML terms, so
that it is not necessary to repeat definitions here. 
> It would be nice to have definitions of integrity and non-reputability in the terminology section. Maybe even "existence" as used in the context.
Not changed: I would prefer to not "over-define" in the terminology
section (as this can also reduce readability of the document). Words
like existence and integrity should be sufficiently clear.
> I think you mean "unit of data that is to be used"
corrected
> -- section 2, 1st paragraph: "Time-Stamp Tokens obtained from the Time-Stamping Authority (TSA)"
corrected
> More than one example would be nice.
added one more reason
> -- 2.1, 1st paragraph: "CRLs or OCSP"
expanded.
> Sentence does not make sense. Are therre missing words?
corrected
> I'm not sure what you mean. Is there a specific application defined elsewhere, or are you just trying to say it is out of scope?
corrected
> I'm not sure what this is an example of. It just looks like a continuation of the section text.
Corrected.
> -- "provide also evidence"
corrected
> Meaning obscured by passive voice. Who or what MUST generate and/or extract hash trees?
corrected to active voice
> Is this a second example, or a continuation of the previous one?
corrected
> Won't is statement become false when this draft is published as an RFC?
No, because the draft defines the Evidence Record in XML, but the time
stamps are still not standardised in XML, only in ASN.1 (RFC3161).
> "in particular" or "e.g", not both.
corrected
> Confusing. Do you mean to say "The values are unequal when either of the following are true:"?
corrected
> -- 3.2.1, 1st bullet list entry "is having"
corrected
> Leaves to the root, or bottom to top. Also, who builds it?
corrected, but kept passive voice in this case because who builds it is
not important.
> It looks like you mean this sentence to introduce the following list, but it doesn't seem to do so.
corrected
> -- List entry 3: Need to define N. Is this the order of the tree?
corrected
> I don't understand this sentence
corrected
> Is there a need to distinguish between kinds of negative results?
No. For the standard there is no need to distinguish between different
kinds of negative results. (Though a verification application may do
that, to give further detailed information to the user.)
> -- 4.1.2, last paragraph: "it is recommended to use c14n- 20010315."
corrected. was already listed in references, just added it to section 4.1.2
> -- 4.2 "Archive Time-Stamps have to be renewed "
put in active voice (LTA renews time-stamps)
> Should these be numbered subsections?
Ok. Introduced subsections in the security considerations section
> They need to be considered by people, not components, right? Also, is this a verification issue or a generation issue?
corrected
> It's already been registered, or are you instrucing IANA to register it? (repeats several times in section)
Yes, we instructed IANA to register it. And IANA has already responded
and listed that they understood the required actions.
> Why is this in an appendix? It seems central to the draft. lots of readers will stop reading when they get to the references sections.
In the last point I disagree. The appendix is the right place as it only
provides a summary list of the verification steps of 2.3., 3.3. and 4.3.
and how to bind it all together.