Information processing device, communication system, processing method and program for information processing device

The information processing device uses hash value comparisons to identify communication devices securely, addressing tracking risks and setup issues associated with MAC address randomization.

JP2026136752APending Publication Date: 2026-08-26CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025022471
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-14
Publication Date
2026-08-26

Smart Images

  • Figure 2026136752000001_ABST
    Figure 2026136752000001_ABST
Patent Text Reader

Abstract

Even if a communication device changes its MAC address, the information processing device can still identify the communication device while preventing third parties from tracking it. [Solution] The information processing device includes a first acquisition means for acquiring identification information of a communication device, a second acquisition means for acquiring the current MAC address of the communication device, a generation means for generating a first hash value based on the identification information of the communication device and the current MAC address of the communication device, a third acquisition means for acquiring a second hash value generated by the communication device based on the identification information of the communication device and the current MAC address of the communication device, and a comparison means for comparing the first hash value and the second hash value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a communication system, a processing method of an information processing apparatus, and a program.

Background Art

[0002] An information processing apparatus such as a PC (Personal Computer) or a smartphone, and a communication apparatus such as a printer or a scanner hold a MAC address as information for identifying a packet destination in network communication. The MAC address is assigned to each information processing apparatus connected to a network such as a PC, a smartphone, and peripheral devices, and is generally burned into the device at the time of shipment as static information that does not overlap with other terminals.

[0003] Therefore, by specifying a communication apparatus connected to an access point from the MAC address, an application or a service has produced a secondary effect that it can track a user. On the other hand, from the viewpoint of privacy, there has been a problem that a third party can track a communication apparatus using the MAC address.

[0004] Therefore, a technique for periodically changing the MAC address (hereinafter, randomization of the MAC address) has begun to be mounted mainly on smart devices. Since this technique periodically changes the MAC address to a random value, it becomes difficult for a third party to track the communication apparatus and privacy can be protected.

[0005] The purpose of randomizing MAC addresses is to prevent third parties from tracking communication devices, but it also prevents trusted services and applications from identifying communication devices. For example, Cableless Setup (CLS), a technology that supports wireless connections between communication devices and access points, identifies the communication device to be set up by comparing the MAC address obtained directly by the information processing device before setup with the MAC address obtained via the access point after setup, and confirms that the setup process is complete. Therefore, if the MAC address is changed, there is a risk that the setup may not be completed successfully. One way to solve this problem is to use static information unique to the communication device as identification information instead of the MAC address.

[0006] Patent Document 1 discloses a technique that enables the identification of a first wireless terminal by having the first wireless terminal transmit static information to a second wireless terminal. [Prior art documents] [Patent Documents]

[0007] [Patent Document 1] Patent No. 6370985 [Overview of the project] [Problems that the invention aims to solve]

[0008] However, Patent Document 1 suggests that using static information could lead to the communication device being tracked, thus reintroducing the problem that MAC address randomization had already solved.

[0009] The objective of the present invention is to enable an information processing device to identify a communication device even when the communication device changes its MAC address, while preventing a third party from tracking the communication device. [Means for solving the problem]

[0010] The information processing device includes a first acquisition means for acquiring identification information of a communication device, a second acquisition means for acquiring the current MAC address of the communication device, a generation means for generating a first hash value based on the identification information of the communication device and the current MAC address of the communication device, a third acquisition means for acquiring a second hash value generated by the communication device based on the identification information of the communication device and the current MAC address of the communication device, and a comparison means for comparing the first hash value and the second hash value. [Effects of the Invention]

[0011] According to the present invention, even if the communication device changes its MAC address, the information processing device can identify the communication device while preventing a third party from tracking the communication device. [Brief explanation of the drawing]

[0012] [Figure 1] This is a diagram illustrating an example of a communication system configuration. [Figure 2] This figure shows an example of a user interface displayed by the information processing device of the first embodiment. [Figure 3] This is a sequence diagram showing the processing of the information processing device and communication device in the first embodiment. [Figure 4] This is a flowchart showing the processing of the main processing group of the information processing device in the first embodiment. [Figure 5] This is a flowchart showing the processing of the communication device identification processing group of the information processing device in the first embodiment. [Figure 6] This is a flowchart showing the processing of the identification information processing group of the communication device in the first embodiment. [Figure 7] This is a flowchart showing the processing of the hash operation group of the communication device in the first embodiment. [Figure 8] This is a sequence diagram showing the processing of the information processing device and communication device in the second embodiment. [Figure 9] This is a flowchart showing the processing of the communication device identification processing group of the information processing device in the second embodiment. [Figure 10] It is a sequence diagram showing the processing of the information processing apparatus and the communication apparatus in the third embodiment. [Figure 11] It is a flowchart showing the processing of the main processing group of the information processing apparatus in the third embodiment. [Figure 12] It is a flowchart showing the processing of the encryption processing group of the communication apparatus in the third embodiment.

Mode for Carrying Out the Invention

[0013] Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings. Note that the following embodiments do not limit the invention according to the claims, and not all combinations of the features described in the embodiments are essential for the solution means of the invention.

[0014] (First Embodiment) FIG. 1 is a diagram showing a configuration example of a communication system 100 according to the first embodiment. The communication system 100 includes an information processing apparatus 101, a display unit 108, a keyboard 109, an access point 131, a communication apparatus 151, a display unit 160, and an operation unit 161.

[0015] The information processing apparatus 101 and the communication apparatus 151 included in the communication system 100 of the first embodiment will be described. The information processing apparatus 101 is not limited to a PC (personal computer) or a smartphone. For example, various devices such as a mobile terminal, a tablet terminal, a PDA (Personal Digital Assistant), a digital camera, etc. can be applied as the information processing apparatus 101.

[0016] In addition, as the communication device 151, although a printer is exemplified in the present embodiment, it is not limited thereto, and various devices can be applied as long as they can communicate with the information processing device 101. For example, in the case of a printer, it can be applied to an inkjet printer, a full-color laser beam printer, a monochrome printer, etc. Further, the communication device 151 can be applied not only to printers but also to copiers, facsimile devices, mobile terminals, smartphones, notebook PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, etc. In addition, the communication device 151 can also be applied to a multifunction device having a plurality of functions such as a copying function, a FAX function, and a printing function.

[0017] First, the configuration of the information processing device 101 of the present embodiment and the communication device 151 that can communicate with the information processing device 101 of the present embodiment will be described with reference to the block diagram of FIG. 1. In addition, in the present embodiment, the following configuration is described as an example, but the present embodiment is applicable to a device that can communicate with the communication device 151, and the functions are not particularly limited as shown in this figure.

[0018] The information processing device 101 is the information processing device of the present embodiment. The information processing device 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, a communication unit 110, and a short-range wireless communication unit 111, etc.

[0019] The input interface 102 is an interface for receiving data input and operation instructions from the user when an operation unit such as a keyboard 109 is operated. Note that the operation unit may be a physical keyboard or physical buttons, etc., or may be a soft keyboard or soft buttons displayed on the display unit 108. That is, the input interface 102 may receive an input (operation) from the user via the display unit 108.

[0020] The CPU 103 is a system control unit that controls the entire information processing device 101.

[0021] ROM104 stores fixed data such as control programs executed by CPU103, data tables, and embedded operating system (hereinafter referred to as OS) programs. In this embodiment, each control program stored in ROM104 performs software execution control such as scheduling, task switching, and interrupt handling under the management of the embedded OS stored in ROM104.

[0022] RAM 105 consists of SRAM (Static Random Access Memory) and other components that require a backup power supply. Since RAM 105's data is held by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. RAM 105 also includes a memory area for storing configuration information and management data for the information processing device 101. Furthermore, RAM 105 is used as both the main memory and work memory for the CPU 103.

[0023] The external storage device 106 stores an application program (hereinafter referred to as the printer setting app) for causing the communication device 151 to execute printing, a print information generation program that generates print jobs that the communication device 151 can interpret, and other such programs. The printer setting app may also have functions other than causing the communication device 151 to execute printing. For example, the printer setting app may have a function to scan the document placed in the communication device 151, a function to check the status of the communication device 151, and so on. The printer setting app is stored in the external storage device 106 after being installed from an external server, for example, via internet communication through the communication unit 110. The external storage device 106 also stores identifiers of communication devices 151 that have been connected via the communication unit 110, along with network information such as MAC addresses and IP addresses. In addition, it stores various programs such as information transmission and reception control programs that are sent and received with the communication devices 151 connected via the communication unit 110, and various information used by these programs.

[0024] The output interface 107 is an interface that controls the display unit 108 to display data and notify the status of the information processing device 101.

[0025] The display unit 108 consists of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and is used to display data and notify the status of the information processing device 101.

[0026] The communication unit 110 is a component that connects to devices such as the communication device 151 and the access point 131 to perform data communication. For example, the communication unit 110 can be connected to an access point (not shown) within the communication device 151. By connecting the communication unit 110 to the access point within the communication device 151, the information processing device 101 and the communication device 151 can communicate with each other. The communication unit 110 may communicate directly with the communication device 151 via wireless communication, or it may communicate via an external device located outside the information processing device 101 and the communication device 151.

[0027] External devices include external access points (such as access point 131) located outside the information processing device 101 and the communication device 151, as well as devices other than access points that can relay communications.

[0028] In this embodiment, the wireless communication method used by the communication unit 110 is Wi-Fi (WirelessFidelity) (registered trademark), a communication standard compliant with the IEEE 802.11 series. The access point 131 can be, for example, a wireless LAN router or similar device. In this embodiment, the method by which the information processing device 101 and the communication device 151 are directly connected without an external access point is called the direct connection method. The method by which the information processing device 101 and the communication device 151 are connected via an external access point is called the infrastructure connection method.

[0029] The short-range wireless communication unit 111 is configured to wirelessly connect to devices such as the communication device 151 at short range and perform data communication, and communicates using a different communication method than the communication unit 110. The short-range wireless communication unit 111 can connect to, for example, the short-range wireless communication unit 157 within the communication device 151. Examples of communication methods include Near Field Communication (NFC), Bluetooth® Classic, Bluetooth Low Energy (BLE), and Wi-Fi Aware.

[0030] The communication device 151 is the communication device of this embodiment. The communication device 151 includes a ROM 152, RAM 153, CPU 154, print engine 155, communication unit 156, short-range wireless communication unit 157, output interface 158, and input interface 159, etc.

[0031] The communication unit 156 has an access point within the communication device 151 for connecting to devices such as the information processing device 101. This access point can be connected to the communication unit 110 of the information processing device 101. When the communication unit 156 activates this access point, the communication device 151 operates as an access point. The communication unit 156 may connect wirelessly to the information processing device 101 directly, or it may connect wirelessly via the access point 131. In this embodiment, the wireless communication method used by the communication unit 156 is assumed to be a communication standard compliant with the IEEE 802.11 series. In the following description, Wi-Fi (WirelessFidelity) (registered trademark) (Wi-Fi communication) refers to a communication standard compliant with the IEEE 802.11 series. The communication unit 156 may have hardware that functions as an access point, or it may operate as an access point through software that enables it to function as an access point.

[0032] The communication device 151 of this embodiment can operate in infrastructure mode and P2P (Peer to Peer) mode as modes for performing communication using the communication unit 156.

[0033] Infrastructure mode is a configuration in which the communication device 151 communicates with other devices, such as the information processing device 101, via external devices that form a network (for example, the access point 131). The connection with the external access point established by the communication device 151 operating in infrastructure mode is called an infrastructure connection (hereinafter referred to as an infrastructure connection). In this embodiment, in an infrastructure connection, the communication device 151 operates as a slave station, and the external access point operates as a master station. In this embodiment, a master station is a device that determines the communication channel used in the network to which the master station belongs, and a slave station is a device that does not determine the communication channel used in the network to which the slave station belongs, but uses the communication channel determined by the master station.

[0034] P2P mode is a configuration in which the communication device 151 communicates directly with other devices such as the information processing device 101 without going through external devices that form a network. In this embodiment, P2P mode includes AP mode in which the communication device 151 operates as an access point. The access point connection information (SSID and password) enabled within the communication device 151 in AP mode can be arbitrarily set by the user. P2P mode may also include, for example, a WFD mode for the communication device 151 to communicate using Wi-Fi Direct (WFD). Which of the multiple WFD-compatible devices will operate as the master station is determined according to a sequence such as Group Owner Negotiation. The master station may be determined without performing Group Owner Negotiation. A device that is WFD-compatible and also acts as the master station is specifically called the Group Owner. A direct connection with other devices established by the communication device 151 operating in P2P mode is called a direct connection. In this embodiment, in a direct connection, the communication device 151 operates as the master station, and the other devices operate as slave stations.

[0035] <About Network Setup Mode> The communication device 151 can operate in network setup mode in order to perform the connection setting process described later. When operating in network setup mode, the communication device 151 operates as a network setup access point that is active during operation in network setup mode by using the communication unit 156. This setup access point is a different access point from the access point that is enabled in AP mode as described above. The SSID of this setup access point shall contain a predetermined string that can be recognized by the printer setting application of the information processing device 101. Furthermore, this setup access point shall be an access point that does not require a password for connection. In addition, the communication device 151 operating in network setup mode shall use a predetermined communication protocol (setup communication protocol) for communication with the information processing device 101 connected to the setup access point. After a predetermined time has elapsed since the start of operation in network setup mode, the communication device 151 stops operating in network setup mode and disables the setup access point. This is because, as described above, the setup access point is an access point that does not require a password, and if it is enabled for a long time, the possibility of connection requests from inappropriate devices increases. The setup access point may be one that requires a password. In that case, the password used to connect to the setup access point shall be a fixed (user-unchangeable) password that the printer setup application has known in advance.

[0036] <About connection setup process> In this embodiment, the information processing device 101 performs connection settings (network settings), which are settings for operating the communication device 151 using at least one communication method from infrastructure connection and direct connection, using wireless communication with the communication device 151. The connection setting process in this embodiment is also called cableless setup (CLS) because it is performed by wireless communication. Note that the connection setting process may also be performed by wired communication. The information processing device 101 performs connection setting processing on the communication device 151, which is operating in network setup mode, when a predetermined application stored in the external storage device 106 or the like is running.

[0037] When the information processing device 101 operates the communication device 151 in infrastructure connection mode, it wirelessly transmits infrastructure configuration information, which is the configuration information for operating in infrastructure connection mode, to the communication device 151. The infrastructure configuration information includes information about the access point 131. For this reason, the infrastructure configuration information will also be referred to as AP information in the following description. Information about the access point 131 includes, for example, the SSID (Service Set Identifier), password, and frequency band information.

[0038] On the other hand, when the information processing device 101 operates the communication device 151 in direct connection mode, it wirelessly transmits direct configuration information, which is the configuration information for operating in direct connection mode, to the communication device 151. The direct configuration information includes instructions for enabling the WFD function and operating as a Group Owner, and for enabling the access point settings of the communication device 151. The information processing device 101 also obtains connection information necessary to directly connect with the communication device 151 from the communication device 151. The connection information for directly connecting with the communication device 151 includes, for example, information such as the SSID and password of the communication device 151 operating in direct connection mode.

[0039] In this embodiment, a direct connection for connection setup is used between the information processing device 101 and the communication device 151 for transmitting infrastructure setting information and direct setting information, and for obtaining information for direct connection with the communication device 151 during the connection setup process. In this embodiment, a connection setup process using Wi-Fi is performed as the direct connection for connection setup, but other wireless communication standards such as Bluetooth may be used. Alternatively, wired communication standards such as wired LAN or USB (Universal Serial Bus) may be used as the direct connection for connection setup.

[0040] After the connection setup process establishes an infrastructure connection or direct connection between the information processing device 101 and the communication device 151 via Wi-Fi, communication becomes possible between the information processing device 101 and the communication device 151 via the established connection. Specifically, for example, the information processing device 101 can send a print job to the communication device 151 to perform printing, or a scan job to perform scanning, via the established connection. In this embodiment, the connection setup process can operate the communication device 151 in either infrastructure connection mode or direct connection mode, but the system is not limited to this configuration. For example, the connection setup process may only allow the communication device 151 to operate in infrastructure connection mode (i.e., it may not be possible to operate the communication device 151 in direct connection mode).

[0041] The short-range wireless communication unit 157 is configured to wirelessly connect to devices such as the information processing device 101 at short range, and can, for example, connect to the short-range wireless communication unit 111 within the information processing device 101. Examples of communication methods include NFC, Bluetooth Classic, BLE, and Wi-Fi Aware.

[0042] RAM 153 is composed of SRAM and other components that require a backup power supply. Since RAM 153's data is maintained by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. RAM 153 also includes a memory area for storing setting information and management data for the communication device 151. Furthermore, RAM 153 is used as the main memory and work memory for the CPU 154, storing a receive buffer for temporarily saving print information received from the information processing device 101, and various other information.

[0043] ROM152 stores fixed data such as control programs, data tables, and OS programs executed by CPU154. In this embodiment, each control program stored in ROM152 performs software execution control such as scheduling, task switching, and interrupt handling under the management of the embedded OS also stored in ROM152.

[0044] The CPU 154 is the system control unit and controls the entire communication device 151.

[0045] The print engine 155 forms an image on a recording medium such as paper by adding a recording agent such as ink to the recording medium based on the information stored in the RAM 153 and the print job received from the information processing device 101, etc., and outputs the print result. Generally, the amount of data for print jobs transmitted from the information processing device 101, etc. is large, so it is necessary to use a communication method that enables high-speed communication for the communication of print jobs. For this reason, the communication device 151 receives print jobs via the communication unit 156, which is capable of high-speed communication than the short-range wireless communication unit 157.

[0046] Furthermore, the communication device 151 may be equipped with optional memory such as an external HDD or memory card, and the information stored in the communication device 151 may be stored in such memory.

[0047] The output interface 158 is an interface that controls the display unit 160 for displaying data and notifying the status of the communication device 151. The display unit 160 consists of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays data and notifies the status of the communication device 151.

[0048] The input interface 159 is an interface for receiving data input and operation instructions from the user when the operation unit 161 is operated. The operation unit 161 may be a physical button or the like, or a soft keyboard or soft buttons displayed on the display unit 160. In other words, the input interface 159 may also receive input (operation) from the user via the display unit 160.

[0049] Using Figure 2, the printer information list screen 201 of the printer setup application running on the information processing device 101 will be explained. On the printer information list screen 201, the display unit 108 displays a list of communication devices 151 from which the printer setup application has previously obtained printer information via the communication unit 110. The printer information item label 202 displays the items of printer information. Here, printer name, model name, IP address, MAC address, and status are given as examples, but other items may also be included. The printer information display area 203 displays information for each communication device 151. When the update button 204 is pressed, information of printers that have been previously connected via the communication unit 110 is displayed. When a communication device 151 whose status is set to ready for setup is selected in the printer information display area 203 and the add button 205 is pressed, the information processing device 101 starts processing according to this embodiment and reflects the execution result in the display of the printer information display area 203.

[0050] The processing methods of the information processing device 101 and the communication device 151 will be explained using Figures 3 to 7.

[0051] Figure 3 is a sequence diagram showing the overall configuration of this embodiment for setting up the network of the communication device 151. The main processing group S400 of the information processing device 101 starts when the user presses the add button 205 on the printer information list screen 201. Meanwhile, the communication device 151 starts processing when the user operates the operation unit 161 and the input interface 159 accepts the activation of the network setup mode.

[0052] When processing begins, the information processing device 101 communicates with the communication device 151 using a direct connection method. The communication interface here may be the communication unit 110 or a short-range wireless communication unit 111 such as Bluetooth.

[0053] During the direct connection process, the communication device 151 acquires the information necessary for connecting with the access point 131 (hereinafter referred to as AP information), and the information processing device 101 acquires the information necessary to identify the communication device 151. Once they have acquired this information from each other, the information processing device 101 and the communication device 151 disconnect the direct connection and communicate via the infrastructure connection through the access point 131. The information processing device 101 confirms that the setup is complete by identifying that the communication device 151 currently communicating via the infrastructure connection is the same communication device 151 that was communicating via the direct connection method.

[0054] The processing group S500 shown in Figure 3 may be started by being called during the processing of processing group S400, or by the user pressing the update button 204 on the printer information list screen 201. The processing groups S600 and S700 of the communication device 151 are started by receiving a specific message from the information processing device 101.

[0055] The main processing group S400 of the information processing device 101 consists of steps S401 to S410, and the processing flow is shown in the flowchart of Figure 4.

[0056] In S401, the CPU 103 connects to the communication device 151 selected by the user in the printer information display area 203 using a direct connection method. At this time, it is assumed that the communication device 151 has already been activated in network setup mode by the user operating the control unit 161 in advance.

[0057] In S402, the CPU 103 determines whether the direct connection made by S401 was successful. If the connection is successful, the CPU 103 executes the processes in S403 to S409. If the connection fails, the CPU 103 displays an error message indicating the connection failure in the printer information display area 203 via S410.

[0058] In S403, the CPU 103 obtains (receives) the current MAC address of the communication device 151. For example, the CPU 103 can obtain the MAC address from the MIB (Management Information Base) of the communication device 151. The CPU 103 displays the obtained MAC address in the printer information display area 203.

[0059] In S404, the CPU 103 obtains (receives) information to identify whether the communication device 151 supports MAC address randomization. The information obtained at this time may be the model information of the communication device 151 listed in the MIB, or the software version information of the communication device 151.

[0060] Next, in S405, the CPU 103 determines whether the communication device 151 supports MAC address randomization based on the information obtained in S404. Specifically, for example, the information processing device 101 determines YES in this determination if the model information of the communication device 151 listed in the MIB indicates a model that supports MAC address randomization. Also, for example, the information processing device 101 determines YES in this determination if the software version information listed in the MIB indicates a version that supports MAC address randomization. If the CPU 103 determines that the communication device 151 supports MAC address randomization, it performs S406. If the CPU 103 determines that the communication device 151 does not support MAC address randomization, it skips S406.

[0061] In S406, the CPU 103 obtains (receives) identification information of the communication device 151 from the communication device 151. When the communication device 151 receives a request for identification information from the information processing device 101, it starts the identification information processing group S500. At this time, when the communication device 151 receives a request for identification information from the information processing device 101, it starts the identification information processing group S600. The identification information processing group S600 will be described later in Figure 6. The timing of obtaining the identification information is not limited to when the communication device 151 is determined to support MAC address randomization in S405, but may also be before or after the processing in S403, for example.

[0062] In S407, the CPU 103 transmits AP information to the communication device 151.

[0063] If the AP information transmission is successful, in S408, the information processing device 101 and the communication device 151 terminate the direct connection and disconnect the connection.

[0064] In S409, the communication device 151 connects to the access point 131 based on the AP information received by S407. Subsequently, the CPU 103 connects to the access point 131. As a result, when the information processing device 101 and the communication device 151 are connected to the same access point 131, the infrastructure connection between the information processing device 101 and the communication device 151 is initiated.

[0065] Subsequently, the CPU 103 executes processing group S500 to identify whether the communication device 151 currently connected to the infrastructure is the same one that was connected during the direct connection. Processing group S500 consists of S501 to S506, and the flow of this processing is shown in the flowchart of Figure 5.

[0066] In S501, the CPU 103 searches for communication device 151 on the currently connected network. The currently connected network is, in other words, the network formed by the currently connected access point 131. If the communication device 151 that was the communication partner of the information processing device 101 in the process of Figure 4 is connected to the same network as the information processing device 101, the communication device 151 that was the communication partner in the process of Figure 4 will be found by this search. On the other hand, if the communication device 151 that was the communication partner of the information processing device 101 in the process of Figure 4 is not connected to the same network as the information processing device 101, the communication device 151 that was the communication partner in the process of Figure 4 will not be found by this search. In this case, either no communication device 151 will be found by this search, or a communication device 151 other than the communication device 151 that was the communication partner in the process of Figure 4 will be found.

[0067] Subsequently, in S502, the CPU 103 obtains the MAC address of one of the communication devices 151 discovered through this search. This process may also be performed by obtaining the MAC address from the MIB of the communication device 151 currently communicating, similar to S403. The communication device 151 currently communicating corresponds to the communication device 151 discovered through this search.

[0068] Next, in S503, the CPU 103 compares the MAC address obtained in S502 with the MAC address displayed in the printer information display area 203 to determine whether the two MAC addresses match. Here, the MAC address displayed in the printer information display area 203 is the past MAC address of the communication device 151. If the MAC addresses match, it is determined that the communication device 151 currently communicating is a communication device 151 that has been connected to in the past. In other words, it is determined that the communication device 151 discovered by the search performed in S501 is the communication device 151 that was the communication partner in the process shown in Figure 4. The case in which the communication device 151 discovered by the search performed in S501 is the communication device 151 that was the communication partner in the process shown in Figure 4 corresponds to the case in which the communication device 151 was able to connect to the access point 131 successfully and the setup for the communication device 151 was successful. Therefore, in this case, the CPU 103 displays in the printer information display area 203 in the S507 process that the setup has been successfully completed. If the MAC addresses do not match in S503, it is possible that the MAC address of the communication device 151 that was the communication partner in the process shown in Figure 4 has been changed due to randomization. In this case, it is also possible that a communication device 151 other than the one that was the communication partner in the process shown in Figure 4 was discovered by the search performed in S501. Therefore, the communication device 151 is identified by the processes in S504 to S505.

[0069] In S504, the CPU 103 performs a hash operation based on the MAC address of the communication device 151 obtained in S501 and the identification information obtained in S406 to generate a hash value. The hash algorithm used here is not limited; for example, SHA-2 or MD-5 may be used.

[0070] In the subsequent S505, the CPU 103 requests the communication device 151 to generate a hash value. Upon receiving the hash value request from the information processing device 101, the communication device 151 starts the hash calculation processing group S700. The hash calculation processing group S700 will be described later in Figure 7. The CPU 103 obtains (receives) the hash value generated by the communication device 151 based on the communication device 151's identification information and its current MAC address. Note that the timing of the processes in S504 and S505 may be reversed.

[0071] In S506, the CPU 103 compares the hash value it generated in S504 with the hash value derived by the communication device 151 received in S505 to determine whether the hash values ​​match. If the hash values ​​match, the communication device 151 currently communicating is identified as the same as a previously connected communication device. That is, the communication device 151 discovered by the search performed in S501 is identified as the communication device 151 that was the communication partner in the process shown in Figure 4. Therefore, the CPU 103 proceeds to S507 and controls the printer information display area 203 to display a message (information) indicating that the setup of the communication device 151 was successful. On the other hand, if the hash values ​​do not match, the communication device 151 currently communicating is identified as not the same as a previously connected communication device. That is, one of the communication devices 151 discovered by the search performed in S501 is identified as not the communication device 151 that was the communication partner in the process shown in Figure 4. In this case, the CPU 103 proceeds to S508.

[0072] In S508, the CPU 103 determines whether or not it has performed the determination in S505 for all communication devices 151 discovered by the search performed in S501. If MAC addresses have been obtained from all communication devices 151 discovered by the search performed in S501, and the determination in S505 has been performed for all of the obtained MAC addresses, the information processing device 101 proceeds to S509. On the other hand, if there are any communication devices 151 among those discovered by the search performed in S501 that have not yet been subjected to the determination in S505, the information processing device 101 returns to S502. The CPU 103 then obtains MAC addresses from the communication devices 151 that have not yet been subjected to the determination in S505 and executes the subsequent processing.

[0073] Despite performing the determination in S505 for all communication devices 151 found by the search performed in S501, the case in which the communication device 151 that was the communication partner in the process of Figure 4 could not be identified or specified corresponds to the case in which the communication device 151 that was the communication partner of the information processing device 101 in the process of Figure 4 is not connected to the same network as the information processing device 101. In other words, this case corresponds to the case in which AP information was sent to the communication device 151 by the process of Figure 4, but the communication device 151 could not connect to the access point 131 for some reason, or the case in which the communication device 151 was able to connect to the access point 131, but an error occurred in the communication via the access point 131. Therefore, in S509, the CPU 103 controls the printer information display area 203 to display that the setup of the communication device 151 could not be completed successfully.

[0074] Figure 6 is a flowchart showing the processing flow of the identification information processing group S600 executed by the communication device 151. The identification information processing group S600 consists of S601 and S602, and when identification information is requested from the information processing device 101 by S406, processing of S601 begins.

[0075] In S601, the CPU 154 generates identification information. The algorithm used to generate this identification information is not limited; for example, it could be a pseudo-random number using the serial number or date and time of the communication device 151 as a seed value. However, it must not be information that can be directly accessed by a third party, such as a MAC address or IP address.

[0076] In S602, the CPU 154 returns the generated identification information to the information processing device 101 as a response to the request in S406.

[0077] Figure 7 is a flowchart showing the processing flow of the hash calculation group S700 executed by the communication device 151. The hash calculation group S700 is started when the communication device 151 requests a hash value from the information processing device 101, and S700 consists of S701 and S702.

[0078] In S701, the CPU 154 performs a hash operation based on the identification information of the communication device 151 that it generated in S601 and the current MAC address of the communication device 151, and generates a hash value. The hash operation algorithm used here is the same as the hash operation algorithm used by the information processing device 101 in S504.

[0079] In the subsequent step S702, the CPU 154 sends the generated hash value to the information processing device 101.

[0080] In this embodiment, even if the communication device 151 changes its MAC address during setup, the information processing device 101 can identify the communication device 151 and complete the setup.

[0081] (Second embodiment) In the first embodiment, the information processing device 101 identifies the communication device 151 by executing the processing group S500. When the MAC address of the communication device 151 is changed by randomization, there is a very small possibility that the changed MAC address may conflict with a MAC address previously used by another communication device 151. In this case, in the processing of S502, the information processing device 101 may mistakenly recognize the communication device 151 currently communicating as another communication device 151.

[0082] In the second embodiment, the information processing device 101 correctly identifies the currently communicating communication device 151 even if the MAC address of the communication device 151 is changed to the same MAC address that was previously used by another communication device 151.

[0083] Figure 8 is a flowchart showing the overall processing of the information processing device 101 and the communication device 151 in the second embodiment. The communication device 151 is started when the user operates the operation unit 161 and performs the same processing as in the first embodiment. The information processing device 101 executes S401 to S410 when the user presses the add button 205 on the printer information list screen 201, as in the first embodiment. The difference between the second embodiment and the first embodiment is that the information processing device 101 executes processing group S900 instead of processing group S500. Processing group S900 will be described below.

[0084] The processing flow of processing group S900 is shown in the flowchart in Figure 9.

[0085] In S901 and S902, CPU103 performs the same processing as in S501 and S502.

[0086] Next, in S903, the CPU 103 determines, based on the information obtained in S404, whether the communication device 151 to be identified supports MAC address randomization. If it is determined that the communication device 151 to be identified supports MAC address randomization, the CPU 103 executes the processes in S904-S906 and S908-S910. These processes in S904-S906 and S908-S910 are the same as those in S504-S509.

[0087] If in S903 the CPU 103 determines that the communication device 151 to be identified does not support MAC address randomization, the CPU 103 performs the same processing as in S503 in S907 to identify the communication device 151 and proceeds to S908.

[0088] In the first embodiment, if the MAC address of the communication device 151 is randomized and conflicts with a MAC address previously used by another communication device 151, the information processing device 101 cannot correctly identify the communication device 151. However, in the second embodiment, it becomes possible to correctly identify it.

[0089] (Third embodiment) In the first embodiment, the information processing device 101 identifies the communication device 151 using the identification information newly generated by the communication device 151 in the processing of S601. If the information processing device 101 manages the communication device 151 over a long period of time, when the second information processing device requests identification information from the communication device 151, the communication device 151 updates its identification information in S601, making it impossible for the first information processing device to identify the communication device 151. To solve this problem, it is necessary to use a fixed value that does not change over a long period of time as identification information, but disclosing this would contradict the purpose of randomizing MAC addresses.

[0090] In the third embodiment, a fixed value is used as the identification information of the communication device 151, while the identification information is encrypted with a random value to prevent tracking by a third party. Figure 10 shows a sequence diagram illustrating the overall process of the third embodiment.

[0091] Similar to the first embodiment, the information processing device 101 starts processing when the user presses the add button 205 on the printer information list screen 201. At this time, the processing group to be started is denoted as S1100.

[0092] Furthermore, similar to the first embodiment, the communication device 151 also activates network setup mode when the user operates the operation unit 161.

[0093] The main difference between the processing of the third embodiment and the first embodiment is the means by which the information processing device 101 acquires the identification information of the communication device 151. When the information processing device 101 transmits a random value necessary for encrypting the identification information to the communication device 151, the communication device 151 starts the processing group S1200 that encrypts the identification information.

[0094] Other processing groups S500 and S700 are the same as in the first embodiment. Note that the processing group in which the information processing device 101 identifies the communication device 151 may be S500 or S900 as described in the second embodiment.

[0095] Figure 11 is a flowchart of processing group S1100. Figure 12 is a flowchart of processing group S1200. The third embodiment will be described using these figures below.

[0096] As shown in Figure 11, the main processing group S1100 of the information processing device 101 consists of S1101 to S1113, and the information processing device 101 performs the same processing as S401 to S405 in S1101 to S1105.

[0097] In S1105, if the CPU 103 determines that the communication device 151 supports MAC address randomization, it performs the processes in S1106 to S1109.

[0098] In S1106, the CPU 103 generates a random value and stores it in the external storage device 106. The algorithm used to generate the random value is not limited.

[0099] In S1107, the CPU 103 sends the random value generated in S1106 to the communication device 151. Upon receiving the communication from S1107, the communication device 151 starts the encryption processing group S1200. The encryption processing group S1200 will be described later in Figure 12.

[0100] In S1108, the CPU 103 obtains (receives) encrypted information obtained when the communication device 151 encrypts the identification information of the communication device 151 using the above random value.

[0101] In S1109, the CPU 103 uses the random values ​​stored in the external storage device 106 to decrypt the encrypted information obtained from the communication device 151, thereby obtaining (extracting) the identification information of the communication device 151.

[0102] Subsequently, the CPU 103 performs the same processing as in S406 to S414 in S1110 to S1113. Furthermore, the processing group S500 or S900 that starts after S1112 is the same as in the first or second embodiment, and the processing group S700 of the communication device 151 that starts in these processing groups also performs the same processing as in the first embodiment.

[0103] Figure 12 is a flowchart showing the processing flow of the encryption processing group S1200, which consists of processes S1201 and S1202.

[0104] In S1201, the CPU 154 encrypts its own identification information using a random value received from the information processing device 101. The encryption algorithm here may be a public-key cryptography scheme where the random value is the public key. However, it is assumed that the information processing device 101 has prior knowledge of the encryption algorithm. Furthermore, in the second embodiment, the identification information held by the communication device 151 is a predetermined fixed value, and the identification information cannot be directly accessed from the outside.

[0105] Next, in S1202, the CPU 154 transmits the identification information encrypted in S1201 to the information processing device 101.

[0106] In the third embodiment, a fixed value is used for the identification information of the communication device 151, while preventing third parties from tracking the communication device.

[0107] As described above, according to the first to third embodiments, in an information processing device 101 that identifies a communication device 151 using its MAC address, even if the communication device 151 changes its MAC address, the information processing device 101 can still identify the communication device 151 while preventing a third party from tracking it.

[0108] (Other embodiments) This disclosure can also be implemented by supplying a program that implements one or more of the functions of the embodiments described above to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be implemented by a circuit (e.g., an ASIC) that implements one or more functions.

[0109] Furthermore, the embodiments described above are merely examples illustrating how to implement this disclosure, and they should not be interpreted as limiting the technical scope of this disclosure. In other words, this disclosure can be implemented in various ways without departing from its technical concept or its main features.

[0110] This embodiment includes the following configuration. (Item 1) A first acquisition means for acquiring identification information of a communication device, A second acquisition means for obtaining the current MAC address of the communication device, A generation means for generating a first hash value based on the identification information of the communication device and the current MAC address of the communication device, A third acquisition means for acquiring a second hash value generated by the communication device based on the communication device's identification information and the communication device's current MAC address, Comparison means for comparing the first hash value and the second hash value An information processing device characterized by having the following features. (Item 2) The communication device further comprises a first determination means for determining whether or not it supports MAC address randomization. The information processing device according to item 1, characterized in that the first acquisition means acquires identification information of the communication device when it is determined that the communication device supports MAC address randomization. (Item 3) The system further includes a fourth acquisition means for acquiring model information of the aforementioned communication device, The information processing device according to item 2, characterized in that the first determination means determines whether or not the communication device supports MAC address randomization based on the model information of the communication device. (Item 4) The system further includes a fourth acquisition means for acquiring software version information of the communication device, The information processing device according to item 2, characterized in that the first determination means determines whether or not the communication device supports MAC address randomization based on the software version information of the communication device. (Item 5) The system further includes a second determination means for determining whether the current MAC address of the communication device matches the past MAC address of the communication device. The information processing device according to any one of items 1 to 4, characterized in that the comparison means compares the first hash value with the second hash value when it is determined that the current MAC address of the communication device does not match the past MAC address of the communication device. (Item 6) The communication device further comprises a third determination means for determining whether or not it supports MAC address randomization. The information processing device according to any one of items 1 to 4, characterized in that the comparison means compares the first hash value with the second hash value when it is determined that the communication device supports randomization of MAC addresses. (Item 7) The system further includes a fourth acquisition means for acquiring model information of the aforementioned communication device, The information processing device according to item 6, characterized in that the third determination means determines whether or not the communication device supports MAC address randomization based on the model information of the communication device. (Item 8) The system further includes a fourth acquisition means for acquiring software version information of the communication device, The information processing device according to item 6, characterized in that the third determination means determines whether or not the communication device supports MAC address randomization based on the software version information of the communication device. (Item 9) The information processing apparatus according to any one of items 1 to 8, characterized in that the first acquisition means transmits a random value to the communication device, the communication device acquires encrypted information obtained by encrypting the identification information of the communication device using the random value, and the information processing apparatus acquires the identification information of the communication device by decrypting the encrypted information using the random value. (Item 10) The first acquisition means acquires the identification information of the communication device while connected to the communication device by a direct connection method. The second acquisition means, while connected to the communication device via an infrastructure connection method, acquires the current MAC address of the communication device. The information processing device according to any one of items 1 to 9, characterized in that the third acquisition means acquires the second hash value while connected to the communication device via an infrastructure connection method. (Item 11) The information processing apparatus according to any one of items 1 to 10, further comprising control means for controlling the display of information based on the results of the comparison by the comparison means. (Item 12) An information processing device described in any one of items 1 to 11, The communication device is included, The communication system is characterized in that the communication device generates the second hash value based on the identification information of the communication device and the current MAC address of the communication device. (Item 13) A first acquisition step involves obtaining identification information of the communication device, A second acquisition step of obtaining the current MAC address of the communication device, A generation step of generating a first hash value based on the identification information of the communication device and the current MAC address of the communication device, A third acquisition step in which the communication device obtains a second hash value generated by the communication device based on the communication device's identification information and the communication device's current MAC address, A comparison step of comparing the first hash value and the second hash value. A processing method for an information processing device characterized by having the following features. (Item 14) A program that causes a computer to function as an information processing device as described in any one of items 1 through 11. [Explanation of Symbols]

[0111] 101 Information Processing Device 102 Input Interfaces 103 CPU 104 ROM 105 RAM 106 External storage device 107 Output Interface 108 Display section 109-key keyboard 110 Communications Department 111 Near Field Wireless Communication Department 131 Access Point 151 Communication equipment 152 ROM 153 RAM 154 CPU 155 Print Engine 156 Communications Department 157 Near Field Wireless Communication Department 158 Output Interfaces 159 Input Interfaces 160 Display section 161 Operation section

Claims

1. A first acquisition means for acquiring identification information of a communication device, A second acquisition means for obtaining the current MAC address of the communication device, A generation means for generating a first hash value based on the identification information of the communication device and the current MAC address of the communication device, A third acquisition means for acquiring a second hash value generated by the communication device based on the communication device's identification information and the communication device's current MAC address, Comparison means for comparing the first hash value and the second hash value An information processing device characterized by having the following features.

2. The communication device further comprises a first determination means for determining whether or not it supports MAC address randomization. The information processing apparatus according to claim 1, characterized in that the first acquisition means acquires identification information of the communication device when it is determined that the communication device supports MAC address randomization.

3. The system further includes a fourth acquisition means for acquiring model information of the aforementioned communication device, The information processing device according to claim 2, characterized in that the first determination means determines whether or not the communication device supports MAC address randomization based on the model information of the communication device.

4. The system further includes a fourth acquisition means for acquiring software version information of the communication device, The information processing device according to claim 2, characterized in that the first determination means determines whether or not the communication device supports MAC address randomization based on the software version information of the communication device.

5. The system further includes a second determination means for determining whether the current MAC address of the communication device matches the past MAC address of the communication device. The information processing apparatus according to claim 1, characterized in that the comparison means compares the first hash value and the second hash value when it is determined that the current MAC address of the communication device does not match the past MAC address of the communication device.

6. The communication device further comprises a third determination means for determining whether or not it supports MAC address randomization. The information processing apparatus according to claim 1, characterized in that the comparison means compares the first hash value and the second hash value when it is determined that the communication device supports randomization of MAC addresses.

7. The system further includes a fourth acquisition means for acquiring model information of the aforementioned communication device, The information processing device according to claim 6, characterized in that the third determination means determines whether or not the communication device supports MAC address randomization based on the model information of the communication device.

8. The system further includes a fourth acquisition means for acquiring software version information of the communication device, The information processing device according to claim 6, characterized in that the third determination means determines whether or not the communication device supports MAC address randomization based on the software version information of the communication device.

9. The information processing apparatus according to claim 1, characterized in that the first acquisition means transmits a random value to the communication device, the communication device acquires encrypted information obtained by encrypting the identification information of the communication device using the random value, and the information processing apparatus acquires the identification information of the communication device by decrypting the encrypted information using the random value.

10. The first acquisition means acquires the identification information of the communication device while connected to the communication device by a direct connection method. The second acquisition means, while connected to the communication device via an infrastructure connection method, acquires the current MAC address of the communication device. The information processing apparatus according to claim 1, characterized in that the third acquisition means acquires the second hash value while connected to the communication device via an infrastructure connection method.

11. The information processing apparatus according to claim 1, further comprising control means for controlling the display of information based on the results of the comparison by the comparison means.

12. An information processing apparatus according to any one of claims 1 to 11, The communication device is included, The communication system is characterized in that the communication device generates the second hash value based on the identification information of the communication device and the current MAC address of the communication device.

13. A first acquisition step involves obtaining identification information of the communication device, A second acquisition step of obtaining the current MAC address of the communication device, A generation step of generating a first hash value based on the identification information of the communication device and the current MAC address of the communication device, A third acquisition step in which the communication device obtains a second hash value generated by the communication device based on the communication device's identification information and the communication device's current MAC address, A comparison step of comparing the first hash value and the second hash value. A processing method for an information processing device characterized by having the following features.

14. A program for causing a computer to function as an information processing device according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Recording disk with composite index code

    JP1988070985A