GPG 키 생성기는 엔트로피를 *사용하지* 않습니다.

GPG 키 생성기는 엔트로피를 *사용하지* 않습니다.

Ubuntu 16.10에서 GPG 키를 생성하려고 하는데 GPG에 시간이 오래 걸립니다.

나는 조금 구글링을 했고 StackExchange에 대한 몇 가지 질문을 포함하여 rngd시스템이 난수를 더 빠르게 생성하는 데 도움이 되는 엔트로피 생성기 실행을 제안하는 몇 가지 사이트를 찾았습니다.

/proc/sys/kernel/random/entropy_avail이러한 사이트 중 일부 는 GPG를 실행하기 전에 시스템에서 4자리 숫자를 보고하고 실행하는 동안 2자리에서 한 자리 숫자를 보고했다는 점을 지적하면서 확인을 권장했습니다 .

현재 내 컴퓨터에서 GPG를 실행하고 있는데 최소 30분 동안 실행 중인데 다음과 같은 메시지가 표시됩니다.

$ cat /proc/sys/kernel/random/entropy_avail 
3644

이 숫자는 시간이 지남에 따라 증가하며 조금씩 감소하는 경우는 거의 없습니다(이 문장을 쓰고 나면 3801입니다). 난수 생성기를 실행하지 않습니다. 실제로 하나를 실행하려고 하면(예 sudo rngd -fr /dev/random: 약 50으로 떨어지고 사용하면 /dev/urandom약 3000으로 유지됩니다).

누구든지 내 시스템에 어떤 문제가 있는지 알아내도록 도와줄 수 있나요?

저는 Linux 4.8.0-37-generic, gpg(GnuPG) 2.1.15, libgcrypt 1.7.2-beta를 사용하고 있습니다.

답변1

최근 데비안 9로 업그레이드한 후 비슷한 문제가 발생했습니다. 난수에 의존하는 일부 프로그램은 최근 Linux 버전에서 소스 코드/난수 생성기 루틴이 변경되어 시스템 엔트로피에 더 의존하게 되었습니다.

설치 데몬은 haveged일관된 난수 풀을 제공하는 것 같습니다. 이렇게 하세요:

sudo apt-get install haveged

이 데몬은 이제 엔트로피가 필요한 다양한 프로그램 haveged, 특히 엔트로피가 일반적으로 낮은 가상 머신 및 IoT(예: Raspberry Pi 등)에서 필요합니다.

에서 man haveged:

NAME
haveged- 난수를 생성하여 Linux 임의 장치에 제공합니다.


haveged HAVEGE(Hardware Volatile Entropy Gathering and Expansion) 알고리즘을 사용하여 숨겨진 프로세서 상태(캐시, 분기 예측자, 메모리 변환 테이블 등)에 대한 하드웨어 이벤트의 간접적인 영향에서 파생된 예측할 수 없는 난수 스트림을 생성하는 방법을 설명합니다 . 알고리즘은 사용자 공간에서 실행되며 출력 스트림에 대한 파일 시스템 액세스에 특별한 권한이 필요하지 않습니다.

/dev/randomLinux는 및 장치 인터페이스를 통한 /dev/urandom 배포를 위해 무작위성을 집계합니다. 풀 채우기를 위한 표준 메커니즘은 /dev/random수요가 높거나 사용자 상호 작용이 제한된 시스템에는 충분하지 않을 수 있습니다. 이러한 경우 haveged 임의 비트 공급이 장치의 최저 워터마크 아래로 떨어질 때마다 권한 있는 데몬으로 실행하여 풀을 채울 수 있습니다./dev/random/dev/random

관련 정보