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

[group] Add salt to group key KDF #15155

Closed
turon opened this issue Feb 14, 2022 · 1 comment · Fixed by #15526 or #15911
Closed

[group] Add salt to group key KDF #15155

turon opened this issue Feb 14, 2022 · 1 comment · Fixed by #15526 or #15911
Assignees
Labels

Comments

@turon
Copy link
Contributor

turon commented Feb 14, 2022

Problem

If the same EpochKey is installed on two fabrics, there will be collisions with the messages.

Proposed Solution

Add a diversifier to the KDF salt for operational group key generation as being defined in:
https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/4910 (issue)
https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/4911 (PR)

This will make it extremely unlikely that the operational group key is the same on two fabrics even when the same epoch key input is used. Current proposal of passing CompressedFabricId as salt has 2^-64 chance of collisions. If folks want to lobby for 2^-128 chance of collisions (max key size output), we could pass RootPuclicKey || FabricID instead.

@bzbarsky-apple bzbarsky-apple added security spec Mismatch between spec and implementation crypto labels Feb 14, 2022
@andy31415 andy31415 added the V1.0 label Feb 22, 2022
@andy31415
Copy link
Contributor

V1.0 since we need to match spec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment