Previous Table of Contents Next


The Cherry G80-1500 Keyboard with Smart Card Reader

Cherry provides a Windows DLL to access the smart card reader in its G80-1500 keyboard. The reader can access both memory cards and microprocessor cards. The functions of the G80-1500 DLL can be organized into roughly 11 areas:

  Initialization
G1500_Init
Initializes the G80-1500 DLL
G1500_Resync
Resychronizes with the smart card terminal
G1500_SetNotifyMessages
Sets values for asynchronous verification
G1500_SetNotifyWindow
Sets receiver for asynchronous verification
G1500_Exit
Exits from the DLL
  Automatic recognition of smart cards
G1500_ChipcardDetect
Provides for automatic recognition of smart card
G1500_LoadATRMask
Loads the standard ATR masks
G1500_ClearATRMask
Clears all ATR masks
G1500_DeleteATRMask
Deletes ATR masks
G1500_AddATRMask
Adds an ATR mask
  Management of the Smart Card Standard
G1500_SetICC
Sets smart card standards
G1500_GetICC
Reads smart card standards
  Query parameters
G1500_Port
Gives the parameters of the serial port
G1500_UserMem
Gives the size of user memory
G1500_ProtectionMem
Gives the size of protection memory
G1500_SecurityMem
Gives the size of security memory
G1500_SecurityType
Gives the type of security implemented by smart card
G1500_NumVChars
Gives the number of digits in the PIN numbers on the smart card
G1500_CardClass
Gives the class of the smart card
G1500_AddressUnit
Gives the type of the card’s address unit
G1500_ATR
Reads the smart card’s ATR
G1500_KeyboardId
Gives the model and version of the keyboard
G1500_EpromVersion
Gives the version of the reader
G1500_DLLVersion
Gives the version of the DLL
  Query settings
G1500_SecurityStatus
Gives the status of the security system
G1500_VerifyAttempts
Gives the number of failed attempts on current key
G1500_ChipcardAvailable
Gives the status of the smart card
G1500_GetWorkingMode
Reads the working mode of the smart card
G1500_SetWorkingMode
Sets the working mode of the smart card
  Reading of a memory card
G1500_ReadUMem
Reads user memory
G1500_ReadPMem
Reads the protected memory
G1500_ReadSMem
Reads the security memory
G1500_ReadUMemA
Reads the user memory with attributes
  Writing to the smart card
G1500_Write
Writes without protection bit
G1500_WriteP
Writes with protection bit
G1500_WriteM
Writes with protection mask
  Deletion
G1500_Erase
Erases between addresses
G1500_EraseArea
Erases an entire area
  Verification
G1500_Verify
Verifies the smart card
G1500_ChangeVerification1
Changes the PIN code after verification
G1500_ChangeVerification2
Changes the PIN code without verification
  Counters
G1500_ActivateCounter
Selects a counter
G1500_GetCounterVal
Reads the counter value
G1500_SetCounterVal
Sets the counter value
  Error handling
G1500_GetError
Returns the error status
  Help functions
G1500_SetActionIndex
Sets the action index
G1500_GetActionIndex
Reads the action index
G1500_PMemOffset
Returns the location of protected memory
G1500_PMemLength
Returns the size of protected memory
G1500_Flags
Returns the configuration of the smart card

Tools for Card Software Development

If none of the off-the-shelf smart cards suit your needs, you can

  Extend an existing smart card operating system
  Modify an existing smart card operating system
  Build your very own smart card operating system

If you choose to add code to an existing operating system, you can either add machine language code specific to a particular smart card chip or, more commonly, you can add code that is chip independent and is actually executed by an interpreter that is resident on the smart card. The Java Card and Mondex’s MULTOS cards are examples of this latter approach.

Since most of the chips found on smart cards are security-enhanced versions of off-the-shelf microcontrollers, almost all the tools made to develop software for these microcontrollers can be used to develop software for their tamper-resistant versions. Where there are smart card-specific instructions, often inline data blocks can be used to access them. Most of the chip manufactures maintain good resource listings of the software products that support their chips. Some of these are listed in Table 6.5.

Table 6.5. Smart card chip development tool resources.
Chip Manufacturer Software Development Tool Resources

All—Avnet http://www.avnet.co.nz
All—Miller Freeman http://www.mwmedia.com/
Hitachi http://www.halsp.hitachi.com/tech_prod/h_micon/3_h8300/dev_tools.htm#3_h8300
Motorola http://design-net.com/csic/DEVSYS/DevTools.htm
Philips http://www.semiconductors.philips.com/microcontrol/devtools/
Siemens http://www.directories.mfi.com /embedded/siemens/tools.htm
Texas Instruments http://www.avnet.co.nz/ti/micro/370_3rd.htm


Previous Table of Contents Next