Une implémentation de /dev/random a été proposée pour le noyau Linux, libérée de la liaison à SHA-1.

Jason A. Donenfeld, auteur de VPN WireGuard, a proposé une implémentation mise à jour du générateur de nombres pseudo-aléatoires RDRAND responsable du fonctionnement des périphériques /dev/random et /dev/urandom dans le noyau Linux. Fin novembre, Jason a été inclus dans le nombre de responsables du pilote aléatoire et a publié les premiers résultats de ses travaux sur son traitement.

La nouvelle implémentation se distingue par le passage à l'utilisation de la fonction de hachage BLAKE2 au lieu de SHA1 pour les opérations de mélange d'entropie. Le changement a amélioré la sécurité du générateur de nombres pseudo-aléatoires en éliminant l'algorithme SHA1 problématique et en éliminant l'écrasement du vecteur d'initialisation RNG. Étant donné que l'algorithme BLAKE2s est supérieur à SHA1 en termes de performances, son utilisation a également eu un effet positif sur les performances du générateur de nombres pseudo-aléatoires (les tests sur un système équipé d'un processeur Intel i7-11850H ont montré une augmentation de 131 % de la vitesse). Un autre avantage du transfert du mélange d'entropie vers BLAKE2 était l'unification des algorithmes utilisés - BLAKE2 est utilisé dans le chiffre ChaCha, déjà utilisé pour extraire des séquences aléatoires.

De plus, des améliorations ont été apportées au générateur de nombres pseudo-aléatoires crypto-sécurisé CRNG utilisé dans l'appel getrandom. Les améliorations se résument à limiter l'appel au générateur lent RDRAND lors de l'extraction de l'entropie, ce qui améliore les performances de 3.7 fois. Jason a montré que l'appel de RDRAND n'a de sens que dans une situation où le CRNG n'a pas encore été complètement initialisé, mais si l'initialisation du CRNG est complète, sa valeur n'affecte pas la qualité de la séquence générée et dans ce cas l'appel à RDRAND peut être supprimé.

Les changements sont prévus pour être inclus dans le noyau 5.17 et ont déjà été examinés par les développeurs Ted Ts'o (deuxième mainteneur du pilote aléatoire), Greg Kroah-Hartman (responsable de la maintenance de la branche stable du noyau Linux) et Jean-Philippe. Aumasson (auteur des algorithmes BLAKE2/3).

Source: opennet.ru

Ajouter un commentaire