Úvod
Príspevok by chcel nadviazať na článok uverejnený na HW-servery pod názom „Popis telefonne karty pouzivane na Slovensku“ a doplniť tak niektoré informácie o ktorých nepojednával. Konkrétne sa jedná o ich zbezpečení proti výrobe falzifikátou. Taktiež je tu uvedený návod na výrobu jednoduchej čítačky spolu s úkažkou načítanej slovenskej telefónnej karty.
Bezpečenosť kariet
V nových telefónnych kartách (automatoch) sa používa bezpečnostný tzv. challenge/response protokol. Podrobnosti nádete na nemeckej stránke http://gsho.thur.de ktorá sa zaoberá touto problematikou, takže popíšem len hlavnú myšlienku.
- Tel. automat si po vložení tel. karty načíta jej obsah.
- Tento obsah automat spracuje pomocou šifrovacieho algoritmu, do ktorého vstupuje aj náhodné 48-bitové číslo. Výsledkom algoritmu je výsledné 16-bitové číslo.
- Tel. automat posiela tel. karte to isté 48-bitové náhodné číslo (challenge).
- Tel. karta pomocou rovnakého šifrovacieho algoritmu vygeneruje výsledné 16-bitové číslo a pošle ho tel. automatu (response).
- Ak sa výsledné 16-bitové čísla zhodujú karta je platná.
Na aktiváciu challenge/response protokolu treba urobiť nasledovné operácie. Na obrázku je vidno ako je to možné realizovať prakticky.
- reset karty (RESET sekvencia)
- puls CLK-110x (dostneme sa na bit 110)
- zápis (WRITE sekvencia) bitu 110 (puls RST a CLK)
- puls CLK-177x
- nastav prvý bit náhodného čísla (na IOWR)
- puls CLK-1x
- opakuj krok 5 and 6 pre bity 2 až 48 náhodného čísla
- puls CLK-160x
- načítaj prvý bit výsledného čisla (z IORD)
- opakuj krok 8 and 9 pre bity 2 až 16 výsledného čísla
Čítačka kariet
Existuje ich veľké množstvo ale tu popisovaná dokáže spracovať aj už spomínaný bezpečnostný challenge/response protokol. Návod na jej stavbu som získal na hore uvedenej nemeckej stránke. Software sa nazýva SmartLab 1.09. Spolupracuje s rôznym hardwarom ale najednoduchuší je (SL reader) pripojiťelný na LPT port. Schéma sa nachádza aj priamo v help-e programu.
Zapojenie čítačky.
Čítanie karty
V okne s názvom (Memory dump) sa po na načítaní karty objavia dáta ktoré obshuje ako je vidno na obrázku.V mojom prípade bola karta už prázdna (prevolaná) a obsahovala nasledovné:
Poradie Byte-ov
|
B(1)
|
B(2)
|
B(3)
|
B(4)
|
B(5)
|
B(6)
|
B(7)
|
B(8)
|
B(9)
|
... |
Hodnota HEX
|
20
|
39
|
3F
|
01
|
00
|
00
|
C0
|
3F
|
00
|
... |
Hodnota DEC
|
-
|
-
|
-
|
-
|
0
|
0
|
192
|
63
|
-
|
... |
Sériové číslo karty ktoré je na nej vytlačené sa potom vypočíta:
B(8)*2^24 + B(7)*2^16 + B(6)*2^8 + B(5) = 0+0+192*256+63 = 49215
V okne (Challenge/Response) sa po zadaní 48-bitového náhodného čísla (15515A1A1781 hex) objavý výsledné 16-bitové číslo šifrovacieho algoritmu
(70 BB hex).
Záver
Ako vidno súčastná telefónna karta s Challenge/Response protokolom je veľmi dobre zabezpečená. Duplikát karty bez znalosti šifrovacieho algoritmu je prakticky nemožné vyrobiť. Ak by aj niekoho napadlo že si ku všetkým náhodným číslam vygeneruje výsledky algoritmu tak program ponúka aj takúto možnosť ale chvíľu to potrvá :-)
Vygenerovanie všetkých výsledkov algoritmu by trvalo 1785102 rokov.
umerderm@ savba.sk
Downlad & Odkazy
- Pôvodný článok - „Popis telefonne karty pouzivane na Slovensku“
- Problematika telefónnych kariet - http://gsho.thur.de
- Program SmartLab 1.09 ku stiahnutiu - slab_109.zip