Энтропия на виртуальных машинах

12

Как вы, наверное, знаете, генерировать энтропию на виртуальной машине не так просто, как на «обычном» ПК. Генерация gpg-ключа на виртуальной машине может занять некоторое время, даже с правильными инструментами.

Существует множество других криптографических функций, которые не настолько энтропийны, как gpg.

Можно ли сказать, что криптография менее безопасна на виртуальной машине?

dbanck
источник
1
Случайные числа с «реальной» машины на самом деле не случайны (если только у вас нет аппаратного генератора случайных чисел, которого у большинства нет). Все они псевдослучайные, и энтропия генерируется одинаково. Если он работает медленно на виртуальной машине, это замедляет ее платформа виртуализации (я бы рискнул предположить, что вы не используете гипервизор типа 1).
Крис С

Ответы:

6

Прежде всего, позвольте мне сказать, что я совсем не эксперт по безопасности.

Поскольку для создания ключей gpg используется /dev/randomгенератор случайных чисел, он так же безопасен на виртуальной машине, как и на реальной машине.
/dev/randomявляется блокирующим устройством и перестанет доставлять случайность сверх доступной суммы. Вы можете проверить доступную случайность по
cat /proc/sys/kernel/random/entropy_avail(должно быть около 2000 )

На виртуальной машине доступная случайность действительно ниже, чем на реальной машине, из-за отсутствия доступа к оборудованию.
Вы можете увеличить энтропию, например, применяя энтропийные ключи и / или переключаясь на не виртуализированный компьютер.

Есть хорошая статья о энтропии на виртуальных машинах. К сожалению, обе части статьи доступны только в кэше Google прямо сейчас.

Энтропия оказывает дальнейшее влияние на любое шифрование ssl / tls. Таким образом, использование /dev/urandomили любой не совсем случайный источник действительно влияет на безопасность ваших приложений.

С точки зрения надежности /dev/urandomпо сравнению с истинной случайностью;
я не могу дать вам достойный ответ, извините.

Для получения дополнительной информации по этой теме вы можете перейти на http://security.stackexchange.com и / или прочитать, например. эта почта

сть
источник
1
/dev/urandomиспользует криптографически безопасный PRNG (засеянный тем же пулом, что и /dev/random), поэтому проблем не должно быть, если в этом пуле достаточно начальной энтропии. Там может быть смысл посеять его из пула энтропии родительского компьютера.
Пауло Эберманн
3

Да, в большинстве случаев криптография менее безопасна на виртуальной машине, чем на «реальном» сервере.

Последний может по крайней мере собрать энтропию от некоторого фактического оборудования. Фактически, работа части HW - в большинстве случаев - связана с каким-то физическим явлением, которое всегда подвержено небольшим изменениям, случайным по всем показателям. Поскольку серверы обычно работают очень долго без сброса, результирующий энтропийный пул в конечном итоге будет достаточно качественным.

Виртуальные машины страдают от трех проблем.

  1. Аппаратное обеспечение, которое они видят, не является реальным, и поэтому на него практически не влияет какое-либо физическое явление. Они смогут собирать энтропию гораздо медленнее.
  2. Виртуальные машины сбрасываются гораздо чаще, чем реальные серверы, и они могут даже не успеть собрать достаточно энтропии (поэтому полезно сохранять текущее состояние энтропии при завершении работы и использовать его для подачи пула энтропии при перезапуске).
  3. В то время как реальный сервер может иметь некоторую возможность определить, когда он имеет дело с плохим пулом энтропии, виртуальная машина будет легче работать под впечатлением, что пул энтропии хорош (потому что он был собран из HW, но не зная, что HW является не реально), тогда как на самом деле это плохо.

Лучшее решение состоит в том, чтобы заставить виртуальную машину просто сдаться и понять, что HW видит плохой источник энтропии. Затем организуйте локальную сетевую службу для распространения высококачественной энтропии (см. Entropy Broker ). «Энтропийный сервер» может извлекать случайность из общего HW (в этом случае он должен работать в течение достаточного времени, и у него должна быть достойная ОС) или из конкретного крипто-HW (чип TPM, чип VIA Padlock и т. Д.).

Виртуальная машина, использующая такой сервис, может быть даже более безопасной (криптографически), чем «реальный» сервер, который только что загрузился.

SquareRootOfTwentyThree
источник