On Fri, 19 Jun 2020, 'Toerless Eckert' wrote:

Michael Richardson was suggesting to include the cert of the TA into the
IKEv2 certificate exchange. This was rejected by Valery/Paul and the suggestion
was to use CERTREQ instead.

Normally, you do not include the TA itself, only intermediate root's and
the EE-cert. The CERTREQ contains the hashes of _all_ trust anchors
supported by that party, not just the one it is thinking of using right
now with the exchange in progress.

In my reading of CERTREQ, it would not help in this situation, because the
hash of an unknown TA does not progress the troubleshooting much as there is
in general no offline way to resolve it. In addition, that hash would
AFAIK already be available from the Signature of the cert (chain)
received from the peer.

Basically, in IKE_SA_INIT, before the IKE_AUTH and CERT payloads
exchange, you exchange CERTREQ. You basically give a somewhat anonymised
list of trust anchors you support. The initiator can loop through its
known TA's and if it matches one, pick the proper certificate if there
is one for that TA.

The reason sending hashes and not the root CA's is that it becomes very
easy to determine which CA's a particulat client supports. I know that
is elpful to troubleshooting, but it was deemed a security/privacy
issue.

CERTREQ seems to only help the peer to select
the right Cert (chain) to send back in case it has multiple, but not to
learn the peers TA details when there is no match. Pls correct me if i am wrong.

That is correct.

So i am tentatively adding the following text:

<t>CERTREQ MUST be used to indicate the ACP TA hashes. This helps the peer in 
selecting the ACP certificate in case it has certificates also from other TA. It is 
RECOMMENDED for IKEv2 to be set up such that it will only use the ACP certificate/TA when 
acting as a responder on the transport endpoints indicated in DULL GRASP for the 
ACP.</t>

I'm not sure how much of your protocol involves talking to different
parties that might have to install each others root CAs. Usually,
either everyone shares the same (private) root CA because the root CA
is an enterprise wide trust anchor, or if the connection is between
two enterprises that are independent, administrators use PSK because
neither one wants to trust a root CA maintained by the other.

So the problem you describe hardly happens. But I'm not familiar with
your uses cases.

Let me know if there is something wrong with this.

I would not say MUST. If both parties know they have the same root CA
installed, the IKEv2 protocol does not require you send that Root CA
hashed in a CERTREQ. SHOULD would be better here?

Nevertheless, this does not solve the original troubleshooting issue
Michael wanted to resolve. From what i figure i can only write
text that IKEv2 does not support this troubleshooting and that
instead this should be solved by adding diagnostics information,
such as the TA certificate to DULL GRASP (but that would be for
future work).

Let me know if you can think of a way to "legally" send the full
certificate of the TA during IKEv2 exchanges.

Nothing prevents you from including the root CA (TA) in the CERT
payload. It is perfectly valid. There is a privacy/security risk
of revealing the root your trust. But that's your risk to evaluate.

If you want to convey you are trusting many roots, then CERTREQ is
the better place. You dont want to send 150+ root CAs over IKE.
Presumbly, since you have 1 configured EE-cert to use for this
connection, it will chain back to one intermediate/root CA ? That's
the one you can just send as part of the CERT payload.

Paul

_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to