Как определить, когда ключ энтропии перегружен?

10

У меня есть несколько энтропийных ключей с egd перед ними, а затем вся нагрузка сбалансирована haproxy. Затем у меня есть много клиентских машин, использующих IP-адрес haproxy в качестве сетевого источника энтропии. Я понятия не имею, сколько энтропии они запрашивают.

Ключи энтропии могут давать ограниченное количество пригодной для использования энтропии. Спецификации говорят о минимальной скорости около 30 килобит / сек. Насколько я вижу, у ключа энтропии нет способа узнать, сколько его запрашивают. Протокол EGD кажется довольно сложным, чтобы найти эту информацию. Клиенты могут запросить переменное количество энтропии, и они могут не получить ту же сумму.

Кто-нибудь нашел простой способ измерить, сколько запрашивается от ключа энтропии?

Было бы полезно знать, чтобы иметь возможность планировать, когда требуются дополнительные ключи, и выявлять клиентов haywire.

grifferz
источник
Что такое энтропийный ключ? Это аппаратный ГСЧ?
Юбер Карио
@HubertKario Да . Он производится Simtec Electronics в Великобритании.
Джеймс О'Горман

Ответы:

4

Единственное, что приходит на ум, - это попытаться измерить время отклика вашего энтропийного сервера (должно быть значительное увеличение задержки, если он не может справиться), или объединить /proc/sys/kernel/random/entropy_availи отслеживать, сколько энтропии у вас есть (я полагаю, который egdиспользует, /dev/randomа не аппаратное обеспечение напрямую).

Хьюберт Карио
источник
ekeyd-egd-linux напрямую обращается к оборудованию (и AFAIK может работать только таким образом). К сожалению, у меня нет доступа ко многим клиентам, поэтому я не могу сказать, сколько из них не получают запрашиваемую им энтропию. Я думаю, что я должен быть в состоянии запросить некоторую энтропию непосредственно у отдельного ключа и проверить, сколько времени потребуется для его предоставления, как вы предлагаете. Это должно дать мне некоторое представление о том, перегружен ли он, по крайней мере.
Grifferz
2

Похоже, что у исходного архива ekeydесть плагин munin для предоставления статистики ekey.

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

Я думаю, что мы оба знаем авторов устройства и программного обеспечения, поэтому, возможно, стоит подтолкнуть их. :-)

Джеймс О'Горман
источник
AFAIK, это только разоблачение того, что вы можете получить из того, ekeydctl statsчто simtec уже подтвердило, не скажет мне, что мне нужно знать - я уже спросил их. :( Мне было просто интересно, что делали другие.
grifferz
0

Пытаться:

dd if=/dev/random of=/dev/null bs=1K count=1M

Когда он закончится, ddсообщит о пропускной способности чтения, чтобы вы знали количество предоставленной энтропии. Вы можете запустить его на сервере (отсоединенном от клиентов) для измерения производства энтропии, а на клиентах - для определения того, сколько они получают.

Если вы убьете запущенный ddпроцесс с SIGUSR1сигналом, он сообщит о своей статистике ввода / вывода, поэтому вам не нужно ждать его завершения (см. man dd).

Кроме того, клиенты должны демонстрировать увеличение потребления полосы пропускания при загрузке из-за считывания энтропии с сервера (например, nethogsплюс netstat).

Luchostein
источник