Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Temel Elektrik, Elektronik vs.
Yazar Mesaj
bellek
Tarih: 31.01.2007, 13:26 Mesaj konusu: Smart Kartlar Hakkında kısa bir çalışma

Smart Kartlar Hakkında Derlediğim Kısa Bilgiler

Yurt dışında bazı ülkelerde kullanılmakta olan telefon kartları içerisinde küçük chip ler mevcuttur. Bu chip ler kart ile ilgili bilgileri depolayabilmektedir.

Bu chip ler, 32 ila 256 bit arasında bilgileri depolayabilmekte cep telefonlarında kullanılan Sim kartlarda bulunan chip ler ise daha fazla veri depolama kapasitesine sahip olabilmektedir. Chip kartlar genel olarak üzerinde bulunan kontakların görev yerine göre Afnor ve ISO 7816 standardı olarak ikiye ayrılabilirler.



C1 : Vcc = 5V +5volt
C2 : Reset Reset Sinyali
C3 : Clock İletişim saat darbesi
C4 : RFU Kullanılmıyor
C5 : Gnd Şase
C6 : Vpp Programlama voltajı (21V) . Kartlar programlanırken kullanılmaktadır.

Telefon kartları programlandıktan sonra chip içerisinde bulunan bir sigorta otomatik olarak attırıldığından dolayı kartlar üzerindeki bilgi değiştirilemez.

C7 : I/O Veri Giriş çıkış (9600 Bps hızında veri alışverişine uygundur.
C8 : RFU Kullanılmıyor.

Chip Genel özellikleri
Senkronize Protokol
N-MOS teknolojisi bazılarında Cmos.
256x1 bit yapılanma
96 yazmaya korumalı blok
Okuma modunda 85mW
Yazma modunda 21V
Erişim hızı 500ns
10 yıl veri kaybı olmaksızın kullanım.

Alman Telefon kartlarının seri numaralarının bulunması


Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
4-1 4-2 5-1 5-2 6-1 6-2 7-1 7-2 8-1 8-2
,--------,---------, ,-------,-------, ,-------,-------, ,-------,-------, ,-------,------,
|<------|<1010| |<------|<-----| |<-----|<-----| |<-----|<-----| |<-----|<-----|
'--------'---------' '--------'-------' '-------'-------' '-------'-------' '-------'-------'
1.SN. | 2 SN. | 9 SN.|7 SN. |5 SN.| | |4 SN|8 SN 6 S.N.

Kart seri numarası şifreli bir şekilde karta kaydedilmiş olup bu şifrenin çözülebilmesi için kart okutulduğunda ard arda alınan baytlar sayılarak 4,5,6,7,8 nolu baytlar ikili düzende (binari) olarak yazılır, her baytta bulunan 8 bit 4 + 4 olarak ayrılır. yukarıdaki sıralamaya göre dizilerek her bayttan alınan 4 haneli binari sayı ters çevirilir.

(örnek 0011 ise 1100 olacak.) Sayılar ondalık sisteme çevrilip yanyana yazıldığında kartın üzerinde bulunan seri numarası elde edilir.

Kartın üzerinde bulunan seri numarasının son iki rakamı hafızaya işlenmediğinden okunamaz.

Kart Okurken Kullanılan Pascal Program

uses crt,dos;
type string8=string[8];
var reg:registers;
i,j:integer;
bb:array[1..32] of string8;
bh:array[1..32] of byte;
l:array[1..256] of boolean;
car:char;
{-----------------------------------------------------------------------------}
procedure writeln_binaire(w:byte);
begin if (w and $80)=$80 then write('1') else write('0');
if (w and $40)=$40 then write('1') else write('0');
if (w and $20)=$20 then write('1') else write('0');
if (w and $10)=$10 then write('1') else write('0');
if (w and $08)=$08 then write('1') else write('0');
if (w and $04)=$04 then write('1') else write('0');
if (w and $02)=$02 then write('1') else write('0');
if (w and $01)=$

begin if s='0000' then write('0') else
if s='0001' then write('1') else
if s='0010' then write('2') else
if s='0011' then write('3') else
if s='0100' then write('4') else
if s='0101' then write('5') else
if s='0110' then write('6') else
if s='0111' then write('7') else
if s='1000' then write('8') else
if s='1001' then write('9') else
if s='1010' then write('A') else
if s='1011' then write('B') else
if s='1100' then write('C') else
if s='1101' then write('D') else
if s='1110' then write('E') else
if s='1111' then write('F');
end;
{-----------------------------------------------------------------------------}
procedure lecture;
var i,j,k:integer;
begin send($FA);
send($F8);
k:=1;
for i:=1 to 32 do
begin bb[i]:='';
for j:=1 to 8 do
begin send($F9);
l[k]:=not((get and $08)=$08);
if l[k] then insert('1',bb[i],j) else
insert('0',bb[i],j);
send($FB);
inc(k);
end;
end;
for i:=1 to 32 do bh[i]:=value(bb[i]);
writeln('Memory dump:');
for i:=1 to 80 do write('-');
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
if j+6*(i-1) <= 32 then
write(bb[j+6*(i-1)]:9);
end;
gotoxy(60,wherey);
for j:=1 to 6 do
if j+6*(i-1) <= 32 then
begin write_hexa(copy(bb[j+6*(i-1)],1,4));
write_hexa(copy(bb[j+6*(i-1)],5,4));
write(' ');
end;
writeln;
end;
for i:=1 to 80 do write('-');
type_carte;
writeln;
writeln; end
{-----------------------------------------------------------------------------}
procedure ecriture;
var i,n:integer;
car:char;
begin write('Quel bit voulez vous mettre <1> : ');
readln(n);
attente;
car:=readkey;
send($FA);
send($F8);
for i:=1 to n do
begin send($F9);
if i=n then
begin send($FD);
delay(20);
send($FF);
delay(20);
end;
send($FB);
end;
lecture;
end;
{==============================================}
begin clrscr;
writeln('Entrer une carte et tappez une touche ......');
writeln;
repeat attente;
car:=upcase(readkey);
case car of
'E':ecriture;
'Q':;
else begin lecture
end;
end;
until car='Q';
end.

-----------------------
Program Kaynağı
## Stephane BAUSSON
-----------------------------------------------------

Elektrotekno.com Ana Sayfa Temel Elektrik, Elektronik vs.
1. sayfa (Toplam 1 sayfa)

Smart Kartlar Hakkında kısa bir çalışma

Gizlilik Politikası

PLC programming