Git Product home page Git Product logo

i-d's People

Contributors

glebk avatar kaduk avatar mglt avatar selfissued avatar stpeter avatar thomas-fossati avatar yaronf avatar yoavnir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i-d's Issues

DNO vs. IdO

Can we get rid of "DNO" (only used a few times in the text, and more than a few times in examples) in favor of IdO, for consistency?

[Opsdir review] fuzzines around CT impact

From: https://datatracker.ietf.org/doc/review-ietf-acme-star-06-opsdir-lc-ersue-2019-07-21/

4.2. Impact on Certificate Transparency (CT) Logs
...
The input received from most members of the CT community when the
issue was raised was that this should not represent a problem for the
CT architecture.

This statement is pretty vague for a standard track document. I assume the
reader will be asking what "most members" mean and why it shouldn't represent a
problem for the CT architecture.

Section 5.5 - two considerations on the "type" column

Per the definition of the "type" column:

-- Formally, what is a JSON Schema snippet? In particular, the three pre-loaded values reference seem to reference "Appendix B" which doesn't seem like a "snippet" (it containing a fully valid and well-formed XML file).

-- The registration policy is "expert review" so in theory a document is not needed. Is the thinking that the registry row could contain a bare JSON snippet?

Delegation: proxy behavior.

Since there may be multiple levels of delegation (CDNI), we need to specify the proxy behavior of the protocol as opposed to only the client as server side currently specified.

Section 2.3.2 and 2.3.3 - making sense of titles used to organize of content

I didn't understand the titles used to organize of content -- "Order Object on the NDC-IdO side" vs. "IdO-CA side". They didn't follow the clear convention introduced by Figure 1 of NDC client, IdO client, IdO server and CA server. Additionally, Section 2.3.2 discusses behavior which seems to be IdO client-to-CA Server (which doesn't seem like "NDC IdO side"). Additionally, Section 2.3.3. seems to be describing the requirements that correspond to construction of the order sent to the CA which is also covered at the end of Section 2.3.2.

Protocol configuration model

Include a formal definition of the protocol configuration (including the CSR template as well as other things) as a JSON object. This can then be reused by the CDNI draft for their initial exchange.

Section 6.4 - grammar

s/Following is the proposed solution where/The following is a possible mitigation when/

Question: Requirement for server state

Hello @yaronf . I have a design question: what's the motivation for specifying a mechanism requiring server state rather than allowing clients to drive renewal? What I mean is, why does the server need to do work in absence of a client asking for a renewal? Signing a certificate is easy can can be done inline during a request. Authentication can be accomplished by requiring mTLS on a renewal endpoint. This is, for example, how we handle renewals in step-ca (an ACME compliant CA implementation).

Section 2.5 - define ACME Delegation server

This section introduces a new architectural element, ACME Delegation server, but doesn't define it. Simply referencing the use cases in Section 4.1.2 isn't enough as this section doesn't even use those words ("Delegation server").

Section 2.3.2 - point out the obvious

It might be worth pointing out the obvious when clarifying the properties of the Order objects such as:
-- That the value field will be the delegated name
-- The expected symmetry in field values between NDC-generated order object and the one made by the IdO

Section 3.1 - two normative clauses seem to conflict

   The NDC MUST NOT include in the CSR any fields that are not specified
   in the template, and in particular MUST NOT add any extensions unless
   those were previously negotiated out of band with the IdO.

These two normative clauses seem to conflict. The first clause says that the CSR can only have fields listed in the template (and nothing else). How would one include extensions not in the template based on out of band negotiation? It seems like it is either in the template or not.

Link header in proxies

When in proxy mode we say what the proxy should do with Location but we haven't specified how to deal with the link relations carried by the Link header.

STAR vs non-STAR delegation requirement clarifications

Check that where the requirements in section 2.3.2 do not apply to non-STAR certs, this is duly noted. E.g., the fourth bullet point:

* MUST contain an auto-renewal object and inside it, the fields
  listed in Section 3.1.1 of [RFC8739];

should also say something like with the exception described in Section 2.4 or similar.

Section 3.1 - challenges with the template syntax

-- Where is the normative format for the syntax? Section 3.1 points to Appendix B which lists JSON schema whose format is specified "draft 7 of JSON Schema, which may not be the latest version of the corresponding Internet Draft [I-D.handrews-json-schema] at the time of publication". As far as I can tell "draft 7 of JSON Schema" seems to resolve to https://json-schema.org/specification-links.html which points back to draft-handrews-json-schema. This draft appears to be an expired, individual draft codifying. This ambiguity and lack of stable reference is problematic.

[Edited to move text on mappings to #94]

Certificate Extensions

Enable cert extensions, e.g. the one we mention explicitly (TNAuthList). Possibly as an extension registry, in the IANA section.

Section 6.2 - more actions

Per the enumeration of the "two separate parts" of the delegation process, isn't there also:
-- serving the certificate back to the NDC
-- a process for handling revocation of the delegation and the certificate itself

Both of these seem to be discussed in Section 6.3 in some form.

Section 2.3.2 - clarify who is doing the validation and when

Per "When the validation of the identifiers has been successfully completed ...", it would be useful to clarify who is doing the validation and when. Figure 1 suggests that there is only a validation process between IdO client and CA server. However, wouldn't the IdO server be checking the identifiers submitted by the NDC client too (prior to passing them to the CA server too?

Section 2.3.1 - error handling

Per "The value of this attribute is the URL pointing to the delegation configuration object that is to be used for this certificate request", what is the error handling if the delegation attribute doesn't point to a URL found in the delegations URL list?

Section 2.3.1. Editorial

s/The IdO can delegate multiple names through each NDC/The IdO can delegate multiple names to a NDC/

Section 1. Editorial. Missing preposition.

OLD

   This document describes a profile of the ACME protocol [RFC8555] that
   allows the NDC to request the IdO, acting as a profiled ACME server,
   a certificate for a delegated identity

NEW

   This document describes a profile of the ACME protocol [RFC8555] that
   allows the NDC to request from the IdO, acting as a profiled ACME server,
   a certificate for a delegated identity

ID nits

** Obsolete normative reference: RFC 6844 (Obsoleted by RFC 8659)

== Outdated reference: A later version (-04) exists of
draft-ietf-cdni-interfaces-https-delegation-03

-- Unexpected draft version: The latest known version of
draft-ietf-stir-cert-delegation is -02, but you're referring to -03.

Order for non-STAR certs

In section "Order Object on the NDC-IdO side" we say:

- MUST contain an "auto-renewal" object and inside it, the fields
  listed in Section 3.1.1 of {{!RFC8739}};

but this is only applicable to STAR-based delegation.

This needs fixing to account for "Delegation of Non-STAR Certificates".

Rename capability

Thomas: another minutia that I've noticed this morning while scanning the draft is the use of the star-delegation-enabled capability, which should be called "delegation-enabled" instead and go under the new auto-renewal registry.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.