풀 / dev / random의 최대 크기를 늘리는 방법


4

현재 최대 크기는 4096 바이트입니다.

$ cat /proc/sys/kernel/random/poolsize           
4096

많은 PGP 키를 생성해야하며 보안상의 이유로 / dev / random을 사용해야합니다.

이 풀 크기에 대한 커널 플래그를 찾고 있었지만 아무것도 찾지 못했습니다.


1
바이트가 아닌 4096 비트. wiki.alpinelinux.org/wiki/Entropy_and_randomness
Felipe

답변:


1

최근 커널 (2.6 이상)에서 풀의 크기를 변경하려면 구성이 하드 코딩되므로 커널을 패치하고 다시 컴파일해야합니다.

https://github.com/torvalds/linux/blob/27db64f65f1be2f2ee741a1bf20d8d13d62c167f/drivers/char/random.c#L284-L287


필수 사항 : 엔트로피 풀의 크기는 실제로 사용 사례와 관련이 없습니다. 대신 수영장이 얼마나 빨리 보충되는지가 훨씬 중요합니다. 그러나 엔트로피 풀의 크기를 변경해도 풀이 얼마나 빨리 보충되는지에 영향을 미치지 않으므로 풀의 크기를 늘리는 데 별다른 의미가 없습니다.

당신 이 말한 것처럼 실제로 실제로 많은 키 를 생성 해야하는 경우 전용 하드웨어 RNG를 가져와야 /dev/random합니다. 좋은 선택이 아닐 수 있습니다.

또한 당신이 그렇게하지 않았다면, https://www.2uo.de/myths-about-urandom/ 을 읽어보십시오 .100 % 정확하지는 않지만 차이점 (또는 부족)에 대한 통찰력을 제공합니다 사이 /dev/random/dev/urandom.


-1

쓰기 가능한 커널 매개 변수를 설정하려면 sysctl을 대화식으로 사용할 수 있습니다.

sysctl kernel.random.poolsize=8192

또는 값을 / proc 파일 시스템에 반영 할 수 있습니다.

echo 8192 > /proc/sys/kernel/random/poolsize

부팅 후 변경 사항을 적용하려면 라인을 추가 할 수 있습니다 /etc/sysctl.conf(부팅하기 전에 일반적으로 kernel라인 의 부트 로더에서 매개 변수를 전달할 수 있음 ).

kernel.random.poolsize=8192

전자를 수행 한 후 sysctl -p변경 사항을 적용하기 위해 실행할 수 있습니다 . 이것은 파라미터가 쓰기 가능하거나 현재 값 이상으로 증가 될 수 있다고 가정합니다. 그렇지 않은 경우 커널을 다시 빌드하거나 대안을 찾아야합니다.

그러나 문제가 필요에 따라 풀을 빠르게 채울 수 있습니다. 피난처 를 살펴보고 싶을 수도 있습니다

이 유형의 질문은 security.stackexchange.com 에서 더 많은 관심을 끌 수 있으며 최근 에 관심있는 엔트로피 에서이 질문을보고 있었습니다.


1
/ proc 파일이 쓰기 가능하지 않은 것 같습니다 (표준 리눅스 커널 4.1.3이 있습니다). 커널 설정에서 변경할 플래그를 알고 있습니까?
JeanCaron

1
작동하지 않습니다. sysctl: setting key "kernel.random.poolsize": No such file or directory; /proc/sys/kernel/random/poolsize: Permission denied
amphetamachine

이 솔루션은 Linux 2.4.x에서만 작동합니다. 맨 페이지에 "Linux 2.6 : [ /proc/sys/kernel/random/poolsize]는 읽기 전용이며 엔트로피 풀의 크기를 비트 단위로 제공합니다. 값이 포함되어 있습니다 4096."
CAFxX
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.