Table des matières:

Password Keeper sur Aruino Pro Micro ou pourquoi garder les choses simples quand un moyen élaboré existe ! : 15 étapes (avec photos)
Password Keeper sur Aruino Pro Micro ou pourquoi garder les choses simples quand un moyen élaboré existe ! : 15 étapes (avec photos)

Vidéo: Password Keeper sur Aruino Pro Micro ou pourquoi garder les choses simples quand un moyen élaboré existe ! : 15 étapes (avec photos)

Vidéo: Password Keeper sur Aruino Pro Micro ou pourquoi garder les choses simples quand un moyen élaboré existe ! : 15 étapes (avec photos)
Vidéo: Internet des objets et Privacy by Design 2024, Novembre
Anonim
Password Keeper sur Aruino Pro Micro ou pourquoi garder les choses simples quand un moyen élaboré existe !
Password Keeper sur Aruino Pro Micro ou pourquoi garder les choses simples quand un moyen élaboré existe !

Il semble que le principal problème des microcontrôleurs pour les fans d'électronique (surtout les débutants) soit de savoir où les appliquer:) De nos jours, l'électronique, surtout numérique, ressemble de plus en plus à une magie noire. Seuls les sorciers de niveau 80 sont capables de faire quelque chose avec de minuscules composants. C'est la raison pour laquelle les cartes Arduino deviennent très populaires. Ils encapsulent de la magie noire et de la fumée;) dans un tableau avec des épingles gérables par l'homme.

Ce post que je veux consacrer à un projet assez simple, nommé PasswordKeeper, sur la base de la carte Aruino Pro Micro. Cette carte hébergeait la puce ATmega32U4.

Étape 1: L'idée

L'idée
L'idée

Pendant longtemps, j'ai voulu faire quelque chose de simple et d'utile avec un contrôleur. Et puis un de mes collègues a lancé une idée intéressante - il était trop paresseux pour saisir le login et le mot de passe dans son ordinateur tous les jours. Il a donc pris la petite carte DigiSpark (ATTiny85) et a créé un appareil qui envoie le login + le mot de passe à un ordinateur lorsque l'on clique sur un bouton. Voici cet engin.

Étape 2: Idée et câblage

Idée et câblage
Idée et câblage

L'excellente idée - pensai-je. Pourquoi ne pas l'emprunter et lui appliquer une créativité folle.

Reconstruire le projet Arduino et le recharger dans la carte à chaque fois que le mot de passe change - "Ce ne sont pas les droïdes que vous recherchez" [wave]. C'est trop simple. Nous prendrions une route beaucoup plus emmêlée!

L'engin doit montrer comment il fonctionne. Mais seulement trois LED standard embarquées - c'est beaucoup trop peu pour cet usage. Laissez augmenter le nombre de LED à 4099 ! Un petit module d'affichage OLED 128X32 a donc été ajouté au projet. Je ne pouvais pas imaginer où le presser pendant un bon moment. Et il s'intègre parfaitement dans ce projet. Encore quelques boutons - et tout est prêt !

Il n'y avait pas assez d'espace dans la puce ATTiny85 pour le projet - ajout de l'affichage tiré pour la bibliothèque graphique + les polices. Donc, tout cela ne rentrait tout simplement pas dans la mémoire de DigiSpark. La recherche rapide est fournie avec une plate-forme appropriée: Arduino Pro Micro.

L'idée principale du projet est que ATmega32U4 prétend par défaut être un périphérique HID - clavier USB et port COM USB. Les pilotes pour ces périphériques sont déjà préinstallés dans la plupart des systèmes d'exploitation - et rien d'autre n'a besoin d'être configuré.

Le PasswordKeeper, porté à votre attention, est un chindogu qui imite le clic des boutons du clavier. Ces clics permettent de transférer un login et un mot de passe vers un ordinateur. Même l'omniprésent Ctrl-Alt-Del peut être envoyé en cliquant sur 1 bouton au lieu de 3. Ou toute autre séquence de touches de votre choix.

Le facteur de forme des modules sélectionnés est très compact, mais néanmoins facile à mêler. Il est possible avec un minimum d'efforts d'assembler le petit appareil plutôt utile. Le câblage ne pourrait pas être plus simple.

Étape 3: Cuisson

Cuisson
Cuisson

Ingrédients de l'engin:

1) Aruino Pro Micro - 1 pièce

2) écran OLED 128x32 - 1 pièce

3) Boutons - 2 pièces (ou tout autre type - par défaut).

4) Connecteurs DuPont - 7 pièces (ou du fil pour le souder tous ensemble - par saveur).

Mettez le tout dans un petit récipient alimentaire et secouez bien. Selon la théorie des probabilités, les éléments s'interconnectent dans le bon sens éventuellement.

Oh, attendez! Ce n'est pas un article sur la cuisine ! Mes excuses.

Vous feriez mieux de tout connecter manuellement - selon le schéma de câblage et de vous épargner quelques éons de tremblements.

Donc, le prototype pour le débogage d'esquisse / les tests est prêt.

Étape 4: Construire un cas

Construire un cas
Construire un cas

Le croquis semble fonctionner. Mais il n'est pas pratique d'utiliser l'appareil sous cette forme. Donc un peu de travail dans Sketchup nous donne un petit boitier.

Upd: Une idée sur l'affaire.

Vous pouvez prendre n'importe quelle petite boîte en plastique transparente appropriée.

Ou prenez du plastique transparent fin dans certains emballages. Pliez-le en fonction de la géométrie de l'appareil. Mettez l'électronique à l'intérieur et remplissez tout l'espace libre avec du silicium transparent. Cela devrait vous donner un appareil relativement agréable.

Étape 5: impression 3D

Impression 3D
Impression 3D

Je l'ai jeté dans l'imprimante 3D la plus proche.

Étape 6: le boîtier est prêt

Le cas est prêt
Le cas est prêt

Et comme d'habitude, la hâte est nécessaire pour attraper des puces.

La première version du boîtier est un peu petite et la planche ne rentre pas !

Akela a manqué de laisser des trous. Le dessin est donc corrigé et réimprimé.

La deuxième passe était meilleure - la planche s'adapte parfaitement.

Étape 7: Essayer le boîtier

Essayer le cas
Essayer le cas

Mettez la planche à l'intérieur, appuyez dessus et avec un craquement caractéristique, elle se verrouille en place.

Essayer des boutons - ils vont aussi.

Étape 8: Soudage. Fils

Soudure. Fils
Soudure. Fils

D'ailleurs, je cherchais depuis longtemps un bon fil de prototypage.

En conséquence, j'utilise maintenant du fil 30AWG dans mes projets. Vous pouvez les voir sur la photo. Il s'agit d'enrouler du fil.

Peu de peuples se souviennent maintenant à quoi cela sert.

Mais il convient également parfaitement à la soudure embarquée. Fils colorés bons pour ranger les dégâts habituels en attribuant des couleurs distinctes aux fonctions de fil. Le fil est fin. L'isolation résiste bien à la température du fer à souder. L'isolant en PVC typique fond immédiatement pendant le soudage. Celui-ci se ramollit, mais conserve sa forme et permet le toucher occasionnel d'une panne de fer à souder sans fondre jusqu'au noyau.

Étape 9: PwKeeper est prêt

PwKeeper est prêt
PwKeeper est prêt

Donc, tout mettre ensemble nous donne un petit jeton qui se connecte à un ordinateur et vous permet de gérer et d'utiliser

un assez grand nombre de logins et de mots de passe.

Étape 10: PwKeeperPc - Modification facile des données dans le jeton

PwKeeperPc - Modification facile des données dans un jeton
PwKeeperPc - Modification facile des données dans un jeton

Le nombre de connexions est limité par la quantité de mémoire EEPROM embarquée (1024 octets) et la longueur des mots de passe.

La mémoire EEPROM conserve un certain nombre d'enregistrements.

Chaque enregistrement contient un champ de commentaire et jusqu'à 8 champs de texte.

Deux des champs de texte nommés Nom et Mot de passe - juste pour la commodité de la direction.

L'écran vous permet de sélectionner le login souhaité en vous montrant des champs de commentaires.

Il vous permet également de modifier les données du jeton. Les données peuvent être modifiées avec seulement deux boutons. J'ai pressé une sorte d'éditeur dans le jeton. Mais, honnêtement, vous devriez être masochiste pour l'utiliser.

Par conséquent, pour simplifier la gestion des mots de passe, j'ai dû écrire un programme spécial pour le PC (d'ailleurs - n'oubliez pas de basculer le token en mode USB lorsque vous utilisez ce programme).

Mise à jour: pour les personnes * nix, j'ai ajouté une console TTY série dans le micrologiciel PwKeeper v1.4. Cette console est activée à partir du menu de l'appareil. Connectez-vous avec n'importe quel programme de terminal approprié - et vous pouvez modifier les données dans PwKeeper avec plusieurs commandes de type VI. La console peut également être utilisée sur la plate-forme Windows. Appuyez simplement sur Ctrl-Shift-M depuis Arduino IDE et vous y êtes (n'oubliez pas d'activer TTY sur PwKeeper avant). Mais PwKeeperPc est beaucoup plus pratique, je pense.

Étape 11: PwKeeper est en cours d'exécution

PwKeeper est en cours d'exécution !
PwKeeper est en cours d'exécution !

Le jeton contient des données très sensibles, des efforts doivent donc être déployés en matière de sécurité.

Le mot de passe principal pour déverrouiller le token existe.

Il est vide par défaut, mais comme vous le définissez dans le jeton, vous devez le saisir à chaque fois après la mise sous tension.

Le mot de passe principal est une séquence définie par l'utilisateur de clics simples et doubles sur les boutons haut et bas.

Étape 12: Flux de pensées

Théoriquement, il est possible de crypter les données dans l'EEPROM avec un algorithme cryptographique - il reste encore de l'espace dans la mémoire flash. Mais ces efforts ne seraient pas vus de l'extérieur - donc je ne me suis pas embêté.

Le jeton dans son état normal n'est pas visible par l'ordinateur. Pour le mettre en mode d'édition USB, vous devez le faire physiquement en appuyant sur les boutons. De même, pour envoyer un mot de passe, vous devez physiquement appuyer sur un bouton UP. Ainsi, un pirate informatique malveillant ne volerait pas vos mots de passe du jeton. Il les attrapait sur un port USB lorsque vous les envoyiez depuis un jeton;)

Le résultat de ce projet est un engin où je stocke des mots de passe pour mes comptes bancaires et forums. Mes parents l'ont également trouvé utile pour se connecter à la messagerie Web et à plusieurs autres sites.

Surtout pour mon collègue, j'ai programmé toutes les entrées restantes de la carte en tant que boutons d'accès rapide. Jusqu'à 12 boutons peuvent être connectés des broches d'entrée restantes à la terre. En cliquant sur l'un de ces boutons vous sautez sur le login correspondant (s'il existe). Il vous suffit donc d'appuyer sur le bouton UP pour l'envoyer. Ou maintenez un bouton de raccourci un peu plus longtemps.

Étape 13: Inspection-1

Inspection-1
Inspection-1

Avant de devenir public, PwKeeper a subi une inspection méticuleuse.

Étape 14: Inspection-2

Inspection-2
Inspection-2

Le chef de l'inspection vient d'être réveillé et n'est pas d'humeur.

Mais il fronce toujours les sourcils - pourquoi un appareil clairement inachevé est offert au public.

Mes mots, qu'il a besoin de vérifier la qualité du produit et c'est difficile à faire avec l'affaire fermée, ont été simplement ignorés par lui.

Newerless (après avoir soudoyé avec de la saucisse) il a délivré le certificat d'agrément.

Conseillé: