Information processing apparatus and method, communication apparatus and method, and information processing system

An information processing apparatus includes: a register holding a value input thereto; a first communication path through which an addition command is input; a second communication path through which a subtraction command is input; addition means adding a predetermined value to a register value held in the register according to the addition command input through the first communication path and causing the register to hold a value resulting from the addition; and subtraction means subtracting a predetermined value from a register value held in the register according to the subtraction command input through the second communication path and causing the register to hold a value resulting from the subtraction, wherein the addition means and the subtraction means operate exclusively of each other.

CROSS REFERENCES TO RELATED APPLICATIONS

The present application claims priority to that disclosed in Japanese Priority Patent Application JP 2009-092906 filed in the Japan Patent Office on Apr. 7, 2009, the entire content of which is hereby incorporated by reference.

BACKGROUND

The present application relates to an information processing apparatus and method, a communication apparatus and method, and an information processing system. More particularly, the invention relates to an information processing apparatus and method, a communication apparatus and method, and an information processing system which are advantageous for constructing, for example, an electronic money system utilizing contactless communication techniques.

In the related art, contactless IC cards such as FeliCa (a registered trademark) cards and mobile telephones incorporating an IC chip having functions equivalent to those of contactless IC cards are available, and electronic money systems are operated utilizing such cards or mobile telephones (for example, see JP-A-2004-102726 (Patent Document 1)).

FIG. 1shows an exemplary configuration of an electronic money system in operation. An electronic money system1is formed by IC cards2which are possessed by purchasers of commodities, store terminals3provided at stores where the commodities are sold, and a server5connected to the store terminals3connected through a communication line4.

A credit value (a prepaid amount of money) is recorded in advance in an IC card2. When the card is brought into a predetermined range from a reader/writer13of a store terminal3, settlement information is communicated between the card and the reader/writer13on a contactless basis.

The store terminal3includes a control section11, an input section12, the reader/writer13, and sale information database (DB)14. The control section11controls information reading and writing carried out by the reader/writer13to record sale information in the sale information database14. The control section11also transmits recorded sale information to the server5which is connected to the section through the communication line4. The input section12advises the control section11of the price of a commodity input by a salesperson. The reader/writer13communicates with the IC card2on a contactless basis.

The server5is installed at, for example, the company providing the electronic money service. The server accumulates sale information supplied from each store terminal3and calculates money received (the amount of commodities sold) at each store based on sale information thus accumulated during each predetermined period.

When a purchaser purchases a commodity, the price of the commodity is input to the input section12by a salesperson of the store, and the IC card2is brought into close proximity to the reader/writer13by the purchaser. Thus, communication is started between the reader/writer13and the IC card2to enable a mutual authentication process. When the mutual authentication process has successful results, a credit value is read out from the IC card2by the reader/writer13and advised to the control section11. At the control section11, the price of the commodity input from the input section12is subtracted from the credit value of the IC card2thus read out, and the amount subtracted is advised to the reader/writer13to cause it to write the result of subtraction in the IC card2. The control section11also causes a record of this sale to be stored in the sales record database14. Sales records stored in the sales record database14are advised to the server5at predetermined timing (e.g., once a day at the closing times of the stores) and accumulated at the server. The server5calculates the amount of money received at each store based on sales records thus accumulated.

SUMMARY

The electronic money system operated as described above has the following problems.

Since a mutual authentication process is carried out between an IC card2and a reader/writer13, a common secret key must be held by each of them. Information on sales during a predetermined period must be stored in the sales information database14in each store terminal3, and measures must be taken to prevent the information from being tampered or lost. Since high anti-tampering performance must therefore be provided, the manufacturing cost of the store terminals3has been high.

It has been necessary to install a plurality of store terminals3of different types at a store in order to allow a plurality of different electronic money systems to be accommodated at the store. The reader/writer13incorporated in a store terminal3always radiates an electromagnetic wave to be always ready for communication with an IC card2. Therefore, when a plurality of store terminals3are installed, the terminals must be kept apart from each other to prevent mutual interference between electronic waves radiated from them. When there are spatial limitations on the installation of store terminals3, it may be practically difficult to install a plurality of store terminals3at a store in some occasions.

Under such circumstances, it is desirable to allow an electronic money system having high anti-tampering performance to be constructed at a relatively low cost.

According to an embodiment, there is provided an information processing apparatus including a register holding a value input thereto, a first communication path through which an addition command is input, a second communication path through which a subtraction command is input, addition means adding a predetermined value to the register value held in the register according to the addition command input through the first communication path and causing the register to hold a value resulting from the addition, and subtraction means subtracting a predetermined value from the register value held in the register according to the subtraction command input through the second communication path and causing the register to hold a value resulting from the subtraction. The addition means and the subtraction means operate exclusively of each other.

The addition means may operate only when the register value is 0, and the subtraction means may operate only when the register value is not 0.

A register value acquisition command may be also input through the second communication path, and the subtraction means may acquire the register value according to the register value acquisition command input through the second communication path and may output the register value through the second communication path.

The information processing apparatus according to the embodiment may further include zero detection means generating a zero detection signal indicating that the register value has changed from a non-zero state to a zero state.

The information processing apparatus according to the embodiment may further include authentication means for performing a mutual authentication process with an electronic apparatus from which the subtraction command is transmitted.

The information processing apparatus according to the embodiment may further include communication means for performing contactless radio communication with a communication apparatus from which the subtraction command is transmitted.

The communication means may have an NFC (near field communication) target function.

According to the embodiment, there is provided an information processing method of an information processing apparatus including a register holding a value input thereto, a first communication path through which an addition command is input, and a second communication path through which a subtraction command is input. The method includes the steps of adding a predetermined value to the register value held in the register according to the addition command input through the first communication path and causing the register to hold a value resulting from the addition, and subtracting a predetermined value from the register value held in the register according to the subtraction command input through the second communication path and causing the register to hold a value resulting from the subtraction. The process at the addition step and the process at the subtraction step are performed exclusively of each other.

According to the embodiment, the process of adding a predetermined value to the register value held in the register according to the addition command input through the first communication path and causing the register to hold a value resulting from the addition, and the process of subtracting a predetermined value from the register value held in the register according to the subtraction command input through the second communication path and causing the register to hold a value resulting from the subtraction are performed exclusively of each other.

According to another embodiment, there is provided a communication apparatus including first connection means connecting to a sever through a predetermined communication line, second connecting means connecting to an information processing apparatus by contactless radio communication, and relaying means relaying information between the server and the information processing apparatus.

The first connection means may connect to the server through a mobile telephone line.

The second connection means may connect to the information processing apparatus using an NFC (near field communication) initiator function.

According to the embodiment, there is provided a communication method of a communication apparatus, including the steps of connecting to a sever through a predetermined communication line, connecting to an information processing apparatus by contactless radio communication, and relaying information between the server and the information processing apparatus.

According to the embodiment, the communication apparatus is connected to the server through the predetermined communication line and connected to the information processing apparatus by contactless radio communication. The apparatus relays information between the server and the information processing apparatus.

According to another embodiment, there is provided an information processing system including an information processing apparatus and a communication apparatus. The information processing apparatus includes a register holding a value input thereto, a first communication path through which an addition command is input, a second communication path through which a subtraction command is input, addition means adding a predetermined value to the register value held in the register according to the addition command input through the first communication path and causing the register to hold a value resulting from the addition, and subtraction means subtracting a predetermined value from the register value held in the register according to the subtraction command input through the second communication path and causing the register to hold a value resulting from the subtraction. The addition means and the subtraction means operating exclusively of each other. The communication apparatus includes first connection means connecting to a sever through a predetermined communication line, second connecting means connecting to an information processing apparatus by contactless radio communication, and relaying means relaying information between the server and the information processing apparatus.

According to the embodiment, the process of adding a predetermined value to the register value held in the register according to the addition command input through the first communication path and causing the register to hold a value resulting from the addition, and the process of subtracting a predetermined value from the register value held in the register according to the subtraction command input through the second communication path and causing the register to hold a value resulting from the subtraction are performed exclusively of each other. The communication apparatus is connected to the server through the predetermined communication line and connected to the information processing apparatus by contactless radio communication. The apparatus relays information between the server and the information processing apparatus.

According to an embodiment, an electronic money system having high anti-tampering performance can be constructed at a relatively low cost.

DETAILED DESCRIPTION

The present application will now be described in detail with reference to the drawings according to an embodiment. First and second embodiments will be described below.

First Embodiment

Exemplary Configuration of Electronic Money System

An electronic money system according to a first embodiment will now be described with reference toFIG. 2.FIG. 2shows an exemplary configuration of the electronic money system.

An electronic money system30is formed by mobile terminals31used by purchasers of commodities, a server33installed at a company providing the electronic money service, and store terminals34installed at stores selling the commodities.

A mobile terminal31functions like common mobile telephones, and the terminal is made to function also as an NFC (near field communication) initiator by executing a predetermined application program.

An NFC initiator is a device for initiating near field radio communication by carrying out polling to detect a response from an NFC target that is a party to communicate. An NFC target is a device which responds to polling carried out by an NFC initiator to start near field radio communication with the NFC initiator.

A mobile terminal31connects to the server33through a mobile telephone line32and causes the server to authenticate the terminal itself. Thereafter, the terminal uses the NFC initiator function to perform near field radio communication with a store terminal34having the NFC target function, thereby relaying various types of information between the store terminal34and the server33.

The server33authenticates the mobile terminal31connected thereto through the mobile telephone line32, and mutual authentication is carried out between the server and the store terminal34through the mobile terminal31. After the mutual authentication is successfully carried out, the server acquires settlement information including the amount of money of a purchased commodity from the store terminal34through the mobile terminal31. The server33has identification information for identifying the mobile terminal31and information on the user of the mobile terminal31registered in advance, the user information including settlement information such as credit card information and bank account information, and credit value information.

The store terminal34includes an NFC target section41, a NOT-IF-THEN operation register42, and a control section43.

The NFC target section41functions as an NFC target and performs near field radio communication with the mobile terminal31having the NFC initiator function.

The NOT-IF-THEN operation register42includes a data input/output portion (abbreviated as “DIO” inFIG. 3)51A which is connected to the control section43and another data input/output portion (abbreviated as “DIO” inFIG. 3)51B which is connected to the NFC target section41.

The NOT-IF-THEN operation register42alternately performs a process of adding a value input from the DIO51A to a value held in a register59incorporated therein (hereinafter referred to as “register value”) and a process of subtracting a value input from the DIO51B from the register value. That is, the processes of adding and subtracting a value to and from the register value are performed on an exclusive basis.

The control section43includes an input portion44and an output portion45. The input portion44includes a ten key pad and a reset key which are operated by a salesperson of a store. When a salesperson inputs the price of a commodity using the input portion44, the control section43outputs an input value setting signal including the commodity price and an addition command to the NOT-IF-THEN operation register42. When the salesperson performs a predetermined reset operation (e.g., an operation of pressing the reset key) using the input portion44, the control section43outputs a reset signal to the NOT-IF-THEN operation register42.

The output portion45includes a display and an alarm generator. The output portion displays the register value on the display based on a display output signal input from the NOT-IF-THEN operation register42and outputs an alarm sound according to a zero detection signal input from the NOT-IF-THEN operation register42.

FIG. 3is a detailed diagram showing an exemplary configuration of the NOT-IF-THEN operation register42forming part of the store terminal34shown inFIG. 2. The NOT-IF-THEN operation register42includes the data input/output portions (DIO)51A and51B, an authentication portion52, a key holding portion53, a random number generating portion54, a command analyzing portion56, an adder56, another command analyzing portion57, a subtractor58, a register59, and a zero detector60.

The DIO51A connects the control section43and the command analyzing portion55to input an input value setting signal from the control section43to the command analyzing portion55. An input value setting signal includes the price of a commodity and an addition command.

The DIO51B connects the NFC target section41and the command analyzing portion57to input various commands input from the server33through the NFC target section41to the command analyzing portion57. Specifically, the various commands input from the server33through the NFC target section41include a register value acquisition command and a register value subtraction command.

The authentication portion52carries out a mutual authentication process between itself and the server33using a secret key held in the key holding portion53and a random number generated by the random number generating portion54. After the mutual authentication process is successfully carried out, communication is enabled between the DIO51B and the command analyzing portion57. The server33holds the same secret key as the secret key held in the key holding portion53.

The command analyzing portion55controls the adder56based on the input value setting signal input through the DIO51A only when an addition/subtraction control signal input from the register59is high. Specifically, the portion55causes the commodity price included in the input value setting signal to be added to the register value.

According to the control exercised by the command analyzing portion55, the adder56adds the commodity price included in the input value setting signal to the register value.

The command analyzing portion57acquires the register value in response to the register value acquisition command input through the DIO51B only when the addition/subtraction control signal input from the register59is low. The command analyzing portion57controls the subtractor58based on the register value subtraction command input through the DIO51B. Specifically, the DIO causes a value input along with the register value subtraction command to be subtracted from the register value.

According to the control exercised by the command analyzing portion57, the subtractor58subtracts the specified value from the register value.

The command analyzing portion55and the command analyzing portion57may be integrated with each other. The adder56and the subtractor58may be also integrated with each other.

The register59holds 0 or a positive value and initializes the register value held therein to 0 according to a reset signal input from the control section43. The register59outputs an addition/subtraction control signal to the command analyzing portions55and57, the signal being high when the register value held in the register is 0 and being low when the register value is not 0.

The zero detection portion60monitors the register value and outputs a zero detection signal at low level according to the reset signal input from the control section43. The register value thereafter becomes a positive value other than 0 as a result of the addition carried out by the adder56, and a zero detection signal at high level is output when the register value becomes 0 as a result of the subtraction carried out by the subtractor58.

State transitions of the NOT-IF-TERN operation register42(i.e., the register59included therein) will now be described with reference toFIGS. 4 and 5.FIG. 4is state transition diagram of the NOT-IF-THEN operation register42.FIG. 5shows timing of operations performed in the store terminal34. Specifically,FIG. 5shows power supply on/off states (A), states of the reset signal (B), register values (C), states of the zero detection signal (D), and states of the addition/subtraction control signal (E).

As shown inFIG. 4, the NOT-IF-TERN operation register42is in any of an indefinite state, a non-zero state, and a zero state.

The indefinite state is a standby state in which the register stays before a commodity price is input from a salesperson. During the period of this state, the register value is 0, and a message prompting the input of a commodity price is displayed on the display of the output portion45. Referring toFIG. 5, the zero detection signal is in the low state in this period (as indicated by D). When a commodity price is input and the value is added to the register value to change it to a positive value in the indefinite state, a transition to the non-zero state takes place.

The non-zero state is a state in which the register59has a commodity price set therein, and the commodity price is displayed on the display of the output portion45in the period of this state. The zero detection signal stays low. When subtraction from the register value is carried out according to a register value subtraction command from the server33in the non-zero state to change the register value to 0, a transition to the zero state takes place.

The zero state is a state in which the register value is 0 as a result of subtraction from a positive value, and the zero detection signal is high in this state. According to the zero detection signal at high level, the output portion45displays a message or outputs an alarm sound to advise that an account has been settled. When a reset signal is input from the control section43in the zero state as indicated by B inFIG. 5, the register59is initialized to 0, and a transition to the indefinite state takes place.

A description will now be made on operations performed by the electronic money system30when a user of a mobile terminal31(purchaser) purchases a commodity.FIG. 6is a timing chart showing operations of the mobile terminal31, server33, and store terminal34forming the electronic money system30.

The series of operations is started when the mobile terminal31starts operating as an NFC initiator according to a predetermined application program activated in response to a predetermined operation of the user who is going to purchase a commodity.

At step S101, the mobile terminal31connects to the server33through the mobile telephone line32. When the mobile terminal31is connected, the server33performs a process of authenticating the mobile terminal31at step S201and determines whether the authentication process has been successful or not at step S202. When it is determined that the authentication process has been successful, the process proceeds to step S203at which the mobile terminal31is advised that it has been successfully authenticated. When it is determined that the process of authenticating the mobile terminal31has been unsuccessful, the process at the server33is terminated.

When the successful result of authentication is advised from the server33, the mobile terminal31advises the user of the successful result of authentication and prompts the user to put the mobile terminal31in close proximity to the store terminal34at step S102. The mobile terminal31starts polling to detect the store terminal34at step S103and determines whether the store terminal34has been detected or not at step S104. The processes at the steps S103and S104are repeated until it is determined that the store terminal34has been detected.

The NFC target section41of the store terminal34stays in a standby state until it is polled by the mobile terminal31at step S301. When polled by the mobile terminal31, the section responds to the polling by the mobile terminal31at step S302.

When the mobile terminal31determines at step S104that the store terminal34has been detected from the response of the NFC target section41, the process proceeds to step S105at and after which the mobile terminal31relays various types of information between the server33and the store terminal34.

A mutual authentication process is carried out between the server33and the store terminal34. The process is carried out by the server33and the store terminal34(specifically, the authentication portion52thereof) as steps S204and S303, respectively. The mutual authentication process is carried out using a common secret key provided in the server33and the store terminal34in advance and a random number. When the mutual authentication process between the server33and the store terminal34is successful, the process at the server33proceeds to step S206, and the process at the store terminal34proceeds to step S305. When the mutual authentication process is unsuccessful, the server33terminates the process, and the process at the store terminal34returns to step S301.

The server33transmits a register value acquisition command at step S206. The register value acquisition command is relayed by the mobile terminal31and provided to the command analyzing portion57through the DIO51B. At the command analyzing portion57, a process according to the register value acquisition command is performed (step S310) only when an addition/subtraction control signal input from the register59is low.

The store terminal34prompts a salesperson to perform a reset operation and to input a commodity price at step S305. Further, the NOT-IF-THEN operation register42stays in a standby state at step S305until a reset signal is input from the control section43to the register59and the zero detecting portion60according to a reset operation performed by the user. When a reset signal is input, the register undergoes a transition to the indefinite state in which the register value is initialized to 0 and in which the addition/subtraction control signal is asserted high. The process then proceeds to step S306.

At step S306, the NOT-IF-THEN operation register42stays in a standby state until an input value A and an addition command are input from the control section43to the command analyzing portion55through the DIO51A in response to the input of a commodity price A performed by the user. When the input value A and the addition command are input, the process proceeds to step S307.

At step S307, the command analyzing portion55checks whether the addition/subtraction control signal from the register59is high or not. When it is confirmed that the addition/subtraction control signal is high, the process proceeds to step S308. At step S308, the command analyzing portion55controls the adder56to cause it to add the input value A to the register value. Since the register value changes from 0 to the positive value A as a result of the addition, a transition to the non-zero state takes place, and the addition/subtraction control signal is asserted low by the register59.

At step S309, the command analyzing portion57checks whether the addition/subtraction control signal from the register59is low or not. When it is confirmed that the addition/subtraction control signal is low, the process proceeds to step S310. At step S310, the command analyzing portion57acquires the register value (the value A obtained as a result of the addition at step S308in this case) according to the register value acquisition command from the server33which has already been received, and the register value is output to the DIO51B. The register value A is relayed by the mobile terminal31to be transmitted to the server33.

At step S207, the server33receives the register value A relayed by the mobile terminal31. At step S208, the server33transmits a register value subtraction command for subtracting the received register value A from the current register value A. The register value subtraction command is relayed by the mobile terminal31and received by the command analyzing portion57through the DIO51B. Thereafter, the process proceeds to step S209, and the server stays in a standby state until it receives a subtraction process completion notice.

At step S311, since the addition/subtraction control signal is low, the command analyzing portion57controls the subtractor58to cause it to subtract the register value A from the value A held in the register59according to the register value subtraction command. Since the register value returns to 0 from the positive value A as a result of the subtraction, a transition to the zero state takes place. The zero detection signal is asserted high by the zero detection portion60, and the addition/subtraction signal is asserted high by the register59.

At step S312, the command analyzing portion57confirms that the subtraction process has been completed from the fact that the addition/subtraction control signal has become high and outputs a subtraction process completion notice to the DIO51B. The subtraction process completion notice is relayed by the mobile terminal31to be transmitted to the server33.

At step S313, according to the zero detection signal which has become high, the control section43controls the output portion45to cause it to display a message indicating that the account has been settled and to cause it to output an alarm sound indicating that the account has been settled. The salesperson of the store can be advised of the completion of settlement from such indications. Further, the purchaser can be advised of the completion of the settlement from the alarm sound. Thereafter, the purchaser may move the mobile terminal31away from the store terminal34.

Upon receipt of the subtraction process completion notice, the server33determines that the subtraction process has been completed at step S209, and the process proceeds to step S210. At step S210, the server33generates purchase information associated with the mobile terminal31and sale information associated with the store terminal34and records those pieces of information in the database of itself. Thereafter, settlement is made for the user of the mobile terminal31based on the recorded purchase information. Settlement (such as payment for the amount of the sale) is made for the store side based on the recorded sale information.

According to the above-described operations of the electronic money system30, the secret key used for the authentication process is required only at the DIO51B to which a register value subtraction command is input. At the DIO51A to which a commodity price is input, no secret key is required, and it is obvious that no password is required either.

Sale information is transmitted to the server33from a mobile terminal31at each sale instead of being held at the store. Therefore, even if there is an ill-willed person belonging to the store who attempts to tamper the sale information, the sale information can be prevented from being tampered.

Further, since the store terminal34radiates no electromagnetic wave, a plurality of the store terminals34can be disposed adjacent to each other.

A description will now be made on processes performed by the mobile terminal31after the authentication process performed by the server33is successfully completed, among the operations of the electronic money system30described above.FIG. 7is a flow chart for explaining the processes of the mobile terminal31.

At step S121, the mobile terminal31starts polling to detect a party to communicate (the store terminal34is assumed to be the party). At step S122, the mobile terminal31determines whether a party to communicate has been detected or not. The processes at steps S121and S122are repeated until it is determined that a party to communicate has been detected. When it is determined that a party to communicate has been detected, the process proceeds to step S123.

At step S123, the mobile terminal31acquires an apparatus ID from the party to communicate thus detected and determines a system code based on the acquired apparatus ID. A system code is information indicating whether an apparatus of the party to communicate is in compliance with the NFC or FeliCa standard.

At step S124, the mobile terminal31determines whether the system code thus determined is associated with the store terminal34(or in compliance with the NFC standard) or not. When it is determined that the system code is not associated with the store terminal34(for example, when it is determined that the system code is in compliance with the Felica standard), the process proceeds to step S125at which a process is performed according to the result of the determination. The process thereafter returns to step S121to repeat the above-described steps.

When it is determined at step S124that the system code thus determined is associated with the store terminal34, the process proceeds to step S126. At step S126, the mobile terminal31transmits the apparatus ID of the other party acquired at step S123to the server33and stays in a standby state until the server33transmits a response to the transmission of the apparatus ID.

The response transmitted from the server33is received by the mobile terminal31at step S127. At step S128, the mobile terminal31determines whether the response from the server33is proper or not, and the process proceeds to step S129only when it is determined that the response is proper. When it is determined that the response from the server33is improper and an error has therefore occurred, the process returns to step S121to repeat the above-described steps.

At step S129, the mobile terminal31determines whether the response from the server33is a command for the store terminal34(a register value acquisition command or a register value subtraction command) or not. When it is determined that the response is not a command for the store terminal34, the process proceeds to step S130at which a process according to the response from the server33is performed. At step S131, it is determined whether the transaction with the store terminal34that is currently in communication is to be terminated or not. When it is determined that the transaction is to be terminated, the process returns to step S121to repeat the above-described steps.

When it is determined at step S129that the response from the server33is a command for the store terminal34, the process proceeds to step S132. At step S132, the mobile terminal31transmits the command for the store terminal34, which is the response from the server33, to the store terminal34. At the step S133, the mobile terminal enters a standby state to wait until a response from the store terminal34is received. When a response is received from the store terminal34, the process proceeds to step S134. At step S134, the mobile terminal31transmits the response from the store terminal34to the server33. Thereafter, the process returns to step S127to repeat the above-described steps. The mobile terminal31operates as described above.

Second Embodiment

Exemplary Configuration of Door Locking/Unlocking System

A door locking/unlocking system according to a second embodiment will now be described with reference toFIG. 8.FIG. 8shows an exemplary configuration of the door locking/unlocking system. For example, the door locking/unlocking system80is used for a door having an auto-lock function provided at an entrance of a condominium, i.e., a door which is automatically locked when closed.

The door locking/unlocking system80includes a mobile terminal81for unlocking a door and a door locking device82provided on the door.

The mobile terminal81is basically the same as the mobile terminal31of the electronic money system30shown inFIG. 2. The mobile terminal81is different from the mobile terminal31in that it has a secret key which is common to the door locking device82.

The door locking device82includes an NFC target section91, a NOT-IF-THEN operation register92, and a locking section93.

The NFC target section91has the functions of an NFC target and carries out near field radio communication with the mobile terminal81which has the functions of an NFC initiator.

The NOT-IF-THEN operation register92has a configuration similar to that of the NOT-IF-THEN operation register42shown inFIG. 3. A DIO51A of the NOT-IF-THEN operation register92is connected to the locking section93, and a DIO51B of the register is connected to the NFC target section91.

The NOT-IF-THEN operation register92alternately performs a process of adding a value input from the DIO51A to a register value and a process of subtracting a value input from the DIO51B from the register value. That is, the register performs the process of adding a value to the register value and the process of subtracting a value from the register value on an exclusive basis.

The locking section93has an auto-lock function and outputs a reset signal and a command for adding a predetermined value (positive value) to the NOT-IF-THEN operation register when the door is locked as it is closed. The locking section93unlocks the door when a zero detection signal output from the NOT-IF-THEN operation register92is high.

A description will now be made on operations performed by the door locking/unlocking system80when the user of the mobile terminal81unlocks the door.FIG. 9is a timing chart for explaining operations of the mobile terminal81and the door locking device82forming the door locking/unlocking system80.

The description will be made on operations that follow the automatic locking performed by the door locking device82when the door is closed.

At step S401, the locking section93generates a reset signal and outputs it to the NOT-IF-THEN operation register92after locking the door as it is closed. Upon input of the reset signal, the NOT-IF-THEN operation register92changes to an indefinite state in which the register value is initialized to 0 and in which an addition/subtraction control signal is high.

At step S402, the locking section93generates a command for adding a predetermined value and outputs it to the NOT-IF-THEN operation register92. The NOT-IF-THEN operation register92to which the command for adding a predetermined value B has been input stays in a standby state at step S403until it is confirmed that an addition/subtraction control signal is high. When it is confirmed that the addition/subtraction control signal is high, the process proceeds to step S404.

At step S404, a command analyzing portion55of the NOT-IF-THEN operation register92controls an adder56to cause it to add the predetermined value B to the register value. Since the register value changes from 0 to the positive value B as a result of the addition, a transition to a non-zero state takes place, and the addition/subtraction control signal is asserted low by the register59.

At step S405, the NFC target section91stays in a standby state until it is polled by the mobile terminal81. The above-described steps S401to S405are processes performed to lock the door.

Operations performed at the mobile terminal81to unlock the door will now be described.

The mobile terminal81starts operating as an NFC initiator according to a predetermined application program activated in response to a predetermined operation of the user. Specifically, the mobile terminal81starts polling to detect the door locking device82at step S501. At step S502, the mobile terminal81determines whether the door locking device82(specifically, the NFC target section91of the same) has been detected or not. The processes at steps S501and S502are repeated until it is determined that the door locking device82has been detected.

When the user puts the mobile terminal81in close proximity to the door locking device82, the NFC target section91of the door locking device82detects the polling at step S405and responds to the polling carried out by the mobile terminal81at step S406.

When it is determined at step S502that the mobile terminal81has detected the door locking device82from the response of the NFC target section91, the process proceeds to step S503.

A mutual authentication process is carried out between the mobile terminal81and the door locking device82, the process being performed by the mobile terminal81and the door locking device82as steps S503and S407, respectively. The mutual authentication process is carried out using a common secret key provided in each of the mobile terminal81and the door locking device82in advance and a random number. When the mutual authentication process is successful, the process at the mobile terminal81proceeds to step S505. When the mutual authentication process is unsuccessful, the process at the mobile terminal81returns to step S501, and the process at the door locking device82returns to step S405.

At step S505, the mobile terminal81transmits a predetermined value subtraction command to the NOT-IF-THEN operation register92for subtracting the predetermined value B from the register value B. Thereafter, the process proceeds to step S506at which the terminal stays in a standby state until a subtraction process completion notice is received from the door locking device82.

At step S409, the command analyzing portion57of the NOT-IF-THEN operation register92receives the predetermined value subtraction command transmitted from the mobile terminal81through the DIO51B.

At step S410, the command analyzing portion57of the NOT-IF-THEN operation register92checks whether the addition/subtraction control signal is low. When it is confirmed that the addition/subtraction control signal is low, the process proceeds to step S411. At step S411, the command analyzing portion57controls a subtractor58to cause it to subtract the predetermined value B from the register value B according to the predetermined value subtraction command received at step S409. Since the register value returns to 0 from the positive value B as a result of the subtraction, a transition to a zero state takes place. Thus, a zero detection signal is asserted high by a zero detection portion60, and the addition/subtraction control signal is asserted high by the register59.

At step S412, the command analyzing portion57confirms that the subtraction process has been completed from the fact that the addition/subtraction control signal has become high and outputs a subtraction process completion notice to the DIO51B. The subtraction process completion notice is supplied to the mobile terminal81by the NFC target section91.

At step S413, the locking section93unlocks the door according to the zero detection signal which has become high. The unlocking operation allows the user of the mobile terminal81to open the door. Thereafter, the user of the mobile terminal81may move the mobile terminal81away from the door locking device82.

At step S506, the mobile terminal81receives the subtraction process completion notice, determines that the subtraction process has been completed, and terminates the series of operations.

As described above, the door locking/unlocking system80of the present embodiment allows a door locked by the door locking device82to be unlocked using the mobile terminal81.

In the present specification, the term “system” means a complex unity formed by a plurality of apparatus.