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átovaná 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 jednotek.

 

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 aritmetický 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 obsahuje 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živatele.

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 obvody.

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 uveden 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é informace 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 pro 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 venku 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ěť RAM 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ě levné 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é maloobchodní 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 geometrický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ázku 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řeny

zelená (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 dva 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í bit 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 ke 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 karty. 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: Frenky  

rok vzniku: 1998