WO2009081896A1 - 磁気ヘッド - Google Patents

磁気ヘッド Download PDF

Info

Publication number
WO2009081896A1
WO2009081896A1 PCT/JP2008/073285 JP2008073285W WO2009081896A1 WO 2009081896 A1 WO2009081896 A1 WO 2009081896A1 JP 2008073285 W JP2008073285 W JP 2008073285W WO 2009081896 A1 WO2009081896 A1 WO 2009081896A1
Authority
WO
WIPO (PCT)
Prior art keywords
firmware
magnetic head
processing unit
central processing
key
Prior art date
Application number
PCT/JP2008/073285
Other languages
English (en)
French (fr)
Inventor
Yasuo Isuyama
Original Assignee
Cis Eletronica Industria E Comercio Ltda.
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 Cis Eletronica Industria E Comercio Ltda. filed Critical Cis Eletronica Industria E Comercio Ltda.
Priority to US12/810,599 priority Critical patent/US20100265617A1/en
Priority to BRPI0819531A priority patent/BRPI0819531A2/pt
Priority to CN2008801227284A priority patent/CN101939755A/zh
Priority to EP08864735A priority patent/EP2234036A1/en
Publication of WO2009081896A1 publication Critical patent/WO2009081896A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00804Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic sheets
    • G11B5/00808Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic sheets magnetic cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/08Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes
    • G06K7/082Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors
    • G06K7/083Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors inductive
    • G06K7/084Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors inductive sensing magnetic material by relative movement detecting flux changes without altering its magnetised state
    • 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/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00137Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to contents recorded on or reproduced from a record carrier to authorised users
    • G11B20/00144Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to contents recorded on or reproduced from a record carrier to authorised users involving a user identifier, e.g. a unique customer ID
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/17Card-like record carriers

Definitions

  • the present invention relates to a magnetic head for reading various data from a magnetic card.
  • the magnetic head reads the data stored in the magnetic card, converts the analog signal read by the head main body into a digital signal, and encrypts the digital signal using the target key encryption method or the non-target key encryption method.
  • a control unit The head body and the control unit are accommodated in the head container.
  • the control unit of the magnetic head encrypts the digital signal using the key stored in the storage area, and transmits the encrypted digital signal to the host computer.
  • the control unit of the host computer decrypts the encrypted digital signal using the key stored therein.
  • the control unit of the host computer instructs the control unit of the magnetic head to change the key.
  • the key change procedure in this system is as follows.
  • the control unit of the host computer decrypts the digital signal received from the magnetic head, it newly generates a key, and transmits the generated key to the control unit of the magnetic head.
  • the control unit of the magnetic head changes the existing key stored in the storage area to a newly transmitted key.
  • the control unit of the host computer transmits the function change instruction and the new function to the control unit of the magnetic head.
  • the control unit of the magnetic head changes the existing function to a newly transmitted function. JP 2001-143213 A
  • the control unit of the magnetic head in the magnetic card reading system disclosed in the above publication includes the calculation / storage function and external hardware of the control unit after the magnetic head is shipped to the market or after the magnetic head is installed in the magnetic card reader. Even if the firmware for controlling is downloaded from the external server to the magnetic head, the firmware is not stored in the storage area, so that various downloaded firmware cannot be stored in the control unit. In addition, even if the upgraded firmware is downloaded from an external server, the magnetic head controller does not store the upgraded firmware in the storage area. However, if the format of the magnetic card is changed, the data on the magnetic card may not be read, and the magnetic head itself must be replaced as the format is changed.
  • the premise of the present invention for solving the above problems is a magnetic head that reads data from a magnetic card that stores various data using a magnetic material.
  • the present invention is characterized in that the magnetic head has a core having a coil for converting data stored in the magnetic card into an analog signal, and an A / D conversion chip connected to the core for converting the analog signal into a digital signal. And a digital IC connected to the A / D conversion chip, and when the digital IC controls the calculation / storage function and the firmware for controlling the external hardware is downloaded from the external server to the magnetic head,
  • the present invention has firmware storage means for storing the firmware.
  • the firmware includes data read control that causes the digital IC to read various data of the magnetic card in correspondence with various formats of the magnetic card, and the digital IC supports various formats of the magnetic card. Format-compatible reading means for reading various data from the magnetic card is provided.
  • the firmware includes data encryption control for causing the digital IC to encrypt the digital signal based on a predetermined encryption algorithm, and the digital IC converts the digital signal based on the predetermined encryption algorithm.
  • Data encryption means for encryption.
  • the digital IC includes firmware updating means for rewriting firmware before upgrading to firmware after upgrading when upgraded firmware is downloaded from an external server to the magnetic head.
  • the external server encrypts the firmware using the key stored in the external server, downloads the encrypted firmware to the magnetic head, and the digital IC uses the key stored in the key. While decrypting the encrypted firmware, the decrypted firmware is stored.
  • the digital IC and the external server perform mutual authentication in which authentication is performed between them, and the digital IC and the external server determine that the mutual authentication result by mutual authentication is valid. Thereafter, the external server downloads firmware to the magnetic head, and the digital IC stores the firmware downloaded from the external server.
  • the digital IC has algorithm storage means for storing an encryption algorithm when various encryption algorithms for encrypting a digital signal are downloaded from an external server to the magnetic head.
  • the digital IC has algorithm updating means for rewriting an already stored encryption algorithm to a new encryption algorithm when a new encryption algorithm is downloaded from an external server to the magnetic head.
  • the external server encrypts the encryption algorithm using the key stored in the external server, downloads the encrypted encryption algorithm to the magnetic head, and the digital IC stores the key stored therein.
  • the decrypted encryption algorithm is stored while decrypting the encrypted encryption algorithm using.
  • the digital IC and the external server perform mutual authentication in which authentication is performed between them, and the digital IC and the external server determine that the mutual authentication result by mutual authentication is valid. Thereafter, the external server downloads the encryption algorithm to the magnetic head, and the digital IC stores the encryption algorithm downloaded from the external server.
  • the magnetic head has a housing that encloses the outer periphery thereof, and the core, the A / D conversion chip, and the digital IC are accommodated inside the housing.
  • an A / D conversion chip and a digital IC are fixed to the housing by a solid material filled inside the housing.
  • the digital IC when firmware for controlling the calculation / storage function of the digital IC and controlling the external hardware is downloaded from the external server to the magnetic head, stores the firmware.
  • the firmware downloaded from the external server can be stored in the digital IC at any time after the magnetic head is shipped to the market or after the magnetic head is installed in the magnetic card reader.
  • This magnetic head can support various types of firmware even after shipment and installation.
  • the digital IC's calculation / storage function and external hardware can be used according to the operating environment of the magnetic head. Can be optimally controlled.
  • the firmware includes data read control that allows the digital IC to read various data on the magnetic card in accordance with various formats of the magnetic card, and the digital IC reads various data from the magnetic card in accordance with various formats of the magnetic card.
  • the digital IC stores the data reading control, so the magnetic head is shipped to the market. Thereafter, after the magnetic head is installed in the magnetic card reader, the data reading control downloaded from the external server can be stored in the digital IC at any time.
  • This magnetic head can support various formats of the magnetic card even after shipment and installation, and can reliably read data stored in the card while adapting to various specifications of the magnetic card. This magnetic head does not need to be replaced with a change in the format of the magnetic card, and the same magnetic head can be used continuously.
  • the firmware includes data encryption control that causes the digital IC to encrypt the digital signal based on a predetermined encryption algorithm, and the magnetic head that the digital IC encrypts the digital signal based on the predetermined encryption algorithm is a magnetic card. Since the digital IC encrypts various data (digital signals) read from the data, even if the data is stolen by a third party, the data cannot be used unless the stolen data is decrypted. Unauthorized duplication of the magnetic card by a third party can be prevented. In Internet banking, a third party who has stolen magnetic card data performs a so-called “spoofing” act of creating a fake site on a bank or credit card company site, and fraudulent transactions with the bank or credit card company. May do. However, since the third party cannot steal the data on the magnetic card, this magnetic head cannot create a fake site and can prevent “spoofing” by the third party.
  • the firmware is upgraded after the magnetic head is shipped to the market or after the magnetic head is installed in the magnetic card reader. Even so, it is possible to respond immediately to the upgraded firmware. Even if the firmware is changed due to the change of the format of the magnetic card, this magnetic head can store the firmware after the change, so it can support various changed formats of the magnetic card. While adapting to various card specifications, the data stored in the cards can be read reliably.
  • An external server encrypts firmware using the key stored in it
  • the digital IC decrypts the encrypted firmware using the key stored in it, and stores the decrypted firmware. Since the firmware is downloaded to the magnetic head in an encrypted state, even if the firmware is stolen by a third party, the firmware cannot be used unless the stolen firmware is decrypted. It is possible to prevent unauthorized use of a third party's magnetic card.
  • the digital IC and the external server perform mutual authentication to mutually authenticate, and after the digital IC and the external server determine that the mutual authentication result by mutual authentication is valid, the external server downloads the firmware to the magnetic head Since the digital IC stores the firmware downloaded from the external server, the digital IC and the external server can determine each other's validity by executing mutual authentication. Even if it is connected to an external server or a pseudo magnetic head is connected to an external server, it can be detected. This magnetic head cannot be accessed by a third party using a fake server, and unauthorized use of the third party's magnetic card due to falsification of firmware can be prevented.
  • the magnetic head in which the digital IC stores the encryption algorithm is used after the magnetic head is shipped to the market or after the magnetic head is installed in the magnetic card reader.
  • Various encryption algorithms can be stored in the digital IC at any time, and the data (digital signal) of the magnetic card can be encrypted using the various encryption algorithms.
  • the digital IC since the digital IC encrypts the data on the magnetic card using various encryption algorithms, even if the data is stolen by a third party, the data is not decrypted unless the stolen data is decrypted. Data cannot be used, and unauthorized acquisition of magnetic card data by a third party can be surely prevented, and illegal copying of a magnetic card by a third party and “impersonation” by a third party can be ensured. Can be prevented.
  • the magnetic head that rewrites the encryption algorithm already stored in the digital IC to a new encryption algorithm is used after the magnetic head is shipped to the market or after the magnetic head is magnetic. Even if the encryption algorithm stored in the digital IC after it is installed in the card reader is analyzed and the algorithm needs to be changed, it is possible to immediately respond to the change in the encryption algorithm. Data can be encrypted based on the encryption algorithm.
  • This magnetic head uses a new encryption algorithm and the digital IC encrypts the data (digital signal) on the magnetic card, so that even if the data is stolen by a third party, the stolen data is decrypted. Otherwise, the data cannot be used, and unauthorized acquisition of magnetic card data by a third party can be surely prevented. An illegal copy of a magnetic card by a third party or “impersonation by a third party” Can be surely prevented.
  • the external server encrypts the encryption algorithm using the key stored in it
  • the digital IC decrypts the encrypted encryption algorithm using the key stored in it, and stores the decrypted encryption algorithm Since the encryption algorithm is downloaded to the magnetic head with the encryption algorithm encrypted, even if the encryption algorithm is stolen by a third party, the encryption algorithm that has been stolen must be decrypted. Data cannot be decrypted using an encryption algorithm.
  • This magnetic head can reliably prevent unauthorized acquisition of magnetic card data by a third party, and can reliably prevent unauthorized copying of a magnetic card by a third party and “impersonation” by a third party. .
  • the external server After the digital IC and the external server authenticate each other, and the digital IC and the external server determine that the mutual authentication result of the mutual authentication is valid, the external server encrypts the magnetic head with the encryption algorithm.
  • the magnetic head that stores the encryption algorithm downloaded from the external server by the digital IC can determine the validity of each other by performing mutual authentication between the digital IC and the external server. Even if the magnetic head is connected to the external server, the pseudo magnetic head cannot access the external server, and the encryption algorithm is not downloaded from the external server to the pseudo magnetic head.
  • the third party cannot use the encryption algorithm to decrypt the data on the magnetic card, and the third party can reliably prevent illegal acquisition of the data on the magnetic card. Unauthorized duplication of a magnetic card by a third party and “spoofing” by a third party can be surely prevented.
  • a magnetic head in which a core, an A / D conversion chip, and a digital IC are accommodated in a housing cannot steal data converted into an analog signal or a digital signal unless the magnetic head itself is disassembled.
  • the data stored on the card can be surely prevented from being stolen, and unauthorized duplication of a magnetic card by a third party and “spoofing” by a third party can be surely prevented.
  • the synthetic resin For a magnetic head in which an A / D conversion chip and a digital IC are fixed inside the housing with a synthetic resin, the synthetic resin must be removed when the magnetic head is disassembled, and A / D conversion is performed when the synthetic resin is removed. Since the chip and the digital IC are destroyed, it is possible to prevent the data stealing device from being attached to the A / D conversion chip and the digital IC.
  • This magnetic head can reliably prevent unauthorized acquisition of magnetic card data by a third party, and can reliably prevent unauthorized copying of a magnetic card by a third party and “impersonation” by a third party. .
  • FIG. 3 is a partially cutaway perspective view of a magnetic head shown with a part of the housing cut away.
  • the ladder diagram which shows an example of external authentication.
  • the ladder diagram which shows an example of internal authentication.
  • the ladder diagram which shows an example of the download process between an external server and a microprocessor.
  • generation of the key used for encryption and a decoding The figure explaining an example of the production
  • the block diagram which shows an example of the process performed between a magnetic head and a host computer.
  • generation of the key used for encryption and a decoding The figure explaining another example of the production
  • FIG. 1 is a hardware configuration diagram of a magnetic card reading system 10 shown as an example using a magnetic head 19, and FIG. 2 is a schematic diagram of an internal structure of a magnetic card reader 12 shown as an example.
  • FIG. 3 is a partially broken perspective view of the magnetic head 19 shown with a part of the housing 23 cut away, and FIG. 4 is a configuration diagram of a microprocessor 26 (digital IC) shown as an example.
  • the tip portion 27 of the core 24 is in contact with the surface of the magnetic card 29, and the synthetic resin 28 (solid substance) filled in the housing 23 is partially omitted.
  • the magnetic card reading system 10 includes an external server 11, a magnetic card reader 12 that reads card data (various data) stored in the magnetic card 29, and a host computer 13.
  • the server 11 and the card reader 12 are connected via an interface (wired or wireless), and the card reader 12 and the computer 13 are connected via an interface (wired or wireless).
  • Card data includes card number, personal identification number, user ID, password, cardholder's personal information (postal code, address or residence, name or name, date of birth, family composition, annual income, working company, telephone number, facsimile) Number, email address, URL, etc.), cardholder's corporate information (postal code, address, name, date of establishment, various management information, customer information, telephone number, facsimile number, email address, URL, etc.), Includes business transactions.
  • the external server 11 is a computer having a central processing unit (CPU or MPU) and a memory (large capacity hard disk), and has a DNS server function.
  • the URL of the card reader 12 is stored in the memory.
  • the central processing unit of the server 11 is formed of an arithmetic unit and a control unit.
  • An input device 14 such as a keyboard and a mouse and an output device 15 such as a display and a printer are connected to the server 11 via an interface.
  • the central processing unit of the server 11 activates an application stored in the memory based on the control by the operating system, and executes the following means according to the activated application.
  • the central processing unit of the external server 11 executes firmware encryption means for encrypting predetermined firmware using the key stored in the memory, and executes a predetermined encryption algorithm using the key stored in the memory.
  • An algorithm encryption unit for encryption is executed.
  • the central processing unit of the server 11 executes access means for accessing a controller described later on the card reader 12 via the Internet, and executes mutual authentication means for performing mutual authentication with the magnetic head 19.
  • the central processing unit of the external server 11 executes firmware first download means for downloading the unencrypted firmware or the encrypted firmware to the magnetic head 19, and a new unencrypted firmware (version upgrade firmware) or Firmware second download means for downloading new firmware (version upgrade firmware) after encryption to the magnetic head 19 is executed.
  • the central processing unit of the server 11 executes algorithm first download means for downloading the encryption algorithm that has not been encrypted or the encryption algorithm that has been encrypted to the magnetic head 19, and a new encryption algorithm that has not been encrypted or Algorithm second download means for downloading a new encryption algorithm after encryption to the magnetic head 19 is executed.
  • Firmware is an application that controls the arithmetic / storage function of the microprocessor 26 described later, and controls external hardware connected to the processor 26.
  • the firmware includes data read control that causes the processor 26 of the magnetic head 19 to read various data of the card 29 in correspondence with various formats of the magnetic card 29.
  • data encryption control is included in which the processor 26 of the magnetic head 19 encrypts card data (digital signal) based on a predetermined encryption algorithm.
  • the magnetic card reader 12 is an insertion electric type and has a built-in controller (not shown). As shown in FIG. 2, the card reader 12 includes a card insertion opening 16 formed at the front end, a card discharge opening 17 formed at the rear end, and a card guide rail 18 connected from the card insertion opening 16 to the card discharge opening 17. And have. A magnetic head 19 is attached to the center of the card reader 12. In the vicinity of the insertion port 16, the discharge port 17, and the magnetic head 19, an optical sensor 20 for detecting the position of the magnetic card 29 that moves on the guide rail 18 is attached.
  • the card 29 When the card 29 is inserted from the insertion port 16, the card 29 automatically moves on the guide rail 18 and is discharged from the discharge port 17.
  • the movement of the card 29 on the guide rail 18 is performed by the belt 21 attached in the card reader 12.
  • the belt 21 is driven by a motor 22 installed in the card reader 12.
  • the magnetic head 19, each sensor 20, and the motor 22 are connected to the controller of the card reader 12.
  • the controller of the card reader 12 is a computer having a central processing unit (CPU or MPU) and a memory (large capacity flash memory).
  • the URL of the external server 11 is stored in the memory.
  • the central processing unit of the controller is formed of an arithmetic unit and a control unit.
  • the controller is connected to a DNS server (not shown) and the host computer 13.
  • the controller can access the external server 11 via the Internet.
  • the controller drives and stops the motor 22 by turning on and off the switch, and outputs a card data reading start command and a card data reading stop command to the magnetic head 19.
  • the magnetic head 19 converts card data stored in the magnetic layer 32 of the magnetic card 29 into an electric signal.
  • the magnetic head 19 is provided with a housing 23 that encloses an outer peripheral surface thereof, and a coil (not shown) that converts card data stored in the magnetic card into an analog signal (electric signal).
  • MPU microprocessor 26
  • the tip portion 27 of the core 24 that forms it faces the guide rail 18.
  • the A / D conversion chip 25 is electrically connected to the core 24.
  • the processor 26 is electrically connected to the A / D conversion chip 25 and is connected to the host computer 13 through an interface.
  • the core 24, the A / D conversion chip 25, and the microprocessor 26 are accommodated in the housing 23. However, the tip portion 27 of the core 24 is exposed to the outside from the lower end of the housing 23.
  • the A / D conversion chip 25 and the processor 26 are entirely covered with a synthetic resin 28 (solid substance) filled in the housing 23 and fixed inside the housing 23 via the synthetic resin 28.
  • the synthetic resin 28 is preferably a thermosetting synthetic resin, but a thermoplastic synthetic resin can also be used in addition to the thermosetting synthetic resin.
  • inorganic compounds such as ceramics (solid substances) having high resistance to chemical solvents can also be used.
  • the magnetic card 29 is arranged in the order of the color printing layer 30, the base layer 31, the magnetic layer 32, the shielding layer 33, and the printing layer 34 from the lower surface.
  • the magnetic layer 32 is made of a ferromagnetic material
  • the base layer 31 is made of polyethylene terephthalate.
  • the magnetic head 19 may be provided with a digital IC of any one of a gate array, a field programmable gate array, and dedicated hardware instead of the microprocessor 26.
  • the microprocessor 26 includes a central processing unit 35 and a memory 36 (flash memory or EEROM) as shown in FIG.
  • the central processing unit 35 of the processor 26 is formed of an arithmetic unit 37 and a control unit 38.
  • the central processing unit 35 activates an application stored in the memory 36 based on control by the operating system, and executes the following means according to the activated application.
  • the central processing unit 35 executes mutual authentication means for performing mutual authentication with the external server 11 or the host computer 13.
  • the central processing unit 35 of the microprocessor 26 executes firmware storage means for storing the firmware in the memory 36.
  • the firmware is decrypted using the key stored in the memory 36 to decrypt the encrypted firmware.
  • Firmware storage means for storing the firmware in the memory 36 is executed.
  • the central processing unit 35 executes firmware updating means for rewriting the firmware before the upgrade to the firmware after the upgrade.
  • the central processing unit 35 of the microprocessor 26 activates the firmware stored in the memory and executes the following means according to the activated firmware.
  • the central processing unit 35 executes algorithm storage means for storing the encryption algorithm in the memory 36.
  • algorithm decryption for decrypting the encrypted algorithm encrypted using the key stored in the memory 36.
  • the central processing unit 35 of the microprocessor 26 rewrites the already stored encryption algorithm into a new encryption algorithm.
  • an algorithm for decrypting the new encrypted algorithm using the key stored in the memory 36 is executed, and the algorithm update means for rewriting the already stored encryption algorithm into a new decrypted encryption algorithm is executed.
  • the central processing unit 35 executes format-compatible reading means for reading various data from the card 29 corresponding to various formats of the magnetic card 29, and encrypts card data (digital signal) based on a predetermined encryption algorithm. Execute encryption means.
  • the central processing unit 35 executes encrypted data output means for outputting the encrypted card data to the host computer 13.
  • the host computer 13 has a central processing unit (CPU or MPU) and a memory (large capacity hard disk).
  • the central processing unit of the computer 13 is formed of an arithmetic unit and a control unit.
  • An input device 39 such as a keyboard and a mouse and an output device 40 such as a display and a printer are connected to the computer 13 via an interface.
  • the central processing unit of the computer 13 activates the application stored in the memory based on the control by the operating system, and executes the following means according to the activated application.
  • the central processing unit of the host computer 13 executes mutual authentication means for performing mutual authentication with the microprocessor 26 of the magnetic head 19.
  • the central processing unit of the computer 13 executes data decrypting means for decrypting the data, and stores the decrypted data in the memory.
  • the central processing unit of the computer 13 executes data output means for outputting the decrypted data via the output device 40. Note that power is supplied to the external server 11, the magnetic card reader 12, the host computer 13, the input devices 14 and 39, and the output devices 15 and 40 through wiring.
  • FIG. 5 is a block diagram illustrating an example of processing performed between the external server 11 and the magnetic head 19.
  • An example of mutual authentication performed between the external server 11 and the magnetic head 19 will be described as follows.
  • the external server 11, the magnetic card reader 12, and the host computer 13 are activated.
  • the server 11 uses the URL of the card reader 12 to access the card reader 12 via the Internet (access means).
  • the card reader 12 uses the URL of the server 11 to access the server 11 via the Internet.
  • the central processing unit of the server 11 and the central processing unit 35 of the microprocessor 26 are connected via the controller of the card reader 12.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 perform a memory test (S-10) and a code signing (S-11) (initial test). Code signing (S-11) determines whether the object code of the firmware has been rewritten.
  • S-11 code signing
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 perform mutual authentication to determine their validity (mutual authentication means). In mutual authentication, after the server 11 performs external authentication (S-12) for authenticating the validity of the magnetic head 19, the magnetic head 19 performs internal authentication (S-13) for authenticating the validity of the server 11.
  • the firmware and the encryption algorithm can be downloaded from the server 11 to the magnetic head 19.
  • a download process is performed between the server 11 and the processor 26 (S-14).
  • an authentication disapproval message is displayed on the display of the server 11 and firmware or an encryption algorithm is downloaded to the magnetic head 19. I can't.
  • the server 11 and the processor 26 can be connected via the Internet without the mutual authentication between the server 11 and the processor 26, and the server 11 can download firmware and an encryption algorithm to the magnetic head 19.
  • FIG. 6 is a ladder diagram showing an example of external authentication
  • FIG. 7 is a ladder diagram showing an example of internal authentication.
  • the authentication procedure in external authentication is as follows.
  • the central processing unit of the external server 11 requests the central processing unit 35 of the microprocessor 26 to generate and transmit a random number (authenticator) (S-20).
  • the central processing unit 35 of the processor 26 generates a 64-bit random number according to a command from the server 11 and transmits the generated random number to the server 11 (S-21).
  • the central processing unit of the server 11 that has acquired the 64-bit random number encrypts the random number by triple DES (Triple Data Encryption Standard) using the authentication key stored in the memory, and then sends the encrypted random number to the processor 26. Transmit (S-22).
  • triple DES Triple Data Encryption Standard
  • the central processing unit 35 of the processor 26 uses the authentication key stored in the memory 36 to decrypt the random number encrypted by the triple DES.
  • the central processing unit 35 of the processor 26 compares the generated random number with the decrypted random number, determines that the authentication result is valid if both are the same, and transmits the authentication result valid information to the server 11. (S-23).
  • the server 11 acquires the external authentication result from the processor 26 (S-24).
  • Triple DES reinforces cryptographic strength by repeating key DES (Single Data Encryption Standard) three times to reduce key expansion and algorithm bias.
  • the triple DES includes a 3-Key triple DES in which all three keys are different and a 2-Key triple DES that uses the same key for the first time and the third time.
  • the triple DES may be either a 3-Key triple DES or a 2-Key triple DES.
  • the DES may be a single DES instead of a triple DES.
  • the authentication procedure for internal authentication is as follows.
  • the central processing unit of the external server 11 generates a 64-bit random number (authenticator) and transmits it to the microprocessor 26 (S-25).
  • the central processing unit 35 of the processor 26 that has acquired the 64-bit random number uses the authentication key stored in the memory 36, encrypts the random number with triple DES, and then transmits the encrypted random number to the server 11 (S -26).
  • the central processing unit of the server 11 uses the authentication key stored in the memory and decrypts the random number encrypted by the triple DES (S-27).
  • the central processing unit of the server 11 compares the generated random number with the decrypted random number, and determines that the authentication result is valid if they are the same. On the other hand, if the generated random number is different from the decrypted random number, it is determined that the authentication result is not possible, and downloading of the firmware and the encryption algorithm to the magnetic head 19 is disabled.
  • FIG. 8 is a ladder diagram illustrating an example of a download process between the external server 11 and the microprocessor 26.
  • the memory of the external server 11 stores firmware, encryption algorithms, and encryption keys for encrypting them, and new firmware or new encryption algorithms that are upgraded as necessary are stored as needed. Stored.
  • the memory 36 of the microprocessor 26 stores firmware and a key for decrypting the encryption algorithm.
  • the central processing unit of the external server 11 takes out the firmware, the encryption algorithm, and the encryption key from the memory, and encrypts the firmware and the encryption algorithm by triple DES using the key (firmware encryption means, Algorithm encryption means) (S-28).
  • the central processing unit of the server 11 downloads the encrypted firmware and encryption algorithm to the magnetic head 19 via the Internet (firmware first download means, algorithm first download means) (S-29).
  • the central processing unit of the server 11 downloads them to the magnetic head 19 without encryption (firmware first download means, algorithm first download means) (S -29).
  • the central processing unit of the external server 11 needs to download a new upgraded firmware or a new encryption algorithm to the magnetic head 19, the new firmware, a new encryption algorithm, an encryption key, And the firmware and encryption algorithm are encrypted by triple DES using the key (firmware encryption means, algorithm encryption means) (S-28).
  • the central processing unit of the server 11 downloads the new encrypted firmware and new encryption algorithm to the magnetic head 19 via the Internet (firmware second download means, algorithm second download means) (S-29). If new firmware and a new encryption algorithm are not encrypted, the central processing unit of the server 11 downloads them to the magnetic head 19 without encryption (firmware second download means, algorithm second download). Means) (S-29).
  • the firmware and encryption algorithm downloaded from the server 11 are temporarily stored in the memory of the controller of the magnetic card reader 19 and then output from the controller to the magnetic head 19.
  • the central processing unit 35 of the microprocessor 26 receives the encrypted firmware and the encryption algorithm from the external server 11, the central processing unit 35 extracts the decryption key from the memory 36, and is encrypted by the ripple DES using the key.
  • the firmware and the encryption algorithm are decrypted (firmware decrypting means, algorithm decrypting means) (S-30).
  • the central processing unit 35 stores the combined firmware and encryption algorithm in the memory 36 (firmware storage means, algorithm storage means).
  • the central processing unit 35 stores the firmware and encryption algorithm in the memory 36 (firmware storage means, algorithm storage means).
  • the central processing unit 35 of the microprocessor 26 receives the new encrypted firmware and the new encryption algorithm from the external server 11, the new firmware encrypted by the ripple DES using the decryption key.
  • a new encryption algorithm is decrypted (firmware decrypting means, algorithm decrypting means) (S-30).
  • the central processing unit 35 rewrites the firmware before the upgrade to the combined firmware after the upgrade (firmware update means), and stores the firmware after the upgrade in the memory 36. Further, the already stored encryption algorithm is rewritten to a new decrypted encryption algorithm (algorithm updating means), and the new encryption algorithm is stored in the memory 36.
  • the central processing unit 35 rewrites the firmware before the upgrade to the firmware after the upgrade (firmware update means), and the firmware after the upgrade Is stored in the memory 36, and the already stored encryption algorithm is rewritten to a new encryption algorithm (algorithm update means), and the new encryption algorithm is stored in the memory 36.
  • Firmware rewriting is performed when the version of the firmware is updated, the specification of the magnetic card 29 is changed, and the format of the card 29 is changed.
  • the rewriting of the encryption algorithm is performed every time the system 10 is started when the rewriting is necessary due to the analysis of the algorithm by a third party, when performing the time unit, weekly unit, or monthly unit, This is performed when synchronization is performed again after synchronization is lost.
  • FIGS 9 to 14 are diagrams for explaining an example of generation of keys used for encryption and decryption.
  • the central processing unit of the external server 11 and the central processing unit 35 of the microprocessor 26 are identically stored in advance in their memory 36 each time encrypted firmware or an encryption algorithm is downloaded to the magnetic head 19.
  • the same new second to nth keys necessary for the encryption and decryption of the firmware or the encryption algorithm are generated in order while synchronizing with each other using a finite regression counter value (key generation means).
  • a finite regression counter value key generation means.
  • An example of a key generation procedure performed by the central processing unit of the server 11 and the central processing unit 35 of the processor 26 will be described as follows.
  • the regression counter value is 1-20.
  • the regression counter value is not particularly limited, and the counter value can be 21 or more.
  • the regression counter value 1 is selected from the counter table, and the counter value 1 is attached to the firmware or the encryption algorithm.
  • a storage area for counter values (1 to 20) and three key storage areas (K1, K2, K3) corresponding thereto are created.
  • the second key to the twentieth key corresponding to the regression counter values 2 to 20 are not generated.
  • the first key (Key1) corresponding to the counter value 1 is set as an initial value when the system 10 is introduced.
  • the central processing unit of the external server 11 extracts the first key corresponding to the counter value 1 from the counter table, uses the first key, and uses the triple DES (3-Key Triple DES) to update the firmware or the encryption algorithm and the counter value 1 Are encrypted (firmware encryption means, algorithm encryption means), and the encrypted firmware and encryption algorithm are downloaded to the magnetic head 19 (firmware first download means, algorithm first download means).
  • the central processing unit of the server 11 downloads the encrypted firmware and encryption algorithm to the magnetic head 19, then changes the regression counter value from 1 to 2, and stores the counter value 2 in the memory.
  • the central processing unit 35 of the microprocessor 26 that has received the encrypted firmware (first firmware) or the encryption algorithm (first encryption algorithm) is stored in the memory 36 as shown in FIG.
  • the regression counter value 1 is selected from the counter table.
  • a storage area for counter values (1 to 20) and three key storage areas (K1, K2, K3) corresponding thereto are created.
  • the second key to the twentieth key corresponding to the regression counter values 2 to 20 are not generated.
  • the first key (Key 1) corresponding to the counter value 1 is the same as the first key stored in the memory of the external server 11, and is set as an initial value when the system 10 is introduced.
  • the central processing unit 35 of the microprocessor 26 extracts the first key corresponding to the counter value 1 from the counter table, uses the first key, and encrypts the firmware and the encrypted data using the triple DES (3-Key Triple DES).
  • the algorithm is decrypted to obtain plaintext firmware and plaintext algorithm (firmware decrypting means, algorithm decrypting means).
  • the central processing unit 35 decrypts the firmware and the encryption algorithm, stores them in the memory 36 (firmware storage means, algorithm storage means), changes the regression counter value from 1 to 2, and sets the counter value 2 to Store in the memory 36.
  • the external server 11 stops using the firmware and encryption algorithm currently used by the microprocessor 26, selects a new firmware or new algorithm from the firmware and encryption algorithm stored in the memory, and Firmware and algorithms can be used.
  • the server 11 downloads the second firmware (version upgrade firmware) or the second encryption algorithm (new encryption algorithm) to the magnetic head 19, the central processing unit of the external server 11 is shown in FIG. As described above, the regression counter value 2 is selected from the counter table stored in the memory, and the counter value 2 is attached to the second firmware or encryption algorithm.
  • the central processing unit of the external server 11 generates a hash output value obtained by hashing the first key (initial value) corresponding to the counter value 1 and the counter value 1 with a one-way hash function, and the hash output value is the counter value.
  • a second key (Key 2) corresponding to 2 is assumed (key generation means).
  • the hash output value serving as the second key (Key2) is written in the key storage area (K1, K2, K3) corresponding to the counter value 2 of the counter table.
  • the third to twentieth keys corresponding to the regression counter values 3 to 20 are not generated.
  • the central processing unit of the external server 11 extracts the second key corresponding to the counter value 2 from the counter table, uses the second key, and encrypts the firmware and the encryption algorithm by triple DES (3-Key Triple DES) ( (Including counter value 2) (firmware encryption means, algorithm encryption means), and download the encrypted firmware and encryption algorithm to the magnetic head 19 (firmware second download means, algorithm second download means). After downloading the encrypted firmware or encryption algorithm to the magnetic head 19, the central processing unit of the server 11 changes the regression counter value from 2 to 3, and stores the counter value 3 in the memory.
  • triple DES 3-Key Triple DES
  • the central processing unit 35 of the microprocessor 26 that has received the encrypted firmware (second firmware) or the encryption algorithm (second encryption algorithm) is stored in the memory 36 as shown in FIG.
  • the regression counter value 2 is selected from the counter table.
  • the central processing unit 35 generates a hash output value obtained by hashing the first key (initial value) corresponding to the counter value 1 and the counter value 1 using a one-way hash function, and the hash output value corresponds to the counter value 2
  • the second key (Key2) to be used key generation means).
  • the hash function used by the central processing unit 35 is the same as that used by the central processing unit of the server 11, and the generated second key (Key2) is the same as that generated by the central processing unit of the server 11.
  • the hash output value serving as the second key (Key2) is written in the key storage area (K1, K2, K3) corresponding to the counter value 2 of the counter table.
  • the third to twentieth keys corresponding to the regression counter values 3 to 20 are not generated.
  • the central processing unit 35 of the microprocessor 26 extracts the second key corresponding to the counter value 2 from the counter table, uses the second key, and encrypts the firmware and the encrypted data using the triple DES (3-Key triple DES).
  • the algorithm is decrypted to obtain plaintext firmware and plaintext algorithm (firmware decrypting means, algorithm decrypting means).
  • the central processing unit 35 decrypts the firmware and the encryption algorithm, stores them in the memory 36 (firmware storage means, algorithm storage means), changes the regression counter value from 2 to 3, and sets the counter value 3 to Store in the memory 36.
  • the central processing unit of the server 11 When the external server 11 downloads the third firmware (version upgrade firmware) or the third encryption algorithm (new encryption algorithm) to the magnetic head, the central processing unit of the server 11 is as shown in FIG.
  • the regression counter value 3 is selected from the counter table stored in the memory, and the counter value 3 is attached to the third firmware or encryption algorithm.
  • the central processing unit of the external server 11 generates a hash output value obtained by hashing the second key (Key2, hash value) corresponding to the counter value 2 and the counter value 2 with a one-way hash function, and the hash output value is generated.
  • the third key (Key3) corresponding to the counter value 3 is assumed (key generation means).
  • the hash output value serving as the third key (Key3) is written in the key storage area (K1, K2, K3) corresponding to the counter value 3 in the counter table.
  • the fourth to twentieth keys corresponding to the regression counter values 4 to 20 are not generated.
  • the central processing unit of the external server 11 extracts the third key corresponding to the counter value 3 from the counter table, uses the third key, and encrypts the firmware and the encryption algorithm by triple DES (3-Key Triple DES) ( Counter value 3 is included) (firmware encryption means, algorithm encryption means), and the encrypted firmware and encryption algorithm are downloaded to the magnetic head 19 (firmware second download means, algorithm second download means). After downloading the encrypted firmware or encryption algorithm to the magnetic head 19, the central processing unit of the server 11 changes the regression counter value from 3 to 4, and stores the counter value 4 in the memory.
  • triple DES 3-Key Triple DES
  • the central processing unit 35 of the microprocessor 26 that has received the encrypted firmware (third firmware) or the encryption algorithm (third encryption algorithm) is stored in the memory 36 as shown in FIG.
  • the regression counter value 3 is selected from the counter table.
  • the central processing unit 35 generates a hash output value obtained by hashing the second key (Key2) corresponding to the counter value 2 and the counter value 2 with a one-way hash function, and the hash output value corresponds to the counter value 3.
  • the third key (Key3) is assumed (key generation means).
  • the third key (Key3) generated by the central processing unit 35 is the same as that generated by the central processing unit of the external server 11.
  • the hash output value serving as the third key (Key3) is written in the key storage area (K1, K2, K3) corresponding to the counter value 3 in the counter table.
  • the fourth key to the twentieth key corresponding to the regression counter values 4 to 20 are not generated.
  • the central processing unit 35 of the microprocessor 26 extracts the third key corresponding to the counter value 3 from the counter table, uses the third key, and encrypts the firmware and the encrypted data using the triple DES (3-Key Triple DES).
  • the algorithm is decrypted to obtain plaintext firmware and plaintext algorithm (firmware decrypting means, algorithm decrypting means).
  • the central processing unit 35 decrypts the firmware and the encryption algorithm, stores them in the memory 36 (firmware storage means, algorithm storage means), changes the regression counter value from 3 to 4, and sets the counter value 4 to 4 Store in the memory 36.
  • the central processing unit of the external server 11 and the central processing unit 35 of the microprocessor 26 use the one-way hash function to synchronize with each other using the regression counter values 1 to 20 in order.
  • An nth key is generated.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 use the counter value 1 again, and sequentially generate the 21st key to the 40th key.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 rewrite the first key stored in the key storage area with the 21st key, and generate the 22nd key.
  • the second key stored in the area is rewritten to the 22nd key.
  • the central processing unit of the external server 11 and the central processing unit 35 of the microprocessor 26 can judge each other's legitimacy by executing the mutual authentication means. Even when it is connected to the head 19 or a pseudo magnetic head is connected to the external server 11, it can be seen. In this system 10, a third party cannot access the magnetic head 19 using a fake server, and unauthorized use of the third party's magnetic card 29 due to firmware tampering can be prevented. Also, in this system 10, a third party cannot access the external server 11 using the pseudo magnetic head, and the encryption algorithm is not downloaded from the server 11 to the pseudo magnetic head.
  • the central processing unit of the external server 11 and the central processing unit 35 of the microprocessor 26 individually generate the second to n-th keys, it is not necessary to transmit the key from the server 11 to the processor 26. It is possible to prevent unauthorized acquisition of keys during the transmission process.
  • the central processing unit of the server 11 always uses another key to encrypt the firmware and the encryption algorithm, and the central processing unit 35 of the processor 26 always uses the other key to perform the firmware and encryption. Since the algorithm is decrypted, the firmware and the encryption algorithm cannot be decrypted even if the key is obtained by a third party.
  • hash values are used for the 2nd to nth keys, even if the key is illegally obtained by a third party, the key cannot be decrypted, and the key can be used by the third party without fail. Can be prevented.
  • the system 10 sequentially generates the second to nth keys while the central processing unit of the external server 11 and the central processing unit 35 of the microprocessor 26 use the same and finite regression counter values to synchronize with each other.
  • the key generated by the server 11 and the key generated by the processor 26 can be matched, and it is possible to prevent the decryption of the encrypted data due to the mismatch of the generated keys.
  • the hash output values that are the hash values of the regression counter values are included in the hash output values that are the second to nth keys, even if a third party enters the system 10 illegally, the hashed regression counter values are It cannot be decrypted, and it cannot be determined which counter value is used for synchronization between the central processing unit of the server 11 and the central processing unit 35 of the processor 26.
  • the central processing unit of the external server 11 and the central processing unit 35 of the microprocessor 26 are out of synchronization during the operation of the system 10, the key generated by the central processing unit of the server 11 and the central processing unit 35 of the processor 26 are generated. On the other hand, the central processing unit 35 cannot decrypt the encrypted data downloaded from the central processing unit. In this case, the central processing unit 35 of the processor 26 determines that decryption with the generated key is impossible, and transmits a decryption impossible message to the server 11 (decryption impossible information transmission unit). Request resynchronization (resynchronization request means).
  • the central processing unit 35 of the microprocessor 26 requests the controller of the card reader 12 to access the external server 11, and uses the key for data transmission / reception stored in the memory 36, and decrypts information that cannot be decrypted by triple DES. Encrypt resynchronization request.
  • the central processing unit 35 of the processor 26 transmits the encrypted undecryptable information and the resynchronization request to the server 11.
  • the central processing unit 36 of the processor 26 and the central processing unit of the server 11 that has received the resynchronization request perform external authentication and internal authentication (see FIGS. 6 and 7) for determining the validity (mutual authentication means). .
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 determine that the mutual authentication result by mutual authentication is valid, the central processing unit 35 returns the regression counter value to 1 (initial value) and starts synchronization again.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 perform encryption and decryption again using the first key.
  • the system 10 can return the regression counter value to 1 and synchronize again, so that the server 11
  • the generated key and the key generated by the processor 26 can be matched again, and the inability to decrypt the firmware and the encryption algorithm due to the mismatch of the generated key can be prevented.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 are mutually authenticated by mutual authentication. Is determined to be valid, the regression counter value is returned to 1 and synchronization is started again.
  • the subsequent procedure is the same as that described with reference to FIGS.
  • SHA-1 Secure Hash Algorithm 1
  • MD2, MD4, MD5 Message Digest 2, 4, 5
  • RIPEMD-80 RIPEMD-128, RIPEMD-160
  • N-Hash N-Hash
  • the server 11 can download the firmware and the encryption algorithm to the processor 26 without the external server 11 and the microprocessor 26 generating the keys shown in FIGS.
  • An example of this is as follows.
  • the external server 11 uses the URL of the card reader 12 to access the card reader 12 via the Internet (access means).
  • the card reader 12 uses the URL of the external server 11 to access the server 11 via the Internet.
  • the central processing unit of the server 11 and the central processing unit 35 of the microprocessor 26 are connected via a controller.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 perform external authentication and internal authentication (refer to FIGS. 6 and 7) for determining their validity (mutual authentication means).
  • the firmware and the encryption algorithm can be downloaded from the server 11 to the magnetic head 19. Download processing is performed between the server 11 and the processor 26.
  • the central processing unit of the external server 11 uses a key for information transmission / reception stored in the memory, encrypts new firmware and encryption algorithm by triple DES (firmware encryption means, algorithm encryption means), and encrypts
  • the downloaded firmware and algorithm are downloaded to the magnetic head 19 (firmware first download means, algorithm first download means).
  • the firmware and encryption algorithm downloaded from the server 11 are temporarily stored in the memory of the controller of the card reader 12 and then output to the magnetic head 19.
  • the central processing unit 35 of the microprocessor 26 When the central processing unit 35 of the microprocessor 26 receives the encrypted firmware and the encryption algorithm from the server 11, the central processing unit 35 uses the information transmission / reception key stored in the memory 36 and uses the firmware encrypted by the triple DES, The algorithm is decrypted to obtain plaintext firmware and a plaintext algorithm (firmware decryption means, algorithm decryption means), and the decrypted firmware and algorithm are stored in a memory (firmware storage means, algorithm storage means).
  • the external server 11 stops using the firmware and encryption algorithm currently used by the microprocessor 26, selects a new firmware or new algorithm from the firmware and encryption algorithm stored in the memory, and Firmware and algorithms can be used.
  • the server 11 causes the processor 26 to use new firmware or a new encryption algorithm
  • the server 11 instructs the processor 26 to rewrite the existing firmware or encryption algorithm (update command).
  • external authentication and internal authentication see FIGS. 6 and 7) have already been performed, and that the server 11 and the processor 26 have determined that the mutual authentication results by mutual authentication are valid.
  • the central processing unit of the external server 11 uses the information transmission / reception key stored in the memory, and encrypts the update command and the new firmware and new encryption algorithm by triple DES (firmware encryption means, algorithm encryption) And the encrypted update command, firmware, and algorithm are downloaded to the magnetic head 19 (firmware second download means, algorithm second download means).
  • the update command, firmware, and encryption algorithm downloaded from the server 11 are temporarily stored in the memory of the controller of the card reader 12 and then output to the magnetic head 19.
  • the central processing unit 35 of the microprocessor 26 uses the information transmission / reception key stored in the memory 36 and encrypts it with Triple DES.
  • the updated update command and the firmware and algorithm are decoded (firmware decoding means, algorithm decoding means).
  • the central processing unit 35 rewrites the existing firmware stored in the memory 36 with new decoded firmware (firmware updating means), and stores the new firmware in the memory 36. Further, the existing algorithm stored in the memory 36 is rewritten to a new decoded algorithm (algorithm updating means), and the new algorithm is stored in the memory 36.
  • the central processing unit 35 notifies the update completion to the server 11 (update completion notification).
  • the central processing unit 35 uses the information transmission / reception key stored in the memory 36, encrypts the update completion notification by triple DES, and transmits the encrypted update completion notification to the server 11.
  • the external server 11 can stop using the currently used hash function, select a new hash function from the hash functions stored in the memory, and use the hash function.
  • the hash function may be changed every time the system 10 is started, when it is performed in units of date and time, weekly, or monthly, or may be performed when synchronization is performed again after synchronization is lost.
  • the server 11 instructs the microprocessor 26 to rewrite the existing hash function (function change command).
  • the central processing unit of the server 11 accesses the card reader 12.
  • the central processing unit of the server 11 and the central processing unit 35 of the processor 26 perform external authentication and internal authentication for determining their validity (FIG. 6).
  • the central processing unit 35 of the microprocessor 26 uses the data transmission / reception key stored in the memory 36 to encrypt the function change command and the hash function encrypted by triple DES. Is decrypted.
  • the central processing unit 35 of the processor 26 changes the existing hash function stored in the memory 36 to a new decrypted hash function, and then notifies the external server 11 of the change completion (change completion notification means).
  • the central processing unit 35 uses the data transmission / reception key stored in the memory 36, encrypts the change completion notification by triple DES, and transmits the encrypted change completion notification to the server 11. Since the system 10 encrypts the function change command and the hash function to change the hash function, the third party does not acquire the hash function to be used, and prevents the third party from deciphering the hash function. Can do.
  • the processor 26 stores the firmware and encryption algorithm in the memory 36.
  • the firmware and the encryption algorithm downloaded from the server 11 can be stored in the processor 26 at any time after being shipped or after the magnetic head 19 is installed in the magnetic card reader 12.
  • the system 10 can cope with various types of firmware even after shipment or installation of the magnetic head 19, and by using these firmware, the calculation / storage function of the processor 26 can be changed according to the operating environment of the magnetic head 19. Optimal control of external hardware can be performed.
  • the system 10 can make the magnetic head 19 compatible with various formats of the magnetic card 29 after shipment or installation of the magnetic head 19, and is stored in the card 29 while adapting to various specifications of the magnetic card 29.
  • the data can be reliably read by the magnetic head 19.
  • This system 10 can use various encryption algorithms even after the magnetic head 19 is shipped or installed, and can encrypt card data using these algorithms.
  • the processor 26 since the processor 26 rewrites the firmware before the upgrade to the firmware after the upgrade, even if the firmware is upgraded after shipment or installation of the magnetic head 19, the firmware after the upgrade is updated. Can respond immediately.
  • FIG. 15 is a block diagram illustrating an example of processing performed between the magnetic head 19 and the host computer 13.
  • the central processing unit of the host computer 13 and the central processing unit 35 of the microprocessor 26 perform a memory test (S-50) and a code signing (S-51) (initial test).
  • S-50 memory test
  • S-51 code signing
  • the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 perform mutual authentication to determine their validity (mutual authentication means).
  • mutual authentication after the computer 13 performs external authentication (S-52) for authenticating the validity of the magnetic head 19, the magnetic head 19 performs internal authentication (S-53) for authenticating the validity of the computer 13.
  • the magnetic card reader 12 can read the magnetic card 29, and the computer 13 and the processor 26, the main process (S-54) is performed. Conversely, if at least one of the computer 13 and the processor 26 determines that the authentication result is not possible, the magnetic card 29 cannot be read by the card reader 12 and unreadable information is displayed on the display of the computer 13.
  • the mutual authentication is performed every time the system 10 is started, and when the system 10 is continuously operated, it is performed in units of date / time, week, month, and as described later, the central processing of the computer 13 This is also performed when the synchronization between the processing unit and the central processing unit 35 of the processor 26 becomes inconsistent.
  • FIG. 16 is a ladder diagram showing an example of external authentication
  • FIG. 17 is a ladder diagram showing an example of internal authentication.
  • the authentication procedure in external authentication is as follows.
  • the central processing unit of the host computer 13 requests the central processing unit 35 of the microprocessor 26 to generate and transmit a random number (authenticator) (S-60).
  • the central processing unit 35 of the processor 26 generates a 64-bit random number in accordance with an instruction from the computer 13 and transmits the generated random number to the computer 13 (S-61).
  • the central processing unit of the computer 13 that has acquired the 64-bit random number encrypts the random number with triple DES using the authentication key stored in the memory, and then transmits the encrypted random number to the processor 26 (S-62). ).
  • the central processing unit 35 of the microprocessor 26 uses the authentication key stored in the memory 36 to decrypt the random number encrypted by the triple DES (S-63).
  • the central processing unit 35 of the processor 26 compares the generated random number with the decrypted random number, determines that the authentication result is valid if both are the same, and transmits the authentication result valid information to the computer 13. .
  • the generated random number and the decrypted random number are different, it is determined that the authentication result is impossible, and the authentication result impossible information and the unreadable information of the magnetic card 29 are transmitted to the computer 13.
  • the computer 13 acquires the external authentication result from the microprocessor 26 (S-64).
  • the authentication procedure for internal authentication is as follows.
  • the central processing unit of the computer 13 generates a 64-bit random number (authenticator) and transmits it to the microprocessor 26 (S-65).
  • the central processing unit 35 of the processor 26 that has acquired the 64-bit random number uses the authentication key stored in the memory 36 to encrypt the random number with triple DES, and then transmits the encrypted random number to the computer 13 (S -66).
  • the central processing unit of the computer 13 uses the authentication key stored in the memory to decrypt the random number encrypted by the triple DES (S-67).
  • the central processing unit of the computer 13 compares the generated random number with the decrypted random number, and determines that the authentication result is valid if both are the same. On the other hand, if the generated random number is different from the decrypted random number, it is determined that the authentication result is impossible, and the card reader 12 cannot read the magnetic card 29.
  • FIG. 18 is a ladder diagram showing an example of main processing in the system 10.
  • 19 to 24 are diagrams for explaining another example of generation of keys used for encryption and decryption.
  • the optical sensor 20 detects it, and a card passage signal is output from the optical sensor 20 and input to the controller of the card reader 12.
  • the controller receives the card passage signal, it outputs a card data reading stop command to the processor 26 of the magnetic head 19 and stops driving the motor 22.
  • the magnetized magnetic layer 32 of the magnetic card 29 passes through the tip 27 (gap of the core 24) of the core 24 of the magnetic head 19, a magnetic flux is generated in the core 24, and an induced electromotive force is generated in a direction interlinking with the magnetic flux. Occurs and current flows in the coil. The value of the current flowing through the coil changes as the magnetic flux changes.
  • the card data stored in the magnetic layer 32 of the magnetic card 29 is extracted as an analog signal by the coil and input to the A / D conversion chip 25 connected to the coil.
  • the A / D conversion chip 25 converts an analog signal input from the coil into a digital signal.
  • the digital signal is input from the A / D conversion chip 25 to the microprocessor 26 and stored in the memory 36 of the processor 26.
  • the central processing unit of the host computer 13 inquires of the processor 26 at predetermined intervals whether there is card data to be processed in the memory 36 of the microprocessor 26 (data confirmation command).
  • the central processing unit of the computer 13 uses the information transmission / reception key stored in the memory, encrypts the data confirmation command by triple DES, and transmits the encrypted data confirmation command to the processor 26 (S-68).
  • the predetermined interval is preferably in units of seconds or milliseconds.
  • the central processing unit 35 of the processor 26 uses the information transmission / reception key stored in the memory 36 to decrypt the data confirmation instruction encrypted by the triple DES.
  • the central processing unit 35 of the processor 26 searches the memory 36 in accordance with a data confirmation command from the computer 13, and when the card data of the magnetic card 29 is stored in the memory 36 as a digital signal, returns the data holding to the computer 13. (Data possession information) When the card data is not in the memory 36, the data 13 is returned to the computer 13 (data non-retention information).
  • the processor 26 encrypts the data holding information and the data non-holding information by triple DES using the information transmission / reception key, and transmits the encrypted data holding information and the data non-holding information to the computer 13 (S-69). .
  • the central processing unit of the host computer 13 When the central processing unit of the host computer 13 receives the data holding information or the data non-holding information, it uses the information transmission / reception key and decrypts the data holding information or the data non-holding information by triple DES. When the central processing unit of the computer 13 receives the data non-retention information, the central processing unit again transmits an encrypted data confirmation command to the microprocessor 26 at a predetermined interval, and determines whether there is card data to be processed in the memory 36. (Data confirmation command). When receiving the data holding information, the central processing unit of the computer 13 requests the processor 26 to transmit the card data stored in the memory 36 of the processor 26 (data transmission command).
  • the central processing unit of the computer 13 uses the key for information transmission / reception, encrypts the data transmission command by triple DES, and transmits the encrypted data transmission command to the processor 26 (S-70).
  • the central processing unit 35 of the processor 26 uses the information transmission / reception key to decrypt the data transmission command encrypted by the triple DES.
  • the central processing unit 35 of the microprocessor 26 takes out the digital signal (card data) and the encryption key from the memory 36 and encrypts the digital signal using the key to obtain encrypted data (data encryption means). (S-71).
  • the central processing unit 35 transmits the encrypted data to the host computer 13 (encrypted data transmitting means).
  • the computer 13 has an amplifying circuit (not shown) for amplifying encrypted data, extracts a decryption key from the memory, and decrypts the encrypted data amplified by the amplifying circuit using the key (data decryption). Means) (S-72).
  • the computer 13 can display the decrypted digital signal (plain text card data) on the display as character information (data output means), and cause the printer to print the decrypted digital signal (plain text card data) as print information. (Data output means).
  • the computer 13 stores the encrypted digital signal or the decrypted digital signal in a memory (data storage means). When the computer 13 decrypts the encrypted data, it transmits the encrypted data confirmation command to the processor 26 again at a predetermined interval, and inquires the processor 26 whether there is card data to be processed in the memory 36 (data confirmation command). ).
  • the central processing unit of the computer 13 and the central processing unit 35 of the microprocessor 26 are the same and finite regression stored in the memory and the memory 36 in advance every time an encrypted digital signal is input to the computer 13. Using the counter values, the same new second to nth keys necessary for encryption and decryption of the digital signal are sequentially generated while synchronizing with each other (key generation means).
  • key generation means An example of a key generation procedure performed by the central processing unit of the computer 13 and the central processing unit 36 of the processor 26 will be described below with reference to FIGS.
  • the regression counter value is 1-20. However, the regression counter value is not particularly limited, and the counter value can be 21 or more.
  • the first digital signal (card data) is input from the A / D conversion chip 25 to the microprocessor 26, and after storing the digital signal in the memory 36, the processor receives the data transmission command.
  • the central processing unit 35 selects the regression counter value 1 from the counter table stored in the memory 36, and attaches the counter value 1 to the digital signal.
  • a storage area for counter values (1 to 20) and three key storage areas (K1, K2, K3) corresponding thereto are created.
  • the second key to the twentieth key corresponding to the regression counter values 2 to 20 are not generated.
  • the first key (Key1) corresponding to the counter value 1 is set as an initial value when the system 10 is introduced.
  • the central processing unit 35 of the microprocessor 26 extracts the first key corresponding to the counter value 1 from the counter table, uses the first key, and outputs the digital signal and the counter value 1 by triple DES (3-Key Triple DES). Encryption is performed to obtain encrypted data (data encryption means), and the encrypted data is transmitted to the computer 13 (data transmission means).
  • the central processing unit 35 of the processor 26 transmits the encrypted data to the computer 13, then changes the regression counter value from 1 to 2, stores the counter value 2 in the memory 36, and stores the first digital signal (card data ) Is deleted from the memory 36.
  • the central processing unit of the host computer 13 that has received the first encrypted data selects the regression counter value 1 from the counter table stored in the memory, as shown in FIG.
  • a storage area for counter values (1 to 20) and three key storage areas (K1, K2, K3) corresponding thereto are created.
  • the second key to the twentieth key corresponding to the regression counter values 2 to 20 are not generated.
  • the first key (Key 1) corresponding to the counter value 1 is the same as the first key stored in the memory 36 of the microprocessor 26, and is set as an initial value when the system 10 is introduced.
  • the central processing unit of the computer 13 takes out the first key corresponding to the counter value 1 from the counter table, uses the first key, decrypts the encrypted data by triple DES (3-Key Triple DES), and outputs a digital signal (plain text). Card data).
  • the central processing unit of the computer 13 decrypts the encrypted data, then changes the regression counter value from 1 to 2, and stores the counter value 2 in the memory.
  • the central processing unit 35 of the processor 26 When the second digital signal (card data) is input from the A / D conversion chip 25 to the microprocessor 26 and the digital signal is stored in the memory 36 and then a data transmission command is received, the central processing unit 35 of the processor 26 As shown in FIG. 21, the regression counter value 2 is selected from the counter table stored in the memory 36, and the counter value 2 is attached to the digital signal.
  • the central processing unit 36 of the processor 26 generates a hash output value obtained by hashing the first key (initial value) corresponding to the counter value 1 and the counter value 1 using a one-way hash function, and the hash output value is used as the counter value.
  • a second key (Key 2) corresponding to 2 is assumed (key generation means).
  • the hash output value serving as the second key (Key2) is written in the key storage area (K1, K2, K3) corresponding to the counter value 2 of the counter table.
  • the third to twentieth keys corresponding to the regression counter values 3 to 20 are not generated.
  • the central processing unit 35 of the microprocessor 26 extracts the second key corresponding to the counter value 2 from the counter table, encrypts the digital signal by using the second key and triple DES (3-Key Triple DES) (counter value). 2) to obtain encrypted data (data encryption means) and transmit the encrypted data to the computer 13. After transmitting the encrypted data to the computer 13, the central processing unit 35 of the processor 26 changes the regression counter value from 2 to 3, stores the counter value 3 in the memory 36, and stores the second digital signal (card data ) Is deleted from the memory 36.
  • the computer 13 that has received the second encrypted data selects the regression counter value 2 from the counter table stored in the memory, as shown in FIG.
  • the central processing unit of the computer 13 generates a hash output value obtained by hashing the first key (initial value) corresponding to the counter value 1 and the counter value 1 with a one-way hash function, and the hash output value is represented by the counter value 2.
  • the hash function used by the central processing unit of the computer 13 is the same as that used by the central processing unit 35 of the microprocessor 26, and the generated second key (Key2) is the same as that generated by the central processing unit 35 of the processor 26. is there.
  • the hash output value serving as the second key (Key2) is written in the key storage area (K1, K2, K3) corresponding to the counter value 2 of the counter table.
  • the third to twentieth keys corresponding to the regression counter values 3 to 20 are not generated.
  • the central processing unit of the computer 13 extracts the second key corresponding to the counter value 2 from the counter table, uses the second key, decrypts the encrypted data by triple DES (3-Key Triple DES), and outputs a digital signal (plain text). Card data).
  • the central processing unit of the computer 13 decrypts the encrypted data, then changes the regression counter value from 2 to 3, and stores the counter value 3 in the memory.
  • the central processing unit 35 of the processor 26 When the third digital signal (card data) is input from the A / D conversion chip 25 to the microprocessor 26 and the digital signal is stored in the memory 36 and then a data transmission command is received, the central processing unit 35 of the processor 26 23, the regression counter value 3 is selected from the counter table stored in the memory 36, and the counter value 3 is attached to the digital signal.
  • the central processing unit 35 of the processor 26 generates a hash output value obtained by hashing the second key (Key2, hash value) corresponding to the counter value 2 and the counter value 2 using a one-way hash function, and the hash output value is generated.
  • the third key (Key3) corresponding to the counter value 3 is assumed (key generation means).
  • the hash output value serving as the third key (Key3) is written in the key storage area (K1, K2, K3) corresponding to the counter value 3 in the counter table.
  • the fourth to twentieth keys corresponding to the regression counter values 4 to 20 are not generated.
  • the central processing unit 35 of the microprocessor 26 takes out the third key corresponding to the counter value 3 from the counter table, encrypts the digital signal by using the third key and triple DES (3-Key Triple DES) (counter value). 3) to obtain encrypted data (encryption means), and the encrypted data is transmitted to the computer 13.
  • the central processing unit 35 of the processor 26 changes the regression counter value from 3 to 4 after transmitting the encrypted data to the computer 13, stores the counter value 4 in the memory 36, and the third digital signal (card data ) Is deleted from the memory 36.
  • the central processing unit of the host computer 13 that has received the third encrypted data selects the regression counter value 3 from the counter table stored in the memory, as shown in FIG.
  • the central processing unit of the computer 13 generates a hash output value obtained by hashing the second key (Key2) corresponding to the counter value 2 and the counter value 2 with a one-way hash function, and sets the hash output value to the counter value 3.
  • the corresponding third key (Key3) is assumed (key generation means).
  • the third key (Key3) generated by the central processing unit of the computer 13 is the same as that generated by the central processing unit 35 of the microprocessor 26.
  • the hash output value serving as the third key (Key3) is written in the key storage area (K1, K2, K3) corresponding to the counter value 3 in the counter table.
  • the fourth to twentieth keys corresponding to the regression counter values 4 to 20 are not generated.
  • the central processing unit of the computer 13 extracts the third key corresponding to the counter value 3 from the counter table, uses the third key, decrypts the encrypted data by triple DES (3-Key Triple DES), and generates a digital signal (plaintext). Card data). After decrypting the encrypted data, the central processing unit of the computer 13 changes the regression counter value from 3 to 4, and stores the counter value 4 in the memory.
  • the central processing unit of the host computer 13 and the central processing unit 35 of the microprocessor 26 use the one-way hash function to synchronize with each other using the regression counter values 1 to 20 in order.
  • An nth key is generated.
  • the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 use the counter value 1 again, and sequentially generate the 21st key to the 40th key.
  • the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 rewrite the first key stored in the key storage area with the 21st key, and generate the 22nd key.
  • the second key stored in the area is rewritten to the 22nd key.
  • the central processing unit of the host computer 13 and the central processing unit 35 of the microprocessor 26 can judge each other's legitimacy by executing the mutual authentication means. Even when it is connected to the head 19 or when a pseudo magnetic head is connected to the computer 13, it can be detected.
  • the system 10 cannot prevent a third party from entering the system 10 using a fake computer or a fake magnetic head, and can prevent the card data, hash function, and key from being stolen from the magnetic card 29.
  • the central processing unit 35 of the computer 13 and the central processing unit 35 of the processor 26 determine that the authentication result by the authentication unit is valid, the central processing unit 35 of the processor 26 transmits the data encryption unit and the data transmission. Since the central processing unit of the computer 13 executes the decryption means, the card data stored in the magnetic card 29 is surely stolen as compared with the case where these means are executed without authentication. Thus, unauthorized duplication of the magnetic card 29 by a third party and “spoofing” by a third party can be reliably prevented.
  • the central processing unit of the host computer 13 and the central processing unit 35 of the microprocessor 26 individually generate the second to n-th keys, it is not necessary to transmit the key from the computer 13 to the processor 26. It is possible to prevent unauthorized acquisition of keys during the transmission process.
  • the central processing unit 35 of the processor 26 always performs encryption using another key, and the central processing unit of the computer 13 always performs decryption using another key. Even if it is acquired by the user, the card data stored in the magnetic card 29 cannot be decrypted.
  • hash values are used for the 2nd to nth keys, even if the key is illegally obtained by a third party, the key cannot be decrypted, and the key can be used by the third party without fail. Can be prevented.
  • the central processing unit of the host computer 13 and the central processing unit 35 of the microprocessor 26 use the same and finite regression counter values to synchronize with each other, the second to nth keys are generated in order.
  • the key generated by the computer 13 and the key generated by the processor 26 can be matched, and it is possible to prevent the decryption of the encrypted data due to the mismatch of the generated keys.
  • the hashed regression counter values are It cannot be deciphered, and it cannot be determined which counter value is used by the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 to synchronize.
  • the central processing unit of the host computer 13 and the central processing unit 35 of the microprocessor 26 are out of synchronization during the operation of the system 10, the key generated by the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 are generated.
  • the central processing unit of the computer 13 cannot decrypt the encrypted data transmitted from the central processing unit 35. In this case, the central processing unit of the computer 13 determines that decryption with the generated key is impossible, notifies that the decryption is impossible (undecryptable information), and requests resynchronization (resynchronization request).
  • the central processing unit of the computer 13 uses the information transmission / reception key stored in the memory, encrypts the undecryptable information and the resynchronization request by triple DES, and encrypts the undecryptable information and the resynchronization request. Is sent to the processor 26.
  • the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 that has received the resynchronization request perform external authentication and internal authentication (see FIGS. 6 and 7) for judging the validity (mutual authentication means). . If the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 determine that the mutual authentication result by mutual authentication is valid, the regression counter value is returned to 1 (initial value) and synchronization is started again. When the counter value is returned to 1, the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 perform encryption and decryption again using the first key.
  • the host computer 13 and the microprocessor 26 can reset the regression counter value to 1 and synchronize again, so that the key generated by the computer 13 and the processor 26 are The key to be generated can be matched again, and the inability to decrypt the card data due to the mismatch of the generated key can be prevented.
  • the system 10 operates continuously and performs mutual authentication on a daily, weekly, or monthly basis, the central processing unit of the computer 13 and the central processing unit 35 of the processor 26 are mutually authenticated by mutual authentication. Is determined to be valid, the regression counter value is returned to 1 and synchronization is started again.
  • the subsequent procedure is the same as that described with reference to FIGS.
  • the host computer 13 can stop using the currently used hash function, select a new hash function from the hash functions stored in the memory, and use the hash function.
  • the change of the hash function may be performed every time the system 10 is activated, or may be performed on a daily basis, a weekly basis, or a monthly basis.
  • the computer 13 instructs the microprocessor 26 to rewrite the existing hash function (function change command).
  • the central processing unit of the computer 13 uses the information transmission / reception key stored in the memory, encrypts the function change command and the new hash function by triple DES, and processes the encrypted function change command and the hash function. 26.
  • the central processing unit 35 of the microprocessor 26 uses the information transmission / reception key stored in the memory 36 to encrypt the function change command and the hash function encrypted by triple DES. Is decrypted.
  • the central processing unit 35 of the processor 26 changes the existing hash function stored in the memory 36 to a new decrypted hash function, and then notifies the computer 13 of the completion of the change (change completion notification).
  • the central processing unit 35 uses the information transmission / reception key stored in the memory 36, encrypts the change completion notification by triple DES, and transmits the encrypted change completion notification to the computer 13. Since the system 10 encrypts the function change command and the hash function to change the hash function, the third party does not acquire the hash function to be used, and prevents the third party from deciphering the hash function. Can do.
  • the host computer 13 can stop using the encryption algorithm currently in use, select a new algorithm from the encryption algorithms stored in the memory, and use the algorithm.
  • the encryption algorithm may be changed every time the system 10 is started, when it is performed daily, weekly, or monthly, or may be performed when synchronization is performed again after synchronization is lost.
  • the computer 13 instructs the microprocessor 26 to rewrite the existing algorithm (function change command).
  • the central processing unit of the computer 13 uses the information transmission / reception key stored in the memory, encrypts the function change command and the new encryption algorithm by triple DES, and processes the encrypted function change command and the algorithm. 26.
  • the central processing unit 35 of the microprocessor 26 When the central processing unit 35 of the microprocessor 26 receives the function change command and the encryption algorithm, the function change command and the algorithm encrypted by the triple DES using the information transmission / reception key stored in the memory 36 are received. Is decrypted.
  • the central processing unit 35 of the processor 26 changes the existing algorithm stored in the memory 36 to a new decoded algorithm, and then notifies the computer 13 of the completion of the change (change completion notification).
  • the central processing unit 35 uses the information transmission / reception key stored in the memory 36, encrypts the change completion notification by triple DES, and transmits the encrypted change completion notification to the computer 13. Since the system 10 changes the algorithm by encrypting the function change command and the encryption algorithm, the algorithm to be used is not acquired by a third party.
  • a manual handy card reader to which a magnetic head 19 is attached can be used in addition to the electric insertion type.
  • a magnetic card reader can also be connected to the POS system.
  • the firmware and encryption algorithm are downloaded from an external server to the memory of the computer of the POS system and temporarily stored, and then output to the microprocessor 26 of the magnetic head of the card reader.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Recording Or Reproducing By Magnetic Means (AREA)
  • Digital Magnetic Recording (AREA)

Abstract

【課題】外部サーバからダウンロードされたファームウェアを記憶することができるマイクロプロセッサを備えた磁気ヘッドを提供する。 【解決手段】磁気ヘッドは、磁気カードに記憶されたデータをアナログ信号に変換するコイルを備えたコアと、コアに接続されてアナログ信号をデジタル信号に変換するA/D変換チップと、A/D変換チップに接続されたマイクロプロセッサとを有する。プロセッサは、その演算・記憶機能を制御するとともに外部ハードウェアを制御するファームウェアが外部サーバ11から磁気ヘッドにダウンロードされたときに、そのファームウェアを記憶するファームウェア記憶手段を有する。  

Description

磁気ヘッド
 本発明は、磁気カードから各種データを読み取る磁気ヘッドに関する。
 磁気ヘッドと、磁気ヘッドに接続されたホストコンピュータとから形成された磁気カード読み取りシステムがある(特許文献1参照)。磁気ヘッドは、磁気カードに記憶されたデータを読み取るヘッド本体と、ヘッド本体が読み取ったアナログ信号をデジタル信号に変換し、デジタル信号を対象鍵暗号化方式または非対象鍵暗号化方式によって暗号化する制御部とから形成されている。ヘッド本体と制御部とは、ヘッド容器に収容されている。磁気ヘッドの制御部は、その記憶領域内に記憶された鍵を使用してデジタル信号を暗号化し、暗号化したデジタル信号をホストコンピュータに送信する。ホストコンピュータの制御部は、それに記憶された鍵を使用して暗号化されたデジタル信号を復号化する。
 このシステムでは、磁気ヘッドの制御部が暗号化したデジタル信号をホストコンピュータの制御部に送信すると、ホストコンピュータの制御部が磁気ヘッドの制御部に鍵の変更を指示する。このシステムにおける鍵の変更手順は、以下のとおりである。ホストコンピュータの制御部は、磁気ヘッドから受信したデジタル信号を復号化すると、あらたに鍵を生成し、生成した鍵を磁気ヘッドの制御部に送信する。磁気ヘッドの制御部は、記憶領域内に記憶された既存の鍵をあらたに送信された鍵に変更する。また、ホストコンピュータの制御部は、操作者がキーボードから関数の変更指示とあらたな関数とを入力すると、関数変更指示とあらたな関数とを磁気ヘッドの制御部に送信する。磁気ヘッドの制御部は、既存の関数をあらたに送信された関数に変更する。
特開2001-143213号公報
 前記公報に開示の磁気カード読み取りシステムにおける磁気ヘッドの制御部は、磁気ヘッドが市場に出荷された後や磁気ヘッドが磁気カードリーダに設置された後に、制御部の演算・記憶機能や外部ハードウェアを制御するファームウェアが外部サーバから磁気ヘッドにダウンロードされたとしても、そのファームウェアを記憶領域内に記憶することはないから、ダウンロードされる各種のファームウェアを制御部に格納することはできない。また、この磁気ヘッドの制御部は、バージョンアップされたファームウェアが外部サーバからダウンロードされたとしても、バージョンアップ後のファームウェアを記憶領域内に記憶することはないから、ファームウェアのバージョンアップに対応することができず、磁気カードのフォーマットが変更されると、その磁気カードのデータを読み取ることができない場合があり、フォーマットの変更にともなって磁気ヘッド自体を取り換えなければならない。
 本発明の目的は、外部サーバからダウンロードされたファームウェアを記憶することができるデジタルICを備えた磁気ヘッドを提供することにある。本発明の他の目的は、外部サーバからダウンロードされたバージョンアップ後のファームウェアを記憶することができるデジタルICを備えた磁気ヘッドを提供することにある。
 前記課題を解決するための本発明の前提は、磁性体を利用して各種データを記憶した磁気カードからそのデータを読み取る磁気ヘッドである。
 前記前提における本発明の特徴は、磁気ヘッドが、磁気カードに記憶されたデータをアナログ信号に変換するコイルを有するコアと、コアに接続されてアナログ信号をデジタル信号に変換するA/D変換チップと、A/D変換チップに接続されたデジタルICとを備え、デジタルICは、その演算・記憶機能を制御するとともに外部ハードウェアを制御するファームウェアが外部サーバから磁気ヘッドにダウンロードされたときに、そのファームウェアを記憶するファームウェア記憶手段を有することにある。
 本発明の一例として、ファームウェアには、磁気カードの各種フォーマットに対応させてデジタルICに該磁気カードの各種データを読み取らせるデータ読み取り制御が含まれ、デジタルICが磁気カードの各種フォーマットに対応して該磁気カードから各種データを読み取るフォーマット対応読み取り手段を有する。
 本発明の他の一例として、ファームウェアには、所定の暗号化アルゴリズムに基づいてデジタルICにデジタル信号を暗号化させるデータ暗号化制御が含まれ、デジタルICがデジタル信号を所定の暗号化アルゴリズムに基づいて暗号化するデータ暗号化手段を有する。
 本発明の他の一例として、デジタルICは、バージョンアップされたファームウェアが外部サーバから磁気ヘッドにダウンロードされたときに、バージョンアップ前のファームウェアをバージョンアップ後のファームウェアに書き換えるファームウェア更新手段を有する。
 本発明の他の一例としては、外部サーバがそれに格納された鍵を使用してファームウェアを暗号化しつつ、暗号化したファームウェアを磁気ヘッドにダウンロードし、デジタルICがそれに格納された鍵を使用して暗号化されたファームウェアを復号化しつつ、復号化したファームウェアを記憶する。
 本発明の他の一例としては、デジタルICと外部サーバとがそれらの間で認証を行う相互認証を実行し、デジタルICと外部サーバとが相互認証による互いの認証結果を正当であると判断した後、外部サーバが磁気ヘッドにファームウェアをダウンロードし、デジタルICが外部サーバからダウンロードされたファームウェアを記憶する。
 本発明の他の一例として、デジタルICは、デジタル信号を暗号化する各種の暗号化アルゴリズムが外部サーバから磁気ヘッドにダウンロードされたときに、その暗号化アルゴリズムを記憶するアルゴリズム記憶手段を有する。
 本発明の他の一例として、デジタルICは、あらたな暗号化アルゴリズムが外部サーバから磁気ヘッドにダウンロードされたときに、すでに記憶した暗号化アルゴリズムをあらたな暗号化アルゴリズムに書き換えるアルゴリズム更新手段を有する。
 本発明の他の一例としては、外部サーバがそれに格納された鍵を使用して暗号化アルゴリズムを暗号化しつつ、暗号化した暗号化アルゴリズムを磁気ヘッドにダウンロードし、デジタルICがそれに格納された鍵を使用して暗号化された暗号化アルゴリズムを復号化しつつ、復号化した暗号化アルゴリズムを記憶する。
 本発明の他の一例としては、デジタルICと外部サーバとがそれらの間で認証を行う相互認証を実行し、デジタルICと外部サーバとが相互認証による互いの認証結果を正当であると判断した後、外部サーバが磁気ヘッドに暗号化アルゴリズムをダウンロードし、デジタルICが外部サーバからダウンロードされた暗号化アルゴリズムを記憶する。
 本発明の他の一例としては、磁気ヘッドがその外周を包被するハウジングを有し、コアとA/D変換チップとデジタルICとがハウジングの内部に収容されている。
 本発明の他の一例としては、A/D変換チップとデジタルICとがハウジングの内部に充填された固形物質によって該ハウジングに固定されている。
 本発明にかかる磁気ヘッドによれば、デジタルICの演算・記憶機能を制御するとともに外部ハードウェアを制御するファームウェアが外部サーバから磁気ヘッドにダウンロードされると、デジタルICがそのファームウェアを記憶するから、磁気ヘッドが市場に出荷された後や磁気ヘッドが磁気カードリーダに設置された後において、外部サーバからダウンロードされたファームウェアをデジタルICに随時格納することができる。この磁気ヘッドは、その出荷後や設置後においても各種のファームウェアに対応することができ、それらファームウェアを利用することで、磁気ヘッドの動作環境に応じてデジタルICの演算・記憶機能や外部ハードウェアの最適な制御を行うことができる。
 磁気カードの各種フォーマットに対応させてデジタルICに磁気カードの各種データを読み取らせるデータ読み取り制御がファームウェアに含まれ、デジタルICが磁気カードの各種フォーマットに対応して磁気カードから各種データを読み取る磁気ヘッドは、磁気カードのフォーマットに対応して磁気カードからデータを読み取るデータ読み取り制御が外部サーバからデジタルICにダウンロードされると、デジタルICがそのデータ読み取り制御を記憶するから、磁気ヘッドが市場に出荷された後や磁気ヘッドが磁気カードリーダに設置された後において、外部サーバからダウンロードされたデータ読み取り制御をデジタルICに随時格納することができる。この磁気ヘッドは、その出荷後や設置後においても磁気カードの各種フォーマットに対応することができ、磁気カードの各種仕様に適応しつつ、それらカードに記憶されたデータを確実に読み取ることができる。この磁気ヘッドは、磁気カードのフォーマット変更にともなって磁気ヘッドを取り換える必要はなく、同一の磁気ヘッドを継続して使用することができる。
 所定の暗号化アルゴリズムに基づいてデジタルICにデジタル信号を暗号化させるデータ暗号化制御がファームウェアに含まれ、デジタルICがデジタル信号を所定の暗号化アルゴリズムに基づいて暗号化する磁気ヘッドは、磁気カードから読み取った各種データ(デジタル信号)をデジタルICが暗号化するから、データが第3者に盗取されたとしても、盗取したデータを復号化しなければそのデータを利用することができず、第3者による磁気カードの不正な複製を防ぐことができる。なお、インターネットバンキングにおいて、磁気カードのデータを盗取した第3者が銀行やクレジットカード会社のサイトに偽サイトを作成するいわゆる「なりすまし」行為を行い、銀行やクレジットカード会社に対して不正な取引を行う場合がある。しかし、この磁気ヘッドは、第3者が磁気カードのデータを盗取することができないから、偽サイトを作ることはできず、第3者による「なりすまし」を防ぐことができる。
 デジタルICがバージョンアップ前のファームウェアをバージョンアップ後のファームウェアに書き換える磁気ヘッドは、磁気ヘッドが市場に出荷された後や磁気ヘッドが磁気カードリーダに設置された後において、ファームウェアのバージョンアップが行われたとしても、バージョンアップ後のファームウェアに即座に対応することができる。この磁気ヘッドは、磁気カードのフォーマットの変更にともなってファームウェアが変更されたとしても、変更後のファームウェアを記憶することができるから、磁気カードの変更された各種フォーマットに対応することができ、磁気カードの各種仕様に適応しつつ、それらカードに記憶されたデータを確実に読み取ることができる。
 外部サーバがそれに格納された鍵を使用してファームウェアを暗号化し、デジタルICがそれに格納された鍵を使用して暗号化されたファームウェアを復号化し、復号化したファームウェアを記憶する磁気ヘッドは、ファームウェアが暗号化された状態で磁気ヘッドにダウンロードされるから、ファームウェアが第3者に盗取されたとしても、盗取したファームウェアを復号化しなければそのファームウェアを利用することができず、ファームウェアの改竄による第3者の磁気カードの不正利用を防ぐことができる。
 デジタルICと外部サーバとが相互に認証を行う相互認証を実行し、デジタルICと外部サーバとが相互認証による互いの認証結果を正当であると判断した後、外部サーバが磁気ヘッドにファームウェアをダウンロードし、デジタルICが外部サーバからダウンロードされたファームウェアを記憶する磁気ヘッドは、デジタルICと外部サーバとが相互認証を実行することで互いの正当性を判断することができるから、偽サーバが磁気ヘッドに接続された場合や偽磁気ヘッドが外部サーバに接続された場合であっても、それを見破ることができる。この磁気ヘッドは、第3者が偽サーバを利用して磁気ヘッドにアクセスすることはできず、ファームウェアの改竄による第3者の磁気カードの不正利用を防ぐことができる。
 暗号化アルゴリズムが外部サーバからダウンロードされたときに、デジタルICがその暗号化アルゴリズムを記憶する磁気ヘッドは、磁気ヘッドが市場に出荷された後や磁気ヘッドが磁気カードリーダに設置された後において、各種の暗号化アルゴリズムをデジタルICに随時格納することができ、各種の暗号化アルゴリズムを利用して磁気カードのデータ(デジタル信号)を暗号化することができる。この磁気ヘッドは、各種の暗号化アルゴリズムを利用してデジタルICが磁気カードのデータを暗号化するから、データが第3者に盗取されたとしても、盗取したデータを復号化しなければそのデータを利用することができず、第3者による磁気カードのデータの不正な取得を確実に防ぐことができ、第3者による磁気カードの不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
 あらたな暗号化アルゴリズムが外部サーバからダウンロードされたときに、デジタルICがすでに記憶した暗号化アルゴリズムをあらたな暗号化アルゴリズムに書き換える磁気ヘッドは、磁気ヘッドが市場に出荷された後や磁気ヘッドが磁気カードリーダに設置された後にデジタルICに記憶された暗号化アルゴリズムが解析され、そのアルゴリズムの変更が必要になったとしても、暗号化アルゴリズムの変更に即座に対応することができ、変更された暗号化アルゴリズムに基づいてデータを暗号化することができる。この磁気ヘッドは、あらたな暗号化アルゴリズムを利用してデジタルICが磁気カードのデータ(デジタル信号)を暗号化するから、データが第3者に盗取されたとしても、盗取したデータを復号化しなければそのデータを利用することができず、第3者による磁気カードのデータの不正な取得を確実に防ぐことができ、第3者による磁気カードの不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
 外部サーバがそれに格納された鍵を使用して暗号化アルゴリズムを暗号化し、デジタルICがそれに格納された鍵を使用して暗号化された暗号化アルゴリズムを復号化し、復号化した暗号化アルゴリズムを記憶する磁気ヘッドは、暗号化アルゴリズムが暗号化された状態で磁気ヘッドにダウンロードされるから、暗号化アルゴリズムが第3者に盗取されたとしても、盗取した暗号化アルゴリズムを復号化しなければその暗号化アルゴリズムを利用してデータを復号化することができない。この磁気ヘッドは、第3者による磁気カードのデータの不正な取得を確実に防ぐことができ、第3者による磁気カードの不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
 デジタルICと外部サーバとが相互に認証を行う相互認証を実行し、デジタルICと外部サーバとが相互認証による互いの認証結果を正当であると判断した後、外部サーバが磁気ヘッドに暗号化アルゴリズムをダウンロードし、デジタルICが外部サーバからダウンロードされた暗号化アルゴリズムを記憶する磁気ヘッドは、デジタルICと外部サーバとが相互認証を実行することで互いの正当性を判断することができるから、偽磁気ヘッドが外部サーバに接続されたとしても、偽磁気ヘッドが外部サーバにアクセスすることはできず、外部サーバから偽磁気ヘッドに暗号化アルゴリズムがダウンロードされることはない。この磁気ヘッドは、第3者が暗号化アルゴリズムを利用して磁気カードのデータを復号化することができず、第3者による磁気カードのデータの不正な取得を確実に防ぐことができ、第3者による磁気カードの不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
 コアとA/D変換チップとデジタルICとがハウジングに収容された磁気ヘッドは、磁気ヘッド自体を分解しなければ、アナログ信号やデジタル信号に変換されたデータを盗取することができないから、磁気カードに記憶されたデータの盗取を確実に防ぐことができ、第3者による磁気カードの不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
 A/D変換チップとデジタルICとがハウジングの内部に合成樹脂によって固定された磁気ヘッドは、磁気ヘッドを分解するときに合成樹脂を取り除かなければならず、合成樹脂を取り除く際にA/D変換チップとデジタルICとが破壊されるから、A/D変換チップとデジタルICとに対するデータ盗取用機器の取り付けを防ぐことができる。この磁気ヘッドは、第3者による磁気カードのデータの不正な取得を確実に防ぐことができ、第3者による磁気カードの不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
磁気ヘッドを利用した一例として示す磁気カード読み取りシステムのハードウェア構成図。 一例として示す磁気カードリーダの内部構造の概略図。 ハウジングの一部を破断して示す磁気ヘッドの部分破断斜視図。 一例として示すマイクロプロセッサ(プロセッサ)の構成図。 外部サーバと磁気ヘッドとの間で行われる処理の一例を示すブロック図。 外部認証の一例を示すラダー図。 内部認証の一例を示すラダー図。 外部サーバとマイクロプロセッサとの間におけるダウンロード処理の一例を示すラダー図。 暗号化および復号化に使用する鍵の生成の一例を説明する図。 暗号化および復号化に使用する鍵の生成の一例を説明する図。 暗号化および復号化に使用する鍵の生成の一例を説明する図。 暗号化および復号化に使用する鍵の生成の一例を説明する図。 暗号化および復号化に使用する鍵の生成の一例を説明する図。 暗号化および復号化に使用する鍵の生成の一例を説明する図。 磁気ヘッドとホストコンピュータとの間で行われる処理の一例を示すブロック図。 外部認証の一例を示すラダー図。 内部認証の一例を示すラダー図。 システムにおけるメイン処理の一例を示すラダー図。 暗号化および復号化に使用する鍵の生成の他の一例を説明する図。 暗号化および復号化に使用する鍵の生成の他の一例を説明する図。 暗号化および復号化に使用する鍵の生成の他の一例を説明する図。 暗号化および復号化に使用する鍵の生成の他の一例を説明する図。 暗号化および復号化に使用する鍵の生成の他の一例を説明する図。 暗号化および復号化に使用する鍵の生成の他の一例を説明する図。
符号の説明
 10  磁気カード読み取りシステム
 11  外部サーバ
 12  磁気カードリーダ
 13  ホストコンピュータ
 19  磁気ヘッド
 23  ハウジング
 24  コア
 25  A/D変換チップ
 26  マイクロプロセッサ(デジタルIC)
 35  中央処理部
 36  メモリ
 添付の図面を参照し、本発明に係る磁気ヘッドの詳細を説明すると、以下のとおりである。図1は、磁気ヘッド19を利用した一例として示す磁気カード読み取りシステム10のハードウェア構成図であり、図2は、一例として示す磁気カードリーダ12の内部構造の概略図である。図3は、ハウジング23の一部を破断して示す磁気ヘッド19の部分破断斜視図であり、図4は、一例として示すマイクロプロセッサ26(デジタルIC)の構成図である。図3では、コア24の先端部27が磁気カード29の表面に接触した状態にあり、ハウジング23に充填された合成樹脂28(固形物質)の図示を一部省略している。
 磁気カード読み取りシステム10は、外部サーバ11と、磁気カード29に記憶されたカードデータ(各種データ)を読み取る磁気カードリーダ12と、ホストコンピュータ13とから形成されている。システム10では、サーバ11とカードリーダ12とがインターフェイス(有線または無線)を介して連結され、カードリーダ12とコンピュータ13とがインターフェイス(有線または無線)を介して連結されている。カードデータには、カード番号や暗証番号、ユーザID、パスワード、カード所持者の個人情報(郵便番号、住所または居所、氏名または名称、生年月日、家族構成、年収、勤務会社、電話番号、ファクシミリ番号、メールアドレス、URL等)、カード所持者の法人情報(郵便番号、住所、名称、設立年月日、各種の経営情報、取引先情報、電話番号、ファクシミリ番号、メールアドレス、URL等)、商取引内容等が含まれる。
 外部サーバ11は、中央処理部(CPUまたはMPU)とメモリ(大容量ハードディスク)とを有するコンピュータであり、DNSサーバ機能を備えている。メモリには、カードリーダ12のURLが格納されている。サーバ11の中央処理部は、演算ユニットおよび制御ユニットから形成されている。サーバ11には、キーボードやマウス等の入力装置14、ディスプレイやプリンタ等の出力装置15がインターフェイスを介して接続されている。サーバ11の中央処理部は、オペレーティングシステムによる制御に基づいて、メモリに格納されたアプリケーションを起動し、起動したアプリケーションに従って以下の各手段を実行する。
 外部サーバ11の中央処理部は、メモリに格納された鍵を使用して所定のファームウェアを暗号化するファームウェア暗号化手段を実行し、メモリに格納された鍵を使用して所定の暗号化アルゴリズムを暗号化するアルゴリズム暗号化手段を実行する。サーバ11の中央処理部は、インターネットを介してカードリーダ12の後記するコントローラにアクセスするアクセス手段を実行し、磁気ヘッド19との間で相互に認証を行う相互認証手段を実行する。
 外部サーバ11の中央処理部は、暗号化していないファームウェアまたは暗号化した後のファームウェアを磁気ヘッド19にダウンロードするファームウェア第1ダウンロード手段を実行し、暗号化していないあらたなファームウェア(バージョンアップファームウェア)または暗号化した後のあらたなファームウェア(バージョンアップファームウェア)を磁気ヘッド19にダウンロードするファームウェア第2ダウンロード手段を実行する。サーバ11の中央処理部は、暗号化していない暗号化アルゴリズムまたは暗号化した後の暗号化アルゴリズムを磁気ヘッド19にダウンロードするアルゴリズム第1ダウンロード手段を実行し、暗号化していないあらたな暗号化アルゴリズムまたは暗号化した後のあらたな暗号化アルゴリズムを磁気ヘッド19にダウンロードするアルゴリズム第2ダウンロード手段を実行する。
 ファームウェアとは、磁気ヘッド19の後記するマイクロプロセッサ26の演算・記憶機能を制御するとともにプロセッサ26につながる外部ハードウェアを制御するアプリケーションである。ファームウェアには、磁気カード29の各種フォーマットに対応させて磁気ヘッド19のプロセッサ26にカード29の各種データを読み取らせるデータ読み取り制御が含まれる。さらに、所定の暗号化アルゴリズムに基づいて磁気ヘッド19のプロセッサ26にカードデータ(デジタル信号)を暗号化させるデータ暗号化制御が含まれる。ファームウェアは、それを利用することで、磁気ヘッド19の動作環境に応じたプロセッサ26の演算・記憶機能の最適な制御を行うことができるとともに、プロセッサ26につながる外部ハードウェアの最適な制御を行うことができる。
 磁気カードリーダ12は、挿入電動型であり、コントローラ(図示せず)が内蔵されている。カードリーダ12は、図2に示すように、前端に形成されたカード挿入口16と、後端に形成されたカード排出口17と、カード挿入口16からカード排出口17につながるカード案内レール18とを有する。カードリーダ12の中央には、磁気ヘッド19が取り付けられている。挿入口16や排出口17、磁気ヘッド19の近傍には、案内レール18を移動する磁気カード29の位置を検出するための光センサ20が取り付けられている。
 挿入口16からカード29を挿入すると、カード29が案内レール18を自動的に移動して排出口17から排出される。案内レール18におけるカード29の移動は、カードリーダ12内に取り付けられたベルト21によって行われる。ベルト21の駆動は、カードリーダ12内に設置されたモータ22によって行われる。磁気ヘッド19や各センサ20、モータ22は、カードリーダ12のコントローラに連結されている。
 カードリーダ12のコントローラは、中央処理部(CPUまたはMPU)とメモリ(大容量フラッシュメモリ)とを有するコンピュータである。メモリには、外部サーバ11のURLが格納されている。コントローラの中央処理部は、演算ユニットおよび制御ユニットから形成されている。コントローラは、DNSサーバ(図示せず)とホストコンピュータ13とに連結されている。コントローラは、インターネットを介して外部サーバ11にアクセス可能である。コントローラは、スイッチのON/OFFによってモータ22の駆動や停止を行うとともに、カードデータの読み取り開始指令やカードデータの読み取り停止指令を磁気ヘッド19に出力する。
 磁気ヘッド19は、磁気カード29の磁性層32に記憶されたカードデータを電気信号に変換する。磁気ヘッド19は、図3に示すように、その外周面を包被するハウジング23と、磁気カードに記憶されたカードデータをアナログ信号(電気信号)に変換するコイル(図示せず)が取り付けられたコア24と、アナログ信号をデジタル信号(電気信号)に変換するA/D変換チップ25と、マイクロプロセッサ26(MPU)とから形成されている。カードリーダ12内に設置された磁気ヘッド19では、それを形成するコア24の先端部27が案内レール18に対向している。A/D変換チップ25は、コア24に電気的に連結されている。プロセッサ26は、A/D変換チップ25に電気的に連結され、インターフェイスを介してホストコンピュータ13に連結されている。
 コア24やA/D変換チップ25、マイクロプロセッサ26は、ハウジング23の内部に収容されている。ただし、コア24の先端部27は、ハウジング23の下端から外側に露出している。A/D変換チップ25とプロセッサ26とは、その全体がハウジング23の内部に充填された合成樹脂28(固形物質)によって包被され、合成樹脂28を介してハウジング23の内部に固定されている。合成樹脂28には、熱硬化性合成樹脂を使用することが好ましいが、熱硬化性合成樹脂の他に、熱可塑性合成樹脂を使用することもできる。また、合成樹脂等の有機化合物の他に、化学溶剤に対する耐性が高いセラミック等(固形物質)の無機化合物を使用することもできる。磁気カード29は、その下面から、カラー印刷層30、ベース層31、磁性層32、遮蔽層33、印字層34の順で並んでいる。磁性層32は強磁性体から作られ、ベース層31はポリエチレン・テレフタレートから作られている。なお、磁気ヘッド19には、マイクロプロセッサ26に変えて、ゲートアレイやフィールドプログラマブルゲートアレイ、専用ハードウェアのうちのいずれかのデジタルICが取り付けられていてもよい。
 マイクロプロセッサ26は、図4に示すように、中央処理部35とメモリ36(フラッシュメモリやEEROM)とを有する。プロセッサ26の中央処理部35は、演算ユニット37および制御ユニット38から形成されている。中央処理部35は、オペレーティングシステムによる制御に基づいて、メモリ36に格納されたアプリケーションを起動し、起動したアプリケーションに従って以下の各手段を実行する。中央処理部35は、外部サーバ11またはホストコンピュータ13との間で相互に認証を行う相互認証手段を実行する。
 マイクロプロセッサ26の中央処理部35は、暗号化していないファームウェアが外部サーバ11から磁気ヘッド19にダウンロードされると、そのファームウェアをメモリ36に格納するファームウェア記憶手段を実行する。または、暗号化されたファームウェアがサーバ11から磁気ヘッド19にダウンロードされると、メモリ36に格納された鍵を使用して暗号化されたファームウェアを復号化するファームウェア復号化手段を実行し、復号化したファームウェアをメモリ36に格納するファームウェア記憶手段を実行する。中央処理部35は、バージョンアップされたあらたなファームウェアがサーバ11から磁気ヘッド19にダウンロードされると、バージョンアップ前のファームウェアをバージョンアップ後のファームウェアに書き換えるファームウェア更新手段を実行する。
 ファームウェアをメモリ36に格納すると、マイクロプロセッサ26の中央処理部35は、メモリに格納したファームウェアを起動し、起動したファームウェアに従って以下の各手段を実行する。中央処理部35は、暗号化前の各種の暗号化アルゴリズムが外部サーバ11から磁気ヘッド19にダウンロードされると、その暗号化アルゴリズムをメモリ36に格納するアルゴリズム記憶手段を実行する。または、暗号化後の各種の暗号化アルゴリズムが外部サーバ11から磁気ヘッド19にダウンロードされると、メモリ36に格納された鍵を使用して暗号化された暗号化アルゴリズムを復号化するアルゴリズム復号化手段を実行し、復号化した暗号化アルゴリズムをメモリ36に格納するアルゴリズム記憶手段を実行する。
 マイクロプロセッサ26の中央処理部35は、暗号化していないあらたな暗号化アルゴリズムが外部サーバ11から磁気ヘッド19にダウンロードされると、すでに記憶した暗号化アルゴリズムをあらたな暗号化アルゴリズムに書き換えるアルゴリズム更新手段を実行する。または、暗号化されたあらたな暗号化アルゴリズムが外部サーバ11から磁気ヘッド19にダウンロードされると、メモリ36に格納された鍵を使用して暗号化されたあらたな暗号化アルゴリズムを復号化するアルゴリズム復号化手段を実行し、すでに記憶した暗号化アルゴリズムを復号化したあらたな暗号化アルゴリズムに書き換えるアルゴリズム更新手段を実行する。中央処理部35は、磁気カード29の各種フォーマットに対応してカード29から各種データを読み取るフォーマット対応読み取り手段を実行し、カードデータ(デジタル信号)を所定の暗号化アルゴリズムに基づいて暗号化するデータ暗号化手段を実行する。中央処理部35は、暗号化したカードデータをホストコンピュータ13に出力する暗号化データ出力手段を実行する。
 ホストコンピュータ13は、中央処理部(CPUまたはMPU)とメモリ(大容量ハードディスク)とを有する。コンピュータ13の中央処理部は、演算ユニットおよび制御ユニットから形成されている。コンピュータ13には、キーボードやマウス等の入力装置39、ディスプレイやプリンタ等の出力装置40がインターフェイスを介して接続されている。コンピュータ13の中央処理部は、オペレーティングシステムによる制御に基づいて、メモリに格納されたアプリケーションを起動し、起動したアプリケーションに従って以下の各手段を実行する。
 ホストコンピュータ13の中央処理部は、磁気ヘッド19のマイクロプロセッサ26との間で相互に認証を行う相互認証手段を実行する。コンピュータ13の中央処理部は、暗号化されたカードデータが磁気ヘッド19から出力されると、そのデータを複合化するデータ復号化手段を実行し、復号化したデータをメモリに格納するデータ記憶手段を実行する。コンピュータ13の中央処理部は、復号化したデータを出力装置40を介して出力するデータ出力手段を実行する。なお、外部サーバ11や磁気カードリーダ12、ホストコンピュータ13、各入力装置14,39、各出力装置15,40には、配線を介して電力が供給されている。
 図5は、外部サーバ11と磁気ヘッド19との間で行われる処理の一例を示すブロック図である。外部サーバ11と磁気ヘッド19との間で行われる相互認証の一例を説明すると、以下のとおりである。システム10を起動させると、外部サーバ11や磁気カードリーダ12、ホストコンピュータ13が稼動する。サーバ11がカードリーダ12のURLを利用し、インターネットを介してカードリーダ12にアクセスする(アクセス手段)。または、カードリーダ12がサーバ11のURLを利用し、インターネットを介してサーバ11にアクセスする。
 外部サーバ11と磁気カードリーダ12のコントローラとがインターネットを介して接続されると、サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とがカードリーダ12のコントローラを介して接続される。サーバ11の中央処理部とプロセッサ26の中央処理部35とは、メモリーテスト(S-10)とコードサイニング(S-11)とを行う(初期テスト)。コードサイニング(S-11)は、ファームウェアのオブジェクトコードが書き替えられていないかを判定する。初期テストが終了し、その結果が正しい場合、サーバ11の中央処理部とプロセッサ26の中央処理部35とは、それらの正当性を判断する相互認証を行う(相互認証手段)。相互認証は、サーバ11が磁気ヘッド19の正当性を認証する外部認証(S-12)を行った後、磁気ヘッド19がサーバ11の正当性を認証する内部認証(S-13)を行う。
 外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とが相互認証による互いの認証結果を正当であると判断すると、サーバ11からファームウェアや暗号化アルゴリズムの磁気ヘッド19へのダウンロードが可能となり、サーバ11とプロセッサ26との間でダウンロード処理が行われる(S-14)。逆に、サーバ11とプロセッサ26との少なくとも一方が認証結果を不可であると判断すると、認証不可メッセージがサーバ11のディスプレイに表示され、ファームウェアや暗号化アルゴリズムの磁気ヘッド19へのダウンロードを行うことができない。
 サーバ11とプロセッサ26との間の相互認証は、システム10を起動させる度毎に行われる場合、システム10を連続して稼働させるきは日時単位や週単位、月単位で行われる場合、あるいは、ファームウェアを磁気ヘッド19にダウンロードする度毎に行われる場合、暗号化アルゴリズムを磁気ヘッド19にダウンロードする度毎に行われる場合がある。なお、サーバ11とプロセッサ26とが相互認証を行うことなく、サーバ11とプロセッサ26とがインターネットを介して接続され、サーバ11が磁気ヘッド19へファームウェアや暗号化アルゴリズムのダウンロードを行うこともできる。
 図6は、外部認証の一例を示すラダー図であり、図7は、内部認証の一例を示すラダー図である。外部認証における認証手順は、以下のとおりである。外部サーバ11の中央処理部がマイクロプロセッサ26の中央処理部35に乱数(認証子)の生成と送信とを要求する(S-20)。プロセッサ26の中央処理部35は、サーバ11の指令に従って64bit乱数を生成し、生成した乱数をサーバ11に送信する(S-21)。64bit乱数を取得したサーバ11の中央処理部は、メモリに格納された認証用の鍵を使用し、トリプルDES(Triple Data Encryption Standard)によって乱数を暗号化した後、暗号化した乱数をプロセッサ26に送信する(S-22)。プロセッサ26の中央処理部35は、メモリ36に格納された認証用の鍵を使用し、トリプルDESによって暗号化された乱数を復号化する。プロセッサ26の中央処理部35は、それが生成した乱数と復号化した乱数とを比較し、両者が同一であれば認証結果を正当であると判断し、認証結果正当情報をサーバ11に送信する(S-23)。一方、生成した乱数と復号化した乱数とが異なる場合、認証結果を不可であると判断し、認証結果不可情報をサーバ11に送信する(S-23)。サーバ11は、プロセッサ26から外部認証結果を取得する(S-24)。
 トリプルDESは、シングルDES(Single Data Encryption Standard)を3回繰り返すことにより、鍵の伸長やアルゴリズムの偏りの減少を図り、暗号強度を強化する。トリプルDESには、3つの鍵が全て異なる3-KeyトリプルDESと、1回目と3回目とに同じ鍵を用いる2-KeyトリプルDESとがある。なお、トリプルDESは、3-KeyトリプルDESと2-KeyトリプルDESとのいずれでもよい。また、DESは、トリプルDESではなく、シングルDESであってもよい。
 内部認証における認証手順は、以下のとおりである。外部サーバ11の中央処理部は、64bit乱数(認証子)を生成し、それをマイクロプロセッサ26に送信する(S-25)。64bit乱数を取得したプロセッサ26の中央処理部35は、メモリ36に格納された認証用の鍵を使用し、トリプルDESによって乱数を暗号化した後、暗号化した乱数をサーバ11に送信する(S-26)。サーバ11の中央処理部は、メモリに格納された認証用の鍵を使用し、トリプルDESによって暗号化された乱数を復号化する(S-27)。サーバ11の中央処理部は、それが生成した乱数と復号化した乱数とを比較し、両者が同一であれば認証結果を正当であると判断する。一方、生成した乱数と復号化した乱数とが異なる場合、認証結果を不可であると判断し、磁気ヘッド19へのファームウェアや暗号化アルゴリズムのダウンロードを不可とする。
 図8は、外部サーバ11とマイクロプロセッサ26との間におけるダウンロード処理の一例を示すラダー図である。外部サーバ11のメモリには、ファームウェアおよび暗号化アルゴリズムとそれらを暗号化する暗号化用の鍵とが格納されており、必要に応じてバージョンアップされたあらたなファームウェアまたはあらたな暗号化アルゴリズムが随時格納される。マイクロプロセッサ26のメモリ36には、ファームウェアおよび暗号化アルゴリズムの復号化用の鍵が格納されている。
 外部サーバ11の中央処理部は、ファームウェアおよび暗号化アルゴリズムと暗号化用の鍵とをメモリから取り出し、その鍵を使用してトリプルDESによってファームウェアや暗号化アルゴリズムを暗号化する(ファームウェア暗号化手段、アルゴリズム暗号化手段)(S-28)。サーバ11の中央処理部は、暗号化したファームウェアや暗号化アルゴリズムをインターネットを介して磁気ヘッド19にダウンロードする(ファームウェア第1ダウンロード手段、アルゴリズム第1ダウンロード手段)(S-29)。なお、ファームウェアや暗号化アルゴリズムを暗号化しない場合、サーバ11の中央処理部は、それらを暗号化せずにそのまま磁気ヘッド19にダウンロードする(ファームウェア第1ダウンロード手段、アルゴリズム第1ダウンロード手段)(S-29)。
 外部サーバ11の中央処理部は、バージョンアップされたあらたなファームウェアまたはあらたな暗号化アルゴリズムの磁気ヘッド19へのダウンロードが必要になると、あらたなファームウェアやあらたな暗号化アルゴリズムと暗号化用の鍵とをメモリから取り出し、その鍵を使用してトリプルDESによってファームウェアや暗号化アルゴリズムを暗号化する(ファームウェア暗号化手段、アルゴリズム暗号化手段)(S-28)。サーバ11の中央処理部は、暗号化したあらたなファームウェアおよびあらたな暗号化アルゴリズムをインターネットを介して磁気ヘッド19にダウンロードする(ファームウェア第2ダウンロード手段、アルゴリズム第2ダウンロード手段)(S-29)。なお、あらたなファームウェアやあらたな暗号化アルゴリズムを暗号化しない場合、サーバ11の中央処理部は、それらを暗号化せずにそのまま磁気ヘッド19にダウンロードする(ファームウェア第2ダウンロード手段、アルゴリズム第2ダウンロード手段)(S-29)。サーバ11からダウンロードされたファームウェアや暗号化アルゴリズムは、磁気カードリーダ19のコントローラのメモリに一時保管された後、コントローラから磁気ヘッド19に出力される。
 マイクロプロセッサ26の中央処理部35は、暗号化されたファームウェアおよび暗号化アルゴリズムを外部サーバ11から受け取ると、メモリ36から復号化用の鍵を取り出し、その鍵を使用してリプルDESによって暗号化されたファームウェアや暗号化アルゴリズムを復号化する(ファームウェア復号化手段、アルゴリズム復号化手段)(S-30)。中央処理部35は、複合化したファームウェアおよび暗号化アルゴリズムをメモリ36に格納する(ファームウェア記憶手段、アルゴリズム記憶手段)。暗号化していないファームウェアおよび暗号化アルゴリズムを外部サーバ11から受け取ると、中央処理部35は、そのファームウェアや暗号化アルゴリズムをメモリ36に格納する(ファームウェア記憶手段、アルゴリズム記憶手段)。
 マイクロプロセッサ26の中央処理部35は、暗号化されたあらたなファームウェアおよびあらたな暗号化アルゴリズムを外部サーバ11から受け取ると、復号化用の鍵を使用してリプルDESによって暗号化されたあらたなファームウェアやあらたな暗号化アルゴリズムを復号化する(ファームウェア復号化手段、アルゴリズム復号化手段)(S-30)。中央処理部35は、バージョンアップ前のファームウェアをバージョンアップ後の複合化したファームウェアに書き換え(ファームウェア更新手段)、バージョンアップ後のファームウェアをメモリ36に格納する。さらに、すでに記憶した暗号化アルゴリズムを復号化したあらたな暗号化アルゴリズムに書き換え(アルゴリズム更新手段)、あらたな暗号化アルゴリズムをメモリ36に格納する。暗号化していないあらたなファームウェアやあらたな暗号化アルゴリズムをサーバ11から受け取ると、中央処理部35は、バージョンアップ前のファームウェアをバージョンアップ後のファームウェアに書き換え(ファームウェア更新手段)、バージョンアップ後のファームウェアをメモリ36に格納するとともに、すでに記憶した暗号化アルゴリズムをあらたな暗号化アルゴリズムに書き換え(アルゴリズム更新手段)、あらたな暗号化アルゴリズムをメモリ36に格納する。
 ファームウェアの書き換えは、それがバージョンアップされた場合、磁気カード29の仕様が変更され、カード29のフォーマットが変更された場合に行われる。暗号化アルゴリズムの書き換えは、第3者にアルゴリズムが解析されたことで、書き換えの必要が生じた場合、システム10を起動させる度毎に行う場合、日時単位や週単位、月単位で行う場合、同期がずれた後、再び同期する場合に行われる。
 図9~図14は、暗号化および復号化に使用する鍵の生成の一例を説明する図である。外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とは、暗号化されたファームウェアまたは暗号化アルゴリズムが磁気ヘッド19にダウンロードされる度毎に、それらのメモリ36にあらかじめ格納された同一かつ有限の回帰カウンタ値を使用して互いに同期しつつ、ファームウェアまたは暗号化アルゴリズムの暗号化と復号化とに必要な同一のあらたな第2~第n鍵を順に生成する(鍵生成手段)。サーバ11の中央処理部とプロセッサ26の中央処理部35とが行う鍵生成手順の一例を説明すると、以下のとおりである。なお、回帰カウンタ値は1~20とする。ただし、回帰カウンタ値に特に限定はなく、カウンタ値を21以上とすることもできる。
 外部サーバ11が第1番目のファームウェア(新規ファームウェア)または暗号化アルゴリズム(新規アルゴリズム)を磁気ヘッド19にダウンロードする場合、サーバ11の中央処理部は、図9に示すように、メモリに格納されたカウンタテーブルから回帰カウンタ値1を選択し、ファームウェアや暗号化アルゴリズムにカウンタ値1を添付する。カウンタテーブルには、カウンタ値(1~20)の格納エリアとそれに対応する3つの鍵の格納エリア(K1,K2,K3)とが作られている。ただし、図9のカウンタデーブルでは、回帰カウンタ値2~20に対応する第2鍵~第20鍵は生成されていない。なお、カウンタ値1に対応する第1鍵(Key1)は、初期値としてシステム10の導入時に設定される。
 外部サーバ11の中央処理部は、カウンタテーブルからカウンタ値1に対応する第1鍵を取り出し、第1鍵を使用し、トリプルDES(3-KeyトリプルDES)によってファームウェアまたは暗号化アルゴリズムとカウンタ値1とを暗号化し(ファームウェア暗号化手段、アルゴリズム暗号化手段)、暗号化したファームウェアや暗号化アルゴリズムを磁気ヘッド19にダウンロードする(ファームウェア第1ダウンロード手段、アルゴリズム第1ダウンロード手段)。サーバ11の中央処理部は、暗号化したファームウェアや暗号化アルゴリズムを磁気ヘッド19にダウンロードした後、回帰カウンタ値を1から2に変更し、カウンタ値2をメモリに格納する。
 暗号化されたファームウェア(第1番目のファームウェア)または暗号化アルゴリズム(第1番目の暗号化アルゴリズム)を受け取ったマイクロプロセッサ26の中央処理部35は、図10に示すように、メモリ36に格納されたカウンタテーブルから回帰カウンタ値1を選択する。カウンタテーブルには、カウンタ値(1~20)の格納エリアとそれに対応する3つの鍵の格納エリア(K1,K2,K3)とが作られている。ただし、図10のカウンタデーブルでは、回帰カウンタ値2~20に対応する第2鍵~第20鍵は生成されていない。なお、カウンタ値1に対応する第1鍵(Key1)は、外部サーバ11のメモリに格納された第1鍵と同一であり、初期値としてシステム10の導入時に設定される。
 マイクロプロセッサ26の中央処理部35は、カウンタテーブルからカウンタ値1に対応する第1鍵を取り出し、第1鍵を使用し、トリプルDES(3-KeyトリプルDES)によって暗号化されたファームウェアや暗号化アルゴリズムを復号化して平文ファームウェア、平文アルゴリズムを取得する(ファームウェア復号化手段、アルゴリズム復号化手段)。中央処理部35は、ファームウェアや暗号化アルゴリズムを復号化した後、それらをメモリ36に格納するとともに(ファームウェア記憶手段、アルゴリズム記憶手段)、回帰カウンタ値を1から2に変更し、カウンタ値2をメモリ36に格納する。
 外部サーバ11は、マイクロプロセッサ26が現在使用しているファームウェアや暗号化アルゴリズムの使用を中止させ、メモリに格納されたファームウェアや暗号化アルゴリズムの中からあらたなファームウェアやあらたなアルゴリズムを選択し、そのファームウェアやアルゴリズムを使用させることができる。サーバ11が第2番目のファームウェア(バージョンアップファームウェア)または第2番目の暗号化アルゴリズム(あらたな暗号化アルゴリズム)を磁気ヘッド19にダウンロードする場合、外部サーバ11の中央処理部は、図11に示すように、メモリに格納されたカウンタテーブルから回帰カウンタ値2を選択し、第2番目のファームウェアや暗号化アルゴリズムにカウンタ値2を添付する。
 外部サーバ11の中央処理部は、カウンタ値1に対応する第1鍵(初期値)とカウンタ値1とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値2に対応する第2鍵(Key2)とする(鍵生成手段)。第2鍵(Key2)となるハッシュ出力値は、カウンタテーブルのカウンタ値2に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図11のカウンタデーブルでは、回帰カウンタ値3~20に対応する第3鍵~第20鍵は生成されていない。
 外部サーバ11の中央処理部は、カウンタテーブルからカウンタ値2に対応する第2鍵を取り出し、第2鍵を使用し、トリプルDES(3-KeyトリプルDES)によってファームウェアや暗号化アルゴリズムを暗号化(カウンタ値2を含む)し(ファームウェア暗号化手段、アルゴリズム暗号化手段)、暗号化したファームウェアや暗号化アルゴリズムを磁気ヘッド19にダウンロードする(ファームウェア第2ダウンロード手段、アルゴリズム第2ダウンロード手段)。サーバ11の中央処理部は、暗号化したファームウェアまたは暗号化アルゴリズムを磁気ヘッド19にダウンロードした後、回帰カウンタ値を2から3に変更し、カウンタ値3をメモリに格納する。
 暗号化されたファームウェア(第2番目のファームウェア)または暗号化アルゴリズム(第2番目の暗号化アルゴリズム)を受け取ったマイクロプロセッサ26の中央処理部35は、図12に示すように、メモリ36に格納されたカウンタテーブルから回帰カウンタ値2を選択する。中央処理部35は、カウンタ値1に対応する第1鍵(初期値)とカウンタ値1とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値2に対応する第2鍵(Key2)とする(鍵生成手段)。中央処理部35が使用するハッシュ関数はサーバ11の中央処理部が使用するそれと同一であり、生成した第2鍵(Key2)はサーバ11の中央処理部が生成したそれと同一である。第2鍵(Key2)となるハッシュ出力値は、カウンタテーブルのカウンタ値2に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図12のカウンタデーブルでは、回帰カウンタ値3~20に対応する第3鍵~第20鍵は生成されていない。
 マイクロプロセッサ26の中央処理部35は、カウンタテーブルからカウンタ値2に対応する第2鍵を取り出し、第2鍵を使用し、トリプルDES(3-KeyトリプルDES)によって暗号化されたファームウェアや暗号化アルゴリズムを復号化して平文ファームウェア、平文アルゴリズムを取得する(ファームウェア復号化手段、アルゴリズム復号化手段)。中央処理部35は、ファームウェアや暗号化アルゴリズムを復号化した後、それらをメモリ36に格納するとともに(ファームウェア記憶手段、アルゴリズム記憶手段)、回帰カウンタ値を2から3に変更し、カウンタ値3をメモリ36に格納する。
 外部サーバ11が第3番目のファームウェア(バージョンアップファームウェア)または第3番目の暗号化アルゴリズム(あらたな暗号化アルゴリズム)を磁気ヘッドにダウンロードする場合、サーバ11の中央処理部は、図13に示すように、メモリに格納されたカウンタテーブルから回帰カウンタ値3を選択し、第3番目のファームウェアや暗号化アルゴリズムにカウンタ値3を添付する。
 外部サーバ11の中央処理部は、カウンタ値2に対応する第2鍵(Key2、ハッシュ値)とカウンタ値2とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値3に対応する第3鍵(Key3)とする(鍵生成手段)。第3鍵(Key3)となるハッシュ出力値は、カウンタテーブルのカウンタ値3に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図13のカウンタデーブルでは、回帰カウンタ値4~20に対応する第4鍵~第20鍵は生成されていない。
 外部サーバ11の中央処理部は、カウンタテーブルからカウンタ値3に対応する第3鍵を取り出し、第3鍵を使用し、トリプルDES(3-KeyトリプルDES)によってファームウェアや暗号化アルゴリズムを暗号化(カウンタ値3を含む)し(ファームウェア暗号化手段、アルゴリズム暗号化手段)、暗号化したファームウェアや暗号化アルゴリズムを磁気ヘッド19にダウンロードする(ファームウェア第2ダウンロード手段、アルゴリズム第2ダウンロード手段)。サーバ11の中央処理部は、暗号化したファームウェアまたは暗号化アルゴリズムを磁気ヘッド19にダウンロードした後、回帰カウンタ値を3から4に変更し、カウンタ値4をメモリに格納する。
 暗号化されたファームウェア(第3番目のファームウェア)または暗号化アルゴリズム(第3番目の暗号化アルゴリズム)を受け取ったマイクロプロセッサ26の中央処理部35は、図14に示すように、メモリ36に格納されたカウンタテーブルから回帰カウンタ値3を選択する。中央処理部35は、カウンタ値2に対応する第2鍵(Key2)とカウンタ値2とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値3に対応する第3鍵(Key3)とする(鍵生成手段)。中央処理部35が生成した第3鍵(Key3)は外部サーバ11の中央処理部が生成したそれと同一である。第3鍵(Key3)となるハッシュ出力値は、カウンタテーブルのカウンタ値3に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図14のカウンタデーブルでは、回帰カウンタ値4~20に対応する第4鍵~第20鍵は生成されていない。
 マイクロプロセッサ26の中央処理部35は、カウンタテーブルからカウンタ値3に対応する第3鍵を取り出し、第3鍵を使用し、トリプルDES(3-KeyトリプルDES)によって暗号化されたファームウェアや暗号化アルゴリズムを復号化して平文ファームウェア、平文アルゴリズムを取得する(ファームウェア復号化手段、アルゴリズム復号化手段)。中央処理部35は、ファームウェアや暗号化アルゴリズムを復号化した後、それらをメモリ36に格納するとともに(ファームウェア記憶手段、アルゴリズム記憶手段)、回帰カウンタ値を3から4に変更し、カウンタ値4をメモリ36に格納する。
 このように、外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とは、回帰カウンタ値1~20を順番に使って互いに同期しつつ、一方向ハッシュ関数を使用して第2~第n鍵を生成する。回帰カウンタ値が20を超えると、サーバ11の中央処理部とプロセッサ26の中央処理部35とは、再びカウンタ値1を使用し、第21鍵~第40鍵を順に生成する。サーバ11の中央処理部とプロセッサ26の中央処理部35とは、第21鍵を生成すると、鍵格納エリアに格納された第1鍵を第21鍵に書き換え、第22鍵を生成すると、鍵格納エリアに格納された第2鍵を第22鍵に書き替える。
 この磁気カード読み取りシステム10は、相互認証手段を実行することで外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とが互いの正当性を判断することができるから、偽サーバが磁気ヘッド19に接続された場合や偽磁気ヘッドが外部サーバ11に接続された場合であっても、それを見破ることができる。このシステム10は、第3者が偽サーバを利用して磁気ヘッド19にアクセスすることはできず、ファームウェアの改竄による第3者の磁気カード29の不正利用を防ぐことができる。また、このシステム10は、第3者が偽磁気ヘッドを利用して外部サーバ11にアクセスすることはできず、サーバ11から偽磁気ヘッドに暗号化アルゴリズムがダウンロードされることはない。
 システム10は、外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とが第2~第n鍵を個別に生成するから、サーバ11からプロセッサ26へ鍵を送信する必要はなく、鍵の送信過程における鍵の不正な取得を防ぐことができる。システム10は、サーバ11の中央処理部が常に別の鍵を使用してファームウェアや暗号化アルゴリズムの暗号化を行い、プロセッサ26の中央処理部35が常に別の鍵を使用してファームウェアや暗号化アルゴリズムの復号化を行うから、鍵を第3者に取得されたとしても、ファームウェアや暗号化アルゴリズムを復号化することはできない。また、第2~第n鍵にハッシュ値を使用するから、たとえ鍵が第3者に不正に取得されたとしても、鍵の解読をすることはできず、第3者による鍵の使用を確実に防ぐことができる。
 システム10は、外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とが同一かつ有限の回帰カウンタ値を使用して互いに同期しつつ、第2~第n鍵を順に生成するから、サーバ11が生成する鍵とプロセッサ26が生成する鍵とを一致させることができ、生成した鍵の不一致による暗号データの復号不能を防ぐことができる。また、第2~第n鍵となるハッシュ出力値に回帰カウンタ値をハッシュ化したハッシュ出力値が含まれるから、第3者がシステム10に不正に進入したとしても、ハッシュ化した回帰カウンタ値を解読することはできず、サーバ11の中央処理部とプロセッサ26の中央処理部35とがどのカウンタ値を使用して同期しているかを判別することができない。
 システム10の稼働中に外部サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35との同期がずれると、サーバ11の中央処理部が生成した鍵とプロセッサ26の中央処理部35が生成したそれとが異なり、中央処理部からダウンロードされた暗号データを中央処理部35が復号化することができない。この場合、プロセッサ26の中央処理部35は、生成した鍵による復号化が不可能であると判断し、復号化不能をサーバ11に送信するとともに(復号化不能情報送信手段)、サーバ11との再同期を要求する(再同期要求手段)。
 マイクロプロセッサ26の中央処理部35は、カードリーダ12のコントローラに外部サーバ11へのアクセスを要求するとともに、メモリ36に格納されたデータ送受信用の鍵を使用し、トリプルDESによって復号化不能情報と再同期要求とを暗号化する。サーバ11とカードリーダ12とがインターネットを介して接続されると、プロセッサ26の中央処理部35は、暗号化した復号化不能情報と再同期要求とをサーバ11に送信する。プロセッサ26の中央処理部36と再同期要求を受け取ったサーバ11の中央処理部とは、それらの正当性を判断する外部認証と内部認証と(図6,7参照)を行う(相互認証手段)。サーバ11の中央処理部とプロセッサ26の中央処理部35とは、相互認証による互いの認証結果を正当であると判断すると、回帰カウンタ値を1(初期値)に戻して再び同期を開始する。サーバ11の中央処理部とプロセッサ26の中央処理部35とは、カウンタ値を1に戻すと、再び第1鍵を使用して暗号化および復号化を行う。
 システム10は、外部サーバ11とマイクロプロセッサ26とが生成した鍵に不一致が生じたとしても、サーバ11とプロセッサ26とが回帰カウンタ値を1に戻して再び同期することができるから、サーバ11が生成する鍵とプロセッサ26が生成する鍵とを再度一致させることができ、生成した鍵の不一致によるファームウェアや暗号化アルゴリズムの復号不能を防ぐことができる。なお、システム10が連続して稼働し、相互認証を日時単位や週単位、月単位で行う場合、サーバ11の中央処理部とプロセッサ26の中央処理部35とは、相互認証による互いの認証結果を正当であると判断すると、回帰カウンタ値を1に戻して再び同期を開始する。以後の手順は、図9~図14に基づいて説明したそれと同一である。
 一方向ハッシュ関数には、SHA-1(Secure Hash Algorithm 1)、MD2,MD4,MD5(Message Digest2,4,5)、RIPEMD-80、RIPEMD-128、RIPEMD-160、N-Hashのいずれかを使用する。それらハッシュ関数は、外部サーバ11のメモリとホストコンピュータ13のメモリとに格納されている。
 暗号化アルゴリズムとしては、DESの他に、RSA、AES(Advanced Encryption Standard)、IDEA(International Data Encryption Algorithm)、FEAL-N/NX(Fast  Encryption Algorithm)、MULTI2(Multimedia  Encryption2)、MISTY、SXAL(Substitution Xor 
Algorithm)、MBAL(Multi Block Algorithm)、RC2、RC5、ENCRiP、SAFER(Secure And Fast Encryption Routine)、Blowfish、Skipjack、Khufu、Khafre、CAST、GOST28147-89のいずれかを使用することもできる。それらアルゴリズムは、外部サーバ11のメモリとホストコンピュータ13のメモリとに格納されている。
 このシステム10では、外部サーバ11とマイクロプロセッサ26とが図9~図14に示す鍵の生成を行うことなく、サーバ11がプロセッサ26にファームウェアや暗号化アルゴリズムをダウンロードすることもできる。その一例を説明すると、以下のとおりである。外部サーバ11がカードリーダ12のURLを利用し、インターネットを介してカードリーダ12にアクセスする(アクセス手段)。または、カードリーダ12が外部サーバ11のURLを利用し、インターネットを介してサーバ11にアクセスする。サーバ11とカードリーダ12とがインターネットを介して接続されると、サーバ11の中央処理部とマイクロプロセッサ26の中央処理部35とがコントローラを介して接続される。サーバ11の中央処理部とプロセッサ26の中央処理部35とは、それらの正当性を判断する外部認証と内部認証と(図6,7参照)を行う(相互認証手段)。サーバ11の中央処理部とプロセッサ26の中央処理部35とが相互認証による互いの認証結果を正当であると判断すると、サーバ11からファームウェアや暗号化アルゴリズムの磁気ヘッド19へのダウンロードが可能となり、サーバ11とプロセッサ26との間でダウンロード処理が行われる。
 外部サーバ11の中央処理部は、メモリに格納された情報送受信用の鍵を使用し、トリプルDESによってあらたなファームウェアや暗号化アルゴリズムを暗号化し(ファームウェア暗号化手段、アルゴリズム暗号化手段)、暗号化したファームウェアやアルゴリズムを磁気ヘッド19にダウンロードする(ファームウェア第1ダウンロード手段、アルゴリズム第1ダウンロード手段)。サーバ11からダウンロードされたファームウェアや暗号化アルゴリズムは、カードリーダ12のコントローラのメモリに一時的に保管された後、磁気ヘッド19に出力される。
 マイクロプロセッサ26の中央処理部35は、暗号化されたファームウェアや暗号化アルゴリズムをサーバ11から受け取ると、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって暗号化されたファームウェアやアルゴリズムを復号化して平文ファームウェア、平文アルゴリズムを取得する(ファームウェア復号化手段、アルゴリズム復号化手段)、復号化したファームウェアやアルゴリズムをメモリに格納する(ファームウェア記憶手段、アルゴリズム記憶手段)。
 外部サーバ11は、マイクロプロセッサ26が現在使用しているファームウェアや暗号化アルゴリズムの使用を中止させ、メモリに格納されたファームウェアや暗号化アルゴリズムの中からあらたなファームウェアやあらたなアルゴリズムを選択し、そのファームウェアやアルゴリズムを使用させることができる。サーバ11は、あらたなファームウェアやあらたな暗号化アルゴリズムをプロセッサ26に使用させる場合、プロセッサ26に既存のファームウェアや暗号化アルゴリズムの書き換えを指示する(更新指令)。なお、外部認証と内部認証と(図6,7参照)がすでに行われ、サーバ11とプロセッサ26とが相互認証による互いの認証結果を正当であると判断したものとする。
 外部サーバ11の中央処理部は、メモリに格納された情報送受信用の鍵を使用し、トリプルDESによって更新指令とあらたなファームウェアやあらたな暗号化アルゴリズムとを暗号化し(ファームウェア暗号化手段、アルゴリズム暗号化手段)、暗号化した更新指令やファームウェア、アルゴリズムを磁気ヘッド19にダウンロードする(ファームウェア第2ダウンロード手段、アルゴリズム第2ダウンロード手段)。サーバ11からダウンロードされた更新指令やファームウェア、暗号化アルゴリズムは、カードリーダ12のコントローラのメモリに一時的に保管された後、磁気ヘッド19に出力される。
 マイクロプロセッサ26の中央処理部35は、暗号化された更新指令やファームウェア、暗号化アルゴリズムを外部サーバ11から受け取ると、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって暗号化された更新指令とファームウェアやアルゴリズムとを復号化する(ファームウェア復号化手段、アルゴリズム復号化手段)。中央処理部35は、メモリ36に格納された既存のファームウェアを復号化したあらたなファームウェアに書き換え(ファームウェア更新手段)、あらたなファームウェアをメモリ36に格納する。さらに、メモリ36に格納された既存のアルゴリズムを復号化したあらたなアルゴリズムに書き換え(アルゴリズム更新手段)、あらたなアルゴリズムをメモリ36に格納する。中央処理部35は、更新完了をサーバ11に通知する(更新完了通知)。中央処理部35は、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって更新完了通知を暗号化し、暗号化した更新完了通知をサーバ11に送信する。
 外部サーバ11は、現在使用しているハッシュ関数の使用を中止し、メモリに格納されたハッシュ関数の中からあらたなハッシュ関数を選択し、そのハッシュ関数を使用することができる。ハッシュ関数の変更は、システム10を起動させる度毎に行う場合、日時単位や週単位、月単位で行う場合、同期がずれた後、再び同期するときに行う場合がある。サーバ11は、あらたなハッシュ関数を使用する場合、マイクロプロセッサ26に既存のハッシュ関数の書き換えを指示する(関数変更指令)。サーバ11の中央処理部は、カードリーダ12にアクセスする。サーバ11とカードリーダ12とがインターネットを介して接続されると、サーバ11の中央処理部とプロセッサ26の中央処理部35とは、それらの正当性を判断する外部認証と内部認証と(図6,7参照)を行う(相互認証手段)。サーバ11の中央処理部とプロセッサ26の中央処理部35とが相互認証による互いの認証結果を正当であると判断すると、サーバ11の中央処理部は、メモリに格納されたデータ送受信用の鍵を使用し、トリプルDESによって関数変更指令とあらたなハッシュ関数とを暗号化した後、暗号化した関数変更指令とハッシュ関数とをプロセッサ26に送信する。
 マイクロプロセッサ26の中央処理部35は、関数変更指令とハッシュ関数とを受信すると、メモリ36に格納されたデータ送受信用の鍵を使用し、トリプルDESによって暗号化された関数変更指令とハッシュ関数とを復号化する。プロセッサ26の中央処理部35は、メモリ36に格納した既存のハッシュ関数を復号化したあらたなハッシュ関数に変更した後、変更完了を外部サーバ11に通知する(変更完了通知手段)。中央処理部35は、メモリ36に格納されたデータ送受信用の鍵を使用し、トリプルDESによって変更完了通知を暗号化し、暗号化した変更完了通知をサーバ11に送信する。このシステム10は、関数変更指令やハッシュ関数を暗号化してハッシュ関数の変更を行うから、使用するハッシュ関数を第3者に取得されることはなく、第3者によるハッシュ関数の解読を防ぐことができる。
 この磁気カード読み取りシステム10は、ファームウェアまたは暗号化アルゴリズムが外部サーバ11から磁気ヘッド19にダウンロードされると、プロセッサ26がそのファームウェアや暗号化アルゴリズムをメモリ36に格納するから、磁気ヘッド19が市場に出荷された後や磁気ヘッド19が磁気カードリーダ12に設置された後において、サーバ11からダウンロードされたファームウェアや暗号化アルゴリズムをプロセッサ26に随時格納することができる。
 システム10は、磁気ヘッド19の出荷後や設置後でも、各種のファームウェアに対応することができ、それらファームウェアを利用することで、磁気ヘッド19の動作環境に応じてプロセッサ26の演算・記憶機能や外部ハードウェアの最適な制御を行うことができる。このシステム10は、磁気ヘッド19の出荷後や設置後において、磁気ヘッド19を磁気カード29の各種フォーマットに対応させることができ、磁気カード29の各種仕様に適応しつつ、それらカード29に記憶されたデータを磁気ヘッド19に確実に読み取らせることができる。このシステム10は、磁気ヘッド19の出荷後や設置後でも、各種の暗号化アルゴリズムを利用することができ、それらアルゴリズムを利用してカードデータを暗号化することができる。このシステム10では、プロセッサ26がバージョンアップ前のファームウェアをバージョンアップ後のファームウェアに書き換えるから、磁気ヘッド19の出荷後や設置後において、ファームウェアのバージョンアップが行われたとしても、バージョンアップ後のファームウェアに即座に対応することができる。
 図15は、磁気ヘッド19とホストコンピュータ13との間で行われる処理の一例を示すブロック図である。このシステム10を起動させると、ホストコンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35とは、メモリーテスト(S-50)とコードサイニング(S-51)とを行う(初期テスト)。初期テストが終了し、その結果が正しい場合、コンピュータ13の中央処理部とプロセッサ26の中央処理部35とは、それらの正当性を判断する相互認証を行う(相互認証手段)。相互認証は、コンピュータ13が磁気ヘッド19の正当性を認証する外部認証(S-52)を行った後、磁気ヘッド19がコンピュータ13の正当性を認証する内部認証(S-53)を行う。
 コンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35とが相互認証による互いの認証結果を正当であると判断すると、磁気カードリーダ12における磁気カード29の読み取りが可能となり、コンピュータ13とプロセッサ26との間でメイン処理(S-54)が行われる。逆に、コンピュータ13とプロセッサ26との少なくとも一方が認証結果を不可であると判断すると、カードリーダ12による磁気カード29の読み取りができず、読み取り不能情報がコンピュータ13のディスプレイに表示される。相互認証は、システム10を起動させる度毎に行われる他、システム10を連続して稼働させる場合は日時単位や週単位、月単位で行われ、また、後記するように、コンピュータ13の中央処理部とプロセッサ26の中央処理部35との同期が不一致になった場合にも行われる。
 図16は、外部認証の一例を示すラダー図であり、図17は、内部認証の一例を示すラダー図である。外部認証における認証手順は、以下のとおりである。ホストコンピュータ13の中央処理部がマイクロプロセッサ26の中央処理部35に乱数(認証子)の生成と送信とを要求する(S-60)。プロセッサ26の中央処理部35は、コンピュータ13の指令に従って64bit乱数を生成し、生成した乱数をコンピュータ13に送信する(S-61)。64bit乱数を取得したコンピュータ13の中央処理部は、メモリに格納された認証用の鍵を使用し、トリプルDESによって乱数を暗号化した後、暗号化した乱数をプロセッサ26に送信する(S-62)。
 マイクロプロセッサ26の中央処理部35は、メモリ36に格納された認証用の鍵を使用し、トリプルDESによって暗号化された乱数を復号化する(S-63)。プロセッサ26の中央処理部35は、それが生成した乱数と復号化した乱数とを比較し、両者が同一であれば認証結果を正当であると判断し、認証結果正当情報をコンピュータ13に送信する。一方、生成した乱数と復号化した乱数とが異なる場合、認証結果を不可であると判断し、認証結果不可情報と磁気カード29の読み取り不可情報とをコンピュータ13に送信する。コンピュータ13は、マイクロプロセッサ26から外部認証結果を取得する(S-64)。
 内部認証における認証手順は、以下のとおりである。コンピュータ13の中央処理部は、64bit乱数(認証子)を生成し、それをマイクロプロセッサ26に送信する(S-65)。64bit乱数を取得したプロセッサ26の中央処理部35は、メモリ36に格納された認証用の鍵を使用し、トリプルDESによって乱数を暗号化した後、暗号化した乱数をコンピュータ13に送信する(S-66)。コンピュータ13の中央処理部は、メモリに格納された認証用の鍵を使用し、トリプルDESによって暗号化された乱数を復号化する(S-67)。コンピュータ13の中央処理部は、それが生成した乱数と復号化した乱数とを比較し、両者が同一であれば認証結果を正当であると判断する。一方、生成した乱数と復号化した乱数とが異なる場合、認証結果を不可であると判断し、カードリーダ12における磁気カード29の読み取りを不可とする。
 図18は、このシステム10におけるメイン処理の一例を示すラダー図である。図19~図24は、暗号化および復号化に使用する鍵の生成の他の一例を説明する図である。相互認証の結果が正当であり、磁気カード29の読み取りが可能となった後、カード所持者がカード挿入口16から磁気カード29を挿入すると、モータ22が駆動してカード29が案内レール18を移動する。カード29が挿入口16を通過すると、光センサ20がそれを検出し、カード挿入信号が光センサ20から出力されてカードリーダ12のコントローラに入力される。コントローラは、カード挿入信号を受け取ると、磁気ヘッド19のマイクロプロセッサ26に、カード29に記憶されたカードデータの読み取り開始指令を出力する。磁気カード29が磁気ヘッド19を通過するとともに排出口17から排出されると、光センサ20がそれを検出し、カード通過信号が光センサ20から出力されてカードリーダ12のコントローラに入力される。コントローラは、カード通過信号を受け取ると、磁気ヘッド19のプロセッサ26にカードデータの読み取り停止指令を出力するとともに、モータ22の駆動を停止する。
 磁気カード29の磁化された磁性層32が磁気ヘッド19のコア24の先端部27(コア24のギャップ)を通過すると、コア24内に磁束が発生し、磁束と鎖交する方向へ誘導起電力が生じてコイルに電流が流れる。コイルに流れる電流は、その値が磁束の変化にともなって変わる。磁気カード29の磁性層32に記憶されたカードデータは、コイルによってアナログ信号として取り出され、コイルに接続されたA/D変換チップ25に入力される。A/D変換チップ25は、コイルから入力されたアナログ信号をデジタル信号に変換する。デジタル信号は、A/D変換チップ25からマイクロプロセッサ26に入力され、プロセッサ26のメモリ36に格納される。
 システム10の稼働中、ホストコンピュータ13の中央処理部は、マイクロプロセッサ26のメモリ36に処理すべきカードデータが存在するかを所定間隔でプロセッサ26に問い合わせる(データ確認指令)。コンピュータ13の中央処理部は、メモリに格納された情報送受信用の鍵を使用し、トリプルDESによってデータ確認指令を暗号化し、暗号化したデータ確認指令をプロセッサ26に送信する(S-68)。なお、所定間隔は、秒単位またはミリ秒単位であることが好ましい。プロセッサ26の中央処理部35は、データ確認指令を受信すると、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって暗号化されたデータ確認指令を復号化する。プロセッサ26の中央処理部35は、コンピュータ13からのデータ確認指令に従ってメモリ36を検索し、磁気カード29のカードデータがデジタル信号としてメモリ36に格納されている場合、データ保有をコンピュータ13に返答し(データ保有情報)、カードデータがメモリ36にない場合、データ非保有をコンピュータ13に返答する(データ非保有情報)。プロセッサ26は、情報送受信用の鍵を使用し、トリプルDESによってデータ保有情報やデータ非保有情報を暗号化し、暗号化したデータ保有情報やデータ非保有情報をコンピュータ13に送信する(S-69)。
 ホストコンピュータ13の中央処理部は、データ保有情報やデータ非保有情報を受信すると、情報送受信用の鍵を使用し、トリプルDESによってデータ保有情報やデータ非保有情報を復号化する。コンピュータ13の中央処理部は、データ非保有情報を受信すると、暗号化したデータ確認指令を所定の間隔で再びマイクロプロセッサ26に送信し、メモリ36に処理すべきカードデータが存在するかをプロセッサ26に問い合わせる(データ確認指令)。コンピュータ13の中央処理部は、データ保有情報を受信すると、プロセッサ26のメモリ36に格納されたカードデータの送信をプロセッサ26に要求する(データ送信指令)。コンピュータ13の中央処理部は、情報送受信用の鍵を使用し、トリプルDESによってデータ送信指令を暗号化し、暗号化したデータ送信指令をプロセッサ26に送信する(S-70)。プロセッサ26の中央処理部35は、データ送信指令を受信すると、情報送受信用の鍵を使用し、トリプルDESによって暗号化されたデータ送信指令を復号化する。
 マイクロプロセッサ26の中央処理部35は、メモリ36からデジタル信号(カードデータ)と暗号用の鍵とを取り出し、その鍵を使用してデジタル信号を暗号化して暗号データとする(データ暗号化手段)(S-71)。中央処理部35は、暗号データをホストコンピュータ13に送信する(暗号データ送信手段)。コンピュータ13は、暗号データを増幅する増幅回路(図示せず)を有し、メモリから復号用の鍵を取り出し、その鍵を使用して増幅回路で増幅した暗号データを復号化する(データ復号化手段)(S-72)。コンピュータ13は、復号化したデジタル信号(平文カードデータ)を文字情報としてディスプレイに表示することができ(データ出力手段)、復号化したデジタル信号(平文カードデータ)を印字情報としてプリンタに印字させることができる(データ出力手段)。コンピュータ13は、暗号化されたデジタル信号または復号化されたデジタル信号をメモリに格納する(データ記憶手段)。コンピュータ13は、暗号データを復号化すると、暗号化したデータ確認指令を所定の間隔で再びプロセッサ26に送信し、メモリ36に処理すべきカードデータが存在するかをプロセッサ26に問い合わせる(データ確認指令)。
 コンピュータ13の中央処置部とマイクロプロセッサ26の中央処理部35とは、暗号化されたデジタル信号がコンピュータ13に入力される度毎に、メモリとメモリ36とにあらかじめ格納された同一かつ有限の回帰カウンタ値を使用して互いに同期しつつ、デジタル信号の暗号化と復号化とに必要な同一のあらたな第2~第n鍵を順に生成する(鍵生成手段)。コンピュータ13の中央処置部とプロセッサ26の中央処理部36とが行う鍵生成手順の一例を、図19~図24に基づいて説明すると、以下のとおりである。なお、回帰カウンタ値は1~20とする。ただし、回帰カウンタ値に特に限定はなく、カウンタ値を21以上とすることもできる。
 システム10を起動した後、第1番目のデジタル信号(カードデータ)がA/D変換チップ25からマイクロプロセッサ26に入力され、デジタル信号をメモリ36に格納した後、データ送信指令を受信すると、プロセッサ26の中央処理部35は、図19に示すように、メモリ36に格納されたカウンタテーブルから回帰カウンタ値1を選択し、デジタル信号にカウンタ値1を添付する。カウンタテーブルには、カウンタ値(1~20)の格納エリアとそれに対応する3つの鍵の格納エリア(K1,K2,K3)とが作られている。ただし、図19のカウンタデーブルでは、回帰カウンタ値2~20に対応する第2鍵~第20鍵は生成されていない。なお、カウンタ値1に対応する第1鍵(Key1)は、初期値としてシステム10の導入時に設定される。
 マイクロプロセッサ26の中央処理部35は、カウンタテーブルからカウンタ値1に対応する第1鍵を取り出し、第1鍵を使用し、トリプルDES(3-KeyトリプルDES)によってデジタル信号とカウンタ値1とを暗号化して暗号データとし(データ暗号化手段)、暗号データをコンピュータ13に送信する(データ送信手段)。プロセッサ26の中央処理部35は、暗号データをコンピュータ13に送信した後、回帰カウンタ値を1から2に変更し、カウンタ値2をメモリ36に格納するとともに、第1番目のデジタル信号(カードデータ)をメモリ36から消去する。
 第1番目の暗号データを受信したホストコンピュータ13の中央処理部は、図20に示すように、メモリに格納されたカウンタテーブルから回帰カウンタ値1を選択する。カウンタテーブルには、カウンタ値(1~20)の格納エリアとそれに対応する3つの鍵の格納エリア(K1,K2,K3)とが作られている。ただし、図20のカウンタデーブルでは、回帰カウンタ値2~20に対応する第2鍵~第20鍵は生成されていない。なお、カウンタ値1に対応する第1鍵(Key1)は、マイクロプロセッサ26のメモリ36に格納された第1鍵と同一であり、初期値としてシステム10の導入時に設定される。コンピュータ13の中央処理部は、カウンタテーブルからカウンタ値1に対応する第1鍵を取り出し、第1鍵を使用し、トリプルDES(3-KeyトリプルDES)によって暗号データを復号化してデジタル信号(平文カードデータ)を取得する。コンピュータ13の中央処理部は、暗号データを復号化した後、回帰カウンタ値を1から2に変更し、カウンタ値2をメモリに格納する。
 第2番目のデジタル信号(カードデータ)がA/D変換チップ25からマイクロプロセッサ26に入力され、デジタル信号をメモリ36に格納した後、データ送信指令を受信すると、プロセッサ26の中央処理部35は、図21に示すように、メモリ36に格納されたカウンタテーブルから回帰カウンタ値2を選択し、デジタル信号にカウンタ値2を添付する。プロセッサ26の中央処理部36は、カウンタ値1に対応する第1鍵(初期値)とカウンタ値1とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値2に対応する第2鍵(Key2)とする(鍵生成手段)。第2鍵(Key2)となるハッシュ出力値は、カウンタテーブルのカウンタ値2に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図21のカウンタデーブルでは、回帰カウンタ値3~20に対応する第3鍵~第20鍵は生成されていない。
 マイクロプロセッサ26の中央処理部35は、カウンタテーブルからカウンタ値2に対応する第2鍵を取り出し、第2鍵を使用し、トリプルDES(3-KeyトリプルDES)によってデジタル信号を暗号化(カウンタ値2を含む)して暗号データとし(データ暗号化手段)、暗号データをコンピュータ13に送信する。プロセッサ26の中央処理部35は、暗号データをコンピュータ13に送信した後、回帰カウンタ値を2から3に変更し、カウンタ値3をメモリ36に格納するとともに、第2番目のデジタル信号(カードデータ)をメモリ36から消去する。
 第2番目の暗号データを受信したコンピュータ13は、図22に示すように、メモリに格納されたカウンタテーブルから回帰カウンタ値2を選択する。コンピュータ13の中央処理部は、カウンタ値1に対応する第1鍵(初期値)とカウンタ値1とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値2に対応する第2鍵(Key2)とする(鍵生成手段)。コンピュータ13の中央処理部が使用するハッシュ関数はマイクロプロセッサ26の中央処理部35が使用するそれと同一であり、生成した第2鍵(Key2)はプロセッサ26の中央処理部35が生成したそれと同一である。第2鍵(Key2)となるハッシュ出力値は、カウンタテーブルのカウンタ値2に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図22のカウンタデーブルでは、回帰カウンタ値3~20に対応する第3鍵~第20鍵は生成されていない。コンピュータ13の中央処理部は、カウンタテーブルからカウンタ値2に対応する第2鍵を取り出し、第2鍵を使用し、トリプルDES(3-KeyトリプルDES)によって暗号データを復号化してデジタル信号(平文カードデータ)を取得する。コンピュータ13の中央処理部は、暗号データを復号化した後、回帰カウンタ値を2から3に変更し、カウンタ値3をメモリに格納する。
 第3番目のデジタル信号(カードデータ)がA/D変換チップ25からマイクロプロセッサ26に入力され、デジタル信号をメモリ36に格納した後、データ送信指令を受信すると、プロセッサ26の中央処理部35は、図23に示すように、メモリ36に格納されたカウンタテーブルから回帰カウンタ値3を選択し、デジタル信号にカウンタ値3を添付する。プロセッサ26の中央処理部35は、カウンタ値2に対応する第2鍵(Key2、ハッシュ値)とカウンタ値2とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値3に対応する第3鍵(Key3)とする(鍵生成手段)。第3鍵(Key3)となるハッシュ出力値は、カウンタテーブルのカウンタ値3に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図12のカウンタデーブルでは、回帰カウンタ値4~20に対応する第4鍵~第20鍵は生成されていない。
 マイクロプロセッサ26の中央処理部35は、カウンタテーブルからカウンタ値3に対応する第3鍵を取り出し、第3鍵を使用し、トリプルDES(3-KeyトリプルDES)によってデジタル信号を暗号化(カウンタ値3を含む)して暗号データとし(暗号化手段)、暗号データをコンピュータ13に送信する。プロセッサ26の中央処理部35は、暗号データをコンピュータ13に送信した後、回帰カウンタ値を3から4に変更し、カウンタ値4をメモリ36に格納するとともに、第3番目のデジタル信号(カードデータ)をメモリ36から消去する。
 第3番目の暗号データを受信したホストコンピュータ13の中央処理部は、図24に示すように、メモリに格納されたカウンタテーブルから回帰カウンタ値3を選択する。コンピュータ13の中央処理部は、カウンタ値2に対応する第2鍵(Key2)とカウンタ値2とを一方向ハッシュ関数によってハッシュ化したハッシュ出力値を生成し、そのハッシュ出力値をカウンタ値3に対応する第3鍵(Key3)とする(鍵生成手段)。コンピュータ13の中央処理部が生成した第3鍵(Key3)は、マイクロプロセッサ26の中央処理部35が生成したそれと同一である。第3鍵(Key3)となるハッシュ出力値は、カウンタテーブルのカウンタ値3に対応する鍵格納エリア(K1,K2,K3)に書き込まれる。なお、図13のカウンタデーブルでは、回帰カウンタ値4~20に対応する第4鍵~第20鍵は生成されていない。コンピュータ13の中央処理部は、カウンタテーブルからカウンタ値3に対応する第3鍵を取り出し、第3鍵を使用し、トリプルDES(3-KeyトリプルDES)によって暗号データを復号化してデジタル信号(平文カードデータ)を取得する。コンピュータ13の中央処理部は、暗号データを復号化した後、回帰カウンタ値を3から4に変更し、カウンタ値4をメモリに格納する。
 このように、ホストコンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35とは、回帰カウンタ値1~20を順番に使って互いに同期しつつ、一方向ハッシュ関数を使用して第2~第n鍵を生成する。回帰カウンタ値が20を超えると、コンピュータ13の中央処理部とプロセッサ26の中央処理部35とは、再びカウンタ値1を使用し、第21鍵~第40鍵を順に生成する。コンピュータ13の中央処理部とプロセッサ26の中央処理部35とは、第21鍵を生成すると、鍵格納エリアに格納された第1鍵を第21鍵に書き換え、第22鍵を生成すると、鍵格納エリアに格納された第2鍵を第22鍵に書き替える。
 この磁気カード読み取りシステム10は、相互認証手段を実行することでホストコンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35とが互いの正当性を判断することができるから、偽コンピュータが磁気ヘッド19に接続された場合や偽磁気ヘッドがコンピュータ13に接続された場合であっても、それを見破ることができる。システム10は、第3者が偽コンピュータや偽磁気ヘッドを利用してシステム10に進入することはできず、磁気カード29のカードデータ、ハッシュ関数、鍵の盗取を防ぐことができる。
 このシステム10は、コンピュータ13の中央処理部とプロセッサ26の中央処理部35とが認証手段による認証結果が正当であると判断した後に、プロセッサ26の中央処理部35がデータ暗号化手段とデータ送信手段とを実行し、コンピュータ13の中央処理部が復号化手段を実行するから、認証を行わずにそれら手段を実行する場合と比較し、磁気カード29に格納されたカードデータの盗取を確実に防ぐことができ、第3者による磁気カード29の不正な複製や第3者による「なりすまし」を確実に防ぐことができる。
 システム10は、ホストコンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35とが第2~第n鍵を個別に生成するから、コンピュータ13からプロセッサ26へ鍵を送信する必要はなく、鍵の送信過程における鍵の不正な取得を防ぐことができる。システム10は、プロセッサ26の中央処理部35が常に別の鍵を使用して暗号化を行い、コンピュータ13の中央処理部が常に別の鍵を使用して復号化を行うから、鍵を第3者に取得されたとしても、磁気カード29に格納されたカードデータを復号化することはできない。また、第2~第n鍵にハッシュ値を使用するから、たとえ鍵が第3者に不正に取得されたとしても、鍵の解読をすることはできず、第3者による鍵の使用を確実に防ぐことができる。
 システム10は、ホストコンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35とが同一かつ有限の回帰カウンタ値を使用して互いに同期しつつ、第2~第n鍵を順に生成するから、コンピュータ13が生成する鍵とプロセッサ26が生成する鍵とを一致させることができ、生成した鍵の不一致による暗号データの復号不能を防ぐことができる。また、第2~第n鍵となるハッシュ出力値に回帰カウンタ値をハッシュ化したハッシュ出力値が含まれるから、第3者がシステム10に不正に進入したとしても、ハッシュ化した回帰カウンタ値を解読することはできず、コンピュータ13の中央処理部とプロセッサ26の中央処理部35とがどのカウンタ値を使用して同期しているかを判別することができない。
 システム10の稼働中にホストコンピュータ13の中央処理部とマイクロプロセッサ26の中央処理部35との同期がずれると、コンピュータ13の中央処理部が生成した鍵とプロセッサ26の中央処理部35が生成したそれとが異なり、中央処理部35から送信された暗号データをコンピュータ13の中央処理部が復号化することができない。この場合、コンピュータ13の中央処理部は、生成した鍵による復号化が不可能であると判断し、復号化不能を通知するとともに(復号化不能情報)再同期を要求する(再同期要求)。コンピュータ13の中央処理部は、メモリに格納された情報送受信用の鍵を使用し、トリプルDESによって復号化不能情報と再同期要求とを暗号化し、暗号化した復号化不能情報と再同期要求とをプロセッサ26に送信する。コンピュータ13の中央処理部と再同期要求を受け取ったプロセッサ26の中央処理部35とは、それらの正当性を判断する外部認証と内部認証(図6,7参照)とを行う(相互認証手段)。コンピュータ13の中央処理部とプロセッサ26の中央処理部35とは、相互認証による互いの認証結果を正当であると判断すると、回帰カウンタ値を1(初期値)に戻して再び同期を開始する。コンピュータ13の中央処理部とプロセッサ26の中央処理部35とは、カウンタ値を1に戻すと、再び第1鍵を使用して暗号化および復号化を行う。
 システム10は、生成した鍵に不一致が生じたとしても、ホストコンピュータ13とマイクロプロセッサ26とが回帰カウンタ値を1に戻して再び同期することができるから、コンピュータ13が生成する鍵とプロセッサ26が生成する鍵とを再度一致させることができ、生成した鍵の不一致によるカードデータの復号不能を防ぐことができる。なお、システム10が連続して稼働し、相互認証を日単位や週単位、月単位で行う場合、コンピュータ13の中央処理部とプロセッサ26の中央処理部35とは、相互認証による互いの認証結果を正当であると判断すると、回帰カウンタ値を1に戻して再び同期を開始する。以後の手順は、図19~図24に基づいて説明したそれと同一である。
 ホストコンピュータ13は、現在使用しているハッシュ関数の使用を中止し、メモリに格納されたハッシュ関数の中からあらたなハッシュ関数を選択し、そのハッシュ関数を使用することができる。ハッシュ関数の変更は、システム10を起動させる度毎に行う場合、日単位や週単位、月単位で行う場合、同期がずれた後、再び同期するときに行う場合がある。コンピュータ13は、あらたなハッシュ関数を使用する場合、マイクロプロセッサ26に既存のハッシュ関数の書き換えを指示する(関数変更指令)。コンピュータ13の中央処理部は、メモリに格納された情報送受信用の鍵を使用し、トリプルDESによって関数変更指令とあらたなハッシュ関数とを暗号化し、暗号化した関数変更指令とハッシュ関数とをプロセッサ26に送信する。
 マイクロプロセッサ26の中央処理部35は、関数変更指令とハッシュ関数とを受信すると、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって暗号化された関数変更指令とハッシュ関数とを復号化する。プロセッサ26の中央処理部35は、メモリ36に格納した既存のハッシュ関数を復号化したあらたなハッシュ関数に変更した後、変更完了をコンピュータ13に通知する(変更完了通知)。中央処理部35は、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって変更完了通知を暗号化し、暗号化した変更完了通知をコンピュータ13に送信する。このシステム10は、関数変更指令やハッシュ関数を暗号化してハッシュ関数の変更を行うから、使用するハッシュ関数を第3者に取得されることはなく、第3者によるハッシュ関数の解読を防ぐことができる。
 ホストコンピュータ13は、現在使用している暗号化アルゴリズムの使用を中止し、メモリに格納された暗号化アルゴリズムの中からあらたなアルゴリズムを選択し、そのアルゴリズムを使用することができる。暗号化アルゴリズムの変更は、システム10を起動させる度毎に行う場合、日単位や週単位、月単位で行う場合、同期がずれた後、再び同期するときに行う場合がある。コンピュータ13は、あらたな暗号化アルゴリズムを使用する場合、マイクロプロセッサ26に既存のアルゴリズムの書き換えを指示する(関数変更指令)。コンピュータ13の中央処理部は、メモリに格納された情報送受信用の鍵を使用し、トリプルDESによって関数変更指令とあらたな暗号化アルゴリズムとを暗号化し、暗号化した関数変更指令とアルゴリズムとをプロセッサ26に送信する。
 マイクロプロセッサ26の中央処理部35は、関数変更指令と暗号化アルゴリズムとを受信すると、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって暗号化された関数変更指令とアルゴリズムとを復号化する。プロセッサ26の中央処理部35は、メモリ36に格納した既存のアルゴリズムを復号化したあらたなアルゴリズムに変更した後、変更完了をコンピュータ13に通知する(変更完了通知)。中央処理部35は、メモリ36に格納された情報送受信用の鍵を使用し、トリプルDESによって変更完了通知を暗号化し、暗号化した変更完了通知をコンピュータ13に送信する。このシステム10は、関数変更指令や暗号化アルゴリズムを暗号化してアルゴリズムの変更を行うから、使用するアルゴリズムを第3者に取得されることはない。
 このシステム10おける磁気カードリーダには、挿入電動型の他に、磁気ヘッド19を取り付けた手動ハンディカードリーダを使用することもできる。また、磁気カードリーダをPOSシステムに接続することもできる。磁気カードリーダがPOSシステムに接続された場合、カードリーダにコントローラを設置する必要はなく、外部サーバ11との接続はPOSシステムに内蔵されたコンピュータによって行われる。ファームウェアや暗号化アルゴリズムは、外部サーバからPOSシステムのコンピュータのメモリにダウンロードされて一時保管された後、カードリーダの磁気ヘッドのマイクロプロセッサ26に出力される。

Claims (12)

  1.  磁性体を利用して各種データを記憶した磁気カードから前記データを読み取る磁気ヘッドにおいて、
     前記磁気ヘッドが、前記磁気カードに記憶されたデータをアナログ信号に変換するコイルを有するコアと、前記コアに接続されて前記アナログ信号をデジタル信号に変換するA/D変換チップと、前記A/D変換チップに接続されたデジタルICとを備え、
     前記デジタルICは、その演算・記憶機能を制御するとともに外部ハードウェアを制御するファームウェアが外部サーバから前記磁気ヘッドにダウンロードされたときに、そのファームウェアを記憶するファームウェア記憶手段を有することを特徴とする磁気ヘッド。
  2.  前記ファームウェアには、前記磁気カードの各種フォーマットに対応させて前記デジタルICに該磁気カードの各種データを読み取らせるデータ読み取り制御が含まれ、前記デジタルICが、前記磁気カードの各種フォーマットに対応して該磁気カードから各種データを読み取るフォーマット対応読み取り手段を有する請求項1記載の磁気ヘッド。
  3.  前記ファームウェアには、所定の暗号化アルゴリズムに基づいて前記デジタルICに前記デジタル信号を暗号化させるデータ暗号化制御が含まれ、前記デジタルICが、前記デジタル信号を所定の暗号化アルゴリズムに基づいて暗号化するデータ暗号化手段を有する請求項1または請求項2に記載の磁気ヘッド。
  4.  前記デジタルICは、バージョンアップされたファームウェアが前記外部サーバから前記磁気ヘッドにダウンロードされたときに、バージョンアップ前のファームウェアをバージョンアップ後のファームウェアに書き換えるファームウェア更新手段を有する請求項1ないし請求項3いずれかに記載の磁気ヘッド。
  5.  前記外部サーバが、それに格納された鍵を使用して前記ファームウェアを暗号化しつつ、暗号化したファームウェアを前記磁気ヘッドにダウンロードし、前記デジタルICが、それに格納された鍵を使用して暗号化されたファームウェアを復号化しつつ、復号化したファームウェアを記憶する請求項1ないし請求項4いずれかに記載の磁気ヘッド。
  6.  前記デジタルICと前記外部サーバとが、それらの間で認証を行う相互認証を実行し、前記デジタルICと前記外部サーバとが前記相互認証による互いの認証結果を正当であると判断した後、前記外部サーバが前記磁気ヘッドに前記ファームウェアをダウンロードし、前記デジタルICが前記外部サーバからダウンロードされた前記ファームウェアを記憶する請求項1ないし請求項5いずれかに記載の磁気ヘッド。
  7.  前記デジタルICは、前記デジタル信号を暗号化する各種の暗号化アルゴリズムが前記外部サーバから前記磁気ヘッドにダウンロードされたときに、その暗号化アルゴリズムを記憶するアルゴリズム記憶手段を有する請求項1ないし請求項6いずれかに記載の磁気ヘッド。
  8.  前記デジタルICは、あらたな暗号化アルゴリズムが前記外部サーバから前記磁気ヘッドにダウンロードされたときに、すでに記憶した暗号化アルゴリズムをあらたな暗号化アルゴリズムに書き換えるアルゴリズム更新手段を有する請求項7記載の磁気ヘッド。
  9.  前記外部サーバが、それに格納された鍵を使用して前記暗号化アルゴリズムを暗号化しつつ、暗号化した暗号化アルゴリズムを前記磁気ヘッドにダウンロードし、前記デジタルICが、それに格納された鍵を使用して暗号化された暗号化アルゴリズムを復号化しつつ、復号化した暗号化アルゴリズムを記憶する請求項7または請求項8に記載の磁気ヘッド。
  10.  前記デジタルICと前記外部サーバとが、それらの間で認証を行う相互認証を実行し、前記デジタルICと前記外部サーバとが前記相互認証による互いの認証結果を正当であると判断した後、前記外部サーバが前記磁気ヘッドに前記暗号化アルゴリズムをダウンロードし、前記デジタルICが前記外部サーバからダウンロードされた前記暗号化アルゴリズムを記憶する請求項7ないし請求項9いずれかに記載の磁気ヘッド。
  11.  前記磁気ヘッドが、その外周を包被するハウジングを有し、前記コアと前記A/D変換チップと前記デジタルICとが、前記ハウジングの内部に収容されている請求項1ないし請求項10いずれかに記載の磁気ヘッド。
  12.  前記A/D変換チップと前記デジタルICとが、前記ハウジングの内部に充填された固形物質によって該ハウジングに固定されている請求項1ないし請求項11いずれかに記載の磁気ヘッド。
PCT/JP2008/073285 2007-12-26 2008-12-22 磁気ヘッド WO2009081896A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/810,599 US20100265617A1 (en) 2007-12-26 2008-12-22 Magnetic head
BRPI0819531A BRPI0819531A2 (pt) 2007-12-26 2008-12-22 "cabeça magnética"
CN2008801227284A CN101939755A (zh) 2007-12-26 2008-12-22 磁头
EP08864735A EP2234036A1 (en) 2007-12-26 2008-12-22 Magnetic head

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007-334490 2007-12-26
JP2007334490A JP2009157611A (ja) 2007-12-26 2007-12-26 磁気ヘッド

Publications (1)

Publication Number Publication Date
WO2009081896A1 true WO2009081896A1 (ja) 2009-07-02

Family

ID=40801197

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/073285 WO2009081896A1 (ja) 2007-12-26 2008-12-22 磁気ヘッド

Country Status (6)

Country Link
US (1) US20100265617A1 (ja)
EP (1) EP2234036A1 (ja)
JP (1) JP2009157611A (ja)
CN (1) CN101939755A (ja)
BR (1) BRPI0819531A2 (ja)
WO (1) WO2009081896A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021192078A1 (ja) * 2020-03-25 2021-09-30

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11238329B2 (en) 2007-12-24 2022-02-01 Dynamics Inc. Payment cards and devices with gift card, global integration, and magnetic stripe reader communication functionality
JP2018055757A (ja) * 2016-09-30 2018-04-05 日本電産サンキョー株式会社 磁気データ処理装置及び磁気データ処理方法
JP2018088165A (ja) * 2016-11-29 2018-06-07 日本電産サンキョー株式会社 カードリーダ及びカードリーダの制御方法
US11153074B1 (en) * 2018-06-18 2021-10-19 Amazon Technologies, Inc. Trust framework against systematic cryptographic

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090597A (ja) * 1998-09-07 2000-03-31 Hitachi Ltd 磁気ディスク装置
JP2001143213A (ja) 1999-08-30 2001-05-25 Anritsu Corp 磁気ヘッドおよびそれを用いた端末機器
JP2003100011A (ja) * 2001-09-26 2003-04-04 Nec Corp 光ディスク装置、そのファームウェア書き換え方法およびそのプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203433A (ja) * 1998-01-20 1999-07-30 Shinko Electric Co Ltd 非接触icカードシステムおよび該非接触icカードシステムにおける不具合処理方法
US7310735B1 (en) * 1999-10-01 2007-12-18 International Business Machines Corporation Method, system, and program for distributing software between computer systems
US7000249B2 (en) * 2001-05-18 2006-02-14 02Micro Pre-boot authentication system
JP2003317202A (ja) * 2002-04-11 2003-11-07 Cis Electronica Industria & Comercio Ltda 磁気読み取り装置の磁気ヘッド
JP4127624B2 (ja) * 2002-05-31 2008-07-30 三菱電機株式会社 セキュリティシステム
JP4597551B2 (ja) * 2003-03-28 2010-12-15 株式会社リコー ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム
US7506812B2 (en) * 2004-09-07 2009-03-24 Semtek Innovative Solutions Corporation Transparently securing data for transmission on financial networks
JP4919690B2 (ja) * 2006-04-19 2012-04-18 シーイエス エレクトロニカ インダストリア エ コメルスィオ リミタダ 磁気カード読み取りシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090597A (ja) * 1998-09-07 2000-03-31 Hitachi Ltd 磁気ディスク装置
JP2001143213A (ja) 1999-08-30 2001-05-25 Anritsu Corp 磁気ヘッドおよびそれを用いた端末機器
JP2003100011A (ja) * 2001-09-26 2003-04-04 Nec Corp 光ディスク装置、そのファームウェア書き換え方法およびそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021192078A1 (ja) * 2020-03-25 2021-09-30
JP7459930B2 (ja) 2020-03-25 2024-04-02 日本電気株式会社 暗号化端末、暗号管理装置、暗号化通信システム、方法およびプログラム

Also Published As

Publication number Publication date
US20100265617A1 (en) 2010-10-21
EP2234036A1 (en) 2010-09-29
JP2009157611A (ja) 2009-07-16
CN101939755A (zh) 2011-01-05
BRPI0819531A2 (pt) 2019-05-07

Similar Documents

Publication Publication Date Title
EP1855281B1 (en) Apparatus for writing data to a medium
JP4555046B2 (ja) データ転送システム及びデータ転送方法
US20110113235A1 (en) PC Security Lock Device Using Permanent ID and Hidden Keys
JP4919690B2 (ja) 磁気カード読み取りシステム
US20020087814A1 (en) Verifying the integrity of a media key block by storing validation data in the cutting area of media
WO2010095703A1 (ja) センサモジュールおよびセンサモジュールの製造方法
WO2001054099A1 (fr) Systeme d'authentification de donnees
WO2006064768A1 (ja) 不正機器検出装置、不正機器検出システム、不正機器検出方法、プログラム、記録媒体及び機器情報更新方法
US20140090078A1 (en) Generating Secure Device Secret Key
JPH1198134A (ja) クッキーの改ざん・コピー検出処理方法およびプログラム記憶媒体
JP2003158514A (ja) デジタル著作物保護システム、記録媒体装置、送信装置及び再生装置
JP4734324B2 (ja) 複数の装置にまたがるアクセス認可
WO2009081896A1 (ja) 磁気ヘッド
JP2009157611A5 (ja)
JP2002297540A (ja) ログ収集システムならびにログ収集システムに用いられるサーバおよびサーバを制御するプログラムを記録した媒体
US20080189794A1 (en) Secure Host Interface
JP4703668B2 (ja) コンテンツ転送方法
JP2000172648A (ja) ディジタル情報保護装置及びディジタル情報保護方法並びにディジタル情報保護プログラムを記録した記憶媒体
KR20080093331A (ko) 인증 방법 및 그 장치
JP2002149061A (ja) レンタルコンテンツ流通システムおよびその方法
KR100382880B1 (ko) 일회성 암호화 방식을 이용한 인증 시스템 및 방법
WO2007128418A1 (en) Apparatus for writing data to a medium
JP2000243026A (ja) 情報記録方法、利用方法および配送方法
KR20030039347A (ko) 저작권 보호 시스템 및 저작권 보호 방법
JP2003174442A (ja) 暗号鍵生成処理方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880122728.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08864735

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12810599

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008864735

Country of ref document: EP

ENPW Started to enter national phase and was withdrawn or failed for other reasons

Ref document number: PI0819531

Country of ref document: BR

Free format text: PEDIDO CONSIDERADO RETIRADO EM RELACAO AO BRASIL POR NAO ATENDER O ART. 9.2 DO ATO NORMATIVO 128 DE 05/03/97

ENP Entry into the national phase

Ref document number: PI0819531

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20100624