I am currently reading the Tor Spec (and other Tor-related technical documents) and have some questions about RSA keys. I can't understand why the "connection key" is used to establish the TLS connection. Which key is used to sign the certificate and which key is present inside the certificate? If the "identity key" is used to sign, what is the "connection key" for? I've been looking for this information for weeks, but I can't find anything.
Thanks for your help! :)
These are 1024-bit RSA keys:
- A long-term signing-only "Identity key" used to sign documents and certificates, and used to establish relay identity.
- A medium-term TAP "Onion key" used to decrypt onion skins when accepting circuit extend attempts. (See 5.1.) Old keys MUST be accepted for a while after they are no longer advertised. Because of this, relays MUST retain old keys for a while after they're rotated. (See "onion key lifetime parameters" in dir-spec.txt.)
- A short-term "Connection key" used to negotiate TLS connections. Tor implementations MAY rotate this key as often as they like, and SHOULD rotate this key at least once a day.