1. Introduction

Comment pourrait-on protéger son ordinateur autrement qu'en empêchant l'allumage de ce dernier ou qu'avec un mot de passe ? Une des idées est d'utiliser une empreinte digitale qui, sans la bonne empreinte digitale, pourrait refusé toute connexion avec un appareil USB (tel que clé USB, clavier, souris, etc...). Avec cela, il est tout à fait possible de protéger son ordinateur des fouineurs (ou de la famille) qui convoite vos informations personnelles comme vos mots de passe ou votre vie privée. Ce projet a pour but de créer un objet capable d'assurer une première sécurité pour protéger votre ordinateur (en plus du mot de passe présent sur votre ordinateur, si vous en avez un). Cette boîte contiendra un capteur d'empreinte digitale qui actionnera les ports USB sur le(s)quel(s) il sera connecté si l'empreinte digitale est la bonne. Différents ports USB seront à disposition sur la boîte permettant plus de possibilité de ports sans devoir brancher/débrancher les câbles USB mais en choisissant à l'aide de boutons. Cette boîte, connectée à l'ordinateur à protéger, permettra d'une part protéger son ordinateur et de l'autre faciliter le choix de la composition des ports USB.

2. Matériel et méthodes

2.1 Matériel

- 1 raspberry PI 3 (Model B)
- 1 capteur d'empreinte digitale
- 4 double-ports USB

Figure 1.1 - Double-ports USB utilisé

- 4 câbles USB
- 8 LEDs (inutile au projet mais utiles pour remplacer les double-ports USB et tester le code)
- 4 boutons
- 2 breadboards
- une quarantaine de câbles

2.2 Méthode

Pour créer cette boîte, il faut voir deux étapes :
La première étape consiste à programmer le capteur d'empreinte digitale pour lui permettre d'activer le système de choix des USB. Sans la bonne empreinte, impossible de les utiliser.
La deuxième étape permet de choisir les USB à l'aide de boutons. Pour cette étape, plusieurs possibilités sont réalisables mais la plus simple reste celle que je vais décrire. Il faut savoir que les ports USB à ma disposition sont "collées" l'un à l'autre, c'est-à-dire qu'un port USB et collé à un autre, et ceci quatre fois. Nous allons utiliser cette configuration pour le choix des ports USB à savoir le port du haut ou le port du bas.
Le seul code que j'ai fait est le code pour "choisir" les ports USB. Premièrement car c'était le seul code qui était à ma disposition en terme de connaissance et de matériel. Il me suffisait de simples LEDs pour voir si la connexion avec les boutons se faisait ainsi que de vérifier si le code en lui-même fonctionne. Deuxièmement, le capteur d'empreinte digitale m'est parvenu mais je me suis rendu compte trop tard qu'il manquait une clé USB convertisseur de volts; composant essentiel pour faire fonctionner le capteur avec le raspberry. Il ne sera donc pas utilisé ici. Pour ce qui est des ports USB, ils ne me sont pas parvenus en raison d'une mauvaise communication du fournisseur à lui-même (ils se sont trompés de pièces voulus et je n'ai, à ce jour du 04.02.2020, encore aucune information). Comme j'ai des LEDs, j'ai quand même pu faire cette étape.

3. Résultats

Le code n'est pas fonctionnel à 100%. Le but de ce dernier était de pouvoir changer de LED allumée à chaque fois que le bouton assigné était appuyé. Or, ce n'est pas le résultat que nous voyons. Les LEDs s'allument et s'éteignent de façon plus ou moins aléatoire lorsqu'un bouton est appuyé. Prenons un exemple : les LEDs bleus changent correctement de LED allumé mais seulement une fois, alors qu'elles sont censé le faire selon le bon vouloir de l'utilisateur, Autre exemple, les LEDs vertes et jaunes peuvent fonctionner correctement mais de façon aléatoires.


Figure 1.2 - État initial
Cette photo montre l'état initial à l'activation du code. On remarque que toutes les LEDs sont à gauches.


Figure .13 - Configuration différente
Cette photo montre une des configuration possibles parmi les 16 possibles. Malheureusement, c'est une des seuls configuration qu'il est possible d'obtenir à peu près tout le temps.


Figure 1.4 - Processus de changement de LED
Cette vidéo montre comment procède le code même s'il n'est pas bien optimisé.

On remarque bien que le résultat n'est pas atteint. Les LEDs ne s'allument pas comme il faudrait et le choix de ces derniers ne se fait pas, ou alors de manière aléatoire. Sans parler du capteur d'empreinte digitale qui n'intervient même pas ici.

4. Discussion

Le résultat souhaité et le résultat voulu ne corresponde absolument pas. Néanmoins, un début de code a pu être créer avec plus ou moins de succès. Beaucoup de points sont à améliorer comme par exemple le matériel voulu et utile pour la fabrication du projet, je pense notamment à la clé USB convertisseur qui aurait pu faire fonctionner le capteur d'empreinte digitale. Une connaissance plus aboutie du langage python m'aurait aidé pour faire un code fonctionnel.

5. Conclusion

La boîte à USB n'est ni fini ni abouti, ce qui est dommage mais ce projet m'a néanmoins permis de m'habituer un tant soit peu au monde de l'informatique. On ne peut pas parler d'amélioration sur le projet car il n'est pas fini, donc impossible ce qui pourrait être amélioré.

Références

https://tutorials-raspberrypi.com/how-to-use-raspberry-pi-fingerprint-sensor-authentication/
https://www.delock.com/produkte/S_41429/merkmale.html
https://learn.adafruit.com/adafruit-optical-fingerprint-sensor/circuitpython