WO2021235437A1 - 通信システム、中継処理装置、情報処理方法、及びプログラム - Google Patents

通信システム、中継処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2021235437A1
WO2021235437A1 PCT/JP2021/018797 JP2021018797W WO2021235437A1 WO 2021235437 A1 WO2021235437 A1 WO 2021235437A1 JP 2021018797 W JP2021018797 W JP 2021018797W WO 2021235437 A1 WO2021235437 A1 WO 2021235437A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
information processing
processing device
unit
terminal device
Prior art date
Application number
PCT/JP2021/018797
Other languages
English (en)
French (fr)
Inventor
眞治 和田
Original Assignee
日本瓦斯株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本瓦斯株式会社 filed Critical 日本瓦斯株式会社
Publication of WO2021235437A1 publication Critical patent/WO2021235437A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Definitions

  • the present invention relates to a communication system having two or more information processing systems and a relay processing device, a relay processing device, an information processing method, and a program.
  • Patent Document 1 there is an information processing device used to refer to the contents of a database such as a customer management database (see, for example, Patent Document 1 below).
  • an information processing system in which the information processing device described in Patent Document 1 is used is often configured in a network having a low risk of being accessed from the outside from the viewpoint of security.
  • a virtual private network that can be safely connected to the network is constructed.
  • the communication system of the first invention is the first information processing apparatus of the first information processing system configured in the first private network, and the second information of the second information processing system configured in the second private network. It includes a processing device and a relay processing device communicably connected to the first information processing device and communicably connected to the second information processing device, and the relay processing device is a remote used by the connecter.
  • a remote identifier that identifies a remote terminal device that is a terminal device and is connected to a relay processing device via a network different from the first private network and the second private network, and relay between the remote terminal device and the first information processing device.
  • Two or more sets in which the preset first condition, which is the condition for performing the above, and the preset second condition, which is the condition for relaying between the remote terminal device and the second information processing device, are stored are stored.
  • the remote terminal device and the second information are started when the first encryption session for relaying the communication with the information processing device is started and the second condition corresponding to the remote identifier received by the remote reception unit is satisfied.
  • the session control unit that starts the second encryption session for relaying the communication with the processing device, and the first that relays the communication between the remote terminal device and the first information processing device in the first encryption session. It is a communication system including a relay unit and a second relay unit that relays communication between a remote terminal device and a second information processing device in a second encryption session.
  • the communication system of the second invention is the first encryption session started when the first encryption session or the second encryption session is started by the session control unit for the first invention.
  • it is a communication system further including a session information storage unit that stores session information related to the second encrypted session in a database.
  • the communication system of the third invention is a communication system, which is a distributed ledger database realized in the communication system, as opposed to the second invention.
  • the first information processing system includes two or more databases distributed and stored in two or more storage units.
  • Each of the two or more databases corresponds to the first user information including the user identifier for one user and the second user information including the attribute value different from the first user information for one user.
  • the first information processing apparatus is attached and stored, and the first user information is stored in the user information storage unit in which the user information is stored and the first user information included in each of the two or more databases. Access to access the user information storage unit, which acquires two or more records in the user information storage unit by associating them with the record identifiers that specify the records in the database, and the second user information associated with the user identifiers.
  • the communication system of the fifth aspect of the present invention further includes an access record storage unit for storing the access record by the access control unit in the distributed ledger database realized in the first information processing system for the fourth invention. , Communication system.
  • the access record for the access request from the remote terminal device is surely recorded, so that it is possible to prevent unauthorized access and the like, and the information processing system is operating securely. You can easily confirm that.
  • the first information processing system includes two or more databases distributed and stored in two or more storage units.
  • the first information processing apparatus has a user information storage unit for storing user information, and each user information contains user information including a user identifier for one user stored in each of two or more databases. Acquires two or more records in the stored database in association with the record identifier that identifies them, and accepts the user information storage unit stored in the user information storage unit and the search request information input from the requester for the user information.
  • Communication having a search request information reception unit, a search execution unit that searches for user information based on the search request information received by the search request information reception unit, and a search result output unit that outputs search results by the search execution unit. It is a system.
  • the remote terminal device to be relayed is permitted to connect to any one of the first to sixth inventions under at least one of the first condition and the second condition.
  • the communication system of the eighth invention relates to information indicating the state of the remote terminal device to be relayed, at least one of the first condition and the second condition is related to any one of the first to seventh inventions. It is a communication system including conditions.
  • the information processing system in which the remote terminal device can participate can be changed according to the conditions related to the information indicating the state of the remote terminal device.
  • the relay processing device of the ninth invention is the first information processing device of the first information processing system configured in the first private network and the second information processing system configured in the second private network. It is a relay processing device that constitutes a communication system together with the second information processing device, and is communicably connected to the first information processing device and communicably connected to the second information processing device.
  • the remote identifier that identifies the remote terminal device used by the remote terminal device that is connected to the relay processing device via a network different from the first private network and the second private network, and the remote terminal device and the first information processing device.
  • the preset first condition which is a condition for relaying with
  • the preset second condition which is a condition for relaying between the remote terminal device and the second information processing device
  • the relay device storage unit stored above, the remote reception unit that accepts the remote identifier that identifies the remote terminal device to be relayed, and the remote terminal when the first condition corresponding to the remote identifier accepted by the remote reception unit is satisfied.
  • the session control unit that starts the second encryption session for relaying the communication with the second information processing device and the communication between the remote terminal device and the first information processing device in the first encryption session are relayed. It is a relay processing device including a first relay unit for relaying communication between a remote terminal device and a second information processing device in a second encryption session.
  • the information processing system configured in the private network can be easily and safely used from the remote terminal device.
  • the information processing system configured in the private network from the remote terminal device can be used easily and while maintaining a safe state. Can be done.
  • Block diagram of the information processing system Block diagram of the information processing device Block diagram of the terminal device
  • Flow chart showing an example of index information generation and storage processing of the information processing device A flowchart showing an example of the search process of the information processing device.
  • Block diagram of relay processing apparatus in this embodiment The figure which shows an example of the condition information used in the relay processing apparatus.
  • a first sequence diagram showing an example of the operation of the communication system A second sequence diagram showing an example of the operation of the communication system
  • the requester is a person who uses the information processing system.
  • a requester is a person who browses and operates information about a user by using an information processing system.
  • the user means a target person (customer) who receives a service or the like exclusively by the work performed by using the information processing system.
  • the connecter is a requester who uses the information processing system by using the remote terminal device.
  • the identifier is a character or code that uniquely indicates the item.
  • the identifier is, for example, an ID, but any kind of information can be used as long as it is information that can identify the corresponding item. That is, the identifier may be the name of what it indicates, or it may be a combination of codes so as to uniquely correspond to each other. A combination of two or more pieces of information (for example, an attribute value of a record recorded in a database) may be used as an identifier.
  • User information refers to information about the user.
  • the user information may be, for example, a user identifier that identifies the user, a user's name, information about the user's address (the address may be the address, or location information that indicates longitude / latitude, etc.). It may contain various information corresponding to the user, such as (good).
  • the user information may be recorded as a record in the database, in which case each information contained in the user information may be included as an attribute value of the record.
  • the acquisition may include acquiring the matters input by the user or the like, or may include information stored in the own device or another device (information stored in advance may be used, or the device concerned). It may be the information generated by the information processing performed in the above). Acquiring the information stored in the other device may include acquiring the information stored in the other device via API or the like, or the document file provided by the other device. It may include acquiring the content (including the content of the web page).
  • a so-called machine learning method may be used to acquire information.
  • a learning device that inputs a specific type of input information and outputs the output information of the type to be acquired is configured by using a machine learning method.
  • a machine learning method For example, two or more sets of input information and output information are prepared in advance, and the two or more sets of information are given to a module for constructing a learning device for machine learning to configure a learning device, and the configured learning device is provided. Accumulate in the storage.
  • the learner can also be called a classifier.
  • the machine learning method may be, for example, deep learning, random forest, SVR, or the like.
  • functions in various machine learning frameworks such as fastText, tinySVM, random forest, TensorFlow, and various existing libraries can be used.
  • Selecting or deciding on information is a concept that includes acquiring certain information, obtaining a link to certain information, and setting a flag for certain information.
  • Outputting information means displaying on a display, projecting using a projector, printing with a printer, sound output, transmission to an external device, storage on a recording medium, processing to other processing devices or other programs. It is a concept that includes delivery of results. Specifically, for example, it includes enabling display of information on a web page, sending it as an e-mail, and outputting information for printing.
  • Information reception means receiving information input from input devices such as keyboards, mice, and touch panels, receiving information transmitted from other devices via wired or wireless communication lines, optical disks, magnetic disks, and semiconductors. It is a concept including acceptance of information read from a recording medium such as a memory.
  • updating means changing the stored information, adding new information to the stored information, and updating the stored information. It is a concept that includes the fact that part or all of it is erased.
  • the communication system 1 has two information processing systems 901 and 902 and a relay processing device 10.
  • the relay processing device 10 starts an encryption session for relaying to the corresponding one of the two information processing systems 901 and 902 based on the first condition and the second condition.
  • each information processing system 901 and 902 have two or more databases arranged in a distributed manner.
  • Each of the two or more databases stores user information including the first user information and the second user information associated with each other.
  • the information processing apparatus 100 of the information processing systems 901 and 902 makes it possible to access the second user information stored in the corresponding second database based on the access request corresponding to the first user information.
  • the information processing apparatus 100 may control the access to the second user information based on the authority information of the requester who requested the access. For example, a part of the information processing device 100 may be controlled based on the authority information. At least one of restricting access to attribute values and restricting access methods. Authority information may be specified for each of two or more databases. Further, the access record to the second user information may be stored in the distributed ledger database.
  • the information processing systems 901 and 902 search for and output user information which is either the first user information or the second user information based on the search request information input from the requester. You may try to do it.
  • the user information included in the search result may be output in association with the identification information for visually indicating the acquisition source database.
  • the search may be performed for different search targets for each requester. For example, the search may be performed using the index information corresponding to the requester, the user information of the database selected corresponding to the requester, or the user information thereof. The search may be performed using the information derived from the search target. Further, the content of the reception screen displayed to the requester may be changed according to the requester.
  • FIG. 1 is a diagram showing an outline of the communication system 1 according to the present embodiment.
  • FIG. 2 is a diagram showing an outline of the information processing system 900 of the communication system 1.
  • the communication system 1 includes a relay processing device 10, a remote terminal device 602, a first information information system 901, a second information system 902, and a fourth external device. Includes device 940 and.
  • the first information processing system 901 and the second information processing system 902 have substantially the same hardware configuration and software configuration as each other. Although both are independent information processing systems different from each other, the device included in one of the information processing systems 901 and 902 may also be included in the other one. In this case, the device may operate independently as a device constituting the first information processing system 901 and as a device constituting the second information processing system 902.
  • the first information processing system 901 and the second information processing system 902 may be referred to as an information processing system 900 without distinguishing them from each other.
  • each information processing system 900 includes a first external device 910, a second external device 920, a third external device 930, an information processing device 100, a local terminal device 601 and the like.
  • the first external device 910 and the second external device 920 are, for example, devices used in different businesses.
  • the first external device 910 is, for example, a business of supplying liquefied petroleum gas (LPG) for home use (for example, a gas cylinder delivery business, a meter reading business, a facility security business, and the like for a user. ) Is the device used.
  • the second external device 920 is used, for example, in a water supply supply business to each house (for example, for a user, a meter reading business for water usage, a billing business such as collection of charges, etc.). It is a device used.
  • LPG liquefied petroleum gas
  • the device is not limited to this, and may be, for example, an apparatus used in a business such as sales and maintenance of equipment in addition to a gas or water supply business.
  • these businesses may be operated by one organization, or may be operated by different organizations such as different companies.
  • the first external device 910 and the second external device 920 may be, for example, devices used by different organizations and may be devices used in the same business.
  • the third external device 930 is a node used for managing a distributed ledger database using, for example, blockchain technology.
  • the third external device 930 maintains and manages the distributed ledger database together with other devices and the like connected via the network.
  • the fourth external device 940 is also configured in the same manner as the third external device 930. That is, the fourth external device 940 holds and manages the distributed ledger database as one node together with other devices and the like connected via the network.
  • the distributed ledger database managed by the third external device 930 of the first information processing system 901, the distributed ledger database managed by the third external device 930 of the second information processing system 902, and the fourth external device 940 are The distributed ledger databases to be managed may be the same as each other, any two distributed ledger databases may be the same, or all the distributed ledger databases may be different. There may be.
  • a so-called public blockchain may be constructed so that the distributed ledger database can be realized, or only a plurality of authorized devices participate in the configuration. It may be a permission type blockchain to be used.
  • a permission-type blockchain in which only a plurality of devices managed by specific entities different from each other participate and is configured may be called a consortium-type blockchain.
  • the devices included in the first information processing system 901 can communicate with each other via the first private network. That is, the first information processing system 901 is configured in the first private network. Further, the devices included in the second information processing system 902 can communicate with each other via the second private network. That is, the second information processing system 902 is configured in the second private network.
  • the first private network and the second private network are physically independent networks such as, for example, a local area network (LAN), but are not limited thereto. For example, it may be a virtually constructed network segment or the like regardless of the physical connection form.
  • some devices may be communicably connected to a private network via a public network such as the Internet.
  • the first external device 910 and the second external device 920 may be connected to the information processing system 900 from different organizations via the Internet or the like.
  • the remote terminal device 602 the relay processing device 10, and the fourth external device 940 go through a different network from the first private network and the second private network, respectively. It is possible to communicate with. That is, the remote terminal device 602 may be connected to the relay processing device 10 via a network different from the first private network and the second private network.
  • the network different from the first private network and the second private network is, for example, the Internet, but is not limited thereto.
  • the relay processing device 10 is communicably connected to the first private network. That is, the relay processing device 10 is connected to the first information processing system 901. Further, the relay processing device 10 is communicably connected to the second private network. That is, the relay processing device 10 is connected to the second information processing system 902. The relay processing device 10 and each private network may be communicably connected to each other via another information processing device or the like.
  • the configuration of the communication system 1 and the configuration of each information processing system 900 are not limited to this.
  • the number of each device included in the communication system 1 and the information information system 900 does not matter, and other devices may be included in the communication system 1 and the information information system 900.
  • the remote terminal device 602 and the local terminal device 601 are devices having the same configuration as each other.
  • the remote terminal device 602 and the local terminal device 601 may be referred to as a terminal device 600 without distinguishing from each other.
  • a personal computer such as a laptop computer is shown as a terminal device 600 in FIGS. 1 and 2
  • a portable information terminal device such as a so-called smartphone is used as the terminal device 600. It may be a tablet-type information terminal device or the like, or it may be a device other than these.
  • the requester can use the information processing system 900 by using the terminal device 600.
  • the terminal device 600 is described on the assumption that a so-called personal computer having a keyboard, a display, or the like is used, but the present invention is not limited thereto.
  • the relay processing device 10 can establish an encryption session with the remote terminal device 602.
  • the encryption session is a communication path for relaying communication between the remote terminal device 602 and one of the first information processing system 901 and the second information processing system 902. The operation of such a relay processing device 10 will be described later.
  • the remote terminal device 602 can function in the same manner as the local terminal device 601 in the first information processing system 901 or the second information processing system 902 through the relay processing device 10 by starting the encryption session. can.
  • the information processing apparatus 100 and the local terminal apparatus 601 constituting each information processing system 900 perform predetermined operations using the information processing system 900 such as a predetermined data center and a call center. Can be placed at bases such as business establishments in Japan. Further, the remote terminal device 602 may be arranged at the place of the connected person, which is physically and geographically separated from the base where each information processing system 900 is arranged, such as a residence or a predetermined satellite office. .. Not limited to this, each device may be connected to other devices as described above, and may be used in various places. For example, the information processing apparatus 100 and the local terminal apparatus 601 constituting each information processing system 900 may be distributed to a plurality of bases.
  • the remote terminal device 602 may be arranged at the same base as the information processing system 900 to be connected, and even in this case, the remote terminal device 602 is connected to the relay processing device 10 via a network different from the private network. If possible. Further, the remote terminal device 602 may be a terminal device connected to a third private network (not shown) different from that used in the first information processing system 901 and the second information processing system 902. good. That is, in this case, the remote terminal device 602 may be connected to the relay processing device 10 via a network such as the Internet outside the third private network while being connected to the third private network.
  • the information processing device 100 included in the first information processing system 901 may be referred to as the first information processing device 100.
  • the information processing apparatus 100 included in the second information processing system 902 may be referred to as a second information processing apparatus 100.
  • FIG. 3 is a block diagram of the information processing system 900.
  • FIG. 4 is a block diagram of the information processing apparatus 100.
  • FIG. 5 is a block diagram of the terminal device 600.
  • the first external device 910 includes a first external device storage unit 911, a first external device processing unit 915, a first external device transmission unit 916, and a first external device reception unit 917.
  • the first external device 910 is, for example, a server device having a general configuration, but is not limited to this, and may be a computer of another form, or a device realized by connecting a plurality of devices to each other. It may be.
  • the first external device 910 can be connected to the network and is configured to be able to communicate with other devices connected to the network.
  • a non-volatile recording medium is suitable for the first external device storage unit 911, but a volatile recording medium can also be used.
  • Various information, programs, and the like are stored in the first external device storage unit 911. The process in which such information is stored does not matter.
  • the information may be stored in the first external device storage unit 911 via the recording medium, and the information transmitted via the communication line or the like may be stored in the first external device storage unit 911.
  • the information input via the input device may be stored in the first external device storage unit 911.
  • the first external device storage unit 911 includes a first database storage unit 912.
  • the first database is stored in the first database storage unit 912.
  • the first database will be described later.
  • the first external device processing unit 915 can usually be realized from an MPU, a memory, or the like.
  • the processing procedure of the first external device processing unit 915 is usually realized by software, and the software is recorded in a recording medium such as ROM. However, it may be realized by hardware (dedicated circuit).
  • the first external device processing unit 915 acquires, for example, information in the first external device 910. For example, based on the acquired SQL statement or the like, various databases stored in the first external device storage unit 911 are operated.
  • the first external device transmission unit 916 transmits information read from the first external device storage unit 911 and the like by the first external device processing unit 915. For example, the first external device transmission unit 916 transfers the user information read from the first external device storage unit 911 to the information processing device 100, the terminal device 600, or the like based on the operation of the first external device processing unit 915. Send over the network.
  • the first external device receiving unit 917 receives the information transmitted from the information processing device 100 and other devices via the network.
  • the first external device receiving unit 917 stores the received information in, for example, the first external device storage unit 911 so that the first external device processing unit 915 and the like can acquire the received information.
  • the second external device 920 is also a server device configured in the same manner as the first external device 910. That is, the second external device 920 includes a second external device storage unit 921 having the same hardware configuration as the first external device storage unit 911. Further, the second external device 920 includes a second external device processing unit 925, a second external device transmission unit 926, and a second external device reception unit 927.
  • the second external device processing unit 925, the second external device transmission unit 926, and the second external device reception unit 927 are the first external device processing unit 915, the first external device transmission unit 916, and the first external device reception unit, respectively. It is configured in the same manner as 917, and a detailed description thereof will be omitted.
  • the second external device storage unit 921 includes a second database storage unit 922.
  • the second database is stored in the second database storage unit 922.
  • each of the first database and the second database includes user information about two or more users (customers).
  • the user information includes at least a user identifier that identifies the user and one or more attribute values (sometimes referred to as user attribute values) relating to the user.
  • the user information includes a user identifier consisting of a code uniquely indicating the user, and information such as the user's name, address, and telephone number.
  • the user information may include other user attribute values in addition to these information for each user.
  • the user attribute value may include, for example, various things such as user position information (user's position information; for example, user's home address, latitude / longitude information, etc.), memo information recorded about the user, and the like.
  • the user identifier is something other than the user's name, it is preferable that the user's name is included as another user attribute value.
  • the user's name may be a user identifier.
  • At least one of the first database and the second database may be provided inside the information processing apparatus 100 instead of the external apparatus of the information processing apparatus 100.
  • the user information is associated with the first user information including the user identifier for one user and the second user information including the attribute value different from the first user information for one user.
  • Information may be one record stored in any database.
  • the first user information and the second user information may be stored as records in different tables.
  • the second user information may be referred to as user detailed information. That is, in the present embodiment, each of the two or more databases contains a first user information including a user identifier for one user and a second user having an attribute value different from the first user information for one user. It can be said that the information is associated and stored.
  • the first user information includes a user identifier and some attribute values (for example, a user's address, etc.).
  • the second user information includes other attribute values.
  • the user attribute value included in the second user information includes the user's family structure, the user's contract information, the user's usage information (gas and water usage, etc.), the user's payment information, and the like. It includes, but is not limited to, information that is relatively more sensitive than the information it contains.
  • the first database and the second database distributed and arranged in the first external device 910 and the second external device 920 are intersystem cooperation infrastructures (https://e-estonia) called "X-Road”. It is desirable that they are linked with each other using .com / solutions / interoperability-systems / x-road /). As a result, the information processing apparatus 100 can access each database by a method that can be easily executed without individually dealing with the difference in the arrangement state and the system configuration of two or more distributed databases. can.
  • the third external device 930 is also a server device having the same hardware configuration as the first external device 910. That is, the third external device 930 includes a third external device storage unit 931 having the same hardware configuration as the first external device storage unit 911. In addition, the third external device 930 has various parts such as a third external device processing unit 935, a third external device transmission unit 936, and a third external device reception unit 937, similarly to the first external device 910. However, a detailed description will be omitted.
  • the third external device storage unit 931 includes a third database storage unit 932.
  • the distributed ledger database is stored in the third database storage unit 932. It is desirable that the distributed ledger database is managed by using, for example, a distributed ledger technology using so-called blockchain technology or other time stamping technology using hashed information.
  • first external device 910, the second external device 920, and the third external device 930 may be interpreted as not being included in the information processing system 900.
  • each device of the information processing system 900 is configured to be able to communicate with two or more other external devices having the same configuration as the first external device 910 and the second external device 920 via a network.
  • the information processing system 900 may be configured to be able to access two or more databases stored in a distributed manner.
  • the third external device 930 may not be provided, or the function of the third external device 930 may be configured to be carried by another device of the information processing system 900.
  • the information processing apparatus 100 includes a storage unit 110, a reception unit 120, a reception unit 130, a processing unit 140, and an output unit 160.
  • the information processing device 100 is, for example, a server device.
  • the storage unit 110 includes a user information storage unit 111, an index information storage unit 112, a requester information storage unit 113, and an authority information storage unit 114.
  • a non-volatile recording medium is suitable for the storage unit 110, but a volatile recording medium can also be used.
  • information acquired by the receiving unit 120 and the processing unit 140 is stored in each unit of the storage unit 110, but the process of storing the information or the like in each unit of the storage unit 110 is not limited to this.
  • information or the like may be stored in the storage unit 110 via a recording medium, or information or the like transmitted via a communication line or the like may be stored in the storage unit 110.
  • the information or the like input via the input device may be stored in the storage unit 110.
  • the user information storage unit 111 stores the user information acquired by the user information storage unit 141.
  • the index information storage unit 112 stores the index information acquired by the index information storage unit 142.
  • the requester information storage unit 113 stores requester information related to the requester who uses the information processing system 900.
  • the requester information includes, but is not limited to,, for example, two or more pieces of information in which a requester identifier that identifies one requester and an attribute value indicating information about the requester are associated with each other.
  • the attribute value includes, for example, information that identifies the terminal device 600 used by the requester. Further, the attribute value includes, for example, information that identifies the role of the requester, such as a group to which the user belongs, a job title, or a job title, or an identifier corresponding to the information. In addition, attribute values other than these may be included.
  • the requester information storage unit 113 may be provided in the storage unit of the external device. That is, the requester information does not have to be stored in the storage unit 110 of the information processing device 100.
  • Authority information is stored in the authority information storage unit 114.
  • the authority information is information regarding the access authority that each requester has for the records of each database.
  • the access authority may be defined for each requester (for each requester identifier), for example. Further, it may be specified in association with the information that specifies the role of the requester or the identifier corresponding to the information. In this case, the access authority corresponding to each requester identifier can be specified based on the requester information. It becomes.
  • the access authority restricts access to some attribute values of the second user information (restricts the target that can be operated), and an access method for the second user information that is the target of the access request (first). 2 It may be set for at least one of limiting the types of operations that can be performed on the user information).
  • the authority information collectively defines the access authority for two or more records stored in the database for each of the two or more databases. That is, the authority information for one requester includes information indicating the content of the access authority to the user information stored in the first database and the content of the access authority to the user information stored in the second database. Includes information to indicate.
  • the permission information differs for each record, such as one that collectively defines access rights for all records in two or more databases, and one that defines access rights corresponding to specific attribute values of each record. It may be one that can specify the access authority.
  • the receiving unit 120 receives information transmitted from another device.
  • the receiving unit 120 stores the received information in, for example, the storage unit 110.
  • the reception unit 130 includes an access request information reception unit 131, a search request information reception unit 132, and a display request information reception unit 133.
  • the reception unit 130 receives the information received by the reception unit 120.
  • the reception unit 130 is used to input information input using an input means connected to the information processing device 100 or input using a reading device (for example, a code reader) connected to the information processing device 100.
  • Information input by an operation may be accepted.
  • the received information is stored in, for example, the storage unit 110.
  • the access request information receiving unit 131 receives the access request information.
  • the access request information is, for example, information for accessing the second user information input by the requester, and is information associated with the user identifier. In other words, the access request information is information for designating a target user and accessing the second user information of that user.
  • the access request information receiving unit 131 when the access request information receiving unit 131 receives the access request information, the access request information receiving unit 131 also accepts the requester identifier that identifies the requester who input the access request information.
  • the access request information received by the access request information receiving unit 131 is associated with a requester identifier that identifies the requester who requested access.
  • the access request information can be input in various ways. For example, an operation of designating the first user information of one of the first user information about a plurality of users displayed on the display to request confirmation of the second user information (operation using a keyboard or a pointing device, or an operation using a pointing device). Regardless of the operation mode, such as operation by voice or the like), may correspond to the input of access request information. Further, for example, an operation for inputting, changing, deleting, or the like inputting, changing, or deleting the attribute value of the information of the second user of one or more users displayed on the display may correspond to the input of the access request information. That is, the input of access request information is information for requesting acquisition, change, etc. of the attribute value of the second user information corresponding to one user identifier to the database including the record corresponding to the user identifier. It can be said that it is to input.
  • the search request information receiving unit 132 receives the search request information for the user information which is either the first user information or the second user information.
  • the search request information is information given to the information processing apparatus 100 in order to narrow down the user information that can be output by the information processing apparatus 100 by searching.
  • the search request information may include, for example, various information that specifies a character string to be searched and a condition.
  • the search request information receiving unit 132 when the search request information receiving unit 132 receives the search request information, it also accepts the requester identifier that identifies the requester who input the search request information.
  • the search request information received by the search request information receiving unit 132 is associated with a requester identifier that identifies the requester who requested the search.
  • the display request information reception unit 133 receives the reception screen display request information input from the requester and requesting the display of the reception screen for receiving the search request information.
  • the information processing device 100 is a web server, and can output information that can be displayed by a web browser operating on the terminal device 600.
  • the reception screen display request information is information output from the terminal device 600 in order to display the reception screen on the web browser operating on the terminal device 600.
  • the information processing device 100 does not have to be a web server, and the reception screen display request information is information output from the terminal device 600 in order to display the reception screen in other applications operating on the terminal device 600. May be good.
  • the display request information reception unit 133 when the reception screen display request information is received, the display request information reception unit 133 also receives the requester identifier that identifies the requester who has input the reception screen display request information. In other words, the reception screen display request information received by the display request information reception unit 133 is associated with the requester identifier that identifies the requester who requested the display of the reception screen.
  • the input of the access request information, the search request information, and the reception screen display request information means that these information are indirectly input to the information processing device 100 by the requester via the terminal device 600 or the like. However, it may be interpreted to mean that the information is directly input to the information processing apparatus 100 by the requester using the input means. Further, the access request information, the search request information, and the reception screen display request information do not necessarily have to be the information generated based on the direct action (input operation, etc.) of the requester. That is, the input of these request information means various actions that cause the request information to be given to the information processing apparatus 100, for example, executing a program that automatically generates these request information or performing various information. It may include giving and functioning.
  • the processing unit 140 includes a user information storage unit 141, an index information storage unit 142, a search execution unit 143, an access control unit 144, and an access record storage unit 145.
  • the processing unit 140 performs various processes.
  • the various processes are, for example, the processes performed by each unit of the processing unit 140 as follows.
  • the user information storage unit 141 acquires two or more user information included in at least one of the first database and the second database. That is, the user information storage unit 141 is two or more databases stored in a distributed manner, and is included in at least one of two or more databases including a database stored in at least one external device. Get user information of. The user information storage unit 141 stores the acquired user information in the user information storage unit 111.
  • the user information storage unit 141 acquires and stores the first user information among the user information.
  • the user information storage unit 141 acquires two or more first user information included in each of the two or more databases in association with a record identifier that identifies a record in the database in which each first user information is stored. It is stored in the information storage unit 111.
  • the record identifier is associated with the database identifier that specifies the acquisition source database (meaning the acquisition source database by the user information storage unit 141) in which the record specified by the record identifier is stored.
  • the first user information stored in the user information storage unit 111 is associated with information that can identify the acquisition source database and the records stored in the acquisition source database.
  • the database identifier may be a device identifier that identifies an external device in which the acquisition source database is managed.
  • the index information storage unit 142 generates and generates index information for searching for user information corresponding to each first user information based on two or more first user information stored in the user information storage unit 111.
  • the index information is stored in the index information storage unit 112.
  • the information that can be searched is acquired, and the acquired information is included.
  • the index information is, for example, information having a data structure suitable for searching by a predetermined search algorithm by the search execution unit 143, but is not limited to this, and may be, for example, information including the acquired user information as it is.
  • index information it is not necessary to access the first external device 910 and the second external device 920 every time the information processing device 100 searches. Therefore, the user information can be searched at high speed, and the load on the information processing system 900 at the time of searching can be reduced.
  • the index information is stored in association with the requester identifier. That is, the index information storage unit 142 stores the index information generated so as to make the user information in the range corresponding to the access authority of the requester searchable in association with each requester identifier. That is, the index information storage unit 142 acquires two or more index information including different contents for searching the user information, and stores the index information in the index information storage unit 112 in association with the corresponding requester identifier. The index information in the range corresponding to such access authority is generated based on the authority information stored in the authority information storage unit 114.
  • the index information storage unit 142 When there are two or more requester identifiers having the same access authority, the index information storage unit 142 generates index information in a range corresponding to the access authority once, and generates the generated index information in the second. It may be stored in association with the above requester identifier. Further, the index information storage unit 142 acquires the authority information corresponding to the requester identifier for each of the requester identifiers based on the requester information, generates the index information, and generates the generated index information. It may be stored in association with the requester identifier.
  • the index information is generated regularly. For example, it is performed every day when a predetermined time arrives.
  • the index information may be generated according to another predetermined schedule, or may be generated, for example, when the reception unit 130 receives the information requesting the generation of the index information.
  • the search execution unit 143 searches for user information by generating a search query or the like based on the search request information received by the search request information reception unit 132. For example, the search execution unit 143 searches for different search targets for each requester who has entered the search request information, based on the requester identifier that identifies the requester who has entered the search request information.
  • the search execution unit 143 searches for user information using the index information stored in the index information storage unit 112.
  • the search execution unit 143 corresponds to the requester identifier among the two or more index information stored in the index information storage unit 112 based on the requester identifier that identifies the requester who input the search request information. Search using things. That is, the search execution unit 143 searches for user information in a range corresponding to the access authority of the requester who has input the search request information.
  • the search execution unit 143 directly searches for the user information stored in the user information storage unit 111 and the user information stored in the first database or the second database without using the index information. You may do so.
  • the search execution unit 143 searches for the user information stored in the specific database associated with the requester identifier that identifies the requester who entered the search request information or the information derived from the user information as a search target. You may do so. For example, when the requester is a requester particularly related to the first database, when the requester inputs the search request information, the user information stored in the first database is used as a search target to access the first database. You may search for it. Further, when the requester inputs the search request information, the index information generated in advance based on the user information stored in the first database (information derived from the user information stored in a specific database).
  • the first user information (stored in a specific database) stored in the user information storage unit 111, which is searched by searching for an example) or previously acquired from the first database and stored in the user information storage unit 111.
  • the search may be performed using an example of information derived from existing user information) as a search target.
  • the access control unit 144 accesses the second user information stored in the corresponding database based on the record identifier corresponding to the user identifier associated with the access request information received by the access request information receiving unit 131.
  • Access means, for example, using SQL queries, etc., to operate the database by operations (access method) such as browsing (an example of acquisition), updating, adding, and deleting information contained in records to the management program of each database. It means to execute, but it is not limited to this.
  • the access control unit 144 is configured to access the second user information stored in the corresponding database by using the API, or is configured to access the second user information by using a function or the like. You may.
  • the access control unit 144 accesses the requester specified by the requester identifier corresponding to the access request information when the access request information receiving unit 131 receives the access request information. Get permission information about permissions.
  • the access control unit 144 generates a query for performing access when the requester has access authority based on the acquired authority information. Then, the access control unit 144 executes access to the corresponding database by using the generated query.
  • the access control unit 144 limits access to the second user information that is the target of the access request and the access method according to the access authority of the requester. More specifically, the access control unit 144 restricts access to some attribute values of the second user information subject to the access request according to the access authority of the requester, and the access request. It may be configured to be able to execute such as limiting the types of operations (select, update, append, delete, etc.) that can be performed on the second user information that is the target of.
  • the access record storage unit 145 is configured to be able to store information in a distributed ledger database managed by a third external device 930 or the like.
  • the access record storage unit 145 stores the access records related to the access performed by the access control unit 144 in the distributed ledger database realized in the information processing system 900.
  • the information processing apparatus 100 records an access trail such as an act of acquiring user information from each of the first database and the second database in a state where it is difficult to falsify.
  • the output unit 160 includes a search result output unit 161 and a reception screen information output unit 162.
  • the output unit 160 outputs information by transmitting information to another device using the transmission unit 170 or the like, but the output unit 160 is not limited to this, and is not limited to this, for example, a display device provided in the information processing device 100. Information may be output by displaying the information in.
  • the search result output unit 161 outputs information indicating the search result by the search execution unit 143. Specifically, the search result output unit 161 visually displays, for example, the user information included in the search result (such as the user identifier corresponding to the user information hit by the search) and the database of the acquisition source from which the user information was acquired. It is output in association with the identification information for showing in.
  • the identification information is, for example, an image showing a predetermined mark or code, a code string that can be displayed as characters, or a character color or background color according to the acquisition source database to indicate user information. Various things such as information can be applicable.
  • the identification information stored in the storage unit 110 in association with the record identifier or the database identifier may be output based on the user identifier corresponding to the user information included in the search result.
  • the second user information may be acquired and included in the search result as needed.
  • the search result output unit 161 can output the user information included in the search result so as to be displayed on the terminal device 600 or the like in a visual manner according to the database of the acquisition source.
  • the information indicating the search result is, for example, information that can display the search result as a web page in the terminal device 600 (for example, a document in HTML format or a web page generation functioning in the information processing device 100 or the terminal device 600).
  • the reception screen information output unit 162 outputs reception screen information for displaying the reception screen based on the reception screen display request information received by the display request information reception unit 133.
  • the reception screen information is, for example, information stored in the storage unit 110 in advance (for example, an HTML format document, or an information processing device 100 or a terminal device 600) used to display the reception screen as a web page. Information used in functional web page generation systems (content management systems, etc.), but not limited to this.
  • the reception screen information output unit 162 may output the reception screen information based on the requester identifier that identifies the requester who input the reception screen display request information. Specifically, for example, the reception screen information is output so that the content of the access authority according to the requester identifier is visually shown, or the search request information is input only in a predetermined mode according to the access authority. It is also possible to output the reception screen information for displaying the reception screen that enables.
  • the transmission unit 170 transmits information to other devices constituting the information processing system 900 via the network.
  • the transmission unit 170 transmits, for example, the information output by the output unit 160.
  • the information output by the search result output unit 161 is transmitted to the terminal device 600 of the requester based on the requester identifier of the requester who input the search request information.
  • the information output by the reception screen information output unit 162 is transmitted to the terminal device 600 of the requester based on the requester identifier of the requester who input the reception screen display request information.
  • the terminal device 600 includes a terminal storage unit 610, a terminal reception unit 620, a terminal reception unit 630, a terminal processing unit 640, a terminal output unit 660, and a terminal transmission unit 670.
  • the terminal device 600 is, for example, a general personal computer and has a display which is an output device and an input device (for example, a keyboard, a pointing device, etc.) used for an input operation of a requester. Not limited.
  • the terminal device 600 is connectable to a network and is configured to be able to communicate with other devices connected to the network.
  • a non-volatile recording medium is suitable for the terminal storage unit 610, but a volatile recording medium can also be used.
  • Various information, programs, and the like are stored in the terminal storage unit 610. The process in which such information is stored does not matter.
  • the information may be stored in the terminal storage unit 610 via the recording medium, or the information transmitted via the communication line or the like may be stored in the terminal storage unit 610.
  • the information input via the input device may be stored in the terminal storage unit 610.
  • the terminal receiving unit 620 includes a reception screen information receiving unit 621.
  • the terminal receiving unit 620 receives the information transmitted from the information processing device 100 and other devices via the network.
  • the terminal receiving unit 620 stores the received information in, for example, the terminal storage unit 610 so that the terminal processing unit 640 or the like can acquire it.
  • the reception screen information receiving unit 621 receives the reception screen information transmitted from the information processing device 100 and stores it in the terminal storage unit 610.
  • the terminal reception unit 630 receives various input operations for the terminal device 600 by a requester who uses the terminal device 600.
  • the operation is performed using, for example, an input device (not shown), but the operation is not limited thereto.
  • the terminal reception unit 630 may, for example, accept an input operation by voice input by a microphone, or may perform an input operation performed by using a reading device (for example, a code reader) connected to the terminal device 600. You may accept it.
  • the terminal processing unit 640 performs various information processing operations using each unit of the terminal device 600.
  • the terminal output unit 660 outputs information by displaying it on a display device, for example.
  • the information output method is not limited to this, and may be performed by outputting voice or the like from a speaker or the like.
  • the terminal transmission unit 670 includes an access request information transmission unit 671, a reception screen display request information transmission unit 672, and a search request information transmission unit 673.
  • the terminal transmission unit 670 transmits information acquired by, for example, the terminal processing unit 640 or the like via a network.
  • the access request information transmission unit 671 transmits the access request information to the information processing device 100 when the input operation of the access request information by the requester is received by the terminal reception unit 630.
  • the reception screen display request information transmission unit 672 transmits the reception screen display request information to the information processing device 100 when the input operation requesting the display of the reception screen by the requester is received by the terminal reception unit 630.
  • the search request information transmission unit 673 transmits the search request information to the information processing apparatus 100 when the input operation of the search request information by the requester is received by the terminal reception unit 630.
  • FIG. 6 is a diagram illustrating an example of the operation of the information processing apparatus 100.
  • the user information storage unit 141 of the information processing device 100 acquires and stores the first user information from the first external device 910 and the second external device 920 located at different locations from each other. That is, the user information storage unit 141 acquires the first user information included in the first database from the first external device 910, and acquires the second user information included in the second database from the second external device 920. ..
  • the index information storage unit 142 generates and stores index information based on the information acquired from the first external device 910 and the second external device 920. For example, if there are two types of access authority of the requester (temporarily called A authority and B authority), two index information corresponding to each type is generated.
  • Search request information is transmitted (simply searched) to such an information processing device 100 from, for example, the terminal device 600 used by the requester having the A authority and the terminal device 600 used by the requester having the B authority. It is assumed that the access request information is transmitted (sometimes simply called an access request) to the second request information corresponding to the first user information (sometimes called a request).
  • the search execution unit 143 When a search request is made from the terminal device 600 used by the requester having the A authority, the search execution unit 143 performs a search using the index information generated for the A authority. The search result is transmitted to the terminal device 600, and the search result according to the access authority of the requester of the terminal device 600 is output in the terminal device 600. Further, when an access request is made from the terminal device 600 used by the requester having the A authority, the access control unit 144 responds to the A authority and, if accessible, based on the access request, the first database. Alternatively, the second database is accessed and processing such as acquisition of the second user information is performed. As a result, the terminal device 600 can view the second user information and the like.
  • the search execution unit 143 performs a search using the index information generated for the B authority.
  • the search result according to the access authority of the requester of the terminal device 600 is output in the terminal device 600.
  • the access control unit 144 responds to the B authority and, if accessible, the second user based on the access request. Processing such as acquisition of information is performed so that the second user information can be browsed in the terminal device 600.
  • the access trail indicating that the information processing device 100 has accessed the first external device 910 and the second external device 920 is recorded in the third database by the access record storage unit 145 of the information processing device 100.
  • NS By recording the access trail in a recording mode that is difficult to falsify, it is possible to verify, for example, an access record to sensitive user information or the like.
  • FIG. 7 is a flowchart showing an example of the operation of the information processing apparatus 100.
  • the information processing device 100 performs various operations as follows, for example. It should be noted that such an operation may be terminated, for example, when the power of the information processing apparatus 100 is turned off.
  • Step S101 As shown in FIG. 7, the user information storage unit 141 acquires the first user information recorded in the database from each of the two or more databases and stores the first user information in the user information storage unit 111. ..
  • Step S102 The processing unit 140 determines whether or not the index information generation timing has arrived. If the index information generation timing has arrived, the process proceeds to step S103, and if not, the process proceeds to step S104.
  • Step S103 The index information storage unit 142 performs index information generation and storage processing. As a result, the index information corresponding to each requester identifier is stored in the index information storage unit 112. When the index information generation / accumulation process is completed, the process proceeds to step S104.
  • Step S104 The processing unit 140 determines whether or not the display request information reception unit 133 has received the reception screen display request information. If the reception screen display request information is received, the process proceeds to step S105, and if not, the process proceeds to step S106.
  • the reception screen information output unit 162 outputs reception screen information for displaying the reception screen based on the reception screen display request information received by the display request information reception unit 133.
  • the transmission unit 170 transmits the reception screen information to the terminal device 600 of the requester based on the requester identifier of the requester who has input the reception screen display request information.
  • Step S106 The processing unit 140 determines whether or not the search request information receiving unit 132 has received the search request information. If the search request information is accepted, the process proceeds to step S107, and if not, the process proceeds to step S108.
  • Step S107 The search execution unit 143 performs a search process based on the search request information received by the search request information reception unit 132. As a result, the search result is transmitted to the requester's terminal device 600.
  • Step S108 The processing unit 140 determines whether or not the access request information receiving unit 131 has received the access request information. If the access request information is received, the process proceeds to step S109, and if not, the process returns to step S102.
  • Step S109 The access control unit 144 performs access processing based on the access request information received by the access request information receiving unit. When the access process is completed, the process returns to step S102.
  • FIG. 8 is a flowchart showing an example of index information generation / storage processing of the information processing apparatus 100.
  • the index information storage unit 142 stores index information in the index information storage unit 112 in association with each requester identifier included in the requester information, for example, as shown below.
  • Step S121 The index information storage unit 142 sets 1 in the counter i.
  • the index information storage unit 142 acquires the authority information corresponding to the i-th requester identifier among the requester identifiers included in the requester information from the authority information storage unit 114.
  • Step S123 The index information storage unit 142 acquires user information in the range corresponding to the authority information among the user information acquired from each of the two or more databases. Then, index information is generated using the acquired user information.
  • the index information storage unit 142 associates the generated index information with the i-th requester identifier and stores it in the index information storage unit 112.
  • Step S125 The index information storage unit 142 determines whether or not the counter i is the total number of requester identifiers included in the requester information. If i is the total number of requester identifiers, the index information generation / accumulation process is terminated and the process returns to the process shown in FIG. 7, and if not, the process proceeds to step S126.
  • Step S126 The index information storage unit 142 increments the counter i by 1. Return to step S122.
  • index information is generated for each access authority grant pattern (access permission grant mode for one requester), and each requester identifier and access permission grant mode for the requester are generated.
  • the index information corresponding to the above may be associated and accumulated.
  • FIG. 9 is a flowchart showing an example of the search process of the information processing apparatus 100.
  • the search execution unit 143 acquires the requester identifier corresponding to the search request information.
  • the requester identifier is, for example, a requester identifier that is received by the search request information receiving unit 132 and identifies the requester who has input the search request information.
  • Step S142 The search execution unit 143 identifies the index information corresponding to the requester identifier among the index information stored in the index information storage unit 112.
  • Step S143 The search execution unit 143 searches for index information using the search request information. As a result, the search execution unit 143 acquires the search result.
  • the search result output unit 161 acquires and outputs the search result by the search execution unit 143. For example, the search result output unit 161 generates the user information hit by the search in association with the identification information for visually indicating the database of the acquisition source from which the user information was acquired. The search result output unit 161 may acquire the second user information regarding the user information hit by the search from each database and include it in the search result.
  • Step S145 The transmission unit 170 transmits the search result to the terminal device 600 corresponding to the requester identifier.
  • the search result can be displayed in the format of a web page or the like on the terminal device 600.
  • the process returns to the process shown in FIG.
  • FIG. 10 is a flowchart showing an example of access processing of the information processing apparatus 100.
  • Step S161 The access control unit 144 acquires the requester identifier and the record identifier corresponding to the access request information.
  • Step S162 The access control unit 144 acquires the authority information based on the requester identifier.
  • Step S163 Based on the authority information, the access control unit 144 determines whether or not the requester who has input the access request information has the access authority to perform the access as requested. If there is access authority, the process proceeds to step S165, and if not, the process proceeds to step S164.
  • Step S164 The access control unit 144 does not access and generates error information indicating that the access was not performed.
  • the transmission unit 170 transmits the error information to the terminal device 600 corresponding to the requester identifier. Note that the error information does not have to be generated or transmitted.
  • Step S165 The access control unit 144 creates a query for performing access based on the access request information and the record identifier.
  • Step S166 The access control unit 144 accesses the database using a query.
  • Step S167 The access control unit 144 acquires information indicating an access result. For example, when the access for acquiring the second user information is performed, the second user information is acquired.
  • the transmission unit 170 transmits information (for example, second user information, etc.) acquired as a result of access by the access control unit 144 to the terminal device 600 corresponding to the requester identifier.
  • Information indicating the result of access may be generated by the output unit 160, and the information generated by the transmission unit 170 may be output.
  • information for displaying the acquired information as a web page on the terminal device 600 for example, a document in HTML format or a web page generation system functioning on the information processing device 100 or the terminal device 600
  • Information used for (content management system, etc.) may be generated. In this way, in the terminal device 600, the result of the access can be displayed in the form of a web page or the like.
  • the process returns to the process shown in FIG.
  • the information processing apparatus 100 integrates customer databases of two different companies and provides a customer management service that enables a requester to browse and search customer information (user information). It is assumed that it is used to do so.
  • the first external device 910 is, for example, a device of a gas company engaged in an LPG supply business.
  • the first database is, for example, a customer information database of a gas company.
  • the second external device 920 is, for example, a device of a water supply company that operates a water supply supply business.
  • the second database is, for example, a customer information database of a water company.
  • Each customer information database records information about users of each company.
  • the range in which user information can be viewed, the search, and the like differ depending on the access authority of each of the two or more requesters who use the information processing device 100.
  • the access authority can be set as follows. That is, the requester employed by the gas company has a relatively wide access authority for the user information contained in the first database and a relatively narrow access authority for the user information contained in the second database.
  • the requester employed by the water company has a relatively narrow access authority for the user information contained in the first database and a relatively wide access authority for the user information contained in the second database.
  • the access authority can be set as appropriate.
  • each requester who uses the information processing device 100 uses the customer management service by logging in to the customer management service realized by the information processing device 100 with a preset account. It is configured to be able to. It can be said that each account corresponds to the requester identifier.
  • FIG. 11 is a diagram showing a specific example of requester information stored in the requester information storage unit 113 of the information processing apparatus 100.
  • the requester information storage unit 113 includes a plurality of requester information.
  • Each requester information includes, for example, an attribute value for each attribute of a name, a requester ID, a password used for login, and a terminal identifier (terminal ID) of the terminal device 600 used (terminal device 600 used for login). Is recorded. Any of these attribute values may not be included, and attribute values of other attributes may be included. For example, an identifier or the like that identifies the organization to which the requester belongs may be included. In this specific example, for example, the requester ID is also used as the requester identifier, but the present invention is not limited to this.
  • the terminal identifier may be configured to be used as the requester identifier, in which case the requester identifier that identifies the requester when the terminal logged in with the requester's account is changed. Although it is changed, it is sufficient that the account of the requester and the terminal identifier of the terminal device 600 used for login are always associated with each other.
  • FIG. 12 is a diagram showing a specific example of the authority information stored in the authority information storage unit 114 of the information processing apparatus 100.
  • the authority information storage unit 114 includes authority information for each requester ID. That is, in each authority information, for example, attribute values are recorded for each attribute of the requester ID which is the requester identifier, the content of the access authority related to the first database, and the content of the access authority related to the second database. .. Any of these attribute values may not be included, and attribute values of other attributes may be included.
  • the attribute value of the access authority for example, only the first user information can be searched, each attribute value of the user information can be searched / acquired / changed, and each attribute value can be accessed including deletion. It suffices if it is possible or set appropriately. In addition, a range in which access is not permitted may be defined.
  • each information processing system 900 when the access request information is received, the user information stored in each of the two or more databases can be accessed by the information processing apparatus 100. .. Therefore, the user information of two or more databases stored in a distributed manner can be appropriately handled, and the convenience is improved. Since the access is performed according to the access authority of the requester, the request by two or more requesters having different access authority can be appropriately handled.
  • the relay processing device 10 having a function of relaying will be described.
  • the relay performed by the relay processing device 10 means that the information transmitted from the device connected to one network is transmitted to the device to another network.
  • the relay processing device 10 is communicably connected to the first information processing device 100 via the first private network, and is connected to the first information processing device 100 via the second private network. Is communicably connected to the second information processing apparatus 100.
  • the relay processing device 10 may be connected to the information processing device 100 of each information processing system 900 without going through a private network.
  • the relay processing device 10 is, for example, a general personal computer, and has a display which is an output device, an input device (for example, a keyboard, a pointing device, etc.) used for an input operation of a requester, and the like. It is not limited to.
  • the relay processing device 10 is connectable to a network and is configured to be able to communicate with other devices connected to the network.
  • FIG. 13 is a block diagram of the relay processing device 10 according to the present embodiment.
  • the relay processing device 10 includes a relay device storage unit 11, a relay device receiving unit 20, a relay device receiving unit 30, a relay device processing unit 40, a relay device output unit 60, and a relay device transmitting unit 70.
  • a non-volatile recording medium is suitable for the relay device storage unit 11, but a volatile recording medium can also be used.
  • Various information, programs, and the like are stored in the relay device storage unit 11. The process in which such information is stored does not matter.
  • the information may be stored in the relay device storage unit 11 via the recording medium, or the information transmitted via the communication line or the like may be stored in the relay device storage unit 11.
  • the information input via the input device may be stored in the relay device storage unit 11.
  • condition information is stored in the relay device storage unit 11.
  • the condition information includes, for example, two or more sets in which a remote identifier that identifies the remote terminal device 602 used by the connecter, a preset first condition, and a preset second condition are associated with each other.
  • the first condition is a condition for relaying between the remote terminal device 602 and the first information processing device 100.
  • the second condition is a condition for relaying between the remote terminal device 602 and the second information processing device 100. It is preferable that the first condition and the second condition corresponding to one remote identifier are set so that when one is satisfied, the other is not satisfied. Thereby, it is surely determined whether the remote terminal device 602 used by the connected party functions as the terminal device 600 of the first information processing system 901 or the terminal device 600 of the second information processing system 902 under a certain situation. ..
  • the first condition includes a condition regarding the time when the remote terminal device 602 corresponding to the remote identifier corresponding to the first condition is permitted to connect to the first information processing system 901.
  • the second condition includes a condition relating to the time when the remote terminal device 602 is permitted to connect to the second information processing system 902.
  • the time at which connection is permitted means a period from a predetermined start time to an end time, a period specified by a time zone, a day of the week, a day, a month, or the like on each day.
  • only one of the first condition and the second condition may include the above-mentioned time-related condition.
  • the first condition may include a condition related to information indicating the state of the remote terminal device 602 corresponding to the remote identifier corresponding to the first condition.
  • the second condition may also include a condition regarding information indicating the state of the remote terminal device 602.
  • the information indicating the state includes, for example, information indicating the nature of the remote terminal device 602, information indicating the connection environment of the remote terminal device 602 to the network, information indicating the surrounding environment in which the remote terminal device 602 is located, and the like. Can be.
  • the information indicating the property is, for example, the type or identification number of the hardware provided or connected to the remote terminal device 602, the software executed by the remote terminal device 602, or the like.
  • the information indicating the property may include the information stored in the authentication security key provided or connected to the remote terminal device 602.
  • the information indicating the connection environment to the network is, for example, the IP address of the remote terminal device 602, the identifier of the connected wireless LAN network (for example, the service set ID, etc.) and the like.
  • the information indicating the surrounding environment is, for example, information indicating the position of the remote terminal device 602. The information indicating the position may be acquired by the remote terminal device 602 by a known method, for example.
  • the remote identifier can identify the remote terminal device 602 used by the connecter.
  • a unique terminal name or the like preset for each remote terminal device 602 can be used as the remote identifier.
  • the remote identifier is not limited to this.
  • a connection person name or the like preset for each connection person may be used as the remote identifier.
  • the remote identifier does not necessarily have to distinguish one device from another. That is, the relay processing device 10 may be set so that one remote identifier corresponds to each device group in which the conditions for relaying are the same.
  • the relay device receiving unit 20 receives information transmitted from the information processing device 100 and other devices via the network.
  • the relay device receiving unit 20 stores the received information in, for example, the relay device storage unit 11 so that the relay device processing unit 40 and the like can acquire the received information.
  • the relay device reception unit 30 receives the information received by the relay device reception unit 20.
  • the received information is stored in, for example, the relay device storage unit 11.
  • the relay device reception unit 30 includes a remote reception unit 31.
  • the remote reception unit 31 receives a remote identifier that identifies the remote terminal device 602 to be relayed. For example, information for requesting relay for communicating with the information processing system 100 (for example, a command including an identifier for identifying the information processing system 100 as the relay destination) is transmitted from the remote terminal device 602. And the relay device receiving unit 20 receives it. Then, the remote reception unit 31 receives the remote identifier that identifies the remote terminal device 602 that made the request, together with the information for requesting the relay.
  • the relay device processing unit 40 includes a session control unit 43, a first relay unit 45, a second relay unit 46, and a session information storage unit 49.
  • the relay device processing unit 40 performs various information processing operations using each unit of the relay processing device 10.
  • the session control unit 43 determines whether or not the conditions are satisfied for each of the first condition and the second condition corresponding to the remote identifier received by the remote reception unit 31. Then, based on the determination result, control is performed regarding the session for relaying the communication between the remote terminal device 602 corresponding to the remote identifier and the information processing system 900. More specifically, in the present embodiment, when the first condition corresponding to the remote identifier received by the remote reception unit 31 is satisfied, the session control unit 43 has the remote terminal device 602 corresponding to the remote identifier. The first encryption session for relaying the communication between the first information processing device 100 and the first information processing device 100 is started.
  • the session control unit 43 is between the remote terminal device 602 corresponding to the remote identifier and the second information processing device 100. Start a second encryption session to relay the communication of.
  • the first encryption session and the second encryption session are the remote terminal device 602 and the relay processing device by using a known technique such as E2EE (end-to-end encryption). Established between 10 and 10.
  • E2EE end-to-end encryption
  • Secure communication is possible via the Internet by transmitting and receiving encrypted information via a tunnel established between the remote terminal device 602 and the relay processing device 10.
  • the first relay unit 45 relays the communication between the remote terminal device 602 and the first information processing system 901 when the first encryption session is established. That is, the first relay unit 45 relays the communication between the remote terminal device 602 and the first information processing device 100 in the first encryption session. Specifically, for example, when the information transmitted from the remote terminal device 602 to the first information processing device 100 is transmitted and the relay device receiving unit 20 receives the information, the first relay unit 45 substitutes for the remote terminal device 602. The information is transmitted to the first information processing apparatus 100. Further, when the information is transmitted from the first information processing device 100 to the remote terminal device 602 and the relay device receiving unit 20 receives the information, the first relay unit 45 represents the information on behalf of the first information processing device 100. To the remote terminal device 602. The transmission may be performed using the relay device transmission unit 70.
  • the second relay unit 46 relays the communication between the remote terminal device 602 and the second information processing system 902 when the second encryption session is established. That is, the second relay unit 46 relays the communication between the remote terminal device 602 and the second information processing device 100 in the second encryption session. Specifically, for example, when the information transmitted from the remote terminal device 602 to the second information processing device 100 is transmitted and the relay device receiving unit 20 receives the information, the second relay unit 46 substitutes for the remote terminal device 602. The information is transmitted to the second information processing apparatus 100. Further, when the information is transmitted from the second information processing device 100 to the remote terminal device 602 and the relay device receiving unit 20 receives the information, the second relay unit 46 acts on behalf of the second information processing device 100 for the information. To the remote terminal device 602. The transmission may be performed using the relay device transmission unit 70.
  • the session information storage unit 49 stores the session information regarding the started first encryption session or the second encryption session in the database when the first encryption session or the second encryption session is started by the session control unit 43. accumulate.
  • the session information storage unit 49 records the session information in the distributed ledger database stored in the fourth external device 940.
  • the distributed ledger database is managed by using, for example, a distributed ledger technology using so-called blockchain technology or other time stamping technology using hashed information.
  • the session information includes, for example, a remote identifier of the remote terminal device 602, an identifier that identifies an information processing system 900 as a relay destination, and the like.
  • the relay device output unit 60 outputs information by displaying it on a display device, for example.
  • the information output method is not limited to this, and may be performed by outputting voice or the like from a speaker or the like.
  • the relay device transmission unit 70 transmits information acquired by, for example, the relay device processing unit 40 or the like via a network.
  • the above-mentioned relay device processing unit 40, processing unit 140, and terminal processing unit 640 can usually be realized from an MPU, a memory, or the like.
  • the processing procedure of the relay device processing unit 40, the processing unit 140, and the terminal processing unit 640 is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the input means that can be used for inputting the information that can be received by the relay device reception unit 30, the reception unit 130, and the terminal reception unit 630 may be any input means such as a numeric keypad, a keyboard, a mouse, or a menu screen.
  • the relay device reception unit 30, the reception unit 130, and the terminal reception unit 630 can be realized by a device driver of an input means such as a numeric keypad or a keyboard, a menu screen control software, or the like.
  • first external device receiving unit 917, the second external device receiving unit 927, the third external device receiving unit 937, the relay device receiving unit 20, the receiving unit 120, and the terminal receiving unit 620 are usually wireless or wired communication means. However, it may be realized by means for receiving a broadcast.
  • first external device transmission unit 916, the second external device transmission unit 926, the third external device transmission unit 936, the relay device transmission unit 70, the transmission unit 170, and the terminal transmission unit 670 are usually wireless or wired communication means. However, it may be realized by broadcasting means.
  • the relay device output unit 60, the output unit 160, and the terminal output unit 660 may or may not be considered to include an output device such as a display or a speaker.
  • the relay device output unit 60, the output unit 160, and the terminal output unit 660 can be realized by the driver software of the output device, the driver software of the output device, the output device, and the like.
  • the relay processing device 10, the information processing device 100, the first external device 910, the second external device 920, the third external device 930, and the fourth external device 940 may each be configured by one server. However, it may be configured by a plurality of servers that operate in cooperation with each other, or may be a computer or the like built in other devices.
  • the server may be a so-called cloud server, an ASP server, or the like, and it goes without saying that the type of server does not matter.
  • FIG. 14 is a diagram showing an example of condition information used in the relay processing device 10.
  • the condition information is, for example, the attribute value which is the setting information regarding the first condition and the attribute value which is the setting information regarding the second condition are recorded in association with the remote identifier. ..
  • setting information indicating a time zone in which connection is permitted is recorded for each of the four remote identifiers. That is, for example, for "XXXXX11", the first condition is the time from 8:50 to 17:40, and the second condition is the time from 12:50 to 17:40. .. Further, for example, for "XXXXX22”, the first condition is the time from 8:50 to 17:40, and the second condition is not set at any time (any time is the second condition). Does not meet).
  • the first condition is Monday, Tuesday, or Wednesday, and the second condition is Thursday or Friday.
  • the first condition is that no time is set, and the second condition is the time from 0:00 to 24:00 (that is, it is always possible to connect). be). Based on such condition information, it is possible to determine whether the first condition is satisfied or the second condition is satisfied.
  • FIG. 15 is a diagram showing another example of the condition information used in the relay processing device 10.
  • the values related to the location where the remote terminal device 602 is located and the like are recorded.
  • the first condition is that it is in the first base (a coordinate system indicating a position by a predetermined method, a place indicated by 34.68XX, 135.51XXX), and the second condition is the second. It is a base (a coordinate system indicating a position by a predetermined method, a place indicated by 34.73XX, 135.41XXX).
  • the information processing system 901 can be connected, and when it is determined that the remote terminal device 602 is located at the second site, the first information processing system 901 is connected. 2 It becomes possible to connect to the information processing system 902. That is, for example, a place approved in advance as a facility for using the first information processing system 901 as the first base is set, and the facility is approved in advance as a facility for using the second information processing system 902 as the second base. You can set the location etc. Further, for example, regarding "XXXXX22", the first condition is that the global IP address is within a predetermined range, and the second condition is not set at any time.
  • an IP address or the like corresponding to a pre-recognized Internet connection environment for using the first information processing system 901 can be set. Further, for example, "XXXXXX33" is set to be in the first base as the first condition, and "XXXXXX77” is set to be in the second base as the second condition. Based on such condition information, it is possible to determine whether the first condition is satisfied or the second condition is satisfied. For example, it is possible to connect to each information processing system 900 only when the remote terminal device 602 is in a pre-recognized situation, and the information processing system 900 can be maintained in a secure state.
  • FIG. 16 is a flowchart showing an example of the operation of the relay processing device 10.
  • Step S501 As shown in FIG. 16, the remote reception unit 31 receives a connection request to the information processing system 900 transmitted from the remote terminal device 602.
  • Step S502 The session control unit 43 acquires the first condition and the second condition corresponding to the remote identifier received by the remote reception unit 31 from the relay device storage unit 11.
  • Step S503 The session control unit 43 determines whether or not the first condition is satisfied. If it is determined that the first condition is satisfied, the process proceeds to step S504, and if not, the process proceeds to step S505.
  • Step S504 The session control unit 43 starts a first encryption session between the remote terminal device 602 corresponding to the remote identifier and the first relay unit 45. As a result, the first relay unit 45 can execute the relay operation of the communication between the remote terminal device 602 and the other device of the first information processing system 901. Then, the process proceeds to step S507.
  • Step S505 the session control unit 43 determines whether or not the second condition is satisfied. If it is determined that the second condition is satisfied, the process proceeds to step S506, and if not, the process proceeds to step S508.
  • Step S506 The session control unit 43 starts a second encryption session between the remote terminal device 602 corresponding to the remote identifier and the second relay unit 46.
  • the second relay unit 46 can execute the relay operation of the communication between the remote terminal device 602 and the other device of the second information processing system 902. Then, the process proceeds to step S507.
  • the session information storage unit 49 stores the session information regarding the first encryption session or the second encryption session started by the session control unit 43 in the distributed ledger database of the fourth external device 940.
  • Step S508 The session control unit 43 transmits to the remote terminal device 602 corresponding to the remote identifier that the connection is not possible.
  • step S507 or the process of step S508 When the process of step S507 or the process of step S508 is completed, a series of processes is completed.
  • FIG. 17 is a first sequence diagram showing an example of the operation of the communication system 1.
  • FIG. 18 is a second sequence diagram showing an example of the operation of the communication system 1.
  • a login request is sent from the remote terminal device 602 to the session control unit 43 (S11).
  • the session control unit 43 sends the fact that the access has been made to the session information storage unit 45.
  • the session information storage unit 45 records that the database has been accessed (S12).
  • the session control unit 43 transmits information for displaying a login page for logging in to the remote terminal device 602 (S13).
  • the remote terminal device 602 inputs information such as an account for using the communication system 1 on the login page and transmits the information to the session control unit 43 (S14).
  • the session control unit 43 performs a login process using the information received from the remote terminal device 602 (S15).
  • the session control unit 43 sends information (user information) of the connected person who has logged in to the session information storage unit 45, and the session information storage unit 45 records the user information in the database (S16). Further, the session control unit 43 transmits information to the remote terminal device 602 that the login is successful (S17).
  • the login process can be performed by various methods.
  • the session control unit 43 is composed of a module having a function as a relay server and a module having a function as an ID provider for performing so-called SAML authentication, and the latter module communicates with the remote terminal device 602.
  • the connection person using the remote terminal device 602 may be authenticated so that the connection person can log in.
  • another device included in the communication system 1 may be configured to function as an ID provider for performing SAML authentication.
  • the remote terminal device 602 transmits a connection request to the session control unit 43 (S20). Then, the session control unit 43 determines whether or not the first condition is satisfied or whether or not the second condition is satisfied. Then, the session control unit 43 transmits a connection request to the first relay unit 45 or the second relay unit 46 corresponding to the relay destination (S22). In this case, the remote terminal device 602 to the session control unit 43. Is transmitted, for example, information such as a connection ID (peer node id) indicating a connection destination, a service ID, and a terminal session ID. Further, information such as a connection ID, a service ID, and a control unit session ID is transmitted from the session control unit 43 to the relay units 45 and 46.
  • a connection ID peer node id
  • the first relay unit 45 requests the first information processing device 100 for a connection by TCP (S23).
  • the first information processing apparatus 100 responds to the first relay unit 45 (S24).
  • the first relay unit 45 responds to the session control unit 43 (S25), and the session control unit 43 responds to the remote terminal device 602 (S26).
  • the first relay unit 45 transmits information including, for example, the relay unit session ID and the previously received control unit session ID to the session control unit 43.
  • the session control unit 43 transmits information including, for example, the received control unit session ID and the previously received terminal session ID to the remote terminal device 602.
  • a session for communicating between the remote terminal device 602 and the first relay unit 45 is started.
  • the session information regarding the session is sent to the session information storage unit 49, and the session information storage unit 45 records it in the database (S27).
  • a handshake for performing encrypted communication is performed between the remote terminal device 602 and the first relay unit 45 (S28).
  • S28 a handshake for performing encrypted communication
  • a handshake for performing TLS communication is performed.
  • TLS Client Hello, TLS Server Hello a handshake for performing TLS communication (TLS Client Hello, TLS Server Hello) is performed.
  • the protocol for handshaking is not limited to this.
  • the remote terminal device 602 can transmit the information to the first information processing device 100 by transmitting the information to the first relay unit 45. That is, for example, the remote terminal device 602 requests the first relay unit 45 to make a connection by HTTPS (S41). The request is transmitted by performing temporary TLS communication in the encryption session. In response to this, the first relay unit 45 makes an HTTP connection request to the first information processing device 100 (S42). The first information processing apparatus 100 transmits a reply to the first relay unit 45 (S43). Then, the first relay unit 45 transmits a reply to the remote terminal device 602 (S44).
  • the remote terminal device 602 transmits an HTTP request to the first relay unit 45 (S45).
  • the HTTP request is transmitted by performing temporary TLS communication in the encrypted session.
  • the first relay unit 45 transmits an HTTP request to the first information processing device 100 (S46). That is, the first relay unit 45 transmits the HTTP request to the first information processing device 100 on behalf of the remote terminal device 602.
  • the first information processing apparatus 100 transmits an HTTP response to the first relay unit 45 in response to the HTTP request (S47). Then, the first relay unit 45 transmits the HTTP response to the remote terminal device 602 (S48). In this case, the HTTP response is transmitted from the first relay unit 45 to the remote terminal device 602 by performing temporary TLS communication in the encryption session. That is, the first relay unit 45 transmits the HTTP response to the remote terminal device 602 on behalf of the first information processing device 100.
  • requests and the like are not directly transmitted and received between the first information processing device 100 and the first relay unit 45, but a proxy server (Squid) that functions in any device of the first information processing system 901, for example. Etc.) may be used to send and receive requests and the like to and from the first relay unit 45.
  • a proxy server that functions in any device of the first information processing system 901, for example. Etc.
  • the relay device processing unit 40 enables the remote terminal device 602 to function in the information processing system 900 of the relay destination in the same manner as the local terminal device 601. Perform tunneling for. Further, by transmitting and receiving encrypted information between the remote terminal device 602 and the relay processing device 10, the remote terminal device 602 can be securely participated in each information processing system 900 via the Internet. be able to.
  • each information processing system 900 From the remote terminal device 602 in a remote location, it is possible to safely participate in each information processing system 900 in the same manner as the local terminal device 601. In each information processing system 900, it is stored in each of two or more databases.
  • the information processing device 100 can access the user information. Since the access is performed according to the access authority of the requester, the request by two or more requesters having different access authority can be appropriately handled. That is, the remote terminal device 602 can appropriately handle the user information of two or more databases stored securely and distributed, which is highly convenient.
  • Each information processing system 900 can be easily connected while maintaining a secure state.
  • the information processing system 900 to be engaged can be switched depending on the time according to the setting of the condition information, and the information processing system 900 can be switched according to the situation in which the remote terminal device 602 is used, which makes the communication system 1 convenient. It gets higher.
  • the relay processing device 10 may function in the same manner. In such a case, by uniformly setting the condition information for each device belonging to the third private network, it is possible to uniformly control which information processing system these devices can connect to. can. Such a thing can be applied to, for example, an organization having a plurality of remote terminal devices 602 connected to each other in a private network.
  • an organization having a plurality of remote terminal devices 602 and its operators may switch the information processing system 900 to be connected according to a time zone or the like to safely carry out work using the information processing system 900.
  • the organization connected to the information processing system 900 is switched according to the time zone and the like, and the business using the information processing system 900 is safely executed (business execution is outsourced). )be able to.
  • the same remote identifier may be configured to correspond to each device connected to the third private network.
  • the processing in this embodiment may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded on a recording medium such as a CD-ROM and disseminated.
  • the software that realizes the relay processing device 10 in the present embodiment is the following program. That is, the program of the relay processing device 10 corresponds to the remote reception unit 31 that accepts the remote identifier that identifies the remote terminal device 602 to be relayed, and the remote identifier that the remote reception unit 31 has received. When the first condition is satisfied, the first encryption session for relaying the communication between the remote terminal device 602 and the first information processing device 100 is started, and the remote identifier received by the remote reception unit 31 is used.
  • the session control unit 43 that starts the second encryption session for relaying the communication between the remote terminal device 602 and the second information processing device 100 when the corresponding second condition is satisfied, and the first encryption session.
  • the first relay unit 45 that relays the communication between the remote terminal device 602 and the first information processing device 100, and the communication between the remote terminal device 602 and the second information processing device 100 in the second encryption session. It is a program that functions as a second relay unit 46 for relaying.
  • the communication system 1 may be operated as follows.
  • FIG. 19 is a flowchart showing a modified example of the operation of the relay processing device 10.
  • Step S511 As shown in FIG. 19, the remote reception unit 31 receives a connection request to the designated information processing system 900 transmitted from the remote terminal device 602.
  • the connection request to the designated information processing system 900 includes, but is not limited to, a system identifier that identifies the designated information processing system 900, for example.
  • Step S512 The session control unit 43 acquires from the relay device storage unit 11 the first condition and the second condition corresponding to the remote identifier received by the remote reception unit 31 that correspond to the received system identifier. do. That is, the first condition is acquired when the connection request to the first information processing system 901 is made, and the second condition is acquired when the connection request to the second information processing system 902 is made. ..
  • Step S516 The session control unit 43 determines whether or not the acquired conditions are satisfied. If it is determined that the condition is satisfied, the process proceeds to step S514, and if not, the process proceeds to step S516.
  • Step S514 The session control unit 43 starts an encryption session between the remote terminal device 602 corresponding to the remote identifier and the relay units 45 and 46 corresponding to the system identifier. As a result, the relay units 45 and 46 can execute the relay operation of the communication between the remote terminal device 602 and the device of the designated information processing system 900.
  • the session information storage unit 49 stores the session information regarding the first encryption session or the second encryption session started by the session control unit 43 in the distributed ledger database of the fourth external device 940.
  • Step S566 The session control unit 43 transmits to the remote terminal device 602 corresponding to the remote identifier that the connection is not possible.
  • step S515 or the process of step S516 When the process of step S515 or the process of step S516 is completed, a series of processes is completed.
  • FIG. 20 is an overview diagram of the computer system 800 in the above embodiment.
  • FIG. 21 is a block diagram of the computer system 800.
  • the computer system 800 includes a computer 801 including a CD-ROM drive, a keyboard 802, a mouse 803, and a monitor 804.
  • the computer 801 is connected to the MPU 8013, the bus 8014 connected to the CD-ROM drive 8012 and the like, the ROM 8015 for storing programs such as boot-up programs, and the MPU 8013. It includes a RAM 8016 for temporarily storing program instructions and providing a temporary storage space, and a hard disk 8017 for storing application programs, system programs, and data.
  • the computer 801 may further include a network card that provides a connection to the LAN.
  • the program for causing the computer system 800 to execute the functions of the information processing apparatus and the like according to the above-described embodiment may be stored in the CD-ROM 8101, inserted into the CD-ROM drive 8012, and further transferred to the hard disk 8017.
  • the program may be transmitted to the computer 801 over a network (not shown) and stored on the hard disk 8017.
  • the program is loaded into RAM 8016 at run time.
  • the program may be loaded directly from the CD-ROM 8101 or the network.
  • the program does not necessarily have to include an operating system (OS) or a third-party program that causes the computer 801 to execute the functions of the information processing apparatus and the like according to the above-described embodiment.
  • the program only needs to include a part of instructions that call the appropriate function (module) in a controlled manner and obtain the desired result. It is well known how the computer system 800 works, and detailed description thereof will be omitted.
  • processing performed by hardware for example, processing performed by a modem or interface card in the transmission step (only performed by hardware). Processing that is not done) is not included.
  • the number of computers that execute the above program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • the two or more components existing in one device may be physically realized by one medium.
  • each process may be realized by centralized processing by a single device (system), or may be realized by distributed processing by a plurality of devices. (In this case, it is possible to grasp the entire system composed of a plurality of devices that perform distributed processing as one "device").
  • the transfer of information performed between the components is performed by, for example, one of the components when the two components that transfer the information are physically different. It may be performed by outputting information and accepting information by the other component, or if the two components that pass the information are physically the same, one component. It may be performed by moving from the processing phase corresponding to the other component to the processing phase corresponding to the other component.
  • information related to the processing executed by each component for example, information received, acquired, selected, generated, transmitted, or received by each component. Further, information such as threshold values, mathematical formulas, addresses, etc. used by each component in processing may be temporarily or for a long time held in a recording medium (not shown), even if it is not specified in the above description. Further, each component or a storage unit (not shown) may store information on a recording medium (not shown). Further, the information may be read from the recording medium (not shown) by each component or a reading unit (not shown).
  • the information used in each component or the like for example, the information such as the threshold value and the address used in the processing by each component and various setting values may be changed by the user, the above-mentioned
  • the user may or may not be able to change the information as appropriate.
  • the change is realized by, for example, a reception unit (not shown) that receives a change instruction from the user and a change unit (not shown) that changes the information in response to the change instruction. You may.
  • the reception unit may accept the change instruction from, for example, an input device, information transmitted via a communication line, or information read from a predetermined recording medium. ..
  • At least one information processing system may be a server client system or the like realized by searching or operating a database stored in a server from a terminal device.
  • the communication system according to the present invention has an effect that an information information system configured in a private network can be easily and safely used from a remote terminal device while maintaining a safe state. , Useful as a communication system, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】従来の通信システムにおいては、遠隔にある端末装置からプライベートネットワークにおいて構成されている情報処理システムを安全な状態を維持したまま使用することが困難であった。 【解決手段】第1情報処理装置と、第2情報処理装置と、中継処理装置10とを備え、中継処理装置10は、リモート端末装置602に対応する第1条件又は第2条件が満たされる場合にそれぞれ暗号化セッションを開始するセッション制御部43と、第1暗号化セッションにおいてリモート端末装置602と情報処理装置との間の通信を中継する第1中継部45と、第2暗号化セッションにおいてリモート端末装置602と第2情報処理装置との間の通信を中継する第2中継部46とを備える、通信システム1により、遠隔にある端末装置からプライベートネットワークにおいて構成されている情報処理システムを容易にかつ安全な状態を維持したまま使用することができる。

Description

通信システム、中継処理装置、情報処理方法、及びプログラム
 本発明は、2以上の情報処理システムと中継処理装置とを有する通信システム、中継処理装置、情報処理方法、及びプログラムに関するものである。
 従来、例えば顧客管理データベースなどのデータベースの内容を参照するために利用される情報処理装置がある(例えば、下記特許文献1参照)。
特開2007-060225号公報
 近年、テレワークの積極的な導入など、所定のオフィス等から離れた遠隔地においても労働者が業務に携わることができるようにする施策に注目が集まっている。このような施策によれば、労働者がオフィス等に出勤したり集合したりすることなく業務に携わることができるようになるため、災害発生時などに備えた事業継続計画においても有効な解決策の一つとなりうる。また、このような施策は、いわゆる働き方改革が推進される中で、ワークシェアリングの実現や、働き手の間で意識が高まっているワークライフバランスの充実化にも有用である。
 ところで、例えば特許文献1に記載されている情報処理装置が用いられているような情報処理システムは、セキュリティ上の観点から、外部からのアクセスされるリスクが小さいネットワークにおいて構成されることが多い。このような情報処理システムを、セキュアな状態を維持したままで遠隔地から参加する端末装置から使用できるようにするためには、例えば当該ネットワークに安全に接続可能な仮想プライベートネットワークの構築を行うなど、種々の手当を行わなければならないという課題がある。
 このように、遠隔地にある端末装置からプライベートネットワーク等において構成されている情報処理システムを容易にかつ安全な状態を維持したまま使用することができるようにすることが求められている。
 本第一の発明の通信システムは、第1プライベートネットワークにおいて構成されている第1情報処理システムの第1情報処理装置と、第2プライベートネットワークにおいて構成されている第2情報処理システムの第2情報処理装置と、第1情報処理装置に通信可能に接続されており、かつ、第2情報処理装置に通信可能に接続されている中継処理装置とを備え、中継処理装置は、接続者が用いるリモート端末装置であって第1プライベートネットワーク及び第2プライベートネットワークとは異なるネットワークを介して中継処理装置に接続されるリモート端末装置を識別するリモート識別子と、リモート端末装置と第1情報処理装置との中継を行う条件である予め設定された第1条件と、リモート端末装置と第2情報処理装置との中継を行う条件である予め設定された第2条件とが対応付けられた組が2以上格納される中継装置格納部と、中継対象となるリモート端末装置を識別するリモート識別子を受け付けるリモート受付部と、リモート受付部が受け付けたリモート識別子に対応する第1条件が満たされる場合にリモート端末装置と第1情報処理装置との間の通信を中継するための第1暗号化セッションを開始すると共に、リモート受付部が受け付けたリモート識別子に対応する第2条件が満たされる場合にリモート端末装置と第2情報処理装置との間の通信を中継するための第2暗号化セッションを開始するセッション制御部と、第1暗号化セッションにおいてリモート端末装置と第1情報処理装置との間の通信を中継する第1中継部と、第2暗号化セッションにおいてリモート端末装置と第2情報処理装置との間の通信を中継する第2中継部とを備える、通信システムである。
 かかる構成により、遠隔にあるリモート端末装置からプライベートネットワークにおいて構成されている情報処理システムを容易にかつ安全な状態を維持したまま使用することができる。
 また、本第二の発明の通信システムは、第一の発明に対して、セッション制御部により第1暗号化セッション又は第2暗号化セッションが開始された場合に、開始された第1暗号化セッション又は第2暗号化セッションに関するセッション情報をデータベースに蓄積するセッション情報蓄積部をさらに備える、通信システムである。
 かかる構成により、リモート端末装置と情報処理装置との間で暗号化セッションが開始されたことが記録されることにより、不正アクセス等が発生することを防止することができ、かつ、情報処理システムがセキュアに稼働していることを容易に確認することができる。
 また、本第三の発明の通信システムは、第二の発明に対して、データベースは、通信システムにおいて実現される分散型台帳データベースである、通信システムである。
 かかる構成により、リモート端末装置と情報処理装置との間で暗号化セッションが開始されたことが確実に記録されることにより、不正アクセス等が発生することを防止することができ、かつ、情報処理システムがセキュアに稼働していることを容易に確認することができる。
 また、本第四の発明の通信システムは、第一から三のいずれかの発明に対して、第1情報処理システムは、2以上の格納部に分散して格納されている2以上のデータベースとを有し、2以上のデータベースのそれぞれには、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、一のユーザについての第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられて格納されており、第1情報処理装置は、ユーザ情報が格納されるユーザ情報格納部と、2以上のデータベースのそれぞれに含まれる第1ユーザ情報を、各第1ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、ユーザ情報格納部に蓄積するユーザ情報蓄積部と、ユーザ識別子に対応付けられた、第2ユーザ情報にアクセスするためのアクセス要求情報を受け付けるアクセス要求情報受付部と、アクセス要求情報受付部が受け付けたアクセス要求情報に対応付けられたユーザ識別子に対応するレコード識別子に基づいて、対応するデータベースに格納されている第2ユーザ情報にアクセスするアクセス制御部とを有する、通信システムである。
 かかる構成により、リモート端末装置からのアクセス要求に対して、2以上のデータベースのそれぞれに格納されている情報に対して適切にアクセスさせることができる。
 また、本第五の発明の通信システムは、第四の発明に対して、アクセス制御部によるアクセス記録を第1情報処理システムにおいて実現される分散型台帳データベースに蓄積するアクセス記録蓄積部をさらに備える、通信システムである。
 かかる構成により、リモート端末装置からのアクセス要求についてのアクセス記録が確実に記録されることにより、不正アクセス等が発生することを防止することができ、かつ、情報処理システムがセキュアに稼働していることを容易に確認することができる。
 また、本第六の発明の通信システムは、第一から三のいずれかの発明に対して、第1情報処理システムは、2以上の格納部に分散して格納されている2以上のデータベースとを有し、第1情報処理装置は、ユーザ情報が格納されるユーザ情報格納部と、2以上のデータベースのそれぞれに格納されている一のユーザに関するユーザ識別子を含むユーザ情報を、各ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、ユーザ情報格納部に蓄積するユーザ情報蓄積部と、ユーザ情報についての、要求者から入力された検索要求情報を受け付ける検索要求情報受付部と、検索要求情報受付部により受け付けられた検索要求情報に基づいてユーザ情報の検索を行う検索実行部と、検索実行部による検索結果を出力する検索結果出力部と有する、通信システムである。
 かかる構成により、リモート端末装置からのアクセス要求に対して、2以上のデータベースのそれぞれに格納されている情報を適切に検索することができる。
 また、本第七の発明の通信システムは、第一から六のいずれかの発明に対して、第1条件及び第2条件の少なくとも一方は、中継対象となるリモート端末装置が接続を許可される時間に関する条件を含む、通信システムである。
 かかる構成により、時間に関する条件に応じて、リモート端末装置が参加可能な情報処理システムを変更させることができる。
 また、本第八の発明の通信システムは、第一から七のいずれかの発明に対して、第1条件及び第2条件の少なくとも一方は、中継対象となるリモート端末装置の状態を示す情報に関する条件を含む、通信システムである。
 かかる構成により、リモート端末装置の状態を示す情報に関する条件に応じて、リモート端末装置が参加可能な情報処理システムを変更させることができる。
 また、本第九の発明の中継処理装置は、第1プライベートネットワークにおいて構成されている第1情報処理システムの第1情報処理装置と、第2プライベートネットワークにおいて構成されている第2情報処理システムの第2情報処理装置と共に通信システムを構成する中継処理装置であって、第1情報処理装置に通信可能に接続されており、かつ、第2情報処理装置に通信可能に接続されており、接続者が用いるリモート端末装置であって第1プライベートネットワーク及び第2プライベートネットワークとは異なるネットワークを介して中継処理装置に接続されるリモート端末装置を識別するリモート識別子と、リモート端末装置と第1情報処理装置との中継を行う条件である予め設定された第1条件と、リモート端末装置と第2情報処理装置との中継を行う条件である予め設定された第2条件とが対応付けられた組が2以上格納される中継装置格納部と、中継対象となるリモート端末装置を識別するリモート識別子を受け付けるリモート受付部と、リモート受付部が受け付けたリモート識別子に対応する第1条件が満たされる場合にリモート端末装置と第1情報処理装置との間の通信を中継するための第1暗号化セッションを開始すると共に、リモート受付部が受け付けたリモート識別子に対応する第2条件が満たされる場合にリモート端末装置と第2情報処理装置との間の通信を中継するための第2暗号化セッションを開始するセッション制御部と、第1暗号化セッションにおいてリモート端末装置と第1情報処理装置との間の通信を中継する第1中継部と、第2暗号化セッションにおいてリモート端末装置と第2情報処理装置との間の通信を中継する第2中継部とを備える、中継処理装置である。
 かかる構成により、リモート端末装置からプライベートネットワークにおいて構成されている情報処理システムを容易にかつ安全な状態を維持したまま使用することができる。
 本発明による通信システム、中継処理装置、情報処理方法、及びプログラムによれば、遠隔にある端末装置からプライベートネットワークにおいて構成されている情報処理システムを容易にかつ安全な状態を維持したまま使用することができる。
本実施の形態に係る通信システムの概要を示す図 同通信システムの情報処理システムの概要を示す図 同情報処理システムのブロック図 同情報処理装置のブロック図 同端末装置のブロック図 同情報処理装置の動作の一例について説明する図 同情報処理装置の動作の一例を示すフローチャート 同情報処理装置のインデックス情報生成蓄積処理の一例を示すフローチャート 同情報処理装置の検索処理の一例を示すフローチャート 同情報処理装置のアクセス処理の一例を示すフローチャート 同情報処理装置の要求者情報格納部に格納されている要求者情報の一具体例を示す図 同情報処理装置の権限情報格納部に格納されている権限情報の一具体例を示す図 本実施の形態における中継処理装置のブロック図 同中継処理装置において用いられる条件情報の一例を示す図 同中継処理装置において用いられる条件情報の他の一例を示す図 同中継処理装置の動作の一例を示すフローチャート 同通信システムの動作の一例を示す第1のシーケンス図 同通信システムの動作の一例を示す第2のシーケンス図 同中継処理装置の動作の一変形例を示すフローチャート 上記実施の形態におけるコンピュータシステムの概観図 同コンピュータシステムのブロック図
 以下、通信システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 なお、実施の形態の説明において用いる用語は、一般的には次のように定義される。なお、これらの用語の語義は常にここに示されるように解釈されるべきではなく、例えば以下の実施の形態の説明において個別に説明されている場合にはその説明も踏まえて解釈されるべきである。
 要求者とは、情報処理システムを利用する者をいう。例えば、要求者は、情報処理システムを利用してユーザに関する情報の閲覧や操作を行う者をいう。ユーザとは、ここでは、専ら、情報処理システムを利用して行われる業務によりサービス等を受ける対象者(顧客)をいう。接続者とは、リモート端末装置を使用して、情報処理システムを利用する要求者である。
 ある事項について識別子とは、当該事項を一意に示す文字又は符号等である。識別子は、例えば、IDであるが、対応する事項を識別しうる情報であれば種類は問わない。すなわち、識別子は、それが示すものそのものの名前であってもよいし、一意に対応するように符号を組み合わせたものであってもよい。2以上の情報(例えば、データベースに記録されているレコードの属性値など)の組合せが識別子として用いられてもよい。
 ユーザ情報とは、ユーザに関する情報をいう。ユーザ情報には、例えば、そのユーザを識別するユーザ識別子、ユーザの氏名、ユーザの住所に関する情報(住所の所番地であってもよいし、経度緯度などを示すような位置情報などであってもよい)など、当該ユーザに対応する種々の情報が含まれうる。ユーザ情報は、データベースにおいてレコードとして記録されていることがあり、その場合、ユーザ情報に含まれる各情報はレコードの属性値として含まれうる。
 取得とは、ユーザ等により入力された事項を取得することを含んでいてもよいし、自装置又は他の装置に記憶されている情報(予め記憶されている情報であってもよいし当該装置において情報処理が行われることにより生成された情報であってもよい)を取得することを含んでいてもよい。他の装置に記憶されている情報を取得するとは、他の装置に記憶されている情報をAPI経由などで取得することを含んでいてもよいし、他の装置により提供されている文書ファイルの内容(ウェブページの内容なども含む)を取得することを含んでいてもよい。
 また、情報の取得には、いわゆる機械学習の手法を利用するようにしてもよい。機械学習の手法の利用については、例えば次のようにすることができる。すなわち、特定の種類の入力情報を入力とし、取得したい種類の出力情報を出力とする学習器を、機械学習の手法を用いて構成する。例えば、予め、入力情報と出力情報との組を2以上用意し、当該2組以上の情報を機械学習の学習器を構成するためのモジュールに与えて学習器を構成し、構成した学習器を格納部に蓄積する。なお、学習器は分類器ということもできる。なお、機械学習の手法としては、例えば、深層学習、ランダムフォレスト、SVR等、問わない。また、機械学習には、例えば、fastText、tinySVM、random forest、TensorFlow等の各種の機械学習フレームワークにおける関数や、種々の既存のライブラリを用いることができる。
 情報について、選択する、決定する、とは、ある情報を取得することや、ある情報へのリンクを取得することや、ある情報に関するフラグを立てることなどを含む概念である。
 情報を出力するとは、ディスプレイへの表示、プロジェクタを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。具体的には、例えば、情報のウェブページへの表示を可能とすることや、電子メール等として送信することや、印刷するための情報を出力することなどを含む。
 情報の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、他の装置等から有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
 情報処理装置等に格納されている各種の情報について、更新とは、格納されている情報の変更のほか、格納されている情報に新たな情報が追加されることや、格納されている情報の一部又は全部が消去されることなどを含む概念である。
 (実施の形態)
 本実施の形態の概要は、次の通りである。すなわち、本実施の形態において、通信システム1は、2つの情報処理システム901,902と、中継処理装置10とを有するものである。中継処理装置10は、第1条件及び第2条件に基づいて2つの情報処理システム901,902のうち対応するものに中継を行うための暗号化セッションを開始する。
 また、本実施の形態において、典型的な例として、各情報処理システム901,902は、2以上のデータベースが分散して配置されているものである。2以上のデータベースのそれぞれには、互いに対応付けられた第1ユーザ情報と第2ユーザ情報とを含むユーザ情報が格納されている。情報処理システム901,902の情報処理装置100は、第1ユーザ情報に対応するアクセス要求に基づいて、対応する第2データベースに格納されている第2ユーザ情報にアクセスできるようにする。このとき、情報処理装置100は、アクセスを要求した要求者の権限情報に基づいて、第2ユーザ情報へのアクセスに関する制御を行うようにしてもよく、例えば、権限情報に基づいて、一部の属性値へのアクセスを制限すること、及びアクセス方法を制限すること、の少なくとも一方を行う。権限情報は、2以上のデータベース毎に規定されていてもよい。また、第2ユーザ情報へのアクセス記録は、分散型台帳データベースに蓄積されるようにしてもよい。
 また、本実施の形態においては、情報処理システム901,902は、要求者から入力された検索要求情報に基づいて第1ユーザ情報又は第2ユーザ情報のいずれかであるユーザ情報を検索し、出力するようにしてもよい。ここで、検索結果に含まれるユーザ情報は、取得元のデータベースを視覚的に示すための識別情報と対応付けて出力するようにしてもよい。なお、要求者毎に異なる検索対象について検索を行うようにしてもよく、例えば、要求者に対応するインデックス情報を用いて検索を行ったり、要求者に対応して選択したデータベースのユーザ情報又はそれに由来する情報を検索対象として検索を行ったりしてもよい。また、要求者に応じて、要求者に表示する受付画面の内容を変更するようにしてもよい。
 以下、このように構成された通信システム1の構成について説明する。
 図1は、本実施の形態に係る通信システム1の概要を示す図である。図2は、同通信システム1の情報処理システム900の概要を示す図である。
 図1に示されるように、本実施の形態において、通信システム1は、中継処理装置10と、リモート端末装置602と、第1情報処理システム901と、第2情報処理システム902と、第4外部装置940とを含んでいる。
 本実施の形態において、第1情報処理システム901と、第2情報処理システム902とは、互いに略同様のハードウェア構成、ソフトウェア構成を有しているものとする。両者は互いに異なる独立した情報処理システムであるが、情報処理システム901,902のうち1つに含まれる装置が他の1つにおいても含まれていてもよい。この場合、同装置は、第1情報処理システム901を構成する装置としての動作と第2情報処理システム902を構成する装置としての動作とを独立して行うようにすればよい。
 以下の説明において、第1情報処理システム901と、第2情報処理システム902とを、互いに区別せずに情報処理システム900と称することがある。
 図2に示されるように、各情報処理システム900は、第1外部装置910、第2外部装置920、第3外部装置930、情報処理装置100、及びローカル端末装置601などを備える。
 本実施の形態において、第1外部装置910と第2外部装置920とは、例えば、互いに異なる事業に用いられている装置である。第1外部装置910は、例えば、家庭用などの液化石油ガス(LPG)の供給事業(例えば、ユーザに対しては、ガスボンベの配送業務、検針業務、設備の保安業務等の業務が行われる。)に用いられる装置である。他方、第2外部装置920は、例えば、各戸への上水道の供給事業(例えば、ユーザに対しては、水道使用量の検針業務、料金の徴収等の出納業務等の業務が行われる。)に用いられる装置である。なお、これに限られず、例えば、ガスや水道の供給事業に付随して、機器の販売や維持等の事業にも用いられる装置であってもよい。なお、これらの事業は、一の組織体によって運営されるものであってもよいし、別会社など別々の組織体によって運営されるものであってもよい。また、第1外部装置910と第2外部装置920とは、例えば、互いに異なる組織体によって用いられている装置であって、互いに同事業に用いられている装置であってもよい。
 第3外部装置930は、例えば、ブロックチェーン技術などを利用した分散型台帳データベースの管理に用いられるノードである。第3外部装置930は、ネットワークを介して接続されている他の機器等と共に分散型台帳データベースの保持・管理等を行う。
 なお、本実施の形態においては、第4外部装置940も、第3外部装置930と同様に構成されている。すなわち、第4外部装置940は、ネットワークを介して接続されている他の機器等と共に、1つのノードとして、分散型台帳データベースの保持・管理等を行う。なお、第1情報処理システム901の第3外部装置930が管理する分散型台帳データベースと、第2情報処理システム902の第3外部装置930が管理する分散型台帳データベースと、第4外部装置940が管理する分散型台帳データベースとは、互いに同一のものであってもよいし、いずれか2つの分散型台帳データベースが同一のものであってもよいし、全ての分散型台帳データベースが別々のものであってもよい。また、分散型台帳データベースにブロックチェーン技術が用いられる場合、いわゆるパブリックブロックチェーンを構築して分散型台帳データベースが実現されるようにしてもよいし、許可された複数の装置のみが参加して構成される許可型のブロックチェーンであってもよい。互いに異なる特定の主体によりそれぞれ管理されるような複数の装置のみが参加して構成される許可型のブロックチェーンを、コンソーシアム型ブロックチェーンと呼んでもよい。
 本実施の形態において、第1情報処理システム901に含まれる各装置は、第1のプライベートネットワークを介して互いに通信可能である。すなわち、第1情報処理システム901は、第1のプライベートネットワークにおいて構成されている。また、第2情報処理システム902に含まれる各装置は、第2のプライベートネットワークを介して互いに通信可能である。すなわち、第2情報処理システム902は、第2のプライベートネットワークにおいて構成されている。第1のプライベートネットワークや第2のプライベートネットワークは、例えば、ローカルエリアネットワーク(LAN)などの物理的に独立したネットワークであるが、これに限られない。例えば、物理的な接続形態にかかわらず仮想的に構築されたネットワークセグメント等であってもよい。なお、各情報処理システム900において、いくつかの装置が、インターネットなどのパブリックネットワークを経由してプライベートネットワークに通信可能に接続されていてもよい。例えば、第1外部装置910や第2外部装置920は、それぞれ、別々の組織からインターネット等を介して情報処理システム900に接続されるようにしてもよい。
 図1に示されるように、通信システム1において、リモート端末装置602と、中継処理装置10と、第4外部装置940とは、それぞれ、第1プライベートネットワーク及び第2プライベートネットワークとは異なるネットワークを介して通信可能である。すなわち、リモート端末装置602は、第1プライベートネットワーク及び第2プライベートネットワークとは異なるネットワークを介して、中継処理装置10に接続されうる。ここで、第1プライベートネットワーク及び第2プライベートネットワークとは異なるネットワークは、例えばインターネットであるが、これに限られない。
 本実施の形態において、中継処理装置10は、第1のプライベートネットワークに通信可能に接続されている。すなわち、中継処理装置10は、第1情報処理システム901に接続されている。また、中継処理装置10は、第2のプライベートネットワークに通信可能に接続されている。すなわち、中継処理装置10は、第2情報処理システム902に接続されている。なお、中継処理装置10と各プライベートネットワークとは、他の情報処理装置等を介して通信可能に接続されていてもよい。
 通信システム1の構成や各情報処理システム900の構成はこれに限られるものではない。通信システム1や情報処理システム900に含まれるそれぞれの装置の数は問わないし、他の装置が通信システム1や情報処理システム900に含まれていてもよい。
 本実施の形態において、リモート端末装置602と、ローカル端末装置601とは、互いに同様の構成を有している装置である。以下の説明において、リモート端末装置602と、ローカル端末装置601とを、互いに区別せずに端末装置600と称することがある。なお、図1及び図2においては、例えばラップトップコンピュータなどのパーソナルコンピュータ(PC)などが端末装置600として示されているが、端末装置600として用いられるのは、いわゆるスマートフォンなどの携帯情報端末装置やタブレット型の情報端末装置などであってもよいし、これら以外の装置であってもよい。要求者は、端末装置600を利用して、情報処理システム900を利用することができる。以下の例においては、端末装置600として、キーボードやディスプレイ等を有するいわゆるパーソナルコンピュータが用いられることを想定して説明されているが、これに限られるものではない。
 本実施の形態において、中継処理装置10は、リモート端末装置602との間で、暗号化セッションを構築しうる。暗号化セッションは、リモート端末装置602と、第1情報処理システム901及び第2情報処理システム902の一方との通信を中継するための通信経路である。このような中継処理装置10の動作については、後述する。リモート端末装置602は、暗号化セッションが開始されることにより、中継処理装置10を通じて、第1情報処理システム901又は第2情報処理システム902おいて、ローカル端末装置601と同じように機能することができる。
 なお、一例として、通信システム1において、各情報処理システム900を構成する情報処理装置100やローカル端末装置601は、所定のデータセンタやコールセンタなど、情報処理システム900を用いた所定の業務を行うための事業所等の拠点に配置されうる。また、リモート端末装置602は、例えば、住居や所定のサテライトオフィスなど、各情報処理システム900が配置される拠点とは物理的・地理的に離れた場所にある、接続者の居所に配置されうる。なお、これに限られず、各装置が上述のように他の装置と接続されていればよく、種々の場所で用いられればよい。例えば、各情報処理システム900を構成する情報処理装置100やローカル端末装置601は、複数の拠点に分散していてもよい。また、リモート端末装置602は、接続される情報処理システム900と同一の拠点に配置されていてもよく、この場合でもリモート端末装置602がプライベートネットワークとは異なるネットワークを介して中継処理装置10に接続可能であればよい。また、リモート端末装置602は、第1情報処理システム901や第2情報処理システム902で用いられているものとは異なる第3プライベートネットワーク(図示せず)に接続されている端末装置であってもよい。すなわち、この場合、リモート端末装置602は、第3プライベートネットワークに接続されたまま、第3プライベートネットワークの外のインターネット等のネットワークを介して、中継処理装置10に接続されるようにすればよい。
 なお、以下の説明において、第1情報処理システム901に含まれる情報処理装置100を第1情報処理装置100ということがある。また、第2情報処理システム902に含まれる情報処理装置100を第2情報処理装置100ということがある。
 通信システム1の説明に先立って、情報処理システム900の構成について説明する。
 図3は、同情報処理システム900のブロック図である。図4は、同情報処理装置100のブロック図である。図5は、同端末装置600のブロック図である。
 まず、第1外部装置910、第2外部装置920、及び第3外部装置930の構成について説明する。
 図3に示されるように、第1外部装置910は、第1外部装置格納部911、第1外部装置処理部915、第1外部装置送信部916、及び第1外部装置受信部917を備える。第1外部装置910は、例えば一般的な構成を有するサーバ装置であるが、これに限られず、他の形態の電子計算機であってもよいし、複数の装置が互いに接続されて実現される装置であってもよい。第1外部装置910は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
 第1外部装置格納部911は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第1外部装置格納部911には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が第1外部装置格納部911で記憶されるようになってもよく、通信回線等を介して送信された情報が第1外部装置格納部911で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第1外部装置格納部911で記憶されるようになってもよい。
 第1外部装置格納部911は、第1データベース格納部912を備える。
 第1データベース格納部912には、第1データベースが格納される。第1データベースについては、後述する。
 第1外部装置処理部915は、通常、MPUやメモリ等から実現されうる。第1外部装置処理部915の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。第1外部装置処理部915は、第1外部装置910において、例えば情報の取得などを行う。例えば、取得したSQL文などに基づいて、第1外部装置格納部911に格納されている種々のデータベースの操作を行う。
 第1外部装置送信部916は、第1外部装置処理部915によって第1外部装置格納部911などから読み出された情報を送信する。例えば、第1外部装置送信部916は、第1外部装置処理部915の動作に基づいて第1外部装置格納部911から読み出されたユーザ情報を、情報処理装置100や端末装置600等に、ネットワークを介して送信する。
 第1外部装置受信部917は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。第1外部装置受信部917は、受信した情報を、例えば第1外部装置格納部911に蓄積し、第1外部装置処理部915などが取得できるようにする。
 第2外部装置920も、第1外部装置910と同様に構成されたサーバ装置である。すなわち、第2外部装置920は、第1外部装置格納部911と同様のハードウェア構成を有する第2外部装置格納部921を備える。また、第2外部装置920は、第2外部装置処理部925、第2外部装置送信部926、及び第2外部装置受信部927を備える。第2外部装置処理部925、第2外部装置送信部926、及び第2外部装置受信部927は、それぞれ第1外部装置処理部915、第1外部装置送信部916、及び第1外部装置受信部917と同様に構成されており、その詳細な説明を省略する。
 第2外部装置格納部921は、第2データベース格納部922を備える。第2データベース格納部922には、第2データベースが格納される。
 本実施の形態において、第1データベースと第2データベースとのそれぞれは、2以上のユーザ(顧客)についてのユーザ情報を含む。本実施の形態において、ユーザ情報には、少なくともユーザを識別するユーザ識別子とユーザに関する1以上の属性値(ユーザ属性値ということがある)とが含まれる。例えば、ユーザ情報には、ユーザを一意に示す符号からなるユーザ識別子と、ユーザの名前、住所、電話番号等の情報とが含まれる。ユーザ情報は、各ユーザについて、これらの情報の他に、他のユーザ属性値を含んでいてもよい。ユーザ属性値には、例えば、ユーザ位置情報(ユーザの位置情報;例えば、ユーザ宅の住所や緯度経度情報等)、ユーザに関して記録されたメモ情報等、種々のものが含まれうる。なお、ユーザの名前以外のものがユーザ識別子である場合には、他のユーザ属性値としてユーザの名前が含まれていることが好ましい。ユーザの名前がユーザ識別子であってもよい。
 なお、第1データベースと第2データベースとの少なくとも一方は、情報処理装置100の外部の装置ではなく、情報処理装置100の内部に設けられていてもよい。
 本実施の形態において、ユーザ情報は、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、一のユーザについての第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられた情報である。例えば、ユーザ情報は、いずれかのデータベースに格納された1つのレコードであってもよい。また、第1ユーザ情報と第2ユーザ情報とのそれぞれが、互いに異なるテーブルのレコードとして格納されていてもよい。第2ユーザ情報は、ユーザ詳細情報と呼ばれることがある。すなわち、本実施の形態において、2以上のデータベースのそれぞれには、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、一のユーザについての第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられて格納されているといえる。
 本実施の形態において、第1ユーザ情報には、ユーザ識別子と、一部の属性値(例えば、ユーザの住所等)とが含まれる。第2ユーザ情報には、その他の属性値が含まれる。例えば、第2ユーザ情報に含まれるユーザ属性値は、ユーザの家族構成や、ユーザの契約情報、ユーザの利用情報(瓦斯や水道の使用量など)、ユーザの支払情報など、第1ユーザ情報に含まれる情報よりも比較的センシティブである情報が含まれるが、これに限られない。
 ここで、第1外部装置910及び第2外部装置920に分散して配置された第1データベースと第2データベースとは、「X-Road」と呼ばれるシステム間連携基盤(https://e-estonia.com/solutions/interoperability-services/x-road/)などを用いて相互連携されていることが望ましい。これにより、2以上の分散配置されたデータベースの配置状態やシステム構成の相違について個別の対応を行うことなく、容易に実行可能な方法で、情報処理装置100が各データベースへのアクセスを行うことができる。
 第3外部装置930も、第1外部装置910と同様のハードウェア構成を有するサーバ装置である。すなわち、第3外部装置930は、第1外部装置格納部911と同様のハードウェア構成を有する第3外部装置格納部931を備える。そのほか、第3外部装置930は、第1外部装置910と同様に、第3外部装置処理部935、第3外部装置送信部936、及び第3外部装置受信部937などの各部を有しているが、詳細な説明は省略する。
 第3外部装置格納部931は、第3データベース格納部932を備える。第3データベース格納部932には、分散型台帳データベースが格納される。分散型台帳データベースは、例えば、いわゆるブロックチェーン技術やその他のハッシュ化された情報を用いたタイムスタンプ技術などを用いた分散型台帳技術を用いて管理されるものであることが望ましい。
 なお、第1外部装置910、第2外部装置920、及び第3外部装置930は、情報処理システム900に含まれていないと解釈されてもよい。この場合、例えば、情報処理システム900の各装置は、第1外部装置910や第2外部装置920と同様の構成を有する2以上の他の外部装置とそれぞれネットワークを介して通信可能に構成されていればよい。すなわち、情報処理システム900は、分散して格納されている2以上のデータベースにアクセス可能に構成されていればよい。また、第3外部装置930は設けられていなくてもよいし、第3外部装置930の機能が、情報処理システム900の他の装置により担われるように構成されていてもよい。
 図4に示されるように、情報処理装置100は、格納部110、受信部120、受付部130、処理部140、出力部160を備える。情報処理装置100は、例えば、サーバ装置である。
 格納部110は、ユーザ情報格納部111、インデックス情報格納部112、要求者情報格納部113、権限情報格納部114を備える。
 格納部110は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。格納部110の各部には、例えば受信部120や処理部140によって取得された情報などがそれぞれ格納されるが、格納部110の各部に情報等が記憶される過程はこれに限られない。例えば、記録媒体を介して情報等が格納部110で記憶されるようになってもよく、通信回線等を介して送信された情報等が格納部110で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報等が格納部110で記憶されるようになってもよい。
 ユーザ情報格納部111には、ユーザ情報蓄積部141により取得されたユーザ情報が格納される。
 インデックス情報格納部112には、インデックス情報蓄積部142により取得されたインデックス情報が格納される。
 要求者情報格納部113には、情報処理システム900を使用する要求者に関る要求者情報が格納される。要求者情報は、例えば、一の要求者を特定する要求者識別子と、当該要求者に関する情報を示す属性値とが対応付けられた情報を2以上含むものであるが、これに限られない。属性値には、例えば、要求者が使用している端末装置600を特定する情報が含まれる。また、属性値には、例えば、所属するグループ等や職種や職位など、要求者の役割を特定する情報又はその情報に対応する識別子などが含まれる。なお、これら以外の属性値を含んでいてもよい。なお、要求者情報格納部113が外部装置の格納部に設けられていたりしてもよい。すなわち、要求者情報は、情報処理装置100の格納部110に格納されていなくてもよい。
 権限情報格納部114には、権限情報が格納される。本実施の形態において、権限情報は、各データベースのレコードについて各要求者が有するアクセス権限に関する情報である。アクセス権限は、例えば、各要求者毎(要求者識別子毎)に規定されていてもよい。また、要求者の役割を特定する情報やその情報に対応する識別子に対応付けて規定されていてもよく、この場合、要求者情報に基づいて、各要求者識別子に対応するアクセス権限が特定可能となる。アクセス権限は、第2ユーザ情報のうち一部の属性値へのアクセスを制限すること(操作可能な対象を制限すること)、及び、アクセス要求の対象となる第2ユーザ情報に対するアクセス方法(第2ユーザ情報に対して可能となる操作の種類)を制限すること、の少なくとも一方に関して設定されていてもよい。
 本実施の形態においては、権限情報は、2以上のデータベース毎に、データベースに格納されている2以上のレコードに関するアクセス権限を一括して規定するものである。すなわち、一の要求者についての権限情報は、第1データベースに格納されているユーザ情報へのアクセス権限の内容を示す情報と、第2データベースに格納されているユーザ情報へのアクセス権限の内容を示す情報とを含む。なお、権限情報は、2以上のデータベースの全てのレコードに関するアクセス権限を一括して規定するものであったり、各レコードの特定の属性値に対応するアクセス権限を規定するものなど、レコード毎に異なるアクセス権限を規定しうるものであってもよい。
 受信部120は、他の装置から送信された情報を受信する。受信部120は、受信した情報を、例えば、格納部110に蓄積する。
 受付部130は、アクセス要求情報受付部131、検索要求情報受付部132、表示要求情報受付部133を備える。
 受付部130は、受信部120が受信した情報を受け付ける。なお、受付部130は、情報処理装置100に接続された入力手段を用いて入力された情報や、情報処理装置100に接続された読み取り装置(例えば、コードリーダなど)を用いて行われた入力操作(例えば、装置により読み取られた情報も含む)により入力された情報を受け付けてもよい。受け付けられた情報は、例えば、格納部110に蓄積される。
 アクセス要求情報受付部131は、アクセス要求情報を受け付ける。アクセス要求情報は、例えば、要求者により入力された、第2ユーザ情報にアクセスするための情報であり、ユーザ識別子に対応付けられた情報である。換言すると、アクセス要求情報は、対象となるユーザを指定して、そのユーザの第2ユーザ情報にアクセスするための情報である。なお、本実施の形態において、アクセス要求情報受付部131は、アクセス要求情報を受け付けた場合に、そのアクセス要求情報を入力した要求者を特定する要求者識別子も受け付ける。換言すると、アクセス要求情報受付部131が受け付けたアクセス要求情報は、アクセスを要求した要求者を特定する要求者識別子に対応付けられている。
 なお、アクセス要求情報の入力は、種々の態様で行われうる。例えば、ディスプレイに表示された複数のユーザに関する第1ユーザ情報のうち一の第1ユーザ情報を、第2ユーザ情報の確認を要求するために指定する操作(キーボードやポインティングデバイスを用いた操作や、音声などによる操作など、操作態様を問わない)は、アクセス要求情報の入力に該当しうる。また、例えば、ディスプレイに表示された1以上のユーザの第2ユーザの情報の属性値を入力、変更、削除等するための操作は、アクセス要求情報の入力に該当しうる。すなわち、アクセス要求情報の入力とは、一のユーザ識別子に対応する第2ユーザ情報の属性値の取得、変更等を、当該ユーザ識別子に対応するレコードが含まれるデータベースに対して要求するための情報を入力することであるといってもよい。
 検索要求情報受付部132は、第1ユーザ情報又は第2ユーザ情報のいずれかであるユーザ情報についての、検索要求情報を受け付ける。検索要求情報は、情報処理装置100において出力可能なユーザ情報を検索により絞り込むために情報処理装置100に与えられる情報である。検索要求情報は、例えば、検索を行う文字列や条件を指定する種々の情報を含みうる。なお、本実施の形態において、検索要求情報受付部132は、検索要求情報を受け付けた場合に、その検索要求情報を入力した要求者を特定する要求者識別子も受け付ける。換言すると、検索要求情報受付部132が受け付けた検索要求情報は、検索を要求した要求者を特定する要求者識別子に対応付けられている。
 表示要求情報受付部133は、要求者から入力された、検索要求情報を受け付けるための受付画面の表示を要求する受付画面表示要求情報を受け付ける。本実施の形態において、情報処理装置100はウェブサーバであり、端末装置600で動作するウェブブラウザにより表示可能な情報を出力することができる。受付画面表示要求情報は、受付画面を端末装置600で動作するウェブブラウザにおいて表示させるために端末装置600から出力された情報である。なお、情報処理装置100はウェブサーバでなくてもよく、受付画面表示要求情報は、端末装置600で動作するその他のアプリケーションにおいて受付画面を表示させるために端末装置600から出力された情報であってもよい。なお、本実施の形態において、表示要求情報受付部133は、受付画面表示要求情報を受け付けた場合に、その受付画面表示要求情報を入力した要求者を特定する要求者識別子も受け付ける。換言すると、表示要求情報受付部133が受け付けた受付画面表示要求情報は、受付画面の表示を要求した要求者を特定する要求者識別子に対応付けられている。
 なお、アクセス要求情報や、検索要求情報や、受付画面表示要求情報の入力とは、これらの情報が端末装置600等を介して要求者によって間接的に情報処理装置100に入力されることを意味するが、要求者によって、入力手段を用いて直接的に情報処理装置100に入力されることを意味すると解釈してもよい。また、アクセス要求情報や、検索要求情報や、受付画面表示要求情報は、必ずしも要求者の直接的な行動(入力操作など)に基づいて生成される情報ではなくてもよい。すなわち、これらの要求情報の入力とは、これらの要求情報が情報処理装置100に与えられることを引き起こす種々の行為、例えばこれらの要求情報を自動的に生成するプログラムを実行させたり種々の情報を与えて機能させることなどを含みうる。
 処理部140は、ユーザ情報蓄積部141、インデックス情報蓄積部142、検索実行部143、アクセス制御部144、アクセス記録蓄積部145を備える。処理部140は、各種の処理を行う。各種の処理とは、例えば、以下のように処理部140の各部が行う処理である。
 ユーザ情報蓄積部141は、第1データベースと第2データベースとの少なくとも一方に含まれる、2以上のユーザ情報を取得する。すなわち、ユーザ情報蓄積部141は、分散して格納されている2以上のデータベースであって、少なくとも1以上の外部装置に格納されているデータベースを含む2以上のデータベースの少なくとも一方に含まれる2以上のユーザ情報を取得する。ユーザ情報蓄積部141は、取得したユーザ情報を、ユーザ情報格納部111に蓄積する。
 なお、本実施の形態において、ユーザ情報蓄積部141は、ユーザ情報のうち、第1ユーザ情報を取得し、蓄積する。ユーザ情報蓄積部141は、2以上のデータベースのそれぞれに含まれる第1ユーザ情報を、各第1ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、ユーザ情報格納部111に蓄積する。なお、本実施の形態において、レコード識別子は、それにより特定されるレコードが格納される取得元データベース(ユーザ情報蓄積部141による取得元のデータベースをいう)を特定するデータベース識別子に対応付けられているものであるが、これに限られない。すなわち、本実施の形態において、ユーザ情報格納部111に格納されている第1ユーザ情報は、取得元データベースとそれに格納されているレコードとを特定可能な情報に対応付けられている。なお、データベース識別子は、取得元データベースが管理されている外部装置を特定する装置識別子であってもよい。
 インデックス情報蓄積部142は、ユーザ情報格納部111に格納された2以上の第1ユーザ情報に基づいて、各第1ユーザ情報に対応するユーザ情報に関する検索を行うためのインデックス情報を生成し、生成したインデックス情報をインデックス情報格納部112に蓄積する。インデックス情報の生成においては、各データベースに記録されている第1ユーザ情報に対応するユーザ情報(ユーザ識別子に対応するユーザ情報)のうち、検索可能とする情報を取得し、取得した情報を含めてインデックス情報とする。インデックス情報は、例えば、検索実行部143による所定の検索アルゴリズムの検索に適したデータ構造を有する情報であるが、これに限られず、例えば取得したユーザ情報をそのまま含む情報であってもよい。このようなインデックス情報を用いることにより、情報処理装置100において、第1外部装置910及び第2外部装置920に検索の度にアクセスする必要がなくなる。そのため、高速にユーザ情報の検索を行うことができ、また、検索時に情報処理システム900にかかる負荷を低減することができる。
 ここで、本実施の形態においては、インデックス情報は、要求者識別子に対応付けて蓄積される。すなわち、インデックス情報蓄積部142は、各要求者識別子に対応付けて、当該要求者が有するアクセス権限に応じた範囲のユーザ情報を検索可能対象とするように生成されたインデックス情報を蓄積する。すなわち、インデックス情報蓄積部142は、ユーザ情報の検索のための、互いに異なる内容を含む2以上のインデックス情報を取得し、それぞれ対応する要求者識別子に対応付けてインデックス情報格納部112に蓄積する。このようなアクセス権限に応じた範囲のインデックス情報は、権限情報格納部114に格納されている権限情報に基づいて生成される。なお、インデックス情報蓄積部142は、同一内容のアクセス権限を有する2以上の要求者識別子があるとき、そのアクセス権限に応じた範囲のインデックス情報を1回生成し、生成したインデックス情報を、当該2以上の要求者識別子に対応付けて蓄積するようにしてもよい。また、インデックス情報蓄積部142は、要求者情報に基づいて、全ての要求者識別子のそれぞれについて、当該要求者識別子に対応する権限情報を取得し、インデックス情報の生成を行い、生成したインデックス情報をその要求者識別子に対応付けて蓄積するようにしてもよい。
 なお、インデックス情報の生成は、定期的に行われる。例えば、毎日所定の時刻が到来した際に行われる。インデックス情報の生成は、その他の所定のスケジュールで行われるようにしてもよいし、例えば受付部130によりインデックス情報の生成を要求する情報が受け付けられた場合に行われるようにしてもよい。
 検索実行部143は、検索要求情報受付部132により受け付けられた検索要求情報に基づいて、検索クエリを生成するなどして、ユーザ情報の検索を行う。例えば、検索実行部143は、検索要求情報を入力した要求者を特定する要求者識別子に基づいて、検索要求情報を入力した要求者毎に異なる検索対象について検索を行う。
 本実施の形態において、検索実行部143は、インデックス情報格納部112に格納されているインデックス情報を用いて、ユーザ情報の検索を行う。例えば、検索実行部143は、検索要求情報を入力した要求者を特定する要求者識別子に基づいて、インデックス情報格納部112に格納されている2以上のインデックス情報のうち、要求者識別子に対応するものを用いて検索を行う。すなわち、検索実行部143は、検索要求情報を入力した要求者のアクセス権限に応じた範囲のユーザ情報について検索を行う。なお、検索実行部143は、インデックス情報を用いずに、直接的に、ユーザ情報格納部111に格納されているユーザ情報や、第1データベース又は第2データベースに格納されているユーザ情報を検索するようにしてもよい。
 なお、検索実行部143は、検索要求情報を入力した要求者を特定する要求者識別子に対応付けられている特定のデータベースに格納されているユーザ情報又はそれに由来する情報を検索対象として検索を行うようにしてもよい。例えば、要求者が特に第1データベースに関係する要求者である場合、当該要求者が検索要求情報を入力したときには、第1データベースに格納されているユーザ情報を検索対象として、第1データベースにアクセスして検索するようにしてもよい。また、当該要求者が検索要求情報を入力した場合に、第1データベースに格納されているユーザ情報に基づいて予め生成されたインデックス情報(特定のデータベースに格納されているユーザ情報に由来する情報の一例)を検索対象として検索したり、予め第1データベースから取得されてユーザ情報格納部111に蓄積された、ユーザ情報格納部111に格納されている第1ユーザ情報(特定のデータベースに格納されているユーザ情報に由来する情報の一例)を検索対象として検索を行うようにしてもよい。
 アクセス制御部144は、アクセス要求情報受付部131が受け付けたアクセス要求情報に対応付けられたユーザ識別子に対応するレコード識別子に基づいて、対応するデータベースに格納されている第2ユーザ情報にアクセスする。アクセスとは、例えば、SQLクエリなどを用いて、各データベースの管理プログラムに、レコードに含まれる情報の閲覧(取得の一例)、更新、追加、削除等の操作(アクセス方法)によるデータベースの操作を実行させることをいうが、これに限られない。アクセス制御部144は、APIを利用して対応するデータベースに格納されている第2ユーザ情報にアクセスするように構成されていたり、関数等を用いて第2ユーザ情報にアクセスするように構成されていてもよい。
 本実施の形態において、具体的には、アクセス制御部144は、アクセス要求情報受付部131がアクセス要求情報を受け付けた場合に、アクセス要求情報に対応する要求者識別子により特定される要求者のアクセス権限に関する権限情報を取得する。アクセス制御部144は、取得した権限情報に基づいて、当該要求者がアクセス権限を有する場合に、アクセスを行うためのクエリを生成する。そして、アクセス制御部144は、生成したクエリを用いて、対応するデータベースに対してアクセスを実行する。換言すると、アクセス制御部144は、要求者のアクセス権限に応じて、アクセス要求の対象となる第2ユーザ情報へのアクセスやアクセス方法の制限を行う。より具体的には、アクセス制御部144は、要求者のアクセス権限に応じて、アクセス要求の対象となる第2ユーザ情報のうち一部の属性値へのアクセスを制限すること、及び、アクセス要求の対象となる第2ユーザ情報に対して可能とする操作の種類(セレクト、アップデート、アペンド、デリート等)を制限すること、などを実行可能に構成されていてもよい。
 アクセス記録蓄積部145は、第3外部装置930などにより管理されている分散型台帳データベースに情報を蓄積可能に構成されている。アクセス記録蓄積部145は、アクセス制御部144により行われたアクセスに関するアクセス記録を、情報処理システム900において実現される分散型台帳データベースに蓄積する。これにより、情報処理装置100により、第1データベースと第2データベースとのそれぞれからのユーザ情報の取得行為などのアクセス証跡は、改ざん困難な状態で記録される。
 出力部160は、検索結果出力部161、受付画面情報出力部162を備える。本実施の形態において、出力部160は、送信部170等を用いて他の装置に情報を送信することにより情報を出力するが、これに限られず、例えば情報処理装置100に設けられたディスプレイデバイスに情報を表示することなどにより情報を出力してもよい。
 検索結果出力部161は、検索実行部143による検索結果を示す情報を出力する。具体的には、検索結果出力部161は、例えば、検索結果に含まれるユーザ情報(検索によりヒットしたユーザ情報に対応するユーザ識別子など)と、ユーザ情報が取得された取得元のデータベースを視覚的に示すための識別情報とを対応付けて出力する。識別情報とは、例えば、所定のマークや符号を示す画像であったり、文字として表示されうる符号列であったり、取得元のデータベースに応じた文字色や背景色等でユーザ情報を示すための情報など、種々のものが該当しうる。例えば、格納部110に、レコード識別子やデータベース識別子に対応付けて格納されている識別情報が、検索結果に含まれるユーザ情報に対応するユーザ識別子に基づいて出力されるようにすればよい。検索結果に含まれるユーザ情報について、必要に応じて第2ユーザ情報を取得して検索結果に含めてもよい。換言すると、検索結果出力部161は、検索結果に含まれるユーザ情報を、取得元のデータベースに応じた視覚的な態様で端末装置600等において表示されるように出力するということができる。
 なお、検索結果を示す情報は、例えば、端末装置600においてウェブページとして検索結果を表示可能な情報(例えば、HTML形式の文書であったり、情報処理装置100や端末装置600で機能するウェブページ生成システム(コンテンツ管理システムなど)に用いられる情報など)であるが、これに限られない。
 受付画面情報出力部162は、表示要求情報受付部133により受け付けられた受付画面表示要求情報に基づいて、受付画面を表示するための受付画面情報を出力する。受付画面情報は、例えば、ウェブページとして受付画面を表示するために用いられる、予め格納部110に記憶されている情報(例えば、HTML形式の文書であったり、情報処理装置100や端末装置600で機能するウェブページ生成システム(コンテンツ管理システムなど)に用いられる情報など)であるが、これに限られない。
 なお、受付画面情報出力部162は、受付画面表示要求情報を入力した要求者を特定する要求者識別子に基づいて、受付画面情報を出力するようにしてもよい。具体的には、例えば、要求者識別子に応じたアクセス権限の内容が視覚的に示されるように受付画面情報を出力したり、アクセス権限に応じた所定の態様でのみ検索要求情報を入力することが可能となる受付画面を表示するための受付画面情報を出力したりするようにしてもよい。
 送信部170は、情報を、ネットワークを介して情報処理システム900を構成する他の装置に送信する。送信部170は、例えば、出力部160により出力される情報の送信を行う。検索結果出力部161により出力される情報は、検索要求情報を入力した要求者の要求者識別子に基づいて、当該要求者の端末装置600に送信される。また、受付画面情報出力部162により出力される情報は、受付画面表示要求情報を入力した要求者の要求者識別子に基づいて、当該要求者の端末装置600に送信される。
 次に、端末装置600の構成について説明する。
 図5に示されるように、端末装置600は、端末格納部610、端末受信部620、端末受付部630、端末処理部640、端末出力部660、端末送信部670を備える。
 端末装置600は、例えば一般的なパーソナルコンピュータであり、出力装置であるディスプレイや、要求者の入力操作に用いられる入力装置(例えば、キーボードやポインティングデバイスなど)などを有しているが、これに限られるものではない。端末装置600は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
 端末格納部610は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。端末格納部610には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が端末格納部610で記憶されるようになってもよく、通信回線等を介して送信された情報が端末格納部610で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が端末格納部610で記憶されるようになってもよい。
 端末受信部620は、受付画面情報受信部621を備える。端末受信部620は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。端末受信部620は、受信した情報を、例えば端末格納部610に蓄積し、端末処理部640などが取得できるようにする。
 受付画面情報受信部621は、情報処理装置100から送信された受付画面情報を受信し、端末格納部610に蓄積する。
 端末受付部630は、端末装置600を使用する要求者による、端末装置600に対する種々の入力操作を受け付ける。操作は、例えば、図示しない入力装置を用いて行われるが、これに限られない。端末受付部630は、例えば、マイクにより入力された音声による入力操作を受け付けるようにしてもよいし、端末装置600に接続した読み取り装置(例えば、コードリーダなど)を用いて行われた入力操作を受け付けるようにしてもよい。
 端末処理部640は、端末装置600の各部を用いて、種々の情報処理動作を行う。
 端末出力部660は、例えばディスプレイデバイスに表示することなどにより、情報の出力を行う。なお、情報の出力方法はこれに限られず、音声等をスピーカーなどから出力することなどにより行われるようにしてもよい。
 端末送信部670は、アクセス要求情報送信部671、受付画面表示要求情報送信部672、検索要求情報送信部673を備える。端末送信部670は、例えば端末処理部640等により取得した情報をネットワークを介して送信する。
 アクセス要求情報送信部671は、要求者によるアクセス要求情報の入力操作が端末受付部630により受け付けられた場合に、アクセス要求情報を情報処理装置100に送信する。
 受付画面表示要求情報送信部672は、要求者による受付画面の表示を要求する入力操作が端末受付部630により受け付けられた場合に、受付画面表示要求情報を情報処理装置100に送信する。
 検索要求情報送信部673は、要求者による検索要求情報の入力操作が端末受付部630により受け付けられた場合に、検索要求情報を情報処理装置100に送信する。
 図6は、同情報処理装置100の動作の一例について説明する図である。
 図6に示されるように、情報処理装置100のユーザ情報蓄積部141は、互いに異なる場所にある第1外部装置910及び第2外部装置920から第1ユーザ情報を取得し、蓄積する。すなわち、ユーザ情報蓄積部141は、第1外部装置910から、第1データベースに含まれる第1ユーザ情報を取得し、第2外部装置920から、第2データベースに含まれる第2ユーザ情報を取得する。
 また、インデックス情報蓄積部142は、第1外部装置910及び第2外部装置920から取得した情報に基づいて、インデックス情報を生成し、蓄積する。例えば、要求者のアクセス権限について、2つの種類(仮にA権限、B権限という)がある場合、それぞれの種類に応じた2つのインデックス情報が生成される。
 このような情報処理装置100に対して、例えばA権限を有する要求者が使用する端末装置600とB権限を有する要求者が使用する端末装置600とのそれぞれから、検索要求情報の送信(単に検索要求ということがある)や、第1ユーザ情報に対応する第2要求情報へのアクセス要求情報の送信(単にアクセス要求ということがある)が行われる場合を想定する。
 A権限を有する要求者が使用する端末装置600から検索要求が行われたとき、検索実行部143は、A権限用に生成されたインデックス情報を用いて、検索を行う。検索結果は端末装置600に送信され、当該端末装置600の要求者のアクセス権限に応じた検索結果が端末装置600において出力される。また、A権限を有する要求者が使用する端末装置600からアクセス要求が行われたとき、アクセス制御部144は、A権限に応じて、アクセス可能であれば、アクセス要求に基づいて、第1データベース又は第2データベースにアクセスし、例えば第2ユーザ情報を取得するなどの処理を行う。これにより、端末装置600において第2ユーザ情報の閲覧などを行うことができるようになる。
 他方、B権限を有する要求者が使用する端末装置600から検索要求が行われたとき、検索実行部143は、B権限用に生成されたインデックス情報を用いて、検索を行う。これにより、当該端末装置600の要求者のアクセス権限に応じた検索結果が端末装置600において出力される。また、B権限を有する要求者が使用する端末装置600からアクセス要求が行われたとき、アクセス制御部144は、B権限に応じて、アクセス可能であれば、アクセス要求に基づいて、第2ユーザ情報を取得するなどの処理を行い、端末装置600において第2ユーザ情報の閲覧などを行うことができるようにする。
 なお、情報処理装置100から第1外部装置910や第2外部装置920へのアクセスが行われたことを示すアクセス証跡は、情報処理装置100のアクセス記録蓄積部145により、第3データベースに記録される。アクセス証跡が改ざん困難な記録態様で記録されることにより、例えば、センシティブなユーザ情報などへのアクセス記録についても検証することが可能となる。
 図7は、同情報処理装置100の動作の一例を示すフローチャートである。
 情報処理装置100は、例えば以下のようにして種々の動作を行う。なお、このような動作は、例えば、情報処理装置100の電源がオフになった場合などに終了するようにすればよい。
 (ステップS101)図7に示されるように、ユーザ情報蓄積部141は、2以上のデータベースのそれぞれから、当該データベースに記録されている第1ユーザ情報を取得し、ユーザ情報格納部111に蓄積する。
 (ステップS102)処理部140は、インデックス情報生成タイミングが到来したか否かを判断する。インデックス情報生成タイミングが到来した場合にはステップS103に進み、そうでない場合にはステップS104に進む。
 (ステップS103)インデックス情報蓄積部142は、インデックス情報生成蓄積処理を行う。これにより、各要求者識別子に対応するインデックス情報が、インデックス情報格納部112に格納されている状態となる。インデックス情報生成蓄積処理が終了すると、ステップS104に進む。
 (ステップS104)処理部140は、表示要求情報受付部133が、受付画面表示要求情報を受け付けたか否かを判断する。受付画面表示要求情報を受け付けた場合にはステップS105に進み、そうでない場合にはステップS106に進む。
 (ステップS105)受付画面情報出力部162は、表示要求情報受付部133により受け付けられた受付画面表示要求情報に基づいて、受付画面を表示するための受付画面情報を出力する。送信部170は、受付画面情報を、受付画面表示要求情報を入力した要求者の要求者識別子に基づいて、当該要求者の端末装置600に送信する。
 (ステップS106)処理部140は、検索要求情報受付部132が、検索要求情報を受け付けたか否かを判断する。検索要求情報を受け付けた場合にはステップS107に進み、そうでない場合にはステップS108に進む。
 (ステップS107)検索実行部143は、検索要求情報受付部132により受け付けられた検索要求情報に基づいて、検索処理を行う。これにより、検索結果が要求者の端末装置600に送信される。
 (ステップS108)処理部140は、アクセス要求情報受付部131が、アクセス要求情報を受け付けたか否かを判断する。アクセス要求情報を受け付けた場合にはステップS109に進み、そうでない場合にはステップS102に戻る。
 (ステップS109)アクセス制御部144は、アクセス要求情報受付部により受け付けられたアクセス要求情報に基づいて、アクセス処理を行う。アクセス処理が終了すると、ステップS102に戻る。
 図8は、同情報処理装置100のインデックス情報生成蓄積処理の一例を示すフローチャートである。
 インデックス情報蓄積部142は、例えば以下のように、要求者情報に含まれる各要求者識別子のそれぞれに対応付けて、インデックス情報をインデックス情報格納部112に蓄積する。
 (ステップS121)インデックス情報蓄積部142は、カウンタiに1をセットする。
 (ステップS122)インデックス情報蓄積部142は、要求者情報に含まれる要求者識別子のうちi番目の要求者識別子に対応する権限情報を権限情報格納部114から取得する。
 (ステップS123)インデックス情報蓄積部142は、2以上のデータベースのそれぞれから取得したユーザ情報のうち、権限情報に対応する範囲のユーザ情報を取得する。そして、取得したユーザ情報を用いて、インデックス情報を生成する。
 (ステップS124)インデックス情報蓄積部142は、生成したインデックス情報をi番目の要求者識別子に対応付けて、インデックス情報格納部112に蓄積する。
 (ステップS125)インデックス情報蓄積部142は、カウンタiが要求者情報に含まれる要求者識別子の総数であるか否かを判断する。iが要求者識別子の総数である場合にはインデックス情報生成蓄積処理を終了して図7に示される処理に戻り、そうでない場合にはステップS126に進む。
 (ステップS126)インデックス情報蓄積部142は、カウンタiを1インクリメントする。ステップS122に戻る。
 なお、以上の処理に限られず、アクセス権限の付与パターン(一の要求者についてのアクセス権限の付与態様)ごとにインデックス情報を生成し、各要求者識別子とその要求者についてのアクセス権限の付与態様に対応するインデックス情報を対応付けて蓄積するようにしてもよい。
 図9は、同情報処理装置100の検索処理の一例を示すフローチャートである。
 (ステップS141)検索実行部143は、検索要求情報に対応する要求者識別子を取得する。要求者識別子は、例えば、検索要求情報受付部132により受け付けられた、検索要求情報を入力した要求者を特定する要求者識別子である。
 (ステップS142)検索実行部143は、インデックス情報格納部112に格納されているインデックス情報のうち、要求者識別子に対応するインデックス情報を特定する。
 (ステップS143)検索実行部143は、検索要求情報を用いてインデックス情報を検索する。これにより、検索実行部143は、検索結果を取得する。
 (ステップS144)検索結果出力部161は、検索実行部143による検索結果を取得し、出力する。例えば、検索結果出力部161は、検索によりヒットしたユーザ情報と、ユーザ情報が取得された取得元のデータベースを視覚的に示すための識別情報とを対応付けて生成する。なお、検索結果出力部161は、各データベースから検索によりヒットしたユーザ情報に関する第2ユーザ情報を取得して、検索結果に含めてもよい。
 (ステップS145)送信部170は、検索結果を、要求者識別子に対応する端末装置600に送信する。これにより、端末装置600において、検索結果がウェブページ等の形式で表示可能になる。図7に示される処理に戻る。
 図10は、同情報処理装置100のアクセス処理の一例を示すフローチャートである。
 (ステップS161)アクセス制御部144は、アクセス要求情報に対応する要求者識別子及びレコード識別子を取得する。
 (ステップS162)アクセス制御部144は、要求者識別子に基づいて権限情報を取得する。
 (ステップS163)アクセス制御部144は、権限情報に基づいて、アクセス要求情報を入力した要求者が、要求した通りのアクセスを行うためのアクセス権限を有するか否かを判断する。アクセス権限がある場合はステップS165に進み、そうでない場合はステップS164に進む。
 (ステップS164)アクセス制御部144は、アクセスを行わず、アクセスが行われなかったことを示すエラー情報を生成する。送信部170は、エラー情報を、要求者識別子に対応する端末装置600に送信する。なお、エラー情報の生成や送信は行われなくてもよい。ステップS164の処理が終了すると、図7に示される処理に戻る。
 (ステップS165)アクセス制御部144は、アクセス要求情報及びレコード識別子に基づいて、アクセスを行うためのクエリを作成する。
 (ステップS166)アクセス制御部144は、クエリを用いてデータベースにアクセスする。
 (ステップS167)アクセス制御部144は、アクセス結果を示す情報を取得する。例えば、第2ユーザ情報を取得するためのアクセスを行った場合、第2ユーザ情報を取得する。
 (ステップS168)送信部170は、アクセス制御部144がアクセスを行った結果として取得した情報(例えば、第2ユーザ情報など)を、要求者識別子に対応する端末装置600に送信する。なお、出力部160によりアクセスを行った結果を示す情報が生成され、送信部170により生成された情報が出力されるようにしてもよい。例えば、出力部160が、取得された情報を端末装置600においてウェブページとして表示するための情報(例えば、HTML形式の文書であったり、情報処理装置100や端末装置600で機能するウェブページ生成システム(コンテンツ管理システムなど)に用いられる情報など)を生成するようにしてもよい。このようにして、端末装置600において、アクセスを行った結果がウェブページ等の形式で表示可能になる。図7に示される処理に戻る。
 以下に、情報処理装置100を用いて要求者が利用可能となる機能の具体例について説明する。
 以下の具体例では、情報処理装置100が、2つの異なる会社の顧客データベースを統合して、要求者に対して、顧客情報(ユーザ情報)の閲覧や検索等を可能にする顧客管理サービスを提供するために用いられるものであると想定する。本具体例において、第1外部装置910は、例えば、LPGの供給事業を営む瓦斯会社の装置である。第1データベースは、例えば、瓦斯会社の顧客情報データベースである。また、第2外部装置920は、例えば、上水道の供給事業を営む水道会社の装置である。第2データベースは、例えば、水道会社の顧客情報データベースである。それぞれの顧客情報データベースは、各会社のユーザについての情報が記録されているものである。
 本具体例では、情報処理装置100を利用する2以上の要求者のそれぞれのアクセス権限に応じて、ユーザ情報を閲覧可能な範囲や検索等が異なる。例えば、以下のようにアクセス権限を設定することができる。すなわち、瓦斯会社に雇用されている要求者は、第1データベースに含まれるユーザ情報については比較的広いアクセス権限を有し、第2データベースに含まれるユーザ情報については比較的狭いアクセス権限を有する。他方、水道会社に雇用されている要求者は、第1データベースに含まれるユーザ情報については比較的狭いアクセス権限を有し、第2データベースに含まれるユーザ情報については比較的広いアクセス権限を有する。なお、アクセス権限の設定は適宜行うことができる。
 なお、本具体例では、情報処理装置100を利用する要求者のそれぞれは、予め設定されたアカウントで情報処理装置100により実現する顧客管理サービスにログインすることにより、当該顧客管理サービスを利用することができるように構成されている。各アカウントは、要求者識別子に対応するものであるといえる。
 図11は、同情報処理装置100の要求者情報格納部113に格納されている要求者情報の一具体例を示す図である。
 図11に示されるように、本具体例において、要求者情報格納部113には、複数の要求者情報が含まれている。各要求者情報には、例えば、氏名、要求者ID、ログインに用いられるパスワード、使用する端末装置600(ログインに用いている端末装置600)の端末識別子(端末ID)の各属性について、属性値が記録されている。これらの属性値のいずれかが含まれなくてもよいし、これら以外の属性の属性値も含まれうる。例えば、要求者の所属組織を特定する識別子等が含まれていてもよい。本具体例において、例えば要求者IDが要求者識別子としても用いられるが、これに限られない。例えば、端末識別子が要求者識別子として用いられるように構成されていてもよく、この場合、要求者が自身のアカウントでログインしている端末が変更されるとその要求者を特定する要求者識別子が変更されるが、当該要求者のアカウントとログインに用いられている端末装置600の端末識別子とが常に対応付けられていればよい。
 図12は、同情報処理装置100の権限情報格納部114に格納されている権限情報の一具体例を示す図である。
 図12に示されるように、本具体例において、権限情報格納部114には、要求者IDごとの権限情報が含まれている。すなわち、各権限情報には、例えば、要求者識別子である要求者IDと、第1データベースに関するアクセス権限の内容と、第2データベースに関するアクセス権限の内容の各属性について、属性値が記録されている。これらの属性値のいずれかが含まれなくてもよいし、これら以外の属性の属性値も含まれうる。アクセス権限の属性値としては、例えば、第1ユーザ情報の検索のみが可能であるとか、ユーザ情報の各属性値について検索・取得・変更が可能であるとか、各属性値について削除も含めてアクセス可能であるとか、適宜設定されていればよい。また、アクセスを許可しない範囲が定められていてもよい。
 以上説明したように、各情報処理システム900では、それぞれ、2以上のデータベースのそれぞれに格納されているユーザ情報について、アクセス要求情報を受け付けた場合に、情報処理装置100によるアクセスを行うことができる。したがって、分散して格納されている2以上のデータベースのユーザ情報を適切に扱うことができ、利便性が高くなる。アクセスは要求者のアクセス権限に応じて行われるため、アクセス権限が異なる2以上の要求者による要求を適切にとりさばくことができる。
 次に、中継を行う機能を有する中継処理装置10について説明する。ここで中継処理装置10が行う中継とは、一のネットワークに接続された装置から送信された情報を、別のネットワークに装置に送信することをいう。
 図1に示されるように、本実施の形態において、中継処理装置10は、第1プライベートネットワークを介して第1情報処理装置100に通信可能に接続されており、かつ、第2プライベートネットワークを介して第2情報処理装置100に通信可能に接続されている。なお、中継処理装置10は、プライベートネットワークを介さずに、各情報処理システム900の情報処理装置100に接続されていてもよい。
 中継処理装置10は、例えば一般的なパーソナルコンピュータであり、出力装置であるディスプレイや、要求者の入力操作に用いられる入力装置(例えば、キーボードやポインティングデバイスなど)などを有しているが、これに限られるものではない。中継処理装置10は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
 図13は、本実施の形態における中継処理装置10のブロック図である。
 中継処理装置10は、中継装置格納部11と、中継装置受信部20と、中継装置受付部30と、中継装置処理部40と、中継装置出力部60と、中継装置送信部70とを備える。
 中継装置格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。中継装置格納部11には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が中継装置格納部11で記憶されるようになってもよく、通信回線等を介して送信された情報が中継装置格納部11で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が中継装置格納部11で記憶されるようになってもよい。
 本実施の形態において、中継装置格納部11には、条件情報が格納される。条件情報は、例えば、接続者が用いるリモート端末装置602を識別するリモート識別子と、予め設定された第1条件と、予め設定された第2条件とが対応付けられた組を、2以上含むものである。第1条件は、リモート端末装置602と第1情報処理装置100との中継を行う条件である。第2条件は、リモート端末装置602と第2情報処理装置100との中継を行う条件である。一のリモート識別子に対応する第1条件と第2条件とは、一方が満たされる場合において他方が満たされないように設定されていることが好ましい。これにより、ある状況下において接続者が用いるリモート端末装置602が第1情報処理システム901の端末装置600として機能するか第2情報処理システム902の端末装置600として機能するかが、確実に分けられる。
 具体的には、例えば、第1条件は、第1条件に対応するリモート識別子に対応するリモート端末装置602が第1情報処理システム901に接続を許可される時間に関する条件を含むものである。また、第2条件は、同リモート端末装置602が、第2情報処理システム902に接続を許可される時間に関する条件を含むものである。ここで、接続を許可される時間とは、所定の開始時刻から終了時刻までの期間や、各日における時間帯、曜日、日、又は月毎などで規定される期間などをいう。なお、第1条件及び前記第2条件の少なくとも一方のみが、上述のような時間に関する条件を含むようにしてもよい。
 なお、例えば、第1条件は、第1条件に対応するリモート識別子に対応するリモート端末装置602の状態を示す情報に関する条件を含んでいてもよい。また、第2条件も、同リモート端末装置602の状態を示す情報に関する条件を含んでいてもよい。ここで状態を示す情報とは、例えば、リモート端末装置602の性質を示す情報や、リモート端末装置602のネットワークへの接続環境を示す情報や、リモート端末装置602がある周囲の環境を示す情報などとすることができる。性質を示す情報は、例えば、リモート端末装置602に備えられていたり接続されていたりするハードウェアや、リモート端末装置602で実行されているソフトウェアの、種類や識別番号等である。性質を示す情報には、リモート端末装置602に備えられていたり接続されていたりする認証用セキュリティキーに格納されている情報が含まれてもよい。ネットワークへの接続環境を示す情報は、例えば、リモート端末装置602のIPアドレスや、接続している無線LANネットワークの識別子(例えば、サービスセットIDなど)などである。周囲の環境を示す情報は、例えば、リモート端末装置602の位置を示す情報などである。位置を示す情報は、例えば、公知の方法によりリモート端末装置602で取得可能となっていればよい。
 ここで、リモート識別子とは、接続者が用いるリモート端末装置602を識別可能なものである。本実施の形態においては、例えば、リモート端末装置602毎に予め設定された一意の端末名等をリモート識別子として用いることができる。なお、リモート識別子は、これに限られない。例えば、接続者毎に予め設定された接続者名等をリモート識別子として用いるようにしてもよい。この場合、例えば、接続者によるリモート端末装置602の使用時において、リモート端末装置602に接続者が入力した接続者名等を、リモート識別子として用いることができるようにすればよい。また、リモート識別子は、必ずしも一の装置を他の装置と識別可能なものではなくてもよい。すなわち、中継処理装置10において中継が行われる条件が同種である装置群毎に一のリモート識別子が対応するように設定されるものであってもよい。
 中継装置受信部20は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。中継装置受信部20は、受信した情報を、例えば中継装置格納部11に蓄積し、中継装置処理部40などが取得できるようにする。
 中継装置受付部30は、中継装置受信部20が受信した情報を受け付ける。受け付けられた情報は、例えば、中継装置格納部11に蓄積される。
 本実施の形態において、中継装置受付部30は、リモート受付部31を備える。リモート受付部31は、中継対象となるリモート端末装置602を識別するリモート識別子を受け付ける。例えば、リモート端末装置602から情報処理システム100との通信を行うための中継を要求するための情報(例えば、中継先となる情報処理システム100を識別する識別子等を含むコマンド等)が送信されると、中継装置受信部20がそれを受信する。そうすると、リモート受付部31は、当該中継を要求するための情報と共に、要求を行ったリモート端末装置602を識別するリモート識別子を受け付ける。
 中継装置処理部40は、セッション制御部43、第1中継部45、第2中継部46、及びセッション情報蓄積部49を備える。中継装置処理部40は、中継処理装置10の各部を用いて、種々の情報処理動作を行う。
 セッション制御部43は、リモート受付部31が受け付けたリモート識別子に対応する第1条件と第2条件とのそれぞれについて、条件が満たされるか否かを判断する。そして、その判断結果に基づいて、当該リモート識別子に対応するリモート端末装置602と情報処理システム900との通信を中継するためのセッションに関する制御を行う。より具体的には、本実施の形態において、セッション制御部43は、リモート受付部31が受け付けたリモート識別子に対応する第1条件が満たされる場合には、当該リモート識別子に対応するリモート端末装置602と第1情報処理装置100との間の通信を中継するための第1暗号化セッションを開始する。また、セッション制御部43は、リモート受付部31が受け付けたリモート識別子に対応する第2条件が満たされる場合には、当該リモート識別子に対応するリモート端末装置602と第2情報処理装置100との間の通信を中継するための第2暗号化セッションを開始する。
 ここで、本実施の形態において、第1暗号化セッションや第2暗号化セッションは、例えば、E2EE(エンドツーエンド暗号化)などの公知の技術を用いて、リモート端末装置602と、中継処理装置10との間で確立される。リモート端末装置602と中継処理装置10との間で確立されたトンネルを介して、暗号化された情報の送受信が行われることにより、インターネットを介して、セキュアな通信が可能となる。
 第1中継部45は、第1暗号化セッションが確立されている場合に、リモート端末装置602と第1情報処理システム901との通信を中継する。すなわち、第1中継部45は、第1暗号化セッションにおいて、リモート端末装置602と第1情報処理装置100との間の通信を中継する。具体的には、例えば、第1中継部45は、リモート端末装置602から第1情報処理装置100への情報が送信されて中継装置受信部20がそれを受信すると、リモート端末装置602を代理してその情報を第1情報処理装置100に送信する。また、第1中継部45は、第1情報処理装置100からリモート端末装置602への情報が送信されて中継装置受信部20がそれを受信すると、第1情報処理装置100を代理してその情報をリモート端末装置602に送信する。送信は、中継装置送信部70を用いて行われればよい。
 第2中継部46は、第2暗号化セッションが確立されている場合に、リモート端末装置602と第2情報処理システム902との通信を中継する。すなわち、第2中継部46は、第2暗号化セッションにおいて、リモート端末装置602と第2情報処理装置100との間の通信を中継する。具体的には、例えば、第2中継部46は、リモート端末装置602から第2情報処理装置100への情報が送信されて中継装置受信部20がそれを受信すると、リモート端末装置602を代理してその情報を第2情報処理装置100に送信する。また、第2中継部46は、第2情報処理装置100からリモート端末装置602への情報が送信されて中継装置受信部20がそれを受信すると、第2情報処理装置100を代理してその情報をリモート端末装置602に送信する。送信は、中継装置送信部70を用いて行われればよい。
 セッション情報蓄積部49は、セッション制御部43により第1暗号化セッション又は第2暗号化セッションが開始された場合に、開始された第1暗号化セッション又は第2暗号化セッションに関するセッション情報をデータベースに蓄積する。本実施の形態において、セッション情報蓄積部49は、第4外部装置940に格納されている分散型台帳データベースに、セッション情報を記録する。分散型台帳データベースは、例えば、いわゆるブロックチェーン技術やその他のハッシュ化された情報を用いたタイムスタンプ技術などを用いた分散型台帳技術を用いて管理されるものであることが望ましい。セッション情報は、例えば、リモート端末装置602のリモート識別子や、中継先となる情報処理システム900を識別する識別子などを含むことが望ましい。このようなセッション情報が、改ざんが困難な分散型台帳データベースに記録されるようにすることにより、通信システム1の利用履歴を確実に管理することができる。そのため、通信システム1を利用した不正アクセス等の不正の企図に対して強い抑止力を作用させることができる。
 中継装置出力部60は、例えばディスプレイデバイスに表示することなどにより、情報の出力を行う。なお、情報の出力方法はこれに限られず、音声等をスピーカーなどから出力することなどにより行われるようにしてもよい。
 中継装置送信部70は、例えば中継装置処理部40等により取得した情報をネットワークを介して送信する。
 なお、上述の中継装置処理部40や、処理部140や、端末処理部640は、通常、MPUやメモリ等から実現されうる。中継装置処理部40や、処理部140や、端末処理部640の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
 また、中継装置受付部30や、受付部130や、端末受付部630により受付可能な情報の入力に用いられうる入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でもよい。中継装置受付部30や、受付部130や、端末受付部630は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されうる。
 また、第1外部装置受信部917、第2外部装置受信部927、第3外部装置受信部937、中継装置受信部20、受信部120、端末受信部620は、通常、無線又は有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
 また、第1外部装置送信部916、第2外部装置送信部926、第3外部装置送信部936、中継装置送信部70、送信部170、端末送信部670は、通常、無線又は有線の通信手段で実現されるが、放送手段で実現されてもよい。
 また、中継装置出力部60や、出力部160や、端末出力部660は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えてもよい。中継装置出力部60や、出力部160や、端末出力部660は、出力デバイスのドライバーソフト又は、出力デバイスのドライバーソフトと出力デバイス等で実現されうる。
 なお、中継処理装置10、情報処理装置100、第1外部装置910、第2外部装置920、第3外部装置930、及び第4外部装置940は、それぞれ、1つのサーバにより構成されていてもよいし、互いに連携して動作する複数のサーバにより構成されていてもよいし、その他の機器に内蔵された電子計算機等であってもよい。なお、サーバは、いわゆるクラウドサーバでも、ASPサーバ等でも良く、その種類は問わないことは言うまでもない。
 図14は、同中継処理装置10において用いられる条件情報の一例を示す図である。
 図14に示されるように、条件情報は、例えば、第1条件に関する設定情報である属性値及び第2条件に関する設定情報である属性値が、リモート識別子に対応付けて記録されているものである。図においては、例えば、4つのリモート識別子について、それぞれ、接続を許可される時間帯を示す設定情報が記録されている。すなわち、例えば、「XXXXX11」について、第1条件は8時50分から17時40分までの時間であることであり、第2条件は12時50分から17時40分までの時間であることである。また、例えば、「XXXXX22」について、第1条件は8時50分から17時40分までの時間であることであり、第2条件はいずれの時間でも設定されていない(いずれの時間も第2条件を満たさない)。また、例えば、「XXXXX33」について、第1条件は月曜日、火曜日、又は水曜日であることであり、第2条件は木曜日又は金曜日であることである。また、例えば、「XXXXX77」について、第1条件はいずれの時間も設定されておらず、第2条件は0時0分から24時00分までの時間であることである(すなわち、常時接続可能である)。このような条件情報により、第1条件を満たすか第2条件を満たすかが判断可能となる。
 図15は、同中継処理装置10において用いられる条件情報の他の一例を示す図である。
 図15においては、例えば、4つのリモート識別子について、それぞれ、リモート端末装置602がある場所等に関する値が記録されている。例えば、「XXXXX11」について、第1条件は第1拠点(所定の方法で位置を示す座標系で、34.68XX,135.51XXXで示される場所)にあることであり、第2条件は第2拠点(所定の方法で位置を示す座標系で、34.73XX,135.41XXXで示される場所)であることである。この場合、例えば、第1拠点にリモート端末装置602があると判断されるときには、第1情報処理システム901に接続可能になり、第2拠点にリモート端末装置602があると判断されるときには、第2情報処理システム902に接続可能になる。すなわち、例えば、第1拠点として第1情報処理システム901を使用するための施設として予め認められた場所などを設定し、第2拠点として第2情報処理システム902を使用するための施設として予め認められた場所などを設定することができる。また、例えば、「XXXXX22」について、第1条件はグローバルIPアドレスが所定の範囲の中にあることであり、第2条件はいずれの時間でも設定されていない。例えば、第1情報処理システム901を使用するためのインターネット接続環境として予め認められたものに応じたIPアドレスなどを設定することができる。また、例えば、「XXXXX33」については第1条件として第1拠点にあることが設定されており、また、「XXXXX77」については、第2条件として第2拠点にあることが設定されている。このような条件情報により、第1条件を満たすか第2条件を満たすかが判断可能となる。例えば予め認められた状況にリモート端末装置602がある場合にのみ各情報処理システム900に接続可能にすることができ、情報処理システム900がセキュアである状態を維持することができる。
 次に、通信システム1の動作の一例について説明する。
 図16は、同中継処理装置10の動作の一例を示すフローチャートである。
 (ステップS501)図16に示されるように、リモート受付部31は、リモート端末装置602から送信された、情報処理システム900への接続要求を受け付ける。
 (ステップS502)セッション制御部43は、リモート受付部31により受け付けられたリモート識別子に対応する第1条件及び第2条件を、中継装置格納部11から取得する。
 (ステップS503)セッション制御部43は、第1条件が満たされるか否かを判断する。第1条件が満たされると判断した場合はステップS504に進み、そうでない場合はステップS505に進む。
 (ステップS504)セッション制御部43は、リモート識別子に対応するリモート端末装置602と第1中継部45との第1暗号化セッションを開始する。これにより、第1中継部45による、リモート端末装置602と第1情報処理システム901の他の装置との通信の中継動作が実行可能となる。その後、ステップS507に進む。
 (ステップS505)他方、セッション制御部43は、第2条件が満たされるか否かを判断する。第2条件が満たされると判断した場合はステップS506に進み、そうでない場合はステップS508に進む。
 (ステップS506)セッション制御部43は、リモート識別子に対応するリモート端末装置602と第2中継部46との第2暗号化セッションを開始する。これにより、第2中継部46による、リモート端末装置602と第2情報処理システム902の他の装置との通信の中継動作が実行可能となる。その後、ステップS507に進む。
 (ステップS507)セッション情報蓄積部49は、セッション制御部43により開始された第1暗号化セッション又は第2暗号化セッションに関するセッション情報を、第4外部装置940の分散型台帳データベースに蓄積する。
 (ステップS508)セッション制御部43は、接続が不可である旨などを、リモート識別子に対応するリモート端末装置602に送信する。
 ステップS507の処理又はステップS508の処理が終了すると、一連の処理が終了する。
 図17は、同通信システム1の動作の一例を示す第1のシーケンス図である。図18は、同通信システム1の動作の一例を示す第2のシーケンス図である。
 本実施の形態において、通信システム1において暗号化セッションが開始されて行われる通信の具体例は、例えば以下のようである。以下の具体例において、リモート端末装置602では、所定のアプリケーション(例えばウェブブラウザ)を用いて、通信システム1に情報を送信したり、取得した情報を表示したりすることができる。なお、図18は、図17の続きである。
 図に示されるように、まず、リモート端末装置602からセッション制御部43に、ログイン要求が送られる(S11)。そうすると、セッション制御部43は、アクセスがあった旨をセッション情報蓄積部45に送る。セッション情報蓄積部45は、データベースにアクセスがあった旨を記録する(S12)。また、セッション制御部43は、リモート端末装置602に、ログインを行うためのログインページを表示するための情報を送信する(S13)。リモート端末装置602は、ログインページに、例えば通信システム1を用いるためのアカウント等の情報を入力してセッション制御部43に送信する(S14)。セッション制御部43は、リモート端末装置602から受信した情報を用いて、ログイン処理を行う(S15)。ログイン処理が完了すると、セッション制御部43からセッション情報蓄積部45にログインを行った接続者の情報(ユーザ情報)が送られ、当該ユーザ情報を、セッション情報蓄積部45がデータベースに記録する(S16)。また、セッション制御部43は、リモート端末装置602に、ログインが成功した旨の情報を送信する(S17)。
 なお、ログイン処理は、種々の方法で行うことができる。例えば、セッション制御部43を、リレーサーバとしての機能を持つモジュールと、いわゆるSAML認証を行うためのIDプロバイダとしての機能を持つモジュールとで構成し、後者のモジュールでリモート端末装置602と通信を行うことによりリモート端末装置602を用いる接続者を認証して当該接続者をログイン可能にするようにしてもよい。なお、通信システム1に含まれる別の装置がSAML認証を行うためのIDプロバイダとして機能するように構成されていてもよい。
 次に、リモート端末装置602が、セッション制御部43に、接続要求を送信する(S20)。そうすると、セッション制御部43において、第1条件が満たされるか否か又は第2条件を満たされるか否かが判定される。そして、セッション制御部43は、中継先に対応する第1中継部45又は第2中継部46に、接続要求を送信する(S22)なお、この場合において、リモート端末装置602からセッション制御部43には、例えば、接続先を示す接続ID(peer node id)、サービスID、端末セッションIDなどの情報が送信される。また、セッション制御部43から中継部45,46には、例えば、接続ID、サービスID、制御部セッションIDなどの情報が送信される。ここでは、第1中継部45に接続要求が送信されたものとして、以下説明を続ける。第1中継部45は、第1情報処理装置100に、TCPによる接続の要求を行う(S23)。これを受けて、第1情報処理装置100は、第1中継部45に、返答を行う(S24)。そうすると、第1中継部45は、セッション制御部43に返答を行い(S25)、セッション制御部43は、リモート端末装置602に返答を行う(S26)。なお、第1中継部45は、セッション制御部43に対して、例えば、中継部セッションIDと、先に受信した制御部セッションIDとを含む情報を送信する。また、セッション制御部43は、リモート端末装置602に対して、例えば、受信した制御部セッションIDと、先に受信した端末セッションIDとを含む情報を送信する。これにより、リモート端末装置602と第1中継部45との間の通信を行うためのセッションが開始されることとなる。そうすると、セッションに関するセッション情報が、セッション情報蓄積部49に送られ、セッション情報蓄積部45がデータベースに記録する(S27)。
 セッションが開始されると、リモート端末装置602と第1中継部45との間で、暗号化通信を行うためのハンドシェイクが行われる(S28)。これにより、リモート端末装置602と第1中継部45との間で、暗号化セッションが開始されるということができる。ここでは、例えば、TLS通信を行うためのハンドシェイクが行われる。例えば、いわゆるスリーウェイハンドシェイクが行われた後、TLS通信を行うためのハンドシェイク(TLS Client Hello、TLS Server Hello)が行われる。なお、ハンドシェイクを行うプロトコルはこれに限られない。
 その後、リモート端末装置602は、第1中継部45に情報を送信することにより、第1情報処理装置100に情報を送信することができる。すなわち、例えば、リモート端末装置602は、第1中継部45に、HTTPSで接続を行うことを要求する(S41)。要求は、暗号化セッションにおいて仮のTLS通信を行うことにより、送信される。これを受けて、第1中継部45は、第1情報処理装置100にHTTP接続要求を行う(S42)。第1情報処理装置100は、第1中継部45に返答を送信する(S43)。そうすると、第1中継部45は、リモート端末装置602に、返答を送信する(S44)。
 次に、例えば、リモート端末装置602は、第1中継部45に、HTTPリクエストを送信する(S45)。この場合、HTTPリクエストは、暗号化セッションにおいて仮のTLS通信を行うことにより、送信される。これを受けて、第1中継部45は、第1情報処理装置100にHTTPリクエストを送信する(S46)。すなわち、第1中継部45は、リモート端末装置602を代理して、第1情報処理装置100にHTTPリクエストを送信する。
 第1情報処理装置100は、HTTPリクエストに対して、第1中継部45にHTTPレスポンスを送信する(S47)。そうすると、第1中継部45は、リモート端末装置602に、HTTPレスポンスを送信する(S48)。この場合、第1中継部45からリモート端末装置602に対して、HTTPレスポンスは、暗号化セッションにおいて仮のTLS通信を行うことにより送信される。すなわち、第1中継部45は、第1情報処理装置100を代理して、リモート端末装置602にHTTPレスポンスを送信する。
 なお、第1情報処理装置100と第1中継部45との間で直接にリクエスト等の送受信が行われるのではなく、例えば第1情報処理システム901のいずれかの装置で機能するプロキシサーバ(Sqiid等を用いて構成することができる)を介して、第1中継部45とのリクエスト等の送受信が行われるようにしてもよい。
 以上説明したように、本実施の形態によれば、中継装置処理部40は、リモート端末装置602が、中継先の情報処理システム900においてローカル端末装置601と同様に機能することができるようにするためのトンネリングを行う。また、リモート端末装置602と中継処理装置10との間では、暗号化された情報の送受信が行われることにより、インターネットを介して、セキュアに、リモート端末装置602を各情報処理システム900に参加させることができる。
 遠隔地にあるリモート端末装置602から、ローカル端末装置601と同様に各情報処理システム900に安全に参加することができ、かつ、各情報処理システム900においては、2以上のデータベースのそれぞれに格納されているユーザ情報について、リモート端末装置602からアクセス要求情報を受け付けた場合に、情報処理装置100によるアクセスを行うことができる。アクセスは要求者のアクセス権限に応じて行われるため、アクセス権限が異なる2以上の要求者による要求を適切にとりさばくことができる。すなわち、リモート端末装置602から、セキュアに、分散して格納されている2以上のデータベースのユーザ情報を適切に扱うことができ、利便性が高くなる。
 遠隔地にあるリモート端末装置602から、条件情報に応じて、適切な情報処理システム900に接続が行われるようにすることができる。そのため、1つのリモート端末装置602又はその接続者が、第1情報処理システム901に参加する就業形態と第2情報処理システム902に参加する就業形態とを切り替えて業務に従事するような場合においても、各情報処理システム900に対して、セキュアな状態を維持したままで、容易に接続することができる。条件情報の設定に応じて、時間によって従事する情報処理システム900を切り替えたり、リモート端末装置602を使用する状況に応じて情報処理システム900を切り替えたりすることができ、通信システム1の利便性が高くなる。
 なお、上述においては一のリモート端末装置602から接続が行われる場合について説明したが、リモート端末装置602が第1情報処理システム901や第2情報処理システム902で用いられているものとは異なる第3プライベートネットワークに接続されているような場合においても、同様に中継処理装置10が機能するようにしてもよい。このような場合において、第3プライベートネットワークに属する各装置についての条件情報を一様に設定することにより、これらの装置がいずれの情報処理システムに接続可能とするかを統一的に制御することができる。このようなことは、例えば、互いにプライベートネットワークに接続された複数のリモート端末装置602を擁する組織等に適用することができる。例えば、複数のリモート端末装置602及びそのオペレータを擁する一の組織が、時間帯等に応じて接続する情報処理システム900を切り替えて、当該情報処理システム900を用いた業務を安全に遂行することができる。また、一の情報処理システム900において、当該情報処理システム900に接続させる組織を時間帯等に応じて切り替えさせて、当該情報処理システム900を利用した業務を安全に遂行させる(業務遂行を委託する)ことができる。なお、この場合、第3プライベートネットワークに接続されている各装置について同一のリモート識別子が対応するように構成されていてもよい。
 なお、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布してもよい。なお、本実施の形態における、中継処理装置10を実現するソフトウェアは、以下のようなプログラムである。つまり、中継処理装置10のプログラムは、中継処理装置10のコンピュータを、中継対象となるリモート端末装置602を識別するリモート識別子を受け付けるリモート受付部31と、リモート受付部31が受け付けたリモート識別子に対応する第1条件が満たされる場合にリモート端末装置602と第1情報処理装置100との間の通信を中継するための第1暗号化セッションを開始すると共に、リモート受付部31が受け付けたリモート識別子に対応する第2条件が満たされる場合にリモート端末装置602と第2情報処理装置100との間の通信を中継するための第2暗号化セッションを開始するセッション制御部43と、第1暗号化セッションにおいてリモート端末装置602と第1情報処理装置100との間の通信を中継する第1中継部45と、第2暗号化セッションにおいてリモート端末装置602と第2情報処理装置100との間の通信を中継する第2中継部46として機能させる、プログラムである。
 なお、例えば、リモート端末装置602から接続する情報処理システム900を指定した接続要求が行われる場合には、通信システム1が以下のように動作するようにしてもよい。
 図19は、同中継処理装置10の動作の一変形例を示すフローチャートである。
 (ステップS511)図19に示されるように、リモート受付部31は、リモート端末装置602から送信された、指定された情報処理システム900への接続要求を受け付ける。指定された情報処理システム900への接続要求は、例えば、指定された情報処理システム900を識別するシステム識別子を含むものであるが、これに限られない。
 (ステップS512)セッション制御部43は、リモート受付部31により受け付けられたリモート識別子に対応する第1条件及び第2条件のうち、受け付けられたシステム識別子に対応するものを中継装置格納部11から取得する。すなわち、第1情報処理システム901への接続要求が行われた場合には第1条件が取得され、第2情報処理システム902への接続要求が行われた場合には第2条件が取得される。
 (ステップS513)セッション制御部43は、取得された条件が満たされるか否かを判断する。条件が満たされると判断した場合はステップS514に進み、そうでない場合はステップS516に進む。
 (ステップS514)セッション制御部43は、リモート識別子に対応するリモート端末装置602と、システム識別子に対応する中継部45,46との暗号化セッションを開始する。これにより、中継部45,46による、リモート端末装置602と、指定された情報処理システム900の装置との通信の中継動作が実行可能となる。
 (ステップS515)セッション情報蓄積部49は、セッション制御部43により開始された第1暗号化セッション又は第2暗号化セッションに関するセッション情報を、第4外部装置940の分散型台帳データベースに蓄積する。
 (ステップS516)セッション制御部43は、接続が不可である旨などを、リモート識別子に対応するリモート端末装置602に送信する。
 ステップS515の処理又はステップS516の処理が終了すると、一連の処理が終了する。
 以上のように中継処理装置10が動作する場合においても、上述の実施の形態と同様の効果が得られる。
 (その他)
 図20は、上記実施の形態におけるコンピュータシステム800の概観図である。図21は、同コンピュータシステム800のブロック図である。
 これらの図においては、本明細書で述べたプログラムを実行して、上述した実施の形態の通信システム等を実現するコンピュータの構成が示されている。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現されうる。
 コンピュータシステム800は、CD-ROMドライブを含むコンピュータ801と、キーボード802と、マウス803と、モニタ804とを含む。
 コンピュータ801は、CD-ROMドライブ8012に加えて、MPU8013と、CD-ROMドライブ8012等に接続されたバス8014と、ブートアッププログラム等のプログラムを記憶するためのROM8015と、MPU8013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM8016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク8017とを含む。ここでは、図示しないが、コンピュータ801は、さらに、LANへの接続を提供するネットワークカードを含んでもよい。
 コンピュータシステム800に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD-ROM8101に記憶されて、CD-ROMドライブ8012に挿入され、さらにハードディスク8017に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ801に送信され、ハードディスク8017に記憶されてもよい。プログラムは実行の際にRAM8016にロードされる。プログラムは、CD-ROM8101またはネットワークから直接、ロードされてもよい。
 プログラムは、コンピュータ801に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等を、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム800がどのように動作するかは周知であり、詳細な説明は省略する。
 なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 また、上記実施の形態において、一の装置に存在する2以上の構成要素は、物理的に一の媒体で実現されてもよい。
 また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい(この場合、分散処理を行う複数の装置により構成されるシステム全体を1つの「装置」として把握することが可能である)。
 また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、又は、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
 また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、又は長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、又は、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、又は、図示しない読み出し部が行ってもよい。
 また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、又は、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものである。
 上述の実施の形態のうち、一部の構成要素や機能が省略されていてもよい。上述の実施の形態においては、通信システムにおいて2つの情報処理システムが設けられている例が示されているが、さらに多くの情報処理システムが、中継処理装置を介してリモート端末装置から接続可能となるようにして設けられていてもよい。また、通信システムに含まれる2以上の情報処理システムのうち少なくとも1つが、上述の実施の形態において示されるような構成とは異なっていてもよい。例えば、少なくとも1つの情報処理システムが、サーバに格納されているデータベースの検索や操作を端末装置から行うことにより実現されるようなサーバクライアントシステム等であってもよい。
 以上のように、本発明にかかる通信システムは、遠隔にある端末装置からプライベートネットワークにおいて構成されている情報処理システムを容易にかつ安全な状態を維持したまま使用することができるという効果を有し、通信システム等として有用である。
 1 通信システム
 10 中継処理装置
 11 中継装置格納部
 20 中継装置受信部
 30 中継装置受付部
 31 リモート受付部
 40 中継装置処理部
 43 セッション制御部
 45、49 セッション情報蓄積部
 45 中継部
 60 中継装置出力部
 70 中継装置送信部
 100 情報処理装置
 110 格納部
 111 ユーザ情報格納部
 112 インデックス情報格納部
 113 要求者情報格納部
 114 権限情報格納部
 120 受信部
 130 受付部
 131 アクセス要求情報受付部
 132 検索要求情報受付部
 133 表示要求情報受付部
 140 処理部
 141 ユーザ情報蓄積部
 142 インデックス情報蓄積部
 143 検索実行部
 144 アクセス制御部
 145 アクセス記録蓄積部
 160 出力部
 161 検索結果出力部
 162 受付画面情報出力部
 170 送信部
 600 端末装置
 601 ローカル端末装置
 602 リモート端末装置
 610 端末格納部
 620 端末受信部
 621 受付画面情報受信部
 630 端末受付部
 640 端末処理部
 660 端末出力部
 670 端末送信部
 671 アクセス要求情報送信部
 672 受付画面表示要求情報送信部
 673 検索要求情報送信部
 900 情報処理システム
 901 第1情報処理システム
 902 第2情報処理システム

Claims (11)

  1. 第1プライベートネットワークにおいて構成されている第1情報処理システムの第1情報処理装置と、
    第2プライベートネットワークにおいて構成されている第2情報処理システムの第2情報処理装置と、
    前記第1情報処理装置に通信可能に接続されており、かつ、前記第2情報処理装置に通信可能に接続されている中継処理装置とを備え、
    前記中継処理装置は、
    接続者が用いるリモート端末装置であって前記第1プライベートネットワーク及び前記第2プライベートネットワークとは異なるネットワークを介して前記中継処理装置に接続されるリモート端末装置を識別するリモート識別子と、当該リモート端末装置と前記第1情報処理装置との中継を行う条件である予め設定された第1条件と、当該リモート端末装置と前記第2情報処理装置との中継を行う条件である予め設定された第2条件とが対応付けられた組が2以上格納される中継装置格納部と、
    中継対象となるリモート端末装置を識別するリモート識別子を受け付けるリモート受付部と、
    前記リモート受付部が受け付けた前記リモート識別子に対応する前記第1条件が満たされる場合に前記リモート端末装置と前記第1情報処理装置との間の通信を中継するための第1暗号化セッションを開始すると共に、前記リモート受付部が受け付けた前記リモート識別子に対応する前記第2条件が満たされる場合に前記リモート端末装置と前記第2情報処理装置との間の通信を中継するための第2暗号化セッションを開始するセッション制御部と、
    前記第1暗号化セッションにおいて前記リモート端末装置と前記第1情報処理装置との間の通信を中継する第1中継部と、
    前記第2暗号化セッションにおいて前記リモート端末装置と前記第2情報処理装置との間の通信を中継する第2中継部とを備える、通信システム。
  2. 前記セッション制御部により前記第1暗号化セッション又は前記第2暗号化セッションが開始された場合に、開始された前記第1暗号化セッション又は前記第2暗号化セッションに関するセッション情報をデータベースに蓄積するセッション情報蓄積部をさらに備える、請求項1に記載の通信システム。
  3. 前記データベースは、前記通信システムにおいて実現される分散型台帳データベースである、請求項2に記載の通信システム。
  4. 前記第1情報処理システムは、2以上の格納部に分散して格納されている2以上のデータベースを有し、
    前記2以上のデータベースのそれぞれには、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、当該一のユーザについての前記第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられて格納されており、
    前記第1情報処理装置は、
    ユーザ情報が格納されるユーザ情報格納部と、
    前記2以上のデータベースのそれぞれに含まれる前記第1ユーザ情報を、各第1ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、前記ユーザ情報格納部に蓄積するユーザ情報蓄積部と、
    前記ユーザ識別子に対応付けられた、前記第2ユーザ情報にアクセスするためのアクセス要求情報を受け付けるアクセス要求情報受付部と、
    前記アクセス要求情報受付部が受け付けたアクセス要求情報に対応付けられたユーザ識別子に対応するレコード識別子に基づいて、対応するデータベースに格納されている前記第2ユーザ情報にアクセスするアクセス制御部とを有する、請求項1から3のいずれかに記載の通信システム。
  5. 前記アクセス制御部によるアクセス記録を前記第1情報処理システムにおいて実現される分散型台帳データベースに蓄積するアクセス記録蓄積部をさらに備える、請求項4に記載の通信システム。
  6. 前記第1情報処理システムは、2以上の格納部に分散して格納されている2以上のデータベースを有し、
    前記第1情報処理装置は、
    ユーザ情報が格納されるユーザ情報格納部と、
    前記2以上のデータベースのそれぞれに格納されている一のユーザに関するユーザ識別子を含むユーザ情報を、各ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、前記ユーザ情報格納部に蓄積するユーザ情報蓄積部と、
    前記ユーザ情報についての、要求者から入力された検索要求情報を受け付ける検索要求情報受付部と、
    前記検索要求情報受付部により受け付けられた検索要求情報に基づいて前記ユーザ情報の検索を行う検索実行部と、
    前記検索実行部による検索結果を出力する検索結果出力部と有する、請求項1から3のいずれかに記載の通信システム。
  7. 前記第1条件及び前記第2条件の少なくとも一方は、前記中継対象となるリモート端末装置が接続を許可される時間に関する条件を含む、請求項1から6のいずれかに記載の通信システム。
  8. 前記第1条件及び前記第2条件の少なくとも一方は、前記中継対象となるリモート端末装置の状態を示す情報に関する条件を含む、請求項1から7のいずれかに記載の通信システム。
  9. 第1プライベートネットワークにおいて構成されている第1情報処理システムの第1情報処理装置と、第2プライベートネットワークにおいて構成されている第2情報処理システムの第2情報処理装置と共に通信システムを構成する中継処理装置であって、
    前記第1情報処理装置に通信可能に接続されており、かつ、前記第2情報処理装置に通信可能に接続されており、
    接続者が用いるリモート端末装置であって前記第1プライベートネットワーク及び前記第2プライベートネットワークとは異なるネットワークを介して前記中継処理装置に接続されるリモート端末装置を識別するリモート識別子と、当該リモート端末装置と前記第1情報処理装置との中継を行う条件である予め設定された第1条件と、当該リモート端末装置と前記第2情報処理装置との中継を行う条件である予め設定された第2条件とが対応付けられた組が2以上格納される中継装置格納部と、
    中継対象となるリモート端末装置を識別するリモート識別子を受け付けるリモート受付部と、
    前記リモート受付部が受け付けた前記リモート識別子に対応する前記第1条件が満たされる場合に前記リモート端末装置と前記第1情報処理装置との間の通信を中継するための第1暗号化セッションを開始すると共に、前記リモート受付部が受け付けた前記リモート識別子に対応する前記第2条件が満たされる場合に前記リモート端末装置と前記第2情報処理装置との間の通信を中継するための第2暗号化セッションを開始するセッション制御部と、
    前記第1暗号化セッションにおいて前記リモート端末装置と前記第1情報処理装置との間の通信を中継する第1中継部と、
    前記第2暗号化セッションにおいて前記リモート端末装置と前記第2情報処理装置との間の通信を中継する第2中継部とを備える、中継処理装置。
  10. 第1プライベートネットワークにおいて構成されている第1情報処理システムの第1情報処理装置と、第2プライベートネットワークにおいて構成されている第2情報処理システムの第2情報処理装置と共に通信システムを構成する中継処理装置が備える中継装置格納部、リモート受付部、セッション制御部、第1中継部、及び第2中継部によって実現される情報処理方法であって、
    前記中継処理装置は、前記第1情報処理装置に通信可能に接続されており、かつ、前記第2情報処理装置に通信可能に接続されており、
    前記中継装置格納部には、接続者が用いるリモート端末装置であって前記第1プライベートネットワーク及び前記第2プライベートネットワークとは異なるネットワークを介して前記中継処理装置に接続されるリモート端末装置を識別するリモート識別子と、当該リモート端末装置と前記第1情報処理装置との中継を行う条件である予め設定された第1条件と、当該リモート端末装置と前記第2情報処理装置との中継を行う条件である予め設定された第2条件とが対応付けられた組が2以上格納され、
    前記リモート受付部が、中継対象となるリモート端末装置を識別するリモート識別子を受け付けるリモート受付ステップと、
    前記セッション制御部が、前記リモート受付部が受け付けた前記リモート識別子に対応する前記第1条件が満たされる場合に前記リモート端末装置と前記第1情報処理装置との間の通信を中継するための第1暗号化セッションを開始すると共に、前記リモート受付部が受け付けた前記リモート識別子に対応する前記第2条件が満たされる場合に前記リモート端末装置と前記第2情報処理装置との間の通信を中継するための第2暗号化セッションを開始するセッション制御ステップと、
    前記第1中継部が、前記第1暗号化セッションにおいて前記リモート端末装置と前記第1情報処理装置との間の通信を中継する第1中継ステップと、
    前記第2中継部が、前記第2暗号化セッションにおいて前記リモート端末装置と前記第2情報処理装置との間の通信を中継する第2中継ステップとを有する、情報処理方法。
  11. 第1プライベートネットワークにおいて構成されている第1情報処理システムの第1情報処理装置と、第2プライベートネットワークにおいて構成されている第2情報処理システムの第2情報処理装置と共に通信システムを構成する中継処理装置のプログラムであって、
    前記中継処理装置は、前記第1情報処理装置に通信可能に接続されており、かつ、前記第2情報処理装置に通信可能に接続されており、
    前記中継装置格納部には、接続者が用いるリモート端末装置であって前記第1プライベートネットワーク及び前記第2プライベートネットワークとは異なるネットワークを介して前記中継処理装置に接続されるリモート端末装置を識別するリモート識別子と、当該リモート端末装置と前記第1情報処理装置との中継を行う条件である予め設定された第1条件と、当該リモート端末装置と前記第2情報処理装置との中継を行う条件である予め設定された第2条件とが対応付けられた組が2以上格納され、
    前記中継処理装置のコンピュータを、
    中継対象となるリモート端末装置を識別するリモート識別子を受け付けるリモート受付部と、
    前記リモート受付部が受け付けた前記リモート識別子に対応する前記第1条件が満たされる場合に前記リモート端末装置と前記第1情報処理装置との間の通信を中継するための第1暗号化セッションを開始すると共に、前記リモート受付部が受け付けた前記リモート識別子に対応する前記第2条件が満たされる場合に前記リモート端末装置と前記第2情報処理装置との間の通信を中継するための第2暗号化セッションを開始するセッション制御部と、
    前記第1暗号化セッションにおいて前記リモート端末装置と前記第1情報処理装置との間の通信を中継する第1中継部と、
    前記第2暗号化セッションにおいて前記リモート端末装置と前記第2情報処理装置との間の通信を中継する第2中継部として機能させる、プログラム。
PCT/JP2021/018797 2020-05-20 2021-05-18 通信システム、中継処理装置、情報処理方法、及びプログラム WO2021235437A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-087812 2020-05-20
JP2020087812A JP2021182294A (ja) 2020-05-20 2020-05-20 通信システム、中継処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2021235437A1 true WO2021235437A1 (ja) 2021-11-25

Family

ID=78606658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/018797 WO2021235437A1 (ja) 2020-05-20 2021-05-18 通信システム、中継処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP2021182294A (ja)
WO (1) WO2021235437A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092409A (ja) * 2004-09-27 2006-04-06 Hitachi Information Systems Ltd 複合データベース検索システムおよび複合データベース検索方法ならびにそのためのプログラム
JP2008098937A (ja) * 2006-10-11 2008-04-24 Mitsubishi Electric Corp 仮想ネットワーク通信システムおよび通信端末
JP2018011306A (ja) * 2017-08-03 2018-01-18 沖電気工業株式会社 通信装置、通信方法、プログラム、およびネットワークシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092409A (ja) * 2004-09-27 2006-04-06 Hitachi Information Systems Ltd 複合データベース検索システムおよび複合データベース検索方法ならびにそのためのプログラム
JP2008098937A (ja) * 2006-10-11 2008-04-24 Mitsubishi Electric Corp 仮想ネットワーク通信システムおよび通信端末
JP2018011306A (ja) * 2017-08-03 2018-01-18 沖電気工業株式会社 通信装置、通信方法、プログラム、およびネットワークシステム

Also Published As

Publication number Publication date
JP2021182294A (ja) 2021-11-25

Similar Documents

Publication Publication Date Title
US7310736B2 (en) Method and system for sharing storage space on a computer
JP3526688B2 (ja) コネクションレスな通信における従量制課金システムおよび方法
JP4339234B2 (ja) Vpn接続構築システム
JPH10177552A (ja) 認証応答方法およびその方法を用いた認証応答装置
KR101623742B1 (ko) 파일 연관 메시지 공유 방법 및 메시지 공유 시스템
JP2007188184A (ja) アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
JP2009054086A (ja) 情報提供装置
JP2019074994A (ja) 情報処理装置、情報処理システム及びプログラム
KR100419400B1 (ko) 인터넷 기반의 실시간 도면 공동 작업 및 커뮤니케이션시스템의 운용 방법
WO2021235437A1 (ja) 通信システム、中継処理装置、情報処理方法、及びプログラム
JP4400787B2 (ja) Webアクセス監視システム及び管理者用クライアントコンピュータ
JP7106078B2 (ja) データ分散型統合管理システム
KR100538924B1 (ko) 개인 컴퓨터를 서비스 서버로 구동한 다수의 서버/클라이언트들 구조를 이용한 피어투피어 방식의 웹 서비스, 원격 스토리지 서비스, 원격 제어 서비스 제공방법
JP3925635B2 (ja) 情報配信システムおよび情報配信方法
JP2011118626A (ja) 情報処理システム、ファイル管理サーバ、制御方法、プログラム。
JP3974128B2 (ja) データ転送方法及びデータ転送システム
JP2007094493A (ja) アクセス制御システム及びアクセス制御方法
JP2014032610A (ja) オンラインストレージシステム、管理サーバプログラム及びファイル制御プログラム
KR101044455B1 (ko) 정보 공유 시스템 및 방법
JP2021131795A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2002132560A (ja) バックアップシステム
KR20110113557A (ko) 정보 공유 시스템 및 방법
JP5272474B2 (ja) 接続制御方法及び接続制御プログラム
JP2002358274A (ja) イントラネットシステム
KR101409348B1 (ko) 통합 사용자 인증 정보를 이용한 사용자 인증 및 관리 방법

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: 21808079

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21808079

Country of ref document: EP

Kind code of ref document: A1