Jste zde

Slovenské telefónne karty po druhé

Všetky informácie sú voľne dostupnné na internete, príspevok slúži len na študijné účely a autor nie je zodpovedný za to akým spôsobom a pre aké učely budú použité tieto informácie.

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

  1. Tel. automat si po vložení tel. karty načíta jej obsah.
     
     
  2. 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.
     
     
  3. Tel. automat posiela  tel. karte to isté 48-bitové náhodné číslo (challenge).
     
     
  4. Tel. karta pomocou rovnakého šifrovacieho algoritmu vygeneruje výsledné 16-bitové číslo a pošle ho tel. automatu (response).

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

  1. reset karty  (RESET sekvencia)
  2. puls CLK-110x  (dostneme sa na bit 110)
  3. zápis (WRITE sekvencia) bitu 110 (puls RST a CLK)
  4. puls CLK-177x
  5. nastav prvý bit náhodného čísla (na IOWR)
  6. puls CLK-1x
  7. opakuj krok 5 and 6 pre bity 2 až 48 náhodného čísla
  8. puls CLK-160x
  9. načítaj prvý bit výsledného čisla (z IORD)
  10. 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).


Hlavné okno programu SmartLab.


Použitá telefónna karta, vpravo sa nachádza sériové číslo.

 

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.
Dermek
umerderm@ savba.sk

Downlad & Odkazy

Hodnocení článku: