사용 가능한 엔트로피를 어떻게 확인할 수 있습니까?


14

리눅스 시스템에서 사용 가능한 엔트로피를 확인할 수 있습니다 ( /dev/randomPRNG 목적으로 활용 하는 경우 유용 합니다).

cat /proc/sys/kernel/random/entropy_avail

그러나 /procMac (AFAIK) 에는 해당되지 않습니다 . Mac에서 사용 가능한 시스템 엔트로피를 어떻게 확인할 수 있습니까? OS X 10.7.3 (Lion)을 실행하고 있습니다


Kyle 's answer 아래 내 의견 중 일부를 업데이트하려면 — Mac이이 정보를 표시하지 않는 이유 중 하나는 필요하지 않기 때문입니다 (대부분의 경우). /dev/random풀에 엔트로피가 충분하지 않으면 Linux 시스템에서 호출을 차단합니다 . Mac에서는 데몬을 사용하여 주기적으로 엔트로피 풀에 추가 합니다 SecurityServer.

그러나 어떤 이유로 데몬이 실패하면 실패를 표시하지 않고 출력 품질이 떨어집니다 .

그러나 출력 품질은 적절한 엔트로피를 정기적으로 추가하는 데 달려 있습니다. 는 IF SecurityServer시스템 데몬이 어떤 이유로 실패, 출력 품질은 임의 장치 자체에서 명시 적 표시하지 않고 시간이 지남에 겪게 될 것이다.

따라서 엔트로피의 양을 쉽게 사용할 수는 없지만 그것이 존재하지 않으며 지식이 도움이 될 수있는 경우가 있다는 것을 의미하지는 않습니다.


당신은 정말로 확인해야합니까, 아니면 거기에 사용하기에 충분한 물건이 있는지 확인해야합니까? 참조 developer.apple.com/library/mac/#documentation/Darwin/Reference/...의 견적 : "편집증 프로그래머는 그들의 선택의 엔트로피를 수집 (예 : 키 입력 또는 마우스 타이밍에서)와로를 파종하여 이러한 위험을 어느 정도 상쇄 할 수 있습니다 random얻기 전에 직접 중요한 난수입니다. "
Chris W. Rea

사용하기에 충분한 지 확인해야합니다.
rm -rf

답변:


6

이것은 해결책이 아니라 리눅스에서 엔트로피가 어떻게 수집되고 사용되는지에 대한 설명입니다.

리눅스에는 실제로 두 가지 엔트로피 풀이 있습니다.

/dev/random그리고 /dev/urandom.

전자는 시스템 엔트로피 소스에 의해 공급되는 진정한 무작위 풀입니다.
후자는 BSD 및 OS X에서 발견되는 것과 같은 PRNG에 가깝습니다.

그러나 우라늄조차도 양질의 의사 랜덤 데이터를 생성하기 위해서는 '실제'랜덤 엔트로피의 씨앗이 필요합니다. 최근 커널에서 / dev / random에 엔트로피가 완전히 부족해도 여전히 urandom을 차단하지는 않지만 urandom은 더 많은 엔트로피를 사용할 수있을 때까지 마지막 유효한 시드를 재사용합니다. urandom은 차단되지 않기 때문에 꾸준한 엔트로피 스트림이 필요한 대부분의 서비스는 / dev / random에 의존하지 않고이를 사용합니다.

그러나 의사 난수 엔트로피로는 수행 할 수 없지만 실제로 예측할 수없는 엔트로피 소스가 필요한 다양한 SSL 제품군과 같은 일부 서비스가 여전히 있습니다. 이 경우 urandom (또는 다른 PRNG)을 사용할 수 없으며 / dev / random이 작동합니다.


2

Mac OS X은 단순히 Yarrow 를 사용합니다 . 심지어 FreeBSD조차도 "Fortuna"라는 개선 된 버전으로 전환했습니다.

톱풀의 강도는 키의 크기에 의해 제한됩니다. 예를 들어, Yarrow-160의 유효 키 크기는 160 비트입니다. 보안에 256 비트가 필요한 경우 Yarrow-160은 작업을 수행 할 수 없습니다.

전체적으로 이것은 Apple의 우선 순위에 보안 / 견고성 또는 이와 유사한 것이 포함되지 않음을 다시 한 번 상기시킵니다.


1

FreeBSD와 마찬가지로 Mac OS X은 외부 엔트로피 소스에 의존하지 않습니다. 대신 Yarrow 알고리즘 기반의 의사 난수 생성기를 사용합니다 . 엔트로피 풀이 아닌 알고리즘을 사용하기 때문에 "충분한"엔트로피가 있는지 확인할 필요가 없습니다 . 블로킹없이 항상 / dev / random에서 읽을 수 있습니다 .

따라서, "편집증"이 아니고 외부 소스 (키 스트로크 / 마우스 움직임 등)를 기반으로 엔트로피를 기반으로 할 필요가없는 한, 질문에 대답하려면, / dev /에 사용할 수있는 엔트로피의 양 무작위 사용은 항상 무한합니다.


4
이것은 완전히 정확하지 않습니다. 알고리즘을 사용한다고해서 무한 엔트로피가되지는 않습니다. 그 의미는 리눅스에서 엔트로피 풀이 낮을 때 차단하는 반면, 맥에서는 "추가 엔트로피가 커널의 랜덤 지터 측정에서 SecurityServer 데몬에 의해 정기적으로 생성기에 공급된다"는 것입니다. 따라서 기본적으로이를 처리하고 시작 직후에 사용할 수 있도록 엔트로피를 디스크에 저장합니다. 또한 Yarrow는 복원력이 뛰어나지 만 품질은 엔트로피를 정기적으로 추가하는 데 달려 있습니다. 진정한 엔트로피라면 필요하지 않을 것입니다.
rm -rf

1
: 그것은 더 말한다 "는 SecurityServer 시스템 데몬이 어떤 이유로 실패 할 경우, 출력 품질이 임의 장치 자체에서 명시 적 표시하지 않고 시간이 지남에 겪게 될 것이다" 나는 OSX하지에 쉽게 그것을 만든 것을 인정한다 실제에 대해 걱정할 필요가 엔트로피 가치, 그러나 하나가 없다는 것을 의미하지는 않습니다 ... Btw, 나는 위의 인용문 에서이 매뉴얼 페이지 를 언급하고있었습니다
rm -rf

@RM 사실, 나는 / dev / random에 대한 호출이 엔트로피의 품질보다 차단되는지에 대해 더 많이 생각하고 있었다
Kyle Cronin

> 당신이 편집증이 아닌 한 — Mac OS X은 안전한 것으로 간주 될 수있는 임의의 무작위성이 부족합니다.
poige
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.