IMA5 2019/2020 P24

De Wiki de Projets IMA
Révision datée du 20 novembre 2019 à 18:26 par Pfrison (discussion | contributions) (Semaine 8)


Caractérisation d’un objet IoT à partir de l’étude de l’émission sonore.

Présentation générale

Description

Identifier un objet connecté par l’analyse des signaux sonores engendrés par les composants électroniques. Déterminer l’activité et les opérations réalisées par le composant. Automatiser l’extraction du bruit et construire une base de données des signatures acoustiques des composants. Etudier la possibilité de classification.

Objectifs

Dans un premier temps, le projet consiste à aider à l'identification d'un appareil électronique grâce à l'analyse du son qu'il émet. Il y a aura une partie matériel pour les mesures acoustiques, et une partie logiciel comprenant l'analyse du signal, l'identification des paternes propres à l'appareil, et le renseignement dans une base de donnée. Dans un second temps, si la finesse des mesures le permet, nous nous attarderons sur une analyse plus en profondeur des signaux pour essayer de déchiffrer les opérations effectuées par l'appareil.

Préparation du projet

Cahier des charges

Côté matériel :

  • Maximiser la plage de fréquence du microphone
  • Privilégier la linéarité de la réponse en fréquence du microphone
  • Minimiser le bruit du montage microphone + éléments d'amplification
  • Trouver des coût raisonnables

Côté logiciel :

  • Trouver des outils de traitement de signal pour identifier des caractéristiques propres à l'appareil
  • Classifier ces caractéristiques et organiser un modèle pour une base de donnée
  • Automatiser le processus de traitement de signal et d’identification

Choix techniques : matériel et logiciel

Actuelle liste de matériel :

Pour la qualité studio :

Pour la qualité prototype :

  • Microphone : KEEG1538WB-100LB
  • Amplificateur : LM386 (déjà en stock dans le magasin d'électronique)
  • Une sortie jack 3.5 mm : lien Farnell
  • Un câble jack double mâle 3.5 mm : lien Farnell
  • Trois potentiomètres de 10 kOhm : (déjà en stock)
  • Deux capacités de 250 nF : (déjà en stock)
  • Une capacité de 0.05 nF : (déjà en stock)
  • Une capacité de 10 uF : (déjà en stock)
  • Une résistance de 2.2 kOhm : (déjà en stock)
  • Une résistance de 10 Ohm : (déjà en stock)

Liste des tâches à effectuer

Le projet se découpe en trois points majeurs qui se suive chronologiquement :

  • Trouver du matériel adapté
  • Mesures et recherche de moyen de classifications
  • Mise en place d'une base de donnée et automatisation du processus d'identification

Calendrier prévisionnel

Etat de l'art

Il m'a été remis un papier de recherche (RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis) pour me présenter l'état de l'art dans le domaine des attaques par canal auxiliaire dans le domaine acoustique. Il a été analysé la première semaine.

Dans le papier de recherche, les auteurs ont mis en place plusieurs scénarios d'attaque qui ont pour but d'extraire une clé RSA en écoutant le son produit par un ordinateur (plusieurs marques ont été testées) lorsqu'il décrypte un message. L'extraction est possible dans tous les cas avec un montage digne d'un laboratoire et dans la plupart des cas avec un microphone de téléphone portable.

Leur méthode n'est pas d'écouter directement les opérations une à une pour en déduire la clé, c'est impossible à cause de la différence d'ordre de grandeur entre les opérations du processeur (quelques GHz) et la plage de fréquence des microphones (une centaine de kHz maximum). À la place, ils déterminent les bits de la clé un à un, à chaque décryptage en utilisant un message spécialement conçus pour trahir le bit attaqué lorsque décrypté.

Réalisation du Projet

Semaine 1

Première réunion pour contextualiser et préciser le projet. Il m'a été remis un papier de recherche (RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis) pour me présenter l'état de l'art dans le domaine des attaques par canal auxiliaire dans le domaine acoustique. L'objectif de la semaine est d'analyser le papier de recherche.

Le papier de recherche utilise du matériel de laboratoire principalement, des capsules microphones ayant des fréquences maximums de 21 kHz à 350 kHz monté sur un pré-amplificateur suivit d'un amplificateur, d'un convertisseur analogique numérique et d'un ordinateur. Les auteurs ont aussi obtenu des résultats convainquant avec un microphone de téléphone portable.

Le papier souligne que le problème principal d'une attaque par analyse acoustique est la grande différence d'ordre de grandeur entre la fréquence de calcul de l'appareil (quelques GHz) et la bande passante naturelle induite par l'air pour la propagation du son (environ 300 kHz). Néanmoins, notre projet consiste simplement à l’identification de l'appareil (dans un premier temps) et le bruit induit par les opérations de l'appareil peuvent être de l'ordre de l'audible (comme le démontre le papier en utilisant un microphone de téléphone portable). Secondement, nous avons un accès physique à l'appareil dans notre cas, c'est-à-dire qu'il nous est possible de placer le microphone au plus proche de la source pour avoir un rapport signal-bruit important.

Semaine 2

Après l'analyse du papier de recherche, il est temps de chercher des solutions matériels pour acquérir les signaux sonore. J'ai exploré plusieurs pistes en plus de la piste "classique" du microphone.

Une plaque de résonance avec capteurs piézométriques. L'idée est de se passer de l'air comme milieu de propagation du son. En effet, le son se propage beaucoup moins bien dans un gaz que dans un solide ou un liquide (l'air est limité à 300 kHz. Au-dessus, les fréquences sont noyées dans l'agitation thermique des molécules et l'espace entre les molécules deviens trop important). En utilisant la coque de l'appareil puis une plaque en contact avec la coque, le son ne passe plus que dans du solide. La bande passante est en théorie plus grande. Cependant, il faudra garder un œil sur les effets de résonance dans les solides, ainsi qu'à la sensibilité des capteurs piézométriques.

Un vibromètre laser. L'idée est encore de se passer de l'air. Le vibromètre mesure directement les vibrations des composants sans être limité en fréquence théoriquement et sans perturber mécaniquement l'appareil. C'est l'outil idéal mais bien trop cher pour ce projet.

Remplacer l'air par un liquide ou un gel. Toujours dans cette idée d’ignorer l'air, si on trouve un liquide ou un gel compatible avec l'électronique et un micro compatible, il est possible d'augmenter grandement la bande passante du milieu de propagation. Cependant, dans un souci de préserver au maximum l'objet étudié, cette solution n'est pas applicable dans le cadre de ce projet.

J'ai dans un même temps entamé mes recherches pour des microphones. Quelques pistes non-concluantes surgissent :

Il est très compliqué pour moi d'obtenir des résultats en rapport avec mes recherches, j'ai demandé de l'aide à des professeurs pour m'aider à filtrer mes recherches.

Semaine 3

Grâce à l'aide de mes professeurs (Alexandre BOÉ, Emmanuelle PICHONAT et Thierry FLAMEN), j'ai pu affiner mes recherches.

Tout d'abord, la piste plaque de résonance a été abandonnée. Les effets de résonance et la faible sensibilité des capteurs piézométriques en sont la cause.

Pour ce qui est des microphones, j'ai classé mes recherches de matériel en trois parties proportionnelle à la qualité :

  • une qualité laboratoire : des microphones capsules principalement, avec leur pré-amplificateur associé, un amplificateur si besoin et un convertisseur analogique numérique.
  • une qualité studio : des microphones de mesure acoustique utilisé par les amateurs et les professionnels du son pour calibrer leurs autres micros en fonction de l'acoustique de la pièce. Ces microphones ont une réponse en fréquence très linéaire et sont très sensibles.
  • une qualité prototype : regroupe le matériel destiné à être utilisé pour créer des circuits électroniques.

Dans la catégorie laboratoire, deux entreprises ont retenu mon attention : Brüel & Kjær et Microtech Gefell. Des courriels ont été envoyés pour avoir plus de précision sur leur prix.

Dans la catégorie studio, j'ai fait beaucoup de recherches sur les microphones de mesure. Dans beaucoup de cas, ce sont des microphones capacitifs et ils ont besoin d'une alimentation fantôme +48V. Après avoir épluché quelques forums, j'ai fait une liste de matériel sur Woodbrass :

À savoir que le microphone BEHRINGER ECM8000 est plutôt réservé aux amateurs et le PRESONUS PRM1, aux professionnels d'après mes recherches sur des forums.

Dans la catégorie prototype, il faudra privilégier un microphone électret : en plus de ça haute sensibilité, il n'a pas besoin d'alimentation comparé aux microphones capacitifs. Cependant, la qualité de la mesure va dépendre grandement de l'amplificateur. Des recherches sont en cours.

Semaine 4

Exemple de spectrogramme (valeurs en dB) de la note C4 d'un piano optenu avec SciPy (calcul) et Matplotlib (affichage)

J'ai consacré cette semaine à la recherche de solutions pour l'analyse des signaux. Python me semble un choix évident pour sa simplicité et son abondance de librairies. J'ai réaliser les premières fonctions qui me seront utiles, à savoir : l’acquisition via la carte son interne de l'ordinateur (avec la librairie PyAudio), réalisation de spectrogrammes (avec l'aide de SciPy) et la lecture d'audio (avec l'aide de PyDub). Les scripts sont disponibles sur le récemment créé projet git. J'ai aussi manipulé GNU Radio, un logiciel de traitement du signal commandable par Python.

J'ai aussi modifié la liste de matériel pour la qualité studio en remplaçant l'amplificateur + alimentation fantôme en une carte son présentant les même fonctionnalités en plus d'intégrer un échantillonneur plus performant que celui d'un ordinateur. Avec cette carte son, il sera possible d’échantillonner à 192 kHz et donc d'avoir un son beaucoup plus clair. La nouvelle liste est la suivante :

Semaine 5

Ma recherche de solution pour du matériel pour la qualité "prototype" c'est affinée. J'ai choisi la paire suivante :

  • Microphone : KEEG1538WB-100LB
  • Amplificateur : LM386 (disponible dans le magasin d'électronique à Polytech)

À noter qu'un montage sera nécessaire pour l'alimentation du microphone comprenant : (montage explicité dans la documentation du microphone)

  • Une résistance de 2.2 kOhm
  • Une capacité de l'ordre de 100 nF (pour le découplage)

Un montage pour le réglage du gain et pour protéger la sortie jack : (montage explicité page 11 de la documentation de l'amplificateur)

  • Une capacité de 10 uF
  • Deux potentiomètre de 10 kOhm (un en entrée pour le réglage de la tension, un autre à la place de la résistance de 1.2 kOhm présentée sur le schéma pour un réglage du gain)
  • Une capacité de l'ordre de 100 nF (découplage à la sortie)
  • Une capacité de ~0.05 nF et une résistance de ~10 Ohm (protection de la sortie)

Et pour la connectique PCB-PC :

Semaine 6

Schéma électrique de la solution "prototype"
Circuit imprimé de la solution "prototype"

Le schéma électrique et le circuit imprimé de la solution prototype ont été dessiné sur Eagle. La carte dispose de deux potentiomètres pour régler le volume et un potentiomètre pour régler l'alimentation du microphone (à environ 2V).

Les fichiers Eagle sont disponibles sur le projet git dans le dossier "/PCB".

La liste du matériel a été modifiée en conséquence pour correspondre au choix des valeurs des composants.

Semaine 7

Démonstration de la nouvelle fonction pour réaliser des spectrogrammes par l'analyse de la note C4 d'un piano.
Comparaison de la nouvelle fonction pour réaliser des spectrogrammes par l'analyse de la note C4 d'un piano.

Cette semaine a été consacrée à la réalisation d'un meilleur spectrogramme en partant de la fonction fft de scipy. La fonction programmée montre une résolution plus fine et il me sera maintenant possible de régler plusieurs paramètres à savoir : la plage de fréquence à analyser, la plage de valeur à afficher, le découpage de l'échantillon sonore et le chevauchement (comparable à un lissage) des fft dans le spectrogramme.

La démonstration (image à gauche) montre les différentes possbilités qu'offre la nouvelle fonction :

  • En haut à gauche, seules les valeurs entre 0% et 10% du signal sont affichés, ce qui permet de révéler des détails cachés par le constraste.
  • En haut à droite, la plage de fréquence a été limitée entre 4000 Hz et 3000 Hz (en utilisant la même résolution).
  • En bas à gauche, ici la résolution du spectrogramme choisie est très grande. Il faut zoomer (en bas à droite) pour voir distinctement les valeurs.

L'image de droite compare les deux fonctions (entre la fonction native de SciPy et la nouvelle). À gauche, l'ancien spectrogramme réalisé avec SciPy. À droite, la nouvelle fonction construite à partir de fft.

Remarque : les spectrogrammes sont ici tous en linéaire.

Semaine 8

Plan en 3D de la boite d'isolation acoustique.

Il y a eu une modification mineure dans le schéma électrique et le PBC (les images sur le wiki ont été mis à jour en conséquence).

Réalisation en 3D de la boîte d'isolation acoustique pour connaitre la dimension des planches de bois. L'assemblage des planches sera fait grâce à des indentations sur les côtés pour pouvoir les emboîtées. La boite aura pour dimension 560x560x310mm.

Semaine 9

Semaine 10

Documents Rendus