Information processing device

The information processing apparatus controls program execution through a control means managing storage access based on device connection, addressing the lack of restrictions in pre-installed transaction processing programs.

JP2026063482APending Publication Date: 2026-04-10TOSHIBA TEC KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
TOSHIBA TEC KK
Filing Date
2026-02-02
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing information processing apparatuses that pre-install transaction processing programs lack the ability to impose restrictions on the execution of these programs, allowing unrestricted use.

Method used

An information processing apparatus with an interface, processing, and storage means that executes programs only when connection conditions are met, utilizing a control means to manage access to restricted areas of storage based on device connection status.

Benefits of technology

Enables controlled execution of pre-installed programs based on device connection criteria, ensuring secure and restricted usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026063482000001_ABST
    Figure 2026063482000001_ABST
Patent Text Reader

Abstract

This allows for the pre-installation of information processing programs while simultaneously restricting their execution. [Solution] The information processing apparatus of this embodiment comprises an interface means, a processing means, a storage means, and a control means. The interface means interfaces with the exchange of data with a connected device. The processing means executes information processing based on an information processing program. The storage means stores information processing programs related to information processing performed in conjunction with the exchange of data with a device connected to the interface means. The control means allows the processing means to execute the information processing program stored in the storage means only when the connection status of the device to the interface means satisfies predetermined conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to an information processing apparatus.

Background Art

[0002] It has already been realized that a device such as a scanner is externally attached to an information processing apparatus such as a tablet-type computer device, and the information processing apparatus is caused to function as a POS terminal device by executing information processing for transaction processing. However, when starting to use such a POS terminal device, an operation of installing an information processing program for transaction processing in the information processing apparatus is required.

[0003] Therefore, it is conceivable to pre-install an information processing program in the information processing apparatus. In this case, as long as the information processing apparatus is obtained, it becomes possible to execute information processing for transaction processing in the information processing apparatus, and the provider side of the information processing apparatus cannot impose any restrictions on the use of the information processing apparatus. Under such circumstances, it has been desired that it be possible to impose restrictions on the execution of the information processing program while pre-installing the information processing program in the information processing apparatus.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] The problem to be solved by the present invention is to provide an information processing apparatus that can impose restrictions on the execution of an information processing program while pre-installing the information processing program. [Means for solving the problem]

[0006] The information processing apparatus of this embodiment comprises an interface means, a processing means, a storage means, and a control means. The interface means interfaces with the exchange of data with a connected device. The processing means executes information processing based on an information processing program. The storage means stores information processing programs related to information processing performed in conjunction with the exchange of data with a device connected to the interface means. The control means allows the processing means to execute the information processing program stored in the storage means only when the connection status of the device to the interface means satisfies predetermined conditions. [Brief explanation of the drawing]

[0007] [Figure 1] A block diagram showing the main circuit configuration of an information processing device according to one embodiment. [Figure 2] A schematic diagram illustrating one configuration of data records included in the control table in Figure 1. [Figure 3] A flowchart of the control process performed by the processor in Figure 1. [Figure 4] A flowchart of the control process performed by the processor in Figure 1. [Figure 5] A flowchart of the control process performed by the processor in Figure 1. [Modes for carrying out the invention]

[0008] An example of an embodiment will be described below with reference to the drawings. Figure 1 is a block diagram showing the main circuit configuration of the information processing device 1 according to this embodiment. The information processing device 1 includes a processor 11, main memory 12, auxiliary storage unit 13, interface unit 14, communication unit 15, and transmission line 16. Various types of general-purpose computer devices, such as tablet or desktop computers, can be used as the hardware for the information processing device 1.

[0009] A computer is configured to perform arbitrary information processing, with a processor 11, main memory 12, and auxiliary storage unit 13 connected by a transmission line 16. The processor 11 corresponds to the central part of the computer described above. The processor 11 performs information processing based on information processing programs such as the operating system, middleware, and application programs stored in the main memory 12 and the auxiliary storage unit 13.

[0010] Main memory 12 corresponds to the main memory portion of the computer described above. Main memory 12 includes a non-volatile memory area and a volatile memory area. In the non-volatile memory area of ​​main memory 12, the above-mentioned information processing program is stored. Main memory 12 may also store data necessary for the processor 11 to perform various information processing operations in either the non-volatile or volatile memory area. Main memory 12 uses the volatile memory area as a work area where data is rewritten as needed by the processor 11.

[0011] The auxiliary storage unit 13 corresponds to the auxiliary storage portion of the computer described above. The auxiliary storage unit 13 includes well-known storage devices such as EEPROM (electric erasable programmable read-only memory), HDD (hard disk drive), and SSD (solid state drive). The auxiliary storage unit 13 stores data used by the processor 11 in performing various information processing tasks, as well as data generated by processing performed by the processor 11. The auxiliary storage unit 13 may also store the information processing programs described above. In this embodiment, an encryption-enabled storage unit is used as the auxiliary storage unit 13. As this storage unit, an existing storage unit such as a self-encrypting drive can be used.

[0012] The interface unit 14 has multiple ports for connecting multiple devices 2. However, multiple devices 2 may be connected to the ports of the interface unit 14 via a hub. Therefore, the interface unit 14 may be configured to have only one port. The devices 2 connected to the interface unit 14 are, for example, displays, keyboards, magnetic readers, scanners, printers, and payment machines, if the information processing device 1 performs information processing for transaction processing in a retail store. A ready-made device for general-purpose device interfaces can be used as the interface unit 14. In this embodiment, the interface unit 14 conforms to the USB (universal serial bus) standard. Therefore, in this embodiment, the device 2 is a type of device that is connected to and used by another device using a USB interface. The interface unit 14 is an example of an interface means.

[0013] The communication unit 15 performs processing for data communication via the communication network 3. The transmission path 16 includes an address bus, a data bus, and control signal lines, etc. The transmission path 16 transmits data and signals exchanged between the connected parts.

[0014] A portion of the storage area of ​​the auxiliary storage unit 13 is configured as an unrestricted area ARA, a first restricted area ARB, a second restricted area ARC, and a third restricted area ARD, respectively. Each of these storage areas is configured, for example, as a separate partition. The auxiliary storage unit 13 stores the control program PRA and the control table TAA in the unrestricted area ARA without encryption. The control program PRA is an application program that describes the procedures for the control processing described later. The control table TAA is a data table prepared in advance for reference during the control processing.

[0015] The auxiliary storage unit 13 stores various programs and data in an encrypted state in the first restricted area ARB, the second restricted area ARC, and the third restricted area ARD. The auxiliary storage unit 13 decrypts and outputs the stored programs and data only when the lock has been released in response to an unlock request specifying a predetermined key for each area. In other words, the auxiliary storage unit 13 restricts access to the first restricted area ARB, the second restricted area ARC, and the third restricted area ARD when they are locked. The first restricted area ARB, the second restricted area ARC, and the third restricted area ARD each store a separate first processing program PRB, a second processing program PRC, and a third processing program PRD. The first processing program PRB, the second processing program PRC, and the third processing program PRD are all application programs. The first processing program PRB, the second processing program PRC, and the third processing program PRD all describe information processing that involves the exchange of data with the device 2 connected to the interface unit 14. For example, if the information processing device 1 is to be operated as a transaction processing device, then the first processing program PRB, the second processing program PRC, and the third processing program PRD are expected to all describe information processing procedures for realizing transaction processing that involves the exchange of data with a device 2, such as a scanner. Thus, the auxiliary storage unit 13 corresponds to a storage means that stores the first processing program PRB, the second processing program PRC, and the third processing program PRD, which each correspond to information processing programs related to information processing that involves the exchange of data with a device connected to the interface means.

[0016] Figure 2 schematically represents one configuration of a data record REA included in the control table TAA. The control table TAA is a collection of data records REA associated with various types of devices that can be connected to the interface unit 14 as device 2. The data record REA includes fields FAA, FAB, FAC, FAD, FAE, and FAF. In field FAA, an entry number is set as an identifier for identifying each individual data record REA included in the control table TAA. In field FAB, a class ID (identifier) assigned for the associated type of device is set. The class ID is an identifier for identifying each individual class that roughly classifies various devices according to the functions the devices have, and is defined, for example, by the USB standard. In field FAC, a product ID assigned for the associated type of device is set. The product ID is an identifier that the device supplier has assigned so as to be able to identify the models of various devices supplied by the supplier. In field FAD, a first flag is set. The first flag is data indicating whether the connection of the associated type of device is required. In field FAE, a second flag is set. The second flag is data indicating whether to use a predetermined ID related to the associated type of device for key generation. In field FAF, replacement management data for managing the replacement of the associated type of device is set.

[0017] Next, the operation of the information processing apparatus 1 configured as described above will be described. Note that the content of the processing described below is an example, and it is possible to appropriately change the order of some processing, omit some processing, or add other processing.

[0018] The information processing apparatus 1 includes a first mode, a second mode, and a third mode as operation modes. The first mode is an operation mode in which information processing based on the first processing program PRB is executed on the condition that one of the devices 2 connected to the interface unit 14 includes one device 2 predetermined as a key device in advance. The second mode is an operation mode in which information processing based on the second processing program PRC is executed on the condition that all of a plurality of predetermined devices including the device 2 determined as the key device are included in the devices 2 connected to the interface unit 14. The third mode is an operation mode in which information processing based on the third processing program PRD is executed on the condition that all of a plurality of predetermined devices including the device 2 determined as the key device are included in the devices 2 connected to the interface unit 14, and further, replacement of the prohibited devices among these plurality of devices has not been performed. One of these first mode, second mode, and third mode is appropriately selected by a user or the like and determined as the operation mode of the information processing apparatus 1.

[0019] When the operation of the information processing apparatus 1 is activated, the processor 11 starts control processing according to the control program PRA. FIG. 3, FIG. 4, and FIG. 5 are flowcharts of the control processing by the processor 11.

[0020] As ACT1 in FIG. 3, the processor 11 acquires device information of all the devices 2 connected to the interface unit 14. The device information acquired here includes at least a class ID, a product ID, and a serial number. The processor 11 may also acquire other information such as a vendor ID as device information. The processor 11 stores the acquired device information in the main memory 12 or the auxiliary storage unit 13.

[0021] In ACT2, the processor 11 checks whether the first mode is set as the operating mode of the information processing device 1. If the processor 11 confirms that the first operating mode is set, it determines YES and proceeds to ACT3. As ACT3, the processor 11 selects one of the devices 2 connected to the interface unit 14 as the device to be checked (hereinafter referred to as the target device).

[0022] In ACT4, processor 11 checks whether the target device is a key device. Here, a key device is device 2, which has a product ID set to it that is used to generate the key for unlocking the first restricted area ARB. So, for example, processor 11 calculates hash values ​​for the class ID and product ID obtained from the target device by performing operations on predetermined hash functions, respectively, using the class ID and product ID obtained from the target device as arguments. Then, for example, processor 11 searches for data record REA in control table TAA where these two hash values ​​are set in fields FAB and FAC respectively. If the second flag set in field FAE of the corresponding data record REA does not indicate that the ID is used to generate the key, it determines that the target device is not a key device and proceeds to ACT5. Note that if processor 11 cannot find the corresponding data record REA, it also determines that the target device is not a key device.

[0023] The key device is determined appropriately by, for example, the designer of the information processing device 1, as one of the devices 2 that are always used when performing information processing based on the first processing program PRB, the second processing program PRC, and the third processing program PRD. For example, if the information processing based on the first processing program PRB, the second processing program PRC, and the third processing program PRD always includes a process to execute printing by a printer, then the printer will be set as the key device 2.

[0024] As ACT5, the processor 11 checks whether there is a device 2 connected to the interface unit 14 that has not yet been selected as a target device in the current control process. If such a device 2 exists, the processor 11 determines YES and executes ACT3 and subsequent steps as described above. However, when the processor 11 executes ACT3 for the second time or later, it newly selects the device 2 that has not yet been selected as a target device as a target device.

[0025] For example, in ACT4, if the second flag set in the field FAE of the found data record REA indicates that the ID will be used to generate the key, the processor 11 determines that the target device is a key device and YES, and proceeds to ACT6. As ACT6, processor 11 generates a key to unlock the first restricted area ARB. For example, processor 11 uses a hash value obtained by performing the aforementioned hash function with the product ID of the target device as an argument. Note that the method for generating the key may be any other arbitrary method.

[0026] As ACT7, processor 11 unlocks the first restricted area ARB. For example, processor 11 requests auxiliary storage unit 13 to unlock the first restricted area ARB, specifying the key generated in ACT6. For the first restricted area ARB, the key generated in ACT6 is predetermined as the key for unlocking it. Therefore, auxiliary storage unit 13 unlocks the first restricted area ARB in response to the above request from processor 11. In this unlocked state, auxiliary storage unit 13 decrypts the programs and data stored in the first restricted area ARB and outputs them. Also, in this unlocked state, auxiliary storage unit 13 encrypts the target data etc. and stores it in the first restricted area ARB in response to a write request to the first restricted area ARB.

[0027] As ACT8, processor 11 initiates information processing based on the first processing program PRB. In other words, processor 11 starts the execution of information processing based on the first processing program PRB, for example, as processing in a separate thread from the control processing. Then processor 11 terminates the control processing. When the first mode is set as the operating mode, information processing based on the first processing program PRB is started, provided that one device 2 designated as a key device is connected to the interface unit 14. Furthermore, in information processing based on the first processing program PRB, the processor 11 is expected to write highly secure data, such as payment logs or customer privacy information, to, for example, the first restricted area ARB.

[0028] When executing information processing based on the first processing program PRB, the computer with the processor 11 as its central component functions as a processing means that performs information processing based on the first processing program PRB, which is stored in the auxiliary storage unit 13 as a storage means. Furthermore, by having the processor 11 execute information processing based on the control program PRA, the computer with the processor 11 as its central component functions as a control means that allows the execution of information processing based on the first processing program PRB only when the device connection status satisfies predetermined conditions.

[0029] Now, if one of the key devices, device 2, is not connected to the interface unit 14, the processor 11 will not determine YES in ACT4, even if it has finished selecting all devices 2 connected to the interface unit 14 as target devices, but will determine NO in ACT5. In this case, the processor 11 proceeds to ACT9.

[0030] As ACT9, processor 11 performs error handling. The type of error handling performed can be arbitrarily determined by, for example, the designer of information processing device 1. For example, error handling is expected to include performing a predetermined notification action to inform the user that the process cannot be started because the connection status of device 2 is incorrect. After this, processor 11 terminates the control process.

[0031] If processor 11 confirms that the first operating mode is not set in ACT2, it determines NO and proceeds to ACT10 in Figure 4. As ACT10, the processor 11 checks whether the second mode is set as the operating mode of the information processing device 1. If the processor 11 confirms that the second operating mode is set, it determines YES and proceeds to ACT11. As ACT11, the processor 11 selects one of the devices 2 connected to the interface unit 14 as the target device.

[0032] As ACT12, the processor 11 checks whether the target device is an essential device. An essential device is a device 2 that is required to be connected to the interface unit 14 in order to operate the information processing device in the second mode. The type of device 2 that is considered an essential device can be arbitrarily determined by, for example, the designer or administrator of the information processing device 1. For example, if the designer has decided that the use of functions realized by information processing based on the second processing program PRC is only permitted when, for example, a display, keyboard, magnetic reader, scanner, printer, and payment machine are each connected to the interface unit 14 as devices 2, then each of these devices 2 will be considered an essential device. Then, among the data records REA included in the control table TAA, the first flag set in the field FAD of the data record REA associated with the type of device 2 set as an essential device will be set to a state indicating that the connection is required.

[0033] The processor 11 then calculates hash values ​​for the class ID and product ID obtained from the target device by performing operations on predetermined hash functions, for example, using the class ID and product ID obtained from the target device as arguments. The processor 11 then searches the control table TAA for data record REA, in which these two hash values ​​are set in fields FAB and FAC, respectively. If the first flag set in field FAD of the corresponding data record REA does not indicate that the connection is mandatory, the processor 11 determines that the target device is not a mandatory device and proceeds to ACT 13. The processor 11 also determines that the target device is not a mandatory device if it is unable to find the corresponding data record REA.

[0034] As ACT13, processor 11 checks whether there is a device 2 connected to interface unit 14 that has not yet been selected as a target device in the current control process. If such a device 2 exists, processor 11 determines YES and executes ACT11 and subsequent steps as described above. However, when processor 11 executes ACT11 for the second time or later, it newly selects the device 2 that has not yet been selected as a target device as a target device.

[0035] For example, in ACT12, if the first flag set in the field FAE of the data record REA found by the processor 11 indicates that the connection is required, the processor 11 determines that the target device is a required device and YES, and proceeds to ACT14. As ACT14, the processor 11 adds the target device to the verified list. For example, when the processor 11 executes ACT14 for the first time in the current control process, it generates a verified list that includes only the target device at that time and stores it in the main memory 12 or auxiliary storage unit 13. Then, when the processor 11 executes ACT14 for the second time or later in the current control process, it updates the verified list stored in the main memory 12 or auxiliary storage unit 13 to include the target device at that time.

[0036] As ACT15, processor 11 checks whether the target device is a key device, for example, by a process similar to that in ACT4. If processor 11 confirms that the target device is a key device, it determines YES and proceeds to ACT16. As ACT16, processor 11 generates a key to unlock the second restricted area ARC. For example, processor 11 uses a hash value obtained by performing the aforementioned hash function with a value obtained by adding a predetermined fixed part to the product ID of the target device as an argument. In this embodiment, since there is no distinction between the first mode and the second mode for the key device, the key to unlock the first restricted area ARB and the key to unlock the second restricted area ARC are the same. However, by making the key device for the first mode and the key device for the second mode separate devices 2, the key to unlock the first restricted area ARB and the key to unlock the second restricted area ARC may be made different. Alternatively, by making at least one of the fixed part and the hash function used to generate the key different between ACT6 and ACT16, the key to unlock the first restricted area ARB and the key to unlock the second restricted area ARC may be made different. Alternatively, the key device for the first mode and the key device for the second mode may be the same, but different information contained in the device information obtained from the key device may be used to determine the arguments, thereby making the key for unlocking the first restricted area ARB and the key for unlocking the second restricted area ARC different.

[0037] Then, once processor 11 has finished generating the key, it proceeds to ACT17. If the target device is not a key device, processor 11 determines NO in ACT15, skips ACT16, and proceeds to ACT17. As ACT17, processor 11 checks whether it has confirmed that all required devices are connected to interface unit 14. For example, processor 11 checks whether all required devices are included in the confirmed list. Then, if there are required devices that are not included in the confirmed list, processor 11 determines NO and executes ACT13 onwards as described above. By repeating ACT11 to ACT17, if processor 11 has added all required devices to the confirmed list and proceeds to ACT17, it determines YES and proceeds to ACT18.

[0038] As ACT18, processor 11 unlocks the second restricted area ARC. For example, processor 11 requests auxiliary storage unit 13 to unlock the second restricted area ARC, specifying the key generated in ACT16. The key generated in ACT16 is predetermined as the key for unlocking the second restricted area ARC. Therefore, auxiliary storage unit 13 unlocks the second restricted area ARC in response to the above request from processor 11. In this unlocked state, auxiliary storage unit 13 decrypts the programs and data stored in the second restricted area ARC and outputs them. Also, in this unlocked state, auxiliary storage unit 13 encrypts the target data, etc., before storing it in the second restricted area ARC in response to a write request to the second restricted area ARC. As ACT19, processor 11 initiates information processing based on the second processing program PRC. In other words, processor 11 starts the execution of information processing based on the second processing program PRC, for example, as processing in a separate thread from the control processing. Then processor 11 terminates the control processing.

[0039] When the second mode is set as the operating mode, information processing based on the second processing program PRC is started, provided that all devices 2 designated as essential devices are connected to the interface unit 14. Furthermore, in information processing based on the second processing program PRC, the processor 11 is expected to write highly secure data, such as payment logs or customer privacy information, to a second restricted area ARC.

[0040] When executing information processing based on the second processing program PRC, the computer with the processor 11 as its central component functions as a processing means that performs information processing based on the second processing program PRC, which is stored in the auxiliary storage unit 13 as a storage means. Furthermore, by having the processor 11 execute information processing based on the control program PRA, the computer with the processor 11 as its central component functions as a control means that allows the execution of information processing based on the second processing program PRC only when the device connection status satisfies predetermined conditions.

[0041] Now, if even one of the devices 2 designated as essential devices is not connected to the interface unit 14, the processor 11 will not determine YES in ACT 17, even if it has finished selecting all devices 2 connected to the interface unit 14 as target devices, but will determine NO in ACT 13. In this case, the processor 11 proceeds to ACT 20.

[0042] As ACT20, processor 11 performs error handling. The type of error handling performed can be arbitrarily determined by, for example, the designer of information processing device 1. For example, error handling is expected to involve performing a predetermined notification action to inform the user that the process cannot be started because the connection status of device 2 is incorrect. After this, processor 11 terminates the control process.

[0043] If processor 11 confirms that the second operating mode is not set in ACT10, it determines NO and proceeds to ACT21 in Figure 5. As ACT21, the processor 11 selects one of the devices 2 connected to the interface unit 14 as the target device.

[0044] As ACT22, processor 11 checks whether the target device is a required device. If the target device is not a required device, processor 11 determines NO and proceeds to ACT23. As ACT23, processor 11 checks whether there is a device 2 connected to interface unit 14 that has not yet been selected as a target device in the current control process. If such a device 2 exists, processor 11 determines YES and executes ACT21 and subsequent steps as described above. However, when processor 11 executes ACT21 for the second time or later, it newly selects the device 2 that has not yet been selected as a target device as a target device.

[0045] If the target device is a required device, processor 11 determines YES in ACT22 and proceeds to ACT24. As ACT24, processor 11 checks whether the target device is set to be unreplaceable.

[0046] Here, for reasons such as the risk of security being compromised by replacement, such as with payment terminals, it is possible to set some or all devices to be unreplaceable. Which devices 2 are to be unreplaceable can be arbitrarily determined by, for example, the designer or administrator of the information processing device 1. Initially, the field FAF of each data record in the control table TAA is pre-set with replacement management data, which is set to a predetermined first invalid value if the associated device 2 is unreplaceable, and to a predetermined second invalid value if it is not unreplaceable. The first and second invalid values ​​can be any values ​​as long as they are clearly distinguishable from the hash value related to the serial number.

[0047] Then, as ACT24, processor 11 determines YES, for example, that exchange is prohibited if the second invalid value is not set in the FAF field of the data record REA to which the target device is associated, and proceeds to ACT25. As ACT25, processor 11 checks whether the target device is a new connection. For example, processor 11 calculates hash values ​​for the class ID and product ID obtained from the target device by performing the above hash function on them, respectively, using the class ID and product ID obtained from the target device as arguments. Then, processor 11 searches for data record REA in control table TAA where these two hash values ​​are set in fields FAB and FAC respectively. If the first invalid value is set in field FAF of the corresponding data record REA, it determines that the target device is a new connection and YES, and proceeds to ACT26.

[0048] As ACT26, processor 11 updates the exchange management data set in the FAF field of the data record REA found in ACT25 so that it can identify the individual device 2 to which the data record REA is associated. For example, processor 11 calculates a hash value related to the serial number by performing the above hash function with the serial number of the target device as an argument. Then processor 11 updates the corresponding exchange management data to represent the calculated hash value. After this, processor 11 proceeds to ACT28.

[0049] Thus, if processor 11 has selected device 2 as the target device, and the data record REA associated with which the exchange management data has been updated as described above by a control process executed in the past has been associated, it will determine YES in ACT24 and NO in ACT25, and proceed to ACT27. Note that in ACT25, processor 11 refers to the hash values ​​for the class ID and product ID, respectively, so even if the target device was replaced from device 2 which has the same class ID and product ID but a different serial number, it will still proceed to ACT27.

[0050] In ACT27, processor 11 checks whether the target device has been replaced or not. For example, processor 11 calculates a hash value related to the serial number by performing the above hash function with the serial number of the target device as an argument. Then processor 11 checks whether the calculated hash value matches the hash value set as replacement management data in field FAF of data record REA, which was found in ACT25. If the two hash values ​​match, processor 11 determines that the device has not been replaced and proceeds to ACT28. Furthermore, if the value set in field FAF in ACT24 is anything other than the first invalid value, processor 11 determines NO, stating that it is not prohibited from being replaced, and proceeds to ACT28, skipping ACT25 to ACT27.

[0051] After this, processor 11 performs the processing as ACT28 to ACT31 in the same way as the processing as ACT14 to ACT17 in Figure 4. Then, if processor 11 determines YES in ACT31 after confirming the connection of all required devices, it proceeds to ACT32.

[0052] As ACT32, processor 11 unlocks the third restricted area ARD. For example, processor 11 requests auxiliary storage unit 13 to unlock the third restricted area ARD, specifying the key generated in ACT30. For the third restricted area ARD, the key generated in ACT30 is predetermined as the key for unlocking it. Therefore, auxiliary storage unit 13 unlocks the third restricted area ARD in response to the above request from processor 11. In this unlocked state, auxiliary storage unit 13 decrypts the programs and data stored in the third restricted area ARD and outputs them. Also, in this unlocked state, auxiliary storage unit 13 encrypts the target data etc. and stores it in the third restricted area ARD in response to a write request to the third restricted area ARD.

[0053] As ACT33, processor 11 initiates information processing based on the third processing program PRD. In other words, processor 11 starts the execution of information processing based on the third processing program PRD, for example, as processing in a separate thread from the control processing. Then processor 11 terminates the control processing.

[0054] When the third mode is set as the operating mode, information processing based on the third processing program PRD is started, provided that all devices 2 designated as essential devices are connected to the interface unit 14 and that none of these devices 2 that are set as non-replaceable have been replaced. Furthermore, in information processing based on the third processing program PRD, the processor 11 is expected to write highly secure data, such as payment logs or customer privacy information, to a third restricted area ARD, for example.

[0055] When executing information processing based on the third processing program PRD, the computer with the processor 11 as its central component functions as a processing means that performs information processing based on the third processing program PRD, which is stored in the auxiliary storage unit 13 as a storage means. Furthermore, by having the processor 11 execute information processing based on the control program PRA, the computer with the processor 11 as its central component functions as a control means that allows the execution of information processing based on the third processing program PRD only when the device connection status satisfies predetermined conditions.

[0056] Now, if a device 2 of the same type as the target device that was previously connected to the interface unit 14 has been removed and the target device has been connected to the interface unit 14 instead, the two hash values ​​will not match in ACT27. In this case, the processor 11 determines NO in ACT27 and proceeds to ACT34.

[0057] As ACT34, processor 11 performs error handling. The type of error handling performed can be arbitrarily determined by, for example, the designer of the information processing device 1. For example, error handling could involve performing a predetermined notification action to inform the user that the process cannot be started because the prohibited device 2 is being replaced. After this, processor 11 terminates the control process.

[0058] Now, if even one of the devices 2 designated as essential devices is not connected to the interface unit 14, the processor 11 will not determine YES in ACT 31, even if it has finished selecting all devices 2 connected to the interface unit 14 as target devices, but will determine NO in ACT 23. In this case, the processor 11 proceeds to ACT 35. As ACT35, processor 11 performs error handling, similar to ACT20, for example. After this, processor 11 terminates control processing.

[0059] As described above, the information processing device 1 can execute each of the first processing program PRB, the second processing program PRC, and the third processing program PRD if predetermined conditions regarding the connection status of device 2 are met. However, if device 2 is not properly connected to meet the conditions, each information processing program will not be executed. Thus, the information processing device 1 has the first processing program PRB, the second processing program PRC, and the third processing program PRD pre-installed, and it is possible to restrict the execution of these information processing programs depending on the connection status of device 2.

[0060] Furthermore, the information processing device 1 has different conditions for enabling the execution of pre-installed information processing programs in each of the first, second, and third modes. Thus, with the information processing device 1, it is possible to switch the conditions for enabling the execution of pre-installed information processing programs by selecting the operating mode.

[0061] Furthermore, the information processing device 1 targets the first processing program PRB in the first mode, the second processing program PRC in the second mode, and the third processing program PRD in the third mode. Thus, the information processing device 1 can execute different information processing depending on the differences in the required conditions. In other words, the degree of constraints related to the connection of device 2 can be varied depending on the differences in the functions realized by the information processing. For example, it is assumed that the second processing program PRC and the third processing program PRD describe information processing to realize functions that are more advanced than those realized by the execution of information processing based on the first processing program PRB, and that the third processing program PRD describes information processing to realize functions that require a higher level of security than those realized by the execution of information processing based on the first processing program PRB and the second processing program PRC.

[0062] This embodiment can be modified in various ways as follows: The operating mode may be selectable from only one or two of the first mode, second mode, and third mode. If the first mode is excluded, the first restriction area ARB may not be provided in the auxiliary storage unit 13; if the second mode is excluded, the second restriction area ARC may not be provided; and if the third mode is excluded, the third restriction area ARD may not be provided.

[0063] The same information processing program may be executed in two or three of the first, second, and third modes. In this case, the information processing program stored in one of the restricted areas may be executed in each of the multiple modes, or the same information processing program stored in multiple different restricted areas may be executed in each of them.

[0064] In addition to the first to third modes, or in place of any of the first to third modes, another mode may be provided, such as a mode that is based on the first mode and further conditions that the key device has not been replaced to perform information processing.

[0065] The processor 11 may restrict access to the restricted area by refusing requests to read programs related to the auxiliary storage unit 13, and encryption may not be performed in the restricted area.

[0066] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]

[0067] 1... Information processing device, 2... Device, 3... Communication network, 11... Processor, 12... Main memory, 13... Auxiliary storage unit, 14... Interface unit, 15... Communication unit, 16... Transmission line.

Claims

1. Interface means for interfacing the exchange of data with connected devices, A processing means for executing information processing based on an information processing program, A storage means for storing an information processing program related to information processing that involves the exchange of data with a device connected to the interface means, A control means that allows the processing means to execute an information processing program stored in the storage means only when the connection status of the device to the interface means satisfies predetermined conditions, An information processing device equipped with the following.

2. The control means determines that the condition is met if one of a predetermined number of devices is connected to the interface means. The information processing apparatus according to claim 1.

3. The control means determines that the condition is met if all of the predetermined multiple types of devices are connected to the interface means. The information processing apparatus according to claim 1.

4. The control means determines that the condition is not met if a device that has been previously detected as being connected to the interface means is not connected to the interface means. The information processing apparatus according to any one of claims 1 to 3.

5. The control means obtains an identifier for identifying the type of device from the device connected to the interface means, and determines that a device of the type associated with the setting value is connected to the interface means if the hash value obtained by providing the arguments determined based on the identifier to a predetermined hash function matches a predetermined setting value. The information processing apparatus according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Peripheral device, image reading device, and image reading system

    JP2014147103A