Generación aleatoria de números

Los generadores de números seudoaleatorios criptográficos (CPRNG) son un elemento importante para construir un software seguro. De este lado, Apple brinda un CPRNG de software de confianza, para ejecutarse en los kernels de iOS, iPadOS, macOS, tvOS, visionOS y watchOS. Es responsable de agregar entropía sin procesar del sistema y de brindar números aleatorios seguros a los consumidores tanto en el kernel como en el espacio del usuario.

Fuentes de entropía

El CPRNG del kernel se sincroniza a partir de varias fuentes de entropía durante el arranque y el ciclo de vida del dispositivo. Estas incluyen (sujetos a disponibilidad):

  • El TRNG del hardware del Secure Enclave

  • Fluctuaciones basadas en el tiempo recabadas durante el arranque

  • Entropía recolectada de interrupciones en el hardware

  • Un archivo semilla utilizado para que la entropía persista a través de los arranques

  • Instrucciones aleatorias de Intel (por ejemplo, RDSEED y RDRAND; sólo en Mac basadas en Intel)

El CPRNG del kernel

El CPRNG del kernel es un diseño derivado de Fortuna que se enfoca en un nivel de seguridad de 256 bits. Brinda números aleatorios de alta calidad a los consumidores del espacio del usuario mediante las siguientes API:

  • La llamada del sistema de getentropy(2)

  • El dispositivo aleatorio (/dev/random)

El CPRNG acepta la entropía proporcionada por el usuario mediante escrituras en el dispositivo aleatorio.

Fecha de publicación: 19 de diciembre de 2024
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
¿Te resultó útil?
Límite de caracteres: 250
El límite máximo de caracteres es 250.
Gracias por tus comentarios.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.