Sign In to Follow Application
View All Documents & Correspondence

Information Processing Device, Information Processing Method, And Program

Abstract: [Problem] To provide an information processing device, an information processing method, and a program that are capable of improving convenience in a device in which a virtual machine can be operated. [Solution] Provided is an information processing device comprising a processing unit which has a function of controlling the execution of processing related to a virtual machine, wherein: condition information and a first electronic signature are associated with a virtual machine program that operates the virtual machine, the condition information representing a condition for operating the virtual machine and including information that indicates the region of a recording medium, and the first electronic signature being generated on the basis of the code of the virtual machine program and the condition information; and the processing unit controls the execution of the processing related to the virtual machine on the basis of the result of verifying the first electronic signature associated with the virtual machine program.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
31 July 2020
Publication Number
38/2020
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
mahua.ray@remfry.com
Parent Application

Applicants

SONY CORPORATION
1-7-1, Konan, Minato-ku, Tokyo 1080075

Inventors

1. MISAIZU, Tadayuki
c/o SONY IMAGING PRODUCTS & SOLUTIONS INC., 1-7-1, Konan, Minato-ku, Tokyo 1080075
2. FUJITA, Norihiro
c/o SONY IMAGING PRODUCTS & SOLUTIONS INC., 1-7-1, Konan, Minato-ku, Tokyo 1080075
3. NAKATSURU, Tsutomu
c/o SONY IMAGING PRODUCTS & SOLUTIONS INC., 1-7-1, Konan, Minato-ku, Tokyo 1080075

Specification

Title of invention: Information processing device, information processing method, and program
Technical field
[0001]
 The present disclosure relates to information processing devices, information processing methods, and programs.
Background technology
[0002]
 "Technology for embedding an application program imitating another OS in one OS (Operating System) and operating the other OS on the execution environment of the one OS" has been developed. Examples of the above-mentioned technique include the techniques described in Patent Document 1 below.
[0003]
 In addition, "technology related to an OS that operates a plurality of applications on a manageable multi-platform and can be activated by a command of the multi-platform" has been developed. Examples of the above-mentioned technique include the techniques described in Patent Document 2 below.
[0004]
 Also,
Prior art literature
Patent documents
[0005]
Patent Document 1: Japanese Patent Application Laid-Open No. 2014-186747
Patent Document 2: Japanese Patent Application Laid-Open No. 2013-168117
Outline of the invention
Problems to be solved by the invention
[0006]
 As a method of expanding the function of the device, for example, there is a method of operating a virtual machine (hereinafter, may be referred to as "VM" (Virtual Machine)). The virtual machine according to this embodiment is a virtual program execution environment. In the following, a computer program that operates a virtual machine, that is, a computer program that realizes processing in a virtual program execution environment may be referred to as a “VM program”.
[0007]
 The present disclosure proposes new and improved information processing devices, information processing methods, and programs that can improve the convenience of devices in which virtual machines can operate.
Means to solve problems
[0008]
 According to the present disclosure, the virtual machine program including a processing unit having a function of controlling execution of processing related to the virtual machine and operating the virtual machine operates the virtual machine including information indicating an area of ​​a recording medium. The condition information indicating the condition, the code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and the processing unit is associated with the virtual machine program. An information processing apparatus that controls the execution of processing related to the virtual machine based on the confirmation result of the first electronic signature is provided.
[0009]
 Further, according to the present disclosure, a virtual machine having a processing unit having a function of operating a virtual machine and a function of writing data based on a write command acquired from an external device, and operating the virtual machine. The program is associated with condition information indicating conditions for operating the virtual machine, including information indicating the area of ​​the recording medium, and when the write command is acquired from an external device, the processing unit receives the write command. When the area indicated by the parameter is the area indicated by the condition information, it is determined whether the virtual machine can be operated and all the data written based on the write command can be normally written, and all the data can be written normally. When it is determined that the data can be written normally, the data is written based on the above write command, and when it is not determined that all the data can be written normally, the data is written based on the above write command. When the virtual machine operates based on the write command without writing data, the data writing based on the write command includes the writing of data executed in the virtual machine program. , Provided.
[0010]
 Further, according to the present disclosure, the virtual machine program having a step of controlling the execution of processing related to the virtual machine and operating the virtual machine includes a condition for operating the virtual machine including information indicating an area of ​​a recording medium. The condition information indicating the above, the code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and in the step of controlling the above, the virtual machine program is associated with the virtual machine program. An information processing method executed by an information processing apparatus, in which execution of processing related to the virtual machine is controlled based on the confirmation result of the first electronic signature, is provided.
[0011]
 Further, according to the present disclosure, the virtual machine program that operates the virtual machine has a step of operating the virtual machine and a step of writing data based on a write command acquired from an external device. When the condition information indicating the conditions for operating the virtual machine including the information indicating the area of ​​the recording medium is associated and the write command is acquired from the external device, the write command is performed in the step of operating the virtual machine. In the step of operating the virtual machine and performing the writing when the area indicated by the parameter of is the area indicated by the condition information, it is possible to normally write all the data performed based on the writing command. When it is determined whether or not it can be done and it is determined that all the data can be written normally, the data is written based on the above write command and all the data can be written normally. If it is not determined, the data based on the write command is not written, and if the virtual machine is operated by the step of operating the virtual machine, the data writing based on the write command is executed in the virtual machine program. An information processing method executed by an information processing apparatus is provided, which includes writing data.
[0012]
 Further, according to the present disclosure, the virtual machine program in which a computer is provided with a function of controlling the execution of processing related to the virtual machine and the virtual machine is operated includes the virtual machine including information indicating an area of ​​a recording medium. The condition information indicating the operating conditions, the code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and the control function is associated with the virtual machine program. A program is provided that controls the execution of processing related to the virtual machine based on the confirmation result of the first electronic signature.
[0013]
 Further, according to the present disclosure, the function of operating the virtual machine and the function of writing data based on the write command acquired from the external device are realized in the computer, and the virtual machine program for operating the virtual machine is provided. Is associated with condition information indicating the conditions for operating the virtual machine including information indicating the area of ​​the recording medium, and when the write command is acquired from an external device, the function for operating the virtual machine is the write. When the area indicated by the command parameter is the area indicated by the condition information, the function of operating the virtual machine and performing the writing normally writes all the data performed based on the writing command. When it is determined that all the data can be written normally, the data can be written based on the above write command, and all the data can be written normally. When the determination is not made, the data is not written based on the write command, and when the virtual machine is operated by the function of operating the virtual machine, the data writing based on the write command is executed in the virtual machine program. A program is provided that includes the writing of data.
Effect of the invention
[0014]
 According to the present disclosure, it is possible to improve the convenience of a device in which a virtual machine can operate.
[0015]
 It should be noted that the above effects are not necessarily limited, and together 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
[0016]
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 the information processing device according to the present embodiment.
FIG. 3 is an explanatory diagram showing an example of a hardware configuration of an information processing device according to the present embodiment.
FIG. 4 is an explanatory diagram showing an example of a reader / writer hardware configuration according to the present embodiment.
FIG. 5 is an explanatory diagram for explaining an example of operation of a virtual machine (VM) in the information processing device according to the present embodiment.
FIG. 6 is an explanatory diagram for explaining an example of the operation of a virtual machine (VM) in the information processing device according to the present embodiment.
FIG. 7 is an explanatory diagram for explaining an outline of an information processing method according to the first embodiment.
FIG. 8 is an explanatory diagram for explaining an outline of a first example of an information processing method according to a second embodiment.
FIG. 9 is an explanatory diagram for explaining an outline of a second example of the information processing method according to the second embodiment.
FIG. 10 is an explanatory diagram for explaining an outline of an information processing method according to a fifth embodiment.
FIG. 11 is an explanatory diagram for explaining a first example of a use case to which the information processing method according to the present embodiment is applied.
FIG. 12 is an explanatory diagram for explaining a first example of a use case to which the information processing method according to the present embodiment is applied.
FIG. 13 is an explanatory diagram for explaining a second example of a use case to which the information processing method according to the present embodiment is applied.
FIG. 14 is an explanatory diagram for explaining a second example of a use case to which the information processing method according to the present embodiment is applied.
Mode for carrying out the invention
[0017]
 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 to omit duplicate description.
[0018]
 In addition, the following description will be given in the order shown below.
  1. 1. Information processing system according to this embodiment, and information processing method according to
  this embodiment [1] Configuration of information processing system according to this embodiment
   [1-1] Information processing device 100
   [1-2] Reader / writer 200
   [ 1-3] application example of the devices constituting the information processing system according to this embodiment
  [2] the process according to the information processing method according to the present embodiment
   the information processing method according to [2-1] first embodiment
   [ 2-2] Information processing method according to the second embodiment
   [2-3] Information processing method according to the third embodiment
   [2-4] Information processing method according to the fourth embodiment
   [2-5] First Information processing method according to the fifth embodiment
   [2-6] Information processing method according to another embodiment
  [3] An example of the effect produced by using the information processing method according to the
  present embodiment [4] This embodiment Use case to which the information processing method related to the form is applied
   [4-1] First example of use case: Granting a coupon by VM
   [4-2] Second example of use case: Setting electronic money usage limit by VM
  2. 2. Program related to this embodiment
[0019]
(Information processing system according to the present embodiment and information processing method according to
 the present embodiment ) Hereinafter, an example of the information processing system according to the present embodiment will be described first, and then applied to the information processing system according to the present embodiment. The information processing method according to the present embodiment will be described by taking a case as an example.
[0020]
 Further, in the following, the case where the information processing device according to the present embodiment is an IC (Integrated Circuit) card will be mainly described as an example. The information processing device according to this embodiment is not limited to an IC card. Other application examples of the information processing apparatus according to this embodiment will be described later.
[0021]
[1] Configuration of the information processing system according
 to the present embodiment FIG. 1 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 information processing device 100 and a reader / writer 200.
[0022]
 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 information processing devices 100. Further, the information processing system according to the present embodiment may have a plurality of readers / writers 200.
[0023]
 The information processing device 100 and the reader / writer 200 communicate with each other by, for example, NFC (Near Field Communication) such as Type-A, Type-B, and Type-F.
[0024]
 In the information processing system according to the present embodiment, the information processing device 100 and the reader / writer 200 are, for example, wireless communication using IEEE802.5.1 such as "BLE (Bluetooth Low Energy)" or IEEE802.11. By "wireless communication of any communication method such as wireless communication and infrared communication using Bluetooth" or "wired communication using communication via USB (Universal Serial Bus) or communication interface based on ISO7816 standard" Communication may be performed.
[0025]
[1-1] Information Processing Device 100
 FIG. 2 is a functional block diagram showing an example of the configuration of the information processing device 100 according to the present embodiment. The information processing device 100 includes, for example, a communication unit 102 and a control unit 104.
[0026]
[Example of Hardware Configuration of Information Processing Device 100]
 FIG. 3 is an explanatory diagram showing an example of a hardware configuration of the information processing device 100 according to the present embodiment. The information processing device 100 includes, for example, an antenna 150 and an IC chip 152. The information processing device 100 does not have to include, for example, the configuration of the IC chip 152 shown in FIG. 3 in the form of an IC chip.
[0027]
 The information processing apparatus 100 having the hardware configuration shown in FIG. 3 is driven by a reception voltage corresponding to the carrier wave received by the antenna 150. The information processing device 100 can also be driven by, for example, electric power supplied from an internal power source such as a battery included in the information processing device 100, or electric power supplied from a connected external power source. Is.
[0028]
 The antenna 150 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. .. Then, the antenna 150 outputs a reception voltage obtained by resonating the induced voltage at a predetermined resonance frequency. Here, the resonance frequency of the antenna 150 is set according to the frequency of the carrier wave, for example, 13.56 [MHz]. With the above configuration, the antenna 150 receives a carrier wave and transmits a response signal by load modulation performed in the load modulation circuit 164 included in the IC chip 152.
[0029]
 The IC chip 152 includes, for example, a carrier detection circuit 154, a detection circuit 156, a regulator 158, a demodulation circuit 160, a processor 162, and a load modulation circuit 164. Although not shown in FIG. 2, the IC chip 152 may further include, for example, a protection circuit (not shown) for preventing an overvoltage or an overcurrent from being applied to the processor 162. Here, examples of the protection circuit (not shown) include a clamp circuit composed of a diode or the like.
[0030]
 Further, the IC chip 152 includes, for example, a ROM (Read Only Memory) 166, a RAM (Random Access Memory) 168, and a non-volatile memory 170. The processor 162, the ROM 166, the RAM 168, and the non-volatile memory 170 are connected by, for example, a bus 172 as a data transmission path.
[0031]
 The ROM 166 stores control data such as programs and arithmetic parameters executed by the processor 162.
[0032]
 The RAM 168 temporarily stores a program executed by the processor 162, a calculation result, an execution state, and the like. When the program executed by the processor 162 is a VM program, the RAM 168 temporarily stores the program executed by the VM program, the calculation result, the execution state, and the like.
[0033]
 The non-volatile memory 170 is, for example, "data related to an information processing method according to this embodiment such as a VM program or a key" or electronic value (data having money or a value equivalent to money. Hereinafter, "electronic money". ”), Data corresponding to various services, various application programs, and various other data are stored. The key according to the present embodiment is, for example, confirmation of an electronic signature, authentication in communication of an arbitrary communication method such as NFC (including authentication for accessing an area of ​​a recording medium), arbitrary encryption, and decryption. This is data used for processing related to encryption.
[0034]
 Here, examples of the non-volatile memory 170 include EEPROM (Electrically Erasable and Programmable Read Only Memory) and flash memory.
[0035]
 Further, the non-volatile memory 170 has, for example, tamper resistance. Data security is ensured in the information processing apparatus 100 by storing various data such as a VM program in a secure recording medium having tamper resistance such as a non-volatile memory 170.
[0036]
 The carrier detection circuit 154 generates, for example, a rectangular detection signal based on the reception voltage transmitted from the antenna 150, and transmits the detection signal to the processor 162. Further, the processor 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 150, it is synchronized with the frequency of the carrier wave transmitted from an external device such as the reader / writer 200. Therefore, by providing the carrier detection circuit 154, the IC chip 152 can perform processing with an external device such as a reader / writer 200 in synchronization with the external device.
[0037]
 The detection circuit 156 rectifies the received voltage output from the antenna 150. Here, the detection circuit 156 is composed of, for example, a diode D1 and a capacitor C2.
[0038]
 The regulator 158 smoothes the received voltage, makes it a constant voltage, and outputs the drive voltage to the processor 162. Here, the regulator 158 uses the DC component of the received voltage as the drive voltage. As described above, for example, when the information processing device 100 is provided with an internal power source such as a battery, or when an external power source is connected to the information processing device 100, the information processing device 100 is supplied from the internal power source. It is also possible to drive by the electric power generated or the electric power supplied from the external power source.
[0039]
 The demodulation circuit 160 demodulates the carrier wave signal included in the carrier wave based on the received voltage, and outputs data corresponding to the carrier wave signal (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.
[0040]
 The processor 162 drives, for example, the drive voltage output from the regulator 158 as a power source, and processes the demodulated data in the demodulation circuit 160.
[0041]
 The processor 162 processes the above data, for example, by executing native code. The native code according to the present embodiment is a code that can be executed on an arbitrary processor included in the information processing device 100 such as the processor 162. Since the native code is executed by the processor included in the information processing apparatus 100, the native code operates at the processing speed of the processor.
[0042]
 Further, for example, when the processor 162 executes the VM program, the processing of the data may be performed by the VM program.
[0043]
 Further, the processor 162 selectively generates a control signal for controlling the load modulation related to the response to the external device such as the reader / writer 200 according to the processing result. Then, the processor 162 selectively outputs the control signal to the load modulation circuit 164.
[0044]
 The processing in the processor 162 is not limited to the processing of the data demodulated in the demodulation circuit 160. For example, processor 162 can process arbitrary data by an executed VM program or by executing native code.
[0045]
 The processor 162 is composed of, for example, one or more processors composed of arithmetic circuits such as 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 processor 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 type MOSFET (Metal Oxide Semiconductor Field effect transistor) and an n-channel type MOSFET.
[0047]
 The IC chip 152 can process the carrier signal received by the antenna 150 and cause the antenna 150 to transmit a response signal by load modulation, for example, with the above configuration. Further, the IC chip 152 can process arbitrary data by the executed VM program or by executing the native code, for example, with the above configuration.
[0048]
 The hardware configuration of the information processing device according to this embodiment is not limited to the configuration shown in FIG. For example, the information processing apparatus according to the present embodiment can be configured according to an application example of the information processing apparatus according to the present embodiment, which will be described later.
[0049]
 An example of the configuration of the information processing apparatus 100 will be described with reference to FIG. 2 again. The communication unit 102 is a communication means included in the information processing device 100, and communicates with an external device. The communication unit 102 is controlled by, for example, the control unit 104.
[0050]
 Here, examples of the communication unit 102 include the antenna 150 and the IC chip 152 shown in FIG. When the communication unit 102 is composed of the antenna 150 and the IC chip 152, the information processing device 100 uses a carrier wave having a predetermined frequency, for example, 13.56 [MHz], and is non-contact by NFC defined by ISO / IEC18092. Communication is performed with an external device such as a reader / writer 200.
[0051]
 The communication unit 102 is not limited to the antenna 150 and the IC chip 152. For example, the communication unit 102 may be composed of a communication device corresponding to an arbitrary communication method, such as an IEEE802.5.1 port and a transmission / reception circuit, or an IEEE802.11 port and a transmission / reception circuit. Further, the communication unit 102 may have a configuration capable of communicating with one or more external devices or the like by a plurality of communication methods.
[0052]
 The control unit 104 serves to control, for example, the entire information processing apparatus 100. Further, the control unit 104 has, for example, a processing unit 110, and plays a role of leading the processing related to the information processing method according to the present embodiment described later.
[0053]
 The processing unit 110 plays a role of leading the processing related to the information processing method in the information processing apparatus 100. An example of processing related to the information processing method in the information processing apparatus 100 will be shown in each embodiment described later.
[0054]
 The configuration of the information processing device according to this embodiment is not limited to the configuration shown in FIG.
[0055]
 For example, the information processing apparatus according to the present embodiment can include the processing unit 110 shown in FIG. 2 separately from the control unit 104 (for example, it can be realized by another processing circuit).
[0056]
 Further, the configuration of the information processing apparatus according to the present embodiment is not limited to the configuration shown in FIG. 2, and an arbitrary configuration may be adopted according to the method of separating the processes related to the information processing method in the information processing apparatus 100 described later. It is possible.
[0057]
 Further, for example, when the information processing device according to the present embodiment operates standalone, or when communicating with an external device via an external communication device having the same function and configuration as the communication unit 102, the present invention is used. The information processing device according to the embodiment does not have to include the communication unit 102.
[0058]
[1-2] Reader / Writer 200 The
 reader / writer 200 is an example of a device capable of communicating with the information processing device 100. The reader / writer 200 may serve as a relay device that relays communication between the information processing device 100 and another device.
[0059]
[Example of Hardware Configuration of Reader / Writer 200]
 FIG. 4 is an explanatory diagram showing an example of a hardware configuration of the reader / writer 200 according to the present embodiment.
[0060]
 The reader / writer 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 / writer 200 connects each component with, for example, a bus 264 as a data transmission path. Further, the reader / writer 200 is driven by, for example, electric power supplied from an internal power source such as a battery included in the reader / writer 200, or electric power supplied from a connected external power source.
[0061]
 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 / writer 200.
[0062]
 The ROM 252 stores control data such as programs and calculation parameters executed by the MPU 250. The RAM 254 temporarily stores, for example, a program executed by the MPU 250.
[0063]
 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 / writer 200.
[0064]
 The communication interface 258 is a communication means for performing communication of one communication method included in the reader / writer 200, and is wirelessly or wired with an external device such as a server via a network (or directly). It functions as a first communication unit (not shown) for performing communication. Here, the communication interface 258 includes, for example, a communication antenna and an RF circuit (wireless communication), an IEEE802.5.1 port and a transmission / reception circuit (wireless communication), an IEEE802.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 258 may have an arbitrary configuration corresponding to the network according to the present embodiment.
[0065]
 The carrier wave transmission circuit 260 and the antenna 262 are communication means for communicating with other communication methods included in the reader / writer 200, and for communicating wirelessly or by wire with an external device such as the information processing device 100. It functions as a second communication unit (not shown).
[0066]
 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 the information processing device 100 by receiving a carrier wave having a predetermined frequency such as 13.56 [MHz]. In addition, for example, when the carrier wave transmission circuit 260 includes a demodulation circuit, the antenna 262 may be composed of a resonance circuit.
[0067]
 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.
[0068]
 By providing the carrier wave transmission circuit 260, the reader / writer 200 has an initiator function in NFC and serves 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 commands such as a write command. Examples of the write command according to the present embodiment include data including a data write command and various parameters indicating an area to be written. Further, the write command may include data to be written.
[0069]
 In the carrier wave transmission circuit 260, for example, the carrier wave transmission is controlled by the MPU 250.
[0070]
 The reader / writer 200 has, for example, the hardware configuration shown in FIG. The hardware configuration of the reader / writer 200 according to this embodiment is not limited to the configuration shown in FIG.
[0071]
 For example, the reader / writer 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.
[0072]
 Further, when the reader / writer 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 / writer 200 does not include the carrier wave transmission circuit 260 and the antenna 262. May be good.
[0073]
 Further, when the reader / writer 200 communicates with an external device by a communication method other than NFC such as wireless communication using IEEE802.5.1, the reader / writer 200 does not have to have the carrier wave transmission circuit 260 and the antenna 262. Good. In the above case, the reader / writer 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.
[0074]
 Further, the reader / writer 200 can be configured not to include, for example, a recording medium 256.
[0075]
 Further, the reader / writer 200 can have a hardware configuration according to an application example of the reader / writer 200 described later, for example.
[0076]
 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.
[0077]
[1-3] Application example of each device constituting the information processing system according to
 the present embodiment In the above, the information processing device 100 is mentioned as a component of the information processing system according to the present embodiment, and the information processing device 100 is used. Although the case of an IC card has been taken as an example, the application example of the information processing apparatus according to the present embodiment is not limited to the example shown above. The information processing device according to the present embodiment is, for example, a "computer such as a PC (Personal Computer) or a server", a "tablet type device", a "game machine", an "arbitrary IoT (Internet of Things) device", or the like. It can be applied to various devices capable of performing processing related to the information processing method in the information processing apparatus 100 described later. Further, the information processing device according to the present embodiment is, for example, "SIM (Subscriber Identity Module)", "eUICC", "eSE", "TEE (Trusted Execution Environment)" that can be incorporated into the above-mentioned device. It can also be applied to an IC such as "IC corresponding to).
[0078]
 Further, although the reader / writer 200 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. The present embodiment includes, for example, a book such as a "reader / writer", a "device having a reader / writer function", and a "communication device that communicates by wireless communication using IEEE802.5.1 such as BLE". It can be applied to any device capable of communicating with the information processing device according to the embodiment. The present embodiment can also be applied to, for example, a processing IC that can be incorporated into the above-mentioned equipment.
[0079]
[2] Information Processing Method According to the Present Embodiment
 Next, the processing related to the information processing method according to the present embodiment will be described by taking the information processing system 1000 shown in FIG. 1 as an example.
[0080]
 As described above, as a method of expanding the function of the device, for example, there is a method of operating a VM. The information processing device 100 to which the information processing method according to the present embodiment is applied is a device to which the method for operating the VM is applied.
[0081]
 FIG. 5 is an explanatory diagram for explaining an example of the operation of the virtual machine (VM) in the information processing device 100 according to the present embodiment. FIG. 5 shows the information processing device 100 and the reader / writer 200 shown in FIG.
[0082]
 One or more VM programs may be installed in the information processing apparatus 100. Here, when the VM program is installed, for example, "the VM program is stored in a recording medium that can be accessed by a processor (for example, a processor that functions as a processing unit 110) included in the information processing device 100, and the VM program is installed. It means that the processor is ready to execute the VM program. "
[0083]
 Here, since the VM programs can be the same regardless of the architecture of the processor included in the device, one VM program can be operated by a plurality of types of devices.
[0084]
 The VM program may be installed not only by the manufacturer of the information processing device 100 but also by the user of the information processing device 100.
[0085]
 The VM program is activated, for example, as shown in FIG. 5, when the information processing apparatus 100 receives a specific command, or when a specific access is made to the file system in the process of processing the received command. Will be done. The trigger for activating the VM program is defined by, for example, the condition information (described later) associated with the VM program. When the VM program is started, the VM corresponding to the VM program operates.
[0086]
 Examples of the file system according to the present embodiment include any file system supported by the OS operating in the information processing apparatus 100, such as the file system of the Felica (registered trademark) OS.
[0087]
 The started VM program, for example, "performs arbitrary access to the file system" or "interrupts the processing related to the operation that the command should originally perform, and instead performs the processing related to other operations". And so on.
[0088]
 FIG. 6 is an explanatory diagram for explaining an example of the operation of the virtual machine (VM) in the information processing device 100 according to the present embodiment. FIG. 6 shows an example of processing by the information processing apparatus 100 and the reader / writer 200 shown in FIG.
[0089]
 The reader / writer 200 transmits commands such as a write command and a read command for reading data (S100).
[0090]
 Upon receiving the command transmitted from the reader / writer 200 in step S100, the processing unit 110 of the information processing apparatus 100 activates the VM program when it is determined that the condition for operating the virtual machine indicated by the condition information is satisfied (S102). ).
[0091]
 The condition information according to the present embodiment is data indicating conditions for operating the virtual machine, and includes, for example, information indicating the area of ​​the recording medium such as a parameter indicating the area of ​​the recording medium as a condition. Examples of the condition information include start condition information for triggering the reception of a specific command and access target information for triggering a specific access to the file system.
[0092]
 The start condition information includes, for example, information indicating a VM program to be started (for example, the ID of the VM program), information defining a command that triggers the start of the VM program (for example, a command code), and an area of ​​a recording medium. Information (for example, data indicating an address) and information indicating the above are included. Further, the access target information includes, for example, information indicating the VM program to be activated (for example, the ID of the VM program) and information indicating the area of ​​the recording medium (for example, the address) that defines the access that triggers the activation of the VM program. Data indicating, etc.) and are included.
[0093]
 For example, when the information processing device 100 receives a specific command by starting the VM program based on the condition information, or when a specific access is made to the file system in the process of processing the received command. In addition, it is realized that the VM program is started.
[0094]
 The VM program started by the process of step S102 performs the process according to the code of the VM program, accesses the file system as appropriate (S104), and transmits the result of the process to the processing unit 110 (S106).
[0095]
 The processing unit 110 that has acquired the processing result from the VM program in step S106 transmits a response signal to the command in step S100 (S108).
[0096]
 For example, as shown in FIG. 6, in the information processing apparatus 100, when the condition indicated by the condition information is satisfied, the VM program is started and the VM operates. Needless to say, the example of the operation of the VM in the information processing device 100 is not limited to the example shown in FIG.
[0097]
 Hereinafter, an example of processing related to the information processing method according to the present embodiment will be described for each embodiment.
[0098]
[2-1] Information processing method according to the first embodiment
[2-1-1] Outline of the information processing system 1000 to which the information processing method according to the first embodiment is applied
 For example, in a device such as an IC card. , In general, contains multiple pieces of data with different owners and access privileges.
[0099]
 As shown with reference to FIGS. 5 and 6, when the VM program is started to allow the VM program to access the file system, it is necessary to limit the conditions for starting the VM program and the access authority by the VM program. It is thought that there is. The reason why the above restrictions are necessary is, for example, "If not restricted, the VM program can change the processing of arbitrary commands and the behavior of the file system, and access any data in the file system. Because there is a possibility that it will be possible. "
[0100]
 Here, as a method of restricting the conditions for starting the VM program and the access authority by the VM program, "The access key is stored in the VM program, and the file system is accessed by an external device such as a reader / writer 200. As with access, a method in which the VM program performs mutual authentication on the file system before accessing it is conceivable. However, when the above method of storing the access key in the VM program is used, there is a risk that the access key is leaked from the VM program, which is not desirable from the viewpoint of security.
[0101]
 Therefore, in the information processing system 1000 to which the information processing method according to the first embodiment is applied, the VM program is digitally signed. In the following, an electronic signature made for one VM program may be referred to as a "first electronic signature".
[0102]
 The first digital signature is generated based on, for example, the code of the VM program, the conditional information corresponding to the VM program, and the key corresponding to the conditional information. The generation of the first electronic signature can be performed by an arbitrary external device viewed from the information processing device 100 such as a server (not shown).
[0103]
 The first electronic signature may be, for example, a public key type electronic signature or a common key type electronic signature. When the first electronic signature is a common key type electronic signature, the first electronic signature is a MAC (Message Authentication Code).
[0104]
 In the information processing apparatus 100, the condition information and the first electronic signature are associated with the VM program and stored in the recording medium by an arbitrary association method such as the association using the ID of the VM program. The condition information and the first electronic signature are transmitted to the information processing device 100, for example, "when the VM program is transmitted from an external device of the information processing device 100 such as a reader / writer 200 to the information processing device 100". Will be done. Further, the condition information and the first electronic signature are transmitted to the information processing device 100 at "arbitrary timing after the VM program is transmitted from the external device such as the reader / writer 200 to the information processing device 100". It may be transmitted.
[0105]
 In the information processing apparatus 100, the first electronic signature associated with the VM program is applied to the VM "when the VM is installed" or "after the VM is installed". Confirm before. The confirmation of the first electronic signature corresponds to the verification of the first electronic signature, and the confirmation of the first electronic signature is performed by an arbitrary process capable of verifying the electronic signature.
[0106]
 Then, the information processing apparatus 100 controls the execution of the processing related to the VM (processing related to the virtual machine; hereinafter, the same applies) based on the confirmation result of the first electronic signature. The process related to the VM according to the present embodiment includes, for example, one or both of a process of installing the VM and a process of operating the VM based on the condition information.
[0107]
 As an example, when the confirmation result of the first electronic signature indicates that the signature is not correct, the information processing apparatus 100 fails to install the VM, disables the VM program, and condition information corresponding to the VM program. Performs predetermined error processing such as invalidating the conditions indicated by. Further, to give another example, when the confirmation result of the first electronic signature indicates that the signature is correct, the information processing apparatus 100 relates to the VM, such as installing the VM or operating the VM based on the condition information. Enables execution of processing.
[0108]
 The "first electronic signature associated with the VM program" or the "first electronic signature and condition information associated with the VM program" is discarded after the confirmation of the first electronic signature. May be done. By discarding the first electronic signature or the like after confirming the first electronic signature, for example, "the recording medium included in the information processing apparatus 100 can be used more efficiently, and the VM program can be safely executed. The effect of being able to do it is played.
[0109]
 FIG. 7 is an explanatory diagram for explaining an outline of the information processing method according to the first embodiment. A of FIG. 7 shows an example when the condition information is start condition information, and B of FIG. 7 shows an example when the condition information is access target information. In FIG. 7, the first electronic signature is shown as a “signature” (the same applies to other figures).
[0110]
 As shown in FIG. 7, in the information processing system 1000 to which the information processing method according to the first embodiment is applied, the code of the VM program and the condition information corresponding to the VM program (starting condition information shown in A of FIG. 7; Alternatively, the access target information shown in B of FIG. 7) and the key corresponding to the condition information (the key associated with the “area targeted for activation trigger” shown in A of FIG. 7 or the “” shown in B of FIG. The first electronic signature is generated from the key associated with the "access target area".
[0111]
 Further, in the information processing apparatus 100, the VM program is associated with the condition information and the first electronic signature and stored in the recording medium.
[0112]
 The information processing device 100 is associated with the VM program, for example, "when the VM is installed" or "after the VM is installed and before the VM is operated". Confirm the electronic signature of 1. Then, the information processing apparatus 100 controls the execution of the processing related to the VM based on the confirmation result of the first electronic signature.
[0113]
 For example, as described above, by "the information processing device 100 confirms the first electronic signature associated with the VM program and controls the execution of the processing related to the VM based on the confirmation result", the above-mentioned "VM". It is possible to "restrict the conditions for starting the program and the access authority by the VM program".
[0114]
 Further, when the information processing apparatus 100 controls the execution of processing related to the VM based on the confirmation result of the first electronic signature, the above-mentioned "method of storing the access key in the VM program" is used. Since there is no risk of the access key being leaked from the VM program such as, security is sufficiently ensured.
[0115]
 Therefore, the information processing device 100 to which the information processing method according to the first embodiment is applied can improve the convenience of the information processing device 100 (an example of a device capable of operating a VM).
[0116]
[2-1-2] Processing related to the information processing method in the information processing device 100 according to
 the first embodiment Next, an example of processing related to the information processing method in the information processing device 100 according to the first embodiment will be described. To do.
[0117]
 The information processing device 100 controls the execution of processing related to the VM based on the confirmation result of the first electronic signature.
[0118]
 The information processing device 100 confirms the first electronic signature by using the key associated with the area indicated by the condition information.
[0119]
 The information processing apparatus 100 identifies the key associated with the area indicated by the condition information, for example, based on the setting information associated with the area of ​​the recording medium. Examples of the setting information include "a table (or database) in which an address indicating an area of ​​a recording medium and a key are recorded in association with each area". The setting information according to the present embodiment is not limited to the table (or database) as shown above, and may be data in any format such as data for each area.
[0120]
 The information processing device 100 generates an electronic signature for verification from, for example, the code of the VM program, the condition information, and the key associated with the area indicated by the condition information. Then, the information processing apparatus 100 confirms the validity of the first electronic signature by comparing the generated electronic signature for verification with the first electronic signature. Confirming the validity of the first electronic signature according to the present embodiment means confirming whether or not the first electronic signature is a correct signature.
[0121]
 When the verification electronic signature and the first electronic signature match, the information processing apparatus 100 determines that the first electronic signature is the correct signature (that is, the validity of the first electronic signature is confirmed. It is determined that it has been done.) Further, when the verification electronic signature and the first electronic signature do not match, the information processing apparatus 100 does not determine that the first electronic signature is a correct signature (that is, the validity of the first electronic signature). It is not determined that the sex has been confirmed.)
[0122]
 The process related to the confirmation of the first electronic signature is not limited to the example shown above, and the information processing apparatus 100 confirms the first electronic signature by any process capable of verifying the electronic signature. You may go.
[0123]
 The information processing device 100 enables the execution of processing related to the virtual machine when the validity of the first electronic signature is confirmed. As an example, when the validity of the first electronic signature is confirmed, the information processing apparatus 100 installs the VM or operates the VM based on the condition information.
[0124]
 Further, the information processing apparatus 100 executes a predetermined error processing when the validity of the first electronic signature is not confirmed. For example, if the validity of the first electronic signature is not confirmed, the information processing apparatus 100 fails to install the VM, invalidates the VM program, or provides conditional information corresponding to the VM program. Disable the conditions shown. The predetermined error processing according to the present embodiment is not limited to the example shown above, and may be any processing that can realize that the VM is not operated.
[0125]
[2-2] Information Processing Method According
 to Second Embodiment By applying the information processing method according to the first embodiment described above, convenience in the information processing device 100 (an example of a device capable of operating a VM). It is possible to improve the sex.
[0126]
 Here, assuming that the first electronic signature associated with the VM program is generated for each area indicated by the condition information, the number of the first electronic signatures increases as the area indicated by the condition information increases. Become. Therefore, as the area indicated by the condition information increases, the time required for transmission of the first electronic signature to the information processing device 100 becomes longer, and the information processing device 100 stores the first electronic signature. The storage capacity of the recording medium also increases. For example, when the information processing apparatus 100 is an IC card, the storage capacity of the recording medium is not so large, so an increase in the storage capacity for storing the first electronic signature is not preferable.
[0127]
 Therefore, in the information processing system 1000 to which the information processing method according to the second embodiment is applied, it is possible to prevent an increase in the number of electronic signatures associated with the VM program when a plurality of condition information is associated with the VM program. To do.
[0128]
(A) First Example of Information Processing Method According to Second Embodiment
 When a plurality of condition information is associated with a VM program, a degenerate key (new key) is obtained from a plurality of keys corresponding to each of the plurality of condition information. Is generated. The generation of the degenerate key can be performed by an arbitrary external device viewed from the information processing device 100 such as a server (not shown).
[0129]
 The degenerate key is generated by sequentially encrypting a source value such as a random number with a plurality of keys corresponding to each of a plurality of conditional information. Needless to say, the degenerate key generation method is not limited to the above example.
[0130]
 Then, the first digital signature is generated based on the code of the VM program, the plurality of conditional information, and the generated degenerate key. As described above, the generation of the first electronic signature can be performed by an arbitrary external device viewed from the information processing device 100 such as a server (not shown).
[0131]
 The information processing apparatus 100 controls the execution of processing related to the VM based on the confirmation result of the first electronic signature, as in the case of using the information processing method according to the first embodiment described above.
[0132]
 FIG. 8 is an explanatory diagram for explaining the outline of the first example of the information processing method according to the second embodiment. FIG. 8 shows an example in which the condition information is the start condition information, as in the case of A in FIG.
[0133]
 As shown in FIG. 8, in the information processing system 1000 to which the information processing method according to the second embodiment is applied, a plurality of keys corresponding to a plurality of condition information corresponding to the VM program (keys 1 shown in FIG. 8, One degenerate key is generated from the key 2 and the key 3).
[0134]
 Further, in the information processing system 1000 to which the information processing method according to the second embodiment is applied, a first electronic signature is generated from the code of the VM program, a plurality of conditional information corresponding to the VM program, and the decompression key. To.
[0135]
 Further, in the information processing apparatus 100, the VM program is associated with the condition information and the first electronic signature and stored in the recording medium.
[0136]
 The information processing device 100 is associated with the VM program, for example, "when the VM is installed" or "after the VM is installed and before the VM is operated". Confirm the electronic signature of 1. Then, the information processing apparatus 100 controls the execution of the processing related to the VM based on the confirmation result of the first electronic signature.
[0137]
 As can be seen by comparing FIGS. 8 and 7, the first example of the information processing method according to the second embodiment relates to the above-described first embodiment except for the method of generating the first electronic signature. It is the same as the information processing method.
[0138]
 Therefore, the information processing apparatus 100 to which the information processing method according to the second embodiment is applied can operate the information processing apparatus 100 (VM can operate) as in the case where the information processing method according to the first embodiment is applied. It is possible to improve the convenience of the device).
[0139]
 Further, when the information processing method according to the second embodiment is applied, even if a plurality of condition information is associated with the VM program, the number of electronic signatures associated with the VM program is at least one. It's done.
[0140]
 When the information processing method according to the second embodiment is applied, two or more electronic signatures including the first electronic signature generated based on the degenerate key may be associated with the VM program. .. As an example of the case where two or more digital signatures are associated with the VM program, "a first digital signature based on a degenerate key generated by a plurality of keys corresponding to activation condition information and a plurality of access target information corresponding to each other. An example in which the first digital signature based on the degenerate key generated by the key is associated with the VM program is given.
[0141]
 Therefore, when the information processing method according to the second embodiment is applied,
"an increase in the number of electronic signatures associated with the VM program when a plurality of condition information is associated with the VM program" is prevented. Will be done.
[0142]
 Further, the first example of the information processing method according to the second embodiment is particularly effective when the first electronic signature is a signature (MAC) by a common key method.
[0143]
(B) Second Example of Information Processing Method According to Second Embodiment
 When a plurality of condition information is associated with a VM program, a reduced electronic signature is obtained from a plurality of first electronic signatures corresponding to each of the plurality of condition information. (New digital signature) is generated. The generation of the degenerate electronic signature can be performed by an arbitrary external device viewed from the information processing device 100 such as a server (not shown).
[0144]
 The degenerate electronic signature is generated by sequentially encrypting a source value such as a random number with a plurality of first electronic signatures corresponding to each of the plurality of conditional information. Further, the degenerate electronic signature may be generated, for example, by generating a MAC for data in which a plurality of first electronic signatures corresponding to each of the plurality of condition information are arranged in order. The above MAC corresponds to a degenerate electronic signature. Needless to say, the method of generating a degenerate electronic signature is not limited to the example shown above.
[0145]
 The information processing apparatus 100 confirms the degenerate electronic signature instead of the first electronic signature when the information processing method according to the first embodiment described above is used. Then, the information processing apparatus 100 controls the execution of the processing related to the VM based on the confirmation result of the degenerate electronic signature.
[0146]
 As an example, the information processing apparatus 100 generates an electronic signature for verification for each condition information, for example. Further, the information processing apparatus 100 generates a degenerate electronic signature for verification from the electronic signature for verification generated for each condition information. Then, the information processing apparatus 100 confirms the validity of the degenerate electronic signature by comparing the generated degenerate electronic signature for verification with the degenerate electronic signature.
[0147]
 The process related to the confirmation of the degenerate electronic signature is not limited to the example shown above, and the information processing apparatus 100 may confirm the degenerate electronic signature by any process capable of verifying the electronic signature. ..
[0148]
 FIG. 9 is an explanatory diagram for explaining an outline of a second example of the information processing method according to the second embodiment. FIG. 9 shows an example in which the condition information is the start condition information, as in the case of A in FIG. Further, in FIG. 9, the degenerate electronic signature is shown as a “degenerate signature”.
[0149]
 As shown in FIG. 9, in the information processing system 1000 to which the information processing method according to the second embodiment is applied, a plurality of first electronic signatures corresponding to a plurality of conditional information corresponding to the VM program (FIG. 9). The signature 1, signature 2, and signature 3) shown are generated. Further, in the information processing system 1000 to which the information processing method according to the second embodiment is applied, a degenerate electronic signature is generated from a plurality of first electronic signatures.
[0150]
 Further, in the information processing apparatus 100, the VM program is associated with the condition information and the degenerate electronic signature and stored in the recording medium.
[0151]
 The information processing device 100 is associated with the VM program, for example, "when the VM is installed" or "after the VM is installed and before the VM is operated". Check the electronic signature. Then, the information processing apparatus 100 controls the execution of the processing related to the VM based on the confirmation result of the degenerate electronic signature.
[0152]
 As can be seen by comparing FIGS. 9 and 7, in the second example of the information processing method according to the second embodiment, the first embodiment described above is performed except that the first electronic signature is a degenerate electronic signature. It is the same as the information processing method according to the form.
[0153]
 Therefore, the information processing apparatus 100 to which the information processing method according to the second embodiment is applied can operate the information processing apparatus 100 (VM can operate) as in the case where the information processing method according to the first embodiment is applied. It is possible to improve the convenience of the device).
[0154]
 Further, when the information processing method according to the second embodiment is applied, even if a plurality of condition information is associated with the VM program, the number of electronic signatures associated with the VM program is at least one. It's done.
[0155]
 When the information processing method according to the second embodiment is applied, two or more degenerate electronic signatures may be associated with the VM program. As an example of the case where two or more reduced digital signatures are associated with a VM program, "from a reduced digital signature generated from a plurality of electronic signatures corresponding to activation condition information and a plurality of electronic signatures corresponding to access target information. An example in which the generated reduced digital signature is associated with a VM program is given.
[0156]
 Therefore, when the information processing method according to the second embodiment is applied,
"an increase in the number of electronic signatures associated with the VM program when a plurality of condition information is associated with the VM program" is prevented. Will be done.
[0157]
 Further, the second example of the information processing method according to the second embodiment is particularly effective when the degenerate electronic signature is a signature (MAC) by a common key method.
[0158]
[2-3] Information Processing Method According
 to Third Embodiment By applying the information processing method according to the first embodiment or the information processing method according to the second embodiment described above, the information processing apparatus 100 ( It is possible to improve the convenience of the device (an example) in which the VM can operate.
[0159]
 Here, when the information processing method according to the first embodiment or the information processing method according to the second embodiment described above is applied, for example, "the VM program and the electronic signature are associated with each other in the information processing apparatus 100. It is not possible to deal with the "use case" in which the provider of the VM program wants to limit the operation of the VM after the information processing is performed.
[0160]
 Therefore, in the information processing system 1000 to which the information processing method according to the third embodiment is applied, the information processing apparatus 100 executes the processing related to the VM based on the control information for controlling the execution of the processing related to the VM. It also has a function to control.
[0161]
 Examples of the control information according to the present embodiment include "a table (or database) in which information for specifying a VM program and information indicating a restriction content are recorded in association with each other". The control information according to the present embodiment is not limited to the table (or database) as shown above, and may be data in any format such as data for each VM program. The control information can be generated by an arbitrary external device viewed from the information processing device 100 such as a server (not shown).
[0162]
 Information for identifying the VM program includes, for example, arbitrary data capable of identifying the VM program, such as an ID of the VM program, a hash value of at least a part of the program code, and a MAC.
[0163]
 The information indicating the restriction content includes, for example, arbitrary data that defines the restriction content of the operation of the VM, such as data indicating that the installation of the VM is prohibited and data indicating that the execution of the VM program is prohibited. Can be mentioned.
[0164]
 The information processing device 100 determines, for example, "whether the target VM program is a VM program set in the control information" based on the information for specifying the VM program included in the control information. The information processing device 100 determines, for example, when the VM is installed or when the VM program is executed, "whether the target VM program is the VM program set in the control information". The information processing device 100 is a VM program in which all the VM programs stored in the recording medium are targeted VM programs, and "the target VM program is set in the control information" at an arbitrary timing. You may judge "?".
[0165]
 Then, the information processing apparatus 100 controls the execution of the processing related to the VM according to the determination result based on the control information.
[0166]
 As an example, the information processing apparatus 100 does not perform the prohibited processing if the execution of the VM program or the installation of the VM program is prohibited at the time of installing the VM or executing the VM program. To give another example, if the installation of the VM program is prohibited after the VM is installed, the information processing apparatus 100 uninstalls the VM program or prohibits the execution of the VM program.
[0167]
 The processing in the information processing apparatus 100 according to the third embodiment is not limited to the example shown above.
[0168]
 For example, when the information processing method according to the third embodiment is applied, the control information may be digitally signed. In the following, an electronic signature performed on one control information may be referred to as a “second electronic signature”.
[0169]
 The generation of the second electronic signature can be performed by an arbitrary external device viewed from the information processing device 100 such as a server (not shown). Further, in the information processing apparatus 100, the control information and the second electronic signature are associated with each other by an arbitrary association method and stored in the recording medium.
[0170]
 When the control information is associated with the second electronic signature, the information processing apparatus 100 controls the execution of the processing related to the VM based on the control information based on the confirmation result of the second electronic signature.
[0171]
 For example, the information processing apparatus 100 makes it possible to control the execution of processing related to the VM based on the control information when the validity of the second electronic signature is confirmed. Further, the information processing apparatus 100 does not control the execution of the processing related to the VM based on the control information when the validity of the second electronic signature is not confirmed.
[0172]
 The information processing apparatus 100 confirms the second electronic signature by using, for example, the key associated with the area indicated by the "condition information associated with the VM program to be controlled by the control information".
[0173]
 The information processing device 100 is signed using, for example, at least one of the keys associated with the area indicated by the "condition information associated with the VM program to be controlled by the control information". If so, it is determined that the second electronic signature is the correct signature. Further, when the information processing apparatus 100 is signed using all the keys associated with the area indicated by the "condition information associated with the VM program to be controlled by the control information", for example. , The second electronic signature may be determined to be the correct signature.
[0174]
 In the information processing apparatus 100 to which the information processing method according to the third embodiment is applied, the execution of processing related to the VM based on the control information is controlled as described above. Therefore, in the information processing device 100 to which the information processing method according to the third embodiment is applied, after the VM program and the electronic signature are associated with each other in the information processing device 100 described above, the provider of the VM program or the like can use the information processing device 100. It is possible to deal with "use cases" in which the operation of the VM is desired to be restricted.
[0175]
 Therefore, the information processing device 100 to which the information processing method according to the third embodiment is applied is more than the case where the information processing method according to the first embodiment or the information processing method according to the second embodiment is applied. , The convenience of the information processing device 100 (an example of a device capable of operating a VM) can be improved.
[0176]
[2-4]
 Information Processing Method According to Fourth Embodiment Information processing is performed by applying at least one of the information processing method according to the first embodiment to the information processing method according to the third embodiment described above. It is possible to improve the convenience of the device 100 (an example of a device capable of operating a VM).
[0177]
 Here, in the information processing apparatus 100, "the case where the area indicated by the condition information (that is, the area associated with the key used to generate the valid electronic signature) is deleted after the signed VM program is installed. Is assumed. When the above case occurs, the VM program executed by the information processing apparatus 100 waits for a start condition that never satisfies, or tries to access an area that does not exist.
[0178]
 Therefore, in the information processing system 1000 to which the information processing method according to the fourth embodiment is applied, when the information processing apparatus 100 deletes the area of ​​the recording medium, there is condition information indicating the area to be deleted. To do one of the following:
  -Do not delete the area to be deleted.
  -Performs predetermined processing on the VM program associated with the condition information indicating the area to be deleted.
[0179]
 As the predetermined process according to the fourth embodiment, for example, "a process of uninstalling the VM program associated with the condition information indicating the area to be deleted" or "condition information indicating the area to be deleted". "Processing to invalidate the associated VM program" can be mentioned. Examples of the process of invalidating the VM program include one or both of the process of invalidating the VM program and the process of invalidating the condition indicated by the condition information corresponding to the VM program.
[0180]
 In the information processing apparatus 100 to which the information processing method according to the fourth embodiment is applied, as described above, when the area of ​​the recording medium is deleted, if the condition information indicating the area to be deleted exists, the information processing device 100 is deleted. The target area is not deleted, or a predetermined process is performed for the VM program. Therefore, in the information processing apparatus 100 to which the information processing method according to the fourth embodiment is applied, the above-mentioned "VM program waits for a start condition that never satisfies or tries to access an area that does not exist". , Is prevented.
[0181]
 Therefore, the information processing device 100 to which the information processing method according to the fourth embodiment is applied can improve the convenience of the information processing device 100 (an example of a device capable of operating a VM).
[0182]
[2-5] Information processing method according to the fifth embodiment
[2-5-1] Outline of the information processing system 1000 to which the information processing method according to the fifth embodiment is applied
 Corresponds to NFC such as an IC card Some of the devices that perform information processing have the feature that the atomicity of the result of one command execution is guaranteed. As an example in which atomicity is guaranteed, "when writing to areas A, B, and C is instructed in the parameter of one command, even if the command is interrupted, the area A, B, and C can be written. An example "is the result of either all writing being done or no writing being done to areas A, B, C".
[0183]
 Therefore, in the information processing system 1000 to which the information processing method according to the fifth embodiment is applied, the information processing apparatus 100 capable of operating the VM ensures atomicity as in the above example. As an example, in the information processing system 1000 to which the information processing method according to the fifth embodiment is applied, "in the information processing apparatus 100, writing by a command and writing by a VM program all succeed or all fail. Achieve "the result of either".
[0184]
 FIG. 10 is an explanatory diagram for explaining an outline of the information processing method according to the fifth embodiment. FIG. 10 shows an example of processing in the information processing apparatus 100 that has received a command instructed to write to areas A, B, and C in terms of parameters.
[0185]
 For example, when a file system access is generated by a received command and the VM program is started in accordance with the start condition, the information processing apparatus 100 writes to the file system by the VM program and writes to the file system by the command. Is not executed immediately, and the success or failure of each process and the data to be written are held in a temporary buffer. For example, when the hardware configuration shown in FIG. 3 is provided, a recording medium such as a RAM 168 or a non-volatile memory 170 serves as a temporary buffer.
[0186]
 After the processing based on each parameter included in the command is completed, the information processing apparatus 100 reflects all the data stored in the temporary buffer in the file system when the results of all the processing are successful. Further, when the result of at least one process is a failure after the process based on each parameter included in the command is completed, the information processing apparatus 100 files all the data stored in the temporary buffer as a file system. Do not reflect in.
[0187]
 For example, by performing the process shown in FIG. 10, "the result of writing by the command and writing by the VM program either all succeeds or all fails" is realized, so that information processing can be performed. In the device 100, atomicity is guaranteed.
[0188]
 Therefore, the information processing device 100 to which the information processing method according to the fifth embodiment is applied can improve the convenience of the information processing device 100 (an example of a device capable of operating a VM).
[0189]
[2-5-2] Processing related to the information processing method in the information processing device 100 according to
 the fifth embodiment Next, an example of processing related to the information processing method in the information processing device 100 according to the fifth embodiment will be described. To do.
[0190]
 The information processing device 100 has a function of operating the VM, for example, like the information processing device 100 according to the first to fourth embodiments described above.
[0191]
 The information processing device 100 according to the fifth embodiment controls the operation of the VM according to the confirmation result of the electronic signature like the information processing device 100 according to the first to fourth embodiments described above. , May or may not be done. That is, in order to ensure the atomicity as described above, it is not essential to control the operation of the VM according to the confirmation result of the electronic signature. Therefore, at least the condition information needs to be associated with the virtual machine program that operates the VM according to the fifth embodiment.
[0192]
 Further, the information processing device 100 has a function of processing a command acquired from an external device, including a function of writing data based on a write command. In the following, the processing related to the guarantee of atomicity as described above will be described by taking the case where the information processing apparatus 100 processes the write command as an example.
[0193]
 When the write command is acquired, the information processing apparatus 100 operates the VM when the area indicated by the parameter of the write command is the area indicated by the condition information.
[0194]
 Further, when the write command is acquired, the information processing apparatus 100 determines whether or not all the data written based on the write command can be normally written. For example, as described with reference to FIG. 10, the information processing apparatus 100 does not immediately execute writing to the file system, and holds in a temporary buffer the success or failure of writing all the data and the data to be written.
[0195]
 Then, when it is determined that all the data can be written normally, the information processing apparatus 100 writes the data based on the write command. For example, as described with reference to FIG. 10, the information processing apparatus 100 is held in a temporary buffer when the results of all the processes are successful after the processes based on the parameters included in the command are completed. Reflect all data in the file system.
[0196]
 Further, the information processing apparatus 100 does not write data based on the write command when it is not determined that all the data can be written normally. For example, as described with reference to FIG. 10, after the processing based on each parameter included in the command is completed, the information processing apparatus 100 holds in a temporary buffer if the result of at least one processing is unsuccessful. Do not reflect all the data that is being processed in the file system.
[0197]
 For example, as described above, the information processing apparatus 100 determines whether or not all the data written based on the write command can be normally written, and selects the writing of data based on the write command according to the determination result. Do it. Therefore, in the information processing apparatus 100, atomicity is guaranteed.
[0198]
 Here, when the VM is operated based on the write command, the writing of the data based on the writing command includes the writing of the data executed in the VM program.
[0199]
[2-6] Information Processing Method Related to Other Embodiments The processing related to the information processing method according to the
 present embodiment relates to the processing related to the information processing method according to the first embodiment to the fifth embodiment. It is not limited to the processing related to the information processing method.
[0200]
 For example, the process related to the information processing method according to the present embodiment includes two or more of the processes related to the information processing method according to the first embodiment to the process related to the information processing method according to the fifth embodiment. It may be a combination of processes.
[0201]
[3] An example of the effect produced by using the information processing method according to the present embodiment By using the information processing method according to the
 present embodiment, for example, the effects shown in (a) to (d) below can be obtained. Played. Needless to say, the effect produced by using the information processing method according to the present embodiment is not limited to the examples shown below.
[0202]
(A) Cooperation with OS and implementation of VM program by high-performance API (Application Programming Interface) -The VM program according to
  this embodiment has a function of customizing the functions of OS such as Felica (registered trademark) OS. It is possible to provide a functional API.
  -For example, by providing an API that cooperates with the OS in the VM program, the VM program can be operated in cooperation with the movement of the OS. As an example, by linking the writing operation of the OS and the writing operation of the VM program, the atomicity of the writing operation can be ensured as illustrated in the information processing method according to the fifth embodiment. .. Further, by ensuring the atomicity of the writing operation, it is possible to realize a case where the power is interrupted before the writing is completed (when the power supply is cut off).
  -The basic part of the application can be implemented as code that runs natively on a high-speed processor (native code), and the function of customizing the OS functions can be implemented in the VM program. With such an implementation, for example, it is possible to realize an application that operates at high speed even when a low-speed program that operates on a VM is included. In addition, such an implementation makes it possible to realize functions in a compact manner, and it is possible to realize advanced functions on limited memory resources. When the information processing apparatus 100 is an IC card, it is particularly beneficial to be able to realize advanced functions on limited memory resources.
[0203]
(B) VM program start condition
  -Since the VM program is started according to the condition information, the VM program can be executed at a predetermined timing without being specified from the outside of the information processing apparatus 100. Therefore, since the execution of the VM program does not depend on the external device such as the reader / writer 200, it is possible to expand the function of the information processing device 100 by the VM program without changing the external device existing in the market, for example. it can. Further, since the execution of the VM program does not depend on the external device such as the reader / writer 200, it is not necessary to be aware of the existence of the VM program in the external device, for example.
  -Controlling the execution of processing related to VM based on the confirmation result of the electronic signature by using any of the processing related to the information processing method according to the first embodiment to the information processing method according to the fourth embodiment. Is realized. Here, in the information processing apparatus 100, for example, the electronic signature is checked and stored at the time of download, and it is not necessary to confirm the electronic signature at the time of execution, so that the program can be executed at high speed.
[0204]
(C) Pre-setting of access target
  -For example, by downloading information related to resource access authority (for example, condition information and electronic signature) as metadata of the VM program, mutual authentication when executing the VM program can be performed. It is no longer needed and the VM program can access the resources of the OS. Here, the execution authority is signed for each required access authority and set in the information processing apparatus 100. Further, in the information processing apparatus 100, for example, the electronic signature is checked and stored at the time of download, and it is not necessary to confirm the electronic signature at the time of execution, so that the program can be executed at high speed.
  -It is also possible to add restrictions to the access target for each condition.
[0205]
(D) Addition of functions
  in the market-Downloading the VM program may be implemented as a command that can be issued in the market, and the functions of the information processing apparatus 100 can be added in the market.
  -The VM program that is no longer needed may be deleted in the market by a command that can be issued in the market.
  -By making the VM program downloadable in a free area without requiring a dedicated area for the VM program, the information processing apparatus 100 can effectively utilize the memory.
  -The operation of adding a function without deleting an existing application can be realized by a VM program. Thereby, for example, it is possible to take over the existing data structure and realize additional movement by the VM program.
  -According to the above (b) and (c), after downloading the application, the function can be added to the information processing device 100 without changing the external device such as the reader / writer in the market. As an example, it is possible to add a function on the information processing apparatus 100 side without changing the sequence given to the information processing apparatus 100.
[0206]
[4] Use case to which the information processing method according to the present embodiment is applied
 Next, a use case to which the information processing method according to the above-described embodiment is applied will be described. Needless to say, the use cases to which the information processing method according to this embodiment is applied are not limited to the examples shown below.
[0207]
[4-1] First Example of Use Case: Coupon Grant by VM As
 the first example of the use case, a use case of granting a coupon by VM will be described.
[0208]
 FIG. 11 is an explanatory diagram for explaining a first example of a use case to which the information processing method according to the present embodiment is applied. FIG. 11A shows the state of the recording medium included in the information processing apparatus 100 before the VM program is installed. Further, B in FIG. 11 shows the state of the recording medium included in the information processing apparatus 100 after the VM program is installed.
[0209]
 The signature of the activation condition information (an example of the condition information) is created, for example, by a person (for example, an electronic money operator) who has the authority of the parent area of ​​the area (block) that is the condition for starting the VM program. Further, the signature of the access target information (an example of condition information) is created by, for example, a person (for example, an electronic money business operator) who has the authority of the parent area of ​​the area (block) for storing the coupon accessed by the VM program.
[0210]
 The VM program, start condition information and signature, and access target information and signature may be combined into a single signed package. Here, the signed package according to the present embodiment means that the package is encrypted and signed. The signed package is concealed and signed for secure download on the market.
[0211]
 The start condition information and signature and the access target information and signature correspond to the metadata of the VM program.
[0212]
 For example, when the packaged VM program is downloaded to the information processing device 100, the information processing device 100 verifies the signature and confirms that it has not been tampered with. By confirming the signature at the time of downloading, for example, it is not necessary to store the signature in the information processing device 100, and the VM program can be safely executed even when the capacity of the non-volatile memory included in the information processing device 100 is small. It becomes possible.
[0213]
 In the information processing device 100, the signature may be confirmed when the information processing device 100 is started or when the program is executed. Further, the safety can be further improved by storing the electronic signature in the information processing device 100 and checking the information processing device 100 every time the program is executed or the like.
[0214]
 For example, when the packaged VM program is downloaded to the information processing device 100, the state of the recording medium included in the information processing device 100 changes from, for example, the state shown in A of FIG. 11 to the state shown in B of FIG. change.
[0215]
 FIG. 12 is an explanatory diagram for explaining a first example of a use case to which the information processing method according to the present embodiment is applied. FIG. 12 shows an example of processing in the information processing system 1000 shown in FIG.
[0216]
 The reader / writer 200 transmits a mutual authentication command relating to Service1008 shown in FIG. 11 (S200), and the processing unit 110 returns a response after performing processing according to the mutual authentication command (S202). The processing of steps S200 and S202 corresponds to mutual authentication relating to Service1008. In the following, the case where mutual authentication is completed normally will be taken as an example.
[0217]
 The reader / writer 200 transmits a write command for writing to Service1008 (S204).
[0218]
 The processing unit 110 that has acquired the write command transmitted from the reader / writer 200 in step S204 makes write access to the service 1008 to the file system based on the write command (S206). In FIG. 12, electronic money charge (process of adding the value of electronic value) is shown as the process shown in step S206.
[0219]
 Further, the processing unit 110 confirms the signature and then confirms the start condition of the VM program (S208), and the processing unit 110 starts the VM program when the signature is confirmed and the start condition is satisfied. (S210).
[0220]
 When the VM program is executed and a write access to the Service 1108 occurs, the VM program
confirms , for example, that the access target information includes the update information of the Service 1108 block. At this time, the VM program may confirm the signature 2 shown in FIG.
[0221]
 The VM program makes write access to the Service 1108 shown in FIG. 11 (S212). FIG. 12 shows a process related to coupon grant as the process shown in step S212.
[0222]
 The VM program confirms the condition of the access target information after confirming the signature, and reserves writing to the Service 1108 when the signature is confirmed and the condition is satisfied (S214). The VM program reserves, for example, the writing of a coupon corresponding to writing to Service1008 (for example, a coupon corresponding to an addition value (so-called charge amount) of an electronic value value). Further, the VM program transmits the processing result of step S214 to the processing unit 110 (S216). Here, the access target information is defined, for example, the information to access the Service 1108 and the authority to write to the Service 1108.
[0223]
 When the result indicating that the write reservation has been normally performed in step S216 is transmitted to the processing unit 110, the file system writes the data to the non-volatile memory (S218), and the write result is processed. It is transmitted to the unit 110 (S220). For example, writing to Service1008 is performed by the processing unit 110, and writing to Service1108 is performed by the VM program. After the writing to the Service 1108 is performed, the VM program ends normally.
[0224]
 The processing unit 110 returns a normally processed response as a response to the write command transmitted from the reader / writer 200 in step S204 (S222).
[0225]
 For example, by performing the process shown in FIG. 12, coupon granting by VM is realized. Needless to say, the processing that can realize the coupon granting by VM is not limited to the example shown in FIG.
[0226]
[4-2] Second Example of Use Case: Setting of Electronic Money Usage Limit by VM As a
 second example of the use case, a use case of setting a usage limit for electronic money by VM will be described.
[0227]
 FIG. 13 is an explanatory diagram for explaining a second example of a use case to which the information processing method according to the present embodiment is applied. FIG. 13A shows the state of the recording medium included in the information processing apparatus 100 before the VM program is installed. Further, B in FIG. 13 shows the state of the recording medium included in the information processing apparatus 100 after the VM program is installed.
[0228]
 The signature of the activation condition information (an example of the condition information) is created, for example, by a person (for example, an electronic money operator) who has the authority of the parent area that is the condition for starting the VM program.
[0229]
 The VM program and the start condition information and signature may be combined into a signed package. The signed package is concealed and signed for secure download on the market.
[0230]
 For example, when the packaged VM program is downloaded to the information processing device 100, the information processing device 100 verifies the signature and confirms that it has not been tampered with. By confirming the signature at the time of downloading, for example, it is not necessary to store the signature in the information processing device 100, and the VM program can be safely executed even when the capacity of the non-volatile memory included in the information processing device 100 is small. It becomes possible.
[0231]
 In the information processing device 100, the signature may be confirmed when the information processing device 100 is started or when the program is executed. Further, the safety can be further improved by storing the electronic signature in the information processing device 100 and checking the information processing device 100 every time the program is executed or the like.
[0232]
 For example, when the packaged VM program is downloaded to the information processing device 100, the state of the recording medium included in the information processing device 100 changes from, for example, the state shown in A of FIG. 13 to the state shown in B of FIG. change. For example, as shown in B of FIG. 13, the VM program may be a program that stores data in a dedicated area for the VM program.
[0233]
 FIG. 14 is an explanatory diagram for explaining a second example of a use case to which the information processing method according to the present embodiment is applied. FIG. 14 shows an example of processing in the information processing system 1000 shown in FIG.
[0234]
 The reader / writer 200 transmits a mutual authentication command regarding the Service 1008 and the Service 110C shown in FIG. 13 (S300), and the processing unit 110 returns a response after performing processing according to the mutual authentication command (S302). The processing of steps S300 and S302 corresponds to mutual authentication relating to Service1008 and Service110C, similarly to the processing of steps S200 and S202 shown in FIG. In the following, the case where mutual authentication is completed normally will be taken as an example.
[0235]
 The reader / writer 200 transmits a write command for writing to Service1008 (S304).
[0236]
 The processing unit 110 that has acquired the write command transmitted from the reader / writer 200 in step S304 makes write access to the service 1008 and the service 110C to the file system based on the write command (S306). In FIG. 14, as the processes shown in step S306, an electronic money charge (a process of adding an electronic value value) and a process of recording a log are shown.
[0237]
 Further, the processing unit 110 confirms the start condition of the VM program after confirming the signature (S308), and starts the VM program when the signature is confirmed and the start condition is satisfied (S310).
[0238]
 When the data reference access is generated by the command packet, the VM program
confirms whether or not the access target information includes the data reference information in the Service 110C command packet. At this time, the VM program may confirm the signature 2 shown in FIG.
[0239]
 The VM program writes the reduced amount and the date of the Service 110C in the data storage area for the VM program shown in FIG. At this time, for example, when the daily limit is set, the VM program
confirms the date and the reduced amount in the Service 110C command packet (S312). Then, the VM program confirms whether the subtracted amount exceeds the limit amount (S314), and transmits the result to the processing unit 110 (S316). The limit is embedded in the VM program or recorded in the data storage area for the VM program, for example.
[0240]
 If it is confirmed in step S314 that the limit has been exceeded, the processing unit 110 returns an error as a response to the write command transmitted from the reader / writer 200 in step S304 (S318).
[0241]
 If it is confirmed in step S314 that the limit is not exceeded, the file system writes the data to the non-volatile memory (S320), and the writing result is transmitted to the processing unit 110 (S322). ). For example, writing to the Service 1008 is performed by the processing unit 110, and writing to the Service 110C is performed by the VM program. After writing to the Service 110C, the VM program ends normally.
[0242]
 The processing unit 110 returns a normally processed response as a response to the write command transmitted from the reader / writer 200 in step S304 (S324).
[0243]
 For example, by performing the process shown in FIG. 14, the electronic money usage limit setting by the VM is realized. Needless to say, the processing that can realize the electronic money usage limit setting by the VM is not limited to the example shown in FIG.
[0244]
(Program according
 to the present embodiment ) A program for causing the computer system to function as an information processing device according to the present embodiment (for example, a function of the processing unit 110 that performs processing related to the information processing method according to the first embodiment). A program capable of realizing some or all of the functions of the processing unit 110 that performs the processing related to the information processing method according to the fifth embodiment) is executed by a processor or the like in a computer system. As a result, it is possible to improve the convenience of the device in which the virtual machine can operate. Here, examples of the computer system according to the present embodiment include a single computer or a plurality of computers. A series of processes is performed by the computer system according to the present embodiment.
[0245]
 Further, a program for causing the computer system to function as the information processing device according to the present embodiment is executed by a processor or the like in the computer system, and is played by the processing related to the information processing method according to each of the above-described embodiments. The effect can be achieved.
[0246]
 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 a person having ordinary knowledge in the technical field of the present disclosure can come up with various modifications or modifications within the scope of the technical ideas described in the claims. Of course, it is understood that the above also belongs to the technical scope of the present disclosure.
[0247]
 For example, in the above, it has been shown that a program (computer program) for causing the computer system to function as the information processing device according to the present embodiment is provided, but in the present embodiment, the recording medium in which the program is stored is provided. Can also be provided.
[0248]
 The configuration described above is an example of the present embodiment and, of course, belongs to the technical scope of the present disclosure.
[0249]
 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.
[0250]
 The following configurations also belong to the technical scope of the present disclosure.
(1) The
 virtual machine
 program having a processing unit having a function of controlling the execution of processing related to the virtual machine and operating the virtual machine indicates a condition for operating the virtual machine including information indicating an area of ​​a recording medium. The condition information, the code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and the
 processing unit is associated with the virtual machine program. An information processing device that controls the execution of processing related to the virtual machine based on the confirmation result of the electronic signature of the virtual machine.
(2)
 the processing unit,
 when the first validity of the electronic signature is verified, the to enable execution of processing for the virtual machine,
 if the first validity of the electronic signature is not confirmed , The information processing apparatus according to (1), which executes predetermined error processing.
(3) The
 process according to (1) or (2), wherein the process related to the virtual machine includes one or both of a process of installing the virtual machine and a process of operating the virtual machine based on the condition information. Information processing device.
(4)
 The first electronic signature is generated based on the key corresponding to the condition information, and the
 processing unit uses the key associated with the area indicated by the condition information to obtain the first electronic signature . The information processing device according to any one of (1) to (3), which confirms an electronic signature.
(5) The
 processing unit gives the first electronic signature when the virtual machine is installed or after the virtual machine is installed and before the virtual machine is operated. The information processing device according to any one of (1) to (4) to be confirmed.
(6)
 When a plurality of the condition information is associated with the virtual machine program, the first electronic signature is a plurality of codes corresponding to the code of the virtual machine program, the plurality of the condition information, and the plurality of the condition information. The information processing apparatus according to any one of (1) to (5), which is generated based on the degenerate key generated based on the key of.
(7)
 When a plurality of the condition information is associated with the virtual machine program, the virtual machine program for operating the virtual machine is generated based on a plurality of the first electronic signatures corresponding to the plurality of the condition information. The reduced electronic signature is associated with the
 virtual machine, and the processing unit controls the execution of processing related to the virtual machine based on the confirmation result of the reduced electronic signature associated with the virtual machine program (1). ) To the information processing apparatus according to any one of (5).
(8) The
 processing unit further controls the execution of the processing related to the virtual machine based on the control information for controlling the execution of the processing related to the virtual machine, and the
 control information is given a second electronic signature. Are associated with
 The processing unit according to any one of (1) to (7), which controls the execution of processing related to the virtual machine based on the control information based on the confirmation result of the second electronic signature. Information processing device.
(9) The
 processing unit uses the key associated with the area indicated by the condition information associated with the virtual machine program to be controlled by the control information to sign the second electronic signature. The information processing apparatus according to (8) to be confirmed.
(10)
 When deleting the area of ​​the recording medium, the processing unit does not delete the area to be deleted, or does not delete the area to be deleted, if the condition information indicating the area to be deleted exists. The information processing apparatus according to any one of (1) to (9), which performs a predetermined process with respect to the virtual machine program associated with the condition information indicating the area of.
(11) The
 information processing device according to any one of (1) to (10), wherein the information processing device is an IC card.
(12)
 A processing unit having a function
 of operating a virtual machine and a function of writing data based on a write command acquired from an external device is provided, and the virtual machine program for operating the virtual machine is recorded. When the condition information indicating the condition for operating the virtual machine including the information indicating the area of ​​the medium is associated and the
 write command is acquired from the external device, the
 processing unit performs the processing unit.
 When the area indicated by the parameter of the write command is the area indicated by the condition information,
 it is determined whether the virtual machine can be operated and all the data written based on the write command can be normally written. and,
 when it is determined that it is possible to write all data successfully writes data based on the write command,
 when it is not determined that it is possible to write all the data correctly, the
 When the virtual machine operates based on the write command without writing the data based on the write command, the writing of the data based on the write command includes the writing of the data executed in the virtual machine program. Information processing device.
(13) The
 virtual machine
 program having a step of controlling the execution of processing related to the virtual machine and operating the virtual machine includes condition information indicating conditions for operating the virtual machine including information indicating an area of ​​a recording medium. , The code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and
 in the step of controlling the first electronic signature associated with the virtual machine program. An information processing method executed by an information processing device in which execution of processing related to the virtual machine is controlled based on a signature confirmation result.
(14)
 Steps to operate the virtual machine and
 The  virtual machine program
 having a step of writing data based on a write command acquired from an external device
and operating the virtual machine operates the virtual machine including information indicating an area of ​​a recording medium. When the condition information indicating the condition is associated and the
 write command is acquired from the external device,
 in the step of operating the virtual machine, when the area indicated by the parameter of the write command is the area indicated by the condition information. In the
 step of operating the virtual machine and performing
 the writing, it is determined whether or not all the data written based on the writing command can be normally written, and
 all the data is normally written. When it is determined that
 the data can be written, the data is written based on the write command, and when it is not determined that all the data can be written normally, the data is not written based on the write command.
 When the virtual machine is operated by the step of operating the virtual machine, the data execution based on the write command includes the writing of data executed in the virtual machine program, and the information executed by the information processing apparatus. Processing method.
(15)
 Realize a computer with a function to control the execution of processing related to virtual machines.
 The virtual machine program for operating the virtual machine is generated based on the condition information indicating the conditions for operating the virtual machine including information indicating the area of ​​the recording medium, the code of the virtual machine program, and the condition information. The
 function associated with the first electronic signature and said to control controls the execution of processing related to the virtual machine based on the confirmation result of the first electronic signature associated with the virtual machine program. Program.
(16) A
 computer is provided with a function of operating a virtual machine and a function
 of writing data based on a write command acquired from an external device,
 and the
 virtual machine program for operating the virtual machine includes a recording medium. When the condition information indicating the condition for operating the virtual machine including the information indicating the area is associated and the
 write command is acquired from the external device ,
 the function for operating the virtual machine is indicated by the parameter of the write command. When the area is the area indicated by the condition information, the
 function of operating the virtual machine and performing
 the writing determines whether or not all the data performed based on the writing command can be normally written. Then,
 when it is determined that all the data can be written normally, the data is written based on the write command.
 When it is not determined that all the data can be written normally, the data is not written based on the write command, and when the
 virtual machine is operated by the function of operating the virtual machine, it is based on the write command. A program in which writing data includes writing data executed in the virtual machine program.
Code description
[0251]
 100 Information processing device
 200 Reader / writer
 102 Communication unit
 104 Control unit
 110 Processing unit
 1000 Information processing system
The scope of the claims
[Claim 1]
 The virtual machine
 program having a processing unit having a function of controlling the execution of processing related to the virtual machine and operating the virtual machine includes condition information indicating conditions for operating the virtual machine including information indicating an area of ​​a recording medium. , The code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and the
 processing unit is associated with the first electronic signature associated with the virtual machine program. An information processing device that controls the execution of processing related to the virtual machine based on the confirmation result of.
[Claim 2]
 The processing unit,
 when the first validity of the electronic signature is verified, the to enable execution of processing for the virtual machine,
 if the validity of the first electronic signature is not confirmed, a predetermined The information processing apparatus according to claim 1, which executes error processing.
[Claim 3]
 The information processing apparatus according to claim 1, wherein the process related to the virtual machine includes one or both of a process of installing the virtual machine and a process of operating the virtual machine based on the condition information.
[Claim 4]
 The first electronic signature is generated based on the key corresponding to the condition information, and the
 processing unit uses the key associated with the area indicated by the condition information to generate the first electronic signature. The information processing apparatus according to claim 1, which is to be confirmed.
[Claim 5]
 The processing unit confirms the first electronic signature when the virtual machine is installed or after the virtual machine is installed and before the virtual machine is operated. The information processing device according to claim 1.
[Claim 6]
 When a plurality of the condition information is associated with the virtual machine program, the first electronic signature is attached to the code of the virtual machine program, the plurality of the condition information, and the plurality of keys corresponding to the plurality of the condition information. The information processing apparatus according to claim 1, which is generated based on the degenerate key generated based on the above.
[Claim 7]
 When a plurality of the condition information is associated with the virtual machine program, the virtual machine program for operating the virtual machine is reduced to be generated based on a plurality of the first electronic signatures corresponding to the plurality of the condition information. The
 first aspect of claim 1 , wherein the electronic signature is associated and the processing unit controls the execution of processing related to the virtual machine based on the confirmation result of the reduced electronic signature associated with the virtual machine program. Information processing device.
[Claim 8]
 The processing unit further controls the execution of the processing related to the virtual machine based on the control information for controlling the execution of the processing related to the virtual machine, and the
 control information is associated with a second electronic signature. is,
 the processing unit, based on the check result of the second digital signature, and controls the execution of the process relating to the virtual machine based on the control information, the information processing apparatus according to claim 1.
[Claim 9]
 The processing unit confirms the second electronic signature by using the key associated with the area indicated by the condition information associated with the virtual machine program to be controlled by the control information. The information processing device according to claim 8.
[Claim 10]
 When deleting the area of ​​the recording medium, if the condition information indicating the area to be deleted exists, the processing unit does not delete the area to be deleted, or deletes the area to be deleted. The information processing apparatus according to claim 1, wherein a predetermined process is performed on the virtual machine program associated with the condition information shown.
[Claim 11]
 The information processing device according to claim 1, wherein the information processing device is an IC (Integrated Circuit) card.
[Claim 12]
 A processing unit having a function
 of operating a virtual machine and a function of writing data based on a write command acquired from an external device is provided, and the virtual machine program for operating the virtual machine has an area of ​​a recording medium. When the condition information indicating the condition for operating the virtual machine is associated with the information indicating the
 above and the write command is acquired from the external device, the
 processing unit has the
 condition information in the area indicated by the parameter of the write command. In the area indicated by, the virtual machine is operated,
 it is determined whether all the data written based on the write command can be normally written, and
 all the data is written normally. when it is determined that it is, writes data based on the write command,
 when it is not determined that it is possible to write all data normally does not write the data based on the write command,
 the An information processing apparatus in which when the virtual machine operates based on a write command, writing data based on the write command includes writing data executed in the virtual machine program.
[Claim 13]
 The virtual machine
 program having a step of controlling the execution of processing related to the virtual machine and operating the virtual machine includes condition information indicating conditions for operating the virtual machine including information indicating an area of ​​a recording medium, and the virtual machine. The code of the machine program and the first electronic signature generated based on the condition information are associated with each other, and
 in the step of controlling the machine program, confirmation of the first electronic signature associated with the virtual machine program is performed. An information processing method executed by an information processing device in which execution of processing related to the virtual machine is controlled based on a result.
[Claim 14]
 The virtual machine  program  having
 a step of operating the virtual machine and a step of writing data based on a write command acquired from an external device,
and
the virtual machine program for operating the virtual machine has information indicating an area of ​​a recording medium. When condition information indicating a condition for operating the virtual machine including the above is associated and the
 write command is acquired from an external device,
 in the step of operating the virtual machine, the area indicated by the parameter of the write command is the condition. In the
 step of operating the virtual machine and performing the writing in the area indicated by the information,
 it is determined whether all the data can be normally written based on the writing command, and all the data
 are written. When it is determined that
 the data can be written normally, the data is written based on the write command, and when it is not determined that all the data can be written normally, the write command is used.
 When the virtual machine is operated by the step of operating the virtual machine without writing the data based on the data, the writing of the data based on the write command includes the writing of the data executed in the virtual machine program. An information processing method executed by an information processing device.
[Claim 15]
 The virtual machine program in which the computer realizes the function of controlling the execution of the processing related to the
 virtual machine and operates the virtual machine includes condition information indicating the conditions for operating the virtual machine including information indicating the area of ​​the recording medium. , The code of the virtual machine program, and the first electronic signature generated based on the condition information are associated with each other, and the
 control function is associated with the first computer associated with the virtual machine program. A program that controls the execution of processing related to the virtual machine based on the result of confirmation of the signature.
[Claim 16]
 A computer is provided with a function of operating a virtual machine and a function
 of writing data based on a write command acquired from an external device,
 and the
 virtual machine program for operating the virtual machine indicates an area of ​​a recording medium. When condition information indicating a condition for operating the virtual machine including information is associated and the
 write command is acquired from an external device ,
 the function for operating the virtual machine includes the area indicated by the parameter of the write command. When the area is indicated by the condition information, the
 function of operating the virtual machine and writing
 the data determines whether all the data written based on the write command can be normally written, and all of the data
 are written. When it is determined that the data can be written normally, the data is written based on the write command,
 and when it is not determined that all the data can be written normally, the write command is used.
 When the virtual machine is operated by the function of operating the virtual machine without writing the data based on the data, the writing of the data based on the write command includes the writing of the data executed in the virtual machine program. program.

Documents

Application Documents

# Name Date
1 202017032895-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [31-07-2020(online)].pdf 2020-07-31
2 202017032895-STATEMENT OF UNDERTAKING (FORM 3) [31-07-2020(online)].pdf 2020-07-31
3 202017032895-PRIORITY DOCUMENTS [31-07-2020(online)].pdf 2020-07-31
4 202017032895-POWER OF AUTHORITY [31-07-2020(online)].pdf 2020-07-31
5 202017032895-FORM 1 [31-07-2020(online)].pdf 2020-07-31
6 202017032895-DRAWINGS [31-07-2020(online)].pdf 2020-07-31
7 202017032895-DECLARATION OF INVENTORSHIP (FORM 5) [31-07-2020(online)].pdf 2020-07-31
8 202017032895-COMPLETE SPECIFICATION [31-07-2020(online)].pdf 2020-07-31
9 202017032895-Proof of Right [18-09-2020(online)].pdf 2020-09-18
10 202017032895.pdf 2021-10-19
11 202017032895-FORM 18 [03-02-2022(online)].pdf 2022-02-03
12 202017032895-FER.pdf 2022-05-06
13 202017032895-OTHERS [04-11-2022(online)].pdf 2022-11-04
14 202017032895-FORM-26 [04-11-2022(online)].pdf 2022-11-04
15 202017032895-FER_SER_REPLY [04-11-2022(online)].pdf 2022-11-04
16 202017032895-DRAWING [04-11-2022(online)].pdf 2022-11-04
17 202017032895-CORRESPONDENCE [04-11-2022(online)].pdf 2022-11-04
18 202017032895-COMPLETE SPECIFICATION [04-11-2022(online)].pdf 2022-11-04
19 202017032895-CLAIMS [04-11-2022(online)].pdf 2022-11-04
20 202017032895-ABSTRACT [04-11-2022(online)].pdf 2022-11-04

Search Strategy

1 SearchStrategyMatrixE_05-05-2022.pdf