Яка правильна доступна ентропія в системах UNIX?


12

У мене є три питання, пов'язані з ентропією в системах UNIX:

  1. Я перевіряю ентропії на Linux з допомогою: cat /proc/sys/kernel/random/entropy_avail. Це стандартне місце з інформацією про доступну ентропію, визначене в POSIX?
  2. Яку правильну інформацію я маю очікувати? Я чув, що ентропія повинна бути рівною або більше 100 і що може виникнути проблема, якщо ентропія постійно нижче 100.
  3. Чи використовується ця ентропія /dev/randomчи вона також має щось спільне /dev/urandom?

Відповіді:


9

/dev/randomне стандартизовано. POSIX не забезпечує жодного способу генерування криптографічно захищених випадкових даних і не має поняття ентропії.

Розрахунок ентропії ядра Linux відповідає інформаційно-теоретичній моделі ентропії, яка не стосується практичного використання. Єдиний випадок, коли це актуально, - це новий пристрій, який ніколи не встигав накопичувати ентропію (сюди входять реальні дистрибутиви; встановлені системи зберігають свою ентропію від одного завантаження до іншого). Крім цієї ситуації, ентропії завжди достатньо, оскільки ентропія не вичерпує. Оскільки Linux /dev/randomблокує, коли думає, що йому недостатньо ентропії, використовуйте /dev/urandom, яка ніколи не блокує. Використання /dev/urandomкорисно для всього, включаючи генерацію криптографічних ключів (за винятком, як було сказано вище, на свіжозрізаному пристрої).

Підсумовуючи:

  1. Ні, це не стандартно.
  2. Вам все одно.
  3. Використовуйте/dev/urandom .

Багато, але не всі системи Unix мають /dev/urandomі /dev/random. Дивіться сторінку Вікіпедії для більш детальної дискусії.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.