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
Ultima revisioneEntrambe le parti successive la revisione
progetti:keycardaccess [2018/09/22 08:37] – added details g5pwprogetti:keycardaccess [2023/04/22 23:41] 5p4k
Linea 2: Linea 2:
 <col md="9"> <col md="9">
 ====== KeycardAccess ====== ====== KeycardAccess ======
 +La versione 2 di [[KeycardAccess]] è la più vicina ad essere realizzata. [[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 9:
   * 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 
- +   
-Ciao a tutti! +Il sistema è pensato per essere ragionevolmente:
-Avverto che il progetto non è morto, ma "in pausa". Nel frattempo io ho pensato un paio di modi su come fare il sistema in modo che sia:+
   * Sicuro   * Sicuro
   * Non clonabile   * Non clonabile
-  * Relativamente robusto (resistente a perdita di rete e di corrente elettrica) +  * Robusto (resistente a perdita di rete e di corrente elettrica) 
-  * Relativamente low cost+  * Low cost
  
-===== Il sistema di apertura ===== +Il progetto: 
-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) quindi una copia completa del database di utentiOgni Pi controlla il proprio motore che aprirà la portaIl sistema meccanico di apertura è stato già progettato e realizzato da [[user>wifasoi]] [[user>glavermi]].+  * 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]]
  
-===== La tessera ===== +===== Tecnologie usate ===== 
-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. +  MIFARE DESFire EV2 
-==== Come funziona la DESfire? ==== +  * PN532 
-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: +  * ESP32 
-  * 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.txt
  • Ultima modifica: 2023/04/22 23:42
  • da 5p4k