WO2019155792A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- WO2019155792A1 WO2019155792A1 PCT/JP2018/048405 JP2018048405W WO2019155792A1 WO 2019155792 A1 WO2019155792 A1 WO 2019155792A1 JP 2018048405 W JP2018048405 W JP 2018048405W WO 2019155792 A1 WO2019155792 A1 WO 2019155792A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- information processing
- program
- processing apparatus
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Definitions
- the present disclosure relates to an information processing apparatus, an information processing method, and a program.
- VM Virtual Machine
- the virtual machine is a virtual program execution environment.
- a computer program that operates a virtual machine that is, a computer program that implements processing in a virtual program execution environment may be referred to as a “VM program”.
- This disclosure proposes a new and improved information processing apparatus, information processing method, and program capable of improving convenience in an apparatus capable of operating a virtual machine.
- a virtual machine program that includes a processing unit having a function of controlling execution of processing related to a virtual machine and that operates the virtual machine operates the virtual machine that includes information indicating a region of a recording medium.
- Condition information indicating a condition, a code of the virtual machine program, and a first electronic signature generated based on the condition information are associated, and the processing unit is associated with the virtual machine program.
- An information processing apparatus is provided that controls execution of processing related to the virtual machine based on the confirmation result of the first electronic signature.
- a virtual machine including 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 processing unit When the program is associated with condition information indicating conditions for operating the virtual machine including information indicating the area of the recording medium, and the write command is acquired from an external device, the processing unit When the area indicated by the parameter is the area indicated by the condition information, the virtual machine is operated to determine whether or not all data written based on the write command can be normally performed. When it is determined that data can be normally written, data is written based on the write command. If it is not determined that all data can be written normally, the data is not written based on the write command, and the virtual machine operates based on the write command.
- An information processing apparatus is provided in which writing includes writing of data executed in the virtual machine program.
- the virtual machine program including the step of controlling the execution of the process relating to the virtual machine
- the virtual machine program for operating the virtual machine includes a condition for operating the virtual machine including information indicating an area of a recording medium Is associated with the virtual machine program code and the first electronic signature generated based on the condition information
- the condition information is associated with the virtual machine program.
- the virtual machine program for operating the virtual machine includes a step of operating the virtual machine and a step of writing data based on a write command acquired from an external device.
- the write command When the area indicated by the parameter is the area indicated by the condition information, in the step of operating the virtual machine and performing the writing, all data written based on the writing command may be normally performed.
- it is determined whether it is possible to write all data normally When data writing based on the write command is performed and it is not determined that all data can be normally written, data writing based on the write command is not performed, and the virtual machine is operated.
- an information processing method executed by an information processing apparatus is provided, in which data writing based on the write command includes data writing executed in the virtual machine program.
- the virtual machine program for causing a computer to execute a function for controlling execution of processing related to a virtual machine and operating the virtual machine includes the virtual machine including information indicating an area of a recording medium.
- Condition information indicating a condition to be operated is associated with a code of the virtual machine program and a first electronic signature generated based on the condition information, and the function to be controlled is associated with the virtual machine program.
- a program is provided for controlling execution of the process related to the virtual machine based on the confirmation result of the first electronic signature.
- a virtual machine program that causes a computer to operate a virtual machine and a function to write data based on a write command acquired from an external device and to operate the virtual machine.
- condition information indicating conditions for operating the virtual machine including information indicating the area of the recording medium
- the function for operating the virtual machine is the write
- the function of operating the virtual machine and performing the writing normally writes all data performed based on the writing command.
- writing of data based on the write command includes a program including writing of data executed in the virtual machine program.
- the information processing apparatus according to the present embodiment is an IC (Integrated Circuit) card
- the information processing apparatus according to the present embodiment is not limited to an IC card.
- Other application examples of the information processing apparatus according to the present embodiment will be described later.
- FIG. 1 is an explanatory diagram showing an example of the configuration of the information processing system 1000 according to this embodiment.
- the information processing system 1000 includes, for example, the information processing apparatus 100 and the reader / writer 200.
- the configuration of the information processing system according to the present embodiment is not limited to the example shown in FIG.
- the information processing system according to the present embodiment may include a plurality of information processing apparatuses 100.
- the information processing system according to the present embodiment may include a plurality of reader / writers 200.
- the information processing apparatus 100 and the reader / writer 200 communicate with each other by NFC (Near Field Communication) such as Type-A, Type-B, and Type-F, for example.
- NFC Near Field Communication
- the information processing apparatus 100 and the reader / writer 200 for example, wireless communication using IEEE802.5.1 such as “BLE (Bluetooth Low Energy)” or IEEE802.11.
- IEEE802.5.1 Bluetooth Low Energy
- IEEE802.11 Wireless communication using any communication method such as wireless communication using infrared, infrared communication” or “wired communication using communication via a communication interface based on USB (Universal Serial Bus) or ISO 7816 standard” Communication may be performed.
- FIG. 2 is a functional block diagram illustrating an example of the configuration of the information processing apparatus 100 according to the present embodiment.
- the information processing apparatus 100 includes, for example, a communication unit 102 and a control unit 104.
- FIG. 3 is an explanatory diagram illustrating an example of a hardware configuration of the information processing apparatus 100 according to the present embodiment.
- the information processing apparatus 100 includes an antenna 150 and an IC chip 152, for example. Note that the information processing apparatus 100 may not include, for example, the configuration of the IC chip 152 illustrated in FIG. 3 in the form of an IC chip.
- the information processing apparatus 100 having the hardware configuration shown in FIG. 3 is driven by the reception voltage corresponding to the carrier wave received by the antenna 150.
- the information processing apparatus 100 can be driven by, for example, power supplied from an internal power source such as a battery provided in the information processing apparatus 100 or power supplied from a connected external power source. It is.
- the antenna 150 is constituted by a resonant circuit including, for example, a coil (inductor) L1 having a predetermined inductance and a capacitor C1 having a predetermined capacitance, and generates an induced voltage by electromagnetic induction in response to reception of a carrier wave. . Then, the antenna 150 outputs a reception voltage obtained by resonating the induced voltage at a predetermined resonance frequency.
- the resonance frequency in the antenna 150 is set according to the frequency of the carrier wave such as 13.56 [MHz], for example. 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.
- 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.
- the IC chip 152 may further include, for example, a protection circuit (not shown) for preventing an overvoltage or overcurrent from being applied to the processor 162.
- a protection circuit for example, a clamp circuit constituted by a diode or the like can be cited.
- the IC chip 152 includes, for example, a ROM (Read Only Memory) 166, a RAM (Random Access Memory) 168, and a nonvolatile memory 170.
- the processor 162, the ROM 166, the RAM 168, and the nonvolatile memory 170 are connected by, for example, a bus 172 as a data transmission path.
- the ROM 166 stores control data such as programs executed by the processor 162 and operation parameters.
- the RAM 168 temporarily stores programs executed by the processor 162, calculation results, execution states, and the like.
- the program executed by the processor 162 is a VM program
- the RAM 168 temporarily stores a program executed by the VM program, an operation result, an execution state, and the like.
- the non-volatile memory 170 is, for example, “VM program, data such as a key related to the information processing method according to the present embodiment” or electronic value (data having a value corresponding to money or money. Hereinafter, “electronic money”. ”), And stores various data such as data corresponding to various services and various application programs.
- the keys according to the present embodiment include, for example, confirmation of an electronic signature, authentication in communication using an arbitrary communication method such as NFC (including authentication for accessing a recording medium area), arbitrary encryption, and decryption. This data is used for processing related to the conversion.
- nonvolatile memory 170 examples include an EEPROM (Electrically Erasable and Programmable Read Only Memory), a flash memory, and the like.
- EEPROM Electrically Erasable and Programmable Read Only Memory
- flash memory examples of the nonvolatile memory 170 include an EEPROM (Electrically Erasable and Programmable Read Only Memory), a flash memory, and the like.
- the nonvolatile memory 170 has, for example, tamper resistance.
- tamper resistance By storing various data such as a VM program in a tamper-resistant secure recording medium such as the nonvolatile memory 170, the information processing apparatus 100 ensures data security.
- the carrier detection circuit 154 generates a rectangular detection signal based on the reception voltage transmitted from the antenna 150, for example, and transmits the detection signal to the processor 162.
- the processor 162 uses the transmitted detection signal as, for example, a processing clock for data processing.
- 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 the 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 the reader / writer 200 in synchronization with the external device.
- the detection circuit 156 rectifies the reception voltage output from the antenna 150.
- the detection circuit 156 includes, for example, a diode D1 and a capacitor C2.
- the regulator 158 smoothes and constants the received voltage and outputs a drive voltage to the processor 162.
- the regulator 158 uses the direct current component of the received voltage as the drive voltage.
- the information processing apparatus 100 includes an internal power source such as a battery, or when an external power source is connected to the information processing apparatus 100, the information processing apparatus 100 is supplied from the internal power source. It is also possible to drive with the electric power supplied or the electric power supplied from the external power source.
- the demodulation circuit 160 demodulates the carrier signal included in the carrier wave based on the received voltage, and outputs data corresponding to the carrier signal (for example, a binarized data signal of high level and low level).
- the demodulation circuit 160 outputs the AC component of the received voltage as data.
- the processor 162 is driven using, for example, the drive voltage output from the regulator 158 as a power source, and processes the data demodulated in the demodulation circuit 160.
- the processor 162 processes the data by, for example, executing a native code.
- the native code according to the present embodiment is a code that can be executed on any processor included in the information processing apparatus 100 such as the processor 162. Since the native code is executed by a processor included in the information processing apparatus 100, the native code operates at a processing speed of the processor.
- the processing of the data may be performed by the VM program.
- the processor 162 selectively generates a control signal for controlling load modulation related to a response to an 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.
- the processing in the processor 162 is not limited to the processing of data demodulated in the demodulation circuit 160.
- the processor 162 can perform any data processing by the executed VM program or by executing native code.
- the processor 162 includes, for example, one or more processors configured with arithmetic circuits such as MPU (Micro Processing Unit), various processing circuits, and the like.
- MPU Micro Processing Unit
- various processing circuits and the like.
- the load modulation circuit 164 includes, for example, a load Z and a switch SW1, and performs load modulation by selectively connecting (enabling) the load Z according to a control signal transmitted from the processor 162.
- the load Z is composed of a resistor having a predetermined resistance value, for example.
- the switch SW1 is configured by, for example, a p-channel type MOSFET (Metal Oxide Semiconductor Field effect transistor) or an n-channel type MOSFET.
- the IC chip 152 can process the carrier wave signal received by the antenna 150 with the above-described configuration, for example, and cause the antenna 150 to transmit a response signal by load modulation. Further, the IC chip 152 can perform arbitrary data processing by the executed VM program or by executing the native code, for example, with the above-described configuration.
- the hardware configuration of the information processing apparatus according to the present embodiment is not limited to the configuration shown in FIG.
- the information processing apparatus according to the present embodiment can have a configuration corresponding to an application example of the information processing apparatus according to the present embodiment described later.
- the communication unit 102 is a communication unit included in the information processing apparatus 100 and communicates with an external device.
- the communication of the communication unit 102 is controlled by the control unit 104, for example.
- examples of the communication unit 102 include an antenna 150 and an IC chip 152 shown in FIG.
- the information processing apparatus 100 uses the NFC defined in ISO / IEC 18092 by a carrier wave having a predetermined frequency such as 13.56 [MHz], for example. Communication is performed with an external device such as the reader / writer 200.
- the communication unit 102 is not limited to the antenna 150 and the IC chip 152.
- the communication unit 102 may be configured by a communication device corresponding to an arbitrary communication method, such as an IEEE 802.15.1 port and a transmission / reception circuit, or an IEEE 802.11 port and a transmission / reception circuit.
- the communication unit 102 may be configured to be able to communicate with one or more external devices or the like by a plurality of communication methods.
- the control unit 104 serves to control the entire information processing apparatus 100, for example.
- the control unit 104 includes, 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.
- 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 described in each embodiment described later.
- the information processing apparatus can include the processing unit 110 illustrated in FIG. 2 separately from the control unit 104 (for example, realized by a separate processing circuit).
- the configuration of the information processing apparatus according to the present embodiment is not limited to the configuration illustrated in FIG. 2, and may take an arbitrary configuration according to the method of separating processes related to the information processing method in the information processing apparatus 100 described later. Is possible.
- the information processing apparatus according to the present embodiment when the information processing apparatus according to the present embodiment operates stand-alone or when communicating with an external apparatus via an external communication device having the same function and configuration as the communication unit 102, The information processing apparatus according to the embodiment may not include the communication unit 102.
- the reader / writer 200 is an example of an apparatus that can communicate with the information processing apparatus 100.
- the reader / writer 200 may serve as a relay device that relays communication between the information processing device 100 and another device.
- FIG. 4 is an explanatory diagram illustrating an example of a hardware configuration of the reader / writer 200 according to the present embodiment.
- 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.
- the reader / writer 200 connects each component with a bus 264 as a data transmission path, for example.
- the reader / writer 200 is driven by, for example, power supplied from an internal power source such as a battery provided in the reader / writer 200 or power supplied from a connected external power source.
- the MPU 250 includes, for example, one or more processors configured by an arithmetic circuit such as an MPU, various processing circuits, and the like, and functions as a control unit (not illustrated) that controls the reader / writer 200 as a whole.
- processors configured by an arithmetic circuit such as an MPU, various processing circuits, and the like, and functions as a control unit (not illustrated) that controls the reader / writer 200 as a whole.
- the ROM 252 stores programs executed by the MPU 250 and control data such as calculation parameters.
- the RAM 254 temporarily stores a program executed by the MPU 250, for example.
- the recording medium 256 functions as a storage unit (not shown), and stores various data such as various applications.
- 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.
- the communication interface 258 is a communication unit that performs communication of one communication method included in the reader / writer 200, and is wirelessly or wired between an external device such as a server via a network (or directly). It functions as a first communication unit (not shown) for performing communication.
- examples of the communication interface 258 include a communication antenna and an RF circuit (wireless communication), an IEEE 802.15.1 port and a transmission / reception circuit (wireless communication), an IEEE 802.11 port and a transmission / reception circuit (wireless communication), or a LAN. Examples include terminals and transmission / reception circuits (wired communication).
- the communication interface 258 may have any configuration corresponding to the network according to the present embodiment.
- the carrier wave transmission circuit 260 and the antenna 262 are communication means for performing communication of another communication system included in the reader / writer 200, and for performing wireless or wired communication with an external device such as the information processing apparatus 100. It functions as a second communication unit (not shown).
- the antenna 262 includes, 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.
- the antenna 262 demodulates data transmitted from an external device such as the information processing apparatus 100 by load modulation or the like by receiving a carrier wave having a predetermined frequency such as 13.56 [MHz].
- the carrier wave transmission circuit 260 includes a demodulation circuit
- the antenna 262 may be configured by a resonance circuit.
- the carrier wave transmission circuit 260 includes, for example, a modulation circuit that performs modulation such as ASK (Amplitude Shift Keying) and an amplification circuit that amplifies the output of the modulation circuit, and transmits a carrier wave on which a carrier wave signal is transmitted from the transmission / reception antenna of the antenna 262. Send it.
- the carrier wave transmission circuit 260 may include a demodulation circuit that demodulates a signal received by the antenna 262, for example.
- the demodulation circuit is received by the antenna 262 by, for example, detecting the voltage amplitude change between the modulation circuit (or amplification circuit) and the resonance circuit of the antenna 262, and binarizing the detected signal. Demodulate the signal.
- the demodulation circuit can also demodulate a signal received by the antenna 262 using, for example, a voltage phase change between the modulation circuit (or the amplification circuit) and the resonance circuit of the antenna 262.
- the reader / writer 200 has an initiator function in NFC and plays the role of a so-called reader / writer.
- examples of the carrier wave signal transmitted from the antenna 262 by the carrier wave transmission circuit 260 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 a write target area.
- the write command may include data to be written.
- the transmission of the carrier wave is controlled by the MPU 250.
- the reader / writer 200 has a hardware configuration shown in FIG. 4, for example. Note that the hardware configuration of the reader / writer 200 according to the present embodiment is not limited to the configuration shown in FIG. 4, for example.
- the reader / writer 200 may not include the communication interface 258.
- the reader / writer 200 does not include the carrier transmission circuit 260 and the antenna 262 when communicating with an external device via an external communication device having the same functions as the carrier transmission circuit 260 and the antenna 262. Also good.
- the reader / writer 200 does not include the carrier wave transmission circuit 260 and the antenna 262 when communicating with an external device by a communication method other than NFC, such as wireless communication using IEEE802.15.1. Good.
- the reader / writer 200 communicates with an external device by including a communication device that supports a communication method other than NFC, or by an external communication device that supports a communication method other than NFC.
- the reader / writer 200 can be configured not to include the recording medium 256, for example.
- the reader / writer 200 can have a hardware configuration corresponding to an application example of the reader / writer 200 described later, for example.
- the configuration shown in FIG. 4 may be realized by one or two or more ICs.
- the information processing apparatus 100 is given as a component of the information processing system according to the present embodiment.
- the application example of the information processing apparatus according to the present embodiment is not limited to the example described above.
- the information processing apparatus according to the present embodiment includes, for example, “computers such as PCs (Personal Computers) and servers”, “tablet devices”, “game machines”, “arbitrary IoT (Internet of Things) devices”, and the like.
- the present invention can be applied to various devices that can perform processing related to the information processing method in the information processing apparatus 100 described later.
- the information processing apparatus can be incorporated into the above-described devices, for example, “SIM (Subscriber Identity Module)”, “eUICC”, “eSE”, “TEE (Trusted Execution Environment) It is also possible to apply to an IC such as “IC” corresponding to).
- the reader / writer 200 has been described as a constituent element of the information processing system according to the present embodiment, the present embodiment is not limited to such a form.
- the present embodiment includes a “reader / writer”, a “device having a reader / writer function”, a “communication device that performs communication by wireless communication using IEEE802.15.1 such as BLE”, and the like.
- the present invention can be applied to any device that can communicate with the information processing apparatus according to the embodiment.
- the present embodiment can be applied to a processing IC that can be incorporated in the above-described device, for example.
- the information processing apparatus 100 to which the information processing method according to the present embodiment is applied is an apparatus to which a method for operating a VM is applied.
- FIG. 5 is an explanatory diagram for explaining an example of the operation of the virtual machine (VM) in the information processing apparatus 100 according to the present embodiment.
- FIG. 5 shows the information processing apparatus 100 and the reader / writer 200 shown in FIG.
- One or more VM programs can be installed in the information processing apparatus 100.
- the VM program is installed means that, for example, “a VM program is stored in a recording medium that can be accessed by a processor (for example, a processor functioning as the processing unit 110) included in the information processing apparatus 100; It means that the processor can execute the VM program.
- the VM program can be made the same regardless of the architecture of the processor provided in the apparatus, one VM program can be operated on a plurality of types of apparatuses.
- the VM program may be installed not only by the manufacturer of the information processing apparatus 100 but also by the user of the information processing apparatus 100.
- the VM program is activated when the information processing apparatus 100 receives a specific command, for example, as shown in FIG. 5, or when a specific access is made to the file system during the processing of the received command. Is done.
- the trigger for starting the VM program is defined by, for example, condition information (described later) associated with the VM program.
- an arbitrary file system supported by the OS operating in the information processing apparatus 100 such as a file system of Felica (registered trademark) OS, can be cited.
- the activated VM program may, for example, “perform any access to the file system” or “interrupt processing related to the operation that the command should perform and perform processing related to another operation instead”. Various processes are performed.
- FIG. 6 is an explanatory diagram for explaining an example of the operation of the virtual machine (VM) in the information processing apparatus 100 according to the present embodiment.
- FIG. 6 illustrates an example of processing in the information processing apparatus 100 and the reader / writer 200 illustrated in FIG.
- the reader / writer 200 transmits a command such as a write command or a read command for reading data (S100).
- the processing unit 110 of the information processing apparatus 100 that has received the command transmitted from the reader / writer 200 in step S100 activates the VM program when determining that the condition for operating the virtual machine indicated by the condition information is satisfied (S102). ).
- the condition information is data indicating a condition 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.
- the condition information includes, for example, start condition information for using a specific command reception as a start trigger and access target information for using a specific access to the file system as a start trigger.
- the activation condition information includes, for example, information indicating a VM program to be activated (for example, an ID of the VM program), information defining a command that triggers the VM program to be activated (for example, a command code), and an area of the recording medium Information (for example, data indicating an address) is included.
- the access target information includes, for example, information indicating a VM program to be activated (for example, an ID of the VM program) and information indicating an area of the recording medium that defines an access to be a trigger for starting the VM program (for example, an address) Etc.).
- 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 First, the VM program is activated.
- the VM program activated by the processing in step S102 performs processing according to the VM program code, for example, accesses the file system as appropriate (S104), and transmits the processing result to the processing unit 110 (S106).
- 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).
- the VM program is activated and the VM operates when the condition indicated by the condition information is satisfied.
- an example of the operation of the VM in the information processing apparatus 100 is not limited to the example shown in FIG.
- a key for access is stored in the VM program and an external device such as the reader / writer 200 can access the file system.
- an external device such as the reader / writer 200
- a method in which the VM program accesses after performing mutual authentication with the file system is conceivable.
- the above method for storing the access key in the VM program is used, there is a risk that the access key leaks from the VM program, which is not desirable from the viewpoint of security.
- an electronic signature is performed on the VM program.
- an electronic signature performed on one VM program may be referred to as a “first electronic signature”.
- the first electronic signature is generated based on, for example, a VM program code, condition information corresponding to the VM program, and a key corresponding to the condition information.
- the generation of the first electronic signature can be performed in any external device viewed from the information processing apparatus 100 such as a server (not shown).
- the first electronic signature may be, for example, a public key electronic signature or a common key electronic signature.
- the first electronic signature is a MAC (Message Authentication Code).
- 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 association using the ID of the VM program.
- the condition information and the first electronic signature are transmitted to the information processing apparatus 100 when, for example, “a VM program is transmitted from the external apparatus of the information processing apparatus 100 such as the reader / writer 200 to the information processing apparatus 100”. Is done.
- the condition information and the first electronic signature are sent to the information processing apparatus 100 at “any timing after the VM program is transmitted from the external apparatus such as the reader / writer 200 to the information processing apparatus 100”. May be sent.
- the first electronic signature associated with the VM program is set to “when VM installation is performed” or “after the VM installation is performed and the VM is operated. 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.
- the information processing apparatus 100 controls execution of processing related to the VM (processing related to the virtual machine; the same applies hereinafter) 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 a VM and a process of operating the VM based on the condition information.
- the information processing apparatus 100 when the confirmation result of the first electronic signature indicates that the signature is not correct, the information processing apparatus 100 causes the VM installation to fail, invalidates the VM program, or condition information corresponding to the VM program. Predetermined error processing is performed such as invalidating the condition indicated by.
- the information processing apparatus 100 when the confirmation result of the first electronic signature indicates that the signature is correct, the information processing apparatus 100 installs the VM, operates the VM based on the condition information, and the like. Allows execution of processing.
- 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.
- the recording medium included in the information processing apparatus 100 can be used more efficiently and the VM program can be executed safely. The effect of being able to "is played.
- FIG. 7 is an explanatory diagram for explaining an overview of the information processing method according to the first embodiment.
- FIG. 7A shows an example when the condition information is activation condition information
- FIG. 7B shows an example when the condition information is access target information.
- the first electronic signature is indicated as “signature” (the same applies to other drawings).
- the VM program code 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 VM program code, the condition information corresponding to the VM program (the start condition information shown in A of FIG. 7, Or the access target information shown in B of FIG. 7) and the key corresponding to the condition information (the key associated with the “activation trigger target area” shown in A of FIG. 7, or “ The first electronic signature is generated from the key associated with the “access target area”.
- the VM program stores the condition information and the first electronic signature in association with each other in the recording medium.
- the information processing apparatus 100 may be associated with the VM program “when 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 execution of processing related to the VM based on the confirmation result of the first electronic signature.
- the information processing apparatus 100 confirms the first electronic signature associated with the VM program and controls the execution of the process related to the VM based on the confirmation result”, so that the above-described “VM “Restricting the conditions for starting the program and the access authority by the VM program” can be realized.
- the information processing apparatus 100 controls execution of processing related to the VM based on the confirmation result of the first electronic signature, the above-described “method for storing an access key in the VM program” is used. Since there is no risk of the access key leaking from such a VM program, sufficient security is ensured.
- the information processing apparatus 100 to which the information processing method according to the first embodiment is applied can improve the convenience of the information processing apparatus 100 (an example of a device capable of operating a VM).
- the information processing apparatus 100 controls execution of processing related to the VM based on the confirmation result of the first electronic signature.
- the information processing apparatus 100 confirms the first electronic signature using the key associated with the area indicated by the condition information.
- the information processing apparatus 100 specifies the key associated with the area indicated by the condition information based on the setting information associated with the area of the recording medium, for example.
- the setting information includes, for example, “a table (or database) in which an address and a key indicating a recording medium area are recorded in association with each area”.
- the setting information according to the present embodiment is not limited to the table (or database) as described above, and may be data in an arbitrary format such as data for each area.
- the information processing apparatus 100 generates an electronic signature for verification from, for example, a VM program code, condition information, and a key associated with an area indicated by the condition information.
- 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.
- the information processing apparatus 100 determines that the first electronic signature is a correct signature when the verification electronic signature matches the first electronic signature (that is, the validity of the first electronic signature is confirmed). It is determined that it was done.) Further, the information processing apparatus 100 does not determine that the first electronic signature is a correct signature if the verification electronic signature does not match the first electronic signature (that is, the first electronic signature is valid). It is not determined that sex has been confirmed.)
- 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 can confirm the first electronic signature by an arbitrary process capable of verifying the electronic signature. You may go.
- the information processing apparatus 100 enables the process related to the virtual machine to be executed when the validity of the first electronic signature is confirmed. For 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.
- the information processing apparatus 100 executes 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 causes the VM installation to fail, invalidates the VM program, or condition information corresponding to the VM program is present. Disable the indicated condition.
- the predetermined error processing according to the present embodiment is not limited to the example described above, and may be any processing that can realize that the VM is not operated.
- the number of 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 apparatus 100 increases, and the information processing apparatus 100 stores the first electronic signature.
- the storage capacity of the recording medium is also increased. For example, when the information processing apparatus 100 is an IC card, since the storage capacity of the recording medium is not so large, an increase in the storage capacity for storing the first electronic signature is not preferable.
- a degenerate key (new key) 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 in an arbitrary external device viewed from the information processing apparatus 100 such as a server (not shown).
- the degenerate key is generated by sequentially encrypting a base value such as a random number with a plurality of keys corresponding to a plurality of condition information, respectively.
- a base value such as a random number
- the generation method of the degenerate key is not limited to the example shown above.
- the first electronic signature is generated based on the VM program code, a plurality of condition information, and the generated degenerate key. As described above, the generation of the first electronic signature can be performed in any external device viewed from the information processing apparatus 100 such as a server (not shown).
- the information processing apparatus 100 controls the execution of the process 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.
- 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 activation condition information, as in A of FIG.
- a plurality of keys corresponding to a plurality of condition information corresponding to the VM program (key 1, shown in FIG. One degenerate key is generated from the keys 2 and 3).
- the first electronic signature is generated from the VM program code, a plurality of condition information corresponding to the VM program, and the degenerate key.
- the VM program stores the condition information and the first electronic signature in association with each other in the recording medium.
- the information processing apparatus 100 may be associated with the VM program “when 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 execution of processing related to the VM based on the confirmation result of the first electronic signature.
- the first example of the information processing method according to the second embodiment relates to the first embodiment described above except for the method of generating the first electronic signature. This is the same as the information processing method.
- the information processing apparatus 100 (VM is operable), as in the case where the information processing method according to the first embodiment is applied by the information processing apparatus 100 to which the information processing method according to the second embodiment is applied.
- the convenience of an example of such a device can be improved.
- the number of electronic signatures associated with the VM program is at least one. Just do it.
- two or more electronic signatures including the first electronic signature generated based on the degenerate key may be associated with the VM program.
- a first electronic signature based on a degenerate key generated with a plurality of keys corresponding to activation condition information and a plurality corresponding to access target information is given.
- 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.
- MAC signature
- the degenerate electronic signature is generated, for example, by sequentially encrypting a base value such as a random number with a plurality of first electronic signatures corresponding to each of a plurality of condition information.
- the degenerate electronic signature may be generated by generating a MAC for data in which a plurality of first electronic signatures corresponding to each of a plurality of condition information are arranged in order, for example.
- the MAC corresponds to a degenerate electronic signature. Needless to say, the method for generating a degenerate electronic signature is not limited to the example shown above.
- 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 execution of processing related to the VM based on the confirmation result of the degenerate electronic signature.
- 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 verification degenerate electronic signature from the verification electronic signature generated for each condition information. 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.
- processing related to confirmation of a degenerate electronic signature is not limited to the example shown above, and the information processing apparatus 100 may confirm the degenerate electronic signature by an arbitrary process capable of verifying the electronic signature. .
- FIG. 9 is an explanatory diagram for explaining the outline of the second example of the information processing method according to the second embodiment.
- FIG. 9 shows an example in which the condition information is activation condition information, similar to FIG. 7A.
- the degenerate electronic signature is indicated as “degenerate signature”.
- a plurality of first electronic signatures (see FIG. 9) corresponding to a plurality of condition information corresponding to the VM program.
- the signature 1, signature 2, and signature 3) shown are generated.
- a degenerate electronic signature is generated from a plurality of first electronic signatures.
- the VM program stores the condition information and the degenerate electronic signature in association with each other in the recording medium.
- the information processing apparatus 100 may, for example, degenerate associated with the VM program “when 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 execution of processing related to the VM based on the confirmation result of the degenerate electronic signature.
- the first electronic signature is a degenerate electronic signature. This is the same as the information processing method according to the embodiment.
- the information processing apparatus 100 (VM is operable), as in the case where the information processing method according to the first embodiment is applied by the information processing apparatus 100 to which the information processing method according to the second embodiment is applied.
- the convenience of an example of such a device can be improved.
- the number of electronic signatures associated with the VM program is at least one. Just do it.
- two or more degenerate electronic signatures may be associated with the VM program.
- two or more degenerate electronic signatures are associated with a VM program, “from a degenerate electronic 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 degenerate electronic signature is associated with a VM program is given.
- the second example of the information processing method according to the second embodiment is particularly effective when the degenerate electronic signature is a common key signature (MAC).
- MAC common key signature
- a VM program and an electronic signature are associated with each other in the information processing apparatus 100. After that, it is impossible to deal with a “use case” in which a VM program provider or the like wants to restrict the operation of the VM.
- the information processing apparatus 100 executes the process related to the VM based on the control information for controlling the execution of the process related to the VM. It further has a function to control.
- control information for example, “a table (or database) in which information for specifying a VM program and information indicating restriction contents are recorded in association with each other” is cited.
- the control information according to the present embodiment is not limited to the table (or database) as described above, and may be data in an arbitrary format such as data for each VM program.
- the generation of the control information can be performed in an arbitrary external device viewed from the information processing apparatus 100 such as a server (not shown).
- the information for specifying the VM program includes, for example, arbitrary data that can identify the VM program, such as the ID of the VM program, a hash value of at least a part of the program code, and the MAC.
- the information indicating the restriction content 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 or data indicating that the execution of the VM program is prohibited, Can be mentioned.
- the information processing apparatus 100 determines, for example, “whether the target VM program is a VM program set in the control information” based on information for specifying the VM program included in the control information. The information processing apparatus 100 determines, for example, whether the target VM program is a VM program set in the control information when the VM is installed or when the VM program is executed. Note that the information processing apparatus 100 sets all the VM programs stored in the recording medium as the target VM programs, and “the target VM program is a VM program set in the control information at an arbitrary timing”. "" May be determined.
- the information processing apparatus 100 controls execution of processing related to the VM according to the determination result based on the control information.
- the information processing apparatus 100 For example, if the execution of the VM program or the installation of the VM program is prohibited when the VM is installed or the VM program is executed, the information processing apparatus 100 does not perform the prohibited process. As another example, when 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.
- processing in the information processing apparatus 100 according to the third embodiment is not limited to the example described above.
- an electronic signature may be applied to the control information.
- an electronic signature performed on one piece of control information may be referred to as a “second electronic signature”.
- the generation of the second electronic signature can be performed in an arbitrary external device viewed from the information processing apparatus 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 and stored in the recording medium by an arbitrary association method.
- the information processing apparatus 100 controls execution of a process related to the VM based on the control information based on the confirmation result of the second electronic signature.
- the information processing apparatus 100 can control execution of processing related to the VM based on the control information.
- the information processing apparatus 100 does not control execution of processing related to the VM based on the control information.
- the information processing apparatus 100 confirms the second electronic signature using, for example, a key associated with an area indicated by “condition information associated with the VM program to be controlled by the control information”.
- the information processing apparatus 100 uses at least one key among the keys associated with the area indicated by “condition information associated with the VM program to be controlled by the control information”. If it is, the second electronic signature is determined to be a correct signature. Further, the information processing apparatus 100, for example, when a signature is made using all the keys associated with the area indicated by “condition information associated with the VM program to be controlled by the control information”. The second electronic signature may be determined to be a correct signature.
- the execution control of the process related to the VM based on the control information is performed as described above. Therefore, the information processing apparatus 100 to which the information processing method according to the third embodiment is applied is the above-described “after the VM program and the electronic signature are associated with each other in the information processing apparatus 100, the provider of the VM program or the like. It is possible to deal with a “use case” in which the VM operation is desired to be restricted.
- the information processing apparatus 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 apparatus 100 (an example of an apparatus capable of operating a VM) can be improved.
- the area indicated by the condition information (that is, the area associated with the key used for generating a 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 an activation condition that is never satisfied, or tries to access an area that does not exist.
- condition information indicating the area to be deleted when the information processing apparatus 100 deletes the area of the recording medium, there is condition information indicating the area to be deleted. Do one of the following: -Do not delete the area to be deleted. A predetermined process is performed on the VM program associated with the condition information indicating the area to be deleted.
- a process for uninstalling a VM program associated with condition information indicating a deletion target area” or “condition information indicating a deletion target area” is used.
- “Process of invalidating associated VM program”. Examples of the process for invalidating the VM program include one or both of a process for invalidating the VM program and a process for invalidating the condition indicated by the condition information corresponding to the VM program.
- the information processing apparatus 100 to which the information processing method according to the fourth embodiment is applied when there is condition information indicating the area to be deleted when the area of the recording medium is deleted, the deletion is performed.
- the target area is not deleted, or predetermined processing is performed on the VM program. Therefore, the information processing apparatus 100 to which the information processing method according to the fourth embodiment is applied may have the above-mentioned “the VM program waits for an activation condition that is never satisfied or tries to access an area that does not exist”. To be prevented.
- the information processing apparatus 100 to which the information processing method according to the fourth embodiment is applied can improve convenience in the information processing apparatus 100 (an example of an apparatus capable of operating a VM).
- the information processing apparatus 100 capable of operating the VM ensures atomicity as in the above example.
- FIG. 10 is an explanatory diagram for explaining the outline of the information processing method according to the fifth embodiment.
- FIG. 10 illustrates an example of processing in the information processing apparatus 100 that has received a command instructed to write to the areas A, B, and C in the parameters.
- 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.
- a recording medium such as the RAM 168 and the nonvolatile memory 170 serves as a temporary buffer.
- the information processing apparatus 100 reflects all data held in the temporary buffer in the file system when the result of all the processes is successful after the process based on each parameter included in the command is completed. In addition, after the processing based on each parameter included in the command is completed, the information processing apparatus 100 transfers all data held in the temporary buffer to the file system when the result of at least one processing is unsuccessful. Do not reflect on.
- the information processing apparatus 100 to which the information processing method according to the fifth embodiment is applied can improve convenience in the information processing apparatus 100 (an example of an apparatus capable of operating a VM).
- the information processing apparatus 100 has a function of operating a VM, for example, similar to the information processing apparatus 100 according to the first to fourth embodiments described above.
- the information processing apparatus 100 according to the fifth embodiment performs VM operation control according to the confirmation result of the electronic signature as in the information processing apparatus 100 according to the first to fourth embodiments described above. , May or may not be performed. That is, in order to ensure the atomicity as described above, VM operation control according to the confirmation result of the electronic signature is not essential. Therefore, it is sufficient that at least the condition information is associated with the virtual machine program that operates the VM according to the fifth embodiment.
- the information processing apparatus 100 has a function of processing a command acquired from an external apparatus, including a function of writing data based on a write command.
- a function of processing a command acquired from an external apparatus including a function of writing data based on a write command.
- the process related to ensuring atomicity as described above will be described by taking the case where the information processing apparatus 100 processes a write command as an example.
- the information processing apparatus 100 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.
- the information processing apparatus 100 determines whether all data written based on the write command can be normally performed. 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 the success or failure of writing of all data and the data to be written in the temporary buffer.
- the information processing apparatus 100 writes data based on the write command when it is determined that all data can be normally written. For example, as described with reference to FIG. 10, the information processing apparatus 100 is held in the temporary buffer when the result of all the processes is successful after the process based on each parameter included in the command is completed. Reflect all data in the file system.
- the information processing apparatus 100 does not write data based on the write command when it is determined that all data can be normally written. For example, as described with reference to FIG. 10, the information processing apparatus 100 holds the temporary buffer when the result of at least one process is unsuccessful after the process based on each parameter included in the command is completed. Do not reflect all the data that has been set to the file system.
- the information processing apparatus 100 determines whether all data written based on the write command can be normally performed, and selects data write based on the write command according to the determination result. Do it. Therefore, in the information processing apparatus 100, atomicity is ensured.
- the data write based on the write command includes the data write executed in the VM program.
- the processing according to the information processing method according to the present embodiment includes two or more of the processing according to the information processing method according to the first embodiment to the processing according to the information processing method according to the fifth embodiment.
- a combined process may be used.
- the VM program according to the present embodiment has a function to customize the function 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. For example, by linking the writing operation of the OS and the writing operation by the VM program, the atomicity of the writing operation can be ensured as exemplified in the information processing method according to the fifth embodiment. .
- a basic part of the application can be implemented as code (native code) that operates natively on a processor that operates at high speed, and a function that customizes the function of the OS can be implemented by a VM program.
- code native code
- a function that customizes the function of the OS can be implemented by a VM program.
- an application that operates at high speed can be realized even when a low-speed program that operates on a VM is included.
- the information processing apparatus 100 is an IC card, it is particularly beneficial to be able to realize advanced functions on limited memory resources.
- the electronic signature is checked after being downloaded and stored, and it is not necessary to confirm the electronic signature at the time of execution, and the program can be executed at high speed.
- the execution authority is signed for each necessary access authority and set in the information processing apparatus 100.
- the electronic signature is checked after being downloaded and stored, and it is not necessary to check the electronic signature at the time of execution, and the program can be executed at high speed.
- -Restrictions can be added to the access target for each condition.
- (D) Function addition in the market-Download of the VM program may be implemented as a command that can be issued in the market, and the function of the information processing apparatus 100 can be added in the market.
- a VM program that is no longer needed may be deleted in the market by a command that can be issued in the market.
- the information processing apparatus 100 can effectively use the memory.
- An operation of adding a function without deleting an existing application can be realized by a VM program. Thereby, for example, an existing data structure can be taken over, and an additional movement by the VM program can be realized.
- functions can be added to the information processing apparatus 100 without changing an external device such as a reader / writer on the market after downloading the application.
- functions can be added on the information processing apparatus 100 side without changing the sequence to be given to the information processing apparatus 100.
- FIG. 11 is an explanatory diagram for describing 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.
- FIG. 11B shows the state of the recording medium included in the information processing apparatus 100 after the VM program is installed.
- the signature of the activation condition information is created by, for example, a person who has authority in the parent area of the area (block) that is a condition for starting the VM program (for example, an electronic money business operator).
- the signature of access target information is created by, for example, a person (for example, an electronic money business operator) who has authority in the parent area of an area (block) for storing coupons accessed by the VM program.
- the VM program, the start condition information and the signature, and the access target information and the signature may be combined into a package with a signature.
- the signed package according to the present embodiment means that the package is encrypted and signed. Since the signed package is concealed and signed, it can be safely downloaded in the market.
- the activation condition information and signature, and the access target information and signature correspond to VM program metadata.
- the information processing apparatus 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 apparatus 100, and the VM program can be executed safely even when the capacity of the nonvolatile memory included in the information processing apparatus 100 is small It becomes possible.
- the signature may be confirmed when the information processing apparatus 100 is activated or when a program is executed. Further, it is possible to further enhance safety by storing the electronic signature in the information processing apparatus 100 and checking the information processing apparatus 100 every time the program is executed.
- the state of the recording medium included in the information processing apparatus 100 is changed from the state illustrated in FIG. 11A to the state illustrated in FIG. change.
- FIG. 12 is an explanatory diagram for describing 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.
- the reader / writer 200 transmits a mutual authentication command related to the Service 1008 shown in FIG. 11 (S200), and the processing unit 110 returns a response after performing processing according to the mutual authentication command (S202).
- the processes in steps S200 and S202 correspond to mutual authentication related to the service 1008. In the following, an example is given where mutual authentication is completed successfully.
- the reader / writer 200 transmits a write command for performing writing to the service 1008 (S204).
- step S204 the processing unit 110 that has acquired the write command transmitted from the reader / writer 200 performs write access to the service 1008 with respect to the file system based on the write command (S206).
- FIG. 12 shows electronic money charging (processing for adding the value of electronic value) as the processing shown in step S206.
- processing unit 110 confirms the activation condition of the VM program after confirming the signature (S208), and the processing unit 110 activates the VM program when the signature is confirmed and the activation condition is satisfied. (S210).
- the VM program When the VM program is executed and a write access to the Service 1108 occurs, the VM program confirms that, for example, update information of the Service 1108 block is included in the access target information. At this time, the VM program may confirm the signature 2 shown in FIG.
- the VM program performs write access to the service 1108 shown in FIG. 11 (S212).
- the process which concerns on coupon provision is shown as a process shown to step S212.
- the VM program confirms the conditions 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). For example, the VM program reserves writing of a coupon corresponding to writing to the Service 1008 (for example, a coupon corresponding to an added value of electronic value (so-called charge amount)). In addition, the VM program transmits the result of the process in step S214 to the processing unit 110 (S216).
- the access target information for example, information that the service 1108 is accessed and the authority that the service 1108 can be written are defined.
- step S216 When the result indicating that the write reservation is normally performed in step S216 is transmitted to the processing unit 110, the file system writes data to the nonvolatile memory (S218), and the write result is processed. Is transmitted to the unit 110 (S220). For example, writing to the Service 1008 is performed by the processing unit 110, and writing to the Service 1108 is performed by a VM program. After writing to the Service 1108, the VM program ends normally.
- 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).
- the coupon is granted by the VM.
- the process capable of realizing the coupon provision by the VM is not limited to the example shown in FIG.
- FIG. 13 is an explanatory diagram for describing 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.
- FIG. 13B shows the state of the recording medium included in the information processing apparatus 100 after the VM program is installed.
- the signature of the activation condition information is created, for example, by a person who has authority in the parent area that is a condition for starting the VM program (for example, an electronic money business operator).
- the VM program, the start condition information, and the signature may be a package with a signature combined into one. Since the signed package is concealed and signed, it can be safely downloaded in the market.
- the information processing apparatus 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 apparatus 100, and the VM program can be executed safely even when the capacity of the nonvolatile memory included in the information processing apparatus 100 is small It becomes possible.
- the signature may be confirmed when the information processing apparatus 100 is activated or when a program is executed. Further, it is possible to further enhance safety by storing the electronic signature in the information processing apparatus 100 and checking the information processing apparatus 100 every time the program is executed.
- the packaged VM program when the packaged VM program is downloaded to the information processing apparatus 100, the state of the recording medium included in the information processing apparatus 100 is changed from the state illustrated in FIG. 13A to the state illustrated in FIG. change.
- the VM program may be a program that stores data in a VM program dedicated area.
- FIG. 14 is an explanatory diagram for describing 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.
- the reader / writer 200 transmits a mutual authentication command related to 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 processes in steps S300 and S302 correspond to the mutual authentication related to the service 1008 and the service 110C, similarly to the processes in steps S200 and S202 shown in FIG. In the following, an example is given where mutual authentication is completed successfully.
- the reader / writer 200 transmits a write command for performing writing to the service 1008 (S304).
- step S304 the processing unit 110 that has acquired the write command transmitted from the reader / writer 200 performs write access to the service 1008 and the service 110C with respect to the file system based on the write command (S306).
- step S306 electronic money charging (processing for adding the value of electronic value) and processing for recording a log are shown.
- the processing unit 110 confirms the activation condition of the VM program after confirming the signature (S308), and activates the VM program when the signature is confirmed and the activation condition is satisfied (S310).
- the VM program When a data reference access is generated by a command packet, the VM program adds Service to the access target information. It is confirmed whether or not the data reference information in the 110C command packet is included. At this time, the VM program may confirm the signature 2 shown in FIG.
- the VM program writes the reduction amount and date of Service 110C in the VM program data storage area shown in FIG.
- the VM program executes the Service
- the date and reduction amount in the 110C command packet are confirmed (S312).
- the VM program confirms whether or not the subtraction amount exceeds the limit amount (S314), and transmits the result to the processing unit 110 (S316).
- the limit amount is embedded in, for example, the VM program or recorded in the VM program data storage area.
- step S314 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).
- step S314 If it is confirmed in step S314 that the limit has not been exceeded, the file system writes data to the nonvolatile memory (S320), and the write 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 a VM program. After writing to the Service 110C, the VM program ends normally.
- 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).
- the processing shown in FIG. 14 is performed, whereby the electronic money usage limit setting by the VM is realized.
- the processing capable of realizing the electronic money usage limit setting by the VM is not limited to the example shown in FIG.
- a program for causing a computer system to function as the information processing apparatus according to the present embodiment (for example, the function of the processing unit 110 that performs processing according to the information processing method according to the first embodiment to the information according to the fifth embodiment)
- the virtual machine can be operated by executing a program capable of realizing part or all of the functions of the processing unit 110 that performs processing according to the processing method by a processor or the like in the computer system.
- the convenience in a simple apparatus can be improved.
- the computer system according to the present embodiment includes a single computer or a plurality of computers. A series of processing is performed by the computer system according to the present embodiment.
- a program for causing a computer system to function as the information processing apparatus according to the present embodiment is executed by a processor or the like in the computer system, thereby performing the process according to the information processing method according to each embodiment described above. Effects can be achieved.
- the virtual machine program for operating the virtual machine is generated based on condition information indicating conditions for operating the virtual machine including information indicating a region of a recording medium, a code of the virtual machine program, and the condition information.
- the information processing apparatus wherein the processing unit controls execution of processing related to the virtual machine based on a confirmation result of the first electronic signature associated with the virtual machine program.
- the processor is When the validity of the first electronic signature is confirmed, it is possible to execute processing related to the virtual machine, The information processing apparatus according to (1), wherein when the validity of the first electronic signature is not confirmed, predetermined error processing is executed.
- the first electronic signature is generated based on a key corresponding to the condition information,
- the information processing unit according to any one of (1) to (3), wherein the processing unit confirms the first electronic signature using a key associated with the area indicated by the condition information. apparatus.
- 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 apparatus according to any one of (4).
- the first electronic signature is stored in a plurality of keys corresponding to the code of the virtual machine program, the plurality of condition information, and the plurality of condition information, respectively.
- the information processing apparatus according to any one of (1) to (5), which is generated based on a degenerate key generated based on the information.
- the virtual machine program for operating the virtual machine is a degenerate generated based on the plurality of first electronic signatures corresponding to each of the plurality of condition information.
- An electronic signature is associated,
- the processing unit controls execution of a process related to the virtual machine based on a confirmation result of the degenerate electronic signature associated with the virtual machine program, according to any one of (1) to (5)
- the information processing apparatus described described.
- the processing unit further controls execution of the process related to the virtual machine based on control information for controlling the execution of the process related to the virtual machine,
- the control information is associated with a second electronic signature,
- the processing unit according to any one of (1) to (7), wherein the processing unit controls execution of processing related to the virtual machine based on the control information based on a confirmation result of the second electronic signature.
- Information processing device (9)
- the processing unit confirms the second electronic signature using a 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 apparatus according to (8). (10) When the processing unit deletes the area of the recording medium, if the condition information indicating the deletion target area exists, the processing unit does not delete the deletion target area, or deletes the deletion target area.
- the information processing apparatus according to any one of (1) to (9), wherein predetermined processing is performed with respect to the virtual machine program associated with the condition information to be indicated.
- the information processing apparatus according to any one of (1) to (10), wherein the information processing apparatus is an IC card.
- 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;
- the virtual machine program for operating the virtual machine is associated with condition information indicating conditions for operating the virtual machine including information indicating the area of the recording medium,
- the processor is When the area indicated by the parameter of the write command is the area indicated by the condition information, the virtual machine is operated, It is determined whether or not writing of all data performed based on the write command can be performed normally, When it is determined that all data can be written normally, data is written based on the write command, When it is not determined that all data can be normally written, data is not written based on the write command.
- the data writing based on the write command includes a data write executed in the virtual machine program.
- the step of controlling execution of a process relating to a virtual machine The virtual machine program for operating the virtual machine is generated based on condition information indicating conditions for operating the virtual machine including information indicating a region of a recording medium, a code of the virtual machine program, and the condition information. Is associated with the first electronic signature, In the step of controlling, information processing executed by an information processing apparatus, in which execution of processing relating to the virtual machine is controlled based on a confirmation result of the first electronic signature associated with the virtual machine program Method.
- the virtual machine program for operating the virtual machine is associated with condition information indicating conditions for operating the virtual machine including information indicating the area of the recording medium,
- the virtual machine is operated,
- the writing step It is determined whether writing of all data performed based on the write command can be performed normally, When it is determined that all data can be written normally, data is written based on the write command, When it is not determined that writing of all data can be performed normally, writing of data based on the writing command is not performed,
- information written by the information processing apparatus includes writing data executed in the virtual machine program in writing data based on the write command Processing method.
- a function for controlling execution of processing related to a virtual machine is realized in a computer,
- the virtual machine program for operating the virtual machine is generated based on condition information indicating conditions for operating the virtual machine including information indicating a region of a recording medium, a code of the virtual machine program, and the condition information.
- the control function is a program that controls execution of a process related to the virtual machine based on a confirmation result of the first electronic signature associated with the virtual machine program.
- the ability to operate virtual machines A function to write data based on a write command acquired from an external device, Is realized on a computer,
- the virtual machine program for operating the virtual machine is associated with condition information indicating conditions for operating the virtual machine including information indicating the area of the recording medium,
- the function of operating the virtual machine operates the virtual machine when the area indicated by the parameter of the write command is an area indicated by the condition information,
- the function to perform the writing is It is determined whether or not writing of all data performed based on the write command can be performed normally, When it is determined that all data can be written normally, data is written based on the write command, When it is not determined that all data can be normally written, data is not written based on the write command.
- the writing of data based on the write command includes writing of data executed in the virtual machine program.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
【課題】仮想機械が動作可能な装置における利便性の向上を図ることが可能な、情報処理装置、情報処理方法、およびプログラムを提供する。 【解決手段】仮想機械に関する処理の実行を制御する機能を有する処理部を備え、仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む仮想機械を動作させる条件を示す条件情報と、仮想機械プログラムのコード、および条件情報に基づき生成される第1の電子署名とが、対応付けられ、処理部は、仮想機械プログラムに対応付けられている第1の電子署名の確認結果に基づいて、仮想機械に関する処理の実行を制御する、情報処理装置が、提供される。
Description
本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
“一のOS(Operating System)に他のOSを模倣したアプリケーションプログラムを組み込み、当該他のOSを当該一のOSの実行環境上で動作させる技術”が、開発されている。上記技術としては、例えば下記の特許文献1に記載の技術が挙げられる。
また、“複数のアプリケーションを管理可能なマルチプラットフォーム上で動作させ、当該マルチプラットフォームのコマンドにより活性化可能なOSに関する技術”が、開発されている。上記技術としては、例えば下記の特許文献2に記載の技術が挙げられる。
また、
装置が有する機能を拡張する方法としては、例えば、仮想機械(以下、「VM」(Virtual Machine)と示す場合がある。)を動作させる方法がある。本実施形態に係る仮想機械とは、仮想的なプログラム実行環境である。以下では、仮想機械を動作させるコンピュータプログラム、すなわち、仮想的なプログラム実行環境上での処理を実現するコンピュータプログラムを「VMプログラム」と示す場合がある。
本開示では、仮想機械が動作可能な装置における利便性の向上を図ることが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提案する。
本開示によれば、仮想機械に関する処理の実行を制御する機能を有する処理部を備え、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報と、上記仮想機械プログラムのコード、および上記条件情報に基づき生成される第1の電子署名とが、対応付けられ、上記処理部は、上記仮想機械プログラムに対応付けられている上記第1の電子署名の確認結果に基づいて、上記仮想機械に関する処理の実行を制御する、情報処理装置が、提供される。
また、本開示によれば、仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報が対応付けられ、外部装置から上記書き込みコマンドが取得された場合、上記処理部は、上記書き込みコマンドのパラメータが示す領域が上記条件情報が示す領域である場合に、上記仮想機械を動作させ、上記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、全てのデータの書き込みを正常に行うことができると判定されたときに、上記書き込みコマンドに基づくデータの書き込みを行い、全てのデータの書き込みを正常に行うことができると判定されないときには、上記書き込みコマンドに基づくデータの書き込みを行わず、上記書き込みコマンドに基づき上記仮想機械が動作した場合、上記書き込みコマンドに基づくデータの書き込みには、上記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置が、提供される。
また、本開示によれば、仮想機械に関する処理の実行を制御するステップを有し、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報と、上記仮想機械プログラムのコード、および上記条件情報に基づき生成される第1の電子署名とが、対応付けられ、上記制御するステップでは、上記仮想機械プログラムに対応付けられている上記第1の電子署名の確認結果に基づいて、上記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法が、提供される。
また、本開示によれば、仮想機械を動作させるステップと、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、を有し、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報が対応付けられ、外部装置から上記書き込みコマンドが取得された場合、上記仮想機械を動作させるステップでは、上記書き込みコマンドのパラメータが示す領域が上記条件情報が示す領域である場合に、上記仮想機械を動作させ、上記書き込みを行うステップでは、上記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、全てのデータの書き込みを正常に行うことができると判定されたときに、上記書き込みコマンドに基づくデータの書き込みが行われ、全てのデータの書き込みを正常に行うことができると判定されないときには、上記書き込みコマンドに基づくデータの書き込みが行われず、上記仮想機械を動作させるステップにより上記仮想機械が動作した場合、上記書き込みコマンドに基づくデータの書き込みには、上記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法が、提供される。
また、本開示によれば、仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報と、上記仮想機械プログラムのコード、および上記条件情報に基づき生成される第1の電子署名とが、対応付けられ、上記制御する機能は、上記仮想機械プログラムに対応付けられている上記第1の電子署名の確認結果に基づいて、上記仮想機械に関する処理の実行を制御する、プログラムが、提供される。
また、本開示によれば、仮想機械を動作させる機能、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、を、コンピュータに実現させ、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報が対応付けられ、外部装置から上記書き込みコマンドが取得された場合、上記仮想機械を動作させる機能は、上記書き込みコマンドのパラメータが示す領域が上記条件情報が示す領域である場合に、上記仮想機械を動作させ、上記書き込みを行う機能は、上記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、全てのデータの書き込みを正常に行うことができると判定されたときに、上記書き込みコマンドに基づくデータの書き込みを行い、全てのデータの書き込みを正常に行うことができると判定されないときには、上記書き込みコマンドに基づくデータの書き込みを行わず、上記仮想機械を動作させる機能により上記仮想機械が動作した場合、上記書き込みコマンドに基づくデータの書き込みには、上記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラムが、提供される。
本開示によれば、仮想機械が動作可能な装置における利便性の向上を図ることができる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握されうる他の効果が奏されてもよい。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下では、下記に示す順序で説明を行う。
1.本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法
[1]本実施形態に係る情報処理システムの構成
[1-1]情報処理装置100
[1-2]リーダ/ライタ200
[1-3]本実施形態に係る情報処理システムを構成する各装置の適用例
[2]本実施形態に係る情報処理方法に係る処理
[2-1]第1の実施形態に係る情報処理方法
[2-2]第2の実施形態に係る情報処理方法
[2-3]第3の実施形態に係る情報処理方法
[2-4]第4の実施形態に係る情報処理方法
[2-5]第5の実施形態に係る情報処理方法
[2-6]他の実施形態に係る情報処理方法
[3]本実施形態に係る情報処理方法が用いられることにより奏される効果の一例
[4]本実施形態に係る情報処理方法が適用されるユースケース
[4-1]ユースケースの第1の例:VMによるクーポン付与
[4-2]ユースケースの第2の例:VMによる電子マネー使用限度額設定
2.本実施形態に係るプログラム
1.本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法
[1]本実施形態に係る情報処理システムの構成
[1-1]情報処理装置100
[1-2]リーダ/ライタ200
[1-3]本実施形態に係る情報処理システムを構成する各装置の適用例
[2]本実施形態に係る情報処理方法に係る処理
[2-1]第1の実施形態に係る情報処理方法
[2-2]第2の実施形態に係る情報処理方法
[2-3]第3の実施形態に係る情報処理方法
[2-4]第4の実施形態に係る情報処理方法
[2-5]第5の実施形態に係る情報処理方法
[2-6]他の実施形態に係る情報処理方法
[3]本実施形態に係る情報処理方法が用いられることにより奏される効果の一例
[4]本実施形態に係る情報処理方法が適用されるユースケース
[4-1]ユースケースの第1の例:VMによるクーポン付与
[4-2]ユースケースの第2の例:VMによる電子マネー使用限度額設定
2.本実施形態に係るプログラム
(本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法)
以下、本実施形態に係る情報処理システムの一例をまず説明した後、本実施形態に係る情報処理システムに適用される場合を例に挙げて、本実施形態に係る情報処理方法について、説明する。
以下、本実施形態に係る情報処理システムの一例をまず説明した後、本実施形態に係る情報処理システムに適用される場合を例に挙げて、本実施形態に係る情報処理方法について、説明する。
また、以下では、本実施形態に係る情報処理装置が、IC(Integrated Circuit)カードである場合を主に例に挙げる。なお、本実施形態に係る情報処理装置は、ICカードに限られない。本実施形態に係る情報処理装置の他の適用例については、後述する。
[1]本実施形態に係る情報処理システムの構成
図1は、本実施形態に係る情報処理システム1000の構成の一例を示す説明図である。情報処理システム1000は、例えば、情報処理装置100と、リーダ/ライタ200とを有する。
図1は、本実施形態に係る情報処理システム1000の構成の一例を示す説明図である。情報処理システム1000は、例えば、情報処理装置100と、リーダ/ライタ200とを有する。
なお、本実施形態に係る情報処理システムの構成は、図1に示す例に限られない。例えば、本実施形態に係る情報処理システムは、情報処理装置100を複数有していてもよい。また、本実施形態に係る情報処理システムは、リーダ/ライタ200を複数有していてもよい。
情報処理装置100とリーダ/ライタ200とは、例えば、Type-A、Type-B、Type-FなどのNFC(Near Field Communication)によって、通信を行う。
なお、本実施形態に係る情報処理システムでは、情報処理装置100とリーダ/ライタ200とは、例えば、“BLE(Bluetooth Low Energy)などのIEEE802.15.1を利用した無線通信や、IEEE802.11を利用した無線通信、赤外線通信などの、任意の通信方式の無線通信”、または、“USB(Universal Serial Bus)や、ISO7816規格に基づく通信インタフェースを介した通信などを利用する有線通信”によって、通信を行ってもよい。
[1-1]情報処理装置100
図2は、本実施形態に係る情報処理装置100の構成の一例を示す機能ブロック図である。情報処理装置100は、例えば、通信部102と、制御部104とを備える。
図2は、本実施形態に係る情報処理装置100の構成の一例を示す機能ブロック図である。情報処理装置100は、例えば、通信部102と、制御部104とを備える。
[情報処理装置100のハードウェア構成例]
図3は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す説明図である。情報処理装置100は、例えば、アンテナ150と、ICチップ152とを備える。なお、情報処理装置100は、例えば図3に示すICチップ152の構成を、ICチップの形態で備えていなくてもよい。
図3は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す説明図である。情報処理装置100は、例えば、アンテナ150と、ICチップ152とを備える。なお、情報処理装置100は、例えば図3に示すICチップ152の構成を、ICチップの形態で備えていなくてもよい。
図3に示すハードウェア構成を有する情報処理装置100は、アンテナ150により受信された搬送波に応じた受信電圧によって駆動する。なお、情報処理装置100は、例えば、情報処理装置100が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動することも可能である。
アンテナ150は、例えば、所定のインダクタンスをもつコイル(インダクタ)L1と、所定の静電容量をもつキャパシタC1とからなる共振回路で構成され、搬送波の受信に応じて電磁誘導により誘起電圧を生じさせる。そして、アンテナ150は、所定の共振周波数で誘起電圧を共振させた受信電圧を出力する。ここで、アンテナ150における共振周波数は、例えば、13.56[MHz]など搬送波の周波数に合わせて設定される。アンテナ150は、上記構成により、搬送波を受信し、また、ICチップ152が備える負荷変調回路164において行われる負荷変調によって応答信号の送信を行う。
ICチップ152は、例えば、キャリア検出回路154と、検波回路156と、レギュレータ158と、復調回路160と、プロセッサ162と、負荷変調回路164とを備える。なお、図2では示していないが、ICチップ152は、例えば、過電圧や過電流がプロセッサ162に印加されることを防止するための保護回路(図示せず)をさらに備えていてもよい。ここで、保護回路(図示せず)としては、例えば、ダイオードなどで構成されたクランプ回路が挙げられる。
また、ICチップ152は、例えば、ROM(Read Only Memory)166と、RAM(Random Access Memory)168と、不揮発性メモリ170とを備える。プロセッサ162と、ROM166、RAM168、および不揮発性メモリ170とは、例えば、データの伝送路としてのバス172によって接続される。
ROM166は、プロセッサ162により実行されるプログラムや演算パラメータなどの制御用データを記憶する。
RAM168は、プロセッサ162により実行されるプログラム、演算結果、実行状態などを一時的に記憶する。また、プロセッサ162により実行されるプログラムがVMプログラムである場合、RAM168には、VMプログラムにより実行されるプログラム、演算結果、実行状態などを一時的に記憶する。
不揮発性メモリ170は、例えば、“VMプログラムや、鍵などの、本実施形態に係る情報処理方法に係るデータ”や、電子バリュー(貨幣または貨幣に準じた価値を有するデータ。以下、「電子マネー」と示す場合がある。)、各種サービスに対応するデータ、各種アプリケーションプログラムなどの、様々なデータを記憶する。本実施形態に係る鍵とは、例えば、電子署名の確認や、NFCなどの任意の通信方式の通信における認証(記録媒体の領域にアクセスするための認証も含む。)、任意の暗号化、復号化に係る処理などに用いられるデータである。
ここで、不揮発性メモリ170としては、例えば、EEPROM(Electrically Erasable and Programmable Read Only Memory)や、フラッシュメモリなどが挙げられる。
また、不揮発性メモリ170は、例えば耐タンパ性を有する。不揮発性メモリ170のような耐タンパ性を有するセキュアな記録媒体に、VMプログラムなどの各種データが記憶されることによって、情報処理装置100では、データのセキュリティが確保される。
キャリア検出回路154は、例えば、アンテナ150から伝達される受信電圧に基づいて矩形の検出信号を生成し、当該検出信号をプロセッサ162へ伝達する。また、プロセッサ162は、伝達される上記検出信号を、例えば、データ処理のための処理クロックとして用いる。ここで、上記検出信号は、アンテナ150から伝達される受信電圧に基づくものであるので、リーダ/ライタ200などの外部装置から送信される搬送波の周波数と同期することとなる。したがって、ICチップ152は、キャリア検出回路154を備えることによって、リーダ/ライタ200などの外部装置との間の処理を、当該外部装置と同期して行うことができる。
検波回路156は、アンテナ150から出力される受信電圧を整流する。ここで、検波回路156は、例えばダイオードD1とキャパシタC2とで構成される。
レギュレータ158は、受信電圧を平滑、定電圧化し、プロセッサ162へ駆動電圧を出力する。ここで、レギュレータ158は、受信電圧の直流成分を駆動電圧として用いる。なお、上述したように、例えば、情報処理装置100がバッテリなどの内部電源を備える場合、または、情報処理装置100に外部電源が接続されている場合、情報処理装置100は、当該内部電源から供給される電力、または、当該外部電源から供給される電力によって、駆動することも可能である。
復調回路160は、受信電圧に基づいて搬送波に含まれる搬送波信号を復調し、搬送波信号に対応するデータ(例えば、ハイレベルとローレベルとの二値化されたデータ信号)を出力する。ここで、復調回路160は、受信電圧の交流成分をデータとして出力する。
プロセッサ162は、例えばレギュレータ158から出力される駆動電圧を電源として駆動し、復調回路160において復調されたデータの処理を行う。
プロセッサ162は、例えば、ネイティブコードを実行することにより上記データの処理を行う。本実施形態に係るネイティブコードとは、プロセッサ162などの情報処理装置100が備える任意のプロセッサ上で実行可能なコードである。ネイティブコードは、情報処理装置100が備えるプロセッサで実行されるので、ネイティブコードは、当該プロセッサが有する処理速度で動作する。
また、例えば、プロセッサ162がVMプログラムを実行した場合、上記データの処理は、VMプログラムにより行われてもよい。
また、プロセッサ162は、リーダ/ライタ200などの外部装置への応答に係る負荷変調を制御する制御信号を処理結果に応じて選択的に生成する。そして、プロセッサ162は、制御信号を負荷変調回路164へと選択的に出力する。
なお、プロセッサ162における処理は、復調回路160において復調されたデータの処理に限られない。例えば、プロセッサ162は、任意のデータの処理を、実行されたVMプログラムによって、または、ネイティブコードを実行することによって、行うことが可能である。
プロセッサ162は、例えば、MPU(Micro Processing Unit)などの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成される。
負荷変調回路164は、例えば、負荷ZとスイッチSW1とを備え、プロセッサ162から伝達される制御信号に応じて負荷Zを選択的に接続する(有効化する)ことによって負荷変調を行う。ここで、負荷Zは、例えば、所定の抵抗値を有する抵抗で構成される。また、スイッチSW1は、例えば、pチャネル型のMOSFET(Metal Oxide Semiconductor Field effect transistor)や、nチャネル型のMOSFETで構成される。
ICチップ152は、例えば上記のような構成によって、アンテナ150が受信した搬送波信号を処理し、負荷変調によってアンテナ150に応答信号を送信させることができる。また、ICチップ152は、例えば上記のような構成によって、任意のデータの処理を、実行されたVMプログラムによって、または、ネイティブコードを実行することによって、行うことができる。
なお、本実施形態に係る情報処理装置のハードウェア構成は、図3に示す構成に限られない。例えば、本実施形態に係る情報処理装置は、後述する本実施形態に係る情報処理装置の適用例に応じた構成をとることが可能である。
再度図2を参照して、情報処理装置100の構成の一例について説明する。通信部102は、情報処理装置100が備える通信手段であり、外部装置と通信を行う。通信部102は、例えば制御部104により通信が制御される。
ここで、通信部102としては、例えば、図3に示すアンテナ150およびICチップ152が挙げられる。通信部102がアンテナ150およびICチップ152で構成される場合、情報処理装置100は、例えば13.56[MHz]など所定の周波数の搬送波によって、ISO/IEC18092にて規定されているNFCによる非接触通信を、リーダ/ライタ200などの外部装置と行う。
なお、通信部102は、アンテナ150およびICチップ152に限られない。例えば、通信部102は、IEEE802.15.1ポートおよび送受信回路や、IEEE802.11ポートおよび送受信回路など、任意の通信方式に対応する通信デバイスで構成されていてもよい。また、通信部102は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
制御部104は、例えば情報処理装置100全体を制御する役目を果たす。また、制御部104は、例えば処理部110を有し、後述する本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。
処理部110は、情報処理装置100における情報処理方法に係る処理を主導的に行う役目を果たす。情報処理装置100における情報処理方法に係る処理の一例については、後述する各実施形態において示す。
なお、本実施形態に係る情報処理装置の構成は、図2に示す構成に限られない。
例えば、本実施形態に係る情報処理装置は、図2に示す処理部110を、制御部104とは個別に備えること(例えば、別の処理回路で実現すること)ができる。
また、本実施形態に係る情報処理装置の構成は、図2に示す構成に限られず、後述する情報処理装置100における情報処理方法に係る処理の切り分け方に応じた、任意の構成をとることが可能である。
また、例えば、本実施形態に係る情報処理装置がスタンドアロンで動作する場合、または、通信部102と同様の機能、構成を有する外部の通信デバイスを介して外部装置と通信を行う場合には、本実施形態に係る情報処理装置は、通信部102を備えていなくてもよい。
[1-2]リーダ/ライタ200
リーダ/ライタ200は、情報処理装置100と通信を行うことが可能な装置の一例である。リーダ/ライタ200は、情報処理装置100と他の装置との通信を中継する中継装置の役目を果たしてもよい。
リーダ/ライタ200は、情報処理装置100と通信を行うことが可能な装置の一例である。リーダ/ライタ200は、情報処理装置100と他の装置との通信を中継する中継装置の役目を果たしてもよい。
[リーダ/ライタ200のハードウェア構成例]
図4は、本実施形態に係るリーダ/ライタ200のハードウェア構成の一例を示す説明図である。
図4は、本実施形態に係るリーダ/ライタ200のハードウェア構成の一例を示す説明図である。
リーダ/ライタ200は、例えば、MPU250と、ROM252と、RAM254と、記録媒体256と、通信インタフェース258と、搬送波送信回路260と、アンテナ262とを備える。また、リーダ/ライタ200は、例えば、データの伝送路としてのバス264で各構成要素間を接続する。また、リーダ/ライタ200は、例えば、リーダ/ライタ200が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
MPU250は、例えば、MPUなどの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成され、リーダ/ライタ200全体を制御する制御部(図示せず)として機能する。
ROM252は、MPU250により実行されるプログラムや演算パラメータなどの制御用データなどを記憶する。RAM254は、例えば、MPU250により実行されるプログラムなどを一時的に記憶する。
記録媒体256は、記憶部(図示せず)として機能し、例えば、各種アプリケーションなどの様々なデータを記憶する。ここで、記録媒体256としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体256は、リーダ/ライタ200から着脱可能であってもよい。
通信インタフェース258は、リーダ/ライタ200が備える一の通信方式の通信を行う通信手段であり、ネットワークを介して(あるいは、直接的に)、サーバなどの外部装置との間で、無線または有線で通信を行うための第1通信部(図示せず)として機能する。ここで、通信インタフェース258としては、例えば、通信アンテナおよびRF回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN端子および送受信回路(有線通信)などが挙げられる。また、通信インタフェース258は、本実施形態に係るネットワークに対応する任意の構成であってもよい。
搬送波送信回路260およびアンテナ262は、リーダ/ライタ200が備える他の通信方式の通信を行う通信手段であり、情報処理装置100などの外部装置との間で、無線または有線で通信を行うための第2通信部(図示せず)として機能する。
アンテナ262は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルおよび所定の静電容量をもつキャパシタからなる共振回路と、復調回路とから構成される。そして、アンテナ262は、例えば、13.56[MHz]などの所定の周波数の搬送波を受信することによって、情報処理装置100などの外部装置から負荷変調などにより送信されるデータなどを復調する。なお、例えば、搬送波送信回路260が復調回路を備える場合には、アンテナ262は、共振回路で構成されていてもよい。
搬送波送信回路260は、例えば、ASK(Amplitude Shift Keying)などの変調を行う変調回路と、当該変調回路の出力を増幅する増幅回路とを備え、アンテナ262の送受信アンテナから搬送波信号をのせた搬送波を送信させる。また、搬送波送信回路260は、例えばアンテナ262により受信された信号を復調する復調回路を備えていてもよい。復調回路は、例えば、変調回路(または増幅回路)とアンテナ262の共振回路との間における電圧の振幅変化を包絡線検波し、検波した信号を二値化することによって、アンテナ262により受信された信号を復調する。なお、復調回路は、例えば、変調回路(または増幅回路)とアンテナ262の共振回路との間における電圧の位相変化を用いて、アンテナ262により受信された信号を復調することも可能である。
搬送波送信回路260を備えることによって、リーダ/ライタ200は、NFCにおけるイニシエータ機能を有し、いわゆるリーダ/ライタの役目を果たす。ここで、搬送波送信回路260がアンテナ262から送信する搬送波信号としては、例えば、ポーリング信号や、書き込みコマンドなどの各種コマンドを示す信号など、様々な信号が挙げられる。本実施形態に係る書き込みコマンドとしては、例えば、データの書き込み命令と、書き込み対象の領域などを示す各種パラメータとを含むデータが挙げられる。また、書き込みコマンドには、書き込み対象のデータが含まれていてもよい。
搬送波送信回路260は、例えば、MPU250によって搬送波の送信が制御される。
リーダ/ライタ200は、例えば図4に示すハードウェア構成を有する。なお、本実施形態に係るリーダ/ライタ200のハードウェア構成は、図4に示す構成に限られない。
例えば、リーダ/ライタ200は、通信インタフェース258と同様の機能を有する外部の通信デバイスを介して外部装置と通信を行う場合には、通信インタフェース258を備えていなくてもよい。
また、リーダ/ライタ200は、搬送波送信回路260およびアンテナ262と同様の機能を有する外部の通信デバイスを介して外部装置と通信を行う場合には、搬送波送信回路260およびアンテナ262を備えていなくてもよい。
また、リーダ/ライタ200は、IEEE802.15.1を利用した無線通信などの、NFC以外の通信方式により外部装置と通信を行う場合には、搬送波送信回路260およびアンテナ262を備えていなくてもよい。上記の場合、リーダ/ライタ200は、NFC以外の通信方式に対応する通信デバイスを備えることによって、または、NFC以外の通信方式に対応する外部の通信デバイスによって、外部装置と通信を行う。
また、リーダ/ライタ200は、例えば記録媒体256を備えない構成をとることも可能である。
また、リーダ/ライタ200は、例えば、後述するリーダ/ライタ200の適用例に応じたハードウェア構成をとることが可能である。
また、例えば、図4に示す構成(または変形例に係る構成)は、1、または2以上のICで実現されてもよい。
[1-3]本実施形態に係る情報処理システムを構成する各装置の適用例
上記では、本実施形態に係る情報処理システムの構成要素として、情報処理装置100を挙げると共に、情報処理装置100がICカードである場合を例に挙げたが、本実施形態に係る情報処理装置の適用例は、上記に示す例に限られない。本実施形態に係る情報処理装置は、例えば、“PC(Personal Computer)やサーバなどのコンピュータ”や、“タブレット型の装置”、“ゲーム機”、“任意のIoT(Internet of Things)機器”などの、後述する情報処理装置100における情報処理方法に係る処理を行うことが可能な、様々な機器に適用することができる。また、本実施形態に係る情報処理装置は、例えば、上記のような機器に組み込むことが可能な、“SIM(Subscriber Identity Module)”や、“eUICC”、“eSE”、“TEE(Trusted Execution Environment)に対応するIC”などのICに適用することもできる。
上記では、本実施形態に係る情報処理システムの構成要素として、情報処理装置100を挙げると共に、情報処理装置100がICカードである場合を例に挙げたが、本実施形態に係る情報処理装置の適用例は、上記に示す例に限られない。本実施形態に係る情報処理装置は、例えば、“PC(Personal Computer)やサーバなどのコンピュータ”や、“タブレット型の装置”、“ゲーム機”、“任意のIoT(Internet of Things)機器”などの、後述する情報処理装置100における情報処理方法に係る処理を行うことが可能な、様々な機器に適用することができる。また、本実施形態に係る情報処理装置は、例えば、上記のような機器に組み込むことが可能な、“SIM(Subscriber Identity Module)”や、“eUICC”、“eSE”、“TEE(Trusted Execution Environment)に対応するIC”などのICに適用することもできる。
また、本実施形態に係る情報処理システムの構成要素として、リーダ/ライタ200を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“リーダ/ライタ”、“リーダ/ライタ機能を有する装置”、“BLEのようなIEEE802.15.1を利用した無線通信などにより通信を行う通信装置”などの、本実施形態に係る情報処理装置と通信を行うことが可能な任意の機器に、適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能な、処理ICに適用することもできる。
[2]本実施形態に係る情報処理方法
次に、図1に示す情報処理システム1000を例に挙げて、本実施形態に係る情報処理方法に係る処理について、説明する。
次に、図1に示す情報処理システム1000を例に挙げて、本実施形態に係る情報処理方法に係る処理について、説明する。
上述したように、装置が有する機能を拡張する方法としては、例えば、VMを動作させる方法がある。本実施形態に係る情報処理方法が適用される情報処理装置100は、VMを動作させる方法が適用される装置である。
図5は、本実施形態に係る情報処理装置100における仮想機械(VM)の動作の一例を説明するための説明図である。図5では、図1に示す情報処理装置100とリーダ/ライタ200とを示している。
情報処理装置100には、1つまたは複数のVMプログラムがインストールされうる。ここで、VMプログラムがインストールされるとは、例えば“情報処理装置100が備えるプロセッサ(例えば処理部110として機能するプロセッサ)がアクセスすることが可能な記録媒体にVMプログラムが記憶され、かつ、当該プロセッサがVMプログラムを実行することが可能な状態となること”をいう。
ここで、VMプログラムは、装置が備えるプロセッサのアーキテクチャなどによらず同一にすることができるので、1つのVMプログラムを複数の種類の装置で動作させることができる。
VMプログラムは、情報処理装置100の製造者だけでなく、情報処理装置100の使用者がインストールできてもよい。
VMプログラムは、例えば図5に示すように、情報処理装置100が特定のコマンドを受信したとき、または、受信したコマンドの処理の過程でファイルシステムに対して特定のアクセスが行なわれたときに起動される。VMプログラムが起動するトリガは、例えば、VMプログラムに対応付けられてる条件情報(後述する)により規定される。VMプログラムが起動することによって、VMプログラムに対応するVMは動作することとなる。
本実施形態に係るファイルシステムとしては、例えば、Felica(登録商標) OSのファイルシステムなど、情報処理装置100において動作するOSが対応する任意のファイルシステムが、挙げられる。
起動されたVMプログラムは、例えば、“ファイルシステムに対して任意のアクセスを行うこと”や、“コマンドが本来行なうべき動作に係る処理を中断させ、代わりに他の動作に係る処理を行なうこと”など、様々な処理を行う。
図6は、本実施形態に係る情報処理装置100における仮想機械(VM)の動作の一例を説明するための説明図である。図6では、図1に示す情報処理装置100とリーダ/ライタ200とにおける処理の一例を示している。
リーダ/ライタ200は、書き込みコマンドやデータを読み出すための読み出しコマンドなどの、コマンドを送信する(S100)。
ステップS100においてリーダ/ライタ200から送信されたコマンドを受信した情報処理装置100の処理部110は、条件情報が示す仮想機械を動作させる条件を満たすと判定した場合に、VMプログラムを起動させる(S102)。
本実施形態に係る条件情報とは、仮想機械を動作させる条件を示すデータであり、例えば、記録媒体の領域を示すパラメータなどの記録媒体の領域を示す情報を条件として含む。条件情報としては、例えば、特定のコマンドの受信を起動トリガとするための起動条件情報と、ファイルシステムへの特定のアクセスを起動トリガとするためのアクセス対象情報とが挙げられる。
起動条件情報には、例えば、起動させるVMプログラムを示す情報(例えばVMプログラムのIDなど)と、VMプログラムを起動させるトリガとなるコマンドを規定する情報(例えばコマンドコードなど)と、記録媒体の領域を示す情報(例えばアドレスを示すデータなど)とが含まれる。また、アクセス対象情報には、例えば、起動させるVMプログラムを示す情報(例えばVMプログラムのIDなど)と、VMプログラムを起動させるトリガとなるアクセスを規定する、記録媒体の領域を示す情報(例えばアドレスを示すデータなど)とが含まれる。
例えば条件情報に基づきVMプログラムが起動されることによって、情報処理装置100が特定のコマンドを受信したとき、または、受信したコマンドの処理の過程でファイルシステムに対して特定のアクセスが行なわれたときに、VMプログラムを起動させることが、実現される。
ステップS102の処理により起動したVMプログラムは、VMプログラムのコードに従って処理を行い、例えば、適宜ファイルシステムにアクセスして(S104)、処理の結果を処理部110へ伝達する(S106)。
ステップS106においてVMプログラムから処理の結果を取得した処理部110は、ステップS100におけるコマンドに対する応答信号を送信させる(S108)。
例えば図6に示すように、情報処理装置100では、条件情報が示す条件が満たすときにVMプログラムが起動されてVMが動作する。なお、情報処理装置100におけるVMの動作の例が、図6に示す例に限られないことは、言うまでもない。
以下、本実施形態に係る情報処理方法に係る処理の一例を、実施形態ごとに説明する。
[2-1]第1の実施形態に係る情報処理方法
[2-1-1]第1の実施形態に係る情報処理方法が適用される情報処理システム1000の概要
例えばICカードのような装置では、一般的に、所有者やアクセス権限が異なる複数のデータが含まれている。
[2-1-1]第1の実施形態に係る情報処理方法が適用される情報処理システム1000の概要
例えばICカードのような装置では、一般的に、所有者やアクセス権限が異なる複数のデータが含まれている。
図5、図6を参照して示したように、VMプログラムを起動してVMプログラムにファイルシステムへのアクセスを行わせる場合、VMプログラムが起動する条件とVMプログラムによるアクセス権限とを制限する必要があると考えられる。上記のような制限が必要な理由は、例えば“制限がされない場合、VMプログラムは、任意のコマンドの処理やファイルシステムの挙動を変更することができ、また、ファイルシステム内のどのデータにもアクセスできてしまう可能性があるため”である。
ここで、VMプログラムが起動する条件とVMプログラムによるアクセス権限とを制限する方法としては、“VMプログラムの中にアクセス用の鍵を格納し、リーダ/ライタ200などの外部装置によるファイルシステムへのアクセスと同様に、VMプログラムがファイルシステムに対して相互認証を行ってからアクセスする、という方法”が、考えられる。しかしながら、VMプログラムの中にアクセス用の鍵を格納する上記方法が用いられる場合、VMプログラムからアクセス用の鍵が漏洩する危険性があり、セキュリティの観点から望ましくない。
そこで、第1の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMプログラムに対して電子署名が行われる。以下では、一のVMプログラムに対して行われる電子署名を「第1の電子署名」と示す場合がある。
第1の電子署名は、例えば、VMプログラムのコード、VMプログラムに対応する条件情報、および条件情報に対応する鍵に基づき生成される。第1の電子署名の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
第1の電子署名は、例えば、公開鍵方式の電子署名であってもよいし、共通鍵方式の電子署名であってもよい。第1の電子署名が共通鍵方式の電子署名である場合、第1の電子署名は、MAC(Message Authentication Code)となる。
情報処理装置100では、VMプログラムのIDを用いた対応付けなどの任意の対応付け方法によって、条件情報および第1の電子署名がVMプログラムに対応付けられて、記録媒体に記憶される。条件情報および第1の電子署名は、例えば“VMプログラムが、リーダ/ライタ200などの情報処理装置100の外部装置から情報処理装置100へと送信されるとき”に、情報処理装置100へと送信される。また、条件情報および第1の電子署名は、“VMプログラムが、リーダ/ライタ200などの外部装置から情報処理装置100へと送信された後の、任意のタイミング”で、情報処理装置100へと送信されてもよい。
情報処理装置100では、VMプログラムに対応付けられている第1の電子署名を、“VMのインストールが行われるとき”、または、“VMのインストールが行われた後であって、VMを動作させる前”に確認する。第1の電子署名の確認とは、第1の電子署名の検証に該当し、第1の電子署名の確認は、電子署名を検証することが可能な任意の処理により行われる。
そして、情報処理装置100は、第1の電子署名の確認結果に基づいて、VMに関する処理(仮想機械に関する処理。以下、同様とする。)の実行を制御する。本実施形態に係るVMに関する処理には、例えば、VMをインストールする処理と、条件情報に基づきVMを動作させる処理との一方または双方が含まれる。
一例を挙げると、第1の電子署名の確認結果が正しい署名ではないことを示す場合、情報処理装置100は、VMのインストールを失敗させる、VMプログラムを無効にする、VMプログラムに対応する条件情報が示す条件を無効にするなど、所定のエラー処理を行う。また、他の例を挙げると、第1の電子署名の確認結果が正しい署名であることを示す場合、情報処理装置100は、VMをインストールさせる、条件情報に基づきVMを動作させるなど、VMに関する処理の実行を可能とする。
なお、“VMプログラムに対応付けられている第1の電子署名”、または、“VMプログラムに対応付けられている、第1の電子署名および条件情報”は、第1の電子署名の確認後に破棄されてもよい。第1の電子署名の確認後に第1の電子署名などが破棄されることによって、例えば“情報処理装置100が備える記録媒体をより効率的に使用することができると共に、安全にVMプログラムを実行することができるという効果”が、奏される。
図7は、第1の実施形態に係る情報処理方法の概要を説明するための説明図である。図7のAは、条件情報が起動条件情報である場合の例を示しており、図7のBは、条件情報がアクセス対象情報である場合の例を示している。図7では、第1の電子署名を「署名」と示している(他の図においても同様とする。)。
図7に示すように、第1の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMプログラムのコード、VMプログラムに対応する条件情報(図7のAに示す起動条件情報、または図7のBに示すアクセス対象情報)、および条件情報に対応する鍵(図7のAに示す“起動トリガ対象の領域”に対応付けられている鍵、または、図7のBに示す“アクセス対象の領域”に対応付けられている鍵)から、第1の電子署名が生成される。
また、情報処理装置100において、VMプログラムには、条件情報と第1の電子署名とが対応付けられて、記録媒体に記憶される。
情報処理装置100は、 例えば、“VMのインストールが行われるとき”、または、“VMのインストールが行われた後であって、VMを動作させる前”に、VMプログラムに対応付けられている第1の電子署名を確認する。そして、情報処理装置100は、第1の電子署名の確認結果に基づいて、VMに関する処理の実行を制御する。
例えば上記のように“情報処理装置100が、VMプログラムに対応付けられている第1の電子署名を確認して、確認結果に基づきVMに関する処理の実行を制御すること”によって、上述した“VMプログラムが起動する条件とVMプログラムによるアクセス権限とを制限すること”を、実現することができる。
また、情報処理装置100が第1の電子署名の確認結果に基づきVMに関する処理の実行を制御する場合には、上述した“VMプログラムの中にアクセス用の鍵を格納する方法”が用いられる場合のようなVMプログラムからアクセス用の鍵が漏洩する危険性はないので、セキュリティも十分に確保される。
したがって、第1の実施形態に係る情報処理方法が適用される情報処理装置100によって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
[2-1-2]第1の実施形態に係る情報処理装置100における情報処理方法に係る処理
次に、第1の実施形態に係る情報処理装置100における情報処理方法に係る処理の一例を説明する。
次に、第1の実施形態に係る情報処理装置100における情報処理方法に係る処理の一例を説明する。
情報処理装置100は、第1の電子署名の確認結果に基づいて、VMに関する処理の実行を制御する。
情報処理装置100は、条件情報が示す領域に対応付けられている鍵を用いて、第1の電子署名を確認する。
情報処理装置100は、例えば、記録媒体の領域に対応付けられている設定情報に基づいて、条件情報が示す領域に対応付けられている鍵を特定する。設定情報としては、例えば、“記録媒体の領域を示すアドレスと鍵とが、領域ごとに対応付けて記録されているテーブル(またはデータベース)”が、挙げられる。なお、本実施形態に係る設定情報は、上記に示すようなテーブル(またはデータベース)に限られず、例えば、領域ごとのデータなどの、任意の形式のデータであってもよい。
情報処理装置100は、例えば、VMプログラムのコード、条件情報、および条件情報が示す領域に対応付けられている鍵から、検証用の電子署名を生成する。そして、情報処理装置100は、生成した検証用の電子署名と第1の電子署名とを比較することによって、第1の電子署名の正当性を確認する。本実施形態に係る第1の電子署名の正当性を確認するとは、第1の電子署名が正しい署名であるか否かを確認することをいう。
情報処理装置100は、検証用の電子署名と第1の電子署名とが一致する場合に、第1の電子署名が正しい署名であると判定する(すなわち、第1の電子署名の正当性が確認されたと判定する。)。また、情報処理装置100は、検証用の電子署名と第1の電子署名とが一致しない場合には、第1の電子署名が正しい署名であると判定しない(すなわち、第1の電子署名の正当性が確認されたと判定しない。)。
なお、第1の電子署名の確認に係る処理は、上記に示す例に限られず、情報処理装置100は、電子署名を検証することが可能な任意の処理により、第1の電子署名の確認を行ってもよい。
情報処理装置100は、第1の電子署名の正当性が確認された場合に、仮想機械に関する処理の実行を可能とする。一例を挙げると、情報処理装置100は、第1の電子署名の正当性が確認された場合に、VMをインストールさせ、または、条件情報に基づきVMを動作させる。
また、情報処理装置100は、第1の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する。一例を挙げると、情報処理装置100は、第1の電子署名の正当性が確認されない場合には、VMのインストールを失敗させる、VMプログラムを無効にする、あるいは、VMプログラムに対応する条件情報が示す条件を無効にする。なお、本実施形態に係る所定のエラー処理は、上記に示す例に限られず、VMを動作させないことを実現することが可能な任意の処理であってもよい。
[2-2]第2の実施形態に係る情報処理方法
上述した第1の実施形態に係る情報処理方法が適用されることによって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
上述した第1の実施形態に係る情報処理方法が適用されることによって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
ここで、VMプログラムに対応付けられる第1の電子署名を、条件情報が示す領域ごとに生成する場合を想定すると、条件情報が示す領域が増えれば増える程、第1の電子署名の数も多くなる。よって、条件情報が示す領域が増えれば増える程、情報処理装置100へと第1の電子署名を送信する際の送信に要する時間は長くなり、情報処理装置100が第1の電子署名を記憶する記録媒体の記憶容量も大きくなる。例えば、情報処理装置100がICカードである場合、記録媒体の記憶容量はそれ程大きくないので、第1の電子署名を記憶する記憶容量の増加は、好ましくない。
そこで、第2の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMプログラムに複数の条件情報が対応付けられる場合における、VMプログラムに対応付けられる電子署名の数の増加を防止する。
(A)第2の実施形態に係る情報処理方法の第1の例
VMプログラムに条件情報が複数対応付けられる場合、複数の条件情報それぞれに対応する複数の鍵から、縮退鍵(新たな鍵)が生成される。縮退鍵の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
VMプログラムに条件情報が複数対応付けられる場合、複数の条件情報それぞれに対応する複数の鍵から、縮退鍵(新たな鍵)が生成される。縮退鍵の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
縮退鍵は、例えば、乱数などの元となる値に対して、複数の条件情報それぞれに対応する複数の鍵で順次暗号化することによって、生成される。なお、縮退鍵の生成方法が、上記に示す例に限られないことは、言うまでもない。
そして、第1の電子署名は、VMプログラムのコード、複数の条件情報、および生成される縮退鍵に基づき生成される。上述したように、第1の電子署名の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
情報処理装置100は、上述した第1の実施形態に係る情報処理方法を用いる場合と同様に、第1の電子署名の確認結果に基づいてVMに関する処理の実行を制御する。
図8は、第2の実施形態に係る情報処理方法の第1の例の概要を説明するための説明図である。図8は、図7のAと同様に、条件情報が起動条件情報である例を示している。
図8に示すように、第2の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMプログラムに対応する複数の条件情報に対応する複数の鍵(図8に示す鍵1、鍵2、鍵3)から、1つの縮退鍵が生成される。
また、第2の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMプログラムのコード、VMプログラムに対応する複数の条件情報、および縮退鍵から、第1の電子署名が生成される。
また、情報処理装置100において、VMプログラムには、条件情報と第1の電子署名とが対応付けられて、記録媒体に記憶される。
情報処理装置100は、 例えば、“VMのインストールが行われるとき”、または、“VMのインストールが行われた後であって、VMを動作させる前”に、VMプログラムに対応付けられている第1の電子署名を確認する。そして、情報処理装置100は、第1の電子署名の確認結果に基づいて、VMに関する処理の実行を制御する。
図8と図7を比較すると分かるように、第2の実施形態に係る情報処理方法の第1の例では、第1の電子署名の生成の仕方以外は、上述した第1の実施形態に係る情報処理方法と同様である。
したがって、第2の実施形態に係る情報処理方法が適用される情報処理装置100によって、第1の実施形態に係る情報処理方法が適用される場合と同様に、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
また、第2の実施形態に係る情報処理方法が適用される場合には、VMプログラムに複数の条件情報が対応付けられていても、VMプログラムに対応付けられる電子署名の数は、少なくとも1つで済む。
なお、第2の実施形態に係る情報処理方法が適用される場合、縮退鍵に基づき生成された第1の電子署名を含む2つ以上の電子署名が、VMプログラムに対応付けられていてもよい。2つ以上の電子署名がVMプログラムに対応付けられる場合の一例としては、“起動条件情報に対応する複数の鍵で生成された縮退鍵に基づく第1の電子署名と、アクセス対象情報対応する複数の鍵で生成された縮退鍵に基づく第1の電子署名とが、VMプログラムに対応付けられる例”が、挙げられる。
よって、第2の実施形態に係る情報処理方法が適用される場合には、
“VMプログラムに複数の条件情報が対応付けられるときにおける、VMプログラムに対応付けられる電子署名の数の増加”が防止される。
“VMプログラムに複数の条件情報が対応付けられるときにおける、VMプログラムに対応付けられる電子署名の数の増加”が防止される。
また、第2の実施形態に係る情報処理方法の第1の例は、第1の電子署名が共通鍵方式による署名(MAC)であるときに、特に有効である。
(B)第2の実施形態に係る情報処理方法の第2の例
VMプログラムに条件情報が複数対応付けられる場合、複数の条件情報それぞれに対応する複数の第1の電子署名から、縮退電子署名(新たな電子署名)が生成される。縮退電子署名の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
VMプログラムに条件情報が複数対応付けられる場合、複数の条件情報それぞれに対応する複数の第1の電子署名から、縮退電子署名(新たな電子署名)が生成される。縮退電子署名の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
縮退電子署名は、例えば、乱数などの元となる値に対して、複数の条件情報それぞれに対応する複数の第1の電子署名で順次暗号化することによって、生成される。また、縮退電子署名は、例えば、複数の条件情報それぞれに対応する複数の第1の電子署名を順に並べたデータに対して、MACを生成することによって生成されてもよい。上記MACが、縮退電子署名に該当する。なお、縮退電子署名の生成方法が、上記に示す例に限られないことは、言うまでもない。
情報処理装置100は、上述した第1の実施形態に係る情報処理方法を用いる場合における第1の電子署名に代えて、縮退電子署名を確認する。そして、情報処理装置100は、縮退電子署名の確認結果に基づいてVMに関する処理の実行を制御する。
一例を挙げると、情報処理装置100は、例えば、条件情報ごとに、検証用の電子署名を生成する。また、情報処理装置100は、条件情報ごとに生成された検証用の電子署名から、検証用の縮退電子署名を生成する。そして、情報処理装置100は、生成した検証用の縮退電子署名と縮退電子署名とを比較することによって、縮退電子署名の正当性を確認する。
なお、縮退電子署名の確認に係る処理は、上記に示す例に限られず、情報処理装置100は、電子署名を検証することが可能な任意の処理により、縮退電子署名の確認を行ってもよい。
図9は、第2の実施形態に係る情報処理方法の第2の例の概要を説明するための説明図である。図9は、図7のAと同様に、条件情報が起動条件情報である例を示している。また、図9では、縮退電子署名を「縮退署名」と示している。
図9に示すように、第2の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMプログラムに対応する複数の条件情報に対応する複数の第1の電子署名(図9に示す署名1、署名2、署名3)が生成される。また、第2の実施形態に係る情報処理方法が適用される情報処理システム1000では、複数の第1の電子署名から縮退電子署名が生成される。
また、情報処理装置100において、VMプログラムには、条件情報と縮退電子署名とが対応付けられて、記録媒体に記憶される。
情報処理装置100は、 例えば、“VMのインストールが行われるとき”、または、“VMのインストールが行われた後であって、VMを動作させる前”に、VMプログラムに対応付けられている縮退電子署名を確認する。そして、情報処理装置100は、縮退電子署名の確認結果に基づいて、VMに関する処理の実行を制御する。
図9と図7を比較すると分かるように、第2の実施形態に係る情報処理方法の第2の例では、第1の電子署名が縮退電子署名であること以外は、上述した第1の実施形態に係る情報処理方法と同様である。
したがって、第2の実施形態に係る情報処理方法が適用される情報処理装置100によって、第1の実施形態に係る情報処理方法が適用される場合と同様に、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
また、第2の実施形態に係る情報処理方法が適用される場合には、VMプログラムに複数の条件情報が対応付けられていても、VMプログラムに対応付けられる電子署名の数は、少なくとも1つで済む。
なお、第2の実施形態に係る情報処理方法が適用される場合、2つ以上の縮退電子署名が、VMプログラムに対応付けられていてもよい。2つ以上の縮退電子署名がVMプログラムに対応付けられる場合の一例としては、“起動条件情報に対応する複数の電子署名から生成された縮退電子署名と、アクセス対象情報対応する複数の電子署名から生成された縮退電子署名とが、VMプログラムに対応付けられる例”が、挙げられる。
よって、第2の実施形態に係る情報処理方法が適用される場合には、
“VMプログラムに複数の条件情報が対応付けられるときにおける、VMプログラムに対応付けられる電子署名の数の増加”が防止される。
“VMプログラムに複数の条件情報が対応付けられるときにおける、VMプログラムに対応付けられる電子署名の数の増加”が防止される。
また、第2の実施形態に係る情報処理方法の第2の例は、縮退電子署名が共通鍵方式による署名(MAC)であるときに、特に有効である。
[2-3]第3の実施形態に係る情報処理方法
上述した第1の実施形態に係る情報処理方法または第2の実施形態に係る情報処理方法が適用されることによって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
上述した第1の実施形態に係る情報処理方法または第2の実施形態に係る情報処理方法が適用されることによって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
ここで、上述した第1の実施形態に係る情報処理方法または第2の実施形態に係る情報処理方法が適用される場合には、例えば“情報処理装置100においてVMプログラムと電子署名とが対応付けられた後に、VMプログラムの提供者などがVMの動作を制限したくなるユースケース”に対応することができない。
そこで、第3の実施形態に係る情報処理方法が適用される情報処理システム1000では、情報処理装置100が、VMに関する処理の実行を制御するための制御情報に基づいて、VMに関する処理の実行を制御する機能を、さらに有する。
本実施形態に係る制御情報としては、例えば“VMプログラムを特定するための情報と、制限内容を示す情報とが対応付けて記録されているテーブル(またはデータベース)”が、挙げられる。なお、本実施形態に係る制御情報は、上記に示すようなテーブル(またはデータベース)に限られず、例えば、VMプログラムごとのデータなどの、任意の形式のデータであってもよい。制御情報の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。
VMプログラムを特定するための情報としては、例えば、VMプログラムのIDや、プログラムコードの少なくとも一部のハッシュ値、MACなどの、VMプログラムを同定することが可能な任意のデータが、挙げられる。
制限内容を示す情報としては、例えば、VMのインストールを禁止することを示すデータや、VMプログラムの実行を禁止することを示すデータなど、VMの動作の制限内容が規定される任意のデータが、挙げられる。
情報処理装置100は、例えば、制御情報に含まれるVMプログラムを特定するための情報に基づいて、“対象となるVMプログラムが、制御情報に設定されているVMプログラムであるか”を判定する。情報処理装置100は、例えば、VMのインストール時、または、VMプログラムの実行時に、“対象となるVMプログラムが、制御情報に設定されているVMプログラムであるか”を判定する。なお、情報処理装置100は、記録媒体に記憶されている全てのVMプログラムを対象となるVMプログラムとし、任意のタイミングに“対象となるVMプログラムが、制御情報に設定されているVMプログラムであるか”を判定してもよい。
そして、情報処理装置100は、制御情報に基づく判定結果に応じて、VMに関する処理の実行の制御を行う。
一例を挙げると、情報処理装置100は、VMのインストール時またはVMプログラムの実行時に、VMプログラムの実行やVMプログラムのインストールが禁止されていれば、禁止されている処理を行わない。他の例を挙げると、VMがインストールされた後に、VMプログラムのインストールが禁止された場合、情報処理装置100は、VMプログラムをアンインストールする、または、VMプログラムの実行を禁止する。
なお、第3の実施形態に係る情報処理装置100における処理は、上記に示す例に限られない。
例えば、第3の実施形態に係る情報処理方法が適用される場合、制御情報に対して電子署名が行われていてもよい。以下では、一の制御情報に対して行われる電子署名を「第2の電子署名」と示す場合がある。
第2の電子署名の生成は、サーバ(図示せず)などの情報処理装置100からみた任意の外部装置において行われうる。また、情報処理装置100では、任意の対応付け方法によって、制御情報と第2の電子署名とが対応付けられて、記録媒体に記憶される。
制御情報に第2の電子署名が対応付けられている場合、情報処理装置100は、第2の電子署名の確認結果に基づいて、制御情報に基づくVMに関する処理の実行の制御を行う。
例えば、情報処理装置100は、第2の電子署名の正当性が確認された場合に、制御情報に基づくVMに関する処理の実行の制御を可能とする。また、情報処理装置100は、第2の電子署名の正当性が確認されない場合には、制御情報に基づくVMに関する処理の実行の制御を行わない。
情報処理装置100は、例えば、“制御情報による制御対象のVMプログラムに対応付けられている条件情報”が示す領域に対応付けられている鍵を用いて、第2の電子署名を確認する。
情報処理装置100は、例えば、“制御情報による制御対象のVMプログラムに対応付けられている条件情報”が示す領域に対応付けられている鍵のうち、少なくとも1つ以上の鍵を用いて署名がされている場合に、第2の電子署名が正しい署名であると判定する。また、情報処理装置100は、例えば、“制御情報による制御対象のVMプログラムに対応付けられている条件情報”が示す領域に対応付けられている全ての鍵を用いて署名がされている場合に、第2の電子署名が正しい署名であると判定してもよい。
第3の実施形態に係る情報処理方法が適用される情報処理装置100では、上記のように、制御情報に基づくVMに関する処理の実行の制御が、行われる。よって、第3の実施形態に係る情報処理方法が適用される情報処理装置100は、上述した“情報処理装置100においてVMプログラムと電子署名とが対応付けられた後に、VMプログラムの提供者などがVMの動作を制限したくなるユースケース”に対応することができる。
したがって、第3の実施形態に係る情報処理方法が適用される情報処理装置100によって、第1の実施形態に係る情報処理方法または第2の実施形態に係る情報処理方法が適用される場合よりも、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
[2-4]第4の実施形態に係る情報処理方法
上述した第1の実施形態に係る情報処理方法~第3の実施形態に係る情報処理方法の少なくとも1つが適用されることによって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
上述した第1の実施形態に係る情報処理方法~第3の実施形態に係る情報処理方法の少なくとも1つが適用されることによって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
ここで、情報処理装置100では、“署名されたVMプログラムがインストールされた後に、条件情報が示す領域(すなわち、正当な電子署名の生成に用いられた鍵に紐づく領域)が削除されるケース”が想定される。上記ケースが生じた場合、情報処理装置100で実行されるVMプログラムは、決して成立しない起動条件を待ち、あるいは、存在しない領域にアクセスしようとしてしまう。
そこで、第4の実施形態に係る情報処理方法が適用される情報処理システム1000では、情報処理装置100が、記録媒体の領域を削除するときに、削除対象の領域を示す条件情報が存在する場合には、下記のいずれかを行う。
・削除対象の領域の削除を行わない。
・削除対象の領域を示す条件情報に対応付けられているVMプログラムに関して所定の処理を行う。
・削除対象の領域の削除を行わない。
・削除対象の領域を示す条件情報に対応付けられているVMプログラムに関して所定の処理を行う。
第4の実施形態に係る所定の処理としては、例えば、“削除対象の領域を示す条件情報に対応付けられているVMプログラムをアンインストールする処理”や、“削除対象の領域を示す条件情報に対応付けられているVMプログラムを無効化する処理”が、挙げられる。VMプログラムを無効化する処理としては、VMプログラムを無効にする処理と、VMプログラムに対応する条件情報が示す条件を無効にする処理との一方または双方が、挙げられる。
第4の実施形態に係る情報処理方法が適用される情報処理装置100では、上記のように、記録媒体の領域を削除するときに削除対象の領域を示す条件情報が存在する場合には、削除対象の領域の削除が行われず、または、VMプログラムに関して所定の処理が行われる。よって、第4の実施形態に係る情報処理方法が適用される情報処理装置100は、上述した“VMプログラムが、決して成立しない起動条件を待ち、あるいは、存在しない領域にアクセスしようとしてしまうこと”が、防止される。
したがって、第4の実施形態に係る情報処理方法が適用される情報処理装置100によって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
[2-5]第5の実施形態に係る情報処理方法
[2-5-1]第5の実施形態に係る情報処理方法が適用される情報処理システム1000の概要
ICカードのようなNFCに対応する装置の中には、1回のコマンド実行による結果のアトミック性が担保されるという特長を有するものがある。アトミック性が担保される例としては、“1回のコマンドのパラメータにおいて領域A、B、Cへの書き込みが指示されている場合、コマンドが中断された場合でも、領域A、B、Cへの書き込みが全て行なわれているか、または、領域A、B、Cへの書き込みが全く行なわれていないかのどちらかの結果になる例”が、挙げられる。
[2-5-1]第5の実施形態に係る情報処理方法が適用される情報処理システム1000の概要
ICカードのようなNFCに対応する装置の中には、1回のコマンド実行による結果のアトミック性が担保されるという特長を有するものがある。アトミック性が担保される例としては、“1回のコマンドのパラメータにおいて領域A、B、Cへの書き込みが指示されている場合、コマンドが中断された場合でも、領域A、B、Cへの書き込みが全て行なわれているか、または、領域A、B、Cへの書き込みが全く行なわれていないかのどちらかの結果になる例”が、挙げられる。
そこで、第5の実施形態に係る情報処理方法が適用される情報処理システム1000では、VMを動作させることが可能な情報処理装置100において、上記に示す例のようなアトミック性を担保させる。一例を挙げると、第5の実施形態に係る情報処理方法が適用される情報処理システム1000では、“情報処理装置100において、コマンドによる書き込みとVMプログラムによる書き込みとが、全て成功するかまたは全て失敗するかのどちらかの結果になること”を実現する。
図10は、第5の実施形態に係る情報処理方法の概要を説明するための説明図である。図10は、パラメータにおいて領域A、B、Cへの書き込みが指示されるコマンドを受信した情報処理装置100における処理の一例を示している。
例えば、受信したコマンドによりファイルシステムアクセスが発生し、起動条件に合致してVMプログラムが起動されたとき、情報処理装置100では、VMプログラムによるファイルシステムへの書き込みと、コマンドによるファイルシステムへの書き込みは、直ちに実行されず、各処理の成否と書き込むデータとを、一時バッファに保持される。例えば図3に示すハードウェア構成を有する場合、例えばRAM168や不揮発性メモリ170などの記録媒体が一時バッファの役目を果たす。
情報処理装置100は、コマンドに含まれる各パラメータに基づく処理が終わった後、全ての処理の結果が成功である場合、一時バッファに保持されている全てのデータを、ファイルシステムに反映させる。また、情報処理装置100は、コマンドに含まれる各パラメータに基づく処理が終わった後、少なくとも1つの処理の結果が失敗である場合には、一時バッファに保持されている全てのデータを、ファイルシステムに反映させない。
例えば図10に示す処理が行われることによって、“コマンドによる書き込みとVMプログラムによる書き込みとが、全て成功するかまたは全て失敗するかのどちらかの結果になること”が実現されるので、情報処理装置100では、アトミック性が担保される。
したがって、第5の実施形態に係る情報処理方法が適用される情報処理装置100によって、情報処理装置100(VMが動作可能な装置の一例)における利便性の向上を図ることができる。
[2-5-2]第5の実施形態に係る情報処理装置100における情報処理方法に係る処理
次に、第5の実施形態に係る情報処理装置100における情報処理方法に係る処理の一例を説明する。
次に、第5の実施形態に係る情報処理装置100における情報処理方法に係る処理の一例を説明する。
情報処理装置100は、例えば上述した第1の実施形態~第4の実施形態に係る情報処理装置100と同様に、VMを動作させる機能を有する。
なお、第5の実施形態に係る情報処理装置100は、上述した第1の実施形態~第4の実施形態に係る情報処理装置100のような電子署名の確認結果に応じたVMの動作制御を、行ってもよいし、行わなくてもよい。つまり、上記のようなアトミック性を担保させる上で、電子署名の確認結果に応じたVMの動作制御は、必須ではない。よって、第5の実施形態に係るVMを動作させる仮想機械プログラムには、少なくとも条件情報が対応付けられていればよい。
また、情報処理装置100は、書き込みコマンドに基づいてデータの書き込みを行う機能を含め、外部装置から取得されるコマンドを処理する機能を有する。以下では、情報処理装置100が書き込みコマンドを処理する場合を例に挙げて、上記のようなアトミック性の担保に係る処理を説明する。
書き込みコマンドが取得された場合、情報処理装置100は、書き込みコマンドのパラメータが示す領域が条件情報が示す領域である場合に、VMを動作させる。
また、書き込みコマンドが取得された場合、情報処理装置100は、書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定する。例えば図10を参照して説明したように、情報処理装置100は、ファイルシステムへの書き込みは、直ちに実行されず、全てのデータの書き込みの成否と書き込むデータとを、一時バッファに保持する。
そして、情報処理装置100は、全てのデータの書き込みを正常に行うことができると判定されたときに、書き込みコマンドに基づくデータの書き込みを行う。例えば図10を参照して説明したように、情報処理装置100は、コマンドに含まれる各パラメータに基づく処理が終わった後、全ての処理の結果が成功である場合、一時バッファに保持されている全てのデータを、ファイルシステムに反映させる。
また、情報処理装置100は、全てのデータの書き込みを正常に行うことができると判定されないときには、書き込みコマンドに基づくデータの書き込みを行わない。例えば図10を参照して説明したように、情報処理装置100は、コマンドに含まれる各パラメータに基づく処理が終わった後、少なくとも1つの処理の結果が失敗である場合には、一時バッファに保持されている全てのデータを、ファイルシステムに反映させない。
例えば上記のように、情報処理装置100が、書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、判定結果に応じて書き込みコマンドに基づくデータの書き込みを選択的に行う。よって、情報処理装置100では、アトミック性が担保される。
ここで、書き込みコマンドに基づきVMを動作させた場合には、書き込みコマンドに基づくデータの書き込みには、VMプログラムにおいて実行されるデータの書き込みが含まれることとなる。
[2-6]他の実施形態に係る情報処理方法
本実施形態に係る情報処理方法に係る処理は、上記第1の実施形態に係る情報処理方法に係る処理~上記第5の実施形態に係る情報処理方法に係る処理に限られない。
本実施形態に係る情報処理方法に係る処理は、上記第1の実施形態に係る情報処理方法に係る処理~上記第5の実施形態に係る情報処理方法に係る処理に限られない。
例えば、本実施形態に係る情報処理方法に係る処理は、上記第1の実施形態に係る情報処理方法に係る処理~上記第5の実施形態に係る情報処理方法に係る処理のうちの2以上を組み合わせた処理であってもよい。
[3]本実施形態に係る情報処理方法が用いられることにより奏される効果の一例
本実施形態に係る情報処理方法が用いられることによって、例えば下記の(a)~(d)に示す効果が奏される。なお、本実施形態に係る情報処理方法が用いられることにより奏される効果が、下記に示す例に限られないことは、言うまでもない。
本実施形態に係る情報処理方法が用いられることによって、例えば下記の(a)~(d)に示す効果が奏される。なお、本実施形態に係る情報処理方法が用いられることにより奏される効果が、下記に示す例に限られないことは、言うまでもない。
(a)OSとの連携、および高機能API(Application Programming Interface)によるVMプログラムの実装
・本実施形態に係るVMプログラムは、Felica(登録商標) OSなどのOSの機能をカスタマイズする機能を有する高機能APIを提供することが可能である。
・例えばOSと連携するAPIをVMプログラムに設けることによって、VMプログラムをOSの動きと連携して動作させることができる。一例を挙げると、OSの書き込み動作とVMプログラムによる書き込み動作とを連携させることによって、上記第5の実施形態に係る情報処理方法において例示したように、書き込み動作のアトミック性を担保することができる。また、書き込み動作のアトミック性が担保されることによって、書き込みが完了する前に電力が途切れる場合(電源断が生じた場合)への対応を、実現することができる。
・アプリケーションの基本的な部分は、高速に動くプロセッサ上でネイティブで動作するコード(ネイティブコード)として実装し、OSの機能をカスタマイズする機能をVMプログラムで実装することが可能である。このような実装によって、例えば、VM上で動作する低速なプログラムを含む場合であっても、高速に動作するアプリケーションを実現することができる。また、このような実装によって、コンパクトに機能を実現することが可能となり、限られたメモリリソース上で高度な機能を実現することができる。情報処理装置100がICカードである場合、限られたメモリリソース上で高度な機能を実現することができることは、特に有益である。
・本実施形態に係るVMプログラムは、Felica(登録商標) OSなどのOSの機能をカスタマイズする機能を有する高機能APIを提供することが可能である。
・例えばOSと連携するAPIをVMプログラムに設けることによって、VMプログラムをOSの動きと連携して動作させることができる。一例を挙げると、OSの書き込み動作とVMプログラムによる書き込み動作とを連携させることによって、上記第5の実施形態に係る情報処理方法において例示したように、書き込み動作のアトミック性を担保することができる。また、書き込み動作のアトミック性が担保されることによって、書き込みが完了する前に電力が途切れる場合(電源断が生じた場合)への対応を、実現することができる。
・アプリケーションの基本的な部分は、高速に動くプロセッサ上でネイティブで動作するコード(ネイティブコード)として実装し、OSの機能をカスタマイズする機能をVMプログラムで実装することが可能である。このような実装によって、例えば、VM上で動作する低速なプログラムを含む場合であっても、高速に動作するアプリケーションを実現することができる。また、このような実装によって、コンパクトに機能を実現することが可能となり、限られたメモリリソース上で高度な機能を実現することができる。情報処理装置100がICカードである場合、限られたメモリリソース上で高度な機能を実現することができることは、特に有益である。
(b)VMプログラムの起動条件
・VMプログラムは条件情報に従って起動されるので、情報処理装置100の外部から指定することなく、所定のタイミングにVMプログラムを実行させることができる。よって、VMプログラムの実行は、リーダ/ライタ200などの外部装置に依存しないので、例えば市場に存在する外部装置を変更することなく、VMプログラムによる情報処理装置100の機能の拡張を実現することができる。また、VMプログラムの実行は、リーダ/ライタ200などの外部装置に依存しないので、例えば外部装置では、VMプログラムの存在を意識する必要はない。
・上記第1の実施形態に係る情報処理方法に係る処理~上記第4の実施形態に係る情報処理方法のいずれかが用いられることにより、電子署名の確認結果に基づくVMに関する処理の実行の制御が、実現される。ここで、情報処理装置100では、例えば、電子署名はダウンロード時にチェックされた上で保存され、実行時に電子署名を確認する必要はなく、プログラムの高速な実行が可能である。
・VMプログラムは条件情報に従って起動されるので、情報処理装置100の外部から指定することなく、所定のタイミングにVMプログラムを実行させることができる。よって、VMプログラムの実行は、リーダ/ライタ200などの外部装置に依存しないので、例えば市場に存在する外部装置を変更することなく、VMプログラムによる情報処理装置100の機能の拡張を実現することができる。また、VMプログラムの実行は、リーダ/ライタ200などの外部装置に依存しないので、例えば外部装置では、VMプログラムの存在を意識する必要はない。
・上記第1の実施形態に係る情報処理方法に係る処理~上記第4の実施形態に係る情報処理方法のいずれかが用いられることにより、電子署名の確認結果に基づくVMに関する処理の実行の制御が、実現される。ここで、情報処理装置100では、例えば、電子署名はダウンロード時にチェックされた上で保存され、実行時に電子署名を確認する必要はなく、プログラムの高速な実行が可能である。
(c)アクセス対象の事前設定
・例えば、VMプログラムのメタデータとしてリソースアクセス権限に関する情報(例えば、条件情報、および電子署名)をダウンロードしておくことによって、VMプログラムを実行するときにおける相互認証が不要となり、VMプログラムは、OSのリソースにアクセスすることが可能となる。ここで、実行権限は、必要なアクセス権限ごとに署名され、情報処理装置100に設定される。また、情報処理装置100では、例えば、電子署名はダウンロード時にチェックされた上で保存され、実行時に電子署名を確認する必要はなく、プログラムの高速な実行が可能である。
・アクセス対象に対しては、条件ごとに制限を追加することも可能である。
・例えば、VMプログラムのメタデータとしてリソースアクセス権限に関する情報(例えば、条件情報、および電子署名)をダウンロードしておくことによって、VMプログラムを実行するときにおける相互認証が不要となり、VMプログラムは、OSのリソースにアクセスすることが可能となる。ここで、実行権限は、必要なアクセス権限ごとに署名され、情報処理装置100に設定される。また、情報処理装置100では、例えば、電子署名はダウンロード時にチェックされた上で保存され、実行時に電子署名を確認する必要はなく、プログラムの高速な実行が可能である。
・アクセス対象に対しては、条件ごとに制限を追加することも可能である。
(d)市場での機能追加
・VMプログラムのダウンロードは、市場で発行可能なコマンドとして実装されてもよく、市場で情報処理装置100の機能追加が可能である。
・不要になったVMプログラムは、市場で発行可能なコマンドにより市場で削除されてもよい。
・VMプログラムの専用領域を必要とせず、空き領域にVMプログラムをダウンロード可能にすることによって、情報処理装置100では、メモリを有効に活用することができる。
・既存のアプリケーションを削除せずに、機能を追加する動作を、VMプログラムによって実現することができる。これによって、例えば、既存のデータ構造を引き継ぐことができ、VMプログラムによる追加的な動きを実現することが、可能である。
・上記(b)および上記(c)により、アプリケーションをダウンロードした後に、市場のリーダライタなどの外部装置を変更せずに、情報処理装置100に機能を追加することができる。一例を挙げると、情報処理装置100に与えるシーケンスを変更せずに、情報処理装置100側で機能の追加が可能である。
・VMプログラムのダウンロードは、市場で発行可能なコマンドとして実装されてもよく、市場で情報処理装置100の機能追加が可能である。
・不要になったVMプログラムは、市場で発行可能なコマンドにより市場で削除されてもよい。
・VMプログラムの専用領域を必要とせず、空き領域にVMプログラムをダウンロード可能にすることによって、情報処理装置100では、メモリを有効に活用することができる。
・既存のアプリケーションを削除せずに、機能を追加する動作を、VMプログラムによって実現することができる。これによって、例えば、既存のデータ構造を引き継ぐことができ、VMプログラムによる追加的な動きを実現することが、可能である。
・上記(b)および上記(c)により、アプリケーションをダウンロードした後に、市場のリーダライタなどの外部装置を変更せずに、情報処理装置100に機能を追加することができる。一例を挙げると、情報処理装置100に与えるシーケンスを変更せずに、情報処理装置100側で機能の追加が可能である。
[4]本実施形態に係る情報処理方法が適用されるユースケース
次に、上述した本実施形態に係る情報処理方法が適用されるユースケースについて説明する。なお、本実施形態に係る情報処理方法が適用されるユースケースが、下記に示す例に限られないことは、言うまでもない。
次に、上述した本実施形態に係る情報処理方法が適用されるユースケースについて説明する。なお、本実施形態に係る情報処理方法が適用されるユースケースが、下記に示す例に限られないことは、言うまでもない。
[4-1]ユースケースの第1の例:VMによるクーポン付与
ユースケースの第1の例として、VMによりクーポンを付与するユースケースを、説明する。
ユースケースの第1の例として、VMによりクーポンを付与するユースケースを、説明する。
図11は、本実施形態に係る情報処理方法が適用されるユースケースの第1の例を説明するための説明図である。図11のAは、VMプログラムがインストールされる前の情報処理装置100が備える記録媒体の状態を示している。また、図11のBは、VMプログラムがインストールされた後の情報処理装置100が備える記録媒体の状態を示している。
起動条件情報(条件情報の一例)の署名は、例えば、VMプログラムが起動する条件となる領域(ブロック)の親エリアの権限を持つ者(例えば電子マネー事業者)により作成される。また、アクセス対象情報(条件情報の一例)の署名は、例えば、VMプログラムがアクセスするクーポンを保存する領域(ブロック)の親エリアの権限を持つ者(例えば電子マネー事業者)により作成される。
VMプログラムと、起動条件情報および署名と、アクセス対象情報および署名とは、1つにまとめられた署名付きのパッケージとされてもよい。ここで、本実施形態に係る署名付きのパッケージとは、暗号化されて署名されることをいう。署名付きのパッケージは、秘匿化され、署名されているので、市場での安全なダウンロードが可能となる。
起動条件情報および署名と、アクセス対象情報および署名とは、VMプログラムのメタデータに該当する。
例えばパッケージ化されたVMプログラムが、情報処理装置100にダウンロードされた場合、情報処理装置100は、署名を検証して改ざんされていないことを確認する。署名がダウンロード時に確認されることによって、例えば、署名を情報処理装置100に保存する必要がなくなり、情報処理装置100が備える不揮発メモリの容量が少ない場合であっても、安全にVMプログラムを実行することが可能となる。
なお、情報処理装置100では、情報処理装置100の起動時や、プログラム実行時などに、署名が確認されてもよい。また、電子署名を情報処理装置100に保存して、情報処理装置100がプログラム実行時などに毎回チェックすることによって、より安全を高めることが可能である。
例えばパッケージ化されたVMプログラムが情報処理装置100にダウンロードされることにより、情報処理装置100が備える記録媒体の状態は、例えば、図11のAに示す状態から図11のBに示す状態へと変わる。
図12は、本実施形態に係る情報処理方法が適用されるユースケースの第1の例を説明するための説明図である。図12は、図1に示す情報処理システム1000における処理の一例を示している。
リーダ/ライタ200は、図11に示すService1008に関する相互認証コマンドを送信し(S200)、処理部110は、相互認証コマンドに応じた処理を行った上でレスポンスを返す(S202)。ステップS200、S202の処理は、Service1008に関する相互認証に該当する。以下では、相互認証が正常に完了した場合を例に挙げる。
リーダ/ライタ200は、Service1008に対して書き込みを行うための書き込みコマンドを送信する(S204)。
ステップS204においてリーダ/ライタ200から送信された書き込みコマンドを取得した処理部110は、書き込みコマンドに基づいてファイルシステムに対して、Service1008への書き込みアクセスを行う(S206)。図12では、ステップS206に示す処理として、電子マネーチャージ(電子バリューの値を加算する処理)を示している。
また、処理部110は、署名を確認した上でVMプログラムの起動条件を確認する(S208)、処理部110は、署名が確認され、かつ起動条件を満たしている場合に、VMプログラムを起動させる(S210)。
VMプログラムが実行され、Service1108への書き込みアクセスが発生した場合、VMプログラムは、例えば、アクセス対象情報に
Service1108ブロックの更新情報が含まれていることを確認する。このとき、VMプログラムは、図11に示す署名2を確認してもよい。
Service1108ブロックの更新情報が含まれていることを確認する。このとき、VMプログラムは、図11に示す署名2を確認してもよい。
VMプログラムは、図11に示すService1108への書き込みアクセスを行う(S212)。図12では、ステップS212に示す処理として、クーポン付与に係る処理を示している。
VMプログラムは、署名を確認した上でアクセス対象情報の条件を確認し、署名が確認され、かつ当該条件を満たしている場合に、Service1108への書き込みを予約する(S214)。VMプログラムは、例えば、Service1008への書き込みに対応するクーポン(例えば、電子バリューの値の加算値(いわゆるチャージ金額)に対応するクーポン)の書き込みを予約する。また、VMプログラムは、ステップS214の処理の結果を、処理部110へ伝達する(S216)。ここで、アクセス対象情報には、例えば、Service1108にアクセスするという情報とService1108に書き込みを行うことができるという権限が規定される。
ステップS216において正常に書き込み予約が行われたことを示す結果が、処理部110へ伝達された場合、ファイルシステムにより、不揮発性メモリへのデータの書き込みが行われ(S218)、書き込みの結果が処理部110へ伝達される(S220)。例えば、Service1008への書き込みは、処理部110により行われ、Service1108への書き込みは、VMプログラムにより行われる。Service1108への書き込みが行われた後、VMプログラムは正常終了する。
処理部110は、ステップS204においてリーダ/ライタ200から送信された書き込みコマンドに対するレスポンスとして、正常に処理が行われたレスポンスを返す(S222)。
例えば図12に示す処理が行われることによって、VMによるクーポン付与が実現される。なお、VMによるクーポン付与を実現することが可能な処理が、図12に示す例に限られないことは、言うまでもない。
[4-2]ユースケースの第2の例:VMによる電子マネー使用限度額設定
ユースケースの第2の例として、VMによる電子マネーに使用限度額を設定するユースケースを、説明する。
ユースケースの第2の例として、VMによる電子マネーに使用限度額を設定するユースケースを、説明する。
図13は、本実施形態に係る情報処理方法が適用されるユースケースの第2の例を説明するための説明図である。図13のAは、VMプログラムがインストールされる前の情報処理装置100が備える記録媒体の状態を示している。また、図13のBは、VMプログラムがインストールされた後の情報処理装置100が備える記録媒体の状態を示している。
起動条件情報(条件情報の一例)の署名は、例えば、VMプログラムが起動する条件となる親エリアの権限を持つ者(例えば電子マネー事業者)により作成される。
VMプログラムと、起動条件情報および署名とは、1つにまとめられた署名付きのパッケージとされてもよい。署名付きのパッケージは、秘匿化され、署名されているので、市場での安全なダウンロードが可能となる。
例えばパッケージ化されたVMプログラムが、情報処理装置100にダウンロードされた場合、情報処理装置100は、署名を検証して改ざんされていないことを確認する。署名がダウンロード時に確認されることによって、例えば、署名を情報処理装置100に保存する必要がなくなり、情報処理装置100が備える不揮発メモリの容量が少ない場合であっても、安全にVMプログラムを実行することが可能となる。
なお、情報処理装置100では、情報処理装置100の起動時や、プログラム実行時などに、署名が確認されてもよい。また、電子署名を情報処理装置100に保存して、情報処理装置100がプログラム実行時などに毎回チェックすることによって、より安全を高めることが可能である。
例えばパッケージ化されたVMプログラムが情報処理装置100にダウンロードされることにより、情報処理装置100が備える記録媒体の状態は、例えば、図13のAに示す状態から図13のBに示す状態へと変わる。例えば図13のBに示すように、VMプログラムは、VMプログラム専用領域にデータを保存するプログラムであってもよい。
図14は、本実施形態に係る情報処理方法が適用されるユースケースの第2の例を説明するための説明図である。図14は、図1に示す情報処理システム1000における処理の一例を示している。
リーダ/ライタ200は、図13に示すService1008およびService110Cに関する相互認証コマンドを送信し(S300)、処理部110は、相互認証コマンドに応じた処理を行った上でレスポンスを返す(S302)。ステップS300、S302の処理は、図12に示すステップS200、S202の処理と同様に、Service1008およびService110Cに関する相互認証に該当する。以下では、相互認証が正常に完了した場合を例に挙げる。
リーダ/ライタ200は、Service1008に対して書き込みを行うための書き込みコマンドを送信する(S304)。
ステップS304においてリーダ/ライタ200から送信された書き込みコマンドを取得した処理部110は、書き込みコマンドに基づいてファイルシステムに対して、Service1008およびService110Cへの書き込みアクセスを行う(S306)。図14では、ステップS306に示す処理として、電子マネーチャージ(電子バリューの値を加算する処理)と、ログを記録する処理とを示している。
また、処理部110は、署名を確認した上でVMプログラムの起動条件を確認し(S308)、署名が確認され、かつ起動条件を満たしている場合に、VMプログラムを起動させる(S310)。
コマンドパケットによりデータ参照アクセスが発生した場合、VMプログラムは、アクセス対象情報にService
110Cコマンドパケット中のデータ参照情報が含まれているか否かを確認する。このとき、VMプログラムは、図13に示す署名2を確認してもよい。
110Cコマンドパケット中のデータ参照情報が含まれているか否かを確認する。このとき、VMプログラムは、図13に示す署名2を確認してもよい。
VMプログラムは、Service110Cの減額金額と日付とを、図13に示すVMプログラム用データ記憶領域に書き込む。このとき、例えば一日あたりの限度額が設定される場合には、VMプログラムは、Service
110Cコマンドパケット中の日付と減額金額の確認を行う(S312)。そして、VMプログラムは、減算金額が限度額を超えていないかを確認し(S314)、結果を処理部110へ伝達する(S316)。限度額は、例えば、VMプログラムに埋め込まれ、または、VMプログラム用データ記憶領域に記録される。
110Cコマンドパケット中の日付と減額金額の確認を行う(S312)。そして、VMプログラムは、減算金額が限度額を超えていないかを確認し(S314)、結果を処理部110へ伝達する(S316)。限度額は、例えば、VMプログラムに埋め込まれ、または、VMプログラム用データ記憶領域に記録される。
ステップS314において限度額を超えていることが確認された場合、処理部110は、ステップS304においてリーダ/ライタ200から送信された書き込みコマンドに対するレスポンスとして、エラーを返す(S318)。
また、ステップS314において限度額を超えていないことが確認された場合、ファイルシステムにより、不揮発性メモリへのデータの書き込みが行われ(S320)、書き込みの結果が処理部110へ伝達される(S322)。例えば、Service1008への書き込みは、処理部110により行われ、Service110Cへの書き込みは、VMプログラムにより行われる。Service110Cへの書き込みが行われた後、VMプログラムは正常終了する。
処理部110は、ステップS304においてリーダ/ライタ200から送信された書き込みコマンドに対するレスポンスとして、正常に処理が行われたレスポンスを返す(S324)。
例えば図14に示す処理が行われることによって、VMによる電子マネー使用限度額設定が実現される。なお、VMによる電子マネー使用限度額設定を実現することが可能な処理が、図14に示す例に限られないことは、言うまでもない。
(本実施形態に係るプログラム)
コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム(例えば、第1の実施形態に係る情報処理方法に係る処理を行う処理部110の機能~第5の実施形態に係る情報処理方法に係る処理を行う処理部110の機能のうちの一部または全部の機能を、実現することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、仮想機械が動作可能な装置における利便性の向上を図ることができる。ここで、本実施形態に係るコンピュータシステムとしては、単体のコンピュータ、または、複数のコンピュータが挙げられる。本実施形態に係るコンピュータシステムによって、一連の処理が行われる。
コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム(例えば、第1の実施形態に係る情報処理方法に係る処理を行う処理部110の機能~第5の実施形態に係る情報処理方法に係る処理を行う処理部110の機能のうちの一部または全部の機能を、実現することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、仮想機械が動作可能な装置における利便性の向上を図ることができる。ここで、本実施形態に係るコンピュータシステムとしては、単体のコンピュータ、または、複数のコンピュータが挙げられる。本実施形態に係るコンピュータシステムによって、一連の処理が行われる。
また、コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラムが、コンピュータシステムにおいてプロセッサなどにより実行されることによって、上述した各実施形態に係る情報処理方法に係る処理によって奏される効果を、奏することができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記では、コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本実施形態は、上記プログラムを記憶させた記録媒体を併せて提供することができる。
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
仮想機械に関する処理の実行を制御する機能を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、情報処理装置。
(2)
前記処理部は、
前記第1の電子署名の正当性が確認された場合に、前記仮想機械に関する処理の実行を可能とし、
前記第1の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する、(1)に記載の情報処理装置。
(3)
前記仮想機械に関する処理には、前記仮想機械をインストールする処理と、前記条件情報に基づき前記仮想機械を動作させる処理との一方または双方が含まれる、(1)または(2)に記載の情報処理装置。
(4)
前記第1の電子署名は、前記条件情報に対応する鍵に基づき生成され、
前記処理部は、前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第1の電子署名を確認する、(1)~(3)のいずれか1つに記載の情報処理装置。
(5)
前記処理部は、前記仮想機械のインストールが行われるとき、または、前記仮想機械のインストールが行われた後であって、前記仮想機械を動作させる前に、前記第1の電子署名を確認する、(1)~(4)のいずれか1つに記載の情報処理装置。
(6)
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記第1の電子署名は、前記仮想機械プログラムのコード、複数の前記条件情報、および複数の前記条件情報それぞれに対応する複数の鍵に基づき生成される縮退鍵に基づき生成される、(1)~(5)のいずれか1つに記載の情報処理装置。
(7)
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記仮想機械を動作させる仮想機械プログラムには、複数の前記条件情報それぞれに対応する複数の前記第1の電子署名に基づき生成される縮退電子署名が、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記縮退電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、(1)~(5)のいずれか1つに記載の情報処理装置。
(8)
前記処理部は、さらに、前記仮想機械に関する処理の実行を制御するための制御情報に基づいて、前記仮想機械に関する処理の実行を制御し、
前記制御情報には、第2の電子署名が対応付けられ、
前記処理部は、前記第2の電子署名の確認結果に基づいて、前記制御情報に基づく前記仮想機械に関する処理の実行の制御を行う、(1)~(7)のいずれか1つに記載の情報処理装置。
(9)
前記処理部は、前記制御情報による制御対象の前記仮想機械プログラムに対応付けられている前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第2の電子署名を確認する、(8)に記載の情報処理装置。
(10)
前記処理部は、記録媒体の領域を削除するときに、削除対象の領域を示す前記条件情報が存在する場合には、前記削除対象の領域の削除を行わない、または、前記削除対象の領域を示す前記条件情報に対応付けられている前記仮想機械プログラムに関して所定の処理を行う、(1)~(9)のいずれか1つに記載の情報処理装置。
(11)
前記情報処理装置は、ICカードである、(1)~(10)のいずれか1つに記載の情報処理装置。
(12)
仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記処理部は、
前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記書き込みコマンドに基づき前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置。
(13)
仮想機械に関する処理の実行を制御するステップを有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記制御するステップでは、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法。
(14)
仮想機械を動作させるステップと、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、
を有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させるステップでは、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行うステップでは、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みが行われ、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みが行われず、
前記仮想機械を動作させるステップにより前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法。
(15)
仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記制御する機能は、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、プログラム。
(16)
仮想機械を動作させる機能、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、
を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させる機能は、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行う機能は、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記仮想機械を動作させる機能により前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラム。
(1)
仮想機械に関する処理の実行を制御する機能を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、情報処理装置。
(2)
前記処理部は、
前記第1の電子署名の正当性が確認された場合に、前記仮想機械に関する処理の実行を可能とし、
前記第1の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する、(1)に記載の情報処理装置。
(3)
前記仮想機械に関する処理には、前記仮想機械をインストールする処理と、前記条件情報に基づき前記仮想機械を動作させる処理との一方または双方が含まれる、(1)または(2)に記載の情報処理装置。
(4)
前記第1の電子署名は、前記条件情報に対応する鍵に基づき生成され、
前記処理部は、前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第1の電子署名を確認する、(1)~(3)のいずれか1つに記載の情報処理装置。
(5)
前記処理部は、前記仮想機械のインストールが行われるとき、または、前記仮想機械のインストールが行われた後であって、前記仮想機械を動作させる前に、前記第1の電子署名を確認する、(1)~(4)のいずれか1つに記載の情報処理装置。
(6)
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記第1の電子署名は、前記仮想機械プログラムのコード、複数の前記条件情報、および複数の前記条件情報それぞれに対応する複数の鍵に基づき生成される縮退鍵に基づき生成される、(1)~(5)のいずれか1つに記載の情報処理装置。
(7)
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記仮想機械を動作させる仮想機械プログラムには、複数の前記条件情報それぞれに対応する複数の前記第1の電子署名に基づき生成される縮退電子署名が、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記縮退電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、(1)~(5)のいずれか1つに記載の情報処理装置。
(8)
前記処理部は、さらに、前記仮想機械に関する処理の実行を制御するための制御情報に基づいて、前記仮想機械に関する処理の実行を制御し、
前記制御情報には、第2の電子署名が対応付けられ、
前記処理部は、前記第2の電子署名の確認結果に基づいて、前記制御情報に基づく前記仮想機械に関する処理の実行の制御を行う、(1)~(7)のいずれか1つに記載の情報処理装置。
(9)
前記処理部は、前記制御情報による制御対象の前記仮想機械プログラムに対応付けられている前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第2の電子署名を確認する、(8)に記載の情報処理装置。
(10)
前記処理部は、記録媒体の領域を削除するときに、削除対象の領域を示す前記条件情報が存在する場合には、前記削除対象の領域の削除を行わない、または、前記削除対象の領域を示す前記条件情報に対応付けられている前記仮想機械プログラムに関して所定の処理を行う、(1)~(9)のいずれか1つに記載の情報処理装置。
(11)
前記情報処理装置は、ICカードである、(1)~(10)のいずれか1つに記載の情報処理装置。
(12)
仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記処理部は、
前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記書き込みコマンドに基づき前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置。
(13)
仮想機械に関する処理の実行を制御するステップを有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記制御するステップでは、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法。
(14)
仮想機械を動作させるステップと、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、
を有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させるステップでは、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行うステップでは、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みが行われ、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みが行われず、
前記仮想機械を動作させるステップにより前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法。
(15)
仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記制御する機能は、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、プログラム。
(16)
仮想機械を動作させる機能、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、
を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させる機能は、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行う機能は、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記仮想機械を動作させる機能により前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラム。
100 情報処理装置
200 リーダ/ライタ
102 通信部
104 制御部
110 処理部
1000 情報処理システム
200 リーダ/ライタ
102 通信部
104 制御部
110 処理部
1000 情報処理システム
Claims (16)
- 仮想機械に関する処理の実行を制御する機能を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、情報処理装置。 - 前記処理部は、
前記第1の電子署名の正当性が確認された場合に、前記仮想機械に関する処理の実行を可能とし、
前記第1の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する、請求項1に記載の情報処理装置。 - 前記仮想機械に関する処理には、前記仮想機械をインストールする処理と、前記条件情報に基づき前記仮想機械を動作させる処理との一方または双方が含まれる、請求項1に記載の情報処理装置。
- 前記第1の電子署名は、前記条件情報に対応する鍵に基づき生成され、
前記処理部は、前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第1の電子署名を確認する、請求項1に記載の情報処理装置。 - 前記処理部は、前記仮想機械のインストールが行われるとき、または、前記仮想機械のインストールが行われた後であって、前記仮想機械を動作させる前に、前記第1の電子署名を確認する、請求項1に記載の情報処理装置。
- 前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記第1の電子署名は、前記仮想機械プログラムのコード、複数の前記条件情報、および複数の前記条件情報それぞれに対応する複数の鍵に基づき生成される縮退鍵に基づき生成される、請求項1に記載の情報処理装置。
- 前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記仮想機械を動作させる仮想機械プログラムには、複数の前記条件情報それぞれに対応する複数の前記第1の電子署名に基づき生成される縮退電子署名が、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記縮退電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、請求項1に記載の情報処理装置。 - 前記処理部は、さらに、前記仮想機械に関する処理の実行を制御するための制御情報に基づいて、前記仮想機械に関する処理の実行を制御し、
前記制御情報には、第2の電子署名が対応付けられ、
前記処理部は、前記第2の電子署名の確認結果に基づいて、前記制御情報に基づく前記仮想機械に関する処理の実行の制御を行う、請求項1に記載の情報処理装置。 - 前記処理部は、前記制御情報による制御対象の前記仮想機械プログラムに対応付けられている前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第2の電子署名を確認する、請求項8に記載の情報処理装置。
- 前記処理部は、記録媒体の領域を削除するときに、削除対象の領域を示す前記条件情報が存在する場合には、前記削除対象の領域の削除を行わない、または、前記削除対象の領域を示す前記条件情報に対応付けられている前記仮想機械プログラムに関して所定の処理を行う、請求項1に記載の情報処理装置。
- 前記情報処理装置は、IC(Integrated Circuit)カードである、請求項1に記載の情報処理装置。
- 仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記処理部は、
前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記書き込みコマンドに基づき前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置。 - 仮想機械に関する処理の実行を制御するステップを有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記制御するステップでは、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法。 - 仮想機械を動作させるステップと、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、
を有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させるステップでは、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行うステップでは、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みが行われ、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みが行われず、
前記仮想機械を動作させるステップにより前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法。 - 仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第1の電子署名とが、対応付けられ、
前記制御する機能は、前記仮想機械プログラムに対応付けられている前記第1の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、プログラム。 - 仮想機械を動作させる機能、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、
を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させる機能は、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行う機能は、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記仮想機械を動作させる機能により前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18905817.5A EP3751437A4 (en) | 2018-02-07 | 2018-12-28 | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM |
CN201880088308.2A CN111684445B (zh) | 2018-02-07 | 2018-12-28 | 信息处理装置,信息处理方法和程序 |
US16/964,594 US20210049260A1 (en) | 2018-02-07 | 2018-12-28 | Information processing apparatus, information processing method, and program |
JP2019570332A JP7200952B2 (ja) | 2018-02-07 | 2018-12-28 | 情報処理装置、情報処理方法、およびプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-020431 | 2018-02-07 | ||
JP2018020431 | 2018-02-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019155792A1 true WO2019155792A1 (ja) | 2019-08-15 |
Family
ID=67547914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/048405 WO2019155792A1 (ja) | 2018-02-07 | 2018-12-28 | 情報処理装置、情報処理方法、およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210049260A1 (ja) |
EP (1) | EP3751437A4 (ja) |
JP (1) | JP7200952B2 (ja) |
CN (1) | CN111684445B (ja) |
WO (1) | WO2019155792A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11611540B2 (en) * | 2020-07-01 | 2023-03-21 | Vmware, Inc. | Protection of authentication data of a server cluster |
CN112181539B (zh) * | 2020-09-27 | 2023-12-05 | 深圳市元征科技股份有限公司 | 文件处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014825A (ja) * | 2000-06-30 | 2002-01-18 | Fujitsu Ltd | プログラムインストール方法、プログラムインストールシステム、プログラム実行装置及び記憶媒体 |
WO2005096121A1 (ja) * | 2004-04-02 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | 実行装置 |
JP2010176677A (ja) * | 2009-02-02 | 2010-08-12 | Samsung Electronics Co Ltd | 電子装置と仮想マシン提供装置及びそれを利用した仮想マシンサービス利用方法 |
JP2013168117A (ja) | 2012-01-17 | 2013-08-29 | Sony Corp | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
JP2014186747A (ja) | 2014-06-04 | 2014-10-02 | Sony Corp | 情報処理装置、情報処理方法およびプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702843B1 (en) * | 2006-04-27 | 2010-04-20 | Vmware, Inc. | Determining memory conditions in a virtual machine |
TW201335787A (zh) * | 2012-02-23 | 2013-09-01 | Hon Hai Prec Ind Co Ltd | 虛擬機安全操作系統及方法 |
JP5945512B2 (ja) * | 2013-02-13 | 2016-07-05 | 株式会社日立製作所 | 計算機システム、及び仮想計算機管理方法 |
US9727274B2 (en) * | 2013-02-26 | 2017-08-08 | Red Hat Israel, Ltd. | Cloning live virtual machines |
US9948640B2 (en) * | 2013-08-02 | 2018-04-17 | Ologn Technologies Ag | Secure server on a system with virtual machines |
US9158909B2 (en) * | 2014-03-04 | 2015-10-13 | Amazon Technologies, Inc. | Authentication of virtual machine images using digital certificates |
US20160164880A1 (en) * | 2014-12-03 | 2016-06-09 | Bitdefender IPR Management Ltd. | Systems And Methods Of Transaction Authorization Using Server-Triggered Switching To An Integrity-Attested Virtual Machine |
-
2018
- 2018-12-28 EP EP18905817.5A patent/EP3751437A4/en active Pending
- 2018-12-28 US US16/964,594 patent/US20210049260A1/en active Pending
- 2018-12-28 WO PCT/JP2018/048405 patent/WO2019155792A1/ja unknown
- 2018-12-28 JP JP2019570332A patent/JP7200952B2/ja active Active
- 2018-12-28 CN CN201880088308.2A patent/CN111684445B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014825A (ja) * | 2000-06-30 | 2002-01-18 | Fujitsu Ltd | プログラムインストール方法、プログラムインストールシステム、プログラム実行装置及び記憶媒体 |
WO2005096121A1 (ja) * | 2004-04-02 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | 実行装置 |
JP2010176677A (ja) * | 2009-02-02 | 2010-08-12 | Samsung Electronics Co Ltd | 電子装置と仮想マシン提供装置及びそれを利用した仮想マシンサービス利用方法 |
JP2013168117A (ja) | 2012-01-17 | 2013-08-29 | Sony Corp | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
JP2014186747A (ja) | 2014-06-04 | 2014-10-02 | Sony Corp | 情報処理装置、情報処理方法およびプログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP3751437A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3751437A1 (en) | 2020-12-16 |
CN111684445B (zh) | 2024-04-26 |
JP7200952B2 (ja) | 2023-01-10 |
JPWO2019155792A1 (ja) | 2021-02-12 |
CN111684445A (zh) | 2020-09-18 |
US20210049260A1 (en) | 2021-02-18 |
EP3751437A4 (en) | 2021-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9332060B2 (en) | Methods, secure element, server, computer programs and computer program products for improved application management | |
US7428992B2 (en) | Secure device and system for issuing IC cards | |
JP6388765B2 (ja) | 無効化モジュールを備えた電子アセンブリ | |
EP2917828A1 (en) | Methods for providing anti-rollback protection in a device which has no internal non-volatile memory | |
EP2437198B1 (en) | Secure PIN reset process | |
KR101824249B1 (ko) | 인증용 개인키를 내부적으로 생성하는 집적 회로 유형의 전자 소자 제어 방법 | |
JP6923582B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
WO2019155792A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN109889334A (zh) | 嵌入式固件加密方法、装置、wifi设备及存储介质 | |
JP4993114B2 (ja) | 携帯型ストレージデバイスの共有管理方法、および、携帯型ストレージデバイス | |
US8963680B2 (en) | Contactless communication method and system | |
CN112422281B (zh) | 一种更改安全模块中密钥的方法及系统 | |
JP6746244B2 (ja) | 情報処理装置、情報処理方法、プログラム、および情報処理システム | |
CN108990046B (zh) | 移动网络的连接方法 | |
EP2996368B1 (en) | Mobile electronic device | |
JP6092342B2 (ja) | 非接触式携帯可能電子装置、及び非接触式携帯可能電子装置の発行方法 | |
JP6948021B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP2007206765A (ja) | Icカード発行方法、icカード発行システムおよびicカード | |
JP6933446B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
KR20100137354A (ko) | 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치 | |
JP5875772B2 (ja) | 携帯可能電子装置、携帯可能電子装置の制御方法、及び携帯可能電子装置の処理システム | |
CN112512034A (zh) | 终端快速加载用户识别卡文件方法、装置、计算机设备 | |
JP2015130001A (ja) | 可搬型電子媒体、及び入出力制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18905817 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019570332 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018905817 Country of ref document: EP Effective date: 20200907 |