Use well vetted pseudo-random number generating algorithms with
adequate length seeds. Pseudo-random number generators can produce
predictable numbers if the generator is known and the seed can be
guessed. A 256-bit seed is a good starting point for producing a "random
enough" number.
Phases: Architecture and Design; Requirements
Strategy: Libraries or Frameworks
Use products or modules that conform to FIPS 140-2 [R.339.1] to avoid obvious entropy problems. Consult FIPS 140-2 Annex C ("Approved Random Number Generators").
Phase: Implementation
Consider a PRNG which re-seeds itself, as needed from a high quality
pseudo-random output, like hardware devices.