Re: [TLS] Trusting self-signed TLS certificates - specifically for HTTPS

2022-12-01 Thread Ollie
> There's nothing to be gained by publishing SCTs in self-issued DANE-EE
> validated certificates. Are you proposing to make SCTs mandatory in
> DANE? Which user agents would insist on such SCTs and why? If not,
> what problem would optionally including them solve?

Yes, primarily for browser user agents.
See below on use cases/problems.

> Note also that the "expiration" date of DANE-EE certificates is ignored,
> the freshness of the key binding is attested via the TLSA record RRSIG,
> rather than the dates in the certificate. The proposed 90-day limits on
> "certificate lifetime" are antithetical to DANE-EE.

Noted and understood, although not sure I agree the certificate expiry should 
be ignored. What happens if I put a TLSA record for a CA certificate that then 
traditionally expires? Would user agents be expected to fall-back to using the 
RRSIG freshness?

> In principle (I am not tracking whether there are extant
implementations), DANE-EE even supports TLS with RFC 7250 "raw public
> keys", where there are no certificate at all!

Huh, interesting - will look into, thanks.

I hadn't come across DNSSEC-Transparency so that probably covers a lot/all of 
the following, however I think it's worth considering CT log incorporation as 
that ecosystem is well established and the adoption of self-signed certificates 
(SSCs) would likely require little revision by monitors/user agents etc.

Consider the following use cases/user stories (U) and how (H) I believe 
inclusion of SSCs to CT logs can support alongside CA certificates (CACs):

1.U: As a user agent, I want to prevent users from accessing potentially 
malicious versions of a website so that I can protect users from harm.
1.H: If presented with an SSC the user agent would require TLSA records and a 
complete DNSSEC chain and for the presence of an SCT for checking a CT log, 
doing those increases the level of assurance that the presented SSC is valid 
for the given website. If only one is valid, then some misissuance could have 
occured and a block or warning could be displayed to the user.

2.U: As a website operator, I want to monitor for certificates (intended to be 
trusted by user agents) issued for my known domain so that I can look for any 
misissuance to protect my end users against malicious versions.
2.H: Website operators could implement direct monitoring against a domain to 
check the presented certificate (SSC or CAC) but what if a different network is 
presenting something differently to other users - monitoring of CT logs that an 
SSC has been issued (where as in 1. user agents require to not show 
warning/block) could alert me to misissuance and that some of my users may 
be/being targeted by some sort of (person-in-the-middle) attack where I can 
look to mitigate/notify users.

3.U: As an organisation ("example.com") with many domains and websites, I want 
to monitor for certificates issued against one of my brands so that I can 
investigate and look for potentially malicious versions of my websites to 
mitigate like creating takedown requests or adding to blocklists.
3.H: As with 2., direct monitoring could be done but that relies on me already 
knowing about an asset or domain. If I could look for "*.example.*" or 
"example.*" or "exampl3.*" in CT logs (either SSC or CAC) to identify domains I 
didn't know about previously, I could investigate if they're a potentially 
malicious version.

4.U: As a website operator, I want to check my certificates for imminent expiry 
so that I can act on renewing or fixing the automated process before users are 
presented with an error.
4.H: I could use a monitoring service that looks at CT logs where SSCs or CACs 
are inventoried and checked for soon-to-be expired certificates, where I'd 
receive a notification about them.

5.U: As an enterprise with many domains and websites, I want to monitor for 
certificates issued against my domains so that I can investigate and look for 
potential shadow IT to ensure compliance and increase efficiencies.
5.H: I could use a monitoring service to identify domains and ensure they're 
part of my policies (e.g. must be in a CMDB or I only want SSCs or CACs to be 
used).

Some additional thoughts:
- perhaps we could have "Expect-CT: 2" to designate a SSC vs current "1" for a 
CAC for user agents to handle differently
- perhaps we could have a CAA flag for no CA but DANE:
example.com. IN CAA 0 issue "; tlsa=1"

Thanks,
Ollie___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Trusting self-signed TLS certificates - specifically for HTTPS

2022-12-01 Thread Bas Westerbaan
>
> I don't see this as different to the current spam potential with CT logs
> right now - anyone could distribute out the creation of a bunch certificate
> requests with the likes of Let's Encrypt and submit a bunch of certificate
> chains to CT logs.


Let's Encrypt (and other free CAs) have tight rate limits [1], which would
be unreasonably tight for all applications. There is an escape hatch: if
the rate limit is a problem, you can just buy a certificate with some other
CA.

Best,

 Bas


[1] https://letsencrypt.org/docs/rate-limits/

>
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls