Skip to content

Support entropy source for targets without TRNG H/W #11680

@ccli8

Description

@ccli8

Description

This issue is created for (Nuvoton) targets that don't have TRNG H/W but still want to support mbedtls and Pelion application.

  1. For Nuvoton targets like below, they have PRNG H/W but no TRNG H/W. Could come out with an acceptable solution to implementing TRNG HAL with PRNG H/W, or ADC+PRNG? If the criteria requires real TRNG H/W, then PRNG H/W gets of no use. It's a pity.

    • NUMAKER_PFM_NUC472
    • NUMAKER_PFM_M487
    • NUMAKER_IOT_M487
  2. Discard TRNG and go NV seed (MBEDTLS_ENTROPY_NV_SEED). See that:

    1. For PSA targets, MBEDTLS_ENTROPY_NV_SEED, MBEDTLS_PSA_INJECT_ENTROPY, MBEDTLS_PSA_CRYPTO_C, MBEDTLS_PSA_CRYPTO_STORAGE_C are necessary. PSA ITS is implemented with KVStore on secure side.
    2. For non-PSA targets (like NUC472/M487), besides above, MBEDTLS_PSA_ITS_FILE_C and MBEDTLS_FS_IO are also needed. With MBEDTLS_PSA_ITS_FILE_C, PSA ITS is emulated over files, but the files are not protected. With MBEDTLS_FS_IO, mbedtls library doesn't compile. I guess on mbed-os, mbedtls with file system access is not supported yet. To go NV seed, could PSA ITS implement with KVStore just like on PSA targets?

Related PR

Continuation of #11176 (comment)

Issue request type

[x] Question
[ ] Enhancement
[ ] Bug

@yanesca @kjbracey-arm @cyliangtw

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions