Tento TECHNICKÝ PROJEKT na téma
Přístupový identifikační systém s využitím telefonních karet
jsem zpracoval jako součást státních bakalářských zkoušek na Fakultě elektrotechniky a informatiky VUT v Brně.
© 1998 Frenky
|
|
Anotace
Tento technický projekt se zabývá využitím telefonních karet jako elektronického klíče pro identifikační přístupový systém. K realizaci projektu byl použit 8-bitový počítač ATARI 800 s disketovou jednotkou.
Práce pojednává také o čipových kartách jako o perspektivním paměťovém médiu pro uchování informací.
Úvod
Čipové karty jsou velmi rozšířeným médiem pro uchování a přenos různého druhu informací a jejich využití je velmi rozsáhlé a při některých činnostech (jako jsou například některé finanční operace) jsou téměř nenahraditelné.
Objevují se v našem životě stále častěji a mnoho lidských činností je s čipovými kartami nerozlučně spjato (například použití telefonních automatů, bankomatů atd.).
Cílem tohoto projektu je analyzovat jejich využití jako elektronického klíče pro přístupový systém. Dále se projekt zabývá praktickou konstrukcí takového zařízení včetně programového vybavení.
1. Čipové karty
Čipové karty jsou plastové destičky o velikosti 85.6*54.0*0.76 mm, do nichž jsou zaintegrovány čipy. Tyto karty vynalezl v roce 1974 Rolland Moreno a od té doby se rozšířily po celém světě a úspěšně tak nahrazují méně bezpečné magnetické karty. Nejvíce čipových karet ( asi 80 %) se používá při placení v telefonních automatech ( tzv.telefonní karty), dále se čipové karty používají v mobilních telefonech (SIM
karty), v bankovnictví, pro dekodéry videosignálu a ve spoustě dalších aplikací.
1.1 Rozdělení čipových karet
Čipové karty lze dělit podle několika různých hledisek.
Dále můžeme čipové karty rozdělit na :
1.1.1 Paměťové karty s jednoduchou zadrátovanou
logikou
To této kategorie patří i karty, kde čip slouží pouze jako paměťové médium (paměťové karty - Memory Cards, karty s uloženou hodnotou - Stored-Value Memory Cards, předplatitelské karty - Prepaid Cards). Pro přístup do paměti typu EPROM nebo EEPROM se používá jednoduchá zadrátova
ná logika, která je dána už při výrobě.Typickými představiteli těchto karet jsou telefonní karty. Například telefonní čipová karta SPT Telecom obsahuje 32 bytovou paměť, kde je prvních 12 B určeno pro identifikaci karty a následujících 18 B pro záznam jedn
otek.
Výrobní cena těchto karet se pohybuje od 50 centů do 5 dolarů.
1.1.2 Chytré karty (Smart Cards)
Tímto názvem se označují převážně karty, které obsahují mikroprocesor (Microprocessor Cards) a jsou schopny provádět různé operace s daty uloženými v paměti čipové karty.
Základní operační systém je v paměti typu ROM, aplikace v paměti typu EEPROM (Electrically Erasable Programmable ROM; více než 1 000 000 cyklů čtení/zápis a až 10 000 možných přeprogramování). Data mohou byt uložena v pamětech typu EPROM (Electrically Programable ROM) a EEPROM, zatímco paměť typu RAM je používána pouze pro uchování mezivýsledků při výpočtech. Navíc se na kartě nachází ještě sériový I/O port, vlastní CPU a na některých kartách ještě kryptografická jednotka na ochranu
dat. Vlastní CPU je 8-bitový a většinou vychází z mikroprocesorů typu 8051 a 6805.Časté je použití těchto karet jako nositelů kódovacího klíče. Pro kódování informací je výhodné, že i v případě, kdy se používá tzv. "public-key security systém" (tzn. existuji dva klíče: jeden pro zakódování - ten je veřejný, a druhý pro rozkódování - ten zná pouze příjemce), je klíč i celý kódovací algoritmus uložen uvnitř čipu karty, takže je velice obtížně přístupný. Pro tyto účely je do klasické struktury přidán aritmeti
cký koprocesor, který podporuje šifrovací instrukce. V těchto kartách se nejčastěji používají tyto šifrovací systémy typu "public-key":
Typickým příkladem tohoto typu karet je čip MC68HC5SC49 firmy Motorola (krátce SC49), který má odpovídající výkon a HW podporu pro provádění "public-key" a "private-key" kryptografických operací. Za tímto účelem je do čipu přidán koprocesor zvaný MAP (Modular Arithmetic Processor). MAP obsahuj
e knihovny pro "secret-key" a "public-key" algoritmy, jako DES, RSA, DSS a SHA, jakož i množství matematických funkcí. SC49 obsahuje kód velikosti 13,3 KB v ROM a má k dispozici 512 B RAM. Pro uchování dat se na čipu nachází 4 KB EEPROM. U těchto karet bývají data uložena v paměti také šifrována.
Výrobní cena těchto karet se pohybuje od 3 do 15 dolarů.
1.1.3 Superchytré karty
Tyto karty se poprvé objevily v roce 1988, kdy obsahovaly kromě mikroprocesoru navíc klávesnici a display. Bohužel kvůli skutečnosti, že tyto karty musely obsahovat navíc baterie, jejich tloušťka přesáhla rozměr udaný v normě ISO 7810.
1.2 Standardy
1.2.1 ISO 7810
Tato norma specifikuje fyzikální vlastnosti identifikačních karet .
typ |
šířka (mm) |
výška (mm) |
tloušťka (mm) |
ID-1 |
85.60 |
53.98 |
0.76 |
ID-2 |
105.00 |
74.00 |
0.76 |
ID-3 |
125.00 |
88.00 |
0.76 |
TAB.1: Rozměry karet
Převážně se používají katry typu ID-1. Karty jsou z materiálu PVC (polvinylchlorid), nebo PVCA (varianta polvinylchloridu). Dále tato norma specifikuje umístění magnetického proužku na kartě, umístění vylisovaného textu a podpisového vzoru.
1.2.2 ISO 7812
Tato norma se týká identifikačních karet. Jsou v ní určeny systémy číslování a procedura registrace identifikátoru uživate
le.V této normě je také popis a struktura údajů, nacházejících se na kartě.
Klasická struktura číselného záznamu je následující:
1.2.3 ISO 7816-1
Tato část specifikuje fyzikální vlastnosti karet s integrovanými obvody a s kontakty. Vztahuje se i na ID karty, které mohou obsahovat reliéfní tisk, nebo magnetický proužek podle normy ISO 7811. Tato část se vztahuje na obvody, které mají rozhraní s elektrickými kontakty, ale neurčuje druh, počet a polohu integrovaných obvodů na těchto kartách.
1.2.4 ISO 7816-2
Tato norma určuje rozměry, umístění a přiřazení pro každý kontakt na kartách typu ID-1 s integrovanými obvody.
Kontakty musí mít minimální pravoúhlou oblast povrchu, která není menší než obdélník o rozměrech 2 mm na 1,7 mm. Každý kontakt musí být elektricky izolován od ostatních kontaktů.
OBR.1: Rozmístění kontaktů
Číslo kontaktu |
Přiřazení |
1 |
VCC (napájecí napětí) |
2 |
RST (signál reset) |
3 |
CLK (hodinový signál) |
4 |
Vyhrazeno pro ISO/IEC JTC 1/SC17 pro budoucí použití |
5 |
GND (zem) |
6 |
PVV (programovací napětí) |
7 |
I/O (vstup/výstup dat) |
8 |
Vyhrazeno pro ISO/IEC JTC 1/SC17 pro budoucí použití |
TAB.2: Přiřazení kontaktů
1.2.5 ISO 7816-3
Tato část normy určuje strukturu napájení, signálu a výměnu informací mezi kartou s integrovanými obvody a zařízením pracujícím jako terminál. Dále určuje rychlosti přenosu signálu, úrovně napětí, hodnoty proudu, konvence týkající se parity, pracovní procedury, mechanizmy přenosu a komunikace s kartou s integrovanými obvod
y.Význam signálů je následující:
Dialog mezi zařízením a kartou se skládá z následujících činností:
1.3 Paměťová karta ST14C02C
Tato karta je zde uvedena jako zástupce univerzální karty (na rozdíl od dalších dvou – viz.dále), jelikož operace s kartou probíhají na vyšší úrovni. Jedná se o čistě paměťovou kartu velikosti 256 x 8 bitů. Význam vývodů je uv
eden v tabulce 3.
Kontakt |
význam |
1 |
Vcc =5V |
2 |
NC |
3 |
SCL |
4 |
NC |
5 |
GND |
6 |
NC |
7 |
SDA |
8 |
Mode |
TAB.3: Význam vývodů karty ST14C02C
Tato karta je tvořena běžnou sériovou pamětí typu EEPROM na sběrnici I2C. Z důvodů bezpečnosti je vybavena obvodem Power On Reset, který při nedostatečném napájení vnitřně kartu drží ve stavu reset, kdy neodpovídá a neprovádí žádné příkazy.
Má pevně daný kód zařízení 1010000m, kde LSBm má význam R/W (čtení/zápis), což znamená, že na jeho hodnotě závisí, zda bude z karty čteno, či zda do ní bude zapisováno.Tento bit je SLAVE (podřízený).
Veškerá komunikace probíhá po 8 bitových znacích. Po osmém vyslaném bitu protější strana (příjemce) odpoví jedním bitem - Acknowledge bit (ACK). Typ operace je určen výše uvedeným bitem (při výběru zařízení po předcházející sekvenci START).
Karta umožňuje následující operace:
Celkově lze říci, že zabezpečení u této karty je pouze proti chybám (technického rázu) při komunikaci a lze ji (z technického hlediska) použít jako bezpečné paměťové medium.
1.4 Německá telefonní karta
Tato karta se používá v Německu jako předplatní telefonní. Stejného typu je ovšem mnoho jiných karet, u nás například méně rozšířená CityCard. V tomto případě se jedná o paměť velikosti 128 bitů. Prvních 64 bitů je paměť typu EPROM chráněná proti zápisu. Zde jsou uloženy obdobné infor
mace jako na české tel.kartě (viz.dále). Následujících 40 bitů je paměť typu EEPROM a slouží jako 5 oktalových čítačů vzájemně propojených a řízených integrovanou logikou karty. Zbylých 24 bitů má hodnotu 1. Časové průběhy při komunikaci s kartou jsou na obrázku 2.
OBR.2: Časové průběhy německé tel.karty
Význam jednotlivých kontaktů u této karty je uveden v tabulce 4.
Kontakt |
význam |
1 |
Vcc =5V |
2 |
Reset |
3 |
Clock |
4 |
NC |
5 |
GND |
6 |
NC |
7 |
I/O |
8 |
NC |
TAB.4: Význam vývodů německé tel.karty
Vzhledem k použitému typu paměti (EEPROM s běžným napájením 5V) už musí být tato karta vybavena složitější logikou, zajišťující přístup. Běžné snížení hodnoty čítače v jednom řádu je vcelku jednoduchá operace. Mnohem složitější (zejména z hlediska bezpečnosti) je případ, kdy chceme snížit hodnotu uloženou v kartě jako celku, kdy může dojít k přenosu mezi čítači jednotlivých (oktalových) řádů. Například je-li stav čítačů 00020 (tj. celkem 16 jednotek), tak p
ro snížení o jedničku, musíme zároveň "rozměnit" hodnotu čítače 1. řádu (abychom nakonec získali kýžených 00017). To znamená snížit hodnotu čítače 1.řádu a zvýšit hodnotu čítače 0. řádu. Přitom zvýšení hodnoty čítače je z hlediska bezpečnosti kritické.
Tento typ karty vyrábí například Siemens pod označením SLE 4404 a novější jako SLE 4406.
1.5 Česká telefonní karta
Čip pro českou telefonní kartu tvoří vlastně 256-bitová sériová paměť EPROM vyrobená technologií NMOS. Velikost karty a rozmístění vývodů odpovídá normě ISO 7816. Význam vývodů a komunikační protokol tuto normu nedodržuje.
Význam jednotlivých vývodů je popsán v tabulce 5.
Vývod |
význam |
funkce |
1 |
Vcc=5V |
napájení |
2 |
R/W |
vstup |
3 |
Clock |
vstup |
4 |
Reset |
vstup |
5 |
Gnd=0V |
napájení |
7 |
Out |
výstup |
8 |
Fuse |
|
TAB.5: Význam vývodů české telefonní karty
Rozměry karty a časové průběhy při komunikaci jsou uvedeny na obrázcích 3 a 4.
OBR:3: Rozměry české telefonní karty
OBR.4: Časové průběhy při komunikaci s kartou
Jak je z předchozího obrázku vidět, základním signálem při komunikaci s kartou je signál
Clock, jehož taktem je určována rychlost čtení respektive zápisu dat.
Pro spolehlivou funkci musí být perioda hodinového signálu (clock) minimálně 40ms. Při velikosti paměti 256 bitů a rychlosti čtení 1bit/40ms trvá přečtení karty asi 11 sekund.
Dalším signálem na kartě je
Reset. Pokud má tento signál hodnotu log0 je, karta udržována ve stavu RESET, tzn., že nelze číst ani zapisovat. Změnou úrovně signálu na log1 se karta zpřístupní jak pro zápis, tak pro čtení.O tom, zda bude z karty čteno, či do ní bude zapisováno rozhoduje signál
R/W. V případě, že je signál v úrovni log1 a je přiloženo programovací napětí Vpp = 21V, bude z příchodem hodinového impulsu zapsána log1. Zapisovat lze ovšem jen do bitového pole telefonní karty, tj. do bitů 96-255.
Popis obsahu paměti je v tabulce 5.
Bity |
Význam |
0..7 |
kontrolní součet |
0..19 |
identita karty (831H pro telefonní) |
20..31 |
počet jednotek na nové kartě v kódu BCD |
32..40 |
kód výrobce karty (00H – Schlumberger, 40H – Gemplus) |
41..79 |
sériové číslo |
80..87 |
11H |
88..95 |
kód země (55H – Česká republika) |
96..255 |
bitové pole, každé použité jednotce odpovídá jeden nastavený bit |
TAB.5: Popis obsahu paměti české telefonní karty
Bity jsou číslovány v opačném pořadí, než je obvyklé – bit 0 je nejvíce významný. Při výrobě se prázdná karta naprogramuje – vytvoří se hlavička o po jejím ověření se propálí pojistka (vývod 8 – Fuse). Dále se v rámci odzkoušení funkčnosti karty smažou první dvě jednotky. Počet jednotek na nové kartě je pak zvětšen o dvě oproti skutečnosti.
Proč by nemělo být technicky možné na telefonní kartu doplnit nové jednotky? Pro doplnění jednotek na kartu by bylo především nutné čip vymazat UV zářením. Čip je ale zalit neprůsvitnou pryskyřicí , která ho před UV zářením chrání. Osvícením čipu UV zářením by se ale vymazala i oblast, ve které jsou uloženy
výrobní údaje (bity 0..95). Tuto oblast by však nebylo možné znovu naprogramovat, jelikož je chráněna proti zápisu pojistkou (vývod 8 – fuse), která je přepálena po prvním naprogramování u dodavatele.Není složité navrhnout emulátor telefonní karty z běžných integrovaných obvodů. Telefonní automat si ale testuje fyzikální vlastnosti materiálu karty. Při amatérské konstrukci je téměř nemožné napodobit originál.
Přesto je zajímavé vědět, jak telefonní karty pracují. Je možné blokovat spuštění programu na počítači, když do něj není vložena správná telefonní karta, je možné udělat zabezpečovací zařízení do auta, které se aktivuje telefonní kartou atd. Možností, jak využít prázdné (i plné) telefonní karty je skutečně mnoho. Jedna z možností využití telefonních
karet je v jejich použití jako elektronického klíče například pro vstup do budovy či místnosti v nějakém objektu. Telefonní karta je zde ve funkci klíče, po jehož vložení do čtecího zařízení je jeho majitel buď vpuštěn dovnitř, anebo je mu přístup zamítnut.
Takový systém má spoustu výhod. Nemusíte sebou nosit někdy dost nepohodlné klíče, jako klíč se může použít karta, která ještě slouží i k telefonování. Při ztrátě se není třeba obávat zneužití, jednoduše se pro ztracenou kartu zamítne přístup a majitel se pořídí novou, kterou potom jednoduše “zaregistruje” do systému. Ovšem všechno má své výhody i nevýhody. Nevýhodou popisovaného systému je jistá těžkopádnost (systém musí kartu nejdříve načíst a potom prohledat databázi “držitelů” karet)
2. Přístupový identifikační systém řízený počítačem
ATARI 800
Tento systém identifikace osob je založen na využití telefonních karet ve spojení s 8-bitovým počítačem ATARI 800 XE.
Celý systém se skládá s několika částí:
2.1 Počítač ATARI 800XE
Tento počítač je postaven na 8-bitovém mikroprocesoru 6502 firmy Motorola pracující na kmitočtu 1,7 MHz. Velikost paměti RAM je 64 KB a vnitřní ROM má 16 KB a obsahuje operační systém a interpret programovacího jazyka BASIC. Počítač má speciální koprocesor pro vytváření zvuku a grafiky. Z ve
nku vypadá jako hrací konzola s klávesnicí. Na pravém boku se nacházejí dva konektory pro připojení joysticků nebo čtyř analogových ovládačů tzv. paddle. Tyto konektory mohou sloužit jako vstupní (8 digitálních vstupů a 4 analogové), nebo jako výstupní. Uvnitř jsou ještě další vstupně/výstupní brány, ovšem tyto nejsou vyvedeny. Na zadní straně se nachází: vypínač napájení, napájecí konektor, modulátor (výstup pro připojení na TV), konektor pro připojení k monitoru (audio+video), konektor sériového rozhraní pro připojení datasetu, 5,25” disketové jednotky, tiskárny apod., konektor rozšiřujícího paralelního rozhraní a konektor pro připojení cartridge. K tomuto počítači lze však připojit i řadu dalších periferií. Z těch méně obvyklých je to například světelné pero a různé jiné amatérské doplňky jako třeba zařízení na digitalizaci obrazu nebo zvuku atd.Klávesnice obsahuje 57 kláves pro normální použití a 5 kláves pro speciální funkce. Nejdůležitější speciální klávesa je RESET, která provádí funkci vynulování celého mikroprocesorového systému. Další klávesou je OPTION, která slouží pro zapnutí nebo vypnutí interního BASICu. Dále klávesa START slouží pro zapnutí tzv. “boot tape”. Tyto speciální klávesy (OPTION, SELECT, START a HELP) však mohou být využívány také z
programů, kde mohou mít různou funkci. Celý tento mikroprocesorový systém je osazen na oboustranné desce plošných spojů, která je umístěna v ochranném stínícím obalu z kovu.Klávesnice je připojena pomocí 24-žilového plochého vodiče. Šestnácti bitová adresová sběrnice dovoluje adresovat až 64 KB paměti. Osmi bitová datová sběrnice dovoluje komunikovat mezi jednotlivými funkčními bloky mikropočítačového systému. Blokové schéma počítače ATARI 800 XE je na obrázku 5.
OBR.5: Blokové schéma počítače ATARI 800
2.1.1 Mikroprocesor 6502C (CPU)
Tento mikroprocesor je vyroben technologií CMOS s velikostí napájecího napětí +5V. U ATARI XL/XE je používána modifikovaná verze tohoto čipu, která byla nazvána “Sally”.
Tento čip obsahuje:
Zapojení vývodů čipu 6502 je na obr.6.
OBR.6: Zapojení vývodů mikroprocesoru 6502
2.1.2 Paměť RAM
Operační paměť RAM mikroprocesorového systému má celkovou kapacitu 64KB*8 bitů a je osazena pomocí 8-čipů DRAM 4164.
2.1.3 ANTIC (Alphanumeric Television Interface
Controler)
Tento speciální mikroprocesor slouží k vytváření grafiky. Mimo toho také oživuje paměť RA
M a provádí další nezbytné funkce v mikroprocesorovém systému.
Tento čip obsahuje:
Zapojení vývodů čipu ANTIC je na obrázku 7.
OBR.7: Zapojení vývodů čipu ANTIC
2.1.4 MMU (Memory Management Unit)
Tento obvod slouží pro dekódování adresy přístupu do paměti. Je to vlastně PLA (programovatelné logické pole), ve kterém se dekóduje přístup do paměti a to v závislosti na adresních bitech A8 – A15.
2.1.5 PIA (Peripherial Interface Adaptor)
Je to I/O obvod mikroprocesoru 6502, který nese označení 6520 a slouží pro snímání poloh joysticků a řízení činnosti dalších obvodů mikroprocesorového systému (např. přerušení od periférií nebo řízení MMU) pomocí portů.
Zapojení vývodů čipu PIA je na obrázku 8.
OBR.8: Zapojení vývodů čipu PIA
2.1.6 OS ROM (Read Only Memory)
Je to pevná paměť o celkové kapacitě 16KB, která obsahuje operační systém počítače.
2.1.7 BASIC ROM
Je to pevná paměť o velikosti 8KB, která obsahuje interpret vestavěného jazyka ATARI
BASIC.
2.1.8 GTIA (Graphic Television Interface Adaptor)
Tento čip vytváří již vlastní elektrické signály pro vytváření obrazu na monitoru a to na podkladě údajů od video-procesoru ANTIC. Navíc obsluhuje mimo jiné i speciální klávesy a vytváří zvuk při stlačení některé klávesy na klávesnici. U novějších modelů Atari XL/XE je místo čipu GTIA použit čip FREDDIE.
Tento čip obsahuje:
Zapojení vývodů čipu GTIA je na obr.9
OBR.9: Zapojení vývodů čipu GTIA
2.1.9 PBI (Parallel Bus Interface)
Toto paralelní rozhraní obsahuje všechny důležité signály mikroprocesorového systému, které lze použít pro budoucí rozšíření architektury mikropočítače.
2.1.10 POKEY (Pot-Keyboard Integrated Circuit)
Hlavní činnost tohoto čipu spočívá v obsluze klávesnice a řízení sériového portu pro připojení dalších sériově komunikujících periférií.
Tento čip obsahuje:
Zapojení vývodů čipu POKEY je na obr.10
OBR.10: Zapojení vývodů čipu POKEY
2.1.11 Modulátor
Modulátor je určen pro vytvoření vysokofrekvenčního (vf) televizního signálu z vlastních obrazových signálů a to tak, aby bylo možno zobrazovat obraz i na běžném televizním přijímači.
Tento počítač byl ve své době ( tj. v roce 1980-1990) velmi oblíbený pro velmi dobrou kvalitu her. Nyní však tyto stroje už téměř nikdo nepoužívá a většina programátorů přešla na počítače vyšších tříd (Apple,PC…). Pravdou je, že náročnější aplikace tyto stroje zvládnout nemohou, ale výborně se hodí například k řízení hraček, nebo nějakých nenáročných technologických procesů, protože jsou poměrně l
evné a nenáročné na prostor a pracovní prostředí.
Využít tento počítač ke čtení telefonních karet a k řízení přístupu je velmi výhodné, protože je to poměrně levná záležitost a celý systém lze přizpůsobit individuálním požadavkům. K propojení čtecího zařízení s počítačem je využit joystickový port číslo 1 (ovládací program však podporuje i port číslo 2)
Zapojení portu JOY 1 je na obr.11.
OBR.11: Zapojení joystickového portu.
2.2 Čtecí zařízení (adaptér) + indikační prvky
K tomu, aby bylo možno přečíst informace, které se nalézají na telefonní kartě je potřeba pro tuto kartu vyrobit nebo koupit adaptér, který zajistí spolehlivé propojení karty se systémem. Takové propojení musí být maximálně spolehlivé a odolné proti opotřebení (neustálým vkládáním a vyjímáním karet) a proti dalším nejrůznějším vlivům jako je například vliv okolního prostředí (vlhkost, prach atd.).
Nejjednodušším řešením by bylo použít originální adaptér, který se používá v telefonních čí bankovních automatech. Tyto originální adaptéry jsou konstruovány tak, aby splňovaly výše uvedené požadavky na spolehlivost, protože jsou těmto vlivům také dlouhodobě vystaveny. Ovšem problém nastává při shánění těchto komponentů, jelikož v běžné m
aloobchodní síti se nevyskytují a různá specializovaná pracoviště (např. SPT Telecom) vám nic takového také neposkytnou. V této situaci nezbývá nic jiného, než si potřebný adaptér amatérsky vyrobit. Jako nejvhodnější řešení se mi zdálo použít plastovou krabičku s označením U-KM-20 , která je k dostání například u firmy GM Elektronik.Vlastní kontakty pro spojení s telefonní kartou jsem vyrobil ze slotového konektoru pro počítače.Tento konektor je nutné nejprve podélně rozpůlit a poté z každé poloviny odříznout část se čtyřmi kontakty. Po mechanickém opracování a začištění hran jehlovým pilníčkem získáme dvě oddělené části po čtyřech kontaktech. Když tyto části otočíte “čelem” k sobě, zjistíte, že geometrické rozměry takto vyrobených kontaktů se shodují s geo
metrickými rozměry kontaktů na skutečné telefonní kartě.Dále je důležité tyto kontakty umístit do krabičky tak, aby byl zajištěn spolehlivý kontakt s kartou při jejím zasunutí. Osvědčil se následující postup:
Nejdříve krabičku rozšroubujeme a ze spodního dílu odstraníme přední obdélníkový profil. Poté vložíme na dno krabičky telefonní kartu a z odstraněného plastového profilu vyrobíme zarážky tak, aby karta byla po zasunutí spolehlivě fixována. Nyní si připravíme kousek plexiskla o rozměrech 62,0*15*2 mm.
Toto plexisklo přiložíme shora na spodní díl krabičky (ve které je dočasně umístěna karta) a rýsovací jehlou uděláme rysky přesně nad kontakty karty. Do takto označeného pole vlepíme připravené kontakty ze slotového konektoru. Pokud teď vložíme plexisklo zpět na původní místo, mělo by dojít k mechanickému propojení kontaktů karty s kontakty, umístěnými v krabičce. Kontakty na tomto místě fixujeme (například kvalitním sekundovým lepidlem) a při zasunuté kartě zjistíme W -metrem zda není mezi jednotlivými kontakty zkrat. Nyní je třeba na vyrobené kontakty připájet vodiče, které propojí vyrobenou čtečku s řídícím počítačem.
Pro lepší orientaci v zapojení vodičů doporučuji barevné odlišení uvedené v tabulce 6. Propojení čtečky s počítačem je zobrazeno na obrázk
u 12.
kontakt |
funkce |
barva vodiče |
1 a 6 |
Ucc |
červený |
3 |
Clock |
hnědý |
4 |
Reset |
žlutý |
5 |
Gnd |
modrý |
7 |
Out |
zelený |
TAB.6: Barevné rozlišení vodičů
OBR.12: Propojení čtečky s počítačem
Toto propojení však zajistí pouze komunikaci karty a počítače.
Pro účely identifikace a případnému povolení či zamítnutí přístupu je třeba čtečku vybavit dalšími kontrolními prvky, které informují uživatele o stavu přístupového systému.
Zvolil jsem indikaci čtyřmi svítivými LED diodami, z nichž každá indikuje jeden z následujících stavů systému:
žlutá
(D1) - systém je připraven k provozu ; dveře jsou zavřenyzelená (D2) - přístup byl povolen ; dveře jsou otevřeny
červená (D3) - chyba při čtení karty; systém je mimo provoz
zelená (2) (D4) - probíhá čtení karty
Pokud svítí zelená dioda (2) a zároveň bliká červená se žlutou, znamená to, že systém kartu úspěšně přečetl a nyní prohledává databázi držitelů.
Pro řízení uvedených svítivých diod jsem použil integrovaný obvod MH 7442, což je dekodér BCD na 1 z 10, což znamená, ze pokud přivedeme na vstupy BCD kód, objeví se log 0 na tom výstupu, který odpovídá dekadické hodnotě vstupního BCD kódu. V praxi to znamená, že pro řízení všech čtyř diod postačí pouze d
va bity a jejich použitím dosáhneme čtyř vstupních kombinací (22=4). Zapojení obvodu MH 7442 a jeho zapojení do systému je na obrázku 13.
OBR.13:Zapojení MH 7442 do systému
Po sestavení dekodéru (MH 7442+LED) jej umístíme do čtečky tak, aby LED diody byly umístěny v levém horním rohu krabičky a byly dobře viditelné. Propojovací vodiče vyvedeme zadní stěnou čtečky a konce připájíme na příslušné piny konektoru CANON 9 (samice) a konektor zakrytujeme. Tím je čtecí adaptér připraven k propojení s počítačem a následnému použití.
2.3 Ovládací software
Řídící software je základním prvkem celého systému. Program musí zajistit veškeré potřebné funkce systému tak, aby celek pracoval naprosto spolehlivě. Prioritní funkcí programu je přečíst a vyhodnotit vloženou telefonní kartu a na základě její analýzy povolit čí zamítnout přístup, poskytuje však i další funkce, které zvyšují komfort obsluhy.
Celý program je napsán v jazyce BASIC, jehož interpret je na počítači ATARI k dispozici ihned po zapnutí. Po spuštění programu se objeví úvodní obrazovka a program čeká na vložení karty. Rozlišení toho, zda je karta vložena, či nikoliv je realizováno čistě softwarově a to tak, že program se neustále pokouší přečíst první bi
t karty. Pokud je tento bit roven 1, běží program ve smyčce, ale pokud se hodnota bitu vložením karty změní na nulu, cyklus se ukončí a řízení je předáno další části programu, která provede reset karty a zahájí čtení obsahu paměti karty.Jelikož je k identifikaci karty použito pouze její sériové číslo, bylo by zbytečné číst prvních 40 bitů, které obsahují pro tento účel nedůležité informace (viz.tabulka 5). Program tedy čte pouze bity 41 až 87, přičemž bity 80-87 mají hodnoty 00010001 a jsou použity pouze k
e kontrole, zda nedošlo při čtení karty k chybě.K vlastní identifikaci jsou tedy použity bity 41-79. Po načtení karty je hodnota těchto bitů porovnána s údaji v databázi (soubor IDENTIF2.DAT) a v případě shody vypíše program identifikační jméno karty a nastaví pin3 na portu JOY1, čímž způsobí rozsvícení zelené LED indikující povolení přístupu.
V případě, že sériové číslo karty se neshoduje s údaji v datovém souboru (IDENTIF2.DAT) podá o tom program zprávu a nastaví všechny bity na JOY1 na hodnotu 0, což způsobí rozsvícení žluté LED diody, která indikuje pouze připravenost k provozu.
Čtení karty probíhá přesně podle časového diagramu na obrázku 4. Využity jsou pouze signály
clock a reset a samozřejmě signál out. Signály R/W a Vpp slouží k zápisu bitů do karty a proto v této aplikaci nemají žádné využití. Program dále umožňuje přidat či odebrat kartu ze své databáze a tím zaregistrovat nového, či zrušit stávajícího účastníka. Tyto funkce jsou dostupné po stisku klávesy Esc z úvodní nabídky.Je možno si také zobrazit chronologicky řazený seznam vstupujících osob. Tento seznam je uložen v souboru CHRONO.ID. Během práce v tomto “konfiguračním” menu svítí červená LED, která indikuje, že systém není připraven. Pokud je vyvolána “konfigurační” nabídka a nen
í zvolena žádná položka, vrátí se program asi po 15 sekundách zpět do pohotovostního stavu. Tím je zajištěno, že nemůže dojít při náhodném stisku Esc k vyřazení celého systému. Při zrušení karty z databáze není tato položka v pravém smyslu odstraněna, ale je pouze zvláštním identifikátorem označena jako neplatná, což umožňuje tuto položku kdykoliv obnovit.Obnovení takto označené položky není součástí programu, ale lze to provést v libovolném textovém editoru. Po každé změně tj. po přidání či ubrání položky dojde k zapsání aktuálních dat jak na disketu, tak i do RAM disku, odkud jsou používána programem.
V tabulce 7 je stav pinů na portu
JOY1 pro jednotlivé stavy systému.
stav systému |
pin 3 |
pin 4 |
rozsvícená LED |
neotevřeno |
0 |
0 |
D1-žlutá |
chyba |
0 |
1 |
D2-červená |
otevřeno |
1 |
0 |
D3-zelená |
čtení |
1 |
1 |
D4-zelená (2) |
TAB.7: Stav pinů portu JOY1 pro jednotlivé stavy systému
Program je navržen tak, že si po spuštění zkopíruje datové soubory (IDENTIF2.DAT a CHRONO.ID) z diskety do RAMdisku, kde je schopen s nimi pracovat daleko rychleji. Jelikož počítač ATARI 800 v základní verzi RAMdisk nemá, je nutné, aby byl program spouštěn pouze pod
FLOP-DOSem, popřípadě i pod jiným DOSem, který obsahuje softwarově vytvořený RAMdisk. Po načtení programu je možno disketovou mechaniku vypnout.Zdrojový text ovládacího programu je uveden v příloze.
2.4 Akční člen - elektromagnetický zámek
K tomu, aby popisované zařízení mělo praktické využití, je třeba jej vybavit akčním členem, který zajistí provedení požadovaného úkonu po vložení správné telefonní karty.
Podoba tohoto členu závisí na využití tohoto systému. Může to být například relé, kterým je ovládáno výkonnější zařízení, nebo pro menší zatížení postačí i spínací tranzistor nebo triak.
Pro využití systému ke kontrole přístupu například do objektů je vhodné použít jako akční členy elektromagnetický zámek či elektromagnetickou závoru, kterými jsou přímo ovládány přístupové dveře.
Výstupním signálem systému je logický signál na vývodu 2 integrovaného obvodu MH 7442. Tento signál má v klidovém stavu (tzn., že dveře jsou zavřeny) hodnotu log1. Po vložení správné telefonní karty se hodnota signálu změní na log0.
Na obrázku 14 je jedno z možných zapojení akčního členu k systému:
OBR.14: Zapojení akčního členu do systému
Konkrétní hodnoty součástek (R1, R2, T1) závisí na použitém typu akčního členu, respektive na napájecím napětí a na proudovém odběru cívky elektromagnetu.
Jelikož se tyto parametry u různých výrobků někdy dost podstatně liší, uvádím zde obecné matematické vztahy pro výpočet hodnot odporů R1 a R2.
Při návrhu se předpokládá, že vstup je buzen logickým signálem (z MH 7442), který nabývá hodnot 0V až 2V pro log0 a 3V až 5V pro log1. Jelikož aktivní signál je log0, je zde použit tranzistor typu PNP, i když po doplnění zapojení o invertor by bylo možno použit i tranzistor NPN. Při návrhu je třeba respektovat maximální proud báze
IB, max. proud emitorem IE (který musí být větší, než proud cívkou elektromagnetu) a maximální povolené napětí mezi emitorem a kolektorem UCE (jež musí být také větší než napájecí napětí cívky). Dále je potřeba vzít v úvahu maximální výstupní proud obvodu MH 7442 ve stavu log0 (IOL), jehož hodnota je 16mA. Pokud vezmeme v úvahu uvedené skutečnosti, získáme následující matematické vztahy:
pro IB < IOL platí
,kde Ucc je napájecí napětí cívky a IB je max. povolený proud báze
pro IB > IOL platí
,kde Ucc je napájecí napětí cívky a IOL je max. výstupní proud obvodu MH 7442
Jestliže je napájecí napětí
UCC rovno napájecímu napětí cívky, je možno rezistor R2 vynechat (nahradit spojkou), ovšem jen v případě, že proud cívkou nepřekročí povolený proud emitorem IE .
Pokud tedy například použijeme elektromagnetický zámek, jehož cívka odebírá při napájecím napětí 12V proud 0.5A, mohli bychom použít tranzistor
BC 328, který má tyto parametry: UCE = 25V , IC = 0.8A a b = 100 – 260.
Proud báze IB vypočteme z proudového zesilovacího činitele b podle vztahu
a po dosazení do níže uvedeného vztahu vypočteme hodnotu rezistoru
R1.Výkonová ztráta tranzistoru T1 bude asi 6W, proto je nutné zajistit jeho dobré chlazení!
Jelikož se při vypnutí cívky v ní naindukuje poměrně vysoká napěťová špička opačné polarity, která by mohla zničit tranzistor, je v obvodu zapojena ochranná dioda D1, která tvoří pro tento nežádoucí jev zkrat. Dioda musí být ovšem dimenzována tak, aby sama nebyla zničena. Z běžných typů vyhoví například
KY 130/80 apod.
2.5 Zabezpečení systému
Žádný systém není stoprocentně zabezpečen. To platí i o tomto přístupovém systému, jelikož je postaven na telefonních kartách což už samo o sobě je nejslabším článkem celého zabezpečení.
České telefonní karty jsou poměrně jednoduchým médiem (co se týče způsobu komunikace) a tudíž jsou velmi málo zabezpečeny proti zneužití různými hackery, tedy lidmi, kteří se snaží a jejich prolomení. Samotná karta žádné ochranné prvky neobsahuje, protože veškeré funkce, které mají zabránit zneužití, jsou integrovány v telefonním automatu. Jedná se především o testování fyzikálních vlastností,
jako jsou například geometrické rozměry karty, impedance kontaktů či proudový odběr čipu. Pokud některý z těchto parametrů není v toleranci, je karta odmítnuta.Popisovaný přístupový systém žádný z těchto ochranných prvků neobsahuje, proto jej lze poměrně jednoduše překonat například jednoduchým emulátorem telefonní karty který lze sestavit pouze ze čtyř běžných integrovaných obvodů. Ovšem pokud na zabezpečení opravdu záleží, je možné systém vybavit například jednoduchým čidlem, které hlídá proudový odběr k
arty. Takové čidlo může být realizováno např. jako napěťový komparátor, který snímá úbytek napětí na napájecím rezistoru (viz. obr.12) a v případě, že tento překročí určitou mez tak nepovolí čtení karty. Malou úpravou v ovládacím programu lze například spustit alarm, nebo jinak upozornit na pokus o zneužití.
Závěr
Tato práce se zabývala čipovými kartami jako široce využitelným médiem k uchování a k přenosu informace a pojednává také o jejich využití pro identifikační systém.
V první části projektu jsme se seznámili s rozdělením čipových karet a s příslušnými standardy, kterými se výroba a použití těchto karet řídí.
V další části je popsán samotný přístupový systém. Je zde stručný popis počítače ATARI 800XE, kterým je celý systém řízen, dále je zde popsána konstrukce čtecího adaptéru, akčního členu a je zde popsán i ovládací software. V závěru je zhodnocena bezpečnost celého systému z hlediska zneužití.
V současné době je celé zařízení vyrobeno jako zkušební vzorek, sloužící k ověření funkčnosti celého zařízení a k odladění ovládacího programu. Pro nasazení v praxi by bylo nutné provést některé úpravy v konstrukci čtecího adaptéru a bylo by nutné doplnit zařízení výkonovou částí (akčním členem).
Přednost celého přístupového systému spočívá také v nízké ekonomické náročnosti, jelikož řídící počítač lze dnes pořídit velmi levně (řádově za několik set korun).
Tento projekt ukazuje jednu z dalších možností využití telefonních karet, které nemusí být nutně určeny pouze pro telefonování.
autor projektu
: Frenkyrok vzniku
: 1998