random 4






RANDOM(4) Podręcznik Programisty Linuxa RANDOM(4)


NAZWA
random, urandom - urządzenia źródłowe liczb losowych jądra

OPIS
Specjalne urządzenia znakowe /dev/random i /dev/urandom
(obecne od Linuxa 1.3.30) są interfejsem do generatora
liczb losowych wbudowanego w jądro. Plik /dev/random ma
główny numer urządzenia 1 i poboczny numer 8. Plik
/dev/urandom ma główny numer urządzenia 1 i poboczny numer
9.

Generator liczb losowych zbiera szum środowiskowy ze
sterowników urządzeń i innych źródeł do puli losowej. Gen
erator przechowuje również estymowaną liczbę bitów szumu w
puli losowej. Z owej puli tworzone są liczby losowe.

W trakcie odczytu, urządzenie /dev/random będzie zwracać
losowe bajty, które znajdują się wśród estymowanej liczby
bitów szumu w puli. /dev/random nadaje się najlepiej do
zastosowań, w których potrzebna jest losowość bardzo
wysokiej jakości, jak np. jednorazowa maska lub gen
erowanie kluczy. Jeśli pula losowa jest pusta, odczyt z
/dev/random będzie wstrzymany do czasu zebrania
dodatkowego szumu środowiskowego.

Odczyt z urządzenia /dev/urandom zwróci tyle bajtów, ile
zażądano. W efekcie, jeśli nie ma wystarczającego chaosu
w puli losowej, zwracane wartości są teoretycznie narażone
na atak kryptograficzny w stosunku do algorytmów wyko
rzystywanych przez sterownik. Wiedza na ten temat nie jest
dostępna w obecnych nie zastrzeżonych publikacjach, ale
istnieje teoretyczna możliwość przeprowadzenia takiego
ataku. Jeśli jest to problemem w przypadku twojego pro
gramu, użyj /dev/random.

KONFIGURACJA
Jeśli nie masz w systemie plików /dev/random i /dev/uran
dom, możesz je stworzyć następującymi poleceniami:

mknod -m 644 /dev/random c 1 8
mknod -m 644 /dev/urandom c 1 9
chown root.root /dev/random /dev/urandom

Gdy Linux uruchamiany jest przy niewielkim udziale opera
tora, pula losowa może być w dość przewidywalnym stanie.
Faktyczna ilość szumu w puli losowej jest wówczas poniżej
ilości szacowanej. Aby przeciwdziałać temu efektowi,
pomocne jest zapamiętywanie informacji o puli losowej
pomiędzy kolejnymi uruchomieniami systemu. Aby działo się
to automatycznie, dodaj następujące wiersze do stosownych
skryptów, uruchamianych przy starcie komputera:


echo "Inicjalizuję generator liczb losowych w jądrze..."



Linux 1 sierpnia 1997 1





RANDOM(4) Podręcznik Programisty Linuxa RANDOM(4)


# Inicjalizacja generatora liczb losowy w jądrze za pomocą
# losowych danych pobranych przy poprzednim zamknięciu systemu.
# Ładujemy, a następnie pobieramy 512 bajtów, jest to bowiem
# rozmiar puli losowej.
if [ -f /var/random-seed ]; then
cat /var/random-seed >/dev/urandom
fi
dd if=/dev/urandom of=/var/random-seed count=1

Dodaj również następujące wiersze do stosownego skryptu,
który jest uruchamiany przy wyłączaniu komputera:

# Przechowanie losowych danych pomiędzy wyłączeniem a wyłą-
# czeniem komputera. Jest to przydatne dla generatora liczb
# losowych. Zapisujemy 512 bajtów, jest to bowiem rozmiar
# puli losowej generatora.
echo "Zachowuję dane losowe..."
dd if=/dev/urandom of=/var/random-seed count=1

PLIKI
/dev/random
/dev/urandom

AUTOR
Generator liczb losowych w jądrze został napisany przez
Theodore Ts'o (tytso@athena.mit.edu).

PATRZ RÓWNIEŻ
mknod(1)
RFC 1750, "Zalecenia dot. bezpieczeństwa losowości"



























Linux 1 sierpnia 1997 2





Wyszukiwarka

Podobne podstrony:
Random?ts of Kindness
random
random jokes
random page
random sample
module random
randomsamatch
random?cess iterator
random number
random name
randomsamatch
Uniform Random Number
Random
randomiz
random place
randomSeed

więcej podobnych podstron