Op deze pagina ...
Op deze pagina geef ik je een
korte inleiding m.b.t. SmartCards.
Let wel op: niet ALLE beschikbare kaarten worden besproken,
maar wel een aantal zeer gangbare modellen.
De meeste van deze kaarten worden gebruikt voor toegang te verkrijgen
tot gebouwen, PC's, betaal TV, kleine betalingen (CHip Knip),
zelfs voor toegnag tot GSM netwerken,
etc. Om data van de kaart te halen heb je een kaartlezer nodig, voor
het schrijven heb je een lees/schrijf apparaat (programmer) nodig. Sommige
toetsenborden hebben een dergelijke programmer of lezer ingebouwd zitten.
Merk op: Lees de disclaimer!
Deze pagina is enkel informatief!
Merk op: Haal het niet in je hoofd
om vragen te stellen hoe bepaalde systemen gekraakt dienen te
worden! Hier werken wij NIET aan mee! Eventuele
email vragen m.b.t. dit onderwerpen worden dan ook ongelezen
gedelete!
|
|
Introductie
Wat is nu een SmartCard?
Een SmartCard is een bankpas formaat stukje plastic
waarin een of meer chips zitten. Dit zijn vaak geheugen chips (vaak seriele
EEPROMs) en/of een processor (b.v. een PIC of AVR CPU).
Naast het plastic en de chips, zit er ook een contact
vlak met 6 of 8 pinnen. Dit vlak kan vierkant of oval zijn. Vaak zijn
de contacten goud-kleurig en meestal conform ISO-7816-2.
Merk op: Op basis van de
verbindingen kan men dus niet bepalen welk type kaart men heeft!
Merk op: Er zijn ook zogenaamde
contactloze SmartCards, deze behandelen we hier niet.
Enkele algemene toepassingen van SmartCards zijn:
- Telefoon kaarten
- GSM SIM kaarten
- Bank pasjes
- Creditkaarten
- Chip-Knip
- Identificatie kaart
- etc.
Er zijn eigenlijk 2 soorten: de kaarten met alleen
een EEPROM (memory)
en de kaarten die een CPU
(PIC or AVR) en EEPROM hebben.
Voor meer info over PIC's kun je ook
eens op de BASIC
Stamp pagina's kijken.
Voor de meeste kaarten die helpen toegang te krijgen,
gebruikt men vaak EEPROM-only kaarten
(zogenaamde MEMORY CARDS). Deze kaarten staan toegang tot het geheugen
toe zonder al te veel poes-pas. De bekenste kaarten van dit type worden
door GemPlus gemaakt.
Natuurlijk kan data op deze kaarten versleuteld zijn. Soms kan het ook
zo zijn dat er in het geheugen een stukje software zit die dan gebruikt
wordt door de applicatie die het kaartje gebruikt.
Daar waar beveiliging een grotere rol speelt, gebruikt
men meestal CPU
en EEPROM kaarten (zogenaamde CPU CARDS). Dit type wordt b.v.
voor bankpasjes, GSM SIM kaarten, etc. gebruikt. Hier draait de processor
een klein programma. Alleen dit programma kan direct "praten" met het
geheugen. De processor LEEST, SCHRIJFT en WIJZIGD dus de gegevens in
de EEPROM, al dan niet versleuteld.
CPU CARD: Geheugen toegang alleen
via de processor
Een vorbeeld: betaal Televise via de satelliet
(Pay-TV).
Er zijn voor satelliet twee soorten uitzendingen;
de zogenaamde FTA uitzendingen
(Free To Air) waarvoor men geen kaart nodig heeft.
De tweede variant is Pay-TV waarvoor men dient te betalen,
b.v. Canal+. Als je lid wordt van een dergelijke dienst, krijg je een SmartCard
(van het type (M)OSC)
waardoor uitgezonden programma's versleuteld kunnen worden.
Bij Pay-TV is het beeld eigenlijk altijd versleuteld
(scrambled/encrypted) in een specifiek formaat, zoals Irdeto, Seca, Seca-2, VIA-Access,
etc. Je moet dus naats de SmartCard ook een ontvanger hebben die met
dit formaat overweg kan. Dus voor Seca uitzendingen
heb je een ontvanger nodig die Seca aan kan.
Andere ontvangers, b.v. een oude Irdeto ontvanger,
kan dit Seca signaal niet weergeven.
Sommige ontvangers hebben deze functionaliteit vast ingebouwd, anderen
hebben weer extra hardware nodig, zogenaamde CAM's.
Een CAM is in principe een PCMCIA kaart die de nodige
functionaliteit aan boord heeft om een dergelijke signaal te decoderen.
Om uitzendingen te zien heeft men daarnaast zogenaamde "Keys" (sleutels)
nodig. Deze staan opgeslagen op de smartcard
en worden regelmatig door de aanbieder geupdate.
D.w.z.:
De aanbieder verstuurd deze sleutels, jouw ontvanger ontvangt deze en
ziet of ze voor jou zijn. Is dat het geval dan worden de nieuwe sleutels
op de smartcard opgeslagen.
Technische hardware details
Pin-belegging
Het contact gebied op de kaart (vierkant of oval van
vorm) is normaal conform ISO 7816-1 of ISO 7816-2. Deze ISO standaard
definieert de volgende pinnen;
Pinbelegging volgens
ISO 7816-1 en 7816-2
De pin links boven is pin 1. Als we langs de linkerzijde
naar beneden gaan zien we de pinnen 1, 2, 3 en 4. Rechts (van boven naar
beneden) zien we de pinnen 5 t/m 8.
De meeste kaarten die je hier tegen gaat komen zijn
conform ISO
7816. Dit specificeerd niet allen de pinnen, maar ook de positie
van de contacten.
En alternatieve positie hiervoor is b.v. in AFNOR gespecificeerd.
ISO versus AFNOR contact posities
Merk op: Afnor contact posities
komen zelden voor.
Tip:
De contacten van de Smartcard kunnen vervuilen. Met een gum zijn deze
eenvoudig te reinigen.
CPU kaarten - CPU type, kaart opbouw
Verschillende CPU kaarten gebruiken een zogenaamde PIC (processor
- Peripheral Interface Controller)
en een EEPROM (memory). Eenvoudige kaarten, zoals de
Goldwafer kaarten ,gebruiken de MicroChip 16F84
PIC (zie MicroChip
website voor details), geavanceerdere kaarten zoals de FunCard kaarten,
gebruiken AVR's van Atmel (ook een soort PIC, zie de Atmel
Website voor details). Voor de eerder genoemde satelliet toepassing
voldoen beide kaarttypen, als je er maar de fies voor hebt.
Kaart opbouw
SmartCards kunnen 3 manieren opgebouwd worden:
- HMD (Hole Mounted Device)
Dit is eigenlijk de gangbare thuis techniek, waarbij men zelf de PIC en de
EEPROM op een printje soldeert. De chips worden gesoldeerd nadat men de
pinnentje van de chip door de print gaatjes heeft gestoken. D.w.z. de pinnen
worden aan de andere kant van het printje gesoldeerd als waar de componenten
zelf zitten. Leuk voor experimenteren, maar wel ernstig achterhaald.
- SMD (Surface Mounted Device)
Dit is hetzelfde als de voorgaande techniek. Nu worden de componenten (chips)
niet d.m.v. gaatjes vast gezet. De componenten worden eerder op het print
geplakt en aan dezelfde kant waar het component zit, worden de pinnen vast
gesoldeerd. SMD componenten zijn veel compacter als hun HMD varianten.
- Integrated cards
Hier hebben we te maken met massa productie kaarten waarbij PIC en EEPROM
in het pastic van de kaart is mee gegoten. De bekende bankpasje zijn daar
een voorbeeld van.
Component Monteer technieken
Naast de gebruikte processor
hebben we ook nog het gehuegen. Er schijnt nogal wat verwarring te
zijn omtrend de omvang van het geheugen van bepaalde kaarten. Oorzaak
daarvan is de aanduiding KiloBITs versus KiloBYTEs.
Een EEPROM van het type 24C16 heeft 16 KiloBIT ruimte,
wat wil zeggen 2 kiloBYTEs. Een BYTE = 8 BITS.
Over het algemeen is het type kaart eenvoudig
te herkennen door de opdruk. Mocht dit niet aanwezig zijn, en mocht
je ontdekt hebben welk type kaart het is, gebruik dan een marker stift
en schrijf op b.v. de achterkant welke type het is.
Wat zijn de zwakke punten van SmartCards?
SmartCards zijn redelijk stevig, maar hun contacten
kunnen vuil worden (eenvoudig te reinigen met een gum). Dit is slechts
een mechanisch falen.
Er zijn echter ook een aantal serieuze (potentiele)
veiligheidsproblemen met SmartCards.
Met wat insight kennis en de juiste hard- en software
is bijna alles mogelijk!
WAARSCHUWING:
Het doel van deze pagina is NIET het kraken, kopieren of knoeien met
SmartCards! Het lijstje potentile problemen is slechts een opsomming
voor diegene die SmartCards willen gebruiken in hun systemen! Ik ga
hier dus ook NIET uitleggen hoe bepaalde zaken te veranderen, kopieren,
kraken etc. zijn. Stuur hier dus ook GEEN VRAGEN PER EMAIL over! Als
je wilt knoeien met orignele SmartCards; dan is dat JOUW risico en
bedenk dat het zeer waarschijnlijk ook NIET LEGAAL is. Zie ook de disclaimer!
Kaarten kunnen gekopieerd worden.
Als je hier aan denkt, zou je bijvoorbeeld een telefoonkaart
kunnen kopieren naar een "lege" kaart. Door dan vervolgens de niet-originele
kaart steeds te gebruiken zal de originele kaart dus nooit leeg gaan.
Een ander voorbeeld is het kopieren van de Pay
TV kaart van jou buurman om daarmee vervolgens thuis (zonder te betalen)
lekker te kijken naar deze uitzendingen.
Theoretisch zou dit ook kunnen met b.v. een kopie van
een GSM SIM, waardoor derden jouw gesprekken kunnen afluisteren of op
jouw kosten kunnen bellen!
Kaarten kunnen aangepast worden.
Zo kan een gebruiker een SmartCard voor PayTV aanpassen
zodat hij of zij gratis Pay TV kan zien, of het saldo van een Chip-Knip
of Telefoonkaart aanpassen.
Vermijden
Om dit soort problemen te voorkomen, is het handig
een soort tracking systeem parallel te laten lopen aan de transacties
die gedaan worden met een dergelijke kaart. Dit is natuurlijk niet altijd
praktisch haalbaar.
Verder kan men op een SmartCard een zogenaamde PIN
(Personal Identification Number) code zetten welke als basis dient voor
de versleuteling van de informatie. Ook dit sluit niet alle problemen
uit, maar het helpt wel.
Programmeren van de Kaarten
Op deze website staan een aantal voorbeelden van het
"programmeren" van SmartCards.
Kaart Typen
CPU SmartCards:
- Antiek: de MultiMac kaart
- OSC (Original SmartCard) of MOSC
(Modified Original SmartCard)
- GoldWafer, GoldCard, PICcard,
SMDWafer en BlueCard
- SilverWafer, SilverCard, Galaxy2,
GreenCard en PicCard II
- Jupiter 1, BlackCard en Jupiter
2 kaarten
- ATMELCard, FunCard (ook FunCard
2, 3, 4, 5 en 6), Purple Galaxy en Prussian (ook Prussian2 en 3)
- Andere AVR kaarten (AT
Mega, FunCard DIP, AVR-3 en de SuperPIC Zen)
- GemPlus: algemene
CPU Cards
Memory SmartCards:
Kaart Type: MultiMac
Toepassing: Satelliet
Pay TV
De MultiMac kaart is een gouwe-ouwe onder de SmartCards.
Zelden wordt deze kaart nog gebruikt. Voor zover ik weet kan deze kaart
alleen als HMD (Hole Mounted Device) kaart verkregen worden. Over het
algemeen gebruikt het een MicroChip 16C622 PIC processor
en een 24C64 EEPROM. Een hoop programma's (editors) ondersteunen deze
kaart, maar helaas is deze kaart sterk evrouderd.
Je kunt beter een FunCard of een GoldCard gebruiken.
MultiMac Card
Kaart type: (M)OSC
Toepassing: Satelliet Pay
TV
(M)OSC staat voor (Modified) Original Smart Card.
Hoewel deze kaarten aan te passen zijn, adviseer ik je dit NIET
te doen. Asl je wilt experimenteren, kies dan een GoldCard of
een FunCard.
De (M)OSC kaarten zijn de kaarten die de Pay TV
providers
leveren.
Een paar voorbeelden;
Een paar (M)OSC kaart voorbeelden
De meeste programmers kunnen niet zomaar overweg met
deze kaarten. Programmer zoals de MasterA echter wel.
Nogmaals: Ik adviseer NIET te rommelen met deze kaarten!
Kaart Type: GoldCard
Toepassing: Satelliet Pay
TV
Ook bekend onder de namen PICCard, GoldCard, SlimCard, SlimCard
II of SMD Wafer. GoldWafer\GoldCard refereert
daarbij eigenlijk naar het plastic kaartje waarbij de chip in het plastic
zit. De BlueCard is
ook een GoldWafer kaart. Deze heeft alleen meer geheugen (8 kiloBYTE).
Al deze kaarten hebben een PIC (Peripheral Interface Controller)
processor (meestal de Microchip
16F84). De gewone uitvoeringen hebben een 2Kb externe eeprom (24C16).
GoldWafer voorbeelden
als je kijkt naar de SMD Wafer kaart
(links) dan zie je 2 kleine chips. De grootste van de twee (links) is
de 16F84
PIC,
het hele kleine chippie rechts is de 24C16 EEPROM. Dit is
op het moment van dit schrijven een van de meest gangbare kaarten. Al deze
kaarten hebben 8 contacts-punten. De 2 contacten die het meest links zitten
(pinnen 4 en 8) zijn neit altijd beschikbaar (op de SMD Wafer zie je een plakbandje
zitten over deze pinnen). ALS ze beschikbaar zijn, dan is dit vaak een indicatie
dat de EEPROM direct aangesproken kan worden via deze pinnen. Meestal wordt
deze optie niet gebruikt omdat bepaalde ontvangers, met name bij gebruik van
CAM's, hier problemen mee hebben. Eventuele opdruk op deze kaarten hebben geen
waarde, ze zijn er slechts ter decoratie of herkenning van het type kaart.
Daar het aantal Pay TV providers blijft groeien, blijkt
al snel dat het geheugen van de GoldCard niet meer toereikend is. We
hebben dus meer geheugen nodig. De BlueCard doet dit bijvoorbeeld door
een PIC 16F84 met een 24C64 EEPROM te combineren. Dir levert dan 8Kb
geheugen, 4 keer de hoeveelheid die een GoldWafer biedt.
Kaart Type: SilverCard
Toepassing: Satelliet Pay
TV
Ook bekend als: Galaxy2, GreenCard, GreenCard
II, SilverWafer, SilverCard,
of PicCard II.
De SilverCard is de opvolger van de GoldWafer
kaarten. Er wordt een snellere processor gebruikt (PIC 16F876)
en een grotere EEPROM (vanaf de 24C64 - 8
KiloByte). In de onderstaande afbeeldingen zie je (van links
naar rechts) de Piccard
II in SMD, een GreenCard (met
16 KiloByte geheugen), de SilverCard en de GreenCard2 (met
32 KiloByte geheugen).
Voorbeelden van de SilverCard
Kaart Type: Jupiter 1
Toepassing: Satelliet Pay
TV
Jupiter 1 kaarten, ookwel BlackCard genoemd, worden
zelden gebruikt. Er zijn maar weinig files voor beschikbaar!
Hieronder zie je een SMD versie en een plastic integrated
versie.
Jupiter 1 kaarten
Net als een FunCards, die we in de volgende paragraaf
zien, gebruikt Jupiter 1 een Atmel processor,
de 90S2343.
De Jupiter 2 kaart, ook bekend als BlackCard
II, heeft een Atmel 90S8535 processor
en een externe EEPROM (8 KiloByte). Soms hebben ze een connector voor
het aansluiten van een PC om gegevens te loggen. Deze kaart komt vaker
voor als de Jupiter 1 maar is nog steeds relatief zeldzaam.
Jupiter 2
Asl je nog een kaart moet kopen: neem dan geen Jupiter
kaart, kies liever een FunCard.
Kaart Type: FunCard
Toepassing: Satelliet Pay
TV
Ook bekend als: ATMELCard, FunCard, FunCard
2, Funcard 3, FunCard 4, FunCard
5, Funcard 6, Purple Galaxy, Prussian, Prussian2 en Prussian3.
De FunCard wordt gewaardeerd vanwege zijn grote geheugen
en snelle processor (Atmel
90S8515).
Men zegt dat zappen op de receiver sneller gaat met een FunCard - maar
er zijn nog andere factoren die bepalen hoe snel een ontvanger kan zappen!
Bijvoorbeeld een Strong SRT8000 is zelfs trager met een FunCard (in vergelijk
met een GoldCard).
Hoewel de ATMEL 90S8515 zelf een interne
EEPROM heeft, gebruiken veel kaarten toch een externe EEPROM aangezien
die meer ruimte zou bieden. De standaard 90S8515 heeft
echter al een 8 KiloByte interne EEPROM, dus waarom een extrene 8 Kilobyte
EEPROM ... geen idee.
FunCard voorbeelden
Links zien we weer een SMD
versie van de FunCard. Sommige hebben er leuke LEDjes (lampjes)
op zitten die activiteiten aangeven - ziet er wel toffe uit. Ook hier
weer: de grote chip is de processor en de kleinere is de EEPROM.
De tweede kaart is de plastic tegenhanger van deze FunCard.
Beiden hebben een 24C64 (8 Kilobyte) EEPROM.
De derde kaart, met de "Open Platform" opdruk,
is een voorbeeld van de FunCard 6, welke 128
KiloByte geheugen heeft.
De laatste, een FunCard 4 of Prussian
2 kaart, heeft 32 KiloByte aan boord.
Andere AVR kaarten
Toepassing: Satelliet Pay
TV
Er zijn nog een aantal andere AVR (FunCard-achtige)
kaarten;
De AT-Mega card, heeft ook een ATMEL
processor (van het type ATMega 163) en een 32 KiloByte
EEPROM. Deze kaart wordt (nog) niet veel gebruikt.
AT-Mega FunCard
FunCard DIL of DIP; Dit is een FunCard,
met 8 kilobyte geheugen en een ATMEL AT90S8515. Het voordeel hier is
dat alles is een grotere (HMD) chp zit in DIL formaat, deze kan los gehaald
worden van de kaart en in niet-SmartCard programmers gezet worden voor
het programmeren. Geen idee wie hier plezier aan heeft, maar goed, deze
kaart bestaat dus ook ...
AVR-3 Card;
Dit is een van de snelste FunCard varianten die er bestaat.
Ook hier weer een ATMEL processor en 32 Kilobyte EEPROM. Naast snelheid
(men beweerd tot 10x sneller) kan deze omgeschakeld worden tussen verschillende
modi (FunCard, XL en Extra, hoewel ik geen benul heb wat de verschillende
modi bieden). Behalve snelheid zie ik nog geen echt voordeel voor deze
kaarten.
SuperPic Zen card; Deze kaart heeft
een PIC processor (18F452) en een 32 KiloByte EEPROM.
Kaart Type: Algemene
Memory Cards
Toepassing: opslag persoonlijk
gegeven, punten-spaar-systemen, etc.
Meer gangbare GemPlus modellen: GemClub-Memo, GPM103, GPM256 (T1G), GPM2K,
en de GPM8K.
Algemene MemoryCards van GemPlus
Deze kaarten worden gebruikt voor de eenvoudigste
manier van gegevens opslaan. De meeste van deze kaarten gebruiken de Infineon
chip SLE4442 en hebben 2 of 8 KiloByte geheuegn. Deze kaarten
(model afhankelijk) zijn meer of minder "beschermd".
Kaart Type: geAvanceerde
Memory Cards
Toepassing: Telefoonkaarten,
betaalsystemen voor parkeren, vervoer, etc.
Meer gangbare GemPlus modellen: GAM275 (T2G), GAM326 (EuroChip II), GAM375 (T2G+).
Geavanceerde MemoryCards van GemPlus
Deze kaarten lijken sterk op de Algemene
Memory Cards, echter aangevuld met een aantal verbeteringen op
het gebied van beveiliging.
Kaart
Type: CPU cards
Toepassing:
Bankpasjes, Creditcards, E-purse, Chip-Knip, betaalsystemen, enGSM/CDMA
SIM kaarten.
Meer gangbare GemPlus modellen: GemClub-Micro,
MPCos en GemPlus Xplore series.
MicroProcessor kaarten
Deze kaarten worden voor een breed scala
aan toepassingen gebruikt, kijk eens op de GemPlus
website voor meer details.
|