Information processing device and system
The information processing device and system enhance security in communication systems by using a key management system to authorize communication between devices and an electronic device, addressing the security shortcomings of existing technologies.
Patent Information
- Application Number
- JP2021038094
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-10
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2041-03-10
AI Technical Summary
Existing technologies fail to enhance security when relaying communication between a source device and an electronic device, particularly in scenarios where multiple devices are involved in the communication process.
An information processing device and system that includes a key generation unit, a key transmitting unit, a connection control unit, and a response notification unit, which generate and manage keys to secure communication between devices, ensuring that only authorized devices can communicate with the electronic device.
The proposed solution effectively improves security by ensuring that only authorized devices can communicate with the electronic device, thereby reducing the risk of unauthorized access and enhancing overall security in communication systems.
Smart Images

Figure 0007661726000001 
Figure 0007661726000002 
Figure 0007661726000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device and system. [Background technology]
[0002] There are technologies for communicating with electronic devices such as printers. Patent Document 1 discloses a technology for configuring a printing device from a web browser within a local network. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2014 / 106883 Summary of the Invention [Problem to be solved by the invention]
[0004] In communication with electronic devices, there are cases where a communication source device communicates with the electronic device via another device. In such cases, there has been a demand for improving security, but the problem with Patent Document 1 is that security cannot be improved. [Means for solving the problem]
[0005] An information processing device for solving the above problem includes a key generation unit that generates a first key associated with an electronic device when a processing request for an electronic device is received, a key transmission unit that transmits the first key to a requester of the processing request, a connection control unit that connects the electronic device associated with the first key corresponding to the received second key when a second key is received from the requester, and a response notification unit that notifies the requester of the response data when response data is received from the electronic device, the response data including screen data used to control the electronic device. A system for solving the above problem includes an information processing device, a terminal device, and an electronic device, and the information processing device includes a key generation unit that generates a first key associated with the electronic device when a processing request for the electronic device is received, a key transmission unit that transmits the first key to a requester of the processing request, a connection control unit that relays the terminal device to connect to the electronic device associated with the first key corresponding to the received second key when a second key is received from the requester, and a response notification unit that notifies the requester of the response data when response data is received from the terminal device, the response data including screen data used to control the electronic device. A system for solving the above problem includes a request sending unit that, when receiving an instruction for a processing request for an electronic device, sends the processing request to a default information processing device, and, when receiving a first key corresponding to the electronic device from the information processing device in response to the processing request, sends the first key to a default communication destination; and a display control unit that displays a screen used to control the electronic device on a display unit based on screen data used to control the electronic device included in response data sent from the communication destination in response to the sending of the first key. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 is a block diagram of a communication system. [Diagram 2] FIG. 2 is a diagram illustrating a data flow in communication. [Diagram 3] FIG. 2 is a sequence diagram showing processing of the communication system. [Figure 4] FIG. 2 is a sequence diagram showing processing of the communication system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] Here, the embodiments of the present invention will be described in the following order. (1)Communication system configuration: (2)Communication processing: (3) Other embodiments:
[0008] (1)Communication system configuration: FIG. 1 is a block diagram showing the configuration of a communication system 10, a browser terminal device 100, and an administrator terminal device 600 according to an embodiment. In this embodiment, the communication system 10 is a system that communicates with the browser terminal device 100. The communication system 10 includes a server device 20, a terminal device 400, and an electronic device 500. The server device 20 is an information processing device that includes two server devices, a first server device 200 and a second server device 300. The browser terminal device 100, the first server device 200, the second server device 300, the terminal device 400, and the administrator terminal device 600 are each connected to a network 700. In addition, the terminal device 400 and the electronic device 500 are each connected to a network 800. The network 700 is an external network of the network 800, such as the Internet, a local area network (LAN), or a wide area network (WAN). The network 800 is a network such as a LAN or a WAN. The terminal device 400 constitutes a gateway of the network 800.
[0009] In this embodiment, each device in the network 800 is configured not to accept a request from outside the network 800 according to a first protocol, which is a default protocol. In this embodiment, the first protocol is hyper text transfer protocol (HTTP), but may be another protocol such as Telnet. In this embodiment, HTTP is a concept that also includes hyper text transfer protocol secure (HTTPS). Request processing and response data according to HTTP include a request line or a response line, an HTTP header, and a body, which is the data to be exchanged. Note that if there is no data to be exchanged, processing request and response data according to HTTP do not need to include a body.
[0010] In this embodiment, the terminal device 400, which is a gateway of the network 800, is configured to block requests in the first protocol from outside the network 800 to devices in the network 800. However, other configurations may be used as long as each device in the network 800 can be configured not to accept requests in the first protocol from outside the network 800. For example, each device in the network 800 may be configured to discard a request in the first protocol received from outside the network 800. In this embodiment, the browser terminal device 100 and the electronic device 500 relay between the second server device 300 and the terminal device 400, and indirectly communicate using the first protocol.
[0011] 2 is a diagram showing an overview of communication between the browser terminal device 100 and each element of the communication system 10. Below, the browser terminal device 100 and each element of the communication system 10 will be described with reference to FIGS.
[0012] The browser terminal device 100 is an information processing device having a browser function. In this embodiment, the browser terminal device 100 is used for remote maintenance of the electronic device 500, but may be used for other purposes such as remote use of the electronic device 500 and confirmation of the usage status of the electronic device 500. The browser terminal device 100 indirectly transmits a processing request to the electronic device 500 by the first protocol by communicating with the first server device 200 and the second server device 300 via the browser, and acquires response data from the electronic device 500. Here, the processing request is a request for execution of a process, and in this embodiment, the processing request is a request for processing to provide a screen used for controlling the setting change of the electronic device 500, the execution of a specified process, etc. In the following, the screen used for controlling the electronic device 500 is referred to as a control screen. However, the processing request may be a request for other processing such as processing to provide a confirmation screen of setting information, processing to change settings, and processing to provide information indicating the usage status of the electronic device 500.
[0013] In this embodiment, the electronic device 500 transmits response data including screen data of a control screen to the requester as a response to the processing request. In this embodiment, the response data is data of a web page displayed in the browser displayed by the browser terminal device 100, but may be other data such as a dialog. The screen data of the control screen is, for example, image information of the control screen, information indicating each object arranged in the control screen, etc. In addition, when the arrangement mode of each display object such as a button, a display block, etc. on the control screen is known in advance by the requester of the processing request, the screen data of the control screen may be text data such as characters and numbers displayed on these objects.
[0014] The browser terminal device 100 includes a control unit 110, a communication unit 120, an input / output unit 130, and a recording medium (not shown). The control unit 110 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like. The communication unit 120 includes a circuit for communicating with other devices via a wired or wireless connection. The control unit 110 communicates with external devices via the communication unit 120. The input / output unit 130 includes an input unit such as a mouse, a keyboard, a touch panel, and the like, and a display unit such as a display.
[0015] The control unit 110 realizes the functions of a browser control unit 111 by executing a program recorded in the ROM or a recording medium. The browser control unit 111 is a functional unit that displays a browser on the input / output unit 130 and communicates with an external device via the browser. The browser control unit 111 includes a request transmission unit 111a and a display control unit 111b.
[0016] The control unit 110 displays a browser on the input / output unit 130 by the function of the browser control unit 111, and accesses the first server device 200 through the displayed browser. When accessing the first server device 200, the control unit 110 notifies the first server device 200 of user authentication information including a user name and a password. In response to the notification of the authentication information, the first server device 200 authenticates the user, and if the user is authenticated, transmits to the browser terminal device 100 a screen used to instruct the electronic device 500 to transmit a processing request. Hereinafter, this screen is referred to as an instruction screen. In this embodiment, the instruction screen is a screen including a list of candidates for transmission targets of the processing request, including the electronic device 500. The control unit 110 displays the instruction screen acquired from the first server device 200 in the browser displayed on the input / output unit 130. Then, when the control unit 110 detects the selection of the electronic device 500 through the instruction screen, it determines that the electronic device 500 has been selected as a target to which the processing request is to be transmitted.
[0017] The request transmitting unit 111a is a functional unit that transmits a processing request according to the first protocol to the first server apparatus 200 and the second server apparatus 300 different from the electronic device 500, when an instruction to transmit a processing request is received via an instruction screen. When the electronic device 500 is selected as a target for transmitting a processing request via the instruction screen by the function of the request transmitting unit 111a, the control unit 110 transmits a processing request for the electronic device 500 to the first server device 200, as shown in (1) of FIG. 2. Here, the transmitted processing request includes information indicating the electronic device 500 that is the processing request destination, and information indicating the browser terminal device 100 that is the request source of the processing request. In this embodiment, the control unit 110 transmits a processing request in accordance with the first protocol to the first server device 200. However, the control unit 110 may transmit a processing request in accordance with a protocol different from the first protocol, such as SPDY, to the first server device 200.
[0018] Then, the control unit 110 acquires an authentication key transmitted from the first server device 200 as a response to the processing request, as shown in (3) of FIG. 2. Here, the authentication key is a key used for authenticating the browser terminal device 100 in the second server device 300. In this embodiment, the authentication key is a predetermined character string that is unique to the corresponding processing request. This character string has a predetermined number of characters, such as 3 characters, 5 characters, or 10 characters. However, the authentication key may be other information, such as a bit string, as long as it is unique to the corresponding processing request. In this embodiment, the authentication key is a one-time key that is valid only once. However, the authentication key may be a key that is valid two or more times. When the control unit 110 receives the authentication key from the first server device 200, it inputs the URL of the second server device 300 and the received authentication key into the address bar of the browser. However, the control unit 110 may input the URL of the second server device 300 into the address bar of the browser based on a user's operation via the input / output unit 130. In that case, the control unit 110 does not need to input the received authentication key into the address bar of the browser.
[0019] Then, the control unit 110 generates data of a processing request by the first protocol for the electronic device 500, including the URL input in the address bar of the browser. In this embodiment, the control unit 110 generates HTTP request data of the GET method as data of the processing request by the first protocol for the electronic device 500, but may generate an HTTP request of another method such as the POST method. Then, the control unit 110 includes the authentication key input in the address bar in the generated data of the processing request by the first protocol and transmits the data to the second server device 300, not to the electronic device 500. The authentication key transmitted from the control unit 110 to the second server device 300 together with the data of the processing request is an example of the second key. (4) of FIG. 2 shows the data of the processing request by the first protocol and the authentication key transmitted from the browser terminal device 100 to the second server device 300. As a result, the control unit 110 transmits the data of the processing request by the first protocol to the electronic device 500 via the second server device 300 and the terminal device 400.
[0020] The display control unit 111b is a functional unit that displays a control screen on the display unit of the input / output unit 130 based on response data from the electronic device 500 to the processing request data sent from the second server device 300, as shown in (9) of Figure 2. The control unit 110, using the function of the display control unit 111b, receives response data from the second server device 300, which is response data of the electronic device 500 to the processing request data transmitted using the function of the request transmission unit 111a and includes information about a control screen. The control unit 110 causes the control screen to be displayed as a web page indicated by the received response data in the browser displayed on the display unit of the input / output unit 130. Then, when the control unit 110 receives a control instruction for the electronic device 500 via the control screen, it transmits a processing request based on the control instruction for the electronic device 500 to the electronic device 500, relaying it through the second server device 300 and the terminal device 400, similar to the processing request for providing the control screen.
[0021] The first server device 200 is an information processing device that receives a processing request for the electronic device 500 from the browser terminal device 100, generates an authentication key associated with the electronic device 500, and transmits the generated authentication key to the browser terminal device 100 and the second server device 300. The first server device 200 includes a control unit 210, a communication unit 220, and a recording medium 230. The control unit 210 includes a CPU, a RAM, a ROM, etc. The communication unit 220 includes a circuit for communicating with other devices via a wired or wireless connection. The control unit 210 communicates with external devices via the communication unit 220. The recording medium 230 records correspondence information 231 indicating the correspondence between the electronic device 500 in the network 800 and the terminal device 400 that manages the electronic device 500, various programs, etc.
[0022] The control unit 210 executes a program recorded in the ROM or the recording medium 230 to realize the functions of an authentication unit 211, a key generation unit 212, and a key transmission unit 213. The authentication unit 211 is a functional unit that authenticates the user of the browser terminal device 100. The control unit 210, using the function of the authentication unit 211, acquires user authentication information including, for example, a user name and a password from the browser terminal device 100 and authenticates the user based on the acquired authentication information.
[0023] The key generating unit 212 is a functional unit that generates an authentication key associated with the electronic device 500 when a processing request for the electronic device 500 is received. The authentication key generated by the function of the key generating unit 212 is an example of a first key. The control unit 210 receives a processing request for the electronic device 500 from the browser terminal device 100 by the function of the key generating unit 212. Then, the control unit 210 inquires of the administrator terminal device 600 whether or not to permit the browser terminal device 100, which is the request source of this processing request, to make a processing request for the electronic device 500, which is the request destination indicated by this processing request. The administrator terminal device 600 is an information processing device used by the administrator of the electronic device 500. For example, the control unit 210 notifies the administrator terminal device 600 of a screen used for selecting whether or not to permit the processing request for the electronic device 500, and acquires the selection result via this screen from the administrator terminal device 600. When the administrator terminal device 600 selects to permit a processing request to the electronic device 500, the control unit 210 generates an authentication key used for authenticating the browser terminal device 100 in the second server device 300. In this embodiment, the control unit 210 generates a character string "AAA" as the authentication key, but may generate data in other formats, such as other character strings or bit strings, as the authentication key.
[0024] However, in cases where information on a target for which a processing request to the electronic device 500 is permitted is recorded in advance in the recording medium 230, the control unit 210 may not need to inquire of the administrator terminal device 600. In that case, the control unit 210 may generate an authentication key if, for example, the request source of the processing request received from the browser terminal device 100 is recorded in the recording medium 230 as a target for which a processing request to the electronic device 500 is permitted.
[0025] Then, the control unit 210 associates the generated authentication key with the target electronic device 500 indicated by the processing request received from the browser terminal device 100. Furthermore, the control unit 210 identifies a terminal device corresponding to the electronic device 500, i.e., a terminal device that manages the electronic device 500, from the correspondence information 231. In this embodiment, the terminal device 400 manages the electronic device 500. Therefore, the control unit 210 identifies the terminal device 400.
[0026] The key transmission unit 213 is a functional unit that transmits the authentication key generated by the function of the key generation unit 212 to the browser terminal device 100 that is the request source of the processing request to the electronic device 500. The control unit 210 transmits the authentication key generated by the function of the key generation unit 212, the information of the electronic device 500 associated with the authentication key, and the information of the terminal device 400 corresponding to the electronic device 500 to the second server device 300 by the function of the key transmission unit 213. In this embodiment, the control unit 210 transmits the IP address of the electronic device 500 in the network 800 and the identification information of the terminal device 400 as the information of the electronic device 500 and the information of the terminal device 400, respectively. Hereinafter, the identification information is represented as a terminal ID. In (2) of FIG. 2, the authentication key transmitted from the first server device 200 to the second server device 300, the IP address of the electronic device 500, and the terminal ID of the terminal device 400 are shown. In the second server device 300, the transmitted authentication key is registered in association with the information of the electronic device 500 and the information of the terminal device 400.
[0027] 2(3), the control unit 210 transmits an authentication key generated by the function of the key generating unit 212 to the browser terminal device 100, and instructs the browser terminal device 100 to transmit data of a processing request to the second server device 300 using the transmitted authentication key. In response to this instruction, the browser terminal device 100 transmits data of a processing request for the electronic device 500 according to the first protocol together with the received authentication key to the second server device 300, as shown in FIG. 2(4). However, the control unit 210 may not instruct the browser terminal device 100 to transmit data of a processing request to the second server device 300. In that case, the browser terminal device 100 may transmit a processing request to the second server device 300 at a timing designated by the user via the input / output unit 130, for example. An example of the timing designated by the user is the timing when the URL of the second server device 300 is input into the address bar of the browser.
[0028] The second server device 300 is an information processing device that receives data of a processing request for the electronic device 500 in accordance with the first protocol and an authentication key from the browser terminal device 100, and performs authentication using the authentication key and communication with the terminal device 400 that manages the electronic device 500. The second server device 300 includes a control unit 310, a communication unit 320, and a recording medium 330. The control unit 310 includes a CPU, a RAM, a ROM, etc. The communication unit 320 includes a circuit for communicating with other devices via wired or wireless communication. The control unit 310 communicates with external devices via the communication unit 320. The recording medium 330 records key information 331 including authentication key information, various programs, etc.
[0029] The control unit 310 executes a program recorded in the ROM or the recording medium 330 to realize the functions of a registration unit 311, a connection control unit 312, and a response notification unit 313. The registration unit 311 is a functional unit that registers information on the authentication key received from the first server device 200. The control unit 310 receives the authentication key, information on the electronic device 500, and information on the terminal device 400 from the first server device 200 through the function of the registration unit 311. Then, the control unit 310 associates the received authentication key, information on the electronic device 500, and information on the terminal device 400 with each other, and records them as key information 331 in the recording medium 330.
[0030] The connection control unit 312 is a function for connecting to the electronic device 500 corresponding to the authentication key received from the browser terminal device 100, and includes a data transmission unit 312a. The data transmission unit 312a is a functional unit for transmitting data according to a second protocol, which is a default protocol different from the first protocol and includes a processing request according to the first protocol, to the terminal device 400. In this embodiment, the second protocol is Message Queue Telemetry Transport (MQTT), which is a stateful protocol, but may be any other protocol as long as it is a protocol that can deliver information from a device outside the network 800 to a device inside the network 800. For example, the second protocol may be Constrained Application Protocol (CoAP), Extensible Messaging and Presence Protocol (XMPP), or the like.
[0031] The control unit 310 authenticates the browser terminal device 100 by using the authentication key received from the browser terminal device 100 together with the data of the processing request by the first protocol, by the function of the connection control unit 312. More specifically, the control unit 310 judges whether or not an authentication key identical to the received authentication key is recorded as key information 331 in the recording medium 330. If the control unit 310 judges that the authentication key is recorded, it authenticates the browser terminal device 100, and if it judges that the authentication key is not recorded, it does not authenticate the browser terminal device 100. If the control unit 310 authenticates the browser terminal device 100, it specifies the IP address of the electronic device 500, which is information of the electronic device 500 associated with this authentication key, and the terminal ID of the terminal device 400, from the key information 331. Then, the control unit 310 establishes communication by the second protocol with the terminal device 400 indicated by the specified terminal ID.
[0032] Then, the control unit 310 generates data in the second protocol to be transmitted to the terminal device 400 by the function of the data transmission unit 312a. More specifically, the control unit 310 modifies the data of the processing request in the first protocol received from the browser terminal device 100 as follows. That is, the control unit 310 removes the authentication key from the data of the processing request, and modifies the part of the URL of the second server device 300 to the IP address of the electronic device 500. Then, the control unit 310 generates data in a default data format used in the second protocol as the main data, including the modified data of the processing request in the first protocol, identification information of the processing request, the IP address of the electronic device 500 acquired from the key information 331 by the function of the connection control unit 312, a default port number used for communication related to the data of the processing request, and information indicating whether the data of the main data is in the Base64 format. Hereinafter, the identification information of the processing request is referred to as a request ID. In this embodiment, this default data format is the JavaScript (registered trademark) Object Notation (json) format, but it may be another data format such as the XML format or Base64 format. When the control unit 310 receives data of a processing request for the electronic device 500 from the browser terminal device 100, the control unit 310 assigns a request ID that uniquely identifies the received data of the processing request.
[0033] An example of data according to the second protocol generated by the function of the data transmission unit 312a is shown below. Example data: {"request_id":"abcdefghij", "host":"**.**.**.**", "port":"***", "Base64":false, "body":"GET / http / ···"}
[0034] In this example, the "request_id" key is a key indicating the request ID of the data of the processing request. In this example, the request ID of the data of the processing request is "abcdefghij". The "host" key is a key indicating the IP address of the electronic device 500 which is the request destination of the data of the processing request. In this example, the IP address indicating the request destination of the data of the processing request is "**.**.**.**". The "port" key is a key indicating a default port number used for communication related to the data of the processing request. In this example, the default port number used for communication related to the processing request is "***". The "Base64" key is a key indicating whether the data of the main body is data in Base64 format. In this example, since the value of the "Base64" key is "false", the data of the main body is not in Base64 format. The "body" key is a key indicating the data of the main body. In this example, the data of the main body is "GET / http / ···", which is data according to the first protocol indicating a processing request to the electronic device 500.
[0035] In this example, the data of the processing request by the first protocol included in the data is not in Base64 format, but it may be in Base64 format. In that case, for example, the terminal device 400 that receives this data may extract the processing request in Base64 format from the received data and convert the extracted processing request data to the original format.
[0036] The control unit 310 transmits the generated data in the second protocol to the terminal device 400, which is indicated by the terminal ID obtained from the key information 331 by the function of the connection control unit 312 as the default communication destination, as shown in (5) of FIG. 2. In this manner, the control unit 310 wraps and encapsulates the processing request in the first protocol with data in the second protocol, thereby transmitting the processing request in the first protocol to a device in the network 800. The terminal device 400 extracts the processing request in the first protocol from the transmitted data and transmits it to the electronic device 500. In this manner, the control unit 310 connects to the electronic device 500 via the terminal device 400.
[0037] The response notification unit 313 is a functional unit that transmits response data of the electronic device 500 to a processing request, which is sent from the terminal device 400 in response to the transmission of data using the second protocol by the function of the data transmission unit 312a, to the browser terminal device 100, which is the source of the processing request. The control unit 310 receives, by the function of the response notification unit 313, response data of the electronic device 500 in response to the processing request from the terminal device 400.
[0038] In this embodiment, when the terminal device 400 receives data in the second protocol transmitted by the function of the data transmission unit 312a, it extracts a processing request in the first protocol from the received data. Then, as shown in (6) of FIG. 2, the terminal device 400 transmits the extracted processing request in the first protocol to the electronic device 500, and receives response data in the first protocol to the processing request from the electronic device 500 as shown in (7) of FIG. 2. The response data includes an HTTP header and a data body. The terminal device 400 generates data in a default third protocol that includes the received response data in the first protocol and a request ID of the processing request. In this embodiment, the default third protocol is HTTP, but may be another protocol such as MQTT. In this embodiment, the terminal device 400 converts the response data in the first protocol received from the electronic device 500 into Base64 format to include it in the data in the HTTP. As shown in (8) of FIG. 2, the terminal device 400 transmits the generated data in the third protocol as a response to the data transmitted by the function of the data transmission unit 312a.
[0039] The control unit 310 extracts the response data of the electronic device 500 in the first protocol and the request ID of the processing request from the data in the third protocol received from the terminal device 400. The control unit 310 identifies which processing request the extracted response data corresponds to based on the extracted request ID. The control unit 310 then converts the extracted response data in the first protocol from the Base64 format to the original format, and transmits it to the browser terminal device 100, which is the request source of the identified processing request, as shown in (9) of FIG. 2.
[0040] The terminal device 400 is an information processing device that manages the electronic device 500 and relays communication between the second server device 300 and the electronic device 500. The terminal device 400 includes a control unit 410, a communication unit 420, and a recording medium (not shown). The control unit 410 includes a CPU, a RAM, a ROM, etc. The communication unit 420 includes a circuit for communicating with other devices in a wired or wireless manner. The control unit 410 communicates with external devices via the communication unit 420.
[0041] The control unit 410 realizes the functions of a request notification unit 411 and a response data transmission unit 412 by executing a program recorded in the ROM or a recording medium. The request notification unit 411 is a functional unit that transmits a processing request in the first protocol to the electronic device 500 based on the data in the second protocol transmitted from the second server device 300. The control unit 410 extracts a processing request in the first protocol for the electronic device 500 from the data in the second protocol received from the second server device 300 by the function of the request notification unit 411. The control unit 410 also extracts a request ID of the processing request, a port number, and an IP address of the electronic device 500 from the data in the second protocol received from the second server device 300. Then, the control unit 410 records the extracted request ID in the RAM. The control unit 410 also transmits the extracted processing request in the first protocol to the extracted port number of the electronic device 500 of the extracted IP address, as shown in (6) of FIG. 2. In this way, the second server device 300 and the terminal device 400, through the functions of the data transmission unit 312a and the request notification unit 411, transmit a processing request using the first protocol sent from the browser terminal device 100 outside the network 800 to the electronic device 500 within the network 800.
[0042] The response data transmitting unit 412 is a functional unit that transmits, to the second server apparatus 300, response data that is transmitted from the electronic device 500 as a response to the processing request transmitted by the function of the request notification unit 411. As shown in (7) of FIG. 2, the control unit 410 receives, from the electronic device 500, response data in the first protocol of the electronic device 500 in response to the processing request transmitted by the function of the request notification unit 411, by the function of the response data transmission unit 412. The control unit 410 converts the received response data in the first protocol into Base64 format. By converting the response data into Base64 format, even if the response data includes binary data, the response data can be included in the data in the third protocol. Then, the control unit 410 generates data in the third protocol that includes the converted response data and the request ID of the processing request recorded in the RAM by the function of the request notification unit 411. Then, the control unit 410 transmits the generated data in the third protocol to the second server device 300, as shown in (8) of FIG. 2. In this way, the control unit 410 transmits the data in the third protocol that wraps the response data converted into Base64 format to the second server device 300, thereby transferring the response data in the first protocol to the second server device 300.
[0043] The electronic device 500 is a web server device having a function of receiving a processing request via a network and performing processing in response to the received processing request, and communicates with devices in the network 800 using a first protocol. However, the electronic device 500 does not have to be a web server device as long as it has a function of receiving a processing request using the first protocol and performing processing in response to the received processing request. In this embodiment, the electronic device 500 is a printer, but may be other devices such as a multifunction device, a scanner, a projector, a PC, an air conditioner, or a lighting device.
[0044] The electronic device 500 includes a control unit 510, a communication unit 520, and a recording medium (not shown). The control unit 510 includes a CPU, a RAM, a ROM, etc. The communication unit 120 includes a circuit for communicating with other devices in a wired or wireless manner. The control unit 510 realizes the function of a response unit 511 by executing a program recorded in the ROM or the recording medium. The response unit 511 is a functional unit that transmits response data in response to a processing request in the first protocol from an external device to the source of the processing request. As shown in (6) of Fig. 2, when the control unit 510 receives a processing request in the first protocol from the terminal device 400, the control unit 510 generates response data in the first protocol including information on the control screen by the function of the response unit 511. Then, as shown in (7) of Fig. 2, the control unit 510 transmits the generated response data in the first protocol to the terminal device 400, which is the source of the processing request.
[0045] In this manner, the communication system 10 indirectly realizes communication between the browser terminal device 100 and the electronic device 500 using the first protocol, and the browser terminal device 100 displays a control screen.
[0046] With the above-described configuration of the present embodiment, the communication system 10 transmits a processing request in the first protocol from the browser terminal device 100 outside the network 800 to the electronic device 500 in the network 800 via the second server device 300 and the terminal device 400. This allows the communication system 10 to cause the electronic device 500 to execute processing in response to the processing request in the first protocol even from outside the network 800, thereby improving the convenience of the electronic device 500.
[0047] Furthermore, in this embodiment, the second server device 300 transmits response data of the electronic device 500 in response to the processing request as data in the first protocol to the browser terminal device 100, which is the request source of the processing request. As a result, the browser terminal device 100 transmits a processing request in the first protocol, and receives response data in the first protocol as a response to the transmitted processing request. In this way, from the perspective of the browser terminal device 100, communication with the electronic device 500 in the first protocol is realized. As a result, the browser terminal device 100 only needs to exchange information with the electronic device 500 in the first protocol, so there is no need to use separate protocols for transmitting and receiving information, and communication with the electronic device 500 can be more easily performed.
[0048] In the present embodiment, the first protocol is HTTP, and the response data from the electronic device 500 is web page data. Therefore, the browser terminal device 100 can communicate with the electronic device 500 via the browser using HTTP, and display the response data on the browser. This allows the user of the browser terminal device 100 to communicate with the electronic device 500 by operating the browser.
[0049] In the present embodiment, the second protocol is MQTT. This allows the communication system 10 to realize relatively light communication between the second server device 300 and the terminal device 400, and to speed up communication between the browser terminal device 100 and the electronic device 500.
[0050] Furthermore, in this embodiment, the first server device 200 transmits information about the electronic device 500 and the terminal ID of the terminal device 400 together with the generated authentication key to the second server device 300. The first server device 200 does not transmit information about the electronic device 500 and the terminal ID of the terminal device 400 together with the generated authentication key to the browser terminal device 100. In this way, information about the terminal device 400 and the electronic device 500 in the network 800 is not transmitted to the browser terminal device 100 that is the source of the processing request. This allows the communication system 10 to reduce the possibility that information about the terminal device 400 and the electronic device 500 will be leaked via the browser terminal device 100.
[0051] In this embodiment, the first server device 200 generates an authentication key used to authenticate the browser terminal device 100, and the second server device 300 registers the authentication key generated by the first server device 200 as key information 331 in association with the electronic device 500 that is the processing request destination and the corresponding terminal device 400. The second server device 300 then connects to the electronic device 500 associated with the authentication key that is the same as the authentication key received from the browser terminal device 100 together with the processing request, among the authentication keys registered as the key information 331. In this way, the second server device 300 connects to the request destination of the processing request associated with the authentication key by receiving the authentication key. As a result, when the second server device 300 receives a processing request without an authentication key in communication relayed by another device between the browser terminal device 100 and the electronic device 500, it does not connect to the electronic device 500, and it is possible to reduce unauthorized connections and improve security.
[0052] (2)Communication processing: 3 and 4 are sequence diagrams showing communication processing executed by the communication system 10 and the browser terminal device 100. The sequence diagram in Fig. 3 and the sequence diagram in Fig. 4 are continuous, and are continuous from the bottom of the sequence diagram in Fig. 3 to the top of the sequence diagram in Fig. 4. In S100, the control unit 110 of the browser terminal device 100 notifies the first server device 200 of the authentication information of the user of the browser terminal device 100 by the function of the browser control unit 111, and accesses the first server device 200.
[0053] In S105, the first server apparatus 200 authenticates the user of the browser terminal apparatus 100 based on the authentication information notified in S100, and transmits an instruction screen to the browser terminal apparatus 100 if the authentication is successful. In S110, control unit 110, by the function of browser control unit 111, acquires the instruction screen transmitted from first server apparatus 200 in response to the access in S100.
[0054] In S115, the control unit 110 causes the browser control unit 111 to display the instruction screen acquired in S110 in the browser displayed on the input / output unit . In S120, when the electronic device 500 is selected as the target to which a processing request is to be sent via the instruction screen displayed in S115, the control unit 110, by the function of the request sending unit 111a, sends a processing request for the electronic device 500 to the first server device 200.
[0055] In S125, the control unit 210 of the first server device 200 receives a processing request for the electronic device 500 from the browser terminal device 100 by the function of the key generating unit 212. Then, the control unit 210 inquires of the administrator terminal device 600 whether or not to permit the processing request from the browser terminal device 100 to the electronic device 500. In S130, when the result of the inquiry in S125 indicates that the processing request to the electronic device 500 is permitted, the control unit 210, by the function of the key generating unit 212, generates an authentication key used for authenticating the browser terminal device 100 in the second server device 300, and associates the generated authentication key with the electronic device 500 that is the destination of the processing request received in S125. In addition, the control unit 210 identifies the terminal device 400 that corresponds to the electronic device 500 from the correspondence information 231.
[0056] In S135, the control unit 210, by using the function of the key sending unit 213, sends to the second server device 300 the authentication key generated in S130, information about the electronic device 500 associated with the authentication key, and information about the terminal device 400 corresponding to the electronic device 500. In S140, the control unit 310 of the second server device 300 receives the authentication key, the information of the electronic device 500, and the information of the terminal device 400 from the first server device 200 through the function of the registration unit 311. Then, the control unit 310 associates the received authentication key, the information of the electronic device 500, and the information of the terminal device 400, and records them as key information 331 on the recording medium 330.
[0057] In S145, the control unit 210 of the first server device 200, by using the function of the key sending unit 213, sends the authentication key generated in S130 to the browser terminal device 100, and instructs the browser terminal device 100 to send a processing request to the second server device 300 using the sent authentication key. In S150, the control unit 110 of the browser terminal device 100 generates data of a processing request in the first protocol for the electronic device 500, using the function of the request transmission unit 111a. Then, the control unit 110 transmits the generated data of the processing request to the second server device 300 together with the authentication key transmitted in S145.
[0058] In S155, the control unit 310 of the second server apparatus 300, by the function of the connection control unit 312, determines whether or not an authentication key identical to the authentication key received from the browser terminal apparatus 100 in S150 is recorded as key information 331 in the recording medium 330. If the control unit 310 determines that the authentication key is recorded, it authenticates the browser terminal apparatus 100, and if it determines that the authentication key is not recorded, it does not authenticate the browser terminal apparatus 100. If the control unit 310 authenticates the browser terminal apparatus 100, it obtains information on the electronic device 500 associated with this authentication key and information on the terminal apparatus 400 from the key information 331.
[0059] In S160, the control unit 310, through the function of the data transmission unit 312a, generates data in the second protocol including data of the processing request in the first protocol received from the browser terminal device 100, a request ID of the processing request, information about the electronic device 500 to which the processing request is being sent, a default port number, and information indicating whether the data of the processing request is data in Base64 format. In S165, the control unit 310 transmits the data in accordance with the second protocol generated in S160 to the terminal device 400 by the function of the data transmission unit 312a.
[0060] In S170, the control unit 410 of the terminal device 400 receives the data in accordance with the second protocol transmitted in S165 by the function of the request notification unit 411. The control unit 410 extracts data of a processing request in accordance with the first protocol for the electronic device 500 from the received data. The control unit 410 also extracts a request ID of the processing request, a port number, and an IP address, which is information on the electronic device 500, from the received data in accordance with the second protocol. Then, the control unit 410 records the extracted request ID in the RAM.
[0061] In S175, control unit 410 uses the function of request notification unit 411 to transmit the processing request in the first protocol extracted in S170 to the port number extracted in S170 of electronic device 500 having the IP address extracted in S170. In S180, control unit 510 of electronic device 500 receives the processing request in the first protocol transmitted in S175 by the function of response unit 511. Then, control unit 510 generates response data in the first protocol including information of the control screen. In S185, the control unit 510 uses the function of the response unit 511 to transmit the response data in the first protocol, generated in S180, to the terminal device 400.
[0062] In S190, the control unit 410 of the terminal device 400 receives the response data in the first protocol transmitted in S185 from the electronic device 500 by the function of the response data transmission unit 412. The control unit 410 converts the received response data in the first protocol into Base64 format. Then, the control unit 410 generates data in the third protocol that includes the converted response data and the request ID of the processing request recorded in the RAM in S170. In S195, the control unit 410 transmits the data in accordance with the third protocol generated in S190 to the second server apparatus 300 by the function of the response data transmission unit 412.
[0063] In S200, the control unit 310 of the second server device 300 receives the data in the third protocol transmitted from the terminal device 400 in S195 by the function of the response notification unit 313. The control unit 310 extracts the response data in the first protocol and the request ID of the processing request from the data in the third protocol received from the terminal device 400. Based on the extracted request ID, the control unit 310 specifies which processing request the extracted response data in the first protocol corresponds to.
[0064] In S205, the control unit 310 converts the response data in the first protocol extracted in S200 from the Base64 format to the original format, and transmits the data to the browser terminal device 100 that is the request source of the processing request identified in S200. In S210, the control unit 110 of the browser terminal device 100 receives the response data in the first protocol transmitted in S205 from the second server device 300 by the function of the display control unit 111b. Then, the control unit 110 displays a control screen in the browser displayed on the display unit of the input / output unit 130 based on the received response data in the first protocol.
[0065] (3) Other embodiments: The above embodiment is merely an example, and various aspects may be adopted. Furthermore, the communication system 10 shown in Fig. 1 may be configured with a larger number of systems. For example, at least one of the elements 200, 300, and 400 of the communication system 10 may be configured with a plurality of devices.
[0066] In the above embodiment, the server device 20 is configured from two server devices, the first server device 200 and the second server device 300. However, the server device 20 may be configured from one server device having the functions of the first server device 200 and the functions of the second server device 300. The server device 20 may also be configured from three or more server devices having the functions of the first server device 200 and the functions of the second server device 300 in a distributed manner.
[0067] Furthermore, in the above-described embodiment, the second server device 300 authenticates the browser terminal device 100 using an authentication key. However, the second server device 300 does not have to authenticate the browser terminal device 100. In that case, the communication system 10 may not include the first server device 200. In that case, the browser terminal device 100 transmits a processing request in the first protocol to the second server device 300, for example, without communicating with the first server device 200.
[0068] In the above embodiment, the terminal device 400 that manages the electronic device 500 exists. However, the terminal device 400 that manages the electronic device 500 may not exist. In that case, another gateway different from the terminal device 400 is configured in the network 800. The electronic device 500 may be capable of communication using the second protocol, and the second server device 300 may transmit data using the second protocol including a processing request using the first protocol to the electronic device 500 associated with the authentication key received from the browser terminal device 100. The electronic device 500 may extract a processing request using the first protocol from the received data using the second protocol, and transmit response data including a control screen to the second server device 300 in response to the extracted processing request. In that case, the second server device 300 registers the authentication key in association with information on the request destination of the processing request, without associating it with information on the terminal device 400 that manages the electronic device 500 that is the request destination of the processing request.
[0069] In the above embodiment, the authentication key generated by the first server device 200 is a one-time key that is valid only once. However, the authentication key may be a key with a finite validity period, such as one hour, one day, or one week. This makes it unnecessary to generate an authentication key within the validity period when the browser terminal device 100 communicates with the electronic device 500 by repeatedly using a similar authentication key within the validity period. Furthermore, once the validity period has elapsed, the electronic device 500 cannot be accessed using this authentication key, and unauthorized access is suppressed. In this way, the communication system 10 can reduce the processing load of generating an authentication key while maintaining security by using an authentication key with a finite validity period.
[0070] In the above embodiment, the second server device 300 registers the authentication key. At this time, the second server device 300 may register the authentication key in association with the user information of the browser terminal device 100. The user information is information for identifying a user, such as a user name or a user ID. For example, the first server device 200 acquires the user information of the browser terminal device 100 that transmitted the processing request in S120, and transmits the acquired user information together with the authentication key to the second server device 300. In this case, the second server device 300 may register the authentication key received from the first server device 200 as key information 331 in association with the user information of the browser terminal device 100.
[0071] The second server device 300 then receives the authentication key and user information together with the processing request according to the first protocol from the browser terminal device 100. The second server device 300 then determines whether or not the received authentication key associated with the received user information is registered in the key information 331. If the authentication key is registered, the second server device 300 authenticates the browser terminal device 100, and if the authentication key is not registered, the second server device 300 does not authenticate the browser terminal device 100. This allows the server device 20 to not transmit a processing request with an invalid authentication key and user information to the electronic device 500, thereby improving security compared to a case where authentication is performed without using user information.
[0072] In the above embodiment, the browser terminal device 100 indirectly communicates with the electronic device 500 using the first protocol. However, the browser terminal device 100 may communicate with the electronic device 500 in another manner, and may indirectly communicate with the electronic device 500 using another protocol such as the second protocol via the second server device 300 and the terminal device 400.
[0073] The connection control unit only needs to be able to transmit a processing request to the electronic device.
[0074] Furthermore, the present invention can be applied as a program or method executed by a computer. The above-mentioned program and method may be realized as a single device or may be realized by using parts of multiple devices, and include various aspects. In addition, the invention can be modified as appropriate, such as being partly software and partly hardware. Furthermore, the invention can also be realized as a recording medium for a program. Of course, the recording medium for the program may be a magnetic recording medium or a semiconductor memory, and any recording medium developed in the future can be considered in the same way. [Explanation of symbols]
[0075] 10...communication system, 20...server device, 100...browser terminal device, 110...control unit, 111...browser control unit, 111a...request transmission unit, 111b...display control unit, 120...communication unit, 200...first server device, 210...control unit, 211...authentication unit, 212...key generation unit, 213...key transmission unit, 220...communication unit, 230...recording medium, 231...corresponding information, 300...second server device, 310...control unit , 311...registration unit, 312...connection control unit, 312a...data transmission unit, 313...response notification unit, 320...communication unit, 330...recording medium, 331...key information, 400...terminal device, 410...control unit, 411...request notification unit, 412...response data transmission unit, 420...communication unit, 500...electronic device, 510...control unit, 511...response unit, 520...communication unit, 600...administrator terminal device, 700...network, 800...network
Claims
1. When a processing request for an electronic device is received, a first key associated with the electronic device is A key generation unit that generates a key transmitting unit that transmits the first key to a source of the processing request; When a second key is received from the request source, the first key corresponding to the received second key is a connection control unit for connecting to the electronic device associated with the Equipped with The connection control unit is configured to connect to the electronic device via a terminal device that communicates with the electronic device. When the second key is received from the request source, the previous The terminal device and the IP address of the electronic device are identified, and the identified terminal device is used as a relay. and an information processing device that connects to the electronic device of the IP address.
2. Response data from the electronic device, which is screen data used to control the electronic device When the response data including the above-mentioned is received from the electronic device, the response data is sent to the request source. A response notification unit that notifies the The information processing device according to claim 1 .
3. the request source is a device having a browser function, the screen data is a web page, The information processing device according to claim 2 , wherein the device displays the web page on a browser. 。
4. 3. The screen data is data of a screen used for controlling the electronic device.
3. The information processing device according to claim 3.
5. 5. The information storage device according to claim 1, wherein the first key is a key having a limited validity period. Information processing device.
6. The key generating unit generates the first key to which the user information of the requesting user is associated. Generate The connection control unit receives the second key from the request source, and The user information associated with the corresponding first key is information of the requesting user.
6. The method according to claim 1, further comprising the step of: connecting to an electronic device associated with the first key when the first key is in the first position; 2. The information processing device according to claim 1.
7. A system including an information processing device, a terminal device, and an electronic device, The information processing device includes: When a processing request for the electronic device is received, a first key associated with the electronic device is A key generation unit that generates a key transmitting unit that transmits the first key to a source of the processing request; When a second key is received from the request source, the first key corresponding to the received second key is a connection control unit that relays and connects the terminal device to the electronic device associated with the terminal device; Equipped with The connection control unit is configured to connect to the electronic device via a terminal device that communicates with the electronic device. When the second key is received from the request source, the previous The terminal device and the IP address of the electronic device are identified, and the identified terminal device is used as a relay. , a system that connects to the electronic device at the IP address.
Citation Information
Patent Citations
Information processing apparatus and program
JP2018049598A
Remote communication system
JP2019012401A
Remote maintenance system
JP2019159911A
Device control system and meth od for controlling device control system
WO2014106883A1