Cette recherche a été menée à l' Université de Tel Aviv
Résumé
Nous montrons un logiciel cryptographique moderne sur les téléphones mobiles, la mise en œuvre de l'algorithme de signature numérique ECDSA, peut exposer par inadvertance ses clés secrètes à travers des canaux secondaires physiques: le rayonnement électromagnétique et la consommation d'énergie qui fluctuent d'une manière qui dépend de l'information secrète pendant le calcul cryptographique. Un attaquant peut non effractive mesurer ces effets physiques à l'aide d'une sonde 2 $ magnétique tenue à proximité du dispositif, ou un adaptateur USB improvisé connecté au câble USB du téléphone, et une carte son USB. L'utilisation de ces mesures, nous avons pu extraire pleinement les clés de signature secrète de OpenSSL et CoreBitcoin en cours d'exécution sur les appareils iOS. Nous avons également montré une fuite clé partielle de OpenSSL fonctionnant sur Android et de CommonCrypto iOS.
L'algorithme cryptographique attaqué est
Notre méthodologie comprend l'acquisition physique de signal à partir d'appareils mobiles (téléphones et tablette), le traitement du signal pour l'extraction du signal et la mise en valeur en utilisant Singular Spectrum Analysis, et un algorithme basé sur treillis pour récupérer la clé de signature secrète par l'agrégation des informations partielles tirées de nombreuses opérations de signature randomisées.
Voici un exemple d'une configuration d'attaque électromagnétique (en dessous de la table en verre), qui peut être utilisé pour attaquer un téléphone mobile placé sur la table.
Questions & Réponses :
Q1: Quel est l'état des bibliothèques vulnérables?
Pratiquer une divulgation responsable, nous avons travaillé avec les fournisseurs de tous les logiciels ciblés pour transmettre nos conclusions et decoordonner la réponse, avant la divulgation publique. Statut de niveau d'application est la suivante:
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
, en collaboration avec l'Université d'Adélaïde.Résumé
Nous montrons un logiciel cryptographique moderne sur les téléphones mobiles, la mise en œuvre de l'algorithme de signature numérique ECDSA, peut exposer par inadvertance ses clés secrètes à travers des canaux secondaires physiques: le rayonnement électromagnétique et la consommation d'énergie qui fluctuent d'une manière qui dépend de l'information secrète pendant le calcul cryptographique. Un attaquant peut non effractive mesurer ces effets physiques à l'aide d'une sonde 2 $ magnétique tenue à proximité du dispositif, ou un adaptateur USB improvisé connecté au câble USB du téléphone, et une carte son USB. L'utilisation de ces mesures, nous avons pu extraire pleinement les clés de signature secrète de OpenSSL et CoreBitcoin en cours d'exécution sur les appareils iOS. Nous avons également montré une fuite clé partielle de OpenSSL fonctionnant sur Android et de CommonCrypto iOS.
L'algorithme cryptographique attaqué est
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
, un algorithme de signature numérique standard utilisé dans de nombreuses applications telles que les portefeuilles Bitcoin et d' Apple Pay. Ainsi, de telles applications, en particulier celles qui reposent sur des versions vulnérables de OpenSSL, CoreBitcoin ou iOS, peuvent exposer leurs utilisateurs à des attaques physiques à faible coût menant au vol des pouvoirs de signature et les transactions non autorisées subséquentes ou fausse authentification.Notre méthodologie comprend l'acquisition physique de signal à partir d'appareils mobiles (téléphones et tablette), le traitement du signal pour l'extraction du signal et la mise en valeur en utilisant Singular Spectrum Analysis, et un algorithme basé sur treillis pour récupérer la clé de signature secrète par l'agrégation des informations partielles tirées de nombreuses opérations de signature randomisées.
Voici un exemple d'une configuration d'attaque électromagnétique (en dessous de la table en verre), qui peut être utilisé pour attaquer un téléphone mobile placé sur la table.


Questions & Réponses :
Q1: Quel est l'état des bibliothèques vulnérables?
Pratiquer une divulgation responsable, nous avons travaillé avec les fournisseurs de tous les logiciels ciblés pour transmettre nos conclusions et decoordonner la réponse, avant la divulgation publique. Statut de niveau d'application est la suivante:
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.:
- OpenSSL 1.0.x est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre.
Exception: OpenSSL utilise une implémentation alternative pour certaines courbes elliptiques, lors de la compilation pour x86-64 avec le non-défaut enable-ec_nistp_64_gcc_128 option. Nous avons aucune preuve que la mise en œuvre alternative est vulnérable.
Les développeurs du OpenSSL nous informés que " les attaques secondaires canaux matériels ne sont pas dans le modèle de menace de OpenSSL", donc pas de mises à jour sont prévues pour OpenSSL 1.0.x pour atténuer nos attaques. - OpenSSL 1.1.x est vulnérable , car il utilise la mise en œuvre wNAF vulnérables comme OpenSSL 1.0.x.
Exceptions: le code x86-64 précité. En outre, sur ARM, et plus particulièrement pour le NIST P-256 courbe (mais pas secp256k1), le nouveau code à temps constant est utilisé et nous avons aucune preuve qu'elle est vulnérable.
- OpenSSL 1.0.x est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.:
- iOS 7.1.2-8.3 semble vulnérable : sa mise en œuvre de ECDSA, en CommonCrypto, présente une fuite scalaire dépendant et semble vulnérable ainsi.
- iOS 9.x ne semble pas vulnérable : sa mise en œuvre utilise des techniques d'atténuation-canal latéral et nous avons aucune preuve qu'elle est vulnérable.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.: CoreBitcoin est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre. Les développeurs ont exprimé leur intention de passer à laVous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.bibliothèque dans l'avenir.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.la dernière Bitcoin Core ne semble pas vulnérable . Il transition à l' aide de laVous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.bibliothèque dans v0.10.0 (publié en Février 2015; voirVous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.etVous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.) et nous avons aucune preuve que libsecp256k1 est vulnérable.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.: la version Android de BouncyCastle est vulnérable , comme l'a découvert par un travail simultané et indépendant,Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
Q2: Qu'est-ce que le signal électromagnétique mesuré ressemble?
Le signal électromagnétique est mesurée à l'aide d'une sonde magnétique, et numérisé par une carte son, une radio définie par logiciel, ou une carte d'échantillonnage de laboratoire de qualité. Après un certain filtrage numérique, le signal brut ressemble à ceci:
Afin d'obtenir une trace plus claire, nous avons appliqué une analyse du spectre singulier (SSA). La trace de la trace résultant ressemble à ceci:
Les informations nécessaires à l' extraction clé réussie est la séquence de DOUBLES et AJOUTER des opérations effectuées sur la courbe elliptique (marquée D et A respectivement). Ces opérations peuvent être tirées ci - dessus, mais nous pouvons les détecter beaucoup plus fiable en analysant les composantes de fréquence de la trace:
Après avoir observé la courbe elliptique à DOUBLE et AJOUTER des opérations au cours de quelques milliers de signatures, la clé secrète de signature peut être complètement reconstruit.
Les petites boucles de fil agissant comme sondes EM peuvent être facilement dissimulées dans des objets divers qui viennent à proximité avec des appareils mobiles, tels que les
L'attaque nécessite la mesure de quelques milliers de signatures ECDSA. Comment cela peut être fait dépend de l'application particulière attaquée. Par exemple, dans
Un travail simultané et indépendant,
Le signal électromagnétique est mesurée à l'aide d'une sonde magnétique, et numérisé par une carte son, une radio définie par logiciel, ou une carte d'échantillonnage de laboratoire de qualité. Après un certain filtrage numérique, le signal brut ressemble à ceci:

Afin d'obtenir une trace plus claire, nous avons appliqué une analyse du spectre singulier (SSA). La trace de la trace résultant ressemble à ceci:

Les informations nécessaires à l' extraction clé réussie est la séquence de DOUBLES et AJOUTER des opérations effectuées sur la courbe elliptique (marquée D et A respectivement). Ces opérations peuvent être tirées ci - dessus, mais nous pouvons les détecter beaucoup plus fiable en analysant les composantes de fréquence de la trace:

Après avoir observé la courbe elliptique à DOUBLE et AJOUTER des opérations au cours de quelques milliers de signatures, la clé secrète de signature peut être complètement reconstruit.
Q3: Vous avez attaqué ECDSA sur les téléphones. Qu'en est-il d'autres schémas cryptographiques? Que diriez-vous des PC?
D' autres schémas cryptographiques, en cours d' exécution sur les ordinateurs portables , sont également vulnérables aux attaques physiques non-invasives clé d'extraction côté canal . Dans des travaux antérieurs , nous avons attaqué:- Implémentations RSA en utilisant fenêtre coulissante et fenêtre fixe exponentiation (présentés
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.), Ainsi que exponentiation carré et toujours-multiplication (Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.etVous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.).
- Implémentations ElGamal utilisant fenêtre coulissante et fenêtre fixe exponentiation (
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.), Ainsi que exponentiation carré et toujours-multiplication (Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.).
- ECDH implémentations de chiffrement en utilisant DEUX -et-sometimes- AJOUTER avec NAF represenation (
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.).
Q4: Pourquoi avez-vous attaquez ECDSA? Est-il différent des travaux antérieurs sur RSA, ElGamal et ECDH?
Nous nous sommes concentrés sur l' extraction de secrets clés du
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
, pour deux raisons:- En termes d'importance pratique, ECDSA est un algorithme de signature numérique standard (
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.) qui est beaucoup plus rapide que lessignatures RSA traditionnelles au même niveau de sécurité, ce qui en fait un choix très populaire dans de nouveaux logiciels et des protocoles en cours d' exécution sur les téléphones mobiles ( par exemple, Bitcoin et Apple Pay).
- Du point de vue de la recherche, ECDSA soulève défis nouveaux et intéressants, en plaçant une barre très haut sur le traitement du signal nécessaire et des outils cryptanalyse. Tout d' abord, les signatures ECDSA sont rapides , de sorte que l'attaquant obtient peu d' informations physiques ( parrapport à, par exemple, RSA). Deuxièmement et plus fondamentalement, les signatures ECDSA sont randomisés . Lors de l' attaque des opérations non randomisées, tels que RSA / ElGamal / ECDH décryptage, les attaquants peuvent compter sur le déclenchement de nombreux décryptages identiques et puis en agrégeant leurs traces enregistrées afin d'améliorer le rapport signal-bruit et faire face aux événements transitoires tels que les interruptions.Mais avec ECDSA, l'attaquant est obligé de faire des déductions à partir de traces individuelles qui sont bruyants et souvent interrompu.
Q5: Que faire si je ne peux pas obtenir assez proche physiquement au dispositif cible?
Pour RSA et ElGamal, des attaques similaires ont été mises en évidence à partir de grandes distances, y compris à travers les murs:- Potentiel Laptop-châssis , mesurée à partir de l' extrémité de pratiquement tout câble blindé relié à l'ordinateur portable (comme Ethernet, USB, HDMI et les câbles VGA), peut être utilisé pour la clé d'extraction, comme nous l' avons démontré dans un
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
- Émanations acoustiques (sonores) , mesurée au moyen d' un microphone, peuvent également être utilisés pour extraire les clés à partir d' une gamme de plusieurs mètres, comme nous l' avons montré dans un
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
- Fuite électromagnétique, mesurée si le mur , peut être utilisé pour l' extraction clé des ordinateurs portables, comme nous l' avons montré dans un
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
- L' analyse de puissance, qui surveille la consommation d'énergie du téléphone, peut être utilisé pour extraire les clés de signature ainsi. En principe, un chargeur, la batterie ou même station de charge peuvent être augmentés avec l'équipement requis afin d' en extraire la clé.

Q6: Comment réaliste est l'attaque? Quel est son coût dans la pratique?
Nous avons montré que le signal peut être mesuré et analysé en utilisant un équipement pas cher et facilement disponible: une carte son USB branché à un ordinateur portable, des fils, et une sonde de 2 $ (qui peut également être fait à partir de fils lisses).Les petites boucles de fil agissant comme sondes EM peuvent être facilement dissimulées dans des objets divers qui viennent à proximité avec des appareils mobiles, tels que les
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
et les cas de téléphone. La consommation d'énergie du téléphone peut être facilement contrôlée par l' augmentation d' un chargeur de rechange,
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
ou boîtier de la batterie avec l'équipement nécessaire. Cas de téléphone qui contiennent une batterie supplémentaire (et donc sont connectés au port de chargement du téléphone) peuvent même être augmentées pour surveiller les deux canaux simultanément.L'attaque nécessite la mesure de quelques milliers de signatures ECDSA. Comment cela peut être fait dépend de l'application particulière attaquée. Par exemple, dans
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
, qui permettent de faire des légers out-of-blockchain paiements automatisés pour un service continu, chaque paiement nécessite une signature ECDSA.Q7: La plupart de vos photos sont des iPhones. Qu'en est-il des téléphones Android?
Le ECDSA de OpenSSL fonctionnant sur les téléphones Android est également vulnérable à nos attaques. Par exemple, voici un 10s Sony Xperia mesurés, avec notre équipement de mesure de laboratoire de qualité:
Un travail simultané et indépendant,
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
, a également étudié la vulnérabilité de la mise en œuvre de ECDSA de Android BouncyCastle, et trouva vulnérable aux (intrusives) électromagnétiques attaques clés d'extraction.