L’attribution aléatoire de clés privées via une fonction dédiée à cet effet peut se révéler prévisible, ce qui fragiliserait la sécurité de l’écosystème.

bitcoin
Une monnaie virtuelle et un problème bien réel…

Le gérant de la monnaie virtuelle Bitcoin a émis une alerte vis-à-vis des utilisateurs et, par dessus tout, des développeurs Android à propos de la méthode de création de nombres longs entre clients permettant des échanges sécurisés. L’explication de l’éventuelle faille est très technique mais elle peut être vulgarisée: afin de vérifier l’identité du consommateur avec qui l’argent est transféré, les applications compatibles produisent des signatures qu’elles stockent ensuite sur les deux smartphones impliqués. Les communications ultérieures se basent sur ces données pour authentifier les transactions.

Cependant, la fonction concernée, SecureRandom, montre des faiblesses importantes. Les clients les plus populaires ont déjà été mis à jour. C’est le cas de Bitcoin Wallet, de Mycelium Wallet et de BlockChain.info. Le problème est que les clés doivent être reproduites et de nouveau échangées, ce qui complique sérieusement la correction de la faille. Les liens affaiblis sont normalement soulignés et une invitation est émise afin de connecter les différents clients avec qui de la monnaie a été échangée. Dans le futur, ces clés seront régulièrement renouvelées afin de maintenir le niveau de sécurité.

Bitcoin signale que les applications qui ne présentent qu’une interface et qui ne produisent et ne stockent aucune signature ne sont pas touchées.

S’il s’agit effectivement d’une faille de sécurité importante, le kit de développement Android fourni par Google stipule que la méthode SecureRandom peut se révéler fragile si elle est alimentée par une autre fonction aléatoire comme setSeed. Cette révélation montre, dès lors, que bon nombre de programmeurs confient aveuglément la sécurité de leurs réalisations à des morceaux de code éventuellement vulnérables.

On en parle sur le forum