Accueil » Actualité » FreeBSD n’a pas confiance en Intel et Via

FreeBSD n’a pas confiance en Intel et Via

Image 1 : FreeBSD n'a pas confiance en Intel et ViaFreeBSD

Les développeurs de FreeBSD, un système d’exploitation UNIX, n’ont visiblement pas confiance en Intel et Via, deux fabricants de processeurs.

Un problème de générateur de nombres aléatoires

Le problème vient des générateurs de nombres aléatoires, très utilisés dans le domaine de la cryptographie. Intel propose un générateur matériel depuis les processeurs de la famille Ivy Bridge (RDRAND), tout comme Via avec la technologie Padlock, intégrée dans les processeurs de la société depuis le core Nehemiah (C3, en 2003), alors qu’avec d’autres processeurs, c’est un générateur implémenté logiciellement qui est utilisé (Yarrow dans le cas de FreeBSD).

Dans la prochaine version de FreeBSD — la 10.0 —, le système n’utilisera plus directement les générateurs matériels, pour des raisons de sécurité. En effet, il semble que la NSA et d’autres agences gouvernementales ont travaillé avec les fabricants de processeurs pour implémenter des « failles » dans les générateurs, ce qui permettrait de simplifier les attaques sur les nombres aléatoires. Les nombres seraient bien aléatoires, mais le nombre de possibilités serait plus faible qu’attendu, ce qui simplifierait les attaques en force brute.

S’il va toujours être possible d’utiliser le générateur matériel manuellement dans un programme, la sortie /dev/random du système d’exploitation n’utilisera plus directement le générateur matériel : le nombre passera dans le générateur logiciel de FreeBSD, Yarrow, pour éviter de sortir des nombres aléatoires qui pourraient être prédits facilement.

À noter que deux autres systèmes utilisent Yarrow, le générateur de FreeBSD : Mac OS X et iOS. Si iOS utilise les différents capteurs des appareils comme source pour générer des nombres aléatoires via Yarrow, Apple n’indique pas comment Mac OS X génère les nombres, ni même si les dernières versions du système utilisent le générateur intégré dans les processeurs Intel.