Subject: [Acme] Invalidation of authz after an account compromise

From: Jacob Hoffman-Andrews <[email-masked]>
Date: Mon, 30 Jan 2017 13:03:28 -0800

We've discussed in the past how a domain owner should recover from a
host compromise. I believe we came to a rough consensus that solving a
DV challenge should be sufficient authorization to invalidate extant
authorization on other accounts, and that we can consider each newly
validated authz to invalidate previous authzs for the same identifier.
I've written this up as a PR:

https://github.com/ietf-wg-acme/acme/pull/240

diff --git a/draft-ietf-acme-acme.md b/draft-ietf-acme-acme.md
index d2b1ca1..9ab10f2 100644
--- a/draft-ietf-acme-acme.md
+++ b/draft-ietf-acme-acme.md
@@ -1643,6 +1643,9 @@ for the identifier.  If the final state is
"valid", the server MUST add an
 "expires" field to the authorization.  When finalizing an authorization,
 the server MAY remove challenges other than the one that was completed. The
 server SHOULD NOT remove challenges with status "invalid".
+If the final state is "valid", the server SHOULD invalidate any other
+currently-valid authorizations for the same identifier. See
+{{security-considerations}} for reasoning.
 
 Usually, the validation process will take some time, so the client will
need to
 poll the authorization resource to see when it is finalized.  For
challenges
@@ -2688,6 +2691,23 @@ within their trusted network and use these
resolvers both for both CAA record
 lookups and all record lookups in furtherance of a challenge scheme (A,
AAAA,
 TXT, etc.).
 
+## Recovery From Host Compromise
+
+If a host is compromised, once the owner regains exclusive control of
the host,
+they will want to take steps to revoke any certificates the attacker
may have
+issued, and to ensure that the attacker cannot issue new certificates
for the
+affected hostnames.
+
+If the attacker gained access to the private key for an ACME account,
but has
+not yet changed the ACME account keypair, the proper owner can use the key
+rotation functionality to regain exclusive control of their ACME account.
+
+If the attacker did change the ACME account keypair, or if the attacker
created
+their own ACME account and authorized the hostname, the proper owner, after
+regaining control of the host, can authorize that hostname on their own
account
+(which should invalidate previous authorizations for that hostname),
and can use
+that authorization to revoke any certificates the attacker may have issued.
+
 # Acknowledgements
 
 In addition to the editors listed on the front page, this document has
benefited