it-swarm-korea.com

모바일 OS는 암호화 품질의 임의성을 제공합니까?

애플리케이션이 사용할 수있는 암호화 품질의 임의성을 생성하기위한 기본을 제공하는 모바일 OS는 무엇입니까?

데스크탑 시스템에서 이러한 기능은 널리 퍼져 있습니다. Unix는/dev/urandom을 제공합니다. Windows는 CryptGenRandom을 제공합니다. 모바일 OS가 이와 같은 것을 제공합니까? 개발자가 여러 소스에서 엔트로피를 수집하고이를 결합하여 시드를 얻기 위해 자체 코드를 작성할 필요가 없도록 지원을 제공합니까? (이것은 오류가 발생하기 쉽고 개발자에게는 사소한 것이 아니므로 OS, 라이브러리 또는 다른 플랫폼에서 지원을 찾고 있습니다.)

모바일 OS가이 지원을 제공하는지 여부, 그리고 그렇다면 개발자가 사용할 인터페이스가 무엇인지에 대한 답변을 환영합니다.

14
D.W.

iPhone의 iOS는 가속도계, 나침반, 라디오베이스 밴드와 같은 모든 표준 입력은 물론 모든 수준에서 간섭을 감지하는 회로의 특정 부분에서 엔트로피를 제공합니다. 앱 개발자는 SecRandomCopyBytes() 함수를 통해 임의 비트를 사용할 수 있습니다.

다른 플랫폼에 대한 정보가 없습니다.

14
Rory Alsop

Android Java 기반 API에서 Java.util.SecureRandom를 제공합니다. Java 기반 API는 암호 학적으로 안전한 PRNG 여야하며 기본 플랫폼이 강력한 정보의 소스로 제공하는 모든 것을 제공합니다. Android는 Linux 커널을 기반으로하므로 일종의 /dev/urandom가있을 가능성이 있습니다.

마찬가지로, Nokia의 Maemo 및 후속 버전 인 MeeGo 는 Linux 기반이므로 /dev/urandom를 제공합니다.

7
Thomas Pornin

Blackberry OS는 net.rim.device.api.crypto.RandomSource 서명 된 앱. iOS RNG와 마찬가지로 장치의 다양한 소스에서 임의성을 수집합니다. crypto 패키지에는 암호화 무작위가 아닌 다양한 PRNG 클래스도 포함되어 있습니다.

6
user185

그림을 완성하기 위해 Silverlight와 XNA는 모두 RNGCryptoServiceProvider 를 포함하는 일반적인 .NET System.Security.Cryptography를 제공합니다. 따라서이 클래스는 Windows Phone 7에서 사용할 수 있습니다. 설명서에는 이것이 암호화 적으로 강력한 임의성을 제공한다고 나와 있지만 이것이 어떻게 보장되는지는 설명하지 않습니다.

5
user185

Symbian 모바일 OS는 여기 에 설명 된대로 암호화 품질의 RNG도 제공합니다.

이 정보를 제공 인 John Kemp에게 감사합니다.

2
D.W.