NFC Key Cards (FabFire)
Functional PrincipleFunktionsprinzip
BasicBasis
CardKartenauthentifizierung authentication usingmit NXP/MiFare DESFireDESFire-Karten. cards.Diese TheseKarten cardssind havein theder abilityLage, toden restrictZugang accesszu forden dataDaten onauf theden cardsKarten usingdurch symmetricsymmetrische encryptionVerschlüsselung andund usingdie aVerwendung keyedeines Diffie-HellmanHellman-Schlüssels tozu preventbeschränken, eavesdroppingum bydas anyAbhören relayingdurch party.eine Aweiterleitende cardPartei haszu severalverhindern. “applications”Eine Karte hat mehrere „Anwendungen“, containingdie upbis tozu 32 files.Dateien Aenthalten. fileEine canDatei bekann readgelesen oroder written.geschrieben Bothwerden. kindsBeide ofArten accessdes canZugriffs bekönnen restrictedauf toParteien partiesbeschränkt knowingwerden, adie PSK,einen onPSK akennen, und zwar auf einer file-to-file basis.Basis.
FilesDateien
TheDas currentderzeitige systemSystem usesverwendet Filedie Dateien 0001 through Filebis 0003:
FileDatei 0001 allowserlaubt publicöffentlichen (i.e.d.h. unauthenticated)nicht readauthentifizierten) accessden andLesezugriff containsund theenthält Stringsdie Zeichenketten FABACCESS
, DESFIRE
, andund 1.0
asals packedgepackte listListe ofvon UTF-8 encodedkodierten zero-terminatednullterminierten strings.Zeichenketten.
Examples:Beispiel:
FABACCESS\0DESFIRE\01.0\0
ThisDiese fileDatei servesdient anals identifier,Kennung, allowinganhand aderer serverein toServer verifyüberprüfen ifkann, itob iser ablediese toKarte useverwenden this card.darf.
FileDatei 0002 allowserlaubt publicden readöffentlichen accessLesezugriff andund contains:enthält: AnEinen URL-encodedcodierten nameNamen ofdes theausstellenden issuingSpaces lab asals URN inim theFormat formaturn urn::fabaccess:lab:<labname>
Examples:Beispiele:
urn:fabaccess:lab:innovisionlab
urn:fabaccess:lab:Bibliothek%20Neustadt%20Makerspace
urn:fabaccess:lab:Offene%20Werkstatt%20M%C3%A4rz
AEin validgültiger IRI, der auf die bffh-Instanz verweist, die für dieses Labor läuft. Diese bffh sollte vom Internet aus erreichbar sein. Die Verwendung von IP-Adressen zur privaten Nutzung oder von IRIs, die auf solche Adressen verweisen, kann für Spaces hinter restriktiven Firewalls oder aufgrund lokaler Richtlinien erforderlich sein. Der IRI pointingmuss towardsdas the„fabaccess“-Schema bffhverwenden instanceund runningdarf forkeinen thisuserinfo-, lab.path-, Thisquery- bffhoder SHOULDfragment-Teil beenthalten. reachable from the internet. Using private use IP addresses or IRIs that resolve to such may be necessary for labs behind restrictive firewalls or due to local policy. The IRI MUST use the “fabaccess” scheme, and SHOULD NOT contain an userinfo, path, query, or fragment part. Examples:Beispiele:
fabaccess://innovisionlab.de/
fabaccess://192.168.178.65
fabaccess://fabaccess-server.localnet
AEine zero-terminatedmit listNull ofterminierte Liste von UTF-8 encodedkodierten IRIs givingmit contactKontaktoptionen, optionsum toden notifyKartenaussteller theoder issuer-besitzer orzu ownerbenachrichtigen, infalls casedie theKarte cardverloren hasgegangen beenist. lost.Emittenten Issuerssollten SHOULDeinen setWert onebei valueder onKartenerstellung cardfestlegen creationund andkönnen MAYden allowKarteninhabern carderlauben, ownersWerte toihrer changeWahl orzu addändern valuesoder ofhinzuzufügen. their choosing. Examples:Beispiele:
mailto:lostcard@innovisionlab.de
https://innovisionlab.de/lostcard
https://werkstatt-märz.decardlost.php?action=submitcardlost
FileDatei 0003 allowsermöglicht publicnach accessWahl ordes accessAusstellers usingden aöffentlichen key,Zugang atoder theden issuersZugang option.mit Iteinem containsSchlüssel. aSie tokenenthält thatein canToken, bedas usedvom byHeimatserver thedes homeKarteninhabers serververwendet ofwerden thekann, cardum ownerden toKarteninhaber identifyzu theidentifizieren. cardDas owner.Format Thedes formatTokens ofdarf thevon tokenkeiner MUSTanderen NOTPartei beals relieddem onHeimatserver byverwendet any party except the home server.werden.
FabFire SpecificationSpezifikation
Application Identifier (AID): 0x464142
NFC ImplementationImplementierungen
Tools
Tool forzur provisioningBereitstellung newneuer cardsKarten forfür usedas with the FabAccess card system.FabAccess-Kartensystem. https://gitlab.com/fabinfra/fabaccess/FabFire-Provisioning-Tool
FabFireFabFire-Adapter adapterübersetzt translatesMQTT mqttNachrichten messagesvon fromder theReader-Hardware readerin hardwaredie to apiAPI https://gitlab.com/fabinfra/fabaccess/fabfire_adapter
Hinweise zu NTAG von NXP
Unsere Client-App Borepin kann neben QR-Codes auch sogenannte "NTags" von NXP scannen. Hierzu muss die NFC-Funktion des Telefons/Tablets aktiviert sein, auf dem die App läuft. Beim Auflegen des Tags wird die entsprechende Aktion getriggert. Folgendes Datenformat wird auf dem NTag benötigt: fabaccess://fabaccess.local/resource/{machine id}
Vorlagen für Karten-Designs
https://gitlab.com/fabinfra/design
Sticker
Wer lieber mit scanbaren FabAaccess Stickern und nicht mit Stickern arbeiten will, siehe Beschriftungen und Sticker (FabAccess in der Werkstatt sichtbar machen)