-
Notifications
You must be signed in to change notification settings - Fork 3k
Feature: device key HAL addition #6267
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
Feature: device key HAL addition #6267
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Do you mind implementing support for another board we usually provide 2 reference implementations.
The DeviceKey consists of a secret and unique value per board instance, containing 128 or 256 bits. | ||
There are several possible sources for this data, the preferred one is via this HAL API. | ||
If this HAL API is not implemented and the device supports TRNG, mbedos will generate a DeviceKey the first time it is requested, using the TRNG, and save the value in the internal memory using NVStore. | ||
As a last option, if none of the above is available, the DeviceKey can still be injected from outside the board and saved in NVStore using a dedicated API |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should mention that this value should be readable from outside or there shouldn't be a way to guess it someway (like mac generated base of it).
|
||
utest::v1::status_t greentea_test_setup(const size_t number_of_cases) | ||
{ | ||
GREENTEA_SETUP(20, "default_auto"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need 20s timeout? It looks like it could be 1-2sek
|
||
##### Undefined behavior | ||
- There should not be any undefined behavior | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mind explicitly calling out dependencies, you can say none or actual presence of the identifier in hw.
@@ -0,0 +1,31 @@ | |||
### DeviceKey |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That will need to go to https://github.com/ARMmbed/Handbook
Let's close this, and reopen with an update. @yossi2le Thanks for the update info |
Description
DeviceKey is a mechanism that can be used as a root of trust for key derivation, and is one of the most fundamental elements in the implementation of security in a device.
Pull request type