Créer une clé RFID universelle pour les interphones

Salutations à tous ceux qui s'intéressent au thème des clés électroniques de cross-country. En vérité, je n'ai pas moi-même suivi les nouvelles dans ce domaine depuis longtemps. Mais je veux publier mon développement il y a trois ans, car il est facile à répéter et peut intéresser quelqu'un. L'essentiel: au lieu d'une douzaine de clés avec des codes tout-terrain et seulement des codes, toutes les clés peuvent être transportées dans un petit appareil.



Avis de non-responsabilité: répétez - je ne demande pas, pour l'assemblage et l'utilisation - vous êtes responsable, je partage des informations uniquement à des fins d'information. Par exemple, pour aider les entreprises qui fournissent des services de haut-parleurs sur porte à réparer les «trous» à temps, s'ils sont détectés à l'aide de l'appareil.

1. Qu'est-ce que c'est? Que pouvez-vous?


L'appareil que j'ai récupéré en 2017 n'est rien d'autre qu'un spoofer pour une clé RFID d'interphone fonctionnant à une fréquence de 125 kHz. Le mot «spoofer» dans ce cas signifie que l'appareil, en fait n'étant pas une clé, l'emprunte et les interphones répondent en conséquence.

L'appareil peut transmettre tous les codes clés enregistrés dans sa mémoire. Certains codes peuvent être trouvés sur le Web pour les «clés tout-terrain», je les ai d'abord insérés dans le firmware. Mais avec une certaine habileté et envie, vous pouvez insérer dans le firmware les codes de toutes les clés RFID que vous utilisez (si elles fonctionnent à une fréquence de 125 kHz), et ainsi pouvoir remplacer un tas de porte-clés par un seul appareil.

Je sais que dans l'immensité du Web, il existe un grand nombre de circuits de tels appareils. Mon objectif était de créer la version la plus simple de toutes les versions disponibles. Que cela ait réussi ou non - jugez par vous-même.

2. Quelles compétences devez-vous posséder pour répéter ce projet?


Tout d'abord, les compétences de travail avec Arduino: avoir un environnement de développement installé, pouvoir télécharger le firmware sur la carte, installer des bibliothèques, des pilotes, c'est tout. Ensuite. Il y a un endroit dans le projet où sans soudure - enfin, rien. Parce que - vous avez besoin de bras droits et d'un fer à souder avec des consommables. Savoir lire les schémas électriques (ou leurs similitudes). Eh bien, des compétences en programmation en C ++, afin de pouvoir personnaliser l'appareil. Mais c'est déjà facultatif.

3. Quelles pièces sont nécessaires et comment les monter?


Sans plus attendre, voici un schéma de l'appareil:
Désolé pour le fait que "pas selon GOST" - je dessine dans drawio, car la seule alternative gratuite et pratique est Visio, et maintenant je n'utilise que des logiciels sous licence. Mais, je suppose, tout est déjà très clair.


Comme vous pouvez le voir, la nomenclature de la version de base ressemble à ceci:

  1. Arduino Nano (ou tout autre Dunya à portée de main);
  2. Clé RFID EM4100 (au lieu de l'inductance);
  3. transistor npn (tout ce qui est trouvé, les fréquences ici ne sont pas très élevées);
  4. Résistance 10K;
  5. Condensateur 560 pF (meilleur CMS, vous pouvez souder directement dans le boîtier à partir de la clé);
  6. batterie lithium-ion - au goût;
  7. trois boutons tactiles;
  8. Écran OLED avec interface I2C;
  9. module de charge pour liIon;
  10. Convertisseur DC-DC élévateur avec sortie 5V.

Le schéma d'alimentation peut être n'importe lequel, juste pour avoir suffisamment d'Arduino pour démarrer. Périphériques d'E / S - de même: le firmware peut facilement être adapté aux boutons / affichages disponibles (lien vers github - juste en dessous). La version actuelle du micrologiciel est écrite pour l'écran OLED et les boutons tactiles (tirés de considérations de "pas de rebond").

Vous pouvez également collecter un échantillon de test sur une planche à pain sans soudure. Aucune instruction particulière n'est requise ici, à l'exception de ce qu'il faut faire avec «inductance». À ce sujet - plus en détail.



La clé, similaire à celle de la photo, peut être obtenue auprès de n'importe quel maître local ou commandée sur Ali. Il y a un couvercle sur le corps de la clé, qui doit être soigneusement ouvert lorsque vous atteignez le remplissage:



Il s'agit d'une bobine et d'une puce mémoire avec deux pads sur les côtés. Les résultats de la bobine sont soudés uniquement à ces plots. Tout cela est inondé d'une fine couche de thermopolymère élastique (d'aspect et de propriétés similaires à l'adhésif gelé B7000). Pour obtenir une bobine, j'ai fait ce qui suit. Prenant un couteau de bureau, j'ai pressé doucement un textolite avec une lame entre les coussinets et le microcircuit. Il a séparé le microcircuit de la bobine et l'a jeté. Ensuite, avec un fer à souder, j'ai doucement (afin de ne pas souder les fils fins de la bobine) brûlé le thermopolymère sur les plots, permettant de numéroter davantage.



Avant de souder, vous devez mesurer la résistance de la bobine, en vous assurant qu'elle n'est pas à l'air libre. Si tout est en ordre, alors il vaut mieux assembler comme ceci: soudez d'abord le condensateur SMD aux plots (il devrait bien s'emboîter entre eux), puis les jambes du transistor et à la fin - la résistance à la base. Tout cela peut être soigneusement monté dans le boîtier de clé. Les fils de la "terre" et la base du transistor sont soudés en dernier.



Ensuite, faites un trou dans le couvercle de clé pour ces fils et fermez le trousseau, lui donnant une apparence presque originale. Pour assembler sur une planche à pain sans soudure, vous devez souder les connecteurs à broches aux fils (ou tout simplement les déchirer afin de pouvoir les insérer facilement dans la planche à pain).

4. Firmware, test et configuration


Comme promis, un lien vers le référentiel du projet. Les fichiers du firmware se trouvent dans le dossier My_125_kHz_spoofer_v.03.

Après avoir assemblé et téléchargé le firmware, l'appareil est prêt à l'emploi. Pour vous assurer que cela fonctionne, il n'est pas du tout nécessaire de rechercher un interphone - vous pouvez vous en tirer avec le module chinois de lecture des clés RFID, qui s'appelle le RDM6300 et une autre carte Arduino (bien que ce soit plus facile pour n'importe qui). J'ai également mis le firmware du module RDM6300, qui affiche le code clé traduit dans le même format que celui inclus dans le firmware du spoofer, dans le référentiel du projet. Schéma de connexion du lecteur - au même endroit.

Procédure de test à l'aide du lecteur RDM6300:

  1. Assurez-vous que le lecteur fonctionne en maintenant l'une des touches disponibles à 125 kHz sur l'antenne (les données seront transmises au port COM);
  2. Sélectionnez le code clé d'intérêt dans le menu du spoofer;
  3. Apportez l'antenne au lecteur. Si le lecteur lit la même clé que celle spécifiée dans le firmware - tout a fonctionné! Sinon - vérifiez le schéma, recherchez où se trouve l'erreur, éliminez-la et commencez par le point 1.

5. Ce qui peut être changé dans le firmware et ce qui est préférable de ne pas toucher


Étant donné que le firmware a été moulé sur la base de ce code, ce qui n'est pas très clair pour moi, les fonctions vitales qui ne peuvent pas être modifiées en ce moment sont complètement, j'ai mis un onglet séparé functions.ino. Le reste du programme sert uniquement à fournir à l'utilisateur une opportunité pratique d'appeler la fonction EmulateCard (enfin, et quelques lignes de code avant).

Vous pouvez ajouter vos clés au tableau uint64_t universalID [] situé sur la ligne 75 du code. Étant donné que je n'ai pas «défini» le nombre total de clés dans la mémoire de l'appareil et que certaines fonctions sont liées à cette constante, lors de l'ajout de ma propre clé, vous devez également modifier les limites dans lesquelles la variable keyNumber est responsable du choix de la clé. Et bien n'oubliez pas d'ajouter votre clé dans le menu. En général, tout est humide, mais si vous voulez, je le répète, ce n'est pas difficile à comprendre.

6. Ce qui pourrait être amélioré dans l'appareil


  1. Ajoutez la prise en charge des clés iButton (au moins la plus courante de Dallas).
  2. Ajouter l'émulation de touches fonctionnant à une fréquence de 13,5 MHz (si je comprends bien, soit en portant un flan réinscriptible et le module RC522, soit techniquement difficile grâce à une émulation réelle).
  3. Ajoutez des lecteurs iButton, RDM6300 et RC522 à l'appareil pour le rendre encore plus universel.

Qui réussira - écrivez sur les résultats. Je ne vais pas revenir sur le développement de ce jouet dans un futur proche)

7. Histoire de la création


J'étais dans la cour à l'automne 2017. En tant qu'étudiante de deuxième année, je languissais dans des questions non résolues d'autodétermination. Autrement dit, ballotté au sujet de l'oisiveté et cherchait quelque chose à faire. En conséquence, il a décidé de terminer ses anciens projets d'ingénierie au détriment de la visite de l'université.

Le temps dans la cour était tout simplement luxueux. Et quoi de mieux que de s'asseoir sur le toit d'un gratte-ciel par une fraîche nuit d'automne, de boire du thé dans un thermos et de contempler l'agitation de la ville nocturne sous vos pieds? ..

Dans l'après-midi, il n'est pas difficile d'accéder à n'importe quel immeuble de grande hauteur - l'ingénierie sociale de la série "Bonjour, une enquête sociale sur la qualité du travail de la société de gestion pour le nom du journal local" fonctionne très bien, et en fait, les locataires ne se soucient pas que quelqu'un entre avec eux dans l'entrée. La nuit, autre chose. Et j'ai aimé grimper sur les toits soit au coucher du soleil, soit la nuit ... Un problème a mûri, que j'ai résolu de la manière décrite ci-dessus.

Si je me souviens bien, les informations sur ces appareils n'ont pas été trouvées immédiatement. La recherche de mots-clés «cracker intercom» sur Google n'a presque rien donné. Adéquat a commencé à être quand je comprenais un peu la technologie RFID, et j'ai commencé à poser des questions plus significatives, telles que "émulateur RFID", "RFID multykey", "RFID spoofer".

En conséquence, il s'est avéré trouver deux articles décents en anglais sur le sujet. Dans l'un, l'auteur a décrit comment, basé sur l'Arduino, une clé était plutôt confuse du point de vue matériel, et dans le second c'était tout de même, mais sans la source, mais avec un matériel très simple. Ayant raison de penser que puisque les deux circuits sont connectés à l'antenne avec une broche Arduino, j'ai décidé de croiser une solution matérielle simple et open source. C'était possible, mais pas la première fois).

La photo au début de cet article est loin de la première version de l'appareil. Le premier était sur la planche à pain et fonctionnait via le port COM. Je me souviens comment les passants m'ont fait comprendre à tous points de vue que j'avais l'air suspect quand je me tenais à la porte d'un immeuble à plusieurs étages avec un ordinateur portable ouvert et que je voyais quelque chose dans l'interphone.

Ensuite, il y a eu plusieurs versions plus compactes, que j'ai rassemblées et démontées par souci d'intérêt. L'avant-dernier a volé l'un des personnages principaux de mon précédent article. La version actuelle a été compilée le 29 janvier de cette année, entre les leçons que j'enseigne dans mon cercle. Il a été assemblé uniquement dans le but de m'assurer que je n'ai mal informé personne, et le firmware avec le circuit a fonctionné.

Source: https://habr.com/ru/post/fr485104/


All Articles