debitcard application with zeitcontrol basiccard

23
DebitCard Application with ZeitControl BasicCard Selim GULLULU 504042001 selim.gullulu@alcatel .com.tr

Upload: yvon

Post on 10-Feb-2016

46 views

Category:

Documents


0 download

DESCRIPTION

DebitCard Application with ZeitControl BasicCard. Selim GULLULU 504042001 [email protected]. Contents. Memory Card vs. Smart Card (ZC BasicCard) BC Versions + Environment&Programming Hardware & Software Definitions Demonstration - Card Personalisation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl BasicCard

Selim GULLULU [email protected]

Page 2: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—2 Selim GULLULU 504042001

Contents

> Memory Card vs. Smart Card (ZC BasicCard)> BC Versions + Environment&Programming> Hardware & Software Definitions> Demonstration - Card Personalisation> Demonstration – Food Automat

Page 3: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—3 Selim GULLULU 504042001

Memory Card vs. Smart Card (ZC BasicCard)

> Memory Cards:EEPROM Storage Only> ZC BasicCard : Microcontroller with RAM (for

operation), ROM (for holding BasicCard OS) and EEPROM for holding your data and your program

> ZC BasicCard : The program executed by the microcontroller has access to the data stored in EEPROM, so the program decides which data is exchanged with the outer world

Page 4: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—4 Selim GULLULU 504042001

BasicCard Versions

The Card Used InThe Project

Page 5: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—5 Selim GULLULU 504042001

Communicating With Smart Card

Page 6: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—6 Selim GULLULU 504042001

BasicCard Environment & Programming

> No Keyboard or Screen ?> Talks to outside world with bi-directional I/O Contact at

9600 bps or more (ISO/IEC standards 7816-3 and 7816-4)

> Define a command in the card and program it like an ordinary Basic procedure

> Call the command from a ZC-Basic program running on the PC

> Two-byte ID for each defined command (ISO/IEC 7816-4: CLA and INS for CLAss and INStruction

Page 7: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—7 Selim GULLULU 504042001

Command Example

> Command In BasicCard:Eeprom CustomerCreditsCommand &H20 &H02 GetCustomerCredits (Credits)

Credits = CustomerCreditsEnd Command

> To call the command from PC:Const swCommandOK = &H9000Declare Command &H20 &H02 GetCustomerCredits (Credits)Status = GetCustomerCredits (Credits)If Status <> swCommandOK Then GoTo CancelTransaction

Page 8: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—8 Selim GULLULU 504042001

Defining EEPROM Variables

> Eeprom Balance As Long> Eeprom MasterPIN As String*6 = "123456“> ...

Page 9: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—9 Selim GULLULU 504042001

Technical Summary Of BasicCard(s)

All BasicCard families (Compact,Enhanced,Pro,Multiapp) > A full implementation of the T=1 block-level

communications protocol defined in ISO/IEC 7816-3: Electronic signals and transmission protocols;

> A command dispatcher built around the structures defined in ISO/IEC 7816-4 (CLA INS P1 P2 [LcIDATA] [Le]

> Built-in commands for the execution of ZeitControl’s P-code

> Code for the automatic encyrption and decyption of commands and responses,using AES, DES,or SG-LFSR symmetric-key algorithm

Page 10: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—10 Selim GULLULU 504042001

Technical Summary Of BasicCard(s) (Continued)

Enhanced BasicCards contain all of the above,plus:> A directory-based, dos-like file system> IEEE-compatible floating-point arithmetic

Page 11: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—11 Selim GULLULU 504042001

Card Readers

> Whenever you access a BasicCard or a Card Reader from a ZC-Basic Terminal Program, ZeitControl’s P-Code Interpreter uses the current value of the ComPort variable to determines where to look for the Card Reader.

> A ZC-Basic program compiled into an executable file accepts the following values for the ComPort:

1 <= ComPort <= 4: Physical Card Reader on serial port COM1-COM4

Page 12: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—12 Selim GULLULU 504042001

CyberMouse

Page 13: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—13 Selim GULLULU 504042001

Search Card Reader (1)

Page 14: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—14 Selim GULLULU 504042001

Search Card Reader (2)

The ComportTo be used

Page 15: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—15 Selim GULLULU 504042001

Search Card Reader (3)

Use “API select Default Reader” for Windows XP

Page 16: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—16 Selim GULLULU 504042001

ZC BasicCard ActiveX Control Module

Page 17: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—17 Selim GULLULU 504042001

BasicCard VB library

Page 18: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—18 Selim GULLULU 504042001

Command Definitions Ex. – Set Values (in PC)Private Sub SetValues_Click() Dim PIN As String * 4 Dim tmp As Long PIN = PIN1.Text ErrorMsg.Panels(1).Text = "Verifing..." DoEvents

MyCard.Err = MyCard.IssuerEncrypt(Key, DesKey) If MyCard.Err = 0 Then tmp = Balance.Text * 100 MyCard.Err = MyCard.PersonaliseCard(tmp, PIN, ClientName.Text) End If If MyCard.Err = 0 Then ErrorMsg.Panels(1).Text = "Personalization successful." Else ErrorMsg.Panels(1).Text = DebitErrors(0) End If MyCard.EndEncryption MyCard.ReleaseCard

End Sub

Page 19: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—19 Selim GULLULU 504042001

Command Definitions Ex – Set Values (Cont’d) (in PC)

Public Function PersonaliseCard(Amount As Long, _ NewPIN As String, Name As String)Dim tmp As String * 4tmp = NewPIN

BasicCard.Param1 = AmountBasicCard.Param2 = tmpBasicCard.Param3 = NamePersonaliseCard = BasicCard.Transaction(&H80, &H0, 3)Err = BasicCard.LastErrSW1SW2 = BasicCard.SW1SW2

Page 20: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—20 Selim GULLULU 504042001

Command Definitions Ex. – Set Values (Cont’d) ( BC)

Command &H80 &H00 PersonaliseCard (Amount As Long, NewPIN As String*4, Name$) Call CheckAlgorithm() If GetKeyNumber@() <> 0 Then SW1SW2 = swIssuingKeyRequired : Exit Personalised = False Balance = Amount CustomerName$ = Name$ PIN = NewPIN Personalised = TrueEnd Command

Page 21: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—21 Selim GULLULU 504042001

Compiling the ZCBasic Code

Here, the card type we used is selected.

The code that we want to compile

Page 22: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—22 Selim GULLULU 504042001

Downloading The Code To BasicCard

The Com Port taht we attached the reader (Search card Reader)

Page 23: DebitCard Application with ZeitControl BasicCard

DebitCard Application with ZeitControl Basiccard 20/12/2005—23 Selim GULLULU 504042001

Demonstration (Personalisation & Food Automat)