BinaryLord University

projekt 001

napiš mi z webu

NORMA ISO - 7816

 

 

1.1 ISO-7816 norma

Tato norma popisuje současné předplacené chipové telefonní-karty. Toto je krátký souhrn v češtině.

 

1.1.1 Geometrická specifikace

Velikost karty podle ISO 7816:
(všechny měření v mm)

 

Přesné pozice kontaktů chipu:

(vše je měřeno z vrcholu nebo levé hrany karty. Každý kontakt musí mít minimální velikost 2 x 1.7 mm. Ovšem kontakty mohou být větší, ale musí být izolovány od ostatních.)

 

 

 

1.1.2 Elektrická specifikace

Význam kontaktů: 

Vpp: napájecí napětí chipu, +5V
Reset: zresetuje kartu, high-active
Clock: hodiny vstup, high-active
Ground: země, 0V
I/O: řízený in-/output
n.c.: nespojený, tyto kontakty nejsou zapojeny

 

1.1.2 Protokol

Komunikace s čipem je prováděna přes 3 kontakty: RESET, CLK a I/O. RESET A CLK kontakty jsou volány řídícím kontaktem. I/O kontakt odráží stav paměťového místa v EPROM (elektricky programovatelná paměť) na kterém je address counter. address counter může pouze increment nebo resetovat na 0. Protože musí být nemožné dobít telefonní kartu, můžete pouze výmazat bity v counter area.

Zde jsou možné 4 příkazy:

Nastavit address counter na 0:
vyvolání hrany CLK zatímco RESET je 1.


Increment address counter:
vyvolání hrany CLK zatímco RESET je 0.


"zapsat" bit (nastavit na 0):
impuls na RST zatímco CKL je 0, následován impulsem na CLK zatímco RST je 0. adress counter není změněn. "Zapisování" je možné pouze na určité místo!


"Zapsat" bit s carry (WriteCarry)
jestliže opakujete "zápis"- v pořadí dva krát na stejném bitu, který musí být posledním bitem 8-bit counter, tento bit je vymazán a další dolní counter je naplněný na 11111111 (FFH). Například jestliže provedete tento příkaz na bit na adrese 88, všechny bity z 96 do 113 budou nastaveny na 1. V jiných slovech, jste změnili 8-jednotek do 8 1-jednotek.

 

Posudky:

ISO7816 standart iso7816.txt
text od Stephane Bausson (verze 1.06) phonecards_106.txt
sčítání pro "WriteCarry" pořadí write_carry.txt

 

 

1.2 obsah paměti telefonní karty (Švýcarska)

NEW: EEnummeration bitů a byte startují od nuly!

Byte Bits Hodnota/Popis
0 0-7 D8 = staré karty
DD = nové karty (Eurochip)
1 8-15 2Ah =code pro Švýcarsko 
2Fh = code pro Německo
37h = code pro Netherlande
3Bh = code pro Řecko
2 16-19 v nových Švýcarských kartách je tady 10.místné číslo S/N, totéž ale jiné F
2 20-23 F
3 24-31 Švýcarské karty: Výrobce, CA=Gemplus
4 32-35 nominální hodnota karty::
0110 = 20 sFr.
0010 = 10 sFr.
0100 = 5 sFr.
4 36-39 poslední číslo rok vydání, eg. 9=1999, 0=2000 ect...   (zrcadlově)
5 40-43 měsíců vydání, eg. 0001=January, 1100=December ect...  (zrcadlově)
5 44-47 9. číslice pořadového čísla (zrcadlový)
6 48-51 8. číslice pořadového čísla (zrcadlový)
6 52-55 7. číslice pořadového čísla (zrcadlový)
7 56-59 6. číslice pořadového čísla (zrcadlový)
7 60-63 5. číslice pořadového čísla (zrcadlový)
8 64-71 4096*(číslo nastavení bitu) jednotka
9 72-79 512*(číslo nastavení bitu) jednotka
10 80-87 64*(číslo nastavení bitu) jednotka
11 88-95 8*(číslo nastavení bitu) jednotka
12 96-103 1*(číslo nastavení bitu) jednotka
13-39 104-319 oblast nastavení na FF
40-43 320-351 stará Švýcarská karta: 00 00 00 00
Eurochip: 7F FF FF FF
44-47 352-383 stará Švýcarská karta: F8 88 4A A8
Eurochip: FF FF FF FF
48-63 384-511 oblast nastavení na FF

 

Hlavička: 
Hlavička se skládá ze 40 bitů, které jsou naprogramované na kartě výrobce. Obvykle tato oblast obsahuje datum vydání a seriové číslo. Prosím všimněte si, že nibbles (=4 bity) skládané z bitů 36 až 63 se musí zrcadlit ke čtení datumu a seriového čísla.

Vzor: Byte 4 = 00100001b, Byte 5 = 00110101b

To je karta s nominální hodnotou 10.- (0010b). Rok vydání je 1998 (0001b zrcadlový = 1000b = 8d). Měsíc vydání je december (0011b zrcadlový = 1100b = 12d). 9. číslice seriového čísla je 'A' (0101b zrcadlový = 1010b = 10d = Ah).

Counter oblast: 
Tato oblast obsahuje zbývající jednotky na kartě. Její počáteční hodnota je programovaná při výrobě chipu. Counter oblast je rozdělena v 5 8-bit counters. The number of bits set to 1 multiplied by the counter valence equals to its value. Counters mají valenci 1, 8, 64, 512 a 4096.

Vzor: karta s 18.55 sFr. zbývající odpovídá 1855 jednotkám

Byte 9 Byte 10 Byte 11 Byte 12 Byte 13
binární hodnota 0000 0000 0000 0111 0000 1111 0111 1111 0111 1111
number of bits set 0 3 4 7 7
valence jednoho bitu 84=4096 83=512 82=64 81=8 80=1
hodnota 0*4096=0 3*512=1536 4*64=256 7*8=56 7*1=7
celková hodnota 1855

 

Posudky:

Text od Stephane Bausson (Verze 1.06) phonecards_106.txt
text od Stephane Bausson (Verze 2.04) phonecards_204.txt

 



1.3 Stavíme si jednoduché zařízení

Můžete utratit mnoho peněz za čtečku čipových karet . Ale syncronous karty jako telefonní karty mohou být lehce připojeny k domácímu čtecímu zařízení na paralelním rozhraní připojeném k PC. První potřebujete spojovací zařízení. Můžete to stavět s lepenkou nějakým papírem spínátko, ale také to můžete sehnat levně v elektronických bazarech. Pak potřebujete 4 drátový kabel , a 25pin D-SUB konektor k připojení na vašemu PC. Pro napájení,se hodí 4.5V baterie.

Obvod vypadá takto:


...a vaše čtečka je hotová!

 

Material:

Distrelec Conrad-Electronic
contacting device 00-000-000 00-000-000
D-SUB plug 00-000-000 00-000-000

 

 

1.4 Píšeme si jednoduchý software

Paralelní rozhraní je snadné zpřístupnit v DOS. Pod Windows NT/2000 to není možné přímo. následující vzory použitelné pro DOS nebo Windows 95 systémy. Zvolený programovací jazyk je turbo-Pascal, který je ještě dobrým jazykem pro začátečníky.

Paralelní rozhraní má 8 kanálů dat která mohou být zpřístupněna přímo jako výstupy. Také je zde 5 vstupů a 4 obousměrné kanály které můžete použít.

TAdresy portu jsou dvě a to 378h (LPT1) nebo 278h (LPT2). Zapisovat data na 8 výstupních kanálů, vše co musíte dělat je psát databit na adresu portu. V následujícím vzoru předpokládáme 378h jako naší adresu portu.

Port[$378] := $FF;	{ nastaví všechny kanály na 1 }

postavení registru, a odtud jsou vstupy kanálu zpřístupněny nad adresovaným portem 379h respektive 279h:

b := Port[$378+1];	{ čte vstupy a ukládá je v b }

Stavba protokolu popsána v kapitole 1.2 a hardware popsán v kapitole 1.3, zde je malá knihovna funkcí:

const
  LPT = $378;
  RST = 
  CLK = 
  IO  =
{--- set the address to 0 ---}
procedure Reset_Card;
begin
  Port[LPT] := 0;
  Port[LPT] := RST;
  delay(5);
  Port[LPT] := RST or CLK;
  delay(5);
  Port[LPT] := RST;
  delay(5);
  Port[LPT] := 0;
end;

{--- read bit at current address ---}
function Read_Bit: byte;
begin
  if (Port[LPT+1] and IO) > 0 then Read_Bit := 1
    else Read_Bit := 0;
end;

{--- increment address by 1 ---}
procedure Clock;
begin
  Port[LPT] := CLK;
  delay(10);
  Port[LPT] := 0;
end;

{--- set (write) bit at current address to 0 ---}
procedure Write_Bit;
begin
  Port[LPT] := RST;
  delay(5);
  Port[LPT] := 0;
  Clock;
end;

Dobře se bavte!

 

Posudky:

Dobrá knihovna pro přístup přes port pod windows NT/2000 dlportio.zip
Řadič pro přístup přes port pod windows NT/2000 ntpio.exe
DLL pro přístup přes port pod windows 95/98 port32.zip
Popis paralelního rozhraní v Němčině (prozatím) lpt.pdf

 

1.5 Často kladené otázky

Q: Jak mohu dobít telefonní karty?

A: Telefonní karty které jsou dnes v Evropě používány, nemohou být dobíjeny. dřívější telefonní karty bylo možné dobít kvůli chybě v logice čipu.

Q: Můj přítel říká že může dobít telefonní karty

A: On je jeden z lamerů nebo pochází ze 3.světa.

Q: Doslechl jsem se o triku s mikrovlnkou...

A: Jestliže vystavíte čip nebo paměť chipu mikrovlnému záření, nějaké bity uchovávající zprávy se mohou změnit. Náhodně se může zvýšit counter value telefonní karty při použití této techniky. Ale moderní systémy jsou zabezpečny kontrolním součtem, takže neuspějete. 

Q: Je možné emulovat telefonní kartu?

A: Tato alternativa je reálnější. Hodně zemí (až do začátku roku 1999 také Švýcarsko) užívalo docela jednoduché systémy. Tyto systémy mohly být oklamány falešnou kartou nebo pomocí notebooku připojenem do telefonu. Bohužel ve Švýcarsku to nefunguje. Pozor: Dokonce na internetu není vše aktualizováno (až do dneška )! Články o emulaci telefonní karty s jednoduchým PIC mohou být napsány pro staré telefonní systémy které se dnes již nepoužívají.