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

6.2.9 and CCM-8 #2485

Closed
randomstuff opened this issue Dec 22, 2024 · 16 comments
Closed

6.2.9 and CCM-8 #2485

randomstuff opened this issue Dec 22, 2024 · 16 comments
Labels
5) awaiting PR A proposal hs been accepted and reviewed and we are now waiting for a PR V6 _5.0 - prep This needs to be addressed to prepare 5.0

Comments

@randomstuff
Copy link
Contributor

Since #2482, 6.2.9 is:

6.2.9 [ADDED] Verify that all cryptographic primitives utilize a minimum of 128-bits of security based on the algorithm, key size, and configuration. For example, a 256-bit ECC key provides roughly 128 bits of security where RSA requires a 3072-bit key to achieve 128 bits of security.

CCM-8 is still listed in the approved algorithms. However, its authentication tag only has 64 bits of security and does not respect this minimum of 128-bits of security.

There seems to be a conflict between these. How should be fix this?

Possible options:

  • add some exception in 6.2.9 in order to allow CCM-8 in certain contexts ("unless some additional measure to prevent forgery of messages is used");
  • do not approve CCM-8.

I don't have a strong opinion on this and I don't know if CCM-8 is really used/useful nowadays. The safest choice seems to disapprove CCM-8. Unless/until someone come forwards with further input, I would suggest taking this approach.

See as well discussion in #2413 for more info about CCM-8.

@elarlang elarlang added 1) Discussion ongoing Issue is opened and assigned but no clear proposal yet _5.0 - prep This needs to be addressed to prepare 5.0 V6 labels Dec 23, 2024
@jmanico
Copy link
Member

jmanico commented Jan 1, 2025

Seems like getting rid of it is the right way to go.

@tghosth
Copy link
Collaborator

tghosth commented Jan 5, 2025

@randomstuff can you prepare a PR that captures the feedback from this issue and also #2143.

Does using the disclaimer from here help with this issue?
#2413 (comment)

It sounds like they did have a reason for including it so I would be cautious about reversing it.

@tghosth
Copy link
Collaborator

tghosth commented Jan 16, 2025

Ping @randomstuff :)

@randomstuff
Copy link
Contributor Author

Woops sorry, I'll do that!

By the way, I think you linked to the wrong issue in your previous comment :)

@tghosth tghosth added 5) awaiting PR A proposal hs been accepted and reviewed and we are now waiting for a PR and removed 1) Discussion ongoing Issue is opened and assigned but no clear proposal yet labels Jan 16, 2025
@randomstuff
Copy link
Contributor Author

@unprovable, any opinion on this?

@randomstuff
Copy link
Contributor Author

I searched https://clienttest.ssllabs.com:8443 and did not find a client with support for this (is it supported by the TLS client test?). I made a PR to disapprove it. I believe it won't be missed.

If anyone thinks it should be approved, please comment here.

@tghosth
Copy link
Collaborator

tghosth commented Jan 19, 2025

I don't think I did link to the wrong comment. In the comment I linked, @unprovable gives a reason why they included CCM-8. I don't really want to just straight out delete it and not take that into account.

@randomstuff
Copy link
Contributor Author

Woops sorry, indeed the link was correct :)

I tried to find any actual usage of CCM-8. This only thing I found is a draft “Comparison of CoAP Security Protocols”. I think CCM-8 is expected to be useful for very constrained environments (IoT with CoAP, 6LoWPAN?) but is not used for general (web) traffic.

Now we have several options:

  1. have some inconsistency between 6.2.9 and the list of approved modes of operations;
  2. add some form of exception in 6.2.9 (“As an exception, 64 bit MAC tags are allowed (eg. CCM-8) if no more than 128 messages can be accepted.”);
  3. mark CCM-8 as disallowed;
  4. remove any mention of CCM-8 🙈.

I would suggest solution (3) for consistency. If someone raises any issue with this, (2) would be an option.

@unprovable, any recommendation on that?

@unprovable
Copy link
Contributor

Hello! Apologies for delayed response time!

So, as much as I'd like to go with 4 (no mention) it is a NIST standard (NIST SP800-38) and so it really should be covered. They're updating that standard - public consultation ended last Sept (see the consultation page so likely this is all about to change anyway.

In light of this, and in light of the fact that "CCM-8 and co. come from 2007 and that was a long time ago" perhaps (3) (disallow CCM-8) is the best option.

Hope this is helpful! M.

@tghosth
Copy link
Collaborator

tghosth commented Jan 27, 2025

@randomstuff can you update the PR?

@unprovable
Copy link
Contributor

I think that might have to be a @danielcuthbert activity (I didn't make the original PR's, just heavily involved in the drafting our side). Apologies!

@tghosth
Copy link
Collaborator

tghosth commented Jan 27, 2025

I think that might have to be a @danielcuthbert activity (I didn't make the original PR's, just heavily involved in the drafting our side). Apologies!

We've had a few instances where @randomstuff has prepared PRs for @danielcuthbert to review so I think it is ok

@randomstuff
Copy link
Contributor Author

I have updated the PR to include this note:

When using CCM-8, the MAC tag only has 64 bits of security. This does not conform to requirement 6.2.9 which requires at least 128 bits of security.

Is that OK for you? @unprovable @danielcuthbert

@jmanico
Copy link
Member

jmanico commented Jan 28, 2025 via email

@unprovable
Copy link
Contributor

@tghosth I couldn't, but all the folk you mention have 'contributor'. @randomstuff I think this is a good thing to note on the PR.

@tghosth
Copy link
Collaborator

tghosth commented Jan 29, 2025

Merged in #2534

@tghosth tghosth closed this as completed Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
5) awaiting PR A proposal hs been accepted and reviewed and we are now waiting for a PR V6 _5.0 - prep This needs to be addressed to prepare 5.0
Projects
None yet
Development

No branches or pull requests

5 participants