Skip to content

Seeding of the random number generator #90

@theShmoo

Description

@theShmoo

We use the latest version of the Intel SGX SDK. (intel/linux-sgx: Intel SGX for Linux* (github.com)
Also we need to use OpenSSL in the Intel SGX Enclave. For that we use the up to date version of intel-sgx-ssl.

We recognized that you replace the rand_lib.c of OpenSSL with your own version: intel-sgx-ssl/rand_lib.c at master · intel/intel-sgx-ssl (github.com))

But your version does not provide any possibility to seed the random number generator!

In the lines #L847-L854
you see that the seed function pointer is just empty.

If you then call RAND_seed just nothing happens! Which is extremely dangerous, if we would not have looked at your source code, we would have never detected this problem! We need to seed the random number generator with numbers provided by a Hardware Security Module as a requirement.

What do you suggest? Why is this not implemented? Is there another way to seed?

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