randomBytes vs pseudoRandomBytes

In welchen Situationen ist es akzeptabel, die (aus Sicht der Sicherheit) zu verwenden Knoten crypto.pseudoRandomBytes anstelle des kryptographisch starke crypto.randomBytes?

ich gehe davon aus pseudoRandomBytes eine bessere Leistung auf Kosten des seins vorhersehbarer (falsche), aber die docs haben nicht wirklich viel darüber zu sagen, wie weniger stark ist.

Speziell Frage ich mich, ob ich ' m ok mit pseudoRandomBytes zu generieren, die eine CSRF-token.

  • Ich weiß nicht, wie random es wirklich ist, aber ist die Leistung von crypto.randomBytes ein Problem in den ersten Platz?
  • Wenn Sie einen Stapel von CSRF-Token und - crypto.randomBytes zu teuer ist, könnte man vielleicht eine einzelne crypto.randomBytes Betrieb und n crypto.pseudoRandomBytes Operationen. Dann XOR jede der letzteren mit den ersteren und diese zu nutzen. Ich bin kein crypto-Experte, und ich kann nicht bürgen für die Sicherheit einer solchen Methode. Es ist wahrscheinlich besser, als mit allen pseudoRandom aber schlimmer als mit allen crypto.random.
  • Wir alle wissen, die Datenbank ist fast immer ein Engpass. Unter der Annahme, dass pseudoRandomBytes sicher ist, bezweifle ich, Sie würden auch sehen, den Unterschied in der Leistung. Das ist nicht die richtige Richtung für die Optimierung. Zeitverschwendung imho. Verwenden Sie einfach randomBytes.
  • Ich habe Probleme mit crypto.randomBytes in VM-Umgebungen, wo es nicht viel Entropie zur Verfügung, es hängt viel mehr als db
  • Naja, das problem nicht existiert, bis es vorhanden ist (und es ist sehr unwahrscheinlich). Auch ist es viel einfacher und schneller zu kaufen, ein hardware-Zufallszahlen-generator, zum Beispiel Ivy-Bridge-CPU. Wir Leben in der XXI Jahrhunderts, nachdem alle.
InformationsquelleAutor josh3736 | 2013-08-08
Schreibe einen Kommentar