ID smartcard uitlezen

Voor een thuis project wil ik doormiddel van een oude telefoonkaart een relais laten schakelen.
Dit wil ik programmeren in een PIC.
Ik heb me laten vertellen dat elke telefoonkaart een uniek ID nummer heeft die ik uit de de EEPROM van de kaart wil lezen. Enige probleem is dat ik geen duidelijk protocol kan vinden om dat ID op te vragen.

Ik heb inmiddels de pin layout gevonden:
http://www.weethet.nl/images/smartcards/iso7816pinout.gif
En ik ben er achter dat via de I/O pin een serieele communicatie aanwezig is bij het uitlezen/schrijven.

Veel telefoonkaarten zijn encrypt doormiddel van DES of soms nog erger 3DES. Ik hoop niet dat dat het uitlezen onmogelijk maakt.

EDIT: De volgende link maakt al iets meer duidelijk, maar het blijft een grote mistwolk nog
http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-3.aspx

Wie kan mij verder helpen?

is het niet beter een leeg 64k kaartje te kopen,
eventueel kan ik je er 1 voorzien...

uitlezen kan via een issabel module.

Gewoonte is de intelligentie van de menigte

Ik heb heel vroeger wel eens met chip-telefoonkaarten gespeeld en volgensmij kan je ze gewoon met een simpel stukje code uitlezen. Je kunt ook de gehele inhoud van de eprom als key gebruiken. Hoef je niet te weten wat de id is.

Op 1 september 2006 21:43:13 schreef BruzaQ-Inc:
is het niet beter een leeg 64k kaartje te kopen,
eventueel kan ik je er 1 voorzien...

uitlezen kan via een issabel module.

Zou een oplossing kunnen zijn, maar dan moet ik weer een programmer kopen/maken.
Oude telefoonkaarten hebben standaard al een uniek ID ingebakken. Als ik die weet uit te lezen dan is dat voldoende voor dit project. Ik hoef niets op de kaart te schrijven, wat overigens ook niet gaat lukken ivm DES versleuteling.
Maar het uitlezen zou zonder versleuteling moeten kunnen.

Nog mensen met suggesties of ideeën?

Op 1 september 2006 22:05:25 schreef Lexy:
Info over de KPN telefoonkaart:
http://www.hacktic.nl/magazine/2426.htm

Dat is al wat duidelijker.
Je kunt dus wel zonder meer bitjes schrijven op de kaart, maar dan ben je versleutelde data aan het verbouwen.
In principe zou het zo moeten zijn dat door unieke ID in de data, ook het versleutelde uniek is en daarom geschikt voor mijn project.

Mijn PIC is voorzien van een UART.
Is dit de ideale methode om de data afkomstig van 1 pin naar mijn eigen PIC te zenden?
Als resultaat wil ik namelijk graag een variable waarin de volledige datastroom in opgeslagen zit.

je kan op mijn website eens kijken:

http://users.pandora.be/zwiers/projects/smartcardinterface/3_smartcard…

op basis van het vermelde document weet je alles wat er te weten valt van smartcards

pointers don't kill programs, programmers kill programs

Op 1 september 2006 22:55:21 schreef spruce:
[...]

Mijn PIC is voorzien van een UART.
Is dit de ideale methode om de data afkomstig van 1 pin naar mijn eigen PIC te zenden?
Als resultaat wil ik namelijk graag een variable waarin de volledige datastroom in opgeslagen zit.

Je uart is niet geschikt. op die smartcards zit 1 pin CLK & 1 pin data, dewelke bidirectioneel is. Met een uart lukt dit dus niet.

pointers don't kill programs, programmers kill programs

Op 2 september 2006 18:10:03 schreef sven:
[...]

Je uart is niet geschikt. op die smartcards zit 1 pin CLK & 1 pin data, dewelke bidirectioneel is. Met een uart lukt dit dus niet.

Dus ik moet zelf de vraag om data uit de smartcard gaan simuleren?
In diverse datasheets zie ik hoe je bepaalde data kunt opvragen. De data komt dan bij iedere clockpuls bitje voor bitje binnen. Probleem is echter dat ik die data in tekst vorm in een variable wil opslaan, zodat ik op LCD bijv kan afbeelden "ID=36542365423654"

Iemand een idee hoe?

Op 2 september 2006 18:43:42 schreef spruce:
[...]

Dus ik moet zelf de vraag om data uit de smartcard gaan simuleren?
In diverse datasheets zie ik hoe je bepaalde data kunt opvragen. De data komt dan bij iedere clockpuls bitje voor bitje binnen. Probleem is echter dat ik die data in tekst vorm in een variable wil opslaan, zodat ik op LCD bijv kan afbeelden "ID=36542365423654"

Iemand een idee hoe?

Ik ken PIC-commandoset niet, maar je leest je pin in, deze bit plaats je achteraan een byte bij, doe een rotate left, plaats de volgende bit, ... tot je byte vol zit.

pointers don't kill programs, programmers kill programs

Op 2 september 2006 19:19:21 schreef sven:
[...]

Ik ken PIC-commandoset niet, maar je leest je pin in, deze bit plaats je achteraan een byte bij, doe een rotate left, plaats de volgende bit, ... tot je byte vol zit.

Ok schuifoperatie dus.
Alleen moet ik wel iets groters nemen dan een BYTE, want vermoed dat er een hele hoop data verzonden gaat worden

Vrijwel alle (oude) PTT Telefoonkaarten hebben op de achterzijde een nummer opgeprint dat begint met de letter A.
Jaren geleden heb ik eens een boel uitpluiswerk gedaan en een programma in (toen nog) Turbo Pascal geschreven dat zowel de kaart uitlas alsmede de opgeprinte code terug 'ontcijferde' uit de chipdata.

Ik had er toen een simpel lezertje voor gebouwd dat (zonder extra voeding nodig te hebben) direct op de LPT-poort van de PC aangesloten werd.

'k Moet ook nog ergens documentatie hebben over hoe het 'serienummer' in de chipdata 'verborgen' was.

Fan van Samsung (en repareer ook TV's). :)

De elektuur heeft hier een schakeling voor beschreven. Het protocol had iets te maken met 'answer to reset'. Je gaf een reset samen met een aantal klokpulsen en vervolgens kwam er per klokpuls een bitje uit. De betekenis van die bitjes was echter weer heel erg fabrikant afhankelijk.

Lucky Luke

Golden Member

Beetje oude koe dit... (2006)

Op 2 september 2006 18:07:17 schreef sven:
je kan op mijn website eens kijken:

http://users.pandora.be/zwiers/projects/smartcardinterface/3_smartcard…

op basis van het vermelde document weet je alles wat er te weten valt van smartcards

En jammer dat deze site niet meer bestaat... Leek me interesante info...

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)