Le capteur photo des smartphones, un générateur quantique de nombres aléatoires

Image 1 : Le capteur photo des smartphones, un générateur quantique de nombres aléatoiresLe Nokia N9.

Générer des nombres aléatoires est un des fondements de la sécurité informatique. Mais générer des nombres réellement aléatoires est une gageure. L’idéal est de disposer d’un système totalement imprévisible, comme un phénomène quantique. Des chercheurs de l’Université de Genève démontrent que le capteur photo de n’importe quel smarpthone peut être utilisé comme un générateur quantique de nombre aléatoire (un QRNG), ce qui pourrait provoquer une véritable révolution.

Jusqu’à présent, en effet, les générateurs quantiques sont restés trop chers ou complexes pour être adoptés massivement. La plupart des systèmes cryptographiques reposent donc sur des générateurs pseudoaléatoires, logiciels ou matériels. Intel et VIA incluent ainsi dans leurs puces un générateur utilisant le bruit thermique dans les circuits électriques. Mais la confiance dans ces systèmes a volé en éclats suite à des révélations d’Edward Snowden : la NSA aurait glissé une faille dans le système d’Intel. FreeBSD a notoirement décidé de ne plus utiliser ces générateurs. Pouvoir compter sur un générateur quantique, réellement aléatoire, ne nécessitant aucun matériel particulier serait une véritable avancée.

La méthode employée par l’équipe de chercheurs suisses est – schématiquement – la suivante. Chaque pixel capte une quantité de photons et génère à partir de là une quantité correspondante d’électrons. En moyenne, une illumination produira le même signal électrique. Toutefois, le nombre exact de photons émis par une source lumineuse pendant un temps donné est variable aléatoirement. Or les capteurs sont devenus suffisamment sensibles pour mesurer les infimes variations de l’illumination, autrement dit le bruit quantique de la source, avec une bonne fidélité. On obtient ainsi des nombres parfaitement aléatoires. Tout du moins, il faudrait théoriquement 10118 essais avant de remarquer un écart par rapport à une distribution parfaitement aléatoire.

Les capteurs photo ont aussi l’avantage d’être massivement parallèles. Chaque pixel est un générateur indépendant et produit à peu près 3 bits aléatoires. Avec un capteur capable de lire à 1 Gbit/s, ce sont 3 Gbit qui sont obtenus par seconde. Toutefois, c’est un maximum théorique, supposant un processeur suffisamment puissant pour traiter les données. Dans un smartphone, avec un traitement logiciel sur le SoC embarqué, les chercheurs estiment qu’il est raisonnable d’espérer 1 Mbit/s, ce qui serait « largement suffisant pour la majorité des applications grand public ».