WO1987005420A1 - Smart card apparatus and method of programming same - Google Patents

Smart card apparatus and method of programming same Download PDF

Info

Publication number
WO1987005420A1
WO1987005420A1 PCT/US1987/000509 US8700509W WO8705420A1 WO 1987005420 A1 WO1987005420 A1 WO 1987005420A1 US 8700509 W US8700509 W US 8700509W WO 8705420 A1 WO8705420 A1 WO 8705420A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
smart card
microcomputer
programming
defining
Prior art date
Application number
PCT/US1987/000509
Other languages
French (fr)
Inventor
Thomas L. Younger
Original Assignee
Data Card Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Data Card Corporation filed Critical Data Card Corporation
Publication of WO1987005420A1 publication Critical patent/WO1987005420A1/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis

Definitions

  • the present invention relates to a smart card apparatus and a method for programming the same. More par ⁇ ticularly, the present invention relates to a smart card apparatus and method for programming same with an open archi ⁇ tecture approach.
  • the present invention relates to a smart card apparatus including a microcomputer.
  • the microcomputer is programmed to include a smart card control program.
  • the microcomputer is programmed to include a data dic ⁇ tionary and personalized, user data.
  • the present invention also relates to a method of making a smart card as described above. The method includes the steps of programming the microcomputer with the smart card control program. Programming a data dictionary for defining the data, security and feature reguirements of the smart card control program. Programming the microcomputer with application specific data and personalized user data.
  • the present invention provides a smart card that can be treated similar to a disk device wherein data may be stored, altered, retrieved and protected.
  • the application developer (card issuer) defines the data environment as part of the application development and this definition resides in the smart card as a data dictionary along with the associated data elements.
  • the present invention provides a smart card whose data can be accessed and used much in the same way that a disk based filing system is used.
  • the present invention provides a generic smart card and associated utilities and development tools to the application community to assist in development of smart card application.
  • the tools will be in the form of standard message formats and protocalls to address the smart card.
  • the message formats and protocalls will preferably be ISO compatible.
  • the present invention provides a generic smart card apparatus which will be cheaper overall since there is one standard product.
  • the present invention avoids the need for special masks which will result in better response time from suppliers of the microcomputer.
  • Yet another advantage of the present invention is that the time and cost of programming an application is reduced and therefore will facilitate use of smart card apparatus.
  • EEPROM electrically erasable programmable read only memory
  • EEPROM electrically erasable read only memory
  • the EEPROM will allow modifica ⁇ tion of smart card apparatus in a much cheaper and faster manner than with EPROM based products, although EPROM might be used in certain applications.
  • Still another advantage of the present invention is its transparency to the actual microcomputer features.
  • the microcomputer can be changed and such change will be transparent to the user. As prices and features change this is important since microcomputer products are guickly out ⁇ dated.
  • a particularly advantageous feature of the present invention is that it enables the rapid, mass production of smart card apparatus.
  • the microcomputers can be programmed with the smart card program prior to being associated with the smart card apparatus. Subseguentl , the smart card apparatus can then be programmed for the particular application and programmed with personalized user data.
  • Another particular advantage of the present inven ⁇ tion is the open ended architecture approach of the present invention which makes the smart card apparatus of the present invention very flexible and adaptable to different applica ⁇ tions.
  • the present invention utilizes predefined interfacing rules and a data dictionary which facilitates the open ended nature of the present invention.
  • the present invention provides a smart card with increased security. Varying levels of security can be readily built into the smart card; for example, certain fields of data might be required to match; i.e., PIN number, or the smart card will be deactivated.
  • FIGURE 1 is a diagrammatic too plan view of a smart card apparatus in accordance with the principles of the pre ⁇ sent invention
  • FIGURE 2 is a view similar to that of FIGURE 1 with a portion of the smart card apparatus broken away so as to disclose the microcomputer and its interconnection to exposed contacts;
  • FIGURE 3 is a diagrammatic view illustrating the general arrangement of microprocessor memory in accordance with the principles of the present invention.
  • FIGURE 4 diagrammatically illustrates an arrange ⁇ ment for programming of the microprocessor and memory in accordance with the principles of the present invention. Detailed Description of the Preferred Embodiment
  • FIGURE 1 Diagrammatically illustrated in FIGURE 1 is an embodiment of a smart card apparatus in accordance with the principles of the present invention, the smart card being generally referred to by the reference numeral 20.
  • the smart card includes an encoded magnetic strip 22. Exposed are eight contacts 31-38 which enable access to a microcomputer 40 embedded in the smart card 20 on a support media 42. This is more clearly illustrated in FIGURE 2 wherein a portion of the smart card has been broken away so as to illustrate the interconnections between the contacts 31-38 and the microcomputer 40.
  • the microcomputer is enclosed by a layer 44 so as to provide protection therefore.
  • the smart card 20 might have written indicia 46 on the surface thereof; for example, the user's name and address.
  • CMOS and EEPROM are cho ⁇ sen for the preferred embodiment for a variety of reasons, most orimarily are their adaptability to the concepts of the present invention and the extended life of the smart card.
  • the microcomputer 40 is programmed with a smart card control program 50, a data dictionary 52 which defines the data, security and feature requirements of the smart card proqra 50 and the particular application and personalized data.
  • the smart card program 50 and the microprocessor 40 follow the International Standard Organization (ISO stan ⁇ dards; i.e. (ISO/TC 97/SC 17/WG 4N97 electronic signals and exchange protocalls, ISO/TC 97/SC 17/WG N166 dimension and location of contacts, and ISO/TC 97/SC 17/WG N105 physical characteristics) .
  • ISO stan ⁇ dards i.e. (ISO/TC 97/SC 17/WG 4N97 electronic signals and exchange protocalls, ISO/TC 97/SC 17/WG N166 dimension and location of contacts, and ISO/TC 97/SC 17/WG N105 physical characteristics
  • the external card contacts 31-38 follow the ISO standards.
  • 32 RST reset signal.
  • 33 CLK clock signal.
  • 34 RFU reserved.
  • 35 GND ground.
  • 36 VPP programming voltage.
  • Zone A The EEPROM memory is divided into two zones referred to as Zone A and Zone B.
  • Zone A will be used for volatile data storage such as transaction data 56 and Zone B will be used for code, data dictionary and storage of non ⁇ volatile data.
  • Data fields in Zone A of the preferred embo ⁇ diment are stored in memory, from the low address to the high address and are formatted as data, field ID and length. (In this application, volatile data includes data subject to chanqe when the smart card is in use.)
  • Field The field identifiers defined in the data dic ⁇ tionary.
  • Length The length of the field.
  • a data dictionary 52 is used to define the data stored in the smart card memory to the smart card program.
  • the data dictionary defines for each data element how the data element is structured and if it is volatile or non ⁇ volatile. This data will include both system data relating to manufacture of the card, application data relating to the specific smart card application; and personalized data relating to the end user of the smart card.
  • the data dic ⁇ tionary 52 thus serves a template for the data stored in each smart card. This information is then included in each smart card that is created.
  • the data dictionary will include a fixed portion 52a defined at the time the smart card control program 50 is programmed and a variable portion 52b con ⁇ taining definations of personalized data used in each appli ⁇ cation which will be defined when the smart card is personalized.
  • the fixed portion, including both system and application data definitions, of the data dictionary might be defined as follows: USAGE SOURCE
  • Watchdog for personalization System The application specific portion of the data dictionary will include definition of personalized data fields such as user data 54 and will be defined as follows:
  • Memory is reserved for the data defined by data dictionary when the microcomputer is programmed with the smart card control program 50. Moreover, the structure of the data dictionary will be predefined and the smart card program 50 will know the location of each of the elements of the data dictionary.
  • a utility program which might be used In a personal computer or other terminal, is used by the application user to interface with the smart card control program and define the data dictionary for personalized and application specific data and write the system data, applica ⁇ tion data, and personalized user data into the microcomputer memory.
  • the utility program will include the data dictionary template and wj 11 guery the user to define the application data of the fixed portion and the personalized data of the variable portion.
  • the smart card control program 50 performs command processing, service routines such as memory management, I/O driver, and specialized code for handling miscellaneous com ⁇ mands from the programming eguipment of the application user.
  • the smart card control program will contain logic to load/reload cards so as to allow refreshing or updating of a smart card. This will enable new code, and new data to be introduced to a previously used smart card as a command, rather than through various boot strap procedures as is done at initial load time. Communication with the smart card program will be accomplished by predefined interfacing rules.
  • Service functions are those routines which address diagnostic and technical issues rather than the execution of specific commands; for example, 1. INITIALIZATION
  • the initialization process is invoked at power up or following a Reset.
  • the functions performed are:
  • application security verification has been activated for this application it is done immediately after the initialization. This involves putting the I/O into read status, accepting the verification message and vali ⁇ dating against the values in the Data Dictionary. The values are returned as in the data portion of the "V" recorded. If successful the terminal type is saved for field verification. Also a message is returned to the application as a positive response to the security vali ⁇ dation. If there is a 'Match' field defined in the dic ⁇ tionary this fields data must be included as additional information is the verification record and is compared with the data in the card. If there is no match a bad status is returned to the application.
  • the memory search will be supplied with a field ID and a command (next, most recent etc.). If application valid- fation is active the field security is checked to deter ⁇ mine if the user may access the field. With the suppl ied arguments memory will be searched for the data field and the data placed into the RAM buffer in the data portion of the buffer area. If data is not found a sta ⁇ tus message is stored in buffer area.
  • the dictionary On the first re ⁇ uest of a field the dictionary is inspected to determine whether the field is volatile or non-volatile and the address generated will be either the address of the next available byte minus one in Zone A, or the end of the Zone B personalized data. On multiple reguests of a field the address will be that of the last occurrence accessed minus one.
  • a block move routine is used to move the data to the buffer from the address of the located data field.
  • the status message is stored in the buffer area.
  • the Data Dictionary attributes are checked to ascertain that the field is not a non-volatile field, and if the application validation is specified that the user may write this data. Having done the validations the routine will write the data portion of the RAM buffer into the EEPROM volatile memory and update address poin ⁇ ters to the next available area to write. Appended to the data will be the field identifier and length.
  • Memory Refresh is part of the 'reorg' of the card at the time the card is approaching full.
  • a 'reorg' command from the appropriate terminal will cause the data Zone A to be erased.
  • the actual erase is a routine which is furnished zone id and may also be used to intentionally destroy the card on re ⁇ uest.
  • predefined commands are passed from the application terminal such as an automatic teller terminal (ATM) and are reguests for some form of action.
  • ATM automatic teller terminal
  • the commands fall into several major categories:
  • R Read applic. Reads the most recent field value from the card to the application.
  • W Write applic. Writes the data for the spe ⁇ cified into memory from the application.
  • M Memory applic. a request for amount of remaining memory in Zone A. This is returned as a two byte data value in the data portion of the record in hex format.
  • N read Next applic. reads the next oldest occurrence of a field from the card to the application (First command gets the most recent, subsequent commands get next oldest, etc. The requests must be contiguous on a request for another field terminates the sequence) .
  • V validate applic This command request contains the necessary security data to identify the reader and appli ⁇ cation to the card (required if application verification is set) .
  • P program reader turns on programming voltage if applicable.
  • L lock door reader locks door on reader to keep card.
  • U unlock reader unlocks the door.
  • Z reset reader issue a hardware reset.
  • x'EO' set mode system a preliminary command required to set system mode. No other system commands can be recognized unless sytem mode has been set.
  • x'EA' erase/reload system Loads bootstrap to RAM, erases both zones of EEPROM and then reloads memory from serial port x'EB' dump diet, system dump the entire dictionary out serial port.
  • x'ED' dump all card system pass entire card as data por ⁇ tions of multiple records.
  • smart card control program (50) might take on any number of different embodiments.
  • a program structure for one such embodiment is illustrated below:
  • A. .2. .4, .1, .3. ,4 branch to ROM Boot to begin reload
  • A. 2. .4. .1, .4. ,1 Set dump range as dictionary through personalized data DUMP command.
  • A.2.4.2.7.8 Update RAM address of next available byte to write to A.2.4.2.7.9 Format successful status message
  • A.3.3.4. 2 perform instruction and RTS in RAM
  • the initial state of the microcomputer is shown as follows:
  • the ROM bootstrap (BootO) which comes with the microcomputer loads Bootl into RAM address space beginning at $0050. Control is then passed to Bootl which loads the smart card control program 50, Boot2 which will subseguently per ⁇ sonalize the smart card, and vectors to pass subsequent control to the application.
  • the programming of the microcom ⁇ puter with the smart card control program 50 is preferably done by program eguipment 70 while the microcomputer 40 is on the carrier substrate 42 but is not yet imbedded in the smart card 20 as generally illustrated in FIGURE 4. As illustrated, the carrier substrate 42 might be fed from and to tape-like reels 72.
  • the programmer equipment 70 has the standard ISO contacts as well as the switch contact which will direct execution to the ROM bootstrap.
  • the results of the smart card load are acknowledged from the smart card. No response or a NAK will result in the carrier being scored/holed so that the part is recognizable and per ⁇ sonalization time is bypassed. Also, provision is made to disable the circuitry, or vectors for loading the smart card.
  • the memory map after loading the smart card control program through Bootl is illustrated below:
  • RAM EEEEPPRROOMM ((22330044 bbyytteess)) EEEEPPRROOMM ((11779922 bbyytte ⁇ s)
  • the smart card control program 50 at the time of being powered up will recognize that Boot2 is present in memory and will perform that function.
  • Boot2 will load data dictionary 50 and per ⁇ sonalization data into memory Zone B, load the personalized user data into the smart card 20 beyond the data dictionary, erases Boot2 from memory Zone A, and writes a Sentinal to indicate the beginning of Zone A.
  • the card personalization process is initiated by an interactive process which defines, batch, date, customer and data dictionary to use. This extracts the necessary information to define the user's input and the fixed data to include in the data dictionary.
  • Personalization data is preferably stored on a suitable storage media and read in by the utility program and written to a smart card as it passes a reader.
  • the chip carrier might have been imbedded into the smart card prior to the personalization process so as to reduce waste or might later be imbedded in the smart card.
  • the contacts 31-38 are presented to the card personalization terminal which will be programmed to interface with the smart card control program 50. Power is applied to the smart card and the smart card will initiate dialog with the personalization terminal. After personalization, the memory map will appear as follows:
  • RAM EEEEPPRROOMM ((22330044 bbyytteess)) EEPROM (1792 bytes)
  • Transactions are entered by the smart card being placed in a reader and the application program issuing com ⁇ mands to write data to the smart card. The data is written in the next available location.
  • the smart card of the pre ⁇ sent invention has the capability to reinitialize Zone A of the memory and reload selected transactions to make room for more.
  • the memory map generally appears as follows:

Abstract

A smart card (20) including a microcomputer (40). The microcomputer (40) being programmed with a smart card control program (50) and a data dictionary (52) defining the data to be stored in the microcomputer.

Description

SMART CARD APPARATUS AND METHOD OF PROGRAMMING SAME
Background of the Invention
The present invention relates to a smart card apparatus and a method for programming the same. More par¬ ticularly, the present invention relates to a smart card apparatus and method for programming same with an open archi¬ tecture approach.
Substantially flat, thin plastic articles such as credit cards, bank cards, driver licenses, membership cards, etc., are currently in widespread use. Recently, manufac¬ turers of these cards have provided such cards with their own microcomputer. Such cards are commonly being referred to as smart cards. The potential uses for such smart cards are tremendous. For example, a smart card might contain a per¬ son's entire medical history, financial information, -etc. In addition, such cards might be used to automatically debit one's bank account when purchasing items such as groceries, clothes, etc. In view of the large potential use of the smart card, a smart card and method for programming the same is reσuired which will allow rapid mass production and per¬ sonalization of such smart cards. Moreover, there is a need for a smart card wherein the data may be readily stored, altered, retrieved, and protected. In addition, there is a need for a smart card which can be readily adapted to dif¬ ferent applications as they arise. Also, there is a need for a smart card which is very secure and resistant to tampering. The present invention solves this problem and many other problems associated with smart cards.
Summary of the Invention
The present invention relates to a smart card apparatus including a microcomputer. The microcomputer is programmed to include a smart card control program. In addi¬ tion, the microcomputer is programmed to include a data dic¬ tionary and personalized, user data. The present invention also relates to a method of making a smart card as described above. The method includes the steps of programming the microcomputer with the smart card control program. Programming a data dictionary for defining the data, security and feature reguirements of the smart card control program. Programming the microcomputer with application specific data and personalized user data.
The present invention provides a smart card that can be treated similar to a disk device wherein data may be stored, altered, retrieved and protected. The application developer (card issuer) defines the data environment as part of the application development and this definition resides in the smart card as a data dictionary along with the associated data elements. The present invention provides a smart card whose data can be accessed and used much in the same way that a disk based filing system is used.
Additionally, the present invention provides a generic smart card and associated utilities and development tools to the application community to assist in development of smart card application. The tools will be in the form of standard message formats and protocalls to address the smart card. The message formats and protocalls will preferably be ISO compatible.
The present invention provides a generic smart card apparatus which will be cheaper overall since there is one standard product.
Additionally, the present invention avoids the need for special masks which will result in better response time from suppliers of the microcomputer.
Yet another advantage of the present invention is that the time and cost of programming an application is reduced and therefore will facilitate use of smart card apparatus.
In a preferred embodiment of the present invention, the use of electrically erasable programmable read only memory (EEPROM) will enhance the logical lifespan of smart card apparatus by reusing memory resources.
Yet another advantage of the EEPROM embodiment of the present invention is that the EEPROM will allow modifica¬ tion of smart card apparatus in a much cheaper and faster manner than with EPROM based products, although EPROM might be used in certain applications.
Yet another advantage is that there is less risk in application development by the card issuer because the tech¬ nical functions are already included. Moreover, this translates into reduced development time and cost.
Still another advantage of the present invention is its transparency to the actual microcomputer features. The microcomputer can be changed and such change will be transparent to the user. As prices and features change this is important since microcomputer products are guickly out¬ dated.
A particularly advantageous feature of the present invention is that it enables the rapid, mass production of smart card apparatus. The microcomputers can be programmed with the smart card program prior to being associated with the smart card apparatus. Subseguentl , the smart card apparatus can then be programmed for the particular application and programmed with personalized user data.
Another particular advantage of the present inven¬ tion is the open ended architecture approach of the present invention which makes the smart card apparatus of the present invention very flexible and adaptable to different applica¬ tions. The present invention utilizes predefined interfacing rules and a data dictionary which facilitates the open ended nature of the present invention.
Additionally, the present invention provides a smart card with increased security. Varying levels of security can be readily built into the smart card; for example, certain fields of data might be required to match; i.e., PIN number, or the smart card will be deactivated.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and forming a part hereof. However, for a better understanding of the inven¬ tion, its advantages, and objects obtained by its use, reference should be made to the drawings which form a further part hereof and to the accompanying descriptive matter, in which there is illustrated and described a preferred embodi¬ ment of the invention.
Brief Description of the Drawings
In the drawings, in which like reference numerals and letters indicate corresponding parts throughout the several views,
FIGURE 1 is a diagrammatic too plan view of a smart card apparatus in accordance with the principles of the pre¬ sent invention;
FIGURE 2 is a view similar to that of FIGURE 1 with a portion of the smart card apparatus broken away so as to disclose the microcomputer and its interconnection to exposed contacts;
FIGURE 3 is a diagrammatic view illustrating the general arrangement of microprocessor memory in accordance with the principles of the present invention; and
FIGURE 4 diagrammatically illustrates an arrange¬ ment for programming of the microprocessor and memory in accordance with the principles of the present invention. Detailed Description of the Preferred Embodiment
Diagrammatically illustrated in FIGURE 1 is an embodiment of a smart card apparatus in accordance with the principles of the present invention, the smart card being generally referred to by the reference numeral 20. In the embodiment illustrated, the smart card includes an encoded magnetic strip 22. Exposed are eight contacts 31-38 which enable access to a microcomputer 40 embedded in the smart card 20 on a support media 42. This is more clearly illustrated in FIGURE 2 wherein a portion of the smart card has been broken away so as to illustrate the interconnections between the contacts 31-38 and the microcomputer 40. In the embodiment shown, the microcomputer is enclosed by a layer 44 so as to provide protection therefore. As illustrated, the smart card 20 might have written indicia 46 on the surface thereof; for example, the user's name and address.
An example of a microcomputer which might be uti¬ lized is the Motorola MC68HC805C4, a CMOS chip with approxi¬ mately 4K EEPROM memory, 172 bytes of RAM, a timer, and a serial port (UART) through which all communication with the smart card reader will take place. CMOS and EEPROM are cho¬ sen for the preferred embodiment for a variety of reasons, most orimarily are their adaptability to the concepts of the present invention and the extended life of the smart card.
The microcomputer 40 is programmed with a smart card control program 50, a data dictionary 52 which defines the data, security and feature requirements of the smart card proqra 50 and the particular application and personalized data.
The smart card program 50 and the microprocessor 40 follow the International Standard Organization (ISO stan¬ dards; i.e. (ISO/TC 97/SC 17/WG 4N97 electronic signals and exchange protocalls, ISO/TC 97/SC 17/WG N166 dimension and location of contacts, and ISO/TC 97/SC 17/WG N105 physical characteristics) .
The external card contacts 31-38 follow the ISO standards. The contexts are defined as follows: 31 = VCC circuit supply voltage. 32 = RST reset signal. 33 = CLK clock signal. 34 = RFU reserved. 35 = GND ground. 36 = VPP programming voltage. 37 = I/O data I/O. 38 = RFU reserved.
The EEPROM memory is divided into two zones referred to as Zone A and Zone B. Zone A will be used for volatile data storage such as transaction data 56 and Zone B will be used for code, data dictionary and storage of non¬ volatile data. Data fields in Zone A of the preferred embo¬ diment are stored in memory, from the low address to the high address and are formatted as data, field ID and length. (In this application, volatile data includes data subject to chanqe when the smart card is in use.)
Data - Data value of field, trailing spaces truncated.
Field = The field identifiers defined in the data dic¬ tionary. Length = The length of the field.
A data dictionary 52 is used to define the data stored in the smart card memory to the smart card program. The data dictionary defines for each data element how the data element is structured and if it is volatile or non¬ volatile. This data will include both system data relating to manufacture of the card, application data relating to the specific smart card application; and personalized data relating to the end user of the smart card. The data dic¬ tionary 52 thus serves a template for the data stored in each smart card. This information is then included in each smart card that is created. The data dictionary will include a fixed portion 52a defined at the time the smart card control program 50 is programmed and a variable portion 52b con¬ taining definations of personalized data used in each appli¬ cation which will be defined when the smart card is personalized. The fixed portion, including both system and application data definitions, of the data dictionary might be defined as follows: USAGE SOURCE
Total size of dictionary/ data System
Card Provider Code Application
Application Code (internal) Application
Application Code (ISO message) Application
Internal Security Code System
Manufacturing Batch Application
Card Manufacture Date System
Extended Commands (Y or N) Application
Watchdog for dictionary System
DCC application verification Application
Unused
Threshold of consecutive bad Application commends or field identifiers
Action taken on threshold Application
(I=Ignore, S=Sleep, K-Erase card)
Number of variable fields in System dictionary
Watchdog for personalization System The application specific portion of the data dictionary will include definition of personalized data fields such as user data 54 and will be defined as follows:
USAGE
Data Field ID (x'OO'-x'FE1)
Length of Field
Data Attribute (Volatile/non-volatile/match)
Reader Permissions (2 types)
Writer Permissions (2 types, ignored if non-volatile) (It will be appreciated that the data dictionary may taken on varying contents and structure and still be in keeping with the principles of the present invention.)
Memory is reserved for the data defined by data dictionary when the microcomputer is programmed with the smart card control program 50. Moreover, the structure of the data dictionary will be predefined and the smart card program 50 will know the location of each of the elements of the data dictionary. A utility program, which might be used In a personal computer or other terminal, is used by the application user to interface with the smart card control program and define the data dictionary for personalized and application specific data and write the system data, applica¬ tion data, and personalized user data into the microcomputer memory. The utility program will include the data dictionary template and wj 11 guery the user to define the application data of the fixed portion and the personalized data of the variable portion. Once the user has accomplished this at a personal computer terminal, the smart card can be per¬ sonalized by writing the user data 54 to the smart card.
It will be appreciated that the above description is of a preferred embodiment and that alternate embodiments may take on different configurations in keeping with the principles of the present invention.
The smart card control program 50 performs command processing, service routines such as memory management, I/O driver, and specialized code for handling miscellaneous com¬ mands from the programming eguipment of the application user. The smart card control program will contain logic to load/reload cards so as to allow refreshing or updating of a smart card. This will enable new code, and new data to be introduced to a previously used smart card as a command, rather than through various boot strap procedures as is done at initial load time. Communication with the smart card program will be accomplished by predefined interfacing rules.
Service functions are those routines which address diagnostic and technical issues rather than the execution of specific commands; for example, 1. INITIALIZATION
The initialization process is invoked at power up or following a Reset. The functions performed are:
- initialize hardware states
- check if "BOOT2" present (live vs personalized)
- if "BOOT2" present do card personalization
- check watchdogs for card validity
- find the next volatile write location in Zone A.
- find the end of the non-volatile data in Zone B.
2. SECURITY VALIDATION
If application security verification has been activated for this application it is done immediately after the initialization. This involves putting the I/O into read status, accepting the verification message and vali¬ dating against the values in the Data Dictionary. The values are returned as in the data portion of the "V" recorded. If successful the terminal type is saved for field verification. Also a message is returned to the application as a positive response to the security vali¬ dation. If there is a 'Match' field defined in the dic¬ tionary this fields data must be included as additional information is the verification record and is compared with the data in the card. If there is no match a bad status is returned to the application.
3. DICTIONARY SEARCH
From the field identifier in the message locate the field in the dictionary and stash the address for further usage (save the index value).
4. MEMORY SEARCH
The memory search will be supplied with a field ID and a command (next, most recent etc.). If application valid- fation is active the field security is checked to deter¬ mine if the user may access the field. With the suppl ied arguments memory will be searched for the data field and the data placed into the RAM buffer in the data portion of the buffer area. If data is not found a sta¬ tus message is stored in buffer area.
On the first reσuest of a field the dictionary is inspected to determine whether the field is volatile or non-volatile and the address generated will be either the address of the next available byte minus one in Zone A, or the end of the Zone B personalized data. On multiple reguests of a field the address will be that of the last occurrence accessed minus one.
A block move routine is used to move the data to the buffer from the address of the located data field.
When the last field of the supplied ID has been found, and a next read command is issued, the status message is stored in the buffer area.
5. WRITE TO MEMORY
The Data Dictionary attributes are checked to ascertain that the field is not a non-volatile field, and if the application validation is specified that the user may write this data. Having done the validations the routine will write the data portion of the RAM buffer into the EEPROM volatile memory and update address poin¬ ters to the next available area to write. Appended to the data will be the field identifier and length.
7. MEMORY REFRESH
Memory Refresh is part of the 'reorg' of the card at the time the card is approaching full. A 'reorg' command from the appropriate terminal will cause the data Zone A to be erased.
The actual erase is a routine which is furnished zone id and may also be used to intentionally destroy the card on reσuest.
In use, predefined commands are passed from the application terminal such as an automatic teller terminal (ATM) and are reguests for some form of action. The commands fall into several major categories:
Application: Those which are issued by the application for a file request. Normally an ASCII alphabetic value.
System: Proprietary commands used to perform diagnostic functions.
Response: A card response back to the application con¬ veying a status or acknowledgment. Normally ASCII numeric.
Reader: These commands instruct the device reading/writing to the smart card. These commands are ignored by the smart card. Sample commands are:
R Read applic. Reads the most recent field value from the card to the application.
W Write applic. Writes the data for the spe¬ cified into memory from the application.
M Memory applic. a request for amount of remaining memory in Zone A. This is returned as a two byte data value in the data portion of the record in hex format.
N read Next applic. reads the next oldest occurrence of a field from the card to the application (First command gets the most recent, subsequent commands get next oldest, etc. The requests must be contiguous on a request for another field terminates the sequence) .
V validate applic, This command request contains the necessary security data to identify the reader and appli¬ cation to the card (required if application verification is set) .
D destroy applic The application requests the total destruction of the card. The data portion contains the application and the Card Provider code. These must match the data dictionary values before this is allowed to happen. clear applic. arbitrarily clear Zone A.
Follows same rules as 'D', used as step in reorganizing a full card. stop applic, orderly stop, required for bat¬ tery powered products.
1 status applic, a response to the application from the card on an exception. The data portion of the message will have the status returned. Examples are card full, field not found, I/O error, or an 'OK' acknowledgment.
P program reader turns on programming voltage if applicable.
L lock door reader locks door on reader to keep card.
U unlock reader unlocks the door.
Z reset reader issue a hardware reset. x'EO' set mode system a preliminary command required to set system mode. No other system commands can be recognized unless sytem mode has been set. x'EA' erase/reload system Loads bootstrap to RAM, erases both zones of EEPROM and then reloads memory from serial port x'EB' dump diet, system dump the entire dictionary out serial port. x'ED' dump all card system pass entire card as data por¬ tions of multiple records.
It will be appreciated that the smart card control program (50) might take on any number of different embodiments. A program structure for one such embodiment is illustrated below:
S 3Mt"lART CARD (Entry Point)
A. 1 INITIALIZATION
A. 1. .1. SET HARDWARE STATES
A. .1. .2 DETERMINE MODE
A. 1. .2. .1 Check if live or personalization (Boot2)
A. 1. .2. .2. If personalization
A. 1. .2. ,2, .1 Invoke Boot2 to load data
A. 1. ,2. .2 Clear Zone A
A. 1. .2. ,2. ,3 reset RAM pointers z * !„ • * • £ •* 4 Check errors (checksum, I/O)
,5 Pass completion [ACK/NAK1/NAK2 (pick one depending on result)]
A.1.3 CHECK WATCH DOGS
A.1.3.1 Check System Watch Dogs
A.1.3.2 Check Application Watch Dogs
A.1.4 INITILIZE RAM
A.1.4.1 Determine next write address
A.1.4.2 Set variables to initial values
A.1.5 RESPONSE TO RESET
(per ISO spec)
A.1.6 APPLICATION VALIDATION
A.1.6.1 Determine if required
A.1.6.2 Read validation message from terminal
A.1.6.2. ,1 Serial I/O Driver in read mode
A.1.6.3 Validate application ID
A.1.6.4 Save Terminal Type
A.1.6.5 Calculate remaining memory in card
A.1.6.6. Return status message to application
A.2 COMMAND PROCESSOR
A.2.1 READ REQUEST
A.2.1.1 Serial I/O Driver in read mode
A.2.1.2 Verify message
A.2.2 VERIFY COMMAND
A.2. .1 check command list .2.3 CHECK ABEND STATUS
A.2.3.1 Do if over defined error threshold
A.2.3.1. ,1 if "ignore" continue
A.2.3.1, .1 if "deaf & dumb" STOP processor
Α. • * 3 • 1 « ,2 if "kill" do DESTROY command
A.2.4 PROCESS THE COMMAND
A.2.4.1 SYSTEM COMMAND
A.2.4.1. ,1 VALIDATE AUTHORITY
A.2.4.1, .1 Check data portion of record for DCC special seguence
A.2.4.1.1.2 If not present bump error count, exit
A.2.4.1.1.3 If not a Set Mode and not in system mode bump error count and exit
A. 2, .4. .1, .2 SET MODE
A, .2. .4. .1, .2. ,2 set system into the "system mode"
A. 2, .4. .1. .3 ERASE/RELOAD CARD
A. 2, .4. .1. .3. ,1 Clear Zone A
A. 2. ,4. .1. .3. ,2 Set up RAM instruction sequence
A. .2. .4. .1, .3. ,3 Clear Zone B from RAM
A. .2. .4, .1, .3. ,4 branch to ROM Boot to begin reload
A. 2, .4. .1. .4 DUMP DICTIONARY
A. 2. .4. .1, .4. ,1 Set dump range as dictionary through personalized data DUMP command.
A. .4.1.5 DUMP CARD A.2.4.1.5.1 Set dump Range = $00 - End of personalized Data DUMP command
A.2.4.1.6 DUMP
A.2.4.1.6.1 Set ranges to dump
A.2.4.1.6.2 Set record preamble
A.2.4.1.6.3 Dump entire range as standard formatted records
A.2.4.2 APPLICATION COMMAND
A.2.4.2.1 Set mode as "application Mode"
A.2.4.2.2 Find field in Data Dictionary x • 4_. a ^ * _ * - Verify Permissions
A.2.4.2.4 Route to Command
A.2.4.2.5 READ COMMAND
A.2.4.2.5.1 Get Address of Card Data
A.2. .2.5.1. .2 Read most recent
A.2.4.2.5.1. .2 Read Next NOTE: Read next will always bet "only" non-volatile field each time A.2.4.2.5.2 Block move EEPROM to RAM data portion of buffer
A. ,2. .4, ,2, .5, .3 Build rest of message (ISO format)
A. 2. .4. .2. .5, .4 Write message back to terminal
A. ,2. .4, .2, .6, .4 Serial I/O driver in write mode
A. .2. .4, .2, .7 WRITE COMMAND
A. .2. .4, .2, .7. .1 Get next address to write to
A. 2. .4. .2. .7. .2 Check for Zone full
A. 2, .4. .2, .7, .3 If full send status message indicating full
A. 2. .4, .2. .7. .4 Do STATUS MESSAGE
A. 2, .4, .2. .7, .5 Exit
A. 2. .4. .2. .7, .6 Write each byte from data portion of
I/O buffer to EEPROM
A.2.4.2.7.7 Set field and length flags in EEPROM
A.2.4.2.7.8 Update RAM address of next available byte to write to A.2.4.2.7.9 Format successful status message
A.2.4.2.7.10 Do STATUS MESSAGE
A.2.4.2.8 CLEAR COMMAND
A.2.4.2.8.1 Validate Provider, terminal and application
A. ,2. .4, .2. .8. ,2 Clear Zone A
A. ,2, .4, .2, .8. ,3 Write sentinel record in 1st byte Zone A
A. .2, .4, .2. .8. ,4 Reset Pointers
A. ,2, .4, .2, .9 DESTROY COMMAND
A. ,2. .4, .2. .9. ,1 Validate Provider, terminal and appln.
A. ,2. .4, .2, .9. ,2 Clear Zone A
A. ,2. .4, .2. .9. ,3 Set up RAM erase sequences
A. 2. .4. .2. .9. ,4 Clear Zone B
A. 2. ,4, .2. ,1C ) STOP COMMAND
A. 3 ROUTINES A.3.1 STATUS MESSAGE
A.3.1.1 Set preamble
A.3.1.2 SERIAL I/O
A.3.2 SERIAL I/O DRIVER
Α J « X READ MODE
Α • _J • £* m * WRITE MODE
A.3.3 BLOCK MOVE TO RAM BUFFER
A.3.3.1 Get beginning address of send area
A.3.3.1 Get length
A.3.3.3 Set OP code and beginning of buffer address
A.3.3.4 MOVE EACH BYTE
A.3.3.4. 1 alter instruction address
A.3.3.4. 2 perform instruction and RTS in RAM
The initial state of the microcomputer is shown as follows:
RAM ZONE A ZONE B
EEPROM (2304 bytes) EEPROM (1792 bytes) *******************************************************
* * * *
* 176 bytes * * *
* * * *
* * * *
* * * * ************************************************************
$0050 $00BF $0100 $09FF $0A00 $10FF
The ROM bootstrap (BootO) which comes with the microcomputer loads Bootl into RAM address space beginning at $0050. Control is then passed to Bootl which loads the smart card control program 50, Boot2 which will subseguently per¬ sonalize the smart card, and vectors to pass subsequent control to the application. The programming of the microcom¬ puter with the smart card control program 50 is preferably done by program eguipment 70 while the microcomputer 40 is on the carrier substrate 42 but is not yet imbedded in the smart card 20 as generally illustrated in FIGURE 4. As illustrated, the carrier substrate 42 might be fed from and to tape-like reels 72. The programmer equipment 70 has the standard ISO contacts as well as the switch contact which will direct execution to the ROM bootstrap. The results of the smart card load are acknowledged from the smart card. No response or a NAK will result in the carrier being scored/holed so that the part is recognizable and per¬ sonalization time is bypassed. Also, provision is made to disable the circuitry, or vectors for loading the smart card. The memory map after loading the smart card control program through Bootl is illustrated below:
ZONE A ZONE B
RAM EEEEPPRROOMM ((22330044 bbyytteess)) EEEEPPRROOMM ((11779922 bbyytte< s)
**********************************************************r ** *
*176 bytes * B i * SMART *
* RAM * 0 initialized * CARD *
* -1- * 0 * CONTROL *
* * <τ> * PROGRAM *
* * 2 * *
******************* ********************************* ********
$0050 $00BF $0100 $09FF $0A00 $10FF
In use, at the time of initial personalization of the smart card 20 by the application user, the smart card control program 50 at the time of being powered up will recognize that Boot2 is present in memory and will perform that function. Boot2 will load data dictionary 50 and per¬ sonalization data into memory Zone B, load the personalized user data into the smart card 20 beyond the data dictionary, erases Boot2 from memory Zone A, and writes a Sentinal to indicate the beginning of Zone A. The card personalization process is initiated by an interactive process which defines, batch, date, customer and data dictionary to use. This extracts the necessary information to define the user's input and the fixed data to include in the data dictionary. Personalization data is preferably stored on a suitable storage media and read in by the utility program and written to a smart card as it passes a reader. The chip carrier might have been imbedded into the smart card prior to the personalization process so as to reduce waste or might later be imbedded in the smart card. In any event, the contacts 31-38 are presented to the card personalization terminal which will be programmed to interface with the smart card control program 50. Power is applied to the smart card and the smart card will initiate dialog with the personalization terminal. After personalization, the memory map will appear as follows:
ZONE A ZONE B
RAM EEEEPPRROOMM ((22330044 bbyytteess)) EEPROM (1792 bytes)
************************************************************
* 176 bytes * S S * SMART * RAM * N N initialized * CARD
* _ι_ * T * CONTROL * * L. * PROGRAM ********************************************
Figure imgf000019_0001
$0050 $00BF $0100 $09FF $0A00 $10FF
Transactions are entered by the smart card being placed in a reader and the application program issuing com¬ mands to write data to the smart card. The data is written in the next available location. The smart card of the pre¬ sent invention has the capability to reinitialize Zone A of the memory and reload selected transactions to make room for more. During transaction processing the memory map generally appears as follows:
ZONE A ZONE B
RAM EEPROM (2304 bytes) EEPROM (1792 bytes)
*************************************************************
* * SMART DATA USER *
* 176 bytes * Trans. initiali- * CARD DICT. DATA *
* RAM * zation * CONTROL *
* _ι_ * * PROGRAM * ********************** **************************** '***********
$0050 $00BF $0100 $09FF $40A00 $10FF
It is to be understood that even though the above numerous characteristics and advantages of the invention have been set forth in the foregoing description, together with details of the structure function of the invention, the disclosure is illustrative only, and changes may be made in detail, especially in matters of shape, size and arrangement of parts within the principle of the invention, to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.

Claims

WHAT IS CLAIMED IS:
1. A method for making a smart card including a microcomputer; the method comprising the steps of: a. programming the microcomputer with a smart card control program; b. defining data dictionary means for defining data stored in the microcomputer; c. programming the microcomputer with the data dictionary and personalized data.
2. A method in accordance with claim 1, wherein the step of programming the microcomputer with a smart card control program includes defining predetermined commands for accessinσ the smart card control program.
3. A method in accordance with claim 1, wherein the method of defining data dictionary means includes defining data dictionary means with a fixed portion and a variable portion.
4. A method in accordance with claim 1 wherein the step of programming the microcomputer with the data dic¬ tionary and personalized data includes the step of using a utility program at a terminal for interfacing with the smart card control program previously programmed in the microcom¬ puter of the smart card.
5. A method in accordance with claim 1, wherein the step of programming the microcomputer with personalized data includes defining a data field ID, a length of field, and data attribute.
6. A method in accordance with claim 5, wherein the step of defining the data attribute includes defining the data as volatile, non-volatile, or match, whereby if defined as match the personalized data stored in the smart card must match the data input thereby providing a security check.
7. A method in accordance with claim 1, wherein the step of defining the data dictionary means includes defining application specific data and personalized data.
8. A method for making a smart card including a microprocessor, the method comprising the steps of: a. programming the microcomputer with a smart card control program; b. allocating memory for data dictionary means for defining data stored in the microcomputer; c. programming data values into the data dic¬ tionary area of memory; and d. programming the microcomputer with personalized data.
9. A method in accordance with claim 8, wherein vola¬ tile and non-volatile areas of memory are defined for storage of data.
10. A method in accordance with claim 9, wherein the step of programming the microcomputer with a smart card control program includes defining commands for retrieving, storing, altering and protecting data.
11. A smart card having a microcomputer, comprising: a. smart card control program means for controllinσ operation of the smart card, the smart card control program means defining predetermined commands for use in communicating with the smart card; b. data dictionary means stored in memory for defining data stored in the smart card memory, the smart card memory being divided into volatile and non-volatile memory; and c. the smart card control program including means for programming the smart card with application specific data, personalized data, and transaction data.
PCT/US1987/000509 1986-03-10 1987-03-06 Smart card apparatus and method of programming same WO1987005420A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83809586A 1986-03-10 1986-03-10
US838,095 1986-03-10

Publications (1)

Publication Number Publication Date
WO1987005420A1 true WO1987005420A1 (en) 1987-09-11

Family

ID=25276247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1987/000509 WO1987005420A1 (en) 1986-03-10 1987-03-06 Smart card apparatus and method of programming same

Country Status (3)

Country Link
AU (1) AU7129487A (en)
CA (1) CA1280511C (en)
WO (1) WO1987005420A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2592974A1 (en) * 1986-01-14 1987-07-17 Casio Computer Co Ltd INTEGRATED CIRCUIT CARD SYSTEM
EP0275510A2 (en) * 1987-01-20 1988-07-27 International Business Machines Corporation Smart card having external programming capability and method of making same
FR2626095A1 (en) * 1988-01-20 1989-07-21 Sgs Thomson Microelectronics SECURITY SYSTEM FOR PROTECTING PROGRAMMING AREAS OF A CHIP CARD
EP0337185A2 (en) * 1988-04-11 1989-10-18 SPA Syspatronic AG Portable data carrier assembly
GB2248127A (en) * 1990-09-04 1992-03-25 Mitsubishi Electric Corp Data erasing and re-writing circuit for use in programming a microcomputer integrated circuit device
FR2686171A1 (en) * 1992-01-14 1993-07-16 Gemplus Card Int MEMORY MEMORY CARD FOR MICROCOMPUTER WITH FACILITIES FOR EXECUTING INTERNAL PROGRAMS.
FR2695235A1 (en) * 1992-08-31 1994-03-04 Solaic Sa IC card mfr. having writable memory - involves implanting instruction program in microcircuit which is fixed to card and personalising card
GB2246222B (en) * 1990-06-18 1994-08-17 Mitsubishi Electric Corp Central processing unit
GB2284689A (en) * 1993-12-07 1995-06-14 Inventec Corp Programming SMART cards.
WO1996011447A1 (en) * 1994-10-07 1996-04-18 Siemens Nixdorf Informationssysteme Ag Permanent store
FR2754079A1 (en) * 1996-09-30 1998-04-03 Toshiba Kk Data processing in card readers used for access control
DE19858343A1 (en) * 1998-12-17 2000-06-21 Giesecke & Devrient Gmbh Method and device for producing personalized chip cards
GB2358500A (en) * 2000-01-19 2001-07-25 Softcard Solutions Ltd Programming data carriers

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113506399B (en) * 2021-06-03 2022-11-15 山西三友和智慧信息技术股份有限公司 Wisdom campus access control system based on artificial intelligence

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471216A (en) * 1979-11-09 1984-09-11 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull (Societe Anonyme System and process for identification of persons requesting access to particular facilities
US4498000A (en) * 1981-01-07 1985-02-05 Transac-Alcatel Security method and device for communicating confidential data via an intermediate stage
US4544833A (en) * 1982-05-14 1985-10-01 Cii Honeywell Bull (Societe Anonyme) Process and apparatus for authenticating or certifying at least one item of information contained in a memory of a removable and portable electronic carrier, such as a card
US4590365A (en) * 1983-08-01 1986-05-20 Oki Electric Industry Co., Ltd. Automatic transaction system
US4650981A (en) * 1984-01-26 1987-03-17 Foletta Wayne S Credit card with active electronics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471216A (en) * 1979-11-09 1984-09-11 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull (Societe Anonyme System and process for identification of persons requesting access to particular facilities
US4498000A (en) * 1981-01-07 1985-02-05 Transac-Alcatel Security method and device for communicating confidential data via an intermediate stage
US4544833A (en) * 1982-05-14 1985-10-01 Cii Honeywell Bull (Societe Anonyme) Process and apparatus for authenticating or certifying at least one item of information contained in a memory of a removable and portable electronic carrier, such as a card
US4590365A (en) * 1983-08-01 1986-05-20 Oki Electric Industry Co., Ltd. Automatic transaction system
US4650981A (en) * 1984-01-26 1987-03-17 Foletta Wayne S Credit card with active electronics

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2592974A1 (en) * 1986-01-14 1987-07-17 Casio Computer Co Ltd INTEGRATED CIRCUIT CARD SYSTEM
EP0275510A2 (en) * 1987-01-20 1988-07-27 International Business Machines Corporation Smart card having external programming capability and method of making same
EP0275510A3 (en) * 1987-01-20 1989-04-05 International Business Machines Corporation Smart card having external programming capability and method of making same
US5014312A (en) * 1988-01-20 1991-05-07 Sgs-Thomson Microelectronics Sa Security system for the protection of programming zones of a chip card
FR2626095A1 (en) * 1988-01-20 1989-07-21 Sgs Thomson Microelectronics SECURITY SYSTEM FOR PROTECTING PROGRAMMING AREAS OF A CHIP CARD
EP0325506A1 (en) * 1988-01-20 1989-07-26 STMicroelectronics S.A. Security system for protecting the programming zones of an IC card
EP0337185A3 (en) * 1988-04-11 1991-03-27 SPA Syspatronic AG Portable data carrier assembly
EP0337185A2 (en) * 1988-04-11 1989-10-18 SPA Syspatronic AG Portable data carrier assembly
GB2246222B (en) * 1990-06-18 1994-08-17 Mitsubishi Electric Corp Central processing unit
GB2248127A (en) * 1990-09-04 1992-03-25 Mitsubishi Electric Corp Data erasing and re-writing circuit for use in programming a microcomputer integrated circuit device
US5243561A (en) * 1990-09-04 1993-09-07 Mitsubishi Denki Kabushiki Kaisha Data erasing and re-writing circuit for use in microcomputer integrated circuit device
GB2248127B (en) * 1990-09-04 1994-08-31 Mitsubishi Electric Corp Integrated circuit device
US5671367A (en) * 1992-01-14 1997-09-23 Gemplus Card International Microcomputer PC-card having switching circuit for controlling access to memory based on control signals from internal microprocessor on control signals from external PC
FR2686171A1 (en) * 1992-01-14 1993-07-16 Gemplus Card Int MEMORY MEMORY CARD FOR MICROCOMPUTER WITH FACILITIES FOR EXECUTING INTERNAL PROGRAMS.
EP0552077A1 (en) * 1992-01-14 1993-07-21 Gemplus Card International Mass memory card for microcomputer with facilities for execution of internal programs
FR2695235A1 (en) * 1992-08-31 1994-03-04 Solaic Sa IC card mfr. having writable memory - involves implanting instruction program in microcircuit which is fixed to card and personalising card
GB2284689A (en) * 1993-12-07 1995-06-14 Inventec Corp Programming SMART cards.
GB2284689B (en) * 1993-12-07 1998-02-18 Inventec Corp Ic card back-up generating and programming device
WO1996011447A1 (en) * 1994-10-07 1996-04-18 Siemens Nixdorf Informationssysteme Ag Permanent store
US5918230A (en) * 1994-10-07 1999-06-29 Siemens Nixdorf Informationssysteme Aktientgesellschaft Method for operating a memory card
FR2754079A1 (en) * 1996-09-30 1998-04-03 Toshiba Kk Data processing in card readers used for access control
DE19858343A1 (en) * 1998-12-17 2000-06-21 Giesecke & Devrient Gmbh Method and device for producing personalized chip cards
US6484935B1 (en) * 1998-12-17 2002-11-26 Giesecke & Devrient Gmbh Method and apparatus for producing personalized chip cards
US6622910B2 (en) 1998-12-17 2003-09-23 Giesecke & Devrient Gmbh Method and apparatus for producing personalized chip cards
GB2358500A (en) * 2000-01-19 2001-07-25 Softcard Solutions Ltd Programming data carriers

Also Published As

Publication number Publication date
AU7129487A (en) 1987-09-28
CA1280511C (en) 1991-02-19

Similar Documents

Publication Publication Date Title
US4874935A (en) Smart card apparatus and method of programming same
EP0643857B1 (en) Reading data from a smart card
EP0271495B1 (en) Ic card system
CA1280511C (en) Smart card apparatus and method of programming same
EP0275510B1 (en) Smart card having external programming capability and method of making same
US5729717A (en) IC card and issuing apparatus allowing multiple applications
CA2182783C (en) Data exchange system comprising portable data processing units
US4102493A (en) Systems for storing and transferring data
EP0826215B1 (en) Card interface
CN100383777C (en) Data exchange system containing portable data processing unit
JPS6228297A (en) Integrated circuit card having reading means of update information and hysteresis information
JPS6228296A (en) Integrated circuit card in which secrecy level can be selected
CN1211329A (en) Method of modifying the instruction set of a smart card
JPH01233590A (en) Portable electronic device
JP2651426B2 (en) IC card
JP3195122B2 (en) Check method of instruction format given to IC card
WO2001016874A1 (en) Smart card transaction manager
US20020054513A1 (en) Method for program revise of an IC smartcard system
JPH026115B2 (en)
JP2609645B2 (en) Portable electronic devices
WO2007108628A1 (en) Smart universal serial bus storage and soft smart card system and method of providing service using the same
EP1193657B1 (en) High security electronic payment system
JP2544722B2 (en) Information storage control method and information storage device equipped with the method
JP3234011B2 (en) IC card
Wang et al. The Cracking Method of the Non-Touched IC Card

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU BB BG BR DK FI HU JP KP KR LK MC MG MW NO RO SD SU

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CF CG CH CM DE FR GA GB IT LU ML MR NL SE SN TD TG