Overview
True random number generators generally have a limited
source of entropy and therefore can fail or block.
Consequences
- Availability: A program may crash or block if it
runs out of random numbers.
Exposure
period
- Requirements specification: Choose an operating
system which is aggressive and effective at generating
true random numbers.
- Implementation: This type of failure is a logical
flaw which can be exacerbated by a lack of or the misuse
of mitigating technologies.
Platform
Required
resources
Any
Severity
Medium
Likelihood
of
exploit
Low to Medium
Avoidance
and
mitigation
- Implementation: Rather than failing on a lack of
random numbers, it is often preferable to wait for more
numbers to be created.
Discussion
The rate at which true random numbers can be generated is
limited. It is important that one uses them only when they
are needed for security.
Examples
In C:
while (1){
if (connection){
if (hwRandom()){
//use the random bytes
}
else (hwRandom()) {
//cancel the program
}
}