Innenleben des Basiskartenlesegerätes

Gast #1962156
Lesenswert?

Hallo,

ab heute gibt es in der Computerbild (die DVD Version für 3,70 Euro) den 
Basiskartenleser für den neuen Personalausweis.

Wer gerne wissen will wie das Gerät von innen aussieht kann es hier 
anschauen:

http://s3.imgimg.de/uploads/Basisleser103408dd6jpg.jpg
http://s3.imgimg.de/uploads/Basisleser2ece2ae95jpg.jpg
http://s3.imgimg.de/uploads/Basisleser3bbc7cb70jpg.jpg

IC3 ist der PN512 von NXP das Datenblatt ist hier zu finden:
http://www.nxp.com/documents/data_sheet/111334.pdf
Die Pins SIGIN, SIGOUT, AUX1 und AUX2 sind auf ein Lötpad geführt.

Bei IC1 handelt es sich vermutlich um einen Spannungswandler.

Desweiteren ist ein IC mit schlecht lesbaren Zahlen zu finden. Er ist 
mit dem USB-Anschluss verbunden und es sind einige PINS auf Lötpads 
geführt (VCC, CLK, RESET, DATA und GND)



Vielleicht kann jemand so ein Gerät für seinen neuen Personalausweis 
schon gebrauchen. Viele schreiben es soll unsicher sein, weil die 
Tastatur zur Pineingabe fehlt.


Viele Grüße
Meike
#1962171
Lesenswert?

Ausgerechnet der Computerbild Klientel dreht man einen Basisleser an.

Man will also doch, dass es unsicher ist, oder wie sonst soll man so was 
verstehen?

(Der Verfasser dieses Schreibens hat schon so einige PCs von typischen 
CBild lesern betreuen müssen und spricht daher aus Erfahrung)

P.S.:

Ziemlich "Deutsch" (Beschriftung) die Technik, so was finde ich bei 
Massenprodukten kaum, interessantes Merkmal. Schon fast ein Wunder, dass 
unsere Regierung das nicht an die höchstspezialisierten und supertollen 
Computerinder und lieben, fleissigen Fließbandchinesen outgesourct hat.

P.P.S.:

Wer Ironie findet, darf sie behalten.
Gast #1962194
Lesenswert?

Irgendwo (vielleicht der noch nicht identifizierte Chip) muss noch ein 
USB <-> x Wandler drauf sein, weil der NXP Chip kein USB kann (oder ich 
habe es uebersehen).

Was fuer ein Leser ist das ? Wo bekommt man ihn und was kostet er ?

Gruesse,

    Martin
#1962225
Lesenswert?

Interesannt wäre doch den neuen Perso für eigene Zuganskontrollen zu 
benutzen! Dann fällt auf einmal der ganze RFID-Müll weg, welchen man für 
jede EInrichtung extra verwenden muss.

Gibts irgendwo ne Spec dafür, um einen eigenen Leser zu bauen?

RFID mit den "alten" Transpondern ist ja technisch bei den Bastlern 
schon ausgelutscht
Gast #1962295
Lesenswert?

Hallo Martin,

ich nehme auch an, dass der unbekannte IC der USB <-> x Wandler ist. 
Vorallem da er mit dem USB Anschluss verbunden ist :)

Bei dem Lesegerät in der Computerbild ist übrigens auch eine RFID Karte 
mit dabei. Vermutlich zum testen für die Personen die noch keinen neuen 
Personalausweis haben. Vermutlich steht genaueres in der Zeitschrift 
selbst, die habe ich aber nicht vor zu lesen ;)
Persönliche Seite #1963088
Lesenswert?

Ich habe mir heute auch so einige davon zugelegt.
Ziel wäre eine Zutrittskontrolle damit zu machen.
Dazu müsste man einen Atmel anschließen.
Soo schwer kann das ja nicht sein.
Aber ich habe noch keinen Code gefunden,
dann muss man wohl alles selber schreiben.
Interessant ist, dass man den Chip laut Datenblatt
auch als Tag nutzen kann, also als Simulator für eine Chipkarte.
Bin mal gespannt, was sich da noch alles tut.
#1963698
Lesenswert?

steve schrieb:
> Hi,
>
> auch ich habe gestern mal zugeschlagen und 3 Stück gekauft.
> Ich habe in meinem wiki mal ein bisschen gesammelt (Innenbilder etc.):
>
> http://wiki.steve-m.de/doku.php/epa_basis_reader
>
> Steve

Du schreibst im wiki was von mifare cards. Werden die bei dir erkannt?
Bei meinem Leser wurde nur die mitgelieferte Karte erkannt, Mifare 
Karten jedoch nicht, die LED blieb auch aus.
Der SCL011 von SCM erkennt jedoch Mifare-Karten.
Gast #1963745
Lesenswert?

M. G. schrieb:
> Du schreibst im wiki was von mifare cards. Werden die bei dir erkannt?

Gute Frage, ich ging davon aus, weil es im Datenblatt steht. Ich habe 
eben nochmal einige andere Karten ausprobiert, der ePass wird z.B. auch 
erkannt (ebenso wie eine Mitarbeiterkarte). Mein Studentenausweis (vmtl. 
Mifare classic) wurde jedoch nicht erkannt (auch keine Veränderung im 
SPI traffic).

Jedoch keinen anderen Reader / weitere Karten zur Hand von denen ich 
weiß welcher Chip verbaut ist, um das zu verifizieren.
Gast #1965853
Lesenswert?

Mit welcher Software benutzt ihr denn dieses Teil? Die original BILD SW 
möchte ich meinem Rechner erstmal ersparen. Das Gerät wird hier als USB 
Smart Card reader ins System eingebunden, unter Smartcard-Leser.

Ist für die Regierung gleich DIE Möglichkeit der Bevölkerung den 
Bundestrojaner unterzujubeln :D .
Gast #1966201
Lesenswert?

Ich bin mir nicht sicher ob das viel weiter hilft, aber ich habe mal in 
den Treiber reingesehen, der beim Hersteller zu finden ist.
http://www.reiner-sct.com/index.php?option=content&task=view&id=218

Da bin ich über den Namen "Ludovic Rousseau" gestolpert.

Auf seiner Webseite findet man den Code und Makefile.
Vileicht könnte man so noch einige ander schöne Sachen herausfinden und 
umsetzten.
http://ludovic.rousseau.free.fr/softwares/pcsc-tools/

Leider habe ich nicht weiter reingesehen, aber ein Tool welches mir auf 
der Konsole ein parr Karteninfos ausspuckt würde ich schon cool finden.
Gast #1966232
Lesenswert?

Er hat anscheinend den CCID  (Chip Card Interface Device) Treiber für 
Linux geschrieben:
http://packages.qa.debian.org/c/ccid.html
http://pcsclite.alioth.debian.org/ccid.html

Er verweist mit einer Windows Variante seines Skripts auf

http://www.springcard.com/solutions/pcsc.html

Dort gibt es "SpringCard PC/SC Quickstart"
".. is a set of sample applications, you may download for free."

Download: http://www.springcard.com/download/find.php?file=sdd4c0

Der Reader wird erkannt, die Karte auch. Mehr habe ich noch nicht 
experimentiert.
Gast #1966287
Lesenswert?

> Mit SCardTK sind anscheinend nur Generic Befehle möglich.

Ich meine damit, dass die Karte nichts anderes unterstützt, ausser UID. 
Das kann man sich auch mit "Card Tool ansehen".
Den Kartentyp kann ich nciht auslesen.

Ongaku schrieb:
> die Karte ist eine MIFARE DESFire EV1.

Es wäre gut, wenn du das etwas erläutern könntest :-)
#1986802
Lesenswert?

Hi,
mal ein Update:

Ich habe den m8cprog um Unterstützung für den CY7C64316 erweitert, 
nachdem ich mir die ISSP-Befehle des MiniProg1 angeschaut habe.

Siehe: https://github.com/steve-m/m8cutils/tree/cy7_prog

Des Weiteren ist es mir mit ein paar Tricks gelungen die Firmware 
auszulesen.
http://www.youtube.com/watch?v=R6NdeUanK7s
Nach bisheriger Analyse gibt es definitiv einen Bootloader der 
Funktionen zum Flashen enthält, allerdings ist der genaue Mechanismus 
(besonders zum Aktivieren des BL wenn die eigentliche Firmware läuft) 
noch unbekannt.

Übrigens wurde der Thread hier in einem Blog auf heise.de erwähnt:
http://www.heise.de/ct/artikel/ePerso-Alltag-Vom-Foerdern-und-Basteln-1154623.html
Gast #2031780
Lesenswert?

>Des Weiteren ist es mir mit ein paar Tricks gelungen die Firmware
>auszulesen.
>http://www.youtube.com/watch?v=R6NdeUanK7s

Auf dem Video sind aber "nur" eine Menge Spielzeuge und
ein sich mit Hex fuellender Bildschirm zu sehen....

Ich kann verstehen, dass man den Download hier nicht
hinterlegen will, vom Bildschirm abtippen wollte ich
allerdings auch nicht ;-)

Gibt es noch eine Beschreibung/Kommentare, wie der
Trick-Woodoo nachvollziehbar funktioniert ?

VG,
Hans
#2032303
Lesenswert?

Hans schrieb:

> Gibt es noch eine Beschreibung/Kommentare, wie der
> Trick-Woodoo nachvollziehbar funktioniert ?

Cypress hat eine blockweise Flash-Protection, die mehrere Modi kennt. 
Folgendes ist dem TRM, "Table 3-10. Protect Block Modes" entnommen:

U = Unprotected (lesbar + schreibbar)
F = Factory upgrade (Read protect, also schreibbar)
R = Field Upgrade (Disable external write)
W = Full Protect (Disable internal write)

Und so ist die Flash-Protection beim cyberjack:

0000: R R F R R R R R R R R R R R R R
[...] (Rest = R)

Block 2 ist also schreibbar via ISSP.
Über ISSP kann man auch alle Register schreiben, inklusive des Program 
Counter, und es gibt eine undokumentierte Funktion des PORS-Bits im 
CPU_SCR0:

"Power On Reset Status. This bit may not be set by user code; however, 
it may be cleared by writing a ’0’.

Wenn man allerdings eine 1 schreibt, führt die CPU einen Reset durch, 
ohne den Program Counter zurückzusetzen.

Der Rest dürfte klar sein, man hat 128 Byte Platz für ein kleines 
Programm das den Flash dumpt, das schreibt man in Block 2, lädt den 
Program Counter auf 0x100 und setzt das PORS-Bit.

> vom Bildschirm abtippen wollte ich allerdings auch nicht ;-)

Wärst du hier angemeldet, hättest du jetzt eine PM.
Persönliche Seite #2033447
Lesenswert?

Steve M. schrieb:
> 0000: R R F R R R R R R R R R R R R R
> [...] (Rest = R)
>
> Block 2 ist also schreibbar via ISSP.
> Über ISSP kann man auch alle Register schreiben, inklusive des Program
> Counter, und es gibt eine undokumentierte Funktion des PORS-Bits im
> CPU_SCR0:
>
> "Power On Reset Status. This bit may not be set by user code; however,
> it may be cleared by writing a ’0’.
>
> Wenn man allerdings eine 1 schreibt, führt die CPU einen Reset durch,
> ohne den Program Counter zurückzusetzen.
>
> Der Rest dürfte klar sein,

Der Trick ist ja nicht ganz neu und daher erlauben viele ICs nur noch 
das komplette überschreiben des Flash. Warum dies hier - in einer 
wirklichen Sicherheitsanwendung - anderes ist erschließt sich mir nicht.

Man kann nur hoffen, dass die PKI und die kryptographischen Verfahren 
korrekt implementiert wurden.
#2033483
Lesenswert?

Steve M. schrieb:
> Der Rest dürfte klar sein, man hat 128 Byte Platz für ein kleines
> Programm das den Flash dumpt, das schreibt man in Block 2, lädt den
> Program Counter auf 0x100 und setzt das PORS-Bit.

Das bedeutet doch aber auch, dass man nicht an den ursprünglichen Inhalt 
von Block 2 kommt, oder?

Oder könnte man sich auf 64 Bytes beschränken und dann einmal ab 0x100 
und dann ab 0x140 dumpen?

Geht aber wahrscheinlich nicht, da sich nur der gesamte Block 
überschreiben lässt ...

Ist aber ein interessanter Ansatz ...  :-)

Gruß,
Thomas
#2033774
Lesenswert?

Alexander Schmidt schrieb:
> Der Trick ist ja nicht ganz neu und daher erlauben viele ICs nur noch
> das komplette überschreiben des Flash. Warum dies hier - in einer
> wirklichen Sicherheitsanwendung - anderes ist erschließt sich mir nicht.

Ja, diese Lücke ist im Falle des PSoC schon seit mindestens 5 Jahren 
bekannt, allerdings hat auch ReinerSCT geschlampt. Wären alle Blöcke im 
'R'-Modus, wäre es nicht möglich gewesen.

Thomas T. schrieb:
> Das bedeutet doch aber auch, dass man nicht an den ursprünglichen Inhalt
> von Block 2 kommt, oder?

Ja, genau. Das gehört noch zum Bereich des Bootloaders, da scheint 
allerdings nichts mit all zu großer Bedeutung drin zu sein. Der Reader 
funktioniert auch ohne Probleme wenn man den ausgelesenen Code nach 
Chip-Erase zurückflasht, also mit fehlendem Block 2. Ob der Bootloader 
dann noch korrekt arbeitet (Flashfunktionen) bleibt noch zu beweisen, 
allerdings gibt es nur sehr wenige Sprünge in diesen Block.

> Oder könnte man sich auf 64 Bytes beschränken und dann einmal ab 0x100
> und dann ab 0x140 dumpen?

Nein, die CY8 haben 64 Byte Blockgröße, die CY7 128 Byte. Und man kann 
den Flash nur blockweise löschen.
Gast #2047966
Lesenswert?

Kennt jemand ein (ersatz) Programm mit denen man die Karten beschreiben 
kann.
mit den Kartentrsor klappt das nicht mit den Karten aus "china".
"Gibt Fehler 12: Anwendungsfehler aus"
(mifare Desfire EV1 8k)
#2502362
Lesenswert?

Ist zwar getz ne Zeit her, aber vielleicht interessiert es ja noch 
irgendwen...
Inhalt von Block 2 ist die Seriennummer (4 Bytes, little endian) gefolgt 
von einem simplen Füllmuster. Damit kann man sich auch ziemlich sicher 
sein, dass der Rest dann wohl keine Funktion hat.
1
00000100  XX XX C6 04 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  ..Æ.............
2
00000110  10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F  ................
3
00000120  20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F   !"#$%&'()*+,-./
4
00000130  30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F  0123456789:;<=>?
5
00000140  40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F  @ABCDEFGHIJKLMNO
6
00000150  50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F  PQRSTUVWXYZ[\]^_
7
00000160  60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F  `abcdefghijklmno
8
00000170  70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F  pqrstuvwxyz{|}~.

Wären alle Blöcke auch gegen internes Flashen geschützt, ginge es 
theoretisch auch, es wäre aber etwas mühseliger (dafür hätte man im 
Gegenzug aber die Gewissheit, dass man dann nichts kaputtmachen könnte).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren