Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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