Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
progetti:keycardaccess [2018/09/22 08:38] g5pwprogetti:keycardaccess [2023/04/22 23:42] (versione attuale) – [KeycardAccess] 5p4k
Linea 2: Linea 2:
 <col md="9"> <col md="9">
 ====== KeycardAccess ====== ====== KeycardAccess ======
 +Il progetto:
 +  * La libreria per PN532 e Mifare [[https://git.mittelab.org/proj/libspookyaction|sorgente]], [[https://proj.mittelab.dev/libspookyaction|documentazione]]
 +  * Il progetto per l'apriporta [[https://git.mittelab.org/proj/keycard-access|sorgente]]
 +
 +[[user:5p4k]] e [[user:wifasoi]] hanno realizzato una libreria per la comunicazione con la nostra tessera da un ESP32.
 +
 KeycardAccess è il sistema di apertura porte / autenticazione di Mittelab. È basato sulle seguenti tecnologie: KeycardAccess è il sistema di apertura porte / autenticazione di Mittelab. È basato sulle seguenti tecnologie:
  
Linea 7: Linea 13:
   * MIFARE DESfire EV1 (per le card NFC)   * MIFARE DESfire EV1 (per le card NFC)
   * PN532 (Lettore RFID/NFC)   * PN532 (Lettore RFID/NFC)
-  * OrangePi Nano +  * ESP32 
 +  
 Il sistema è pensato per essere ragionevolmente: Il sistema è pensato per essere ragionevolmente:
   * Sicuro   * Sicuro
Linea 15: Linea 21:
   * Low cost   * Low cost
  
-===== Il sistema di apertura ===== +===== Tecnologie usate ===== 
-Ogni porta avrà una OrangePi Zero con lettore basato sull'integrato PN532. Ogni Pi avrà una replica di FreeIPA (il nostro sistema di autenticazione centrale) e quindi una copia completa del database di utenti. Ogni Pi controlla il proprio motore che aprirà la porta. Il sistema meccanico di apertura è stato già progettato e realizzato da [[user>wifasoi]] e [[user>glavermi]]. +  MIFARE DESFire EV2 
- +  * PN532 
-===== La tessera ===== +  * ESP32 
-La tessera socio è già stata realizzata, e si basa sul sistema MIFARE DESfire EV2. Queste tessere sono equiparate a smart card, e possono utilizzare gli stessi protocolli delle carte contactless. +  * ...
-==== Come funziona la DESfire? ==== +
-La carta è divisa in //applicazioni//, che corrispondono vagamente a cartelle di un file system. Ogni applicazione può contenere //file// e //chiavi//. I file possono essere di vari tipi, tra i quali: +
-  * File standard +
-  * File standard con backup (mantiene //n// copie) +
-  * File strutturato (record) ciclico +
-  * File strutturato (record) lineare +
-  * File di valore (supporta operazioni di credito/debito) +
- +
-Le //chiavi// specificano permessi per leggere determinati file. +
- +
-==== Come gestiamo autenticazione e autorizzazione ==== +
-Le idee di base sono due, una più facile e una più difficile (ma più sicura) +
- +
-1Ogni tessera ha un file con dentro scritto il nome utente e una stringa segretaIl lettore legge il file in questione e controlla nel database utenti se l'utente è autorizzato ad aprire. +
-Questo sistema dovrebbe essere molto semplice da implementare, ma non è molto sicuro, infatti se qualcuno ottiene il file, può autenticarsi come quell'utente. +
- +
-2. Ogni tessera genera una coppia di chiavi asimmetriche, e la chiave pubblica viene trasferita nel sistema di autenticazione. Il lettore quindi chiede alla tessera di firmare una stringa di //challenge// e poi verifica da chi è stata firmata. +
-Questo sistema è molto più sicuro in quanto la chiave privata non lascia mai la tessera (è letteralmente impossibile trasferirla mediante il protocollo) ma è un po' più complesso da fare. +
- +
-====== Software ====== +
- +
-Esistono già librerie FOSS per parlare con le tessere, principalmente [[https://github.com/nfc-tools/libnfc|libnfc]] con [[https://github.com/nfc-tools/libfreefare|libfreefare]] e [[http://liblogicalaccess.islog.com|liblogicalaccess]]. Le prime due sono documentate un po' male, ma le ho testate e funzionano con il nostro lettore e la tessera. La seconda è da testare. +
- +
-Sarebbero quindi da sviluppare due software: +
-  * Uno che parte da una tessera vuota, e imposta la chiave master (PICC key), crea l'applicazione e il layout necessario +
-  * Una che legge la tessera e fa l'autenticazione+
  
 ===== Materiali ===== ===== Materiali =====
-Librerie utilizzate: +  ESP32 
-  https://github.com/nfc-tools +  * PN532
-  * https://desfire.readthedocs.io/ +
- +
-===== Applicazione pratica ===== +
-Laser cutter: +
-  * TODO link a git -> disegni +
-  * TODO note aggiuntive +
- +
-====== Progetti simili ====== +
-  * https://github.com/RandomWireTechnologies +
-  * https://www.codeproject.com/Articles/1096861/DIY-electronic-RFID-Door-Lock-with-Battery-Backup?msg=5304529 +
- +
-====== Link utili ====== +
-* https://www.olimex.com/Products/Modules/RFID/MOD-RFID1356MIFARE/ +
- +
- +
 </col> </col>
 <col md="3"> <col md="3">
-<panel type="default" title="KeycardAccess" no-body="true">+<panel type="default" title="Keycardaccess V2" no-body="true">
 <list-group> <list-group>
-  * **Responsabile**: g5pw +  * **Responsabile**: 
-  * **Membri**: g5pw, wifasoi, glavermi +  * **Membri** 
-  * **Data inizio**: 1/1/2017 +    * [[user:5p4k]] 
-  * **Data fine**: in corso+    * [[user:wifasoi]] 
 +    * [[user:g5pw]] 
 +  * **Data inizio**: 2020 
 +  * **Data fine**: 2023 
 +  * [[https://git.mittelab.org/proj/keycard-access|Repository]] 
 +  * [[https://talk.mittelab.org/t/keycardaccess-controllo-accessi/226/|Talk]]
 </list-group> </list-group>
 </panel> </panel>
 </col> </col>
 </row> </row>
 +
 +
  • progetti/keycardaccess.1537605513.txt.gz
  • Ultima modifica: 2018/09/22 08:38
  • da g5pw