random

Autres langues

Langue: ru

Autres versions - même langue

Version: 1 Á×ÇÕÓÔÁ 1997 (openSuse - 09/10/07)

Section: 4 (Pilotes et protocoles réseau)

éíñ

random, urandom - ÕÓÔÒÏÊÓÔ×Á ÇÅÎÅÒÁÔÏÒÏ× ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ, ×ÓÔÒÏÅÎÎÙÈ × ÑÄÒÏ

ïðéóáîéå

óÐÅÃÉÁÌØÎÙÅ ÓÉÍ×ÏÌØÎÙÅ ÆÁÊÌÙ /dev/random É /dev/urandom (ÉÍÅÀÔÓÑ ÎÁÞÉÎÁÑ Ó Linux 1.3.30) ÐÒÅÄÏÓÔÁ×ÌÑÀÔ ÉÎÔÅÒÆÅÊÓ Ë ÇÅÎÅÒÁÔÏÒÕ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ, ×ÓÔÒÏÅÎÎÏÍÕ × ÑÄÒÏ. æÁÊÌÁ /dev/random ÉÍÅÅÔ ÓÔÁÒÛÉÊ ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á~1, É ÍÌÁÄÛÉÊ ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á~8. æÁÊÌ /dev/urandom ÉÍÅÅÔ ÓÔÁÒÛÉÊ ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á~1 É ÍÌÁÄÛÉÊ ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á~9.

çÅÎÅÒÁÔÏÒ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ ÓÏÂÉÒÁÅÔ ÏËÒÕÖÁÀÝÉÊ ÛÕÍ Ó ÄÒÁÊ×ÅÒÏ× ÕÓÔÒÏÊÓÔ× É ÉÚ ÄÒÕÇÉÈ ÉÓÔÏÞÎÉËÏ× × ÐÕÌ ÜÎÔÒÏÐÉÉ. çÅÎÅÒÁÔÏÒ ÔÁËÖÅ ÐÏÓÔÏÑÎÎÏ ÏÃÅÎÉ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÂÉÔ ÛÕÍÁ × ÐÕÌÅ ÜÎÔÒÏÐÉÉ. éÍÅÎÎÏ Ó ÐÏÍÏÝØÀ ÜÔÏÇÏ ÐÕÌÁ ÓÏÚÄÁÀÔÓÑ ÓÌÕÞÁÊÎÙÅ ÞÉÓÌÁ.

ðÒÉ ÞÔÅÎÉÉ ÕÓÔÒÏÊÓÔ×Ï /dev/random ×ÏÚ×ÒÁÝÁÅÔ ÅÄÉÎÉÞÎÙÅ ÓÌÕÞÁÊÎÙÅ ÂÁÊÔÙ, ËÏÌÉÞÅÓÔ×Ï ÂÉÔÏ× ÛÕÍÁ × ËÏÔÏÒÙÈ ÒÁ×ÎÏ ËÏÌÉÞÅÓÔ×Õ ÂÉÔ ÛÕÍÁ × ÐÕÌÅ ÜÎÔÒÏÐÉÉ. /dev/random ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ, ÅÓÌÉ ÔÒÅÂÕÅÔÓÑ ×ÙÓÏËÉÊ ËÏÜÆÆÉÃÉÅÎÔ ÓÌÕÞÁÊÎÏÓÔÉ, ÎÁÐÒÉÍÅÒ, ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÄÎÏÒÁÚÏ×ÏÊ ÛÉÆÒÏ×ËÉ (one-time pad) ÉÌÉ ÐÒÉ ÇÅÎÅÒÁÃÉÉ ËÌÀÞÁ. åÓÌÉ ÐÕÌ ÜÎÔÒÏÐÉÉ ÐÕÓÔ, ÐÏÐÙÔËÁ ÞÔÅÎÉÑ /dev/random ÐÒÉ×ÅÄ£Ô Ë ÚÁÄÅÒÖËÅ, ÐÏËÁ ÎÅ ÂÕÄÅÔ ÓÏÂÒÁÎ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÏËÒÕÖÁÀÝÉÊ ÛÕÍ.

ðÒÉ ÞÔÅÎÉÉ ÕÓÔÒÏÊÓÔ×Ï /dev/urandom ×ÏÚ×ÒÁÔÉÔ ÓÔÏÌØËÏ ÂÁÊÔÏ×, ÓËÏÌØËÏ ÂÙÌÏ ÚÁÐÒÏÛÅÎÏ. ëÁË ÒÅÚÕÌØÔÁÔ, ÅÓÌÉ × ÐÕÌÅ ÎÅÄÏÓÔÁÔÏÞÎÁÑ ÜÎÔÒÏÐÉÑ, ÔÏ ×ÏÚ×ÒÁÝ£ÎÎÙÅ ÚÎÁÞÅÎÉÑ ÔÅÏÒÅÔÉÞÅÓËÉ ÎÅÓÔÏÊËÉ Ë ËÒÉÐÔÏÇÒÁÆÉÞÅÓËÏÊ ÁÔÁËÅ ÎÁ ÁÌÇÏÒÉÔÍÙ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÒÁÊ×ÅÒÏÍ. ï ÔÏÍ, ËÁË ÜÔÏ ÓÄÅÌÁÔØ, ÎÅ ÓËÁÚÁÎÏ × ÓÏ×ÒÅÍÅÎÎÏÊ ÎÅÓÅËÒÅÔÎÏÊ ÌÉÔÅÒÁÔÕÒÅ, ÎÏ ÔÅÏÒÅÔÉÞÅÓËÉ ×ÏÚÍÏÖÎÏ, ÞÔÏ ÔÁËÁÑ ÁÔÁËÁ ÍÏÖÅÔ ÓÕÝÅÓÔ×Ï×ÁÔØ. åÓÌÉ ÜÔÏ ×ÁÖÎÏ ÄÌÑ ×ÁÛÅÇÏ ÐÒÉÌÏÖÅÎÉÑ, ÉÓÐÏÌØÚÕÊÔÅ ÌÕÞÛÅ /dev/random.

ëïîæéçõòéòï÷áîéå

åÓÌÉ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ ÅÝ£ ÎÅ ÓÏÚÄÁÎÙ /dev/random É /dev/urandom, ÔÏ ÉÈ ÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÌÅÄÕÀÝÉÍÉ ËÏÍÁÎÄÁÍÉ:

        mknod -m 644 /dev/random c 1 8

        mknod -m 644 /dev/urandom c 1 9

        chown root:root /dev/random /dev/urandom


  ëÏÇÄÁ Linux-ÓÉÓÔÅÍÁ ÚÁÐÕÓËÁÅÔÓÑ ÂÅÚ ÕÞÁÓÔÉÑ ÞÅÌÏ×ÅËÁ, ÐÕÌ ÜÎÔÒÏÐÉÉ ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ × ÄÏ×ÏÌØÎÏ ÐÒÅÄÓËÁÚÕÅÍÏÍ ÓÏÓÔÏÑÎÉÉ. üÔÏ ÓÎÉÖÁÅÔ ÚÎÁÞÉÍÙÊ ÏÂßÅÍ ÛÕÍÁ × ÐÕÌÅ ÜÎÔÒÏÐÉÉ ÎÉÖÅ ÏÃÅÎÉ×ÁÅÍÏÇÏ. äÌÑ ÐÒÅÏÄÏÌÅÎÉÑ ÜÔÏÇÏ ÜÆÆÅËÔÁ ÉÎÆÏÒÍÁÃÉÑ × ÐÕÌÅ ÜÎÔÒÏÐÉÉ ÓÏÈÒÁÎÑÅÔÓÑ ×Ï ×ÒÅÍÑ ×ÙËÌÀÞÅÎÉÑ É ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ×Ï ×ÒÅÍÑ ÚÁÐÕÓËÁ ÓÉÓÔÅÍÙ. äÌÑ ÜÔÏÇÏ ÄÏÂÁ×ØÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ÓËÒÉÐÔ, ËÏÔÏÒÙÊ ×ÙÐÏÌÎÑÅÔÓÑ ÐÒÉ ÚÁÐÕÓËÅ Linux ÓÉÓÔÅÍÙ:

        echo "Initializing kernel random number generator..."

        # éÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÇÅÎÅÒÁÔÏÒ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ ÑÄÒÁ ÚÎÁÞÅÎÉÑÍÉ 

        # ÐÏÓÌÅÄÎÅÇÏ ×ÙËÌÀÞÅÎÉÑ (ÉÌÉ ÚÁÐÕÓËÁ ÓÉÓÔÅÍÙ).  úÁÇÒÕÚÉÔØ É 

        # ÚÁÔÅÍ ÓÏÈÒÁÎÉÔØ 512 ÂÁÊÔ, ËÏÔÏÒÙÅ ÓÏÓÔÁ×ÌÑÀÔ ÐÕÌ ÜÎÔÒÏÐÉÉ.

        if [ -f /var/random-seed ]; then

                cat /var/random-seed >/dev/urandom

        fi

        dd if=/dev/urandom of=/var/random-seed count=1

ôÁËÖÅ ÄÏÂÁ×ØÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ÓËÒÉÐÔ, ËÏÔÏÒÙÊ ×ÙÐÏÌÎÑÅÔÓÑ ÐÒÉ ÚÁ×ÅÒÛÅÎÉÉ ÒÁÂÏÔÙ Linux ÓÉÓÔÅÍÙ:
 


        # óÏÈÒÁÎÉÔØ ÉÓÔÏÞÎÉË ÓÌÕÞÁÊÎÏÓÔÉ ÄÌÑ ÇÅÎÅÒÁÔÏÒÁ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ  

        # ÐÒÉ ÚÁ×ÅÒÛÅÎÉÉ ÒÁÂÏÔÙ.  óÏÈÒÁÎÉÔØ 512 ÂÁÊÔ, ËÏÔÏÒÙÅ ÓÏÓÔÁ×ÌÑÀÔ 

        # ÐÕÌ ÜÎÔÒÏÐÉÉ ÄÌÑ ÇÅÎÅÒÁÔÏÒÁ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ.

        echo "Saving random seed..."

        dd if=/dev/urandom of=/var/random-seed count=1

æáêìù

/dev/random
/dev/urandom

á÷ôïò

çÅÎÅÒÁÔÏÒ ÓÌÕÞÁÊÎÙÈ ÞÉÓÅÌ ÄÌÑ ÑÄÒÁ ÎÁÐÉÓÁÌ Theodore Ts'o (tytso@athena.mit.edu).

óíïôòé ôáëöå

mknod (1)
RFC 1750, "Randomness Recommendations for Security"