Génération de nombres aléatoires

Les générateurs de nombres pseudo-aléatoires cryptographiques (CPRNG) sont un élément important d’un logiciel sécurisé. C’est pourquoi Apple offre un CPRNG logiciel de confiance, qui est exécuté dans les noyaux d’iOS, d’iPadOS, de macOS, de tvOS, de visionOS et de watchOS. C’est ce CPRNG qui accumule I’entropie brute du système et distribue des nombres aléatoires sécurisés aux consommateurs dans le noyau et dans l’espace utilisateur.

Sources d’entropie

Le CPRNG du noyau est alimenté par plusieurs sources d’entropie pendant le démarrage et toute la durée de vie de l’appareil. Ces sources comprennent (selon la disponibilité) :

  • le générateur de nombres aléatoires (TRNG) matériel du Secure Enclave;

  • la gigue de synchronisation relevée pendant le démarrage;

  • l’entropie obtenue des interruptions matérielles;

  • un fichier source utilisé pour conserver l’entropie entre les démarrages;

  • les instructions aléatoires d’Intel, par exemple RDSEED et RDRAND (uniquement sur les Mac avec processeur Intel).

CPRNG du noyau

Le CPRNG du noyau est une conception dérivée de Fortuna, qui vise un niveau de sécurité 256 bits. Il fournit des nombres aléatoires de haute qualité aux consommateurs de l’espace utilisateur par les API suivantes :

  • l’appel système getentropy(2)

  • l’appareil aléatoire (/dev/random)

Le CPRNG du noyau accepte l’entropie fournie par l’utilisateur via l’écriture sur le fichier spécial.

Date de publication : 19 décembre 2024
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Ces renseignements étaient-ils utiles?
Limite de caractères : 250
La limite maximale de caractères est de 250.
Merci de vos commentaires.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.