Ryan,
With the publication of -15, and with the Chairs suggesting [1] again [2] that it's appropriate to take a thorough review, I've tried to review this doc in full again. Pre-emptive apologies if the format has messed up, and my kingdom for a decent review tool to leave these more mangably inline. Apologies for the delays, as I work to translate my notes in the margin into concrete and actionable feedback, suggestions, and hopefully productive explanations of the concerns and considerations.
In the same spirit of your thanks to me for the work involved in creating this threat analysis doc, let me thank you for taking the time to provide many detailed comments on that doc.

At a high level, I think it’s worth echoing the concerns Andrew Ayer raised on 2018-05-07 at [3]. Specifically, Andrew highlighted that the document’s structure, and attempted hierarchy, leads to some duplication of information and potential understating culpability/threats. I think this remains accurate, and the suggestion to focus on describing the attacks still seems a worthwhile consideration. I believe that such an attempt would likely be able to resolve a number of comments below, which appear to be the result of trying to coerce the threats into the hierarchy.
As I noted in my reply to Andrew, the structure of the document has been fairly constant for over 2 years. It's unreasonably late in this process to suggest restructuring. I believe Eric Rescorla (the cognizant Security AD) indicated that, at this stage, changes to the document should be limited to addressing errors, not editorial issues, including the overall structure.

I'll respond to your detailed comments, in my next message, but I do not intend to make changes to the document structure, unless EKR revises his earlier guidance.
With such a restructure, I think it’d be useful to avoid discriminating based on syntactic and semantic mis-issuance - which is the foundation for this documents hierarchy. The document establishes the semantic mis-issuance is a misleading Subject or Subject Alternative Name, while everything else is syntactical. However, this understanding of syntactical misissuance muddies the waters between what historically has been syntactical issues - e.g. BER encoding instead of DER - and what’s been seen as a semantics issue, such as granting a capability or extended key usage without the appropriate procedural controls or validation.
In the context addresses in 6962-bis, the fundamental semantic issue for a cert is ensuring that the Subject identifier accurately represents the holder of the private key. In some other contexts a cert may represent a capability (in the traditional, computer security sense), but that's not the primary focus here.
The early emphasis on syntax and semantics causes a whole class of adversarial models to be missed, ones which have been the forefront of concerns from existing Log operators and CT consumers. Such attacks include the ‘malicious’ logging of certificates - that is, syntax and semantics that are fully conforment with the relevant profiles, but which a Log may find undesirable to provide in an append-only record. For example, certificate extensions with ‘objectionable’ content provide such a model.
I was wondering what is "objectionable content" is in this context, but upon reading your detailed comments the example you provide seems to be inclusion of libelous text as a cert extension. No, the document does not address that sort of attack.
Another attack that is omitted includes that of denial of service through ‘flooding’ - an issue that has seen more than one Log struggle to keep up - in which the existing corpus of certificates not present within a given Log are suddenly presented to that Log. This same adversarial model applies to revoked certificates, particularly revoked CA certificates, in that they allow for large corpora of certificates to be created, potentially with problematic content, and be submitted to Logs.
I found only one comment in 6962-bis about DoS via flooding wrt submissions, in 4.2.  It appears that a log could reject/delay a submission if it is busy, without violating 6962-bis, but I agree that the spec is not very clear on that topic.  4.2 specifically notes that a log could reject submissions to counter flooding attacks.  Ultimately, if a log operator cannot offer a robust processing and communication capability, it probably it ill-suited to act in that capacity. This might be a good example of where 6962-bis could have provided useful guidance, but ... Nonetheless, I have revised the abstract to note that DoS attacks are not considered to to emphasize that 6962-bis is the primary reference:

"This document defines an attack model and discusses threats based on the system design presented in [I-D.ietf-trans-rfc6962-bis]. It analyzes potential vulnerabilities associated with that design, and considers compromises of system elements and malicious behavior by such elements. It does not consider implementation vulnerabilities, including ones that might enable denial of service attacks against these elements."

Similarly, this treatment of syntax and semantics leads to suggestions that would actively undermine some of the goals of Certificate Transparency. In particular, the suggestion of CT logs performing syntax validation has, in the discussions previously, been pointed out that it hinders, rather than helps, transparency, in that it allows for an entire class of syntax violations to be swept under the rug by colluding Logs, preventing transparency around the CA’s operations. This fundamentally redefines the goals of Certificate Transparency, in a way that is inconsistent with its widely-deployed usage among root programs to supervise participants and review CA operations, and it would be a mistake not to mention this.
As noted above, the threat analysis is based primary on what 6962-bis mandates as requirements, and what it fails to mandate. That approach to a threat/attack analysis is typical for an RFC. As I noted previously, IF 6962-bis stated that logs are precluded from checking syntax, then there would be no discussion of the implications of such checks in my document. But, that's not the case. What may be common practice in the current deployment environment is not relevant to an analysis based on what the defining CT document says (and fails to say), in the same sense that flaws in current implementations are not part of such an analysis.
Another high-level point is that the document makes heavy use of parentheticals. While clearly my own writing is just as guilty of this, although perhaps through abuse of hyphens and commas, I think many of the parenthetical remarks fall into categories that either derail the discussion at hand with asides and speculation, or which should otherwise be appropriately integrated into the text and the document structure itself. At times, there are even nested or unclosed parentheticals, which stick out rather substantially.
The RFC Editor will ensure that unbalanced parentheses will be fixed. However, the choice of parenthetical comments vs. using a hyphen is an example of a style issue that is no longer appropriate for discussion.

One last high-level point, before the more detailed line-item feedback, which is that this document broadly speaks to the notion of “trusting” Logs, as if that is something that either Monitors or RPs do. In particular, in the discussions about misbehaving Logs, it’s frequently suggested that Monitors should not “trust” the Log, or presents Log misbehavior as an ‘attack’ against Monitors. While it’s certainly true that Monitors need to be careful in regarding what a Log omits, there’s no risk or harm in examining what a Log includes - indeed, it’s particularly beneficial to clients to widely consume data from Logs, even those no longer recognized by CT clients for purposes of SCT enforcement. Andrew touched on this in his previous reply, and I don’t think draft-15 really meaningfully addresses that concern.
When a Monitor relies on a log to detect certs of interest, it is trusting that log. But I agree that a phrase like "relies upon" is preferable, and I will change the text accordingly. When an RP relies on an SCT in deciding whether to accept a cert, it too is trusting the log, but, as above I will review the text to see where this term should be changed.

Steve

_______________________________________________
Trans mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trans

Reply via email to