Failure of true random number generator
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
}
}