Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data size optimization: Pledge excludes CA cert in DTLS handshake #239

Open
EskoDijk opened this issue Nov 2, 2022 · 3 comments
Open

Data size optimization: Pledge excludes CA cert in DTLS handshake #239

EskoDijk opened this issue Nov 2, 2022 · 3 comments
Labels
enhancement future Any topic that is postponed to a new draft/document or a future version

Comments

@EskoDijk
Copy link
Collaborator

EskoDijk commented Nov 2, 2022

One proposed optimization of (handshake) data size is the following:

  • Pledge excludes the (root) CA cert in the DTLS handshake, when initially connecting to the Registrar.
  • Excluding the root CA cert is a well-known method in the TLS world, see e.g. https://security.stackexchange.com/questions/65332/ssl-root-certificate-optional top answer. That's because the root CA cert will already sit in the trust store of the communication peer.
  • The assumption here is that either
    • if the Registrar is of the non-promiscuous type it will already have/store all relevant Manufacturer CA certificates in its trust store. No others will be allowed anyway.
    • if the Registrar is of the promiscuous type, receive the CA cert from the Pledge won't make a difference - it's a private root CA cert with no added value or added information that Registrar could use to base its decision on.
  • So, there's no need for the Pledge to send it. It will be identified by the AuthorityKeyIdentifier field in the Pledge IDevID and the Registrar can check this AKI against the items in its trust store.

This would save quite some data (100s of bytes).

For the particular case of a promiscuous Registrar that still wants to get more manufacturer info before allowing the Pledge on the network, it can connect via TLS to the MASA URI and it will get the full cert chain of the manufacturer, either public PKI or private PKI based. It can then decide whether to trust it or not.

@EskoDijk EskoDijk self-assigned this Nov 29, 2022
@EskoDijk
Copy link
Collaborator Author

@EskoDijk EskoDijk added enhancement help-wanted Issue needs help / input from others to progress. issue-for-wg Issue that needs to be taken to WG for discussion. labels Dec 13, 2022
@mcr mcr self-assigned this Dec 13, 2022
@EskoDijk
Copy link
Collaborator Author

Discussion was done in the ANIMA design team calls earlier:

  • cannot rely on TLS handshake to MASA to obtain the right CA certificate - per the BRSKI specifications, the type of authentication used on that TLS is independent of the CA that signed the IDevID certificate of the Pledge.
  • best approach is to add a MASA HTTP resource for obtaining all the root CA certificates associated to Pledges being under the authority of that MASA.
  • Re-use the EST resource "/cacerts" for this purpose seems easiest.

@EskoDijk
Copy link
Collaborator Author

Based on the PR text, it looks like this issue gives rise to some more complexity than originally anticipated. So I would propose to keep such work for the future.

For the present I-D we can either 1) not mention this topic at all; or 2) mention that a Manufacturer MAY build a Pledge that suppresses the root CA certificate for the IDevID DTLS handshake but that this only works if the Manufacturer has a business system in place to always deliver the correct IDevID root certs to each customer. (And how this is distributed: out of scope.)

@EskoDijk EskoDijk added future Any topic that is postponed to a new draft/document or a future version has-pull-request and removed help-wanted Issue needs help / input from others to progress. issue-for-wg Issue that needs to be taken to WG for discussion. labels Apr 25, 2023
@mcr mcr unassigned mcr and EskoDijk Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement future Any topic that is postponed to a new draft/document or a future version
Projects
None yet
2 participants