[Fienchengarage] Inspiration / bestehende Lösungen

Ernesto Ruge mail at ernestoruge.de
Sa Mai 18 20:22:02 CEST 2019


Hallo, in die Runde,

danke für den schönen Einblick in euer Projekt!

Ich bin jetzt erst einmal zwei Wochen in Griechenland, so dass ich da
nicht viel direkt liefern kann. Was ich aber schon einmal geben wollte
ist eine kleine Verlinkung auf die öffentliche Dokumentation der
EMV-Karten. Ich vermute, dass es schwierig wird, konkret Code zum
Auslesen der Girocards zu verteile, aber die Dokumentation von EMV
selbst ist ja öffentlich, und ein paar Hinweise kann ich da durchaus
geben. Also:
https://www.emvco.com/wp-content/uploads/2017/05/EMV_v4.3_Book_3_Application_Specification_20120607062110791.pdf
.

Die Daten auf einer Girocard sind im ASN.1 Dialekt BER-TLV codiert.
Schönes Binärgedöns, wer immer schon mal binäre Codierungen lernen
wollte: die Girocard (und übrigens auch jede Kreditkarte, das ist alles
EMV) sind da wunderbare Übungszwecke.

Der grobe Prozess beim Auslesen einer Girocard ist:
- Index mit Applikationen lesen (Girocard ist eine Applikation, VISA
auch, MasterCard ebenso, ...)
- Applikations-Basisdaten abrufen, wo u.a. die Basisdaten für den
nächsten Request ausgegeben werden
- Get Processing Options Request senden, mit dem man dann den
Application File Locator = AFL bekommt, aus der sich die Datenspuren
berechnen lassen
- Datenspuren auslesen. Ein Teil davon ist Basis der dynamischen
Signatur, dies wird durch die AFL bestimmt
- Internal Authentificate Command senden und dynamisch signierte Daten
zurückbekommen

Um die Girocard als Auth-Medium zu verwenden, braucht man nicht den
kompletten Prozess durchziehen und kann bei einigen Daten auch Demodaten
eintragen (wie beispielsweise beim Betrag, der sollte unter 25 €
bleiben, um das PIN-Limit nicht zu erreichen, aber ansonsten ist das für
einen reinen Auth egal).

Mit den Begriffen dürftet ihr schon ein bisschen was machen können.
Darüber hinaus kann ich natürlich bei Details auch ein bisschen
mithelfen, nehmt es mir aber nicht übel, wenn ich da einen pragmatischen
Mittelweg zwischen Hinweisen und "ist unter NDA" gehe. Die Verifikation
selbst ist unter NDA, alleine wel der Public Key leider alles andere als
Public ist, bei dem Leser kann ich aber durchaus helfen.

Zu meiner Hardware: aktuell nutze ich als Test-Basis einen Raspberry Pi
und einen PN532. Der Adafruit-PN532 ist wunderbar stressfrei, die 5 $
China Dinger gehen aber auch. Angebunden ist der PN532 via SPI. Erste
Schritte mache ich gerade mit MicroPython auf einem ESP32, irgendwann
wirds bestimmt auch mal ne C-Version geben (aber ich bin nicht besonders
gut in C, also wäre das eher was, was ich mit externer Unterstützung
machen würde).

Und zu meiner Flask-Basis für allerlei Anwendungen: die stelle ich gerne
mal nach dem Urlaub online. Ist jetzt nichts, was man nicht auch durch
Tutorials bekommen kann, hat aber einige hübsche Features wie alles
dockerisiert, eine Webpack-ES6-React-Basis oder einen fertig
eingerichteten Background-Worker. Hat auch ein paar Holperigkeiten, die
ich aus Zeitmangel noch nicht gelöst habe, von da aus sind Pull Requests
gerne willkommen - aber als kleine Orientierung eignet sich das sicherlich.

Beste Grüße aus Athen,
Ernesto

Am 18.05.2019 um 19:55 schrieb Christoph:
> Hey Flo,
> 
> es gibt das Buchungssystem/Word-Press-Plugin, das wir bisher verwenden:
> http://dein-lastenrad.de/index.php?title=Commons_Booking#CB_1.0:_Das_Plugin
> 
> Bei dem Kalender könnte man sich an MRBS orietnieren:
> https://mrbs.sourceforge.io/
> 
> 
> @alle:
> 
> Wie ist die Tendenz, dass wir uns morgen treffen? Ich denke, dass es
> noch nicht so viel zu besprechen gibt, daher würde ich es offen halten
> für diejenigen, die morgen vielleicht Raum und Zeit nutzen wollen, um
> etwas zu erarbeiten. Was meint ihr?
> 
> 
> Grüße
> 
> Christoph
> 
> 
> 
> 
> Am 18.05.19 um 10:25 schrieb step21:
>> Hallo Alle,
>>
>> Beim Software/Hardwaretreffen ging es ja auch darum, von was/wem und welchen bestehenden Lösungen man sich was abschauen kann oder von denen man sich inspirieren lassen kann.
>> Gibt es dazu schon was neues zum Teilen?
>> Gerade von Ernesto würde mich sehr interessieren was er für Libraries benutzt hat o.ä. bei den Sachen die er teilen könnte.
>>
>> vlG
>>
>> Flo
>>
>> _______________________________________________
>> Fienchengarage mailing list
>> Fienchengarage at lists.devtal.de
>> https://lists.devtal.de/mailman/listinfo/fienchengarage
> 
> _______________________________________________
> Fienchengarage mailing list
> Fienchengarage at lists.devtal.de
> https://lists.devtal.de/mailman/listinfo/fienchengarage
> 

--------------------------------------------------
Ernesto Ruge
Am Hertinger Tor 1
59423 Unna
Telefon: 02303 6766916
Mail: mail at ernestoruge.de
URL: https://binary-butterfly.de/
GPG-Key für Verschlüsselung: A78F7C3C
Umsatzsteuer-ID: DE303487870


Mehr Informationen über die Mailingliste Fienchengarage