[Acme] Meeting Materials Uploaded

2020-07-29 Thread Yoav Nir
Hi all,

I’ve just uploaded the meeting materials for tomorrow’s session.

https://datatracker.ietf.org/meeting/materials#acme 


If you’re presenting tomorrow, please check that your slides are there.

See you all tomorrow.

Yoav

___
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme


Re: [Acme] CAA in draft-ietf-acme-client-01.txt

2020-07-29 Thread Kathleen Moriarty
Thank you all for the good discussion.  It seems like a solid discussion
and reasoning towards removing the paragraph.  I'll post a new version soon..

Best regards,
Kathleen

On Wed, Jul 29, 2020 at 12:39 PM Ben Schwartz  wrote:

> Thanks for the explanation.  I certainly agree that the paragraph as
> written is incorrect: fetching the CAA record from the DNS, and attempting
> to use it for validation, is not possible.  Removing the paragraph seems
> fine to me.
>
> My point was mostly that CAA transparency (even without any automation)
> could be interesting, but this draft probably isn't the place to speculate
> on that.
>
> On Wed, Jul 29, 2020 at 11:19 AM Ryan Sleevi  wrote:
>
>> Ben: This text was intended towards auditors, and is indeed part of the
>> ongoing logging requirements imposed on CA. While it’s easy to imagine a
>> hypothetical world of CAA transparency and talk of it as if it was a thing,
>> there are a number of real and practical operational challenges that make
>> it more than “just” a log, particularly given the time-bounded nature of
>> DNSSEC validity and cryptographic material.
>>
>> The text in the draft, as is, is problematic, because that’s not been the
>> goal of CAA, and using it in such a manner, particularly clients, would be
>> actively harmful to the security value and deployability of CAA, and
>> further makes migration CAs unnecessarily difficult. This was a hugely
>> contentious barrier towards the deployment and requirement of CAA support
>> by CAs, and would have obvious lasting security harm.
>>
>> Concretely, imagine at Time 0, my CAA record says “foo.example”, and a
>> certificate with a validity period of 100 is issued. At Time 10, I cease
>> doing new business with Foo CA, and transition to Bar CA, with CAA record
>> of “bar.example”
>>
>> If clients check CAA, I would have to continue to permit Foo to be able
>> to issue new certificates from T=10 to T=100 in order to continue to use my
>> existing certificates. Further, I would have no technical means of
>> disclaiming or proving any misissuance; e.g.. due to Foo using validation
>> methods my organization did not wish to use, because my organization could
>> not adequately secure them. In such a world, it would be “my” fault, while
>> CAA provided a way to shift that burden to the CA performing the validation.
>>
>> This doomsday scenario doesn’t even require “most” clients to do so; just
>> “enough” and the interoperability risk of CAA would be too great and the
>> only obvious answer would be to not deploy it.
>>
>> In code signing, this is even more pronounced, because although the
>> validity period is T=0 to T=100, code signing that delegates to third party
>> CAs, as opposed to directly administered by the vendor, tends to
>> counter-sign such signatures with a timestamp, so that the signed artifact
>> can be used outside of its validity period. If the counter-signer checked
>> CAA, you “only” have to worry about keeping CAA around for [T=10, T=100],
>> but if the client verified CAA, you’d have to keep it around for [T=10,
>> T=infinity] in order to keep that artifact valid.
>>
>> As Roland states, CAA is between a site, the CA, and whomever supervises
>> that CA (e.g. auditors, supervisory bodies, etc). It provides a form of
>> dispute resolution about whether a certificate was authorized at the time
>> it was issued, in a consistent and interoperable way. The logs maintained
>> by CAs are primarily there to aid in that direct dispute resolution, which
>> is an inherently fuzzy and human process for what is expected to be a truly
>> exceptional situation, and anything more generic/more broadly would require
>> significantly greater complexity and design before it could be said to meet
>> any verification goals.
>>
>> I support the paragraphs removal.
>>
>> On Tue, Jul 28, 2020 at 4:12 PM Ben Schwartz > 40google@dmarc.ietf.org> wrote:
>>
>>> RFC 6844 Section 4.1 points out that logged DNSSEC-signed CAA records
>>> can be used when auditing CAs for mis-issuance.  The current draft says
>>> "CAA helps as anyone  can verify that the CA used has been authorized",
>>> which is true, but only if "anyone" has access to a log of the signed CAA
>>> records used by the CA, and the domain is DNSSEC-signed.
>>>
>>> I would like it if CAs published such logs, but I don't know whether it
>>> is a common practice.
>>>
>>> On Tue, Jul 28, 2020 at 3:58 PM  wrote:
>>>
 Roland,



 Thank you, that’s very helpful  Any other opinions?  I’m very happy to
 delete with consensus and appreciate the reviews on this particular issue
 as well as on the draft.



 Best regards,

 Kathleen



 *From:* Roland Shoemaker 
 *Sent:* Tuesday, July 28, 2020 3:27 PM
 *To:* Kathleen Moriarty
 *Cc:* Carl Mehner; Moriarty, Kathleen; IETF ACME
 *Subject:* Re: [Acme] CAA in draft-ietf-acme-client-01.txt



 [EXTERNAL EMAIL]

 I th

Re: [Acme] CAA in draft-ietf-acme-client-01.txt

2020-07-29 Thread Ryan Sleevi
Ben: This text was intended towards auditors, and is indeed part of the
ongoing logging requirements imposed on CA. While it’s easy to imagine a
hypothetical world of CAA transparency and talk of it as if it was a thing,
there are a number of real and practical operational challenges that make
it more than “just” a log, particularly given the time-bounded nature of
DNSSEC validity and cryptographic material.

The text in the draft, as is, is problematic, because that’s not been the
goal of CAA, and using it in such a manner, particularly clients, would be
actively harmful to the security value and deployability of CAA, and
further makes migration CAs unnecessarily difficult. This was a hugely
contentious barrier towards the deployment and requirement of CAA support
by CAs, and would have obvious lasting security harm.

Concretely, imagine at Time 0, my CAA record says “foo.example”, and a
certificate with a validity period of 100 is issued. At Time 10, I cease
doing new business with Foo CA, and transition to Bar CA, with CAA record
of “bar.example”

If clients check CAA, I would have to continue to permit Foo to be able to
issue new certificates from T=10 to T=100 in order to continue to use my
existing certificates. Further, I would have no technical means of
disclaiming or proving any misissuance; e.g. due to Foo using validation
methods my organization did not wish to use, because my organization could
not adequately secure them. In such a world, it would be “my” fault, while
CAA provided a way to shift that burden to the CA performing the validation..

This doomsday scenario doesn’t even require “most” clients to do so; just
“enough” and the interoperability risk of CAA would be too great and the
only obvious answer would be to not deploy it.

In code signing, this is even more pronounced, because although the
validity period is T=0 to T=100, code signing that delegates to third party
CAs, as opposed to directly administered by the vendor, tends to
counter-sign such signatures with a timestamp, so that the signed artifact
can be used outside of its validity period. If the counter-signer checked
CAA, you “only” have to worry about keeping CAA around for [T=10, T=100],
but if the client verified CAA, you’d have to keep it around for [T=10,
T=infinity] in order to keep that artifact valid.

As Roland states, CAA is between a site, the CA, and whomever supervises
that CA (e.g. auditors, supervisory bodies, etc). It provides a form of
dispute resolution about whether a certificate was authorized at the time
it was issued, in a consistent and interoperable way. The logs maintained
by CAs are primarily there to aid in that direct dispute resolution, which
is an inherently fuzzy and human process for what is expected to be a truly
exceptional situation, and anything more generic/more broadly would require
significantly greater complexity and design before it could be said to meet
any verification goals.

I support the paragraphs removal.

On Tue, Jul 28, 2020 at 4:12 PM Ben Schwartz  wrote:

> RFC 6844 Section 4.1 points out that logged DNSSEC-signed CAA records can
> be used when auditing CAs for mis-issuance.  The current draft says "CAA
> helps as anyone ... can verify that the CA used has been authorized", which
> is true, but only if "anyone" has access to a log of the signed CAA records
> used by the CA, and the domain is DNSSEC-signed.
>
> I would like it if CAs published such logs, but I don't know whether it is
> a common practice.
>
> On Tue, Jul 28, 2020 at 3:58 PM  wrote:
>
>> Roland,
>>
>>
>>
>> Thank you, that’s very helpful  Any other opinions?  I’m very happy to
>> delete with consensus and appreciate the reviews on this particular issue
>> as well as on the draft.
>>
>>
>>
>> Best regards,
>>
>> Kathleen
>>
>>
>>
>> *From:* Roland Shoemaker 
>> *Sent:* Tuesday, July 28, 2020 3:27 PM
>> *To:* Kathleen Moriarty
>> *Cc:* Carl Mehner; Moriarty, Kathleen; IETF ACME
>> *Subject:* Re: [Acme] CAA in draft-ietf-acme-client-01.txt
>>
>>
>>
>> [EXTERNAL EMAIL]
>>
>> I think the disconnect here is between CAs and Relying Applications (i.e..
>> browsers) using CAA. The CA should use CAA to validate if they have
>> authority to issue, but the relying application must not because the CAA
>> records are only applicable at the time of issuance and there is no
>> guarantee that the current CAA records may match the records that were
>> present in the past (i.e. I may set my CAA record to allow "example-ca",
>> issue a certificate, and then set my CAA record to an empty string to
>> prevent issuance from anyone, the check is valid at the time of issuance,
>> but anyone trying to do post-issuance validation would fail since the
>> record has changed).
>>
>>
>>
>> I would support removing the paragraph.
>>
>>
>>
>> On Tue, Jul 28, 2020 at 7:57 AM Kathleen Moriarty <
>> kathleen.moriarty.i...@gmail.com> wrote:
>>
>> Hello Carl,
>>
>>
>>
>> Thank you for your review and I apologize for my extremely tardy response.