Автор Тема: /dev/random генериране, базирано на RX/TX мрежов трафик  (Прочетена 2163 пъти)

programings

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Arch Linux, BunsenLabs Linux, FreeBSD
  • Window Manager: XFCE, MATE, Openbox
    • Профил
Здравейте!

Имам един по-деликатен въпрос. Става въпрос, че искам да накарам /dev/random да генерира произволности, базирани на RX/TX мрежовият трафик на съотвената машина.
Например, когато постъпи пакет или излезе такъв от мрежовият адаптер, то това да се отразява на избора. Търсих доста дали такава информация се съхранява в системата, както се съхранява буфера на мишката (/dev/input/mice), и може да бъде използван от /dev/random за генериране, но не намерих.
В краен случай може би ще се опре до C алгоритъм.

Някой има ли някаква идея?
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Entropy pool-а на /dev/random се "захранва" и от мрежовия трафик. По-скоро от прекъсването на мрежовия адаптер, което се вдига като пристигне frame за обработване.
Активен

"Knowledge is power" - France is Bacon

programings

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Arch Linux, BunsenLabs Linux, FreeBSD
  • Window Manager: XFCE, MATE, Openbox
    • Профил
Да, това ми е ясно, но въпросът е как може да се използва само този захранващ източник, а другите да се изключат.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Не виждам причина да го правиш, но предполагам единственият вариант е да бутнеш kernel сорса и да го ребилднеш. Не мисля, че има каквато и да е run-time/build-time конфигурационна опция за това.
Активен

"Knowledge is power" - France is Bacon

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Да, това ми е ясно, но въпросът е как може да се използва само този захранващ източник, а другите да се изключат.
Това само ще увеличи квазитета на случайните числа. Наистина ли искаш това? И каква е крайната цел?
Активен

0x2B|~0x2B

programings

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Arch Linux, BunsenLabs Linux, FreeBSD
  • Window Manager: XFCE, MATE, Openbox
    • Профил
Няма крайна цел. Просто експериментирам. Интересен ми е този инструмент в най-малките му детайли.

Според мен произволните числа, базирани само на мрежовият трафик ще са далеч по-произволни от тези, които са съставени с използване и на другите източници, тъй като мрежовият адаптер е един постоянен приемо-предавател на пакети, което си е непредсказуем процес, и може да бъде доста добър източник на произволности.

Наистина ли няма друг начин, освен да се редактира ядрото?
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Няма крайна цел. Просто експериментирам. Интересен ми е този инструмент в най-малките му детайли.

Според мен произволните числа, базирани само на мрежовият трафик ще са далеч по-произволни от тези, които са съставени с използване и на другите източници, тъй като мрежовият адаптер е един постоянен приемо-предавател на пакети, което си е непредсказуем процес, и може да бъде доста добър източник на произволности.

Наистина ли няма друг начин, освен да се редактира ядрото?
Не мисля че има друг начин освен прекомпилиране
И си мисля че именно многото източници внасят по-голям елемент на случайност, иначе генератора става уязвим за времеви атаки (хипотетично)
Активен

0x2B|~0x2B

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Цитат
Няма крайна цел. Просто експериментирам. Интересен ми е този инструмент в най-малките му детайли.

Според мен произволните числа, базирани само на мрежовият трафик ще са далеч по-произволни от тези, които са съставени с използване и на другите източници, тъй като мрежовият адаптер е един постоянен приемо-предавател на пакети, което си е непредсказуем процес, и може да бъде доста добър източник на произволности.

Наистина ли няма друг начин, освен да се редактира ядрото?

О, не. Представи си че имаш "атакуващ" намиращ се в същият ethernet сегмент, който може да ти праща каквито си иска, колкото си иска ethernet фреймове. При положение че няма други източници на ентропия, ще влияе доста по-силно на случайните числа, отколкото ако ги имаше. Да не забравяме, че той може и да ARP poison-ва останалите машини в етернет сегмента и така ефективно да те "отреже" от рутера ти и да спреш да получаваш друг трафик освен този на атакуващият.
« Последна редакция: Dec 26, 2012, 19:03 от gat3way »
Активен

"Knowledge is power" - France is Bacon

programings

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Arch Linux, BunsenLabs Linux, FreeBSD
  • Window Manager: XFCE, MATE, Openbox
    • Профил
Наистина, прав си. Не бях помислил за това.  :)

Благодаря ви за отговорите!

А някъде може ли да бъде намерен списък с всички източници, които използва /dev/random ?
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Предполагам не освен сорса на ядрото. Наскоро ми попадна една много хубава статия по въпроса обаче, тя още си е на главната страница на lwn:

http://lwn.net/Articles/525459/
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
random URL към wget
Общ форум
FuckBTK 8 2639 Последна публикация Sep 08, 2005, 23:30
от