Forum: PC Hard- und Software Fragen zu Chipkarten


von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Hallo,

ich suche nun schon eine ganze Weile Infos zum Thema Chipkarten, aber 
schaffe den Durchblick irgendwie nicht. Gibt's hier vielleicht jemanden 
der mir die folgenden Fragen beantworten könnte?

- Gibt es Chipkarten auf denen man geschützt (Pin???) einen Private Key 
ablegen kann und diesen auch wieder human-readable auslesen kann? (bevor 
nun Hinweise kommen, dass es keinen Sinn macht einen Private Key mit 
z.B. einer 4-stelligen Pin zu sichern: Es gibt wohl Karten, die nach 3x 
falsche Pineingabe, die Karte unbrauchbar machen)

- Welche Chipkartenleser unterstützen diese Karten und gibt es 
Chipkartenleser die auch alle möglichen Karten (Crypto-Karten, 
elektronischen Personalausweis, Bankkarten für Onlinebanking,...) 
verwenden können?

Vielen lieben Dank,

Thomas

von Nils P. (torus)


Lesenswert?

So gut wie alle Karten kommunizieren über die Kontaktfläche über das 
ISO7816 Interface. Das ist relativ simpel aufgebaut. Selbst SIM Karten 
kommunizieren so.

Es gibt im Prinzip drei Kategorien von Chipkarten:

 - Dumme Speicherkarten.
 - Karten mit fester Funktionalität (Bankkarte etc.)
 - Programmierbare Karten. Stichwort hier ist JavaCard.


Für Dich kommt eine JavaCard in frage. Wie diese Karten programmiert 
werden ist im offenen JavaCard Standard dokumentiert. Die Tools 
inklusive eines Emulators gibt es auch kostenlos im Netz. Karten kann 
man kaufen, sind aber mit ca. 20€ relativ teuer.

Es ist aber eine recht komplexe Angelegenheit das ganze Tooling zum 
Laufen zu bringen. Rechne mal mit ein paar Wochenenden Aufwand bis die 
Karte das tut, was Du willst.

von TestX (Gast)


Lesenswert?

Jede MifareDESFIRE oder LEGIC advant - RFID Karte kann verschlüsselte 
Sektoren speichern - diese kannst du dann mit einen Program deiner Wahl 
auslesen bzw. beschreiben.

Jeder vernünftige Reader unterstützt das.

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Vielen Dank schon mal für die bisherigen Infos :-)

Gibt's hier noch jemanden der ein bestimmtes Chipkartenleser-Modell 
empfehlen kann?

Toll wäre es wenn ein Leser die folgenden Kartentypen könnte:
- Crypto-Speicherkarten wie die AT88SC102​
- Elektronischen Personalausweis
- Krankenkarten
- Bankkarten für Onlinebanking

Und wenn der Leser noch "Klasse 3" (also Zahlentastatur und Display) 
hätte, wäre umso besser.

von Adapter (Gast)


Lesenswert?

Thomas F. schrieb:
>
> - Gibt es Chipkarten auf denen man geschützt (Pin???) einen Private Key
> ablegen kann und diesen auch wieder human-readable auslesen kann? (bevor
> nun Hinweise kommen, dass es keinen Sinn macht einen Private Key mit
> z.B. einer 4-stelligen Pin zu sichern: Es gibt wohl Karten, die nach 3x
> falsche Pineingabe, die Karte unbrauchbar machen)
>

Kann man so realisieren, aber in den meisten Fällen sind die keys nicht 
auslesbar; alles was man machen kann ist

- einen Schlüssel generieren und einmalig nicht mehr auslesbar ablegen
- internal authenticate (der Karte eine challenge schicken, die sie mit 
dem/einen internen Schlüssel de/encryptiert und das Ergebnis 
zurückschickt; das kann man gegen das mit dem lokal angenommen bekannten 
Schlüssel cryptierte Ergebnis vergleichen)
- external authenticate (von der Karte eine Challenge anfordern, die mit 
dem lokal angenommen bekannten Schlüssel de/encryptiert wird und das 
Ergebns an die Karte zurückschicken; die Karte kann dann nach der 
Auswertung des Ergebnisses z.B. den Zugriff auf weitere Objekte wie 
Dateien freischalten).
- die Karte anzuweisen, einen beliebigen Datensatz mit einem aus der 
Karte abgelegten nicht auslesbaren Schlüssel zu ver/entschlüsseln und 
das Ergebnis zur weiteren Verwendung zurückzuschicken (so funktioneren 
z.B: SAM Schlüsselspeicher).

Auslesbare Schlüssel gelten i.d. Regel nicht als sicher.

von Peter M. (r2d3)


Lesenswert?

Hallo Thomas,

Stichworte: Nitrokey und eventuell OpenPGP Smartcard?

Über den Nitrokey gibt es einen Kurzartikel in der c't, die Smartcard 
wird etwas länger behandelt.

Ich würde bei Reiner SCT nachfragen, ob die etwas haben, was Deinen 
Anforderungen entspricht, wenn es um Kartenleser geht.

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Hallo,

es gibt das Projekt https://www.themooltipass.com/ welches Passwörter 
verschlüsselt im Geräte-internen Speicher ablegt und als Schlüssel einen 
Private Key verwendet, welcher auf einer AT88SC102-Smartcard abgelegt 
ist. Das Auslesen des Schlüssels von der Smartcard funktioniert wohl nur 
mit der richtigen Pin und wenn die Pin drei Mal falsch eingegeben wird, 
wird die Karte unbrauchbar.

Wisst Ihr ob man solche Karten mit einem Standard-Chipkartenleser 
beschreiben und lesen kann? Bei den Geräte (u.a. auch bei oben erwähnter 
Firma Reiner SCT) steht hierzu leider immer nur etwas zu den 
"Standard"-Karten wie Bankkarten, Perso,...

Vielen Dank,

Thomas

von Erwin D. (Gast)


Lesenswert?

Thomas F. schrieb:
> Firma Reiner SCT) steht hierzu leider immer nur etwas zu den
> "Standard"-Karten wie Bankkarten, Perso,...

Ruf doch mal an oder schreib eine Mail. Die sind hilfsbereit.

von Frank K. (fchk)


Lesenswert?

Thomas F. schrieb:

> Wisst Ihr ob man solche Karten mit einem Standard-Chipkartenleser
> beschreiben und lesen kann?

Ja. Dafür gibt eine API namens PC/SC. Für Windows schaust Du hier:
https://msdn.microsoft.com/en-us/library/aa374731(VS.85).aspx#smart_card_functions

Die meisten Karten nutzen ein Standardprotokoll.

Zur Einführung empfehle ich:
https://www.amazon.de/Handbuch-Chipkarten-Aufbau-Funktionsweise-Einsatz/dp/3446404023
Das ist quasi das Standardwerk. Da steht alles drin, was Du an 
Hintergrundwissen brauchst. Lesen!

fchk

von Matthias (Gast)


Lesenswert?

Hallo,

hier eine Einführung zur Chipkartenprogrammierung:

http://www.sse-web.de/knowhow/chipkartenprogrammierung-kapitel-1/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.