Posted
Filed under Computer/Linux

Redhat 5.1에서 kernel 및 다른것을 컴파일 할 때
 
rpm 컴파일시 아래처럼 뜨는경우

gpg: Generating a package signing key
  .++++++++++++++++++++...+++++..++++++++++++++++++++++++++++++++++++++++++++++++
  +++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++..>+++++...+++++

  Not enough random bytes available.  Please do some other work to give
  the OS a chance to collect more entropy! (Need 123 more bytes)

  gpg: Interrupt caught ... exiting


이런경우에는 random bytes을 충분히 사용할수 없어 생기는 증상이다.
이런때는 다음 명령어를 실행해주면 다시 잘된다.

rngd -r /dev/urandom

만약에 rngd가 없는경우에는 yum으로 인스톨을 시켜준다.

yum install rng-utils

redhat에는 rngd tool이 있지만 suse에서는 없다.

/dev/random 과 /dev/urandom은 리눅스에서 제공하는 난수 발생기의 한 종류로서 방식은 IO 디바이스 드라이버에서 발생하는 입력 신호의 노이즈를 게더링 하여 비트수를 연산하여 난수를 발생시킨다.  여기서 random은 엔트로피가 충분해져야만 난수가 발생되는것이고 urandom은 엔트로피가 충분하지 않아도 난수를 발행시킨다. 그래서 random device를 사용하면 느린 경향이 있지만 충분히 좋은 난수를 발생하므로 이 난수를 이용하여 보안 키를 만들경우 보안에 더욱더 강하다.

서버같은경우에는 PC와 다르게 키보드, 마우스 등과 같은 I/O가 별로 없기 때문에 이정수준 이상의 앤트로피 fool을 만드는데 시간이 좀 많이 걸리는 경향이 있다고 본다.

이 device를이용하여 난수 읽는경우
open("/dev/random", O_RDONLY) = 28
read(28, 0x37ef8824, 4) = ...
와 같이 한다.

2008/10/14 20:06 2008/10/14 20:06
[로그인][오픈아이디란?]