Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Unique RFID Cloner - prosty duplikator RFID

mopsiok 10 Jul 2013 14:20 25320 20
IGE-XAO
  • Unique RFID Cloner - prosty duplikator RFID
    Witam

    Chciałbym pochwalić się tutaj swoją pierwszą ukończoną konstrukcją, która nadaje się do jakiejkolwiek prezentacji :). Jak nazwa tematu wskazuje, jest to urządzenie mające za zadanie odczytanie, a następnie emulację transpondera RFID. Podobno wykorzystywanie takiego czegoś nie zawsze jest legalne, więc nie umieszczę tutaj schematu całości, ani tym bardziej kodu.
    To, co wyróżnia mój Cloner (czy na korzyść, to już zostawiam pod ocenę Wam) to fakt, że nie zastosowałem EM4095. Założenie było takie, by jak najwięcej się przy tym projekcie nauczyć, więc oczywisty wydawał się wybór własnego czytnika.

    Jak działa urządzenie?
    Włączamy zasilanie i zapala się jedna z pięciu czerwonych diodek, sygnalizująca numer kodu, który był ostatnio emulowany. Od tego momentu Cloner emuluje kod zapisany w pamięci EEPROM pod tym numerem. Typowy czytnik wyłapuje urządzenie z odległości 4-5cm. Numer emulowanego kodu można zmieniać przyciskami granicznymi. Nic nie stoi na przeszkodzie by umieścić w pamięci więcej miejsca na kody (do 63). Tyle że wtedy trzeba by było inaczej rozwiązać kwestię wyświetlania numeru.
    Aby odczytać kartę, należy wcisnąć środkowy przycisk - zapali się zielona dioda i będzie się świecić do momentu odczytu karty lub anulowania operacji (ponowne wciśnięcie przycisku). Odczytany kod zapisywany jest w pamięci EEPROM i wysyłany przez USART z prędkością 9600 baud. Tak więc urządzenie może być używane jako zwykły czytnik, jednak byłoby to trochę uciążliwe.

    Za układ nadawczo-odbiorczy posłużył mi odpowiednio przerobiony czytnik RFID stąd: http://freshengineer.com/blog/simple-rfid-reader-module-design/ . Strona ostatnio nie chce się otwierać, ale w załączniku za symboliczny punkt daję schemat i zaprojektowaną płytkę czytnika z tej strony, który posłużył mi do testów. Wsadzenie kilku kluczy tranzystorowych w odpowiednie miejsca pozwoliło na emulację bez mechanicznego przełączania cewki (nie chciałem używać przekaźników).
    Zapewne można było rozwiązać to o wiele lepiej, ale biorąc pod uwagę że z elektroniki analogowej jestem raczej zielony, to rozbudowa czytnika o emulację i tak jest dla mnie sporym powodem do radości :).

    Zdjęcia skończonego urządzenia:
    Unique RFID Cloner - prosty duplikator RFID Unique RFID Cloner - prosty duplikator RFID Unique RFID Cloner - prosty duplikator RFID
    Unique RFID Cloner - prosty duplikator RFID

    Prezentacja działania:


    I jeszcze zdjęcie prototypu:
    Unique RFID Cloner - prosty duplikator RFID

    Podsumowanie
    Zdecydowanie najsłabszą (i najmniej estetyczną) częścią urządzenia jest cewka. Podczas nawijania nie miałem jak sprawdzić indukcyjności, więc trzymałem się sztywno wyliczonych przez kalkulator wartości. Dopiero po jakimś czasie znalazłem ten link: http://www.diysubwoofers.pl/zwrotnice/jak-wykonac-cewke-indukcyjna , w wyniku czego udało mi się dokonać pomiaru kilku cewek, ale nie miało to już większego znaczenia, bo układ był na ukończeniu. Próbowałem wcześniej użyć także gotowej cewki przeznaczonej do czytników RFID - po odpowiednim dobraniu kondensatora prąd płynący w obwodzie LC był 3 razy większy, ale paradoksalnie wpłynęło to negatywnie na zasięg, którego zasadniczo w ogóle nie było (chyba tylko raz udało mi się coś odczytać, a wysłać nigdy). Pewnie było to spowodowane kształtem cewki.
    Cloner jest zasilany z 7-20V. To znaczy miał być, bo niechcący zamiast stabilizatora 5V wmontowałem 3.3V, o czym dowiedziałem się dopiero podczas testów. Nie udało mi się przy takim napięciu niczego wysłać, a nie miałem w domu stabilizatora 5V w SMD, więc całość trzeba zasilać ze stabilizowanych 5V. Można było dać jakąś przetwornicę i zasilać wszystko z baterii bezpośrednio na płytce, ale trochę za późno o tym pomyślałem, a i tak nie miałem takiego cuda u siebie w domu.
    Cała płytka ma wymiary 86x64 mm (tyle co karta RFID), natomiast elektronika zmieściła się na polu 54x40mm. Różnica jest spora, w sumie jedynym powodem dla którego zrobiłem całość wielkości karty jest fakt, że miałem sporą cewkę, a nie chciałem żeby wisiała gdzieś obok urządzenia.
    Wiem że 16MHz i ATmega16L raczej w parze iść nie powinny, ale mam za dużo "L" i muszę się ich jakoś pozbyć :D. A na 8MHz się nie wyrabiało.

    Finansowo na cały projekt poszło około 8 złotych (ceny części elektronicznych na giełdzie to masakra), reszta była w domu. A kosztorys ogólny wygląda następująco:
    - rezystory: ~0.50zł
    - kondensatory: ~0.50zł
    - diody (zwykłe i LED): ~0.5zł
    - przyciski: ~0.5zł
    - kwarc: 1zł
    - LM224: 1zł
    - ATmega16L: 9zł
    ŁĄCZNIE: 13zł

    Na zakończenie proszę o względnie łagodne przyjęcie - wiem, że estetyka i zastosowane rozwiązania nie powalają na kolana, ale jest to mój pierwszy przedstawiany tutaj projekt. Jestem też stosunkowo młody (po wakacjach 3 klasa technikum), będę jeszcze mieć czas na nadrobienie zaległości :D.

    Pozdrawiam
    mopsiok
    Attachments:

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    mopsiok
    Level 14  
    Offline 
    Więcej dziwnych rzeczy na: https://www.youtube.com/user/mopsiok
    Has specialization in: wyważanie otwartych drzwi
    mopsiok wrote 179 posts with rating 406, helped 0 times. Live in city Kraków. Been with us since 2010 year.
  • IGE-XAO
  • #2
    fascynat
    Level 24  
    Ciekawe urządzenie.
    Jeżeli chodzi o montaż, to mim zdaniem trochę za dużo cyny na ścieżkach i punktach lutowniczych.
    Schemat całości urządzenia + oprogramowanie, to Twoje projekty?
    Wykonanie z pewnością nie jest nielegalne ale używanie do niecnych celów z pewnością, dlatego też nie krępuj się i zamieszczaj co możesz, jestem zainteresowany :D
  • #3
    mopsiok
    Level 14  
    Dzięki za komentarz.
    Tak jak pisałem, oparłem się na schemacie czytnika z podlinkowanej wyżej strony. W programie funkcje odczytujące zaczerpnąłem stąd: http://www.forbot.pl/forum/topics20/komunikacja-karty-rfid-w-praktyce-vt7676.htm , ale część musiałem pozmieniać żeby dobrze współgrało z resztą programu. Kodu nie zamieszczę, ale jak moderatorzy nie będą mieć nic przeciwko to wrzucę schemat mojego układu wykonawczego.

    Tak wygląda moja modyfikacja:
    Unique RFID Cloner - prosty duplikator RFID
    Podczas odczytu RW1=1, RW2=0, W=1; podczas zapisu RW1=0, RW2=1, na W wysyłamy zakodowane dane.
    Tylko jak tak teraz patrzę to T4 powinien być PNP, byłyby lepsze osiągi (aktualnie odczyt mam z jakichś 2 mm, a przed wmontowaniem tego tranzystora był z centymetra). Oczywiście w takim przypadku dla odczytu RW1=0 i dla zapisu 1.

    Wybaczcie, ale kodem się nie podzielę. Trochę nad tym siedziałem... Powyższe wskazówki powinny być wystarczające ;).

    Nie piszemy post pod postem, używaj opcji "Edytuj".
    Scaliłem.

    [Popak]

    Dzięki, ale wcześniej między tymi postami były jeszcze 2 inne wypowiedzi :).
  • IGE-XAO
  • #4
    piotrva
    VIP Meritorious for electroda.pl
    austin007 wrote:
    Z całym szacunkiem do włożonej pracy, ale taki projekt w DIY bez kodu czy choćby wsadu jest bezużyteczny i nic nie wnosi poza powszechnie znane i publikowane projekty.W tej formie to czyste przechwałki

    Moim zdaniem nie - został choćby przedstawiony schemat modulatora/demodulatora od podstaw. Fajnie by było, gdybyś dokładnie opisał działanie tego układu analogowego.
    Poza tym fajnie, że ktoś coś zaczerpnął z mojego artykułu sprzed roku, który teraz jest dostępny także w bardziej przystępnej formie: http://mikrokontrolery.blogspot.com/2011/03/rfid-avr-emulator-odbiornik-em4095-125kHz.html
  • #5
    mopsiok
    Level 14  
    Rozumiem Was Panowie, ten dział poniekąd zobowiązuje do podzielenia się (przynajmniej częściowo) tym co się zrobiło. Nie zgodzę się jednak z tym, że temat nadaje się do kosza, bo najważniejszą część projektu udostępniłem i opisałem, a już na pewno nie narusza on regulaminu wewnętrznego. Na chwilę obecną kodów źródłowych udostępniać nie będę, może za jakiś czas, choć wątpię.

    piotrva wrote:
    Fajnie by było, gdybyś dokładnie opisał działanie tego układu analogowego.

    Nie jestem twórcą całości, sam schemat czytnika był bardzo dokładnie opisany na blogu. Powiem zatem kilka słów o mojej modyfikacji, choć wyżej już coś o tym wspominałem. Chcąc uniknąć stosowania przekaźników do przełączania cewki między obwodem odczytującym a nadającym, postanowiłem wpiąć w okolice obwodu LC kilka kluczy tranzystorowych:
    T4 - przy nadawaniu nie przewodzi, dzięki czemu do obwodu LC nie dochodzi żaden prąd z zewnątrz (w tym przypadku jest to po prostu odłączenie od sygnału prostokątnego, którym jest taktowany obwód przy odczycie). Tak jak wspominałem wyżej, lepszy byłby PNP.

    T5 - przy nadawaniu przewodzi - ma za zadanie zewrzeć na stałe drugie wyprowadzenie cewki do masy (gdyby nie to, to cewka byłaby zwierana do masy przez T3, ale tylko przez połowę okresu sygnału zegarowego). Można by to było obejść programowo, to znaczy żeby przy trybie zapisu nie generować zegara, tylko podawać "jedynkę" na sztywno, ale przerwanie generujące zegar wykonuje się 250 tysięcy razy na sekundę, więc efektywniej jest tam dać negowanie bitu na porcie, niż cały warunek. Dzięki zwarciu cewki do masy, jest ona połączona równolegle w stosunku do C6 (C6' występuje tam dlatego, że nie miałem odpowiedniej wartości i musiałem łączyć 2 kondensatory szeregowo), czyli mamy obwód do nadawania. To, że dalej jest dioda i sygnał idzie do części demodulującej, to już nie jest istotne, bo ATmega olewa przerwania ICR jeśli jest ustawiona w tryb nadawania.

    T6 - jest to po prostu tranzystor bezpośrednio nadający sygnał. Ze względu na otaczające go elementy, nie chciał działać na logice 0-5V i z tego względu trzeba go obsłużyć przez PNP zwierający bramkę T6 do zasilania. To, że taki zabieg odwróci logikę jest akurat nieistotne, bo całość kodowana jest Manchesterem i czytniki i tak rozpatrują obie możliwości (czyli w przypadku błędu odczytu negują całą ramkę i próbują odczytać jeszcze raz).

    Mam nadzieję że nieco rozjaśniłem sprawę :). Jeśli chodzi o dalszą część układu (tę ze wzmacniaczami), to nie jestem w stanie jej wytłumaczyć. Z tego co pamiętam po przeczytaniu oryginalnego wpisu, to pierwsze dwa wzmacniacze odpowiadają za wykrycie i wzmocnienie sygnału modulującego (chodzi mi o tę "krawędź"), a ostatni porównuje to z jego wartością średnią, żeby jak sygnał wyjściowy był jak najlepszej jakości.

    Pozdrawiam!
  • #6
    piotrva
    VIP Meritorious for electroda.pl
    Co do kodów źródłowych to w linkach do moich artykułów są odpowiednie kody osobno.
    Też zrobiłem kompleksowe urządzenie pt. Czytnik/kloner/emulator (funkcje to: odczyt ID karty, zapis do pamięci urządzenia, odczyt jednej z 50 pozycji z pamięci, możliwość ręcznej modyfikacji ID oraz oczywiście emulacja danego ID), ale w całości nie prezentuję tego rozwiązania.

    Mimo wszystko jednak wypadałoby w jakiś sposób zwrócić uwagę firm produkujących te systemy na problem łatwego klonowania tych kart...
  • #7
    gbd.reg
    Level 21  
    No tak, bo wszystko czego żywcem się nie da skopiować, do kosza się nadaje a nie do działu DIY, bo przecież nie jest to DIY tylko komercyjne wykonanie, tak?

    Poza tym pozwolę sobie zacytować opis działu:
    Album własnych działających konstrukcji stworzonych samodzielnie, pochwal się całemu światu co stworzyłeś!

    Regulamin wewnętrzny nie nakazuje umieszczania kodów źródłowych.

    Autor umieścił tutaj bardzo wiele merytorycznych treści pozwalających na stworzenie podobnego projektu, choćby schemat urządzenia. Rozumiem, że nie każdy się zna i sam program napisze, ale narzekanie, że temat się do kosza nadaje?

    Jakiś moderator powinien tu zaglądnąć i posprzątać...

    //edit
    Przepraszam, gdy pisałem post, już ktoś posprzątał... :)
  • #8
    piotrva
    VIP Meritorious for electroda.pl
    No racja, racja. Powiem szczerze, że do moich badań natchnął mnie bardzo podobny temat sprzed kilku lat. Też ktoś prezentował funkcjonalnie identyczne urządzenie i nie udostępnił kodów - gdy zabrałem się za temat wystarczyły 2 dni i miałem to samo na biurku, co uważam za dużo bardziej kształcące niż skopiowanie gotowca.
  • #9
    mopsiok
    Level 14  
    Myślę że mógł nas natchnąć ten sam temat :D. https://www.elektroda.pl/rtvforum/topic1747390.html ?

    piotrva wrote:
    wystarczyły 2 dni i miałem to samo na biurku, co uważam za dużo bardziej kształcące niż skopiowanie gotowca

    Z tego samego powodu postanowiłem zrezygnować ze standardowych rozwiązań z EM4095 i przekaźnikami i pomyśleć coś samemu. Efekt jest taki, że mam cewkę-bydlę i odczyt z 2mm :lol:, ale i tak jestem zadowolony. Mam nadzieję że wybaczone mi będzie to niestandardowe podejście do tematu.
  • #10
    jajen
    Level 17  
    Ostatnio nagminnie daje się zauważyć na tym forum żądanie udostępnienia kodu. Niedawno pokazałem projekt nie udostępniając kodu i trafił oczywiście do kosza bo kilku niezadowolonych pożaliło się do moderatora, a ten oczywiście zrobił co zrobił. Jak ktoś chce kod, to niech zaproponuje zakup prawa do jego używania a autor zapewne to rozważy. Sam projekt bardzo fajny. Natomiast nieco śmieszne jest stwierdzenie , że kodu nie udostępniam bo użycie urządzenia nie zawsze jest legalne. To tak jakby projektant noża nie chciał pokazać swojego projektu z obawy, że ktoś zrobi nóż i z jego pomocą dokona zabójstwa. Trzeba zachować trochę rozsądku i minimum świadomości prawnej. Odnośnie projektu - jaką metodą wykonano PCB i w jaki sposób ocynowano ścieżki?
  • #11
    mopsiok
    Level 14  
    Fakt, może źle się wyraziłem - co do udostępnienia schematu miałem wątpliwości ze względu na dopisek w pierwszym poście tematu, który podlinkowałem 2 posty wyżej. Kodu nie udostępniam bardziej ze względu na fakt, że poświęciłem na ten projekt dużo czasu i szkoda to bezinteresownie oddawać (bądźmy realistami :) ).

    Mozaikę ścieżek przeniosłem standardowo termotransferem, a wytrawiałem w nadsiarczanie sodu. Cynowanie normalnie lutownicą, z padów SMD ściągałem nadmiar plecionką żeby scalaki równo leżały. Ale właśnie zakupiłem tu na forum stop Lichtenberga, więc w temacie cynowania będzie można poszaleć :D.
  • #12
    slawek55
    Level 23  
    Zwróć uwagę że też zaczerpnąłeś ze źródła. I ktoś też bezinteresownie zrobił Tobie prezent (schemat, kod biblioteki choćby we fragmentach). Więc zasada dla mnie tak a dla innych nie działa na krótką metę.
    Piszę to nie w celu upomnienia się o źródła, ale dla zwrócenia uwagi jaki masz sposób myślenia.
  • #13
    bercikzb
    Level 20  
    Takie coś przydało by się do uświadamia ludzi jakie niesie zagrożenie korzystanie z RFID. Gość chce zapłacić za zakupy a ty przykładasz urządzenie do jego portfela którego jeszcze nie wyciągnął z kieszeni a potem przystawiasz do kasy.Sprzedawca potwierdza, że zapłacono za zakupy i zaprasza ponownie. Mina gościa bezcenna :D
  • #14
    piotrva
    VIP Meritorious for electroda.pl
    @bercikzb:
    No niestety nie do końca tak.
    Karty płatnicze jak i karty komunikacji miejskiej (przynajmniej w Królewskim Krakowie) itp. systemy nie korzystają ze standardu Unique 125kHz (na szczęście), ale z Mifare (13,6MHz).
    System ten daje już dużo większe możliwości jeśli chodzi o bezpieczeństwo. Po pierwsze odczyt czegokolwiek z karty chroniony jest hasłem, dane są szyfrowane a zwracane przez kartę wartości są najczęściej nie danymi statycznymi ale odpowiedzią generowaną dynamicznie na podstawie przesłanego zapytania. Tego typu kart nie da się skopiować w parę sekund jednym piknięciem - przykładowo kopiowanie kluczyka z immobiliserem (nowsze działają na podobnej zasadzie jak karty płatnicze) trwa paręnaście-parędziesiąt minut...
    A jeśli ktoś się bardzo, bardzo boi to wystarczy owinąć kartę w etui z folią aluminiową.

    A zwykłą kartę Unique 125kHz (o ile ktoś nie ma ich przy sobie kilka) do drzwi można przy odpowiednim sprzęcie odczytać z odległości paru metrów...
  • #15
    mopsiok
    Level 14  
    slawek55 wrote:
    Zwróć uwagę że też zaczerpnąłeś ze źródła.

    Owszem, zaczerpnąłem i nie ukrywam tego od początku. Podałem źródła, opisałem swoje rozwiązania i modyfikacje tak by można je było samemu wykorzystać, dorzuciłem schemat. Nie wydaje mi się więc bym się niczym nie podzielił :). A kod wolę zostawić dla siebie, to że skorzystałem z czyichś źródeł nie znaczy że muszę oddawać całą swoją pracę. Która tak naprawdę w dużej części polegała na modyfikacji, którą przecież udostępniłem.

    bercikzb wrote:
    Takie coś przydało by się do uświadamia ludzi jakie niesie zagrożenie korzystanie z RFID.

    Karty płatnicze, autobusowe itp. na pewno nie opierają się na systemie Unique, on jest za prosty do obejścia. Z tego co czytałem to dużo tego typu rzeczy się robi w oparciu o Mifare, ale krążą po internecie słuchy że ludzie klonują także takie karty. Pierwsza lepsza fraza w Googlu i jest tego pełno...

    Dodano po 4 [minuty]:

    Piotrva, mógłbyś wyjaśnić w jaki sposób działa ta folia? Odbija fale, czy coś w ten deseń? (Przepraszam jeśli pytanie głupie, nie znam się na rzeczy ^^)
  • #16
    piotrva
    VIP Meritorious for electroda.pl
    Folia pełni rolę klatki Faradaya. Na Pewnym portalu aukcyjnym można kupić "eleganckie" etui działające na tej zasadzie za dosyć wygórowane kwoty :D
  • #17
    rogeros
    Level 13  
    Witam.
    Chciałem pogratulować sukcesu koledze mopsiok.
    Od jakiegoś czasu pracuję nad czytnikiem RFID z tym że na innej kości HTRC110
    ale mam problem z doborem anteny a dokładnie zasięgiem odczytu karty od cewki.

    Podejrzewam że anteny przy układzie jaki wykorzystał kolega mopsiok oraz jaki wykorzystuje układ HTRC110 dobiera się w podobny sposób.

    I tu pytanie do autora czy przeprowadzał testy na jakiej cewce (ilość mH)
    miał największy zasięg?

    U mnie niestety jest to ok. 2cm karty i z 5mm pastylki :(
  • #18
    mopsiok
    Level 14  
    Rogeros, nie rzuciłeś okiem na schemat :) - ja nie używam żadnej kości do dekodowania. Na płytce poza ATmegą są tylko dwa scalaki - stabilizator i wzmacniacz operacyjny x4.
    Z tego co zauważyłem to zasięg nie zależy bezpośrednio od indukcyjności - ją się dobiera tak żeby wystąpił rezonans w obwodzie LC dla 125kHz (wtedy płynie największy prąd w gałęzi, co chyba przekłada się na zasięg). Zasięg zależy bardziej od kształtu anten (tej w czytniku i tej w transponderze). Na przykład kiedy mój cloner miał identyczną antenę jak czytnik, to w ogóle nie chciało wyłapywać emulacji. Z kolei karta która miała antenę rozmieszczoną względnie przy krawędziach (czyli prostokątną) była lepiej czytana moim urządzeniem niż karta z cewką okrągłą o średnicy ~20mm.
    Przed wprowadzeniem modyfikacji do układu czytnika na ręcznie nawijanej antenie (na ok , na podstawie kalkulatora) miałem odczyt z 1 cm, więc i tak gorzej niż Kolega :). Czytnik który ostatnio kupiłem ma na swoim pokładzie układ U2270B i odczyt mam z 5 cm co najmniej. Podobno można go dostać w Polsce.

    Pozdrawiam
  • #19
    Szymon Tarnowski
    Level 27  
    rogeros wrote:
    Od jakiegoś czasu pracuję nad czytnikiem RFID z tym że na innej kości HTRC110
    ale mam problem z doborem anteny a dokładnie zasięgiem odczytu karty od cewki.
    Podejrzewam że anteny przy układzie jaki wykorzystał kolega mopsiok oraz jaki wykorzystuje układ HTRC110 dobiera się w podobny sposób.
    I tu pytanie do autora czy przeprowadzał testy na jakiej cewce (ilość mH)
    miał największy zasięg?
    Zajrzyj w application manual do HTRC, tam jest wyraźnie napisane jak dobierać cewki. Zasadniczo im większa indukcyjność, tym większe Q i lepszy zasięg, a pojemność dobiera się za każdym razem do rezonansu.
  • #20
    tatanka
    Level 20  
    Mifare juz dawno zostalo polamane.
    Nie wiem po co tak kombinowac z cewka. Na zlomie kupisz jakies stare immo z gotowa cewka.
  • #21
    Szymon Tarnowski
    Level 27  
    tatanka wrote:
    Mifare juz dawno zostalo polamane.
    Ale nadal Mifare jest dużo bardziej bezpieczniejsze niż UNIQUE. MIFARE nie stosuje się do transakcji bankowych, jedynie do transakcji z wykorzystaniem biletów i podobnych aplikacjach, gdzie wartość transakcji jest stosunkowo mała. Do tego są już nowe typy MIFARE które nie wykorzystują CRYPTO-1 tylko chyba AES (nie mylić z kartami DESFire) i karty kosztują mniej więcej tyle samo co stare MIFARE.