Wiki source for Blog20190511LectureDeNFC


Show raw source

L'idée c'est de voir les possibilités d'un lecteur NFC ACR122

=== Infos sur lecteur NFC ===
ACR122 P/N ACR122U-A9
power 5VDC, 200 mA => ok alimenté sur port usb
S/N RR171-390311

Cela permet de lire
~- les clés vigik (stq, ver)
~~- ça tombe bien, le n° inscrit sur mon vigik est illisible (trop usé) et nous cherchons à changer de portail d'entrée (et notre syndic n'a pas forcément l'historique du précédent syndic)
~- pas ma CB,
~~- j'ai demandé à désactiver le NFC pour le paiement sans contact : 20 € de limite c'est déjà trop si en passant chez 10 commerçants avant une vérification en ligne cela m'extorque 200 € à mon insu, je ne souhaite pas payer les courses d'un autre
~~- mon libraire refuse d'être complice de cette arnaque et ne propose pas le paiement sans contact via CB, nous avons des valeurs communes :-)
~- carte tickets restau : ya toujours une vérif en ligne, heureusment
~- pass navigo découverte : si la SNCF a besoin qu'on en vérifie la sécurité, faudra me payer :-)
~- carte du boulot : entrée, cantine, machine à café => multi-fonction ?
~~- cela peut être intéressant de voir comment cela est compartimenté
~~- je veux bien des cafés gratuits, mais si la cantine n'est pas sécurisée, ça me dérange, pour l'entrée l'ingénierie sociale suffit :/ (je puis élaborer)


L'idée est de voir les données lisibles, ce qui permettrait d'identifier une personne de manière unique
~- cela fonctionne presque à une distance de 5 cm
~- j'ai aussi des tickets de transport belges qui sont passés au rfid : voir si cela fonctionne
~- voir le comportement lorsque plusieurs cartes sont présentées en même temps
~- cela peut permettre de se logguer sans rentrer son mot de passe (un pam_nfc ou un gdm_nfc ?) ya le même genre de chose avec le bluetooth (lock de la session lorsque trop loin, réouverture lorsqu'on revient, en étant accueilli avec un peu de synthèse vocale :D)

== clés vigik de notre co-propriété ==
badges existants de type Urmet MémoProx
https://www.domomat.com/17575-badge-de-proximite--urmet-memoprox.html
12 € proposé par prestataire o_O de l'ordre de 5 € en achat à l'unité ?! 1 € en chine...

== on peut aussi dupliquer du NFC ==
Pratique pour avoir un vigik de plus à moindre prix pour sa co-propriété. Trouver comment identifier qu'on a une carte mifare et que c'est du RFID classique.

https://www.geeek.org/comment-faire-une-copie-exacte-d-une-carte-rfid-651.html
https://www.geeek.org/hacking-comment-cloner-une-carte-rfid-695.html

https://www.latelierdugeek.fr/2015/07/17/dupliquer-contenu-puce-rfid-mifare-classic/
https://www.latelierdugeek.fr/2017/07/12/rfid-le-clone-parfait/

Identifier les risques de griller la carte d'origine. L'idée c'est de garder le vigik d'origine intact, cela ne serait que pour donner un copie à un voisin pour permettre l'entrée dans la copropriété lors de visites pour devis lorsque je ne peux pas me libérer.

https://github.com/nfc-tools voir ce qui est utilisable et à quoi cela sert.
~- http://nfc-tools.org
~- http://nfc-tools.org/index.php/Devices_compatibility_matrix
~-

=== Résultats sur Mageia 6 ===
== paquets de la distribution disponibles pour le NFC ==

$ urpmq -ay nfc
lib64qt5nfc-devel
lib64qt5nfc5
libqt5nfc-devel
libqt5nfc5
python-qt5-nfc
python3-qt5-nfc
qtnfc5

$ rpm -qa|grep -i nfc # paquets installés
lib64qt5nfc5-5.9.4-1.mga6
python3-qt5-nfc-5.6-8.mga6

$ uname -a
Linux zenbaud.localdomain 4.14.106-desktop-1.mga6 #1 SMP Thu Mar 14 18:01:29 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux


== branchement initial ==
Au branchement, sans opération spécifique, une lumière rouge s'allume :

%%mai 11 21:04:50 zenbaud.localdomain kernel: usb 1-2: new full-speed USB device number 4 using xhci_hcd
mai 11 21:04:50 zenbaud.localdomain kernel: usb 1-2: New USB device found, idVendor=072f, idProduct=2200
mai 11 21:04:50 zenbaud.localdomain kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
mai 11 21:04:50 zenbaud.localdomain kernel: usb 1-2: Product: ACR122U PICC Interface
mai 11 21:04:50 zenbaud.localdomain kernel: usb 1-2: Manufacturer: ACS
mai 11 21:04:50 zenbaud.localdomain mtp-probe[24805]: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
mai 11 21:04:50 zenbaud.localdomain mtp-probe[24805]: bus: 1, device: 4 was not an MTP device
mai 11 21:04:50 zenbaud.localdomain kernel: nfc: nfc_init: NFC Core ver 0.1
mai 11 21:04:50 zenbaud.localdomain kernel: NET: Registered protocol family 39
mai 11 21:04:50 zenbaud.localdomain systemd[1]: Starting Load/Save RF Kill Switch Status...
mai 11 21:04:50 zenbaud.localdomain kernel: usb 1-2: NFC: NXP PN532 firmware ver 1.6 now attached
mai 11 21:04:50 zenbaud.localdomain kernel: usbcore: registered new interface driver pn533_usb
mai 11 21:04:50 zenbaud.localdomain systemd[1]: Started Load/Save RF Kill Switch Status.
mai 11 21:04:50 zenbaud.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mai 11 21:04:50 zenbaud.localdomain kernel: audit: type=1130 audit(1557601490.981:12027): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mai 11 21:04:50 zenbaud.localdomain pcscd[4030]: 00000000 ccid_usb.c:605:OpenUSBByName() Can't claim interface 1/4: LIBUSB_ERROR_BUSY
mai 11 21:04:50 zenbaud.localdomain pcscd[4030]: 00000110 ifdhandler.c:144:CreateChannelByNameOrChannel() failed
mai 11 21:04:50 zenbaud.localdomain pcscd[4030]: 00000010 readerfactory.c:1110:RFInitializeReader() Open Port 0x200000 Failed (usb:072f/2200:libudev:0:/dev/bus/usb/001/004)
mai 11 21:04:50 zenbaud.localdomain pcscd[4030]: 00000004 readerfactory.c:375:RFAddReader() ACS ACR122U PICC Interface init failed.
mai 11 21:04:50 zenbaud.localdomain pcscd[4030]: 00000069 hotplug_libudev.c:520:HPAddDevice() Failed adding USB device: ACS ACR122U PICC Interface%%

$ lspcidrake -vv|grep -i acr
pn533_usb : ACS|ACR122U PICC Interface [Chip/SmartCard] (vendor:072f device:2200)

=== Configurer les compléments pour le NFC ===

Prendre toutes les dépendances, pas forcément disponible sur Mageia (avec une debian cela serait plus facile il semble...)

https://github.com/nfc-tools/libnfc
https://github.com/nfc-tools/mfoc

rpm -qa|grep usb|grep lib|sort
lib64gusb2-0.2.10-1.mga6
lib64usb1.0_0-1.0.21-1.mga6
lib64usb1.0-devel-1.0.21-1.mga6
lib64usb-compat0.1_4-0.1.5-8.mga6
lib64usb-compat0.1-devel-0.1.5-8.mga6
lib64usbmuxd2-1.0.9-6.1.mga5
lib64usbmuxd4-1.0.10-3.mga6
lib64usbredirhost1-0.7.1-2.mga6
lib64usbredirparser1-0.7.1-2.mga6
libusb1.0_0-1.0.21-1.mga6
libusb1.0-devel-1.0.21-1.mga6
libusb-compat0.1_4-0.1.5-8.mga6
libusb-compat0.1-devel-0.1.5-8.mga6

./configure
make


=== Utilisation ===
== voir les contenus ==

nfc-list : fourni par ? => le rajouter à un paquet existant ou à créer (dans un premier temps, le compiler fonctionne)
PCSC c'est où ? paquet pscs-lite
~- de ce côté c'est un peu mieux pour les paquets disponibles urpmq -ay pcsc
lib64pcsclite-devel
lib64pcsclite1
lib64pcscspy0
pcsc-cyberjack
pcsc-lite
pcsc-lite-doc
pcsc-spy
pcsc-tools
perl-pcsc-perl




== tests ==
2 cartes en même temps : laquelle est prise en 1er ?

== mise en œuvre ==
git => compiler ce qui est utile (et qui manquerait, homogénéiser par rapport à Debian par exemple)

=== avis perso ===
Fournir un iso ou du docker, c'est la solution pour imbécile.

J'ai besoin que cela fonctionne sur mon système, pas en installer un autre que je ne maîtrise pas (ni en amont visiblement).
Je suis prêt à faire l'effort de suivre une méthode de construction censée fonctionner : si j'y arrive, cela la validera, je pense que cela apporte plus qu'une solution de facilité les yeux bandés et le trou duc serré.


----
CategoryHacking
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki