Abstract: Provided is an IC card (100) comprising: a communication unit (102) that communicates with an external device; a tamper-resistant storage unit (104) that stores key information indicating a secret key which forms a pair with a public key or a seed value for generating the secret key; and a processing unit (110) that performs control in which, on the basis of subject data that is acquired from the external device by communication using the communication unit and that is to be stored in a P2P database, and on the basis of the secret key corresponding to the key information, signature data corresponding to the subject data is generated and data including the generated signature data is transmitted to the external device by communication using the communication unit.
Invention title: IC card, processing method, and information processing system
Technical field
[0001]
The present disclosure relates to IC cards, processing methods, and information processing systems.
Background technology
[0002]
Technology related to IC (Integrated Circuit) cards that store private keys has been developed. Examples of the above-mentioned technique include the techniques described in Patent Document 1 below.
Prior art literature
Patent documents
[0003]
Patent Document 1: Japanese Unexamined Patent Publication No. 2018-78499
Outline of the invention
Problems to be solved by the invention
[0004]
In recent years, the use of a distributed file system using a P2P (Peer to Peer) network such as a blockchain has been advancing. By using a distributed file system using a P2P network, for example, the following effects are achieved. In the following, a distributed file system using a P2P network will be referred to as a “P2P database”.
・ Difficult to tamper with and destroy
・ No central management required (basically anyone can participate)
・ High transparency (basically anyone can view records)
・ Low cost (expensive system) Unnecessary)
[0005]
For example, when a P2P database is used, signature data is attached to the target data to be recorded in the P2P database (that is, an electronic signature is given to the target data). By attaching the signature data to the target data and verifying the signature data, the effect achieved by giving an electronic signature such as proof of non-tampering of the target data can be achieved. Therefore, for example, even when the P2P database is used for trading virtual currency data, the legitimacy of the transaction is guaranteed.
[0006]
Here, the signature data is generated using a public key cryptosystem and a private key paired with the public key. If the private key is leaked, or if the seed value for generating the private key is leaked, the signature data can be generated by the leaked private key or the private key generated from the leaked seed value. It is possible. Then, it is difficult to "identify from the signature data whether or not the signature data is the signature data generated by the leaked private key or the secret key generated from the leaked seed value". Therefore, "a method capable of generating the signature data corresponding to the target data to be recorded in the P2P database while preventing the leakage of the private key or the seed value for generating the private key" is required. ing. In the following, the data indicating the private key or the seed value for generating the private key is referred to as "key information".
[0007]
In this disclosure, a new and improved IC card, processing method, and information processing capable of generating signature data corresponding to the target data to be recorded in the P2P database while preventing leakage of key information. Propose a system.
Means to solve problems
[0008]
According to the present disclosure, a communication unit that communicates with an external device and a storage unit having a tamper resistance that stores a private key paired with a public key or key information indicating a seed value for generating the private key. , The signature data corresponding to the target data is generated based on the target data to be recorded in the P2P database acquired from the external device by the communication in the communication unit and the private key corresponding to the key information. An IC card is provided that includes a processing unit that controls transmission of generated data including the signature data to the external device by communication in the communication unit.
[0009]
Further, according to the present disclosure, the target data to be recorded in the P2P database acquired from the external device by the step of communicating with the external device and the communication in the step of performing the communication, and the recording medium having tamper resistance A step of generating signature data corresponding to the target data based on the stored private key paired with the public key or the private key corresponding to the key information indicating the seed value for generating the private key. Provided is a processing method executed by an IC card, which comprises a step of controlling transmission of data including the signature data generated in the generation step to the external device by communication in the communication step. Will be done.
[0010]
Further, according to the present disclosure, the IC card includes an IC card and an information processing device that verifies the contents of the target data to be recorded in the P2P database and generates predetermined signature data according to the verification result. , A communication unit that communicates with an external device, a storage unit having tamper resistance that stores key information indicating a private key paired with a public key or a seed value for generating the private key, and a storage unit having tamper resistance. Based on the target data acquired from the external device by communication and the private key corresponding to the key information, the signature data corresponding to the target data is generated, and the data including the generated signature data is used as described above. The communication unit includes a processing unit that controls transmission to the external device by communication in the communication unit, and the processing unit determines whether or not the signature condition for verification of the predetermined signature data corresponding to the information processing device is satisfied. , An information processing system that generates the signature data corresponding to the target data when it is determined that the signature condition is satisfied is provided.
Effect of the invention
[0011]
According to the present disclosure, it is possible to generate signature data corresponding to the target data to be recorded in the P2P database while preventing leakage of key information.
[0012]
It should be noted that the above effects are not necessarily limited, and either in combination with or in place of the above effects, any of the effects shown herein, or any other effect that can be ascertained from this specification. May be played.
A brief description of the drawing
[0013]
FIG. 1 is an explanatory diagram showing an example of a configuration of an information processing system according to the present embodiment.
FIG. 2 is a functional block diagram showing an example of the configuration of an IC card according to the present embodiment.
FIG. 3 is an explanatory diagram showing an example of a hardware configuration of an IC card according to the present embodiment.
[Fig. 4] Fig. 4 is an explanatory diagram showing an example of a reader hardware configuration.
FIG. 5 is an explanatory diagram showing an example of a hardware configuration of a server (information processing device) according to the present embodiment.
FIG. 6 is an explanatory diagram showing a first example of processing in the information processing system according to the present embodiment.
FIG. 7 is an explanatory diagram showing a second example of processing in the information processing system according to the present embodiment.
FIG. 8 is an explanatory diagram showing a second example of processing in the information processing system according to the present embodiment.
[Fig. 9] Fig. 9 is an explanatory diagram showing a use case in which transaction contents are forged or tampered with in an external device to be communicated with an IC card.
FIG. 10 is an explanatory diagram showing a third example of processing in the information processing system according to the present embodiment.
FIG. 11 is an explanatory diagram showing a third example of processing in the information processing system according to the present embodiment.
FIG. 12 is an explanatory diagram showing a third example of processing in the information processing system according to the present embodiment.
FIG. 13 is an explanatory diagram showing a fourth example of processing in the information processing system according to the present embodiment.
FIG. 14 is an explanatory diagram showing a fourth example of processing in the information processing system according to the present embodiment.
FIG. 15 is an explanatory diagram showing a fourth example of processing in the information processing system according to the present embodiment.
FIG. 16 is an explanatory diagram showing a fifth example of processing in the information processing system according to the present embodiment.
Mode for carrying out the invention
[0014]
Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. In the present specification and the drawings, components having substantially the same functional configuration are designated by the same reference numerals, so that duplicate description will be omitted.
[0015]
In addition, the following description will be given in the order shown below.
1. 1. Information system according to
this embodiment [1] Configuration of information system according to this embodiment
[1-1] IC card
[1-2] Reader
[1-3] Server (information processing device)
[1-4] Application example of each device constituting the information processing system according to the
present embodiment [2] Processing in the information processing system according to the present embodiment
[2-1] First example of processing in the information information system
[2-2] Information 2nd example
of processing in the processing system [2-3] 3rd example
of processing in the information system [2-4] 4th example
of processing in the information system [2-5] Processing in the information system Fifth Example
[2-6] Sixth Example of
Processing in an Information System [2-7] Another Example of Processing in an Information System
2. Program related to this embodiment
[0016]
1. 1. Information processing system according to the
present embodiment [1] Configuration
diagram 1 of the information processing system according to the present embodiment is an explanatory diagram showing an example of the configuration of the information processing system 1000 according to the present embodiment. The information processing system 1000 includes, for example, an IC card 100, a reader 200, and a server 300 (information processing device).
[0017]
The configuration of the information processing system according to this embodiment is not limited to the example shown in FIG. For example, the information processing system according to the present embodiment may have a plurality of IC cards 100. Further, the information processing system according to the present embodiment may have a plurality of readers 200 and may have a plurality of servers 300. Further, in the information processing system according to the present embodiment, the server 300 may have the function of the reader 200. In this case, the information processing system according to the present embodiment does not have to have the reader 200. .. Further, in the information processing system according to the present embodiment, the IC card 100 may have the function of the reader 200. In this case, the information processing system according to the present embodiment does not have the reader 200. Good.
[0018]
The reader 200 is a device having a function of communicating with the IC card 100 and reading data from the IC card 100. The reader 200 corresponds to an example of an external device of the IC card 100 capable of reading data from the IC card 100. The reader 200 may further have a function of writing data to the IC card 100. If the reader 200 further has a function of writing data, the reader 200 functions as a reader / writer.
[0019]
The IC card 100 and the reader 200 (an example of an external device of the IC card 100; the same shall apply hereinafter) communicate with each other by NFC (Near Field Communication) such as Type-A, Type-B, and Type-F. Wireless communication is performed by (near field communication). When the IC card 100 and the reader 200 communicate with each other by NFC, the user of the IC card 100 "is called an operation of moving the IC card 100 within the communicable range of the reader 200 (so-called touch operation or holding operation). If the operation) is performed, the IC card 100 and the reader 200 can be communicated with each other. Therefore, when the IC card 100 and the reader 200 communicate with each other by NFC, the "load on the operation for the user of the IC card 100 to make the IC card 100 communicate" is relatively small.
[0020]
In the information processing system according to the present embodiment, the IC card 100 and the reader 200 are, for example, wireless communication using IEEE802.5.1 such as "BLE (Bluetooth (registered trademark) Low Energy)" or IEEE802. Communication may be performed by "wireless communication of any communication method such as wireless communication using 11 and infrared communication".
[0021]
Further, the IC card 100 and the reader 200 can perform wired communication by contact communication via an external contact terminal, for example, communication via a communication interface based on the ISO7816 standard. When the IC card 100 and the reader 200 perform contact communication, the user of the IC card 100 can perform "an operation of bringing the external contact terminal of the IC card 100 into contact with the external contact terminal of the reader 200", and the IC card The 100 and the reader 200 can be communicated with each other. Therefore, when the IC card 100 and the reader 200 perform contact communication, the "load on the operation for the user of the IC card 100 to cause the IC card 100 to perform communication" is relatively small.
[0022]
The example of wired communication is not limited to contact communication via an external contact terminal, and may be arbitrary wired communication such as communication via USB (Universal Serial Bus).
[0023]
The server 300 and the reader 200 are connected wirelessly or by wire via a network, and communicate with each other by communication via the network (hereinafter, referred to as "network communication"). Examples of the network according to the present embodiment include a wired network such as LAN (Local Area Network) and WAN (Wide Area Network), a wireless network such as WLAN (Wireless Local Area Network), or TCP / IP (Transmission Control Protocol). / Internet Protocol) and other communication protocols such as the Internet.
[0024]
In the information processing system according to the present embodiment, the server 300 and the reader 200 can directly communicate with each other without going through a network.
[0025]
The server 300 and the IC card 100 can communicate with each other via the reader 200. That is, in the information processing system 1000, the reader 200 can serve as a relay device that relays the communication between the server 300 and the IC card 100.
[0026]
In the information processing system according to the present embodiment, the server 300 and the IC card 100 can directly communicate with each other without going through the reader 200. When the information processing system according to the present embodiment has a configuration in which the server 300 and the IC card 100 directly communicate with each other without going through the reader 200, for example, the server 300 has the function of the reader 200. It may be. That is, the information processing system according to the present embodiment does not have to have a device that functions as a relay device such as the reader 200.
[0027]
In the following, as shown in FIG. 1, "a case where the IC card 100 and the reader 200 communicate by NFC or contact communication, and the server 300 and the reader 200 communicate by network communication" will be given as an example. As described above, the example of communication in the information processing system according to the present embodiment is not limited to the example shown in FIG.
[0028]
[1-1] IC card 100
FIG. 2 is a functional block diagram showing an example of the configuration of the IC card 100 according to the present embodiment.
[0029]
The IC card 100 includes, for example, a communication unit 102, a storage unit 104, and a control unit 106.
[0030]
[Example of Hardware Configuration of IC Card 100]
FIG. 3 is an explanatory diagram showing an example of the hardware configuration of the IC card 100 according to the present embodiment. FIG. 3 shows an example of the hardware configuration of the IC card 100 when communicating with the reader 200 by NFC communication.
[0031]
The IC card 100 includes, for example, an IC chip 150 and an antenna 152. The IC chip 150 and the antenna 152 are communication means included in the IC card 100 and function as a communication unit 102. The IC chip 150 and the antenna 152 communicate with an external device such as a reader 200 by NFC by a carrier wave having a predetermined frequency such as 13.56 [MHz].
[0032]
Further, as will be described later, the IC chip 150 functions as a storage unit 104 and a control unit 106.
[0033]
The IC card 100 does not have to include, for example, the configuration of the IC chip 150 shown in FIG. 3 in the form of an IC chip.
[0034]
The antenna 152 serves to receive a carrier wave and transmit a response signal.
[0035]
The antenna 152 is composed of, for example, a resonance circuit including a coil (inductor) L1 having a predetermined inductance and a capacitor C1 having a predetermined capacitance, and generates an induced voltage by electromagnetic induction in response to reception of a carrier wave. .. Then, the antenna 152 outputs a reception voltage obtained by resonating the induced voltage at a predetermined resonance frequency. Here, the resonance frequency of the antenna 152 is set according to the frequency of the carrier wave, for example, 13.56 [MHz]. With the above configuration, the antenna 152 receives the carrier wave and transmits the response signal by the load modulation performed on the IC chip 150.
[0036]
The IC chip 150 serves to demodulate and process a carrier wave signal transmitted from an external device such as a reader 200 based on the received carrier wave, and transmit a response signal by load modulation.
[0037]
The IC chip 150 includes, for example, a carrier detection circuit 154, a detection circuit 156, a regulator 158, a demodulation circuit 160, an MPU 162, and a load modulation circuit 164. Although not shown in FIG. 3, the IC chip 150 may further include, for example, a protection circuit (not shown) for preventing an overvoltage or an overcurrent from being applied to the MPU 162. Here, examples of the protection circuit (not shown) include a clamp circuit composed of a diode or the like.
[0038]
Further, the IC chip 150 includes, for example, a ROM 166, a RAM 168, and a non-volatile memory 170. The MPU 162, ROM 166, RAM 168, and non-volatile memory 170 are connected by, for example, a bus 172 as a data transmission line.
[0039]
The carrier detection circuit 154 generates, for example, a rectangular detection signal based on the reception voltage transmitted from the antenna 152, and transmits the detection signal to the MPU 162. Further, the MPU 162 uses the transmitted detection signal as, for example, a processing clock for data processing. Here, since the detection signal is based on the reception voltage transmitted from the antenna 152, it is synchronized with the frequency of the carrier wave transmitted from an external device such as the reader 200. Therefore, by providing the carrier detection circuit 154, the IC chip 150 can perform processing with an external device such as a reader 200 in synchronization with the external device.
[0040]
The detection circuit 156 rectifies the received voltage output from the antenna 152. Here, the detection circuit 156 is composed of, for example, a diode D1 and a capacitor C2.
[0041]
The regulator 158 smoothes the received voltage, makes it a constant voltage, and outputs the drive voltage to the MPU 162. Here, the regulator 158 uses the DC component of the received voltage as the drive voltage.
[0042]
The demodulation circuit 160 demodulates the carrier wave signal based on the received voltage, and outputs data corresponding to the carrier wave signal included in the carrier wave (for example, a binarized data signal of high level and low level). Here, the demodulation circuit 160 outputs the AC component of the received voltage as data.
[0043]
The MPU 162 drives the drive voltage output from the regulator 158 as a power source, and performs various processing on the data demodulated in the demodulation circuit 160. The MPU 162 functions as a control unit 106.
[0044]
Further, the MPU 162 generates a control signal for controlling the load modulation related to the response to the external device such as the reader 200 according to the processing result. Then, the MPU 162 outputs a control signal to the load modulation circuit 164.
[0045]
The MPU 162 is composed of, for example, one or more processors composed of arithmetic circuits such as an MPU (Micro Processing Unit), various processing circuits, and the like.
[0046]
The load modulation circuit 164 includes, for example, a load Z and a switch SW1, and performs load modulation by selectively connecting (activating) the load Z according to a control signal transmitted from the MPU 162. Here, the load Z is composed of, for example, a resistor having a predetermined resistance value. Further, the switch SW1 is composed of, for example, a p-channel MOSFET (Metal Oxide Semiconductor Field Effect Transistor) or an n-channel MOSFET.
[0047]
The ROM 166 stores control data such as programs and calculation parameters used by the MPU 162. The RAM 168 temporarily stores the program executed by the MPU 162, the calculation result, the execution state, and the like.
[0048]
The non-volatile memory 170 is a recording medium that functions as a storage unit 104, and has tamper resistance. The tamper resistance of the non-volatile memory 170 is, for example, that the stored contents are erased when exposed to light, that the physical arrangement of the storage elements is random, that the storage area and data are encrypted, or that the storage area and data are encrypted. It is achieved by any method that makes physical analysis difficult, such as a combination of these.
[0049]
For example, key information is stored in the non-volatile memory 170. The key information according to the present embodiment is data, and indicates a private key paired with the public key or a seed value for generating the private key. That is, the key information is data indicating a private key paired with a public key or data indicating a seed value for generating a private key. For example, a secret key is generated from the seed value by generating a random number sequence from the seed value and cutting out a part of the generated random number sequence. Needless to say, the process related to the generation of the private key based on the seed value is not limited to the example shown above.
[0050]
The non-volatile memory 170 corresponds to "data used for processing in the IC card 100 such as history information (described later)", electronic value (money or data having a value equivalent to money), and various services. Various data such as data and various applications may be stored. In addition, among these data, for data in which leakage does not pose a particular problem in terms of specifications, design, or service, other recording media that constitute the storage unit 104 and do not have tamper resistance (not shown). ) May be stored.
[0051]
The non-volatile memory 170 constituting the storage unit 104 is a secure recording medium having tamper resistance, and the key information is stored in the non-volatile memory 170 which is a secure recording medium. Key information is stored in a secure state. Therefore, the IC card 100 can prevent leakage of key information.
[0052]
Examples of the non-volatile memory 170 include EEPROM (Electrically Erasable and Programmable Read Only Memory) and flash memory.
[0053]
The IC card 100 communicates with an external device such as a reader 200 by NFC using a carrier wave having a predetermined frequency, for example, according to the hardware configuration shown in FIG.
[0054]
The hardware configuration of the IC card 100 is not limited to the configuration shown in FIG.
[0055]
For example, when the IC card 100 is configured to perform contact communication with an external device, the IC card 100 has a configuration in which the antenna 152 shown in FIG. 3 is replaced with an external contact terminal. Needless to say, the configuration example capable of performing contact communication is not limited to the example shown above.
[0056]
Further, the IC card 100 may be configured to include a communication device corresponding to the corresponding wired communication or wireless communication communication method. Further, the IC card 100 may have a configuration capable of communicating by a plurality of communication methods such as communication by NFC and contact communication.
[0057]
An example of the functional configuration of the IC card 100 will be described with reference to FIG. 2 again. The communication unit 102 communicates with the external device by communication of a predetermined communication method. Communication in the communication unit 102 is controlled by, for example, the control unit 106.
[0058]
Here, as the communication unit 102, for example, a device corresponding to NFC communication such as the IC chip 150 and the antenna 152 shown in FIG. 3 can be mentioned. The device that supports NFC communication may be a CLF (Contactless Front End) or an NFC controller. As described above, the communication unit 102 may be a device that supports communication methods other than NFC, such as contact communication (wired communication) and wireless communication using IEEE802.5.1.
[0059]
The storage unit 104 is a storage means included in the IC card 100. The storage unit 104 is configured to include a recording medium having tamper resistance, and at least key information is stored in the recording medium having tamper resistance. As described above, the storage unit 104 may include a recording medium having no tamper resistance. That is, the storage unit 104 serves as a "storage unit having tamper resistance" or a "storage unit having tamper resistance and a storage unit not having tamper resistance". Examples of the storage unit 104 include the non-volatile memory 170 shown in FIG. FIG. 2 shows an example in which the key information 120 is stored in the storage unit 104. Needless to say, the data stored in the storage unit 104 is not limited to the key information 120.
[0060]
The control unit 106 is composed of, for example, an MPU or the like, and serves to control the entire IC card 100. Further, the control unit 106 includes, for example, a processing unit 110, and has a role of leading various processing (processing related to the processing method according to the present embodiment) as shown in an example of processing in an information processing system described later. Fulfill.
[0061]
The functional configuration of the IC card 100 is not limited to the configuration shown in FIG.
[0062]
For example, the IC card 100 can include the processing unit 110 shown in FIG. 2 separately from the control unit 106 (for example, it can be realized by another processing circuit).
[0063]
Further, the functional configuration of the IC card 100 is not limited to the configuration shown in FIG. 2, and it is possible to adopt a functional configuration according to a method of dividing the processing in the IC card 100, which will be described later.
[0064]
[1-2] Reader 200 The
reader 200 is a device having a function of communicating with the IC card 100 and reading data from the IC card 100. Further, the reader 200 serves as a relay device that relays communication between the server 300 and the IC card 100.
[0065]
[Example of Hardware Configuration of Reader 200]
FIG. 4 is an explanatory diagram showing an example of the hardware configuration of the reader 200. FIG. 4 shows an example of the hardware configuration of the reader 200 when communicating with the IC card 100 by NFC communication.
[0066]
The reader 200 includes, for example, an MPU 250, a ROM 252, a RAM 254, a recording medium 256, a communication interface 258, a carrier wave transmission circuit 260, and an antenna 262. Further, the reader 200 connects each component with, for example, a bus 264 as a data transmission path. Further, the reader 200 is driven by, for example, electric power supplied from an internal power source such as a battery included in the reader 200, or electric power supplied from an external power source connected to the reader 200.
[0067]
The MPU 250 is composed of, for example, one or more processors composed of arithmetic circuits such as MPU, various processing circuits, and the like, and functions as a control unit (not shown) that controls the entire reader 200.
[0068]
The ROM 252 stores control data such as programs and calculation parameters used by the MPU 250. The RAM 254 temporarily stores, for example, a program executed by the MPU 250.
[0069]
The recording medium 256 functions as a storage unit (not shown) and stores various data such as various applications. Here, examples of the recording medium 256 include a magnetic recording medium such as a hard disk and a non-volatile memory such as a flash memory. Further, the recording medium 256 may be detachable from the reader 200.
[0070]
The communication interface 258 is a communication means for performing communication of one communication method included in the reader 200, and communicates wirelessly or by wire with an external device such as a server 300 via a network (or directly). I do. The communication interface 258 functions as a first communication unit (not shown) in the reader 200. Here, examples of the communication interface 258 include a communication antenna and an RF (Radio Frequency) circuit (wireless communication), an IEEE 802.11 5.1 port and a transmission / reception circuit (wireless communication), and an IEEE 802.11 port and a transmission / reception circuit (wireless communication). ), Or a LAN terminal and a transmission / reception circuit (wired communication). Further, the communication interface 258 may have an arbitrary configuration corresponding to the network according to the present embodiment.
[0071]
The carrier wave transmission circuit 260 and the antenna 262 are communication means for communicating with other communication methods included in the reader 200, and perform NFC communication with an external device such as an IC card 100. The carrier wave transmission circuit 260 and the antenna 262 function as a second communication unit (not shown) in the reader 200.
[0072]
The antenna 262 is composed of, for example, a resonance circuit including a coil having a predetermined inductance as a transmission / reception antenna and a capacitor having a predetermined capacitance, and a demodulation circuit. Then, the antenna 262 demodulates data transmitted by load modulation or the like from an external device such as an IC card 100 by receiving a carrier wave having a predetermined frequency such as 13.56 [MHz]. For example, when the carrier wave transmission circuit 260 includes a demodulation circuit, the antenna 262 may be composed of a resonance circuit.
[0073]
The carrier wave transmission circuit 260 includes, for example, a modulation circuit that performs modulation such as ASK (Amplitude Shift Keying) and an amplifier circuit that amplifies the output of the modulation circuit, and carries a carrier wave on which a carrier wave signal is placed from the transmission / reception antenna of the antenna 262. Send it. Further, the carrier wave transmission circuit 260 may include, for example, a demodulation circuit that demodulates the signal received by the antenna 262. The demodulation circuit was received by the antenna 262, for example, by envelope-detecting the change in voltage amplitude between the modulation circuit (or amplification circuit) and the resonant circuit of the antenna 262 and binarizing the detected signal. Demodulate the signal. The demodulation circuit can also demodulate the signal received by the antenna 262 by using, for example, the phase change of the voltage between the modulation circuit (or the amplifier circuit) and the resonance circuit of the antenna 262.
[0074]
By providing the carrier wave transmission circuit 260, the reader 200 has an initiator function in NFC and can serve as a so-called reader / writer. Here, examples of the carrier wave signal transmitted by the carrier wave transmission circuit 260 from the antenna 262 include various signals such as a polling signal and a signal indicating various requests such as a read request. Further, in the carrier wave transmission circuit 260, for example, the carrier wave transmission is controlled by the MPU 250.
[0075]
The reader 200 has a function of reading data from the IC card 100 by having the hardware configuration shown in FIG. 4, for example, and also serves as a relay device for relaying communication between the server 300 and the IC card 100. The hardware configuration of the reader 200 is not limited to the configuration shown in FIG.
[0076]
For example, the reader 200 does not have to include the communication interface 258 when communicating with an external device via an external communication device having the same function as the communication interface 258.
[0077]
Further, when the reader 200 communicates with an external device via an external communication device having the same function as the carrier wave transmission circuit 260 and the antenna 262, the reader 200 does not have to include the carrier wave transmission circuit 260 and the antenna 262. ..
[0078]
Further, when the reader 200 communicates with an external device by a communication method other than NFC such as wireless communication using IEEE802.5.1 and contact communication, the reader 200 does not have a carrier wave transmission circuit 260 and an antenna 262. You may. In the above case, the reader 200 communicates with the external device by providing a communication device corresponding to a communication method other than NFC or by an external communication device corresponding to a communication method other than NFC.
[0079]
Further, the reader 200 may be configured not to include, for example, a recording medium 256.
[0080]
Further, the reader 200 can have a hardware configuration according to an application example of the reader 200, which will be described later, for example. As an example, the reader 200 may include, for example, one or both of a display device and an operation input device.
[0081]
Further, for example, the configuration shown in FIG. 4 (or the configuration according to the modified example) may be realized by one or two or more ICs.
[0082]
[1-3] Server 300 (Information Processing Device) The
server 300 is a device that communicates with the IC card 100 via (or directly) the reader 200. The server 300 can perform various processes such as a process performed via communication with the IC card 100. As an example of the process performed by the server 300, for example, a process for verifying the contents of the target data (hereinafter, may be simply referred to as “target data”) which is the target data to be recorded in the P2P database, depending on the verification result. Examples of the processing related to the processing in the information processing system described later, such as the processing for generating the predetermined signature data, can be mentioned. Further, the server 300 can also perform payment processing using, for example, electronic value.
[0083]
[Example of Hardware Configuration of Server 300]
FIG. 5 is an explanatory diagram showing an example of the hardware configuration of the server 300 according to the present embodiment. The server 300 includes, for example, an MPU 350, a ROM 352, a RAM 354, a recording medium 356, an input / output interface 358, an operation input device 360, a display device 362, and a communication interface 364. Further, the server 300 connects each component with, for example, a bus 366 as a data transmission path. Further, the server 300 is driven by, for example, electric power supplied from an internal power source such as a battery included in the server 300, or electric power supplied from an external power source connected to the server 300.
[0084]
The MPU 350 is composed of, for example, one or more processors composed of arithmetic circuits such as MPU, various processing circuits, and the like, and functions as a control unit (not shown) that controls the entire server 300. Further, the MPU 350 plays a role of leading various processes as shown in an example of processes in an information processing system described later.
[0085]
The ROM 352 stores control data such as programs and calculation parameters used by the MPU 350. The RAM 354 temporarily stores, for example, a program executed by the MPU 350.
[0086]
The recording medium 356 functions as a storage unit (not shown), and stores various data such as data related to an information processing method in the server 300 and various applications. Here, examples of the recording medium 356 include a magnetic recording medium such as a hard disk and a non-volatile memory such as a flash memory. Further, the recording medium 356 may be detachable from the server 300.
[0087]
The input / output interface 358 connects, for example, an operation input device 360 and a display device 362. The operation input device 360 functions as an operation unit (not shown), and the display device 362 functions as a display unit (not shown). Here, examples of the input / output interface 358 include a USB (Universal Serial Bus) terminal, a DVI (Digital Visual Interface) terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal, and various processing circuits. ..
[0088]
Further, the operation input device 360 is provided on the server 300, for example, and is connected to the input / output interface 358 inside the server 300. Examples of the operation input device 360 include buttons, direction keys, rotary selectors such as a jog dial, and combinations thereof.
[0089]
Further, the display device 362 is provided on the server 300, for example, and is connected to the input / output interface 358 inside the server 300. Examples of the display device 362 include a liquid crystal display and an organic EL display.
[0090]
Needless to say, the input / output interface 358 can be connected to an external device such as an external operation input device (for example, a keyboard or mouse) or an external display device of the server 300. Further, the display device 362 may be a device capable of displaying and operating the user, such as a touch panel.
[0091]
The communication interface 364 is a communication means included in the server 300, and is a communication unit for wirelessly or wired communication with an external device such as a reader 200 via a network (or directly). It functions as (not shown). Here, examples of the communication interface 364 include a communication antenna and an RF circuit (wireless communication), an IEEE 802.11 5.1 port and a transmission / reception circuit (wireless communication), an IEEE 802.11 port and a transmission / reception circuit (wireless communication), or a LAN. Examples include terminals and transmission / reception circuits (wired communication). Further, the communication interface 364 may have an arbitrary configuration corresponding to the network according to the present embodiment.
[0092]
The server 300 performs various processes as shown in an example of processes in an information processing system described later, for example, depending on the hardware configuration shown in FIG. The hardware configuration of the server 300 according to this embodiment is not limited to the configuration shown in FIG.
[0093]
For example, the server 300 does not have to include the communication interface 364 when communicating with an external device or the like via a connected external communication device. Further, the communication interface 364 may have a configuration capable of communicating with one or more external devices or the like by a plurality of communication methods.
[0094]
Further, the server 300 can be configured not to include, for example, a recording medium 356, an operation input device 360, and a part or all of the display device 362.
[0095]
Further, the server 300 can have a hardware configuration according to an application example of the server 300, which will be described later, for example.
[0096]
Further, for example, a part or all of the hardware configuration (or the configuration according to the modified example) shown in FIG. 5 may be realized by one or two or more ICs.
[0097]
[1-4] Application Examples of Each Device Constituting the Information Processing System
According to the Present Embodiment The reader 200 has been described as a component of the information processing system according to the present embodiment. It is not limited to such a form. The present embodiment includes at least a "reader / writer", a "device having a reader / writer function", a "communication device that communicates by wireless communication using IEEE802.5.1 such as BLE", and the like. It can be applied to any device having a function of reading data from an IC card. Further, the present embodiment can also be applied to, for example, a processing IC that can be incorporated into the above-mentioned equipment.
[0098]
Further, although the server 300 has been described as a component of the information processing system according to the present embodiment, the present embodiment is not limited to this embodiment. This embodiment is applied to various devices such as "computers such as PCs (Personal Computers) and servers", "tablet-type devices", "communication devices such as smart phones", and "game machines". be able to. Further, the present embodiment can also be applied to, for example, a processing IC that can be incorporated into the above-mentioned equipment.
[0099]
[2] Processing in the Information Processing System According to the Present Embodiment
Next, an example of processing in the information processing system according to the present embodiment will be described by taking the information processing system 1000 shown in FIG. 1 as an example.
[0100]
In the following, "when the P2P database is a P2P database used for trading virtual currency data and the target data is virtual currency transaction data" will be given as an example. The target data according to this embodiment is not limited to virtual currency transaction data. For example, the target data is arbitrary data that can be recorded in a P2P database, such as data related to education (for example, data indicating a degree, grade, qualification, etc.), data related to contracts (for example, data related to smart contracts). There may be.
[0101]
[2-1] First Example of Processing in Information Processing System
As described above, when a P2P database is used, signature data is attached to the target data, and the signature data is verified to obtain virtual currency data. The legitimacy of the transaction is guaranteed. However, when the key information is leaked, it is possible to generate the signature data with the private key corresponding to the leaked key information, so that it becomes difficult to guarantee the legitimacy of the transaction. Therefore, as described above, there is a demand for "a method capable of generating signature data corresponding to the target data while preventing leakage of key information".
[0102]
Therefore, in the information processing system 1000, as described above, the IC card 100 includes a recording medium having tamper resistance, and the key information is stored in the recording medium having tamper resistance. Since the key information is stored in the secure recording medium, the key information is stored in the IC card 100 in a more secure state, so that the IC card 100 can prevent the key information from being leaked.
[0103]
Further, the IC card 100 generates signature data corresponding to the target data based on the target data acquired by communication with the reader 200 and the private key corresponding to the key information stored in the secure recording medium. To do. The private key corresponding to the key information according to the present embodiment means a private key indicated by the key information or a private key generated based on the seed value indicated by the key information. The IC card 100 is, for example, by executing a program related to generation of signature data stored in a recording medium (which may be a secure recording medium or is not a secure recording medium). Generate signature data corresponding to the target data. As an example, the signature data corresponding to the target data is generated, for example, by multiplying the target data with a private key. The method of generating the signature data is not limited to the example shown above, and may be generated by an arbitrary algorithm using the target data and the private key.
[0104]
Then, the IC card 100 transmits data including the generated signature data to the reader 200 by communication with the reader 200. Examples of the data including the signature data include data in which the signature data is attached to the target data (data in which the target data is digitally signed). Further, the data including the signature data may be the signature data itself.
[0105]
Communication with the reader 200 on the IC card 100 is performed via the communication unit 102. Various processes (processing method according to the present embodiment) such as a process of generating signature data based on a private key corresponding to key information in the IC card 100 and a process of controlling transmission of data including the generated signature data. The processing according to the above) is performed by the processing unit 110.
[0106]
Therefore, the IC card 100 that performs the process according to the first example can generate signature data corresponding to the target data while preventing leakage of key information.
[0107]
Further, when the target data is virtual currency transaction data, the information processing system 1000 guarantees the validity of the virtual currency data transaction by using the IC card 100 that performs the processing according to the first example. It is possible to execute transactions in the state. In this case, the IC card 100 functions as an IC card type hardware wallet.
[0108]
FIG. 6 is an explanatory diagram showing a first example of processing in the information processing system 1000 according to the present embodiment. FIG. 6 shows the processing after the communication between the IC card 100 and the reader 200 is established. The communication between the IC card 100 and the reader 200 is established by a method corresponding to the communication method performed between the IC card 100 and the reader 200. The same applies to other examples of processing in the information processing system shown below.
[0109]
The reader 200 transmits transaction data (an example of target data) (S100).
[0110]
The IC card 100 that has received the transaction data transmitted from the reader 200 in step S100 is based on the acquired transaction data and the private key corresponding to the key information stored in the recording medium having tamper resistance. The signature data corresponding to the transaction data is generated (S102). In the following, the private key corresponding to the key information stored in the recording medium having tamper resistance may be simply referred to as "the private key corresponding to the key information". Further, in the following, the generation of signature data based on the private key corresponding to the key information may be referred to as "signature by private key".
[0111]
Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S104). In the following, data including signature data may be referred to as "signature".
[0112]
In the information processing system 1000, for example, the process shown in FIG. 6 is performed as the process according to the first example. Needless to say, the processing according to the first example in the information processing system 1000 is not limited to the example shown in FIG.
[0113]
[2-2] Second Example of Processing in Information Processing System
For example, it is assumed that the target data is transaction data of virtual currency. The example when the target data shown below is the transaction data of the virtual currency can be applied even when the target data is data other than the transaction data of the virtual currency, in which a plurality of types can exist.
[0114]
There are various types of virtual currencies, and the contents of transaction data, the encryption method of the private key, and the signature method differ depending on the virtual currency. Also, depending on the virtual currency, the content of transaction data, the encryption method of the private key, and the signature method may change depending on the version upgrade.
[0115]
Here, by storing the key information indicating the seed value in the tamper-resistant recording medium included in the IC card 100, it is possible to generate a secret key corresponding to the encryption method of each virtual currency from one seed value. It is possible.
[0116]
When the key information indicating the seed value is stored in the tamper-resistant recording medium of the IC card 100, the program for generating the private key and the signature data is stored in the recording medium of the IC card 100 as a virtual currency. It is possible to generate signature data corresponding to the signature method of each virtual currency by being stored for each and executing the program. The recording medium in which the programs related to the generation of the private key and the generation of the signature data are stored may or may not have tamper resistance.
[0117]
Further, for example, when the key information indicating the private key corresponding to each virtual currency is stored in the tamper-resistant recording medium included in the IC card 100, the signature data is generated in the recording medium included in the IC card 100. A program related to the above is stored for each virtual currency, and by executing the program, it is possible to generate signature data corresponding to the signature method of each virtual currency. The recording medium in which the program related to the generation of signature data is stored may or may not have tamper resistance.
[0118]
The IC card 100 stores key information in a tamper-resistant recording medium, for example, as described above, and stores a program related to signature data generation or a program related to private key generation and signature data generation in the recording medium. Remember. Then, the IC card 100 selects a program corresponding to the transaction data and executes the selected program to generate signature data corresponding to the transaction data. The IC card 100 is, for example, "an identifier included in the transaction data (for example, an ID indicating the type of transaction) or identification data indicating an identifier acquired together with the transaction data (data indicating an ID indicating the type of transaction)). Select the program corresponding to the transaction data based on. An example of the process related to the selection of the program corresponding to the transaction data will be described later.
[0119]
Therefore, the IC card 100 can generate signature data according to the type of virtual currency.
[0120]
Further, the IC card 100 is a virtual currency version by updating the program for generating the signature data stored in the recording medium or the program for generating the private key and the signature data stored in the recording medium. Even if the encryption method or signature method of the private key changes due to the upload, it can be handled.
[0121]
FIG. 7 is an explanatory diagram showing a second example of processing in the information processing system 1000 according to the present embodiment. FIG. 7 shows the process after the communication between the IC card 100 and the reader 200 is established, as in FIG.
[0122]
A program related to generation of signature data or a program related to generation of private key and generation of signature data is installed on a recording medium included in the IC card 100 (S200). The installation of the program in step S200 includes newly storing the program in the recording medium included in the IC card 100 and updating the program stored in the recording medium.
[0123]
The process of step S200 is performed, for example, via a relay device such as a reader 200 or directly with an external device such as a server 300. Authentication is performed between the IC card 100 and the external device using an arbitrary encryption method such as a common key method or a public key method, and after the authentication is normally completed, the process of step S200 is performed. May be good.
[0124]
The reader 200 transmits transaction data in the same manner as in step S100 of FIG. 6 (S202).
[0125]
The IC card 100 that has received the transaction data transmitted from the reader 200 in step S200 is based on the acquired transaction data and the private key corresponding to the key information stored in the tamper-resistant recording medium. Generate signature data corresponding to transaction data (S204). Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S206).
[0126]
FIG. 8 is an explanatory diagram showing a second example of processing in the information processing system 1000 according to the present embodiment, and is a diagram showing more specifically the processing of steps S202 to S206 shown in FIG. 7. FIG. 8 shows "an example in which the processing of step S204 and the processing of step S206 shown in FIG. 7 are performed by the determination unit constituting the processing unit 110 of the IC card 100".
[0127]
The reader 200 transmits transaction data (S300).
[0128]
The IC card 100 uses, for example, a program corresponding to transaction data based on transaction data and a "correspondence table (or database) in which transaction types and programs are associated with each other" stored in a recording medium. Determine (S302). When the program corresponding to the transaction data is determined, the IC card 100 generates the signature data corresponding to the transaction data by executing the determined program (S304).
[0129]
Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S306).
[0130]
In the information processing system 1000, as the process according to the second example, for example, the processes shown in FIGS. 7 and 8 are performed. Needless to say, the processing according to the second example in the information processing system 1000 is not limited to the examples shown in FIGS. 7 and 8.
[0131]
[2-3] Third Example of Processing in Information Processing System
For example, it is assumed that the target data is transaction data of virtual currency. In addition, the example when the target data shown below is the transaction data of the virtual currency can be applied even when the target data is data other than the transaction data of the virtual currency.
[0132]
Generally, an IC card does not have a display function. Therefore, assuming that the virtual currency is traded using the IC card, the user of the IC card may use the transaction content displayed on the display screen of the display device provided in the external device to be communicated with the IC card, or the relevant transaction content. It is conceivable to confirm the transaction details displayed on the display screen of the display device connected to the external device and allow the transaction.
[0133]
However, when the transaction content is forged or tampered with in the external device to be communicated with the IC card, the IC card user cannot recognize the forgery or tampering of the transaction content, and as a result, it is fraudulent. Remittances may occur.
[0134]
FIG. 9 is an explanatory diagram showing a use case in which transaction contents are forged or tampered with in an external device to be communicated with an IC card. In FIG. 9, a reader 10 is shown as an external device to be communicated with the IC card 100. Examples of the reader 10 include a terminal installed in a store or the like, a communication device such as a smart phone, or the like.
[0135]
In the use case shown in FIG. 9, the transaction content displayed on the display screen of the reader 10 has been tampered with by malware (S10), and transaction data indicating the tampered transaction content has been transmitted to the IC card 100 (S20). ).
[0136]
For example, when signature data is generated based on the transaction data transmitted in step S20 of FIG. 9, a transaction is performed using transaction data indicating the falsified transaction content, and as a result, fraudulent remittance is performed.
[0137]
Therefore, the IC card 100 determines whether or not the set signature conditions are satisfied. The IC card 100 specifies the set signature condition by referring to the data indicating the signature condition stored in the recording medium included in the IC card 100, for example. The recording medium in which the data indicating the signature condition is stored may or may not have tamper resistance.
[0138]
Then, the IC card 100 generates signature data when it is determined that the signature condition is satisfied.
[0139]
Examples of the signature condition according to the present embodiment include the first signature condition regarding the content indicated by the target data. Taking the case where the target data is the transaction data of the virtual currency as an example, the first signature condition is, for example, the following example.
-The amount of virtual currency indicated by the transaction content is less than or equal to the upper limit (or the amount of virtual currency indicated by the transaction content is smaller than the upper limit)
-The total amount of virtual currency traded in the specified period The value is less than or equal to the upper limit (or the total value is less than the upper limit)
-The number of transactions in a predetermined period is less than or equal to the upper limit (or the number of transactions is less than the upper limit) it)
OR conditions of the plurality of conditions shown in above mentioned
[0140]
The first signature condition is not limited to the example shown above. For example, when the target data is virtual currency transaction data, the first signature condition is "the amount of virtual currency indicated by the transaction content is the amount indicated by the data acquired by communication with an external device trusted in advance. May be "matching". Examples of communication with an external device that is trusted in advance include secure communication that is directly performed without going through a relay device such as a reader 200.
[0141]
If the first signature condition is "the amount of virtual currency indicated by the transaction details matches the amount indicated by the data acquired by communicating with an external device that is trusted in advance", the transaction details are forged. Even if the IC card 100 is tampered with, the IC card 100 does not generate signature data based on the fraudulent transaction data in which the transaction contents are forged or tampered with. Therefore, when "the amount of the virtual currency indicated by the transaction content matches the amount indicated by the data acquired by communication with the external device trusted in advance" is the first signature condition, "IC card 100". However, it does not have a display function like a general IC card, and even if the transaction content is forged or tampered with, illegal remittance is prevented.
[0142]
The first signature condition is set by, for example, communication with an external device such as a server 300 performed via a relay device such as a reader 200, or communication with an external device directly performed between the external device and the external device. , Set. The first signature condition is set when, for example, authentication by an arbitrary authentication method capable of authenticating the user of the IC card 100 such as a password or biometric authentication is normally performed. Also, regarding the total value of the amount of virtual currency in the predetermined period related to the first signature condition and the reset of the number of transactions in the predetermined period related to the first signature condition, for example, authentication by an arbitrary authentication method is normal. It is done when it is done in. The communication between the IC card 100 and the external device related to the setting of the first signature condition may be encrypted by using an arbitrary encryption method such as a common key method or a public key method.
[0143]
When the signature condition is the first signature condition as described above, the IC card 100 determines, for example, whether or not the first signature condition is satisfied based on the transaction data. Then, the IC card 100 generates signature data when it is determined that the first signature condition is satisfied.
[0144]
For example, when the first signature condition is "the amount of virtual currency indicated by the transaction content is less than or equal to the upper limit", the IC card 100 has the amount of virtual currency indicated by the transaction data less than or equal to the upper limit. When is, it is determined that the first signature condition is satisfied. For example, when the upper limit value is "1000", the IC card 100 determines that the first signature condition is satisfied when the amount of the virtual currency indicated by the transaction data is "1000" or less. Then, the IC card 100 generates signature data corresponding to the transaction data.
[0145]
If the first signature condition is "the amount of virtual currency indicated by the transaction content is less than or equal to the upper limit", even if the transaction content is forged or tampered with, the user of the IC card 100 will be able to use it. The damage incurred can be limited to the upper limit or less.
[0146]
To give another example, "the total value of the amount of virtual currency traded in a predetermined period is less than or equal to the upper limit" or "the number of transactions in a predetermined period is less than or equal to the upper limit". In the case of the signature condition of 1, the IC card 100 determines whether or not the first signature condition is satisfied based on the transaction data and the history information stored in the recording medium included in the IC card 100.
[0147]
The history information according to the present embodiment is data indicating the generation history of the signature data. The history information includes, for example, data indicating the time when the signature data was generated (for example, data indicating the time when the signature data was generated) and data indicating the content indicated by the target data corresponding to the signature data (for example, transaction content). Data) is recorded in association with it. In addition, data indicating a business partner (for example, an address) may be recorded in association with the history information. When the signature data is generated, the IC card 100 records the history information corresponding to the generated signature data on the recording medium (recording medium constituting the storage unit 104) included in the IC card 100.
[0148]
For example, when the first signature condition is "the total value of the amount of virtual currency traded in a predetermined period is equal to or less than the upper limit value", the IC card 100 has the history information stored in the recording medium. From, the data indicating the time in which the time when the signature data is generated is included in the predetermined period is specified. The IC card 100 specifies a predetermined period based on, for example, a processing time point or a time point when transaction data is acquired. Next, the IC card 100 identifies the data indicating the transaction content associated with the data indicating the specified time from the history information, and the transaction content indicated by the data indicating the specified transaction content and the transaction data. Based on the amount of virtual currency indicated by, "the total value of the amount of virtual currency traded in a predetermined period" is calculated. Then, when the calculated total value is equal to or less than the upper limit value, the IC card 100 determines that the first signature condition is satisfied, and generates signature data corresponding to the transaction data. For example, when the upper limit value is "100,000", the IC card 100 determines that the first signature condition is satisfied when the calculated total value is "100,000" or less. Then, the IC card 100 generates signature data corresponding to the transaction data.
[0149]
If the first signature condition is "the total value of the amount of virtual currency traded in a predetermined period is less than or equal to the upper limit", even if the transaction details are forged or tampered with, the IC card The damage suffered by 100 users can be limited to the upper limit or less.
[0150]
Further, for example, when "the number of transactions in a predetermined period is equal to or less than the upper limit value" is the first signature condition, the IC card 100 generates signature data from the history information stored in the recording medium. Identify time-indicating data that includes a given time in a given period. Next, the IC card 100 calculates the number of transactions by adding "1", which is the number of times of generation of signature data associated with the acquired transaction data, to the number of data indicating the specified time. Then, when the calculated number of transactions is equal to or less than the upper limit value, the IC card 100 determines that the first signature condition is satisfied, and generates signature data corresponding to the transaction data. For example, when the upper limit value is "10", the IC card 100 determines that the first signature condition is satisfied when the calculated number of transactions is "10" or less. Then, the IC card 100 generates signature data corresponding to the transaction data.
[0151]
If "the number of transactions in a predetermined period is less than or equal to the upper limit" is the first signature condition, even if the IC card 100 is illegally used by a third party other than the user, it is illegal. It is possible to limit the number of times it is used for.
[0152]
The IC card 100 determines whether or not the first signature condition is satisfied based on the target data or based on the target data and the history information, for example, as shown in the above example, and sets the first signature condition. If it is determined that the conditions are met, signature data is generated. Needless to say, the example of generating signature data based on the first signature condition is not limited to the example shown above.
[0153]
The processing when the signature condition includes the first signature condition is not limited to the example shown above.
[0154]
For example, when it is not determined that the first signature condition is satisfied, the IC card 100 transmits data indicating a signature data generation error to the external device that has transmitted the transaction data. In the following, data indicating a signature data generation error may be simply referred to as an "error". At this time, the IC card 100 does not have to generate signature data corresponding to the transaction data.
[0155]
Further, for example, when the signature condition further includes a second signature condition related to a predetermined authentication, if it is not determined that the first signature condition is satisfied, the IC card 100 may be a reader 200 or the like. Based on the data acquired from the external device of the above, it is determined whether or not the second signature condition is satisfied.
[0156]
The second signature condition includes a signature condition related to the verification of the predetermined signature data, such as "the verification of the signature data corresponding to the predetermined external device is completed normally". The IC card 100 has a second signature when, for example, the signature data included in the acquired data can be verified using the public key stored in the tamper-resistant recording medium included in the IC card 100. Judge that the condition is satisfied. A device corresponding to a public key stored in a tamper-resistant recording medium, that is, a device that generates signature data with a private key paired with the public key, is a predetermined external device according to a second signature condition. Corresponds to.
[0157]
The second signature condition is not limited to the example shown above. For example, the second signature condition may be "authentication by an arbitrary authentication method capable of authenticating the user of the IC card 100 such as a password or biometric authentication has been normally completed".
[0158]
If it is determined that the second signature condition is satisfied, the IC card 100 generates signature data. In this case, the signature data is generated even though it is not determined that the first signature condition is satisfied. That is, the generation of the signature data based on the satisfaction of the second signature condition is an exception to the generation of the signature data in the IC card 100 in which the signature data is generated without satisfying the first signature condition.
[0159]
If it is not determined that the second signature condition is satisfied, the IC card 100 transmits an authentication request requesting a predetermined authentication to an external device such as the reader 200.
[0160]
The authentication request according to the present embodiment changes according to, for example, the second signature condition. As an example, when the second signature condition is "verification of the signature data corresponding to the predetermined external device is completed normally", the authentication request is the transmission of the signature data corresponding to the predetermined external device. The instruction and data indicating a predetermined external device (for example, data indicating an IP address, a public key, etc.) are included. To give another example, when the second signature condition is "authentication by an arbitrary authentication method capable of authenticating the user of the IC card 100 is completed normally", the authentication request is authentication. The instruction and data indicating the authentication content are included.
[0161]
If data is acquired from an external device such as a reader 200 within a predetermined period after transmitting the authentication request, does the IC card 100 satisfy the second signature condition based on the acquired data, for example? Is determined again. The predetermined period may be a fixed period set or a period during which a session is established with an external device.
[0162]
When it is determined that the second signature condition is satisfied by the determination again, the IC card 100 generates signature data. If it is not determined by the second determination that the second signature condition is satisfied, the IC card 100 transmits data indicating a signature data generation error to the external device that transmitted the data. If it is not determined by the re-determination that the second signature condition is satisfied, the IC card 100 may retransmit the authentication request.
[0163]
The processing of the IC card 100 after transmitting the authentication request is not limited to the example shown above.
[0164]
For example, the IC card 100 may perform the determination related to the first signature condition and the determination related to the second signature condition again. When the determination relating to the first signature condition and the determination relating to the second signature condition are performed again, the IC card 100 performs the same processing as in the case of performing the first time. When the determination relating to the first signature condition and the determination relating to the second signature condition are performed again, if the processing is performed in the same manner as in the case of performing the first time, as described above, the first signature condition The signature data is generated when it is determined that the above conditions are satisfied, or when it is determined that the second signature condition is satisfied. When the determination relating to the first signature condition and the determination relating to the second signature condition are performed again, the IC card 100 can be used only when both the first signature condition and the second signature condition are satisfied. , Signature data may be generated.
[0165]
FIG. 10 is an explanatory diagram showing a third example of processing in the information processing system 1000 according to the present embodiment. FIG. 10 shows the process after the communication between the IC card 100 and the reader 200 is established, as in FIG.
[0166]
Signature conditions are set on the recording medium included in the IC card 100 (S400). FIG. 10 shows an example in which "the amount of virtual currency indicated by the transaction content is $ 10 or less" is set as the first signature condition.
[0167]
The reader 200 transmits transaction data in the same manner as in step S100 of FIG. 6 (S402). In step S402, an example is shown in which the transaction content indicated by the transaction data satisfies the first signature condition. Therefore, the IC card 100 that has received the transaction data transmitted from the reader 200 in step S402 generates signature data corresponding to the transaction data, and transmits the data including the generated signature data to the reader 200 (S404). ..
[0168]
The reader 200 transmits transaction data in the same manner as in step S100 of FIG. 6 (S406). In step S406, an example is shown in which the transaction content indicated by the transaction data does not satisfy the first signature condition. Therefore, the IC card 100 that has received the transaction data transmitted from the reader 200 in step S406 transmits the data indicating the signature data generation error to the reader 200 (S408).
[0169]
FIG. 11 is an explanatory diagram showing a third example of processing in the information processing system 1000 according to the present embodiment. FIG. 11 is a diagram showing the processing in the IC card 100 more concretely than in FIG. FIG. 11 shows “an example in which processing in the IC card 100 is performed by the determination unit and the signature unit constituting the processing unit 110 included in the IC card 100”. In FIG. 11, the history information is shown as “signature history”.
[0170]
The reader 200 transmits transaction data (S500).
[0171]
The IC card 100 refers to the signature condition and the history information stored in the recording medium (S502, S504), and determines whether the transaction content indicated by the transaction data satisfies the first signature condition (S506).
[0172]
When it is determined in step S506 that the first signature condition is satisfied, the IC card 100 has the acquired transaction data and the private key corresponding to the key information stored in the tamper resistant recording medium. The signature data corresponding to the transaction data is generated based on (S508). Further, the IC card 100 records the history information corresponding to the generated signature data on the recording medium constituting the storage unit 104 (S510). Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S512).
[0173]
If it is not determined in step S506 that the first signature condition is not satisfied, the IC card 100 transmits data indicating a signature data generation error to the reader 200 (S512).
[0174]
If it is not determined in step S506 that the first signature condition is satisfied, the IC card 100 may send an authentication request to the reader 200 (S512).
[0175]
FIG. 12 is an explanatory diagram showing a third example of processing in the information processing system 1000 according to the present embodiment. FIG. 12 shows an example of processing when an authentication request is transmitted in step S512 of FIG. FIG. 12 shows "an example in which processing in the IC card 100 is performed by the verification unit, the determination unit, and the signature unit constituting the processing unit 110 included in the IC card 100".
[0176]
The reader 200 transmits the authentication data and the transaction data (S600, S602).
[0177]
The IC card 100 that has received the authentication data transmitted from the reader 200 in step S600 verifies the received authentication data (S604). For example, when the authentication data is signature data, the IC card 100 verifies the signature data using the public key stored in the recording medium included in the IC card 100.
[0178]
In the IC card 100 that has received the transaction data transmitted from the reader 200 in step S602, for example, as in steps S502 to S506 of FIG. 11, the transaction content indicated by the transaction data with reference to the signature condition sets the first signature condition. It is determined whether the conditions are satisfied, and it is determined whether the second signature condition is satisfied based on the verification result in step S604 (S606, S608).
[0179]
The IC card 100 corresponds to the transaction data based on the acquired transaction data based on the determination result in step S608 and the secret key corresponding to the key information stored in the recording medium having tamper resistance. Generate signature data (S610). The IC card 100 generates signature data corresponding to transaction data, for example, when it is determined that the first signature condition is satisfied, or when it is determined that the second signature condition is satisfied. Further, the IC card 100 may generate signature data only when both the first signature condition and the second signature condition are satisfied, for example.
[0180]
Although not shown in FIG. 12, the IC card 100 may record the history information corresponding to the generated signature data on the recording medium constituting the storage unit 104, as in step S510 of FIG. ..
[0181]
When the signature data corresponding to the transaction data is generated in step S610, that is, when it is determined that the signature condition is satisfied, the IC card 100 transmits the data including the generated signature data to the reader 200. (S612). Further, if the signature data corresponding to the transaction data is not generated in step S610, that is, if it is not determined that the signature condition is satisfied, the IC card 100 transmits data indicating a signature data generation error to the reader 200. (S612).
[0182]
In the information processing system 1000, for example, the processes shown in FIGS. 10 to 12 are performed as the processes according to the third example. Needless to say, the processing according to the third example in the information processing system 1000 is not limited to the examples shown in FIGS. 10 to 12.
[0183]
[2-4] Fourth example of processing in the information processing system In
addition, "Impact when the content of the target data is forged or tampered with as in the use case of illegal remittance explained with reference to FIG. The processing that can be reduced is not limited to the processing according to the third example in the information processing system 1000. Hereinafter, the process according to the fourth example will be described by taking the case where the target data is the transaction data of the virtual currency as an example, similarly to the process according to the third example in the information processing system.
[0184]
For example, in the case of "when the transaction content indicated by the transaction data is verified by a device trusted in advance (external device of the IC card 100) and it is guaranteed that the content of the transaction data has not been forged or tampered with". Even if it is not determined whether the IC card 100 satisfies the first signature condition regarding the content indicated by the target data, it is possible to reduce the influence when the content of the target data is forged or tampered with. ..
[0185]
Therefore, the IC card 100 determines whether or not the second signature condition (an example of the set signature condition) relating to the predetermined authentication is satisfied.
[0186]
Then, the IC card 100 generates signature data when it is determined that the second signature condition is satisfied. The second signature condition related to the process according to the fourth example is "the verification of the signature data corresponding to the predetermined external device is completed normally".
[0187]
The IC card 100 has a second signature when, for example, the signature data included in the acquired data can be verified using the public key stored in the tamper-resistant recording medium included in the IC card 100. Judge that the condition is satisfied. A device corresponding to a public key stored in a tamper-resistant recording medium, that is, a device that generates signature data with a private key paired with the public key, is a predetermined external device according to a second signature condition. Corresponds to. Further, the predetermined external device according to the second signature condition corresponds to a device that is trusted in advance.
[0188]
If it is not determined that the second signature condition is satisfied, the IC card 100, for example, similarly to the process according to the third example, outputs data indicating a signature data generation error to an external device such as a reader 200. Send to. If it is not determined that the second signature condition is satisfied, the IC card 100 may transmit an authentication request to the external device, for example, as in the process according to the third example.
[0189]
The process according to the fourth example in the IC card 100 is not limited to the example shown above. For example, the IC card 100 may generate signature data when both the first signature condition and the second signature condition are satisfied, as in the case of the example of the process according to the third example.
[0190]
Hereinafter, an example of the process according to the fourth example in the information processing system 1000 will be described by taking as an example the case where the predetermined external device according to the second signature condition, that is, the device trusted in advance is the server 300. explain.
[0191]
FIG. 13 is an explanatory diagram showing a fourth example of processing in the information processing system 1000 according to the present embodiment. In FIG. 13, the server 300 is referred to as a “trusted server” for convenience in order to show that the server 300 is a device that is trusted in advance.
[0192]
The reader 200 transmits the transaction data to the server 300 (S700).
[0193]
The server 300 that has received the transaction data transmitted from the reader 200 in step S700 verifies the transaction data, generates signature data corresponding to the server 300 when the transaction data is verified normally, and uses the generated signature data as the reader 200. (S702). The server 300 verifies the transaction data by, for example, determining whether or not the signature condition is satisfied, as in the process of the IC card 100 in the third example. Further, the server 300 generates signature data corresponding to the transaction data based on, for example, the transaction data and the private key corresponding to the server 300. In the following, the signature data corresponding to the transaction data generated in the server 300 may be referred to as "signature data corresponding to the server 300" or "server signature".
[0194]
The server 300 is a device that transmits transaction data based on one or both of the ID of the reader 200 that transmitted the transaction data and the ID that indicates the location where the reader 200 is installed (for example, a store ID). May be authenticated. The server 300 authenticates the device that has transmitted the transaction data by, for example, comparing the white list or the blacklist with the ID of the reader 200 that has transmitted the transaction data. When authenticating the device that has transmitted the transaction data, the server 300 may generate the signature data corresponding to the server 300 when the authentication of the device that has transmitted the transaction data is normally completed.
[0195]
Upon receiving the signature data corresponding to the server 300 transmitted from the server 300 in step S702, the reader 200 transmits the transaction data and the signature data corresponding to the server 300 to the IC card 100 (S704).
[0196]
The reader 200 may further authenticate the device that has transmitted the signature data based on the ID of the server 300 that has transmitted the signature data. The reader 200 authenticates the device that has transmitted the signature data, for example, by comparing the white list or blacklist with the ID of the server 300 or the like. When authenticating the device that transmitted the signature data, the reader 200 transmits the transaction data and the signature data corresponding to the server 300 to the IC card 100 when the authentication of the device that has transmitted the signature data is normally completed. ..
[0197]
The IC card 100 that has received the data transmitted from the reader 200 in step S704 verifies the signature data corresponding to the server 300 included in the received data (S706). For example, the IC card 100 verifies the signature data using the public key stored in the recording medium included in the IC card 100.
[0198]
In the IC card 100, for example, "the signature data corresponding to the server 300 is verified in step S706, and the content of the transaction data obtained as a result of the verification matches the content of the transaction data included in the received data. In the case ", the signature data corresponding to the transaction data is generated based on the acquired transaction data and the private key corresponding to the key information stored in the recording medium having tamper resistance (S708). Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S710).
[0199]
Further, the IC card 100 is, for example, "when the signature data corresponding to the server 300 is not verified in step S706" or "the content of the transaction data obtained as a result of the verification and the content of the transaction data included in the received data". If they do not match, data indicating a signature data generation error may be transmitted to the reader 200.
[0200]
FIG. 14 is an explanatory diagram showing a fourth example of processing in the information processing system 1000 according to the present embodiment. FIG. 14 is a diagram showing the processing in the information processing system 1000 shown in FIG. 13 more concretely than in FIG. FIG. 14 shows "an example in which the processing in the server 300 is performed by the determination unit and the signature unit constituting the control unit of the server 300". Further, FIG. 14 shows "an example in which processing in the IC card 100 is performed by the verification unit, the determination unit, and the signature unit constituting the processing unit 110 included in the IC card 100". Further, FIG. 14 shows an example in which the IC card 100 generates signature data when both the first signature condition and the second signature condition are satisfied.
[0201]
The reader 200 transmits the transaction data to the server 300 (S800).
[0202]
The server 300 that has received the transaction data transmitted from the reader 200 in step S800 determines whether or not the signature condition is satisfied, as in the process of the IC card 100 in the third example, for example (S802). Further, the signature condition on the server 300 may include "the device that transmitted the transaction data could be authenticated". When "the device that transmitted the transaction data can be authenticated" is included in the signature condition, the server 300 uses the reader 200 (transmits the transaction data) based on, for example, the ID of the reader 200 transmitted from the ID of the reader 200. Authenticate (an example of the device).
[0203]
The server 300 selectively generates signature data corresponding to the server 300 based on the determination result in step S802 (S804). When it is determined in step S802 that the signature condition is satisfied, the server 300 generates the signature data corresponding to the server 300 based on the transaction data and the private key corresponding to the server 300. In the following, the signature data corresponding to the server 300 may be referred to as “authentication data”.
[0204]
When the signature data corresponding to the server 300 is generated in step S804, the server 300 transmits the signature data corresponding to the server 300 to the reader 200 (S806).
[0205]
The reader 200 that has received the signature data corresponding to the server 300 transmitted from the server 300 in step S806 transmits the signature data corresponding to the server 300 and the transaction data to the IC card 100 (S808, S810).
[0206]
The IC card 100 that has received the signature data corresponding to the server 300 transmitted from the reader 200 in step S808 verifies the signature data corresponding to the received server 300 (S812). The IC card 100 verifies the signature data using, for example, a public key stored in a recording medium included in the IC card 100.
[0207]
The IC card 100 that has received the transaction data transmitted from the reader 200 in step S810 has the first signature condition as the transaction content indicated by the transaction data with reference to the signature conditions, as in steps S606 and S608 of FIG. It is determined whether the conditions are satisfied, and it is determined whether the second signature condition is satisfied based on the verification result in step S812 (S814, S816).
[0208]
The IC card 100 corresponds to the transaction data based on the acquired transaction data based on the determination result in step S816 and the secret key corresponding to the key information stored in the recording medium having tamper resistance. Generate signature data (S818). The IC card 100 generates signature data, for example, when both the first signature condition and the second signature condition are satisfied. The IC card 100 may generate signature data corresponding to the transaction data when it is determined that the second signature condition is satisfied, for example.
[0209]
Although not shown in FIG. 14, the IC card 100 may record the history information corresponding to the generated signature data on the recording medium constituting the storage unit 104, as in step S510 of FIG. ..
[0210]
When the signature data corresponding to the transaction data is generated in step S818, that is, when it is determined that the signature condition is satisfied, the IC card 100 transmits the data including the generated signature data to the reader 200. (S820). Further, if the signature data corresponding to the transaction data is not generated in step S818, that is, if it is not determined that the signature condition is satisfied, the IC card 100 transmits data indicating a signature data generation error to the reader 200. (S820).
[0211]
The process according to the fourth example in the information processing system 1000 is not limited to the examples shown in FIGS. 13 and 14.
[0212]
For example, the server 300 transmits an authentication request to an external device as in the process of the IC card 100 in the third example, and selectively selects signature data corresponding to the server 300 based on the authentication result for the authentication request. It may be generated.
[0213]
The server 300 is, for example, a device associated with the ID of the IC card 100, an email address associated with the ID of the IC card 100, and an SNS (Social Networking Service) associated with the ID of the IC card 100. ), An authentication request is sent to an application corresponding to the ID of the IC card 100. As a device associated with the ID of the IC card 100, a device owned by the user (hereinafter, referred to as a "user terminal") such as a smartphone owned by the user of the IC card 100 is used. Can be mentioned. The server 300 acquires the ID of the IC card 100 by communicating with the IC card 100 via a relay device such as a reader 200, or by directly communicating with the IC card 100.
[0214]
As the authentication for the authentication request, for example, an arbitrary authentication method capable of authenticating the user of the IC card 100 such as authentication by pressing the confirmation button in an application running on the user terminal, password, biometric authentication, etc. Authentication by. Further, the authentication for the authentication request is not limited to the authentication of the user of the IC card 100. For example, the authentication for the authentication request may be the authentication of a person associated with the user, such as a guardian or guardian of the user of the IC card 100. Examples of the authentication of the person associated with the user include authentication by a password or biometric authentication, verification of signature data by a device associated with the person associated with the user, and the like.
[0215]
FIG. 15 is an explanatory diagram showing a fourth example of processing in the information processing system 1000 according to the present embodiment. In FIG. 15, as in FIG. 13, the server 300 is referred to as a “trusted server” for convenience because it indicates that the server 300 is a device that is trusted in advance. Further, FIG. 15 shows an example in which the device to which the authentication request is transmitted is the “user terminal 400”.
[0216]
The reader 200 transmits the transaction data to the server 300 (S900).
[0217]
The server 300 that has received the transaction data transmitted from the reader 200 in step S900 verifies the transaction data in the same manner as in step S702 of FIG. 13, and transmits an authentication request to the user terminal 400 based on the verification result (S902).
[0218]
The user terminal 400 that has received the authentication request transmitted from the server 300 in step S902 authenticates by a method corresponding to the authentication request (S904). Then, the user terminal 400 transmits the authentication result in step S904 to the server 300 (S906).
[0219]
The server 300 that has received the authentication result transmitted from the user terminal 400 in step S906 generates signature data corresponding to the server 300 when it indicates that the authentication result has been successfully authenticated, and reads the generated signature data. It is transmitted to 200 (S908). As in the example of FIG. 13, the server 300 may further authenticate the device that has transmitted the transaction data based on the ID of the reader 200 that has transmitted the transaction data.
[0220]
The reader 200 that has received the signature data corresponding to the server 300 transmitted from the server 300 in step S908 transmits the transaction data and the signature data corresponding to the server 300 to the IC card 100 (S910). The reader 200 may further authenticate the device that has transmitted the signature data based on the ID of the server 300 that has transmitted the signature data, as in the example of FIG.
[0221]
The IC card 100 that has received the data transmitted from the reader 200 in step S910 verifies the signature data corresponding to the server 300 included in the received data, for example, in the same manner as in step S706 of FIG. 13 (S912).
[0222]
In the IC card 100, for example, "the signature data corresponding to the server 300 is verified in step S912, and the content of the transaction data obtained as a result of the verification matches the content of the transaction data included in the received data. In the case ", the signature data corresponding to the transaction data is generated based on the acquired transaction data and the private key corresponding to the key information stored in the recording medium having tamper resistance (S914). Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S916).
[0223]
Further, the IC card 100 is, for example, "when the signature data corresponding to the server 300 is not verified in step S912" or "the content of the transaction data obtained as a result of the verification and the content of the transaction data included in the received data". If they do not match, data indicating a signature data generation error may be transmitted to the reader 200.
[0224]
In the information processing system 1000, for example, the processes shown in FIGS. 13 to 15 are performed as the processes according to the fourth example. Needless to say, the processing according to the fourth example in the information processing system 1000 is not limited to the examples shown in FIGS. 13 to 15.
[0225]
[2-5] Fifth example of processing in the information processing system In
addition, "Impact when the content of the target data is forged or tampered with as in the use case of illegal remittance explained with reference to FIG. The "processes that can be reduced" are not limited to the processes according to the third example in the information processing system 1000 and the processes according to the fourth example in the information processing system 1000.
[0226]
For example, in the information processing system 1000, the IC card 100 and the server 300 may each transmit an authentication request to an external device.
[0227]
FIG. 16 is an explanatory diagram showing a fifth example of processing in the information processing system according to the present embodiment.
[0228]
The reader 200 transmits transaction data (S1000).
[0229]
The IC card 100 that has received the transaction data transmitted from the reader 200 in step S1000 determines whether or not the signature condition is satisfied, for example, as in the process of the IC card 100 in the third example (S1002).
[0230]
If it is not determined in step S1002 that the signature condition is satisfied, the IC card 100 transmits an authentication request to the reader 200 (S1004).
[0231]
The reader 200 that has received the authentication request transmitted from the IC card 100 in step S1004 transmits the authentication request to the server 300 (S1006). At this time, the reader 200 may further transmit transaction data to the server 300.
[0232]
The server 300 that has received the authentication request transmitted from the reader 200 in step S1006 determines whether or not the signature condition is satisfied, for example, as in the process of the server 300 in the fourth example (S1008).
[0233]
If it is not determined in step S1008 that the signature condition is satisfied, the server 300 transmits an authentication request to the user terminal 400 (S1010). At this time, the server 300 may further transmit transaction data to the user terminal 400.
[0234]
The user terminal 400 that has received the authentication request transmitted from the server 300 in step S1010 authenticates, for example, in the same manner as in step S904 of FIG. 15 (S1012). Then, the user terminal 400 transmits the authentication result to the server 300 (S1014). At this time, the user terminal 400 may further transmit authentication data (for example, signature data) corresponding to the authentication to the server 300.
[0235]
Upon receiving the transmission result transmitted from the user terminal 400 in step S1014, the server 300 receives the signature data corresponding to the server 300 when it indicates that the authentication result has been successfully authenticated, for example, as in step S908 of FIG. It is generated (S1016), and the generated signature data is transmitted to the reader 200 (S1018). At this time, the server 300 may further transmit the authentication data acquired from the user terminal 400 to the reader 200.
[0236]
Upon receiving the signature data corresponding to the server 300 transmitted from the server 300 in step S1018, the reader 200 transmits the transaction data and the signature data corresponding to the server 300 to the IC card 100 (S1020). At this time, the reader 200 may further transmit the authentication data acquired from the user terminal 400 to the IC card 100.
[0237]
The IC card 100 that has received the data transmitted from the reader 200 in step S1020 determines whether or not the signature condition is satisfied, for example, in step S816 of FIG. 14 (S1022). When it is determined in step S1022 that the signature condition is satisfied, the IC card 100 generates signature data, for example, in the same manner as in step S818 of FIG. 14 (S1024). Then, the IC card 100 transmits the data including the generated signature data to the reader 200 (S1026).
[0238]
In the information processing system 1000, for example, the process shown in FIG. 16 is performed as the process according to the fifth example.
[0239]
The process according to the fifth example in the information processing system 1000 is not limited to the example shown in FIG. For example, the IC card 100 may transmit a plurality of authentication requests to the reader 200, which request authentication for each of the plurality of external devices. When the IC card 100 transmits a plurality of authentication requests, the IC card 100 selectively generates signature data based on the verification results of the plurality of authentication data corresponding to each of the plurality of authentication requests. At this time, the IC card 100 may generate signature data when all the authentication data corresponding to the plurality of authentication requests are verified, or some authentication data corresponding to the plurality of authentication requests are verified. If this is the case, signature data may be generated.
[0240]
[2-6] Sixth Example of
Processing in the Information System In the information processing system 1000, "Processing according to the first example in the information information system 1000 to processing according to the fifth example in the information system 1000" Of these, a process that combines two or more processes that can be combined may be performed.
[0241]
As an example, the information processing system 1000 is described as "any of the processing according to the third example in the information processing system 1000 to the processing according to the fifth example in the information processing system 1000, and the processing in the information processing system 1000. It is possible to perform "processing in combination with the processing according to the second example". In this case, the IC card 100 can reduce the influence of forgery or falsification of the contents of the target data, and can be flexibly adapted to any target data by executing the program corresponding to the target data. Can be dealt with.
[0242]
[2-7] Other Examples of Processing in the Information Processing System The processing in the
information processing system 1000 relates to the processing according to the first example in the information processing system 1000 to the sixth example in the information processing system 1000. Not limited to processing. For example, in the information processing system 1000, in addition to the processes related to the first example in the information processing system 1000 to the processes related to the sixth example in the information processing system 1000, the following (a) and (b) are further performed. The processing shown in may be performed.
[0243]
(A) For example, when the IC card 100 and the server 300 shown in FIG. 1 communicate with each other via the reader 200 or directly, the IC card 100 and the server 300 first have a predetermined key method or the like. Mutual authentication may be performed using a method, and communication related to transmission / reception of various data may be performed after mutual authentication is normally completed. In this case, the server 300 for which mutual authentication has been normally completed corresponds to a device that is trusted in advance from the viewpoint of the IC card 100.
[0244]
That is, when communication related to transmission / reception of various data is performed after mutual authentication is normally completed, the IC card 100 utilizes communication with a trusted device to perform the above-mentioned processing related to transaction data. Processing related to the target data as in the example can be performed.
[0245]
Therefore, when communication related to transmission / reception of various data is performed after the mutual authentication is normally completed, the processing in the information processing system 1000 can be made more secure.
[0246]
Further, "performing mutual authentication using a common key method and performing communication related to transmission / reception of various data after mutual authentication is normally completed" is implemented, for example, in communication by NFC of Type-F. Therefore, it is considered that it is relatively easy to implement a mechanism for transmitting and receiving various data in the information processing system 1000 after mutual authentication is normally completed.
[0247]
(B) As described in (a) above, when communication related to transmission / reception of various data is performed between the IC card 100 and the server 300 after the mutual authentication is normally completed, the server 300 acquires from the IC card 100. The processing related to the IC card 100 may be selectively performed based on the ID of the IC card 100 to be performed.
[0248]
Examples of the ID of the IC card 100 include an ID unique to the IC card 100, such as a manufacturing ID. The ID of the IC card 100 may be an ID assigned to the IC card 100 by the service business that provides the service corresponding to the IC card 100.
[0249]
The server 300 has, for example, a "table (or database) in which the acquired ID of the IC card 100 and the ID of the IC card 100 and data (for example, a flag) indicating whether or not the processing can be executed are stored in association with each other". Based on, it is determined whether or not the IC card 100 is the execution target of the process. The content of the data indicating whether or not the processing can be executed is changed by, for example, the user of the IC card 100 applying to the administrator who manages the server 300 (for example, a business operator who provides the service). To.
[0250]
Then, the server 300 performs the processing related to the IC card 100 when it is determined that the processing is to be executed. Further, the server 300 does not perform the processing related to the IC card 100 when it is not determined that the processing is to be executed.
[0251]
For example, as described above, by selectively performing the processing related to the IC card 100, the account control of the IC card 100 using the ID of the IC card 100 is realized.
[0252]
Further, when the data related to the user of the IC card 100 is stored in association with the table in which the ID of the IC card 100 is stored, the server 300 can also notify the user. .. The data related to the user includes data indicating the notification destination, such as an e-mail address and an SNS account.
[0253]
For example, when communication is performed with the IC card 100 when the execution of processing related to the IC card 100 is restricted by the application of the user of the IC card 100, the server 300 uses the IC card 100. Notifies the contact indicated by the data about the user that the IC card 100 has been used without executing the process related to. By giving the notification as described above, the user of the IC card 100 can recognize that the IC card 100 has been used illegally.
[0254]
2. 2. Program according to
this embodiment [I] A program for making a program
computer function as an IC card according to this embodiment realize a program for making a computer function as an IC card according to this embodiment (for example, the function of the processing unit 110). By executing the program) in a computer by a processor or the like, it is possible to generate signature data corresponding to the target data to be recorded in the P2P database while preventing leakage of key information.
[0255]
Further, when the program for making the computer function as the IC card according to the present embodiment is executed by a processor or the like in the computer, the effect produced by the processing in the information processing system 1000 according to each of the above-described examples can be obtained. Can play.
[0256]
[II] A program for functioning as a server (information processing device) according
to the present embodiment A program for functioning a computer as a server (information processing device) according to the present embodiment (for example, a control unit of the server 300). By executing the function (a program capable of realizing the function) by a processor or the like in a computer, the effect produced by the processing in the information processing system 1000 according to each example related to the server 300 described above can be achieved. Can be done.
[0257]
Although the preferred embodiments of the present disclosure have been described in detail with reference to the accompanying drawings, the technical scope of the present disclosure is not limited to such examples. It is clear that anyone with ordinary knowledge in the technical field of the present disclosure may come up with various modifications or modifications within the scope of the technical ideas set forth in the claims. Is, of course, understood to belong to the technical scope of the present disclosure.
[0258]
For example, in the above, it has been shown that a program (computer program) for making a computer function as an IC card according to the present embodiment is provided, but the present embodiment also includes a recording medium in which the above program is stored. Can be provided.
[0259]
The configuration described above is an example of the present embodiment and naturally belongs to the technical scope of the present disclosure.
[0260]
In addition, the effects described herein are merely explanatory or exemplary and are not limited. That is, the techniques according to the present disclosure may exhibit other effects apparent to those skilled in the art from the description herein, in addition to or in place of the above effects.
[0261]
The following configurations also belong to the technical scope of the present disclosure.
(1)
and a communication unit that communicates with an external device,
a storage unit having a tamper-resistant for storing key information indicating a seed value for generating a secret key or the secret key forms a public key pair,
the communication The signature data corresponding to the target data is generated and generated based on the target data to be recorded in the P2P database acquired from the external device by the communication in the unit and the private key corresponding to the key information. An
IC card including a processing unit that controls transmission of data including signature data to the external device by communication in the communication unit .
(2) The
storage unit having tamper resistance or the storage unit not having tamper resistance stores the program related to the generation of the signature data or the program related to the generation of the private key and the generation of the signature data.
The IC card according to (1) above , wherein the processing unit determines the program corresponding to the target data, and generates the signature data by executing the determined program.
(3) The
processing unit
determines whether the set signature condition is satisfied, and if it is determined that the
signature condition is satisfied , the processing unit generates the signature data, according to the above (1) or (2). IC card described in.
(4)
The signature condition includes a first signature condition relating to the content indicated by the target data, and the
processing unit
determines whether or not the first signature condition is satisfied based on the target data, and
the first The IC card according to (3) above, which generates the signature data when it is determined that the signature conditions of the above are satisfied.
(5) The
storage unit having tamper resistance or the storage unit not having tamper resistance stores history information indicating the generation history of the signature data, and the
processing unit is further based on the history information. The IC card according to (4) above, which determines whether or not the first signature condition is satisfied.
(6)
When the signature data is generated, the processing unit transfers the history information corresponding to the generated signature data to the tamper-resistant storage unit or the non-tamper-resistant storage unit. The IC card according to (5) above for recording.
(7) If the
processing unit does not determine that the first signature condition is satisfied, the processing unit controls to transmit data indicating an error in generating the signature data to the external device by communication in the communication unit. , The IC card according to any one of (4) to (6) above.
(8)
The signature condition further includes a second signature condition relating to a predetermined authentication, and the
processing unit may use the processing unit.
When it is not determined that the first signature condition is satisfied, it is determined whether the second signature condition is satisfied based on the data acquired from the external device by the communication in the communication unit, and the second signature condition is satisfied
. If it is determined that the signature condition is satisfied, the signature data is generated,
and if it is not determined that the second signature condition is not satisfied, the authentication request requesting the predetermined authentication is sent to the communication. The IC card according to any one of (4) to (6) above, which controls transmission to the external device by communication in the unit.
(9) The
target data is transaction data of virtual currency, and
the first signing condition is that
the amount of virtual currency indicated by the transaction content of the transaction data is equal to or less than the upper limit value, or the transaction content. and it is the amount of virtual currency of less than the upper limit value,
and that, or said total value is smaller than the upper limit sum of the amounts of virtual currency traded in a predetermined time period is less than the upper limit value,
a predetermined
Any of the above (4) to (8), wherein the number of transactions in the period is not less than the upper limit, or the number of transactions is smaller than the upper limit , or a combination is included. The IC card described in one.
(10)
The signature condition includes a second signature condition related to a predetermined authentication, and the
processing unit is subjected to the processing unit.
Based on the data acquired from the external device by the communication in the communication unit, it is determined whether or not
the second signature condition is satisfied, and when it is determined that the second signature condition is satisfied, the signature is obtained. The IC card according to (3) above, which generates data.
(11)
When the processing unit does not determine that the second signature condition is satisfied, the processing unit controls to transmit data indicating an error in generating the signature data to the external device by communication in the communication unit. , The IC card according to (10) above.
(12)
When the processing unit does not determine that the second signature condition is satisfied, the processing unit controls to transmit an authentication request requesting the predetermined authentication to the external device by communication in the communication unit. , The IC card according to (10) above.
(13)
The IC card according to any one of (1) to (12) above, wherein the target data is transaction data of virtual currency.
(14)
The IC card according to any one of (1) to (13) above, wherein the communication unit performs wireless communication with an external device.
(15)
The IC card according to (14) above, wherein the wireless communication is communication by NFC (Near Field Communication).
(16)
The IC card according to any one of (1) to (13) above, wherein the communication unit performs wired communication with an external device.
(17)
The IC card according to (16) above, wherein the wired communication is contact communication via an external contact terminal.
(18)
performing a communication with an external device,
wherein the communication in the step of performing the communication acquired from an external device, and target data to be recorded in the P2P database and stored in a recording medium having a tamper-resistant public A step of generating signature data corresponding to the target data based on the private key paired with the key or the private key corresponding to the key information indicating the seed value for generating the private key, and the
generation.
A processing method executed by an IC card , comprising a step of controlling transmission of data including the signature data generated in the step to the external device by communication in the step of performing the communication .
(19)
and the IC card,
and verify the contents of the target data to be recorded in the P2P database, and an information processing apparatus for generating a predetermined signature data according to the verification results,
have,
the IC card
communicates with an external device A communication unit that performs information processing, a
private key paired with a public key, or a tamper-resistant storage unit that stores key information indicating a seed value for generating the private key.
Based on the target data acquired from the external device by communication in the communication unit and the secret key corresponding to the key information, signature data corresponding to the target data is generated, and the generated signature data is generated. The processing unit
includes a processing unit that controls transmission of the included data to the external device by communication in the communication unit, and the
processing unit
satisfies the signature condition for verification of the predetermined signature data corresponding to the information processing device. An
information processing system that generates the signature data corresponding to the target data when it is determined whether or not the signature data is satisfied.
Code description
[0262]
10, 200 Reader
100 IC card
102 Communication unit
104 Storage unit
106 Control unit
110 Processing unit
300 Server
400 User terminal
1000 Information processing system
The scope of the claims
[Claim 1]
Communication between a communication unit that communicates with an external device,
a tamper-resistant storage unit that stores a private key paired with a public key or key information indicating a seed value for generating the private key, and a
communication unit. Based on the target data to be recorded in the P2P database acquired from the external device and the private key corresponding to the key information, the signature data corresponding to the target data is generated, and the generated signature data is generated. An
IC card including a processing unit that controls transmission of included data to the external device by communication in the communication unit .
[Claim 2]
Storage unit having a tamper-resistant, or in the storage unit does not have a tamper-resistant program relates to the generation of the signature data, or, the secret key generation and program on the generation of the signature data is stored,
the The IC card according to claim 1, wherein the processing unit determines the program corresponding to the target data, and generates the signature data by executing the determined program.
[Claim 3]
The IC card according to claim 1, wherein the processing unit
determines whether or not the set
signature conditions are satisfied, and generates the signature data when it is determined that the signature conditions are satisfied.
[Claim 4]
The signature condition includes a first signature condition relating to the content indicated by the target data, and the
processing unit
determines whether or not the first signature condition is satisfied based on the target data, and
the first The IC card according to claim 3, which generates the signature data when it is determined that the signature conditions of the above are satisfied.
[Claim 5]
The storage unit having tamper resistance or the storage unit not having tamper resistance stores history information indicating the generation history of the signature data, and the
processing unit further bases the history information on the history information. The IC card according to claim 4, which determines whether or not the signature condition of 1 is satisfied.
[Claim 6]
When the signature data is generated, the processing unit records the history information corresponding to the generated signature data in the storage unit having tamper resistance or the storage unit not having tamper resistance. The IC card according to claim 5.
[Claim 7]
The claim that the processing unit controls to transmit data indicating an error in generating the signature data to the external device by communication in the communication unit when it is not determined that the first signature condition is satisfied. The IC card according to 4.
[Claim 8]
The signature condition further includes a second signature condition relating to a predetermined authentication, and if the
processing unit
does not determine that the first signature condition is satisfied, the external device communicates with the communication unit. Based on the acquired data, it is determined whether or not
the second signature condition is satisfied, and if it is determined that the second signature condition is satisfied, the signature data is generated and the second signature condition is satisfied
. The IC card according to claim 4, wherein if it is not determined that the signature condition is satisfied, an authentication request requesting the predetermined authentication is controlled to be transmitted to the external device by communication in the communication unit.
[Claim 9]
The target data is transaction data of virtual currency, and
the first signing condition is that
the amount of virtual currency indicated by the transaction content of the transaction data is equal to or less than the upper limit value, or the virtual currency indicated by the transaction content. The amount of currency is smaller than the upper limit,
the total amount of virtual currency traded in the specified period is less than or equal to the upper limit, or the total value is smaller than the upper limit, and in the
specified period
The IC card according to claim 4 , wherein the number of transactions is equal to or less than the upper limit value, or the number of transactions is smaller than the upper limit value , or a combination thereof is included.
[Claim 10]
The signature condition includes a second signature condition relating to a predetermined authentication, and the
processing unit
satisfies the second signature condition based on data acquired from the external device by communication in the communication unit. and either to determine that,
when it is determined that satisfies the second signature condition, generates the signature data, IC card according to claim 3.
[Claim 11]
The claim that the processing unit controls to transmit data indicating an error in generating the signature data to the external device by communication in the communication unit when it is not determined that the second signature condition is satisfied. The IC card according to 10.
[Claim 12]
The claim that the processing unit controls to transmit an authentication request requesting the predetermined authentication to the external device by communication in the communication unit when it is not determined that the second signature condition is satisfied. The IC card according to 10.
[Claim 13]
The IC card according to claim 1, wherein the target data is transaction data of virtual currency.
[Claim 14]
The IC card according to claim 1, wherein the communication unit wirelessly communicates with an external device.
[Claim 15]
The IC card according to claim 14, wherein the wireless communication is communication by NFC (Near Field Communication).
[Claim 16]
The IC card according to claim 1, wherein the communication unit performs wired communication with an external device.
[Claim 17]
The IC card according to claim 16, wherein the wired communication is contact communication via an external contact terminal.
[Claim 18]
A pair of
the target data to be recorded in the P2P database acquired from the external device by the step of communicating with the external device and the communication in the step of communicating, and the public key stored in the recording medium having tamper resistance. based on said private key corresponding to the key information indicating a seed value for generating a secret key or the secret key forms a, and generating a signature data corresponding to the target data,
generated in the step of generating
A processing method executed by an IC card , comprising a step of controlling transmission of data including the signature data to the external device by communication in the step of performing the communication .
[Claim 19]
And the IC card,
and verify the contents of the target data to be recorded in the P2P database, and an information processing apparatus for generating a predetermined signature data according to the verification result
has,
the IC card
communication communicating with an external device Obtained from the external device by communication
between the unit, a tamper-resistant storage unit that stores a secret key paired with the public key or key information indicating a seed value for generating the private key, and a
communication unit. The signature data corresponding to the target data is generated based on the target data and the private key corresponding to the key information, and the data including the generated signature data is communicated in the communication unit to the external device. A processing unit that controls transmission to the data processing unit is
provided, and the
processing unit
determines whether or not the signature condition for verification of the predetermined signature data corresponding to the information processing apparatus
is satisfied, and satisfies the signature condition. An information processing system that generates the signature data corresponding to the target data when it is determined.
| # | Name | Date |
|---|---|---|
| 1 | 202117004268-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [01-02-2021(online)].pdf | 2021-02-01 |
| 2 | 202117004268-STATEMENT OF UNDERTAKING (FORM 3) [01-02-2021(online)].pdf | 2021-02-01 |
| 3 | 202117004268-PRIORITY DOCUMENTS [01-02-2021(online)].pdf | 2021-02-01 |
| 4 | 202117004268-POWER OF AUTHORITY [01-02-2021(online)].pdf | 2021-02-01 |
| 5 | 202117004268-FORM 1 [01-02-2021(online)].pdf | 2021-02-01 |
| 6 | 202117004268-DRAWINGS [01-02-2021(online)].pdf | 2021-02-01 |
| 7 | 202117004268-DECLARATION OF INVENTORSHIP (FORM 5) [01-02-2021(online)].pdf | 2021-02-01 |
| 8 | 202117004268-COMPLETE SPECIFICATION [01-02-2021(online)].pdf | 2021-02-01 |
| 9 | 202117004268-Proof of Right [19-02-2021(online)].pdf | 2021-02-19 |
| 10 | 202117004268-Verified English translation [12-03-2021(online)].pdf | 2021-03-12 |
| 11 | 202117004268-Proof of Right [26-03-2021(online)].pdf | 2021-03-26 |
| 12 | 202117004268-Proof of Right [09-04-2021(online)].pdf | 2021-04-09 |
| 13 | 202117004268-FORM 3 [24-06-2021(online)].pdf | 2021-06-24 |
| 14 | 202117004268.pdf | 2021-10-19 |
| 15 | 202117004268-FORM 18 [08-07-2022(online)].pdf | 2022-07-08 |
| 16 | 202117004268-FER.pdf | 2022-10-12 |
| 17 | 202117004268-OTHERS [12-04-2023(online)].pdf | 2023-04-12 |
| 18 | 202117004268-FER_SER_REPLY [12-04-2023(online)].pdf | 2023-04-12 |
| 19 | 202117004268-CORRESPONDENCE [12-04-2023(online)].pdf | 2023-04-12 |
| 20 | 202117004268-CLAIMS [12-04-2023(online)].pdf | 2023-04-12 |
| 21 | 202117004268-PatentCertificate01-03-2024.pdf | 2024-03-01 |
| 22 | 202117004268-IntimationOfGrant01-03-2024.pdf | 2024-03-01 |
| 1 | 202117004268E_11-10-2022.pdf |