draft-ietf-acme-onion
IETF 117, Monday 24th of July 2023
Fedi: @q@glauca.space
Email: q@as207960.net
onion-csr-01
343-rend-caa
Define extensions to ACME to automate the issuance of X.509 certificates for Tor hidden services in line with the accepted methods in the CA/BF BR.
Any method not accepted by the CA/BF.
{
"type": "dns",
"value": "bbcweb3hytmz...rad.onion"
}
Clients can be oblivious to the fact that the identifier is a Tor hidden service with "http-01" or "tls-alpn-01" validation methods.
onion-csr-01
Validation MethodImplements CA/BF BR § B.2.b
Clients prove control over the .onion domain by signing a CSR with the private key of the .onion domain.
Fetched with the service's blinded public key
hs-descriptor 3
descriptor-lifetime ...
descriptor-signing-key-cert
-----BEGIN ED25519 CERT-----
...
-----END ED25519 CERT-----
revision-counter ...
superencrypted
-----BEGIN MESSAGE-----
...
-----END MESSAGE-----
Encrypted with the service's (non-blinded) public key
desc-auth-type x25519
desc-auth-ephemeral-key ...
auth-client ...
auth-client ...
auth-client ...
encrypted
-----BEGIN MESSAGE----
...
-----END MESSAGE-----
Encrypted with data from auth-client
create2-formats 2
introduction-point ...
onion-key ntor ...
auth-key
-----BEGIN ED25519 CERT-----
...
-----END ED25519 CERT-----
enc-key ntor ...
enc-key-cert
-----BEGIN ED25519 CERT-----
...
-----END ED25519 CERT-----
introduction-point ...
Tor allows hidden services to restrict which clients can connect using client authentication.
New authKey
field to allow hidden service operators to allow the CA's Tor client
to read their hidden service descriptor to issue certificates.
.onion domains aren't in the DNS, so standard CAA records can't be used. Instead, CAA records are encoded in the BIND zone file format the second layer hidden service descriptor.
create2-formats 2
single-onion-service
caa 128 issue "test.acmeforonions.org;validationmethods=onion-csr-01"
caa 0 iodef "mailto:security@example.com"
introduction-point AwAGsAk5n...
New field in the first layer hiiden service descriptor to signal that there are CAA records in the second layer descriptor.
desc-auth-type x25519
caa-critical
auth-client ...
Slide deck available at magicalcodewit.ch/ietf117-slides/
Fedi: @q@glauca.space
Email: q@as207960.net