Computer program for a terminal device, terminal device, and method executed by a terminal device
The computer program for a terminal device encrypts and stores authentication information to facilitate secure, automated wireless connections between multiple devices, addressing the need for user convenience and security in wireless communication systems.
Patent Information
- Application Number
- JP2021159907
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-29
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2041-09-29
AI Technical Summary
Existing technologies lack efficient methods to enhance user convenience in establishing wireless connections between multiple communication devices without compromising security, particularly in scenarios where repeated user input of authentication information is required.
A computer program for a terminal device that facilitates encrypted storage and transmission of authentication information, allowing secure wireless connections between communication devices without the need for repeated user input by encrypting and decrypting authentication information using a random key, and storing it in a predetermined area of the memory.
Improves user convenience by automating the authentication process across multiple devices while preventing unauthorized access to sensitive information, thus enhancing security and reducing the risk of password leakage.
Smart Images

Figure 0007732304000001 
Figure 0007732304000002 
Figure 0007732304000003
Abstract
Description
[Technical Field]
[0001] This specification discloses a technique relating to a terminal device capable of communicating with a plurality of communication devices. [Background technology]
[0002] Patent Document 1 discloses an information processing device that establishes a wireless connection between a printer and an access point (hereinafter referred to as "AP"). The information processing device stores connection information such as the SSID and password of the AP to which the information processing device itself is connected. The information processing device uses the stored connection information to establish a wireless connection between the printer and the AP. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-184169 Summary of the Invention [Problem to be solved by the invention]
[0004] Book The present specification provides a technique for improving user convenience in a situation where a predetermined process is executed by each of a plurality of communication devices. [Means for solving the problem]
[0005] The technology disclosed in this specification is embodied in a computer program for a terminal device. The terminal device may include a wireless interface for performing wireless communication, a memory, and a computer. The computer program causes the computer to include the following units: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information necessary for causing a communication device to execute a predetermined process when a predetermined operation is performed by a user; a first transmission unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that, when the authentication information is acquired, encrypts the authentication information to generate encrypted information; and a storage unit that stores the generated encrypted information in a predetermined area in the memory. a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that, when the second wireless connection with the second communication device is established, decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information; and a second transmission unit that, when the second wireless connection with the second communication device is established, transmits second information obtained using the generated authentication information to the second communication device via the wireless interface, using the second wireless connection, even if the predetermined operation is not performed again by the user.
[0006] According to the above configuration, when a predetermined process is to be executed by a first communication device, the terminal device acquires authentication information resulting from a predetermined operation performed by a user, and transmits first information obtained using the authentication information to the first communication device. The terminal device then encrypts the authentication information to generate encrypted information and stores the generated encrypted information in a predetermined area in memory. Thereafter, when a predetermined process is to be executed by a second communication device, the terminal device decrypts the encrypted information stored in the predetermined area in memory to generate authentication information, and transmits second information obtained using the generated authentication information to the second communication device, even if the predetermined operation is not performed again by the user. Therefore, the terminal device can improve user convenience in situations where the predetermined process is to be executed by each of multiple communication devices. In particular, because the encrypted information, rather than the authentication information itself, is stored in the predetermined area, it is possible to prevent the authentication information from being obtained by a third party.
[0007] A terminal device implemented by the above computer program, a computer-readable storage medium storing the computer program, and a method executed by the terminal device are also novel and useful. [Brief explanation of the drawings]
[0008] [Figure 1] 1 shows the configuration of a communication system. [Figure 2] The sequence of the BT connection establishment process is shown below. [Figure 3] 1 shows a flowchart of a setup process. [Figure 4] The contents of the storage process in the first to fifth embodiments will be described below. [Figure 5] The sequence of a specific case is shown below. [Figure 6] The sequence continues from FIG. [Figure 7] 7 shows a continuation of the sequence shown in FIG. 6 in the first embodiment. [Figure 8] 10 shows a flowchart of a password deletion process. [Figure 9]7 shows the sequence following FIG. 6 in the third to fifth embodiments. [Figure 10] 10 shows a sequence of the sixth embodiment. [Figure 11] 10 shows a sequence of the seventh embodiment. [Figure 12] 13 shows the sequence of a WFD connection establishment process according to the eighth embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] (First Example) (Configuration of communication system 2; Figure 1) 1, the communication system 2 includes a mobile terminal 10, a plurality of printers 100, 200, 300, and 400, and a plurality of APs (abbreviation of Access Points) 6 and 8. The technology of this embodiment is a technology that uses the mobile terminal 10 to establish a wireless connection (hereinafter referred to as a "Wi-Fi connection") in accordance with the Wi-Fi standard between each of the plurality of printers 100 and 200 and the AP 6.
[0010] (Configuration of mobile terminal 10) The mobile terminal 10 is a portable terminal device such as a mobile phone (e.g., a smartphone), a PDA, or a tablet PC. In a modified example, the mobile terminal 10 may be a stationary terminal device such as a desktop PC. Hereinafter, the mobile terminal 10 will be simply referred to as "terminal 10." The terminal 10 includes a display unit 12, a wireless LAN interface 14, a BT (short for Bluetooth (registered trademark)) interface 16, and a control unit 30. Each unit 12 to 30 is connected to a bus line (reference numeral omitted). Hereinafter, the interface will be referred to as "I / F."
[0011] The display unit 12 is a display for displaying various information. The display unit 12 also functions as a touch panel (i.e., an operation unit) that accepts instructions from a user. The user can input various instructions to the terminal 10 by operating the touch panel of the display unit 12.
[0012] The wireless LAN I / F 14 is an I / F for performing Wi-Fi communication in accordance with the Wi-Fi standard, which is a wireless communication standard for performing wireless communication in accordance with, for example, the IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 802.11 standard and its equivalent standards (e.g., 802.11a, 11b, 11g, 11n, 11ac, etc.).
[0013] BTI / F16 is an interface for performing Bluetooth communication in accordance with the Bluetooth standard. Examples of Bluetooth standards include the IEEE802.15.1 standard and standards that conform to it. More specifically, BTI / F16 supports BLE (Bluetooth Low Energy). BLE is implemented in Bluetooth standard version 4.0 and later.
[0014] The differences between Wi-Fi communication and BT communication will be described below. The communication speed of Wi-Fi communication (for example, a maximum communication speed of 600 Mbps) is faster than the communication speed of BT communication (for example, a maximum communication speed of 24 Mbps). The carrier frequency in Wi-Fi communication is the 2.4 GHz band or the 5.0 GHz band. The carrier frequency in BT communication is the 2.4 GHz band. In other words, when the 5.0 GHz band is used as the carrier frequency in Wi-Fi communication, the carrier frequency in Wi-Fi communication differs from the carrier frequency in BT communication. In addition, the maximum distance over which Wi-Fi communication can be performed (for example, approximately 100 m) is greater than the maximum distance over which BT communication can be performed (for example, approximately several tens of meters).
[0015] The control unit 30 includes a CPU 32 and a memory 34. The memory 34 includes a ROM 40, which is a non-volatile memory, and a RAM 50, which is a volatile memory. The CPU 32 is a computer that executes various processes in accordance with programs 42 and 44 stored in the ROM 40. The ROM 40 stores an OS (short for Operating System) program 42 (hereinafter simply referred to as "OS 42") and an application 44 (hereinafter simply referred to as "app 44").
[0016] The OS 42 is a program for controlling the basic operations of the terminal 10, and is, for example, iOS (registered trademark) or Android (registered trademark). The app 44 is an application for performing BT communication to search for printers around the terminal 10 and for transmitting information about APs 6 and 8 to the printer. The app 44 is also an application for performing Wi-Fi communication to transmit print data to the printer. The app 44 may be installed on the terminal 10 from a server on the Internet provided by a vendor of the printer 100 or the like, or may be installed on the terminal 10 from media shipped together with the printer 100 or the like.
[0017] (Configuration of printer 100) The printer 100 is a peripheral device (for example, a peripheral device of the terminal 10) that can execute a printing function. The printer 100 has a model name "PR01." The printer 100 includes a display unit 112, a wireless LAN I / F 114, a BTI / F 116, a print execution unit 118, and a control unit 130.
[0018] The display unit 112 is a display for displaying various information. The display unit 112 also functions as a touch panel (i.e., an operation unit) that accepts instructions from a user. The wireless LAN I / F 114 is the same as the wireless LAN I / F 14 of the terminal 10. The BTI / F 116 is the same as the BTI / F 16 of the terminal 10. The print execution unit 118 is a printing mechanism such as an inkjet type or a laser type.
[0019] The control unit 130 includes a CPU 132 and a memory 134. The CPU 132 executes various processes in accordance with a program 140 stored in the memory 134. The memory 134 is configured by a volatile memory, a non-volatile memory, or the like.
[0020] Printers 200, 300, and 400 have the same configuration as printer 100, except that they have model names "PR02," "PR03," and "PR04," respectively, which are different from the model name "PR01."
[0021] (AP6 configuration) AP6 is a typical access point known as a wireless access point or wireless LAN router. AP6 relays communications between a pair of devices that belong to a Wi-Fi network in which AP6 acts as the master station. AP6 stores the SSID (Service Set Identifier) "ID06" and password "PW06" as information for establishing a Wi-Fi connection with AP6.
[0022] AP8 has the same configuration as AP6, except that it stores the SSID "ID08" and the password "PW08".
[0023] (Processing performed by each device 10, 100, 200: Figures 2 to 8) Next, the processing executed by each of the devices 10, 100, and 200 will be described with reference to FIGS. 2 to 8. In the following, the processing will be described with each device (e.g., terminal 10, printer 100, etc.) as the subject, instead of the CPU of each device (e.g., CPU 32, 132). Also, instead of describing the terminal 10 as the subject, the OS 42 or the application 44 may be described as the subject. All communications between the terminal 10 and each of the printers 100 and 200 are performed via the BTI / F 16 and 116. Therefore, when describing communications between the terminal 10 and each of the printers 100 and 200, the phrase "via the BTI / F 16 (or 116)" will be omitted.
[0024] (Establishing a BT connection between the terminal 10 and the printer 100: Figure 2) First, referring to Figure 2, a process for establishing a wireless connection (hereinafter sometimes referred to as "BT connection") conforming to the BT standard between the terminal 10 and the printer 100 will be described. In the initial state of Figure 2, the terminal 10 has already established a Wi-Fi connection with the AP 6. Each of the printers 100 and 200 has not yet established a Wi-Fi connection with the AP 6.
[0025] At T2, the printer 100 receives a power-on operation from the user. In this case, at T4, the printer 100 starts repeatedly transmitting an Advertise signal conforming to the BT standard. The Advertise signal includes the model name of the printer 100, "PR01."
[0026] At T10, the application 44 receives an operation from the user to launch the application 44. In this case, at T11, the application 44 generates a random key, which is a random character string. Here, the random key is a key that changes each time the application 44 is launched. The random key is a key for encrypting the password "PW06" for establishing a Wi-Fi connection with the AP 6 to generate an encrypted password. The random key is also a key for decrypting the encrypted password. The random key is stored in a predetermined area in the RAM 50. Here, the predetermined area is a work area for the application 44, and is assigned to the application 44 by the OS 42 when the application 44 is launched.
[0027] Next, at T12, the app 44 displays a top screen D2 on the display unit 12. The top screen D2 includes a setup button B2 and an end button B4. In this embodiment, "setup" means establishing a BT connection between the terminal 10 and a printer (e.g., 100), and then establishing a Wi-Fi connection between the printer and the AP 6. The end button B4 is a button for ending the app 44.
[0028] At T14, the application 44 accepts the selection of the setup button B2 from the user. In this case, the application 44 supplies a scan start command to the OS 42 at T16.
[0029] When the OS 42 receives the scan start command from the application 44, it scans the Advertise signal. As a result, at T20, the OS 42 receives an Advertise signal including the model name "PR01" from the printer 100. Then, the OS 42 provides the application 44 with a notification indicating that the Advertise signal has been scanned.
[0030] When the application 44 receives the notification from the OS 42, at T22, the application 44 displays a connection confirmation screen D4 on the display unit 12. The connection confirmation screen D4 includes the model name "PR01" in the Advertise signal received at T20.
[0031] In T24, the application 44 accepts from the user the selection of the model name "PR01" included in the connection confirmation screen D4. In this case, in T30, the application 44 supplies to the OS 42 a connection start instruction for instructing the establishment of a BT connection with the device having the model name "PR01" (i.e., the printer 100).
[0032] When the OS 42 receives the connection start instruction from the application 44, it sends a CONNECT_IND signal to the printer 100 at T32. This signal requests the establishment of a BT connection (i.e., an L2CAP link). As a result, at T34, a BT connection is established between the terminal 10 and the printer 100.
[0033] (Setup process: Figure 3) Next, the setup process executed by the CPU 32 in accordance with the application 44 will be described with reference to Fig. 3. The process of Fig. 3 is triggered by the establishment of a BT connection (i.e., an L2CAP Link) between the terminal 10 and a printer (e.g., 100) (e.g., T34 in Fig. 2). Below, the printer with which a BT connection with the terminal 10 is established will be referred to as the "target printer."
[0034] In S10, the application 44 (i.e., the CPU 32) uses a BT connection to send an SSID search instruction to the target printer. The SSID search instruction is an instruction requesting a search for APs present around the target printer. In S12, the application 44 monitors whether a predetermined time has elapsed since the process of S10 was executed. Here, the predetermined time is set taking into consideration the time required for the target printer to search for APs. If the application 44 determines that the predetermined time has elapsed (YES in S12), it proceeds to S14.
[0035] In S14, the application 44 uses the BT connection to send an SSID request to the target printer. The SSID request is an instruction to request transmission of the SSID found by the search. In S16, the application 44 uses the BT connection to receive one or more SSIDs from the target printer and displays an SSID list screen including one or more SSIDs on the display unit 12.
[0036] In S18, the application 44 accepts from the user selection of one SSID included in the SSID list screen. In S20, the application 44 determines whether or not an encrypted password (hereinafter referred to as the "target encrypted password") corresponding to the SSID selected in S18 is stored in the above-mentioned predetermined area in the RAM 50. If the application 44 determines that the target encrypted password is stored in the predetermined area (YES in S20), the application 44 proceeds to S22, and if the application 44 determines that the target encrypted password is not stored in the predetermined area (NO in S20), the application 44 proceeds to S30.
[0037] In S22, the application 44 decrypts the target encrypted password using the current random key (see T11 in FIG. 2) to generate a new password. Hereinafter, the password generated here will be referred to as the "target password."
[0038] In S30, the application 44 displays a password entry screen on the display unit 12. In S32, the application 44 accepts a password entry from the user. Hereinafter, the password entered here will also be referred to as the "target password." When S32 ends, the process proceeds to S40.
[0039] In S40, the application 44 uses a Bluetooth connection to send the selected SSID and target password to the target printer. The target password is the password entered in S32 (in the case of NO in S20) or the password generated in S22. As a result, the target printer attempts to establish a Wi-Fi connection with the AP identified by the selected SSID (hereinafter referred to as the "target AP") using the selected SSID and target password.
[0040] In S42, the application 44 receives a setup result from the target printer using the BT connection. The setup result is information indicating whether the target printer was able to establish a Wi-Fi connection with the target AP. The setup result includes either success information indicating that the Wi-Fi connection was established, or failure information indicating that the Wi-Fi connection could not be established. If the setup result includes failure information, it also includes error information indicating the cause of the failure. The cause of the failure may be, for example, a password error or a communication failure error.
[0041] In S44, the application 44 uses the setup result to determine whether the setup of the target printer was successful. If the setup result includes success information, the application 44 determines that the setup of the target printer was successful (YES in S44) and proceeds to S46. On the other hand, if the setup result includes failure information, the application 44 determines that the setup of the target printer was unsuccessful (NO in S44) and proceeds to S50.
[0042] In S46, the application 44 determines whether the target encrypted password is stored in the above-mentioned predetermined area in the RAM 50. If the application 44 determines that the target encrypted password is stored in the predetermined area (YES in S46), it skips S47 and S48 and ends the processing in Fig. 3. On the other hand, if the application 44 determines that the target encrypted password is not stored in the predetermined area (NO in S46), it proceeds to S47.
[0043] In S47, the application 44 encrypts the target password using the random key stored in the predetermined area, and generates a target encrypted password.
[0044] In S48, the application 44 executes a storage process for storing the selected SSID and the target encrypted password in association with each other. In this embodiment, as shown in FIG. 4, the application 44 stores the selected SSID and the target encrypted password in association with each other in the predetermined area in the RAM 50. Since the selected SSID and the target encrypted password are stored in the predetermined area, the application 44 can use the target encrypted password when executing the process of FIG. 3 again before the target encrypted password is deleted. This eliminates the need for the user to input the target password (YES in S20). When S48 ends, the process of FIG. 3 ends.
[0045] In S50 of FIG. 3, the application 44 determines whether the error information included in the setup result indicates a password error. If the application 44 determines that the error information does not indicate a password error (NO in S50), the application 44 proceeds to S46. This allows the application 44 to store the selected SSID and the target encrypted password in the above-mentioned predetermined area (NO in S46, S47, and S48). In other words, even if the target printer cannot establish a Wi-Fi connection with the target AP, the application 44 can store the target encrypted password in the predetermined area if there is a possibility that the target password is correct. On the other hand, if the application 44 determines that the error information indicates a password error (YES in S50), the application 44 proceeds to S52.
[0046] The above password error means that a Wi-Fi connection with the target AP could not be established because the target password does not match the password of the target AP. For example, if the determination in S20 is NO and the target password entered in S32 does not match the password of the target AP, the determination in S50 is YES. Also, for example, if the determination in S20 is YES and the target password generated from the target encrypted password stored in the predetermined area does not match the password of the target AP, the determination in S50 is YES. This event can occur in the following situations.
[0047] For example, when the process of FIG. 3 is executed in response to the establishment of a BT connection with a certain printer, the target password matches the password of the target AP, and a Wi-Fi connection between the certain printer and the target AP is successfully established. Therefore, the target password is stored in the predetermined area (S48). Thereafter, for example, the password of the target AP is changed by an administrator of the target AP. Then, the process of FIG. 3 is executed in response to the establishment of a BT connection with a printer different from the certain printer, and a target password generated from the stored target encrypted password is sent to the different printer (YES in S20, S40). However, because the password of the target AP has already been changed, the target password does not match the password of the target AP. Therefore, the different printer cannot establish a Wi-Fi connection with the target AP.
[0048] In S52, the application 44 determines whether the target encrypted password is stored in the predetermined area. If the application 44 determines that the target encrypted password is not stored in the predetermined area (NO in S52), it skips S54 and ends the processing of FIG. 3. If the application 44 determines that the target encrypted password is stored in the predetermined area (YES in S52), it deletes the target encrypted password from the predetermined area in S54 and ends the processing of FIG. 3. In this way, if the target printer cannot establish a Wi-Fi connection with the target AP (NO in S44), the application 44 deletes the target encrypted password from the predetermined area. In particular, if the target printer cannot establish a Wi-Fi connection with the target AP due to a password error (YES in S50), the application 44 deletes the target encrypted password from the predetermined area. This makes it possible to prevent a target password that does not match the password of the target AP from being reused.
[0049] (Figure 5 shows a specific case realized by the process in Figure 3) Next, a specific case will be described that is realized by the processing in Fig. 3. The processing in Fig. 5 is a continuation of the processing in Fig. 2, and a BT connection has already been established between the terminal 10 and the printer 100 (T34 in Fig. 2).
[0050] At T40, the application 44 uses the BT connection to send an SSID search instruction to the printer 100 (S10).
[0051] When the printer 100 receives an SSID search instruction from the terminal 10 at T40, it broadcasts a Probe request via the wireless LAN I / F 114 at T50. As a result, at T52, the printer 100 receives a Probe response including the SSID "ID06" of AP6 from the AP6 via the wireless LAN I / F 114. This allows the printer 100 to acquire the SSID "ID06." Similarly, at T52, the printer 100 acquires the SSID "ID08" from the AP8.
[0052] In T60, the application 44 uses the BT connection to send an SSID request to the printer 100 (S14).
[0053] When the printer 100 receives an SSID request from the terminal 10 in T60, the printer 100 transmits the SSIDs "ID06" and "ID08" acquired in T52 to the terminal 10 using a BT connection in T62.
[0054] When the application 44 receives the SSIDs "ID06" and "ID08" from the printer 100 in T62, it displays an SSID list screen D6 including the SSIDs "ID06" and "ID08" in T64 (S16). Then, in T66, the application 44 accepts selection of the SSID "ID06" from the user (S18).
[0055] The application 44 has not yet stored the encrypted password generated from the password corresponding to the SSID "ID06" (i.e., the password "PW06" of AP6) (NO in S20), so in T70, it displays a password entry screen D8 (S30). The password entry screen D8 includes the SSID "ID06" of AP6 selected in T66, a password entry field, and a setup button. In T72, the application 44 accepts input of the password "PW06" from the user (S32). Then, in T80, the application 44 transmits the SSID "ID06" and the password "PW06" to the printer 100 using a BT connection (S40).
[0056] In T80, the printer 100 receives the SSID "ID06" and password "PW06" from the terminal 10. In T82, the printer 100 attempts to establish a Wi-Fi connection with the AP 6 using the SSID "ID06" and password "PW06." Specifically, the printer 100 performs various communications with the AP 6 via the wireless LAN I / F 114. These communications include Probe, Authentication, Association, 4-Way Handshake, and the like. During these communications, the SSID "ID06" and password "PW06" are used, and the AP 6 authenticates the SSID "ID06" and password "PW06." In this case, the authentication is successful, and a Wi-Fi connection is established between the printer 100 and the AP 6.
[0057] In T84, the application 44 uses the BT connection to send a setup result request to the printer 100. The setup result request is an instruction to request the transmission of the setup result.
[0058] When the printer 100 receives the setup result request from the terminal 10 in T84, in T86 the printer 100 uses the BT connection to send the setup result to the application 44. The setup result includes success information indicating that the Wi-Fi connection was successfully established.
[0059] When the application 44 receives the setup result from the printer 100 in T86 (S42), it determines that the setup result includes success information (YES in S44), and further determines that the encrypted password generated from the password "PW06" is not stored in the predetermined area (NO in S46). In this case, in T88, the application 44 encrypts the password "PW06" using the random key stored in the predetermined area to generate the encrypted password "EPW06" (S47). Thereafter, in T90, the application 44 associates the SSID "ID06" with the generated encrypted password "EPW06" and stores them in the predetermined area (S48).
[0060] Next, at T92, the application 44 starts measuring the storage time H1. The storage time H1 is the time during which the SSID "ID06" and the encryption password "EPW06" are stored in the predetermined area. The storage time H1 is used to delete the SSID "ID06" and the encryption password "EPW06" from the predetermined area in the process of FIG. 8, which will be described later.
[0061] In T94, the application 44 displays the setup result screen D10. The setup result screen D10 includes a message indicating that the connection with the AP 6 has been completed, and a button for displaying the top screen D2. Next, in T96, the application 44 uses the BT connection to send a setup process end instruction to the printer 100. The setup process end instruction is an instruction requesting that the BT connection be disconnected.
[0062] When the printer 100 receives a setup process end instruction from the terminal 10 in T96, it disconnects the BT connection (ie, the L2CAP Link) in T98.
[0063] As described above, the terminal 10 can establish a Wi-Fi connection between the printer 100 and the AP 6. This allows both the terminal 10 and the printer 100 to belong to a wireless network formed by the AP 6. This allows the terminal 10 to send print data representing an image to be printed to the printer 100 via the AP 6. As a result, the printer 100 can print the image.
[0064] (Printer 200 setup process: Figure 6) Next, with reference to Fig. 6, a case will be described in which a Wi-Fi connection is established between the printer 200 and the AP 6 after a Wi-Fi connection is established between the printer 100 and the AP 6. The processing in Fig. 6 is a continuation of the processing in Fig. 5.
[0065] In T102, the printer 200 receives a power-on operation from the user. In this case, in T104, the printer 200 starts repeatedly transmitting an Advertise signal including the model name of the printer 200, "PR02."
[0066] In T110, the application 44 receives from the user a selection of a button indicating "Go to Top Screen" included in the setup result screen D10 (T94 in FIG. 5). In this case, the application 44 displays the top screen D2 in T112. The subsequent processing from T114 to T134 is the same as the processing from T14 to T34 in FIG. 2, except that the target of the establishment of the BT connection is the printer 200.
[0067] Thereafter, the same processes as those in T40 to T64 in FIG. 5 are executed. In T166, the application 44 accepts selection of the SSID "ID06" from the user (S18). Because the application 44 has already stored the encrypted password "EPW06" corresponding to the SSID "ID06" (YES in T90 in FIG. 5 and S20 in FIG. 3), the application 44 decrypts the encrypted password "EPW06" using the random key stored in the predetermined area in T170 to generate the password "PW06" without displaying the password entry screen (i.e., without accepting input of the password "PW06" from the user). Thereafter, in T180, the application 44 transmits the SSID "ID06" and the password "PW06" to the printer 200 (S40).
[0068] In T180, the printer 200 receives the SSID "ID06" and password "PW06" from the terminal 10, and in T182 attempts to establish a Wi-Fi connection with the AP 6 using the SSID "ID06" and password "PW06." This establishes a Wi-Fi connection between the printer 200 and the AP 6. The subsequent processes of T184 to T198 are the same as the processes of T84, T86, and T94 to T98 in FIG. 5.
[0069] (App 44 termination process by OS 42: Figure 7) Next, the process of terminating the application 44 executed by the OS 42 will be described with reference to Fig. 7. The process of Fig. 7 is a continuation of the process of Fig. 6.
[0070] At T200, the OS 42 receives an instruction from the user to display an application list screen. In this case, the OS 42 transitions the application 44 from a state where it is running in the foreground to a state where it is running in the background, and at T202, the OS 42 displays an application list screen D40 on the display unit 12. The application list screen D40 includes application screens 301, 311, and 321 corresponding to the applications running in the background. The application screen 301 is a screen corresponding to the application 44, and more specifically, is a screen corresponding to the setup result screen D10 displayed at T194 in FIG. 6 . Each of the application screens 301, 311, and 321 includes an application exit button 302, 312, or 322.
[0071] In T204, the OS 42 accepts, from the user, selection of the app end button 302 included in the app screen 301. In this case, the OS 42 terminates the app 44 in T206. Then, in T208, the OS 42 releases the work area (i.e., the above-mentioned predetermined area) corresponding to the app 44 in the RAM 50. As a result, the SSID "ID06" and the encryption password "EPW06" stored in the RAM 50 are deleted. As described above, the case in FIG. 6 is a case in which the app 44 running in the background is terminated, that is, a case in which the app 44 is forcibly terminated without selecting the end button B4 in the top screen D2 (see T12 in FIG. 2). In such a case, the OS 42 deletes the SSID "ID06" and the encryption password "EPW06" by releasing the above-mentioned predetermined area. This makes it possible to prevent the SSID "ID06" and the password "PW06" from being leaked.
[0072] (Password deletion process: Figure 8) Next, a password deletion process executed by the CPU 32 in accordance with the application 44 will be described with reference to Fig. 8. The process in Fig. 8 is triggered by the application 44 storing the SSID "ID06" and the encrypted password "EPW06" in a predetermined area (for example, T90 in Fig. 5).
[0073] In S100, the application 44 (i.e., the CPU 32) starts measuring the storage time H1 (see T92 in FIG. 5). Next, in S102, the application 44 determines whether or not an end instruction has been received from the user. An end instruction is the selection of the end button B4 on the top screen D2 (see T12 in FIG. 2). If the end button B4 has been selected by the user, the application 44 determines that an end instruction has been received (YES in S102) and proceeds to S110. If the end button B4 has not been selected, the application 44 determines that an end instruction has not been received (NO in S102) and proceeds to S120.
[0074] In S110, the application 44 deletes the SSID "ID06" and the encryption password "EPW06" from a predetermined area in the RAM 50. This makes it possible to prevent the SSID "ID06" and the password "PW06" from being leaked. After that, in T112, the application 44 ends the application 44. This ends the processing in FIG. 8.
[0075] In S120, the application 44 determines whether the application 44 has transitioned from a state in which the application 44 is running in the foreground to a state in which the application 44 is running in the background. If the application 44 determines that the application 44 has not transitioned to a state in which the application 44 is running in the background (NO in S120), the process proceeds to S132, and if the application 44 determines that the application 44 has transitioned to a state in which the application 44 is running in the background (YES in S120), the process proceeds to S122.
[0076] In S132, the application 44 determines whether the storage time H1 is equal to or greater than a threshold time Th1 (e.g., 24 hours). If the application 44 determines that the storage time H1 is equal to or greater than the threshold time Th1 (YES in S132), the process proceeds to S140. If the application 44 determines that the storage time H1 is less than the threshold time Th1 (NO in S132), the process proceeds to S102.
[0077] In S140, the application 44 deletes the SSID "ID06" and the encrypted password "EPW06" from the predetermined area. This prevents the SSID "ID06" and the password "PW06" from leaking. After that, in T142, the application 44 resets the storage time H1 to zero and ends the processing in FIG. 8.
[0078] In S122, the application 44 starts measuring a BG time H2. The BG time H2 is the time that has elapsed since the application 44 transitioned to a state in which it is running in the background. In S130, the application 44 determines whether the application 44 has transitioned from a state in which it is running in the background to a state in which it is running in the foreground. If the application 44 determines that the application 44 has transitioned to a state in which it is running in the foreground (YES in S130), the application 44 proceeds to S132, and if the application 44 determines that the application 44 has not transitioned to a state in which it is running in the foreground (NO in S130), the application 44 proceeds to S134.
[0079] In S134, the application 44 determines whether the BG time H2 is equal to or greater than a threshold time Th2 (e.g., 30 minutes). If the application 44 determines that the BG time H2 is equal to or greater than the threshold time Th2 (YES in S134), the application 44 proceeds to S140 and deletes the SSID "ID06" and the encryption password "EPW06" from the predetermined area. This makes it possible to prevent the SSID "ID06" and the password "PW06" from leaking. On the other hand, if the application 44 determines that the BG time H2 is equal to or greater than the threshold time Th2 (YES in S134), the application 44 proceeds to S130.
[0080] (Effects of this embodiment) When the terminal 10 of this embodiment is to cause the printer 100 to establish a Wi-Fi connection with the AP 6, the terminal 10 acquires the password "PW06" due to the user inputting the password "PW06" (S32 in FIG. 3 and T72 in FIG. 5), and transmits the password "PW06" to the printer 100 (S40 in FIG. 3 and T80 in FIG. 5). Then, the terminal 10 encrypts the password "PW06" to generate an encrypted password "EPW06" (S47 in FIG. 3 and T88 in FIG. 5), and stores the encrypted password "EPW06" in a predetermined area in the RAM 50 (S48 in FIG. 3 and T90 in FIG. 5). Thereafter, when the terminal 10 is to cause the printer 200 to establish a Wi-Fi connection with the AP 6, the terminal 10 decrypts the encrypted password "EPW06" stored in the predetermined area to generate a password "PW06" (T170 in FIG. 6), and transmits the password "PW06" to the printer 200 even if the user does not re-enter the password "PW06" (YES in S20 in FIG. 3, S40, T180 in FIG. 6). Therefore, the terminal 10 can improve user convenience in a situation where the terminal 10 causes each of the multiple printers 100, 200 to establish a Wi-Fi connection with the AP 6. In particular, because the encrypted password "EPW06" is stored in the predetermined area, rather than the password "PW06" itself, it is possible to prevent the password "PW06" from being obtained by a third party.
[0081] Furthermore, in this embodiment, the terminal 10 encrypts the password "PW06" using a random key that is changed each time the application 44 is launched. Therefore, compared to a configuration in which a fixed key is used for encryption, it is possible to prevent the password "PW06" from being leaked due to a third party obtaining the encryption key.
[0082] (Correspondence) The mobile terminal 10 is an example of a "terminal device." The app 44 is an example of a "computer program." The BTI / F 16 is an example of a "wireless interface." The CPU 32 is an example of a "computer." The printer 100 and the printer 200 are examples of a "first communication device" and a "second communication device," respectively. The BT connection with the printer 100 and the BT connection with the printer 200 are examples of a "first wireless connection" and a "second wireless connection," respectively. The operation of entering the password "PW06" in the password input field on the password input screen D8 is an example of a "predetermined operation." The process of establishing a Wi-Fi connection with the AP 6 is an example of a "predetermined process." The password "PW06" is an example of "authentication information," "first information," and "second information." The encrypted password "EPW06" is an example of "encrypted information." The setup result is an example of "first result information" and "second result information." Receiving failure information including error information indicating a password error is an example of a "first condition" and a "second condition." The model names "PR01" and "PR02" are examples of "first identification information" and "second identification information," respectively. The connection confirmation screens D4 and D14 are examples of a "first selection screen" and a "second selection screen," respectively. The top screen D2 and the exit button B4 are examples of a "specific screen" and an "exit button," respectively. The threshold time Th1 and the threshold time Th2 are examples of a "first predetermined time" and a "second predetermined time," respectively.
[0083] The process of T30 in FIG. 2 is an example of a process executed by a "first establishment process executing unit." The processes of S32 in FIG. 3 and T72 in FIG. 5 are an example of a process executed by an "acquisition unit." The processes of S40 in FIG. 3 and T80 in FIG. 5 are an example of a process executed by a "first transmission unit." The processes of S47 in FIG. 3 and T88 in FIG. 5 are an example of a process executed by an "encryption unit." The processes of S48 in FIG. 3 and T90 in FIG. 5 are an example of a process executed by a "storage control unit." The process of T130 in FIG. 6 is an example of a process executed by a "second establishment process executing unit." The processes of S22 in FIG. 3 and T170 in FIG. 6 are an example of a process executed by a "decryption unit." The processes of S40 in FIG. 3 and T180 in FIG. 6 are an example of a process executed by a "second transmission unit." The processes of S42 in FIG. 3 and T86 in FIG. 5 are an example of a process executed by a "first result information receiving unit." The processing of S42 in FIG. 3 and T186 in FIG. 6 is an example of processing executed by a "second result information receiving unit." The processing of S54 in FIG. 3 is an example of processing executed by a "fourth deletion unit." The processing of T22 in FIG. 2 and the processing of T122 in FIG. 6 are examples of processing executed by a "second display control unit" and a "third display control unit," respectively. The processing of T12 in FIG. 2 and T112 in FIG. 6 are examples of processing executed by a "first display control unit." The processing of S110 in FIG. 8 is an example of processing executed by a "first deletion unit." The processing of S140 in FIG. 8 is an example of processing executed by a "second deletion unit" and a "third deletion unit."
[0084] (Second embodiment: Figures 1 to 6) Next, a second embodiment will be described. The second embodiment differs from the first embodiment in that a fixed key that does not change each time the application 44 is launched is used instead of a random key. In this embodiment, the process of T11 in FIG. 2 is not executed. The fixed key may be installed on the terminal 10 at the same time as the application 44 is installed on the terminal 10, or may be generated by the application 44 after the application 44 is installed on the terminal 10. In the latter case, the fixed key may be generated, for example, when the application 44 is launched for the first time, or when the encryption password is to be stored for the first time. The fixed key is stored in a predetermined area in the ROM 40, not in the RAM 50. The predetermined area is a storage area in the ROM 40 allocated by the OS 42 for the application 44.
[0085] In S47 of Fig. 3, the application 44 encrypts the password "PW06" using the fixed key to generate an encrypted password "EPW06." As shown in Fig. 4, in S48 of Fig. 3, the application 44 associates the selected SSID with the target encrypted password and stores them in the above-mentioned predetermined area in the ROM 40.
[0086] According to this embodiment, the terminal 10 stores the fixed key, SSID, and encrypted password in a predetermined area in the ROM 40. Unlike the work area in the RAM 50, the predetermined area in the ROM 40 is not released even when the application 44 is terminated. That is, in this embodiment, the process of FIG. 7 is not executed. The process of FIG. 8 is also not executed. Therefore, for example, after a Wi-Fi connection is established between the printer 100 and the AP 6 by the process of FIG. 5, even if the application 44 is terminated (or even if the terminal 10 is powered off), the fixed key, SSID "ID06," and encrypted password "EPW06" are maintained in the predetermined area. As a result, after the application 44 is restarted, the terminal 10 can use the fixed key in the predetermined area to decrypt the encrypted password "EPW06" in the predetermined area and generate the password "PW06." This allows the terminal 10 to establish a Wi-Fi connection between the printer 200 and the AP 6. This improves user convenience.
[0087] (Third Example: Figures 1 to 6, 9) In this embodiment, the terminal 10 establishes a Wi-Fi connection between each of the printers 100 and 200 and the AP 6, and then establishes a Wi-Fi connection between each of the printers 300 and 400 and the AP 8. As in the second embodiment, a fixed key is used in this embodiment, and the fixed key, SSID, and encryption password are stored in a predetermined area in the ROM 40. In particular, in this embodiment, a different fixed key is used for each SSID.
[0088] 1, a predetermined area in the ROM 40 of the terminal 10 includes a key table 46 and a file name table 48. The key table 46 is a table for storing SSIDs and fixed keys in association with each other. The file name table 48 is a table for storing SSIDs and file names of encrypted passwords in association with each other. In this way, since the two tables 46 and 48 are provided, the application 44 can manage fixed keys and encrypted passwords for each SSID.
[0089] In S47 of Fig. 3, the application 44 generates a fixed encryption key by generating a random character string. As shown in Fig. 4, in S48 of Fig. 3, the application 44 encrypts the target password using the generated fixed key to generate a target encrypted password and stores the target encrypted password in a predetermined area in the ROM 40. The application 44 then updates the key table 46 by storing the selected SSID and the generated fixed key in association with each other in the key table 46. The application 44 further updates the key table 46 by storing the selected SSID and the file name of the target encrypted password in the file name table 48 in association with each other. Here, the file name can also be referred to as a file path.
[0090] A specific case of this embodiment will be described with reference to Fig. 9. The processing in Fig. 9 is a continuation of the processing in Fig. 6. At the start of the processing in Fig. 9, the SSID "ID06" of AP6 and the fixed key "K01" for encrypting the password "PW06" of AP6 are stored in association with each other in the key table 46 (see Fig. 4 (Third embodiment)). The file name table 48 stores the SSID "ID06" and the file name "F01" of the encryption password "EPW06" in association with each other (see Fig. 4 (Third embodiment)).
[0091] 2 are executed between the terminal 10 and the printer 300. However, at T24, the model name of the printer 300, "PR03", is selected instead of the model name of the printer 100, "PR01".
[0092] Thereafter, the same processes as those in T40 to T64 in FIG. 5 are executed. In T366, the application 44 accepts selection of the SSID "ID08" of AP8 from the user (S18 in FIG. 3). No file name corresponding to the SSID "ID08" is stored in the file name table 48 (NO in S20). That is, an encrypted password corresponding to the selected SSID "ID08" has not yet been stored in a predetermined area in the ROM 40. Therefore, in T370, the application 44 displays a password entry screen D8 (NO in S20, S30), and in T372, accepts input of the password "PW08" from the user (S32). Then, in T380, the application 44 uses a BT connection to transmit the SSID "ID08" and the password "PW08" to the printer 100 (S40).
[0093] In T380, the printer 300 receives the SSID "ID08" and password "PW08" from the terminal 10, and in T382, attempts to establish a Wi-Fi connection with the AP 8 using the SSID "ID08" and password "PW08." As a result, a Wi-Fi connection is established between the printer 300 and the AP 8.
[0094] 5 is executed. At T388, the application 44 generates a new fixed key "K02" that is different from the fixed key "K01," and encrypts the password "PW08" using the fixed key "K02" to generate an encrypted password "EPW08" (S47). At T390, the application 44 associates the fixed key "K02," the SSID "ID08," and the generated encrypted password "EPW08" and stores them in a predetermined area (S48). Specifically, the application 44 stores the encrypted password "EPW08" in a predetermined area, associates the SSID "ID08" and "K02" with each other, and stores the SSID "ID08" and the file name "F02" of the encrypted password "EPW08" in the file name table 48 (S48). At T388, the application 44 newly generates a fixed key "K02" that is different from the fixed key "K01," and encrypts the password "PW08" using the fixed key "K02," and generates an encrypted password "EPW08" (S47). At T390, the application 44 associates the fixed key "K02," the SSID "ID08," and the SSID "K02" and stores them in the key table 46, and stores the SSID "ID08" and the file name "F02" of the encrypted password "EPW08" in the file name table 48 (S48). At T390, the application 44 newly generates a new fixed key "K02" that is different from the fixed key "K01," and encrypts the password "PW08" using the fixed key "K02" (S47). At T390, the application 44 associates the fixed key "K02," the SSID "ID08," and the SSID "K02" and stores them in the key table 46, and stores the SSID "ID08" and the file name "F02" of the encrypted password "EPW08" in
[0095] 6 are executed between the terminal 10 and the printer 400. However, in T124, the model name of the printer 400, "PR04", is selected instead of the model name of the printer 200, "PR02".
[0096] Thereafter, the same processes as those in T40 to T64 in FIG. 5 are executed. At T466, the application 44 accepts selection of the SSID "ID08" from the user (S18). Because the application 44 has already stored the encryption password "EPW08" corresponding to the SSID "ID08" (see T390), at T470, the application 44 decrypts the encryption password "EPW08" (S22 in FIG. 3) without displaying a password entry screen (i.e., without accepting input of the password "PW08" from the user). Specifically, the application 44 acquires the fixed key "K02" associated with the selected SSID "ID08" from the key table 46, and acquires the file name "F02" associated with the selected SSID "ID08" from the file name table 48. Then, the application 44 uses the acquired fixed key "K02" to decrypt the encryption password "EPW08" identified by the acquired file name "F02" to acquire the password "PW08." Thereafter, in T480, the application 44 transmits the SSID "ID08" and the password "PW08" to the printer 400 (S40).
[0097] In T480, the printer 400 receives the SSID "ID08" and password "PW08" from the terminal 10, and in T482 attempts to establish a Wi-Fi connection with the AP 8 using the SSID "ID08" and password "PW08." This establishes a Wi-Fi connection between the printer 400 and the AP 8. Thereafter, the same processes as in T184 to T198 of FIG. 6 are executed.
[0098] If the configuration of the comparative example were adopted in which the same fixed key is used to encrypt multiple passwords corresponding to multiple SSIDs, the multiple passwords could be leaked if the fixed key were obtained by a third party. In contrast, according to this embodiment, the terminal 10 encrypts passwords using a different fixed key for each SSID (i.e., for each AP). Therefore, even if the key "K01" were obtained by a third party, the password "PW08" for AP8 could be prevented from being leaked.
[0099] (Fourth Example: Figures 1 to 6, 9) In this embodiment, as in the third embodiment, a different fixed key is used for each SSID. This embodiment differs from the third embodiment in that, instead of using the file name table 48, the encrypted password has a file name including the SSID (see the fourth embodiment in FIG. 4). Because the file name table 48 is not used, the amount of information stored in a predetermined area in the ROM 40 can be reduced.
[0100] A specific case of this embodiment will be described with reference to Fig. 9. At the start of the processing of Fig. 9, similar to the third embodiment, the SSID "ID06" of AP6 and the fixed key "K01" are stored in association with each other in the key table 46 in a predetermined area of the ROM 40 (see Fig. 4 (fourth embodiment)). In addition, the encrypted password "EPW06" has a file name that includes the SSID "ID06".
[0101] The same processing as in the third embodiment is executed up to T388. At T388, the application 44 encrypts the password "PW08" using the fixed key "K02" to generate the encrypted password "EPW08," and assigns a file name including the SSID "ID08" to the encrypted password "EPW08." Then, at T390, the application 44 associates the fixed key "K02," the SSID "ID08," and the generated encrypted password "EPW08" and stores them in a predetermined area (S48). Specifically, the application 44 stores the encrypted password "EPW08," which has a file name including the SSID "ID08," in a predetermined area, and associates the SSID "ID08" with the fixed key "K02" and stores them in the key table 46 (S48). Thereafter, the same processing as in T94 to T98 of FIG. 5 is executed.
[0102] Next, the same processing as in the third embodiment is executed between the terminal 10 and the printer 400 up to T466 in FIG. 9. At T466, the application 44 accepts selection of the SSID "ID08" from the user (S18), and at T470, decrypts the encrypted password "EPW08" (S22 in FIG. 3). Specifically, the application 44 acquires the fixed key "K02" associated with the selected SSID "ID08" from the key table 46. The application 44 uses the acquired fixed key "K02" to decrypt the encrypted password "EPW08" having a file name including the selected SSID "ID08," and acquires the password "PW08." The subsequent processing is the same as in the third embodiment.
[0103] As in the third embodiment, in this embodiment, the terminal 10 encrypts the password using a different fixed key for each SSID (i.e., for each AP). Therefore, even if the key "K01" is obtained by a third party, leakage of the password "PW08" of AP8 can be prevented.
[0104] (Fifth Example: Figures 1 to 6, 9) In this embodiment, as in the third and fourth embodiments, a different fixed key is used for each SSID. In this embodiment, as shown in FIG. 1, the application 44 stores a key generation algorithm. The key generation algorithm is a predetermined algorithm for generating a fixed key from an SSID. This makes it possible to eliminate the need for the key table 46. Because the key table 46 is not used, the amount of information stored in a predetermined area in the ROM 40 can be reduced.
[0105] A specific case of this embodiment will be described with reference to Fig. 9. At the start of the processing of Fig. 9, as in the third embodiment, the SSID "ID06" and the file name "F01" of the encryption password "EPW06" are stored in association with each other in the file name table 48 (see Fig. 4 (Fifth embodiment)). The fixed key for generating the encryption password "EPW06" is generated from the SSID "ID06" according to a key generation algorithm. The fixed key is generated each time encryption or decryption is executed, and is not stored in a predetermined area in the ROM 40. In the fifth embodiment, the processing of T388, T390, and T470 differs from that of the fourth embodiment.
[0106] At T388, the application 44 generates a fixed key from the SSID "ID08" of AP8 in accordance with the key generation algorithm, and encrypts the password "PW08" using the fixed key to generate an encrypted password "EPW08" (S47). Thereafter, at T390, the application 44 associates the SSID "ID08" with the generated encrypted password "EPW08" and stores them in a predetermined area (S48). Specifically, the application 44 stores the encrypted password "EPW08" in a predetermined area, and stores the SSID "ID08" and the file name "F02" of the encrypted password "EPW08" in the file name table 48 (S48). At this time, the fixed key is not stored in the predetermined area. Thereafter, the same processes as those at T94 to T98 in FIG. 5 are executed.
[0107] In T466, the application 44 receives the selection of the SSID "ID08" from the user (S18), and in T470, decrypts the encrypted password "EPW08" (S22 in FIG. 3). Specifically, the application 44 obtains the file name "F02" associated with the selected SSID "ID08" from the file name table 48. The application 44 generates a fixed key from the selected SSID "ID08" according to the key generation algorithm, and uses the fixed key to decrypt the encrypted password "EPW08" and obtain the password "PW08." The subsequent processing is the same as in the third embodiment.
[0108] As in the third embodiment, in this embodiment, the terminal 10 encrypts the password using a different fixed key for each SSID (i.e., for each AP). Therefore, even if the key "K01" is obtained by a third party, leakage of the password "PW08" of AP8 can be prevented. Furthermore, in this embodiment, the fixed key is not stored, so that it is possible to prevent the fixed key from being obtained by a third party, and as a result, it is possible to prevent the password from being leaked.
[0109] (Sixth embodiment: Figure 10) Next, a sixth embodiment will be described. The terminal 10 of the sixth embodiment includes a camera 18 (see FIG. 1) in addition to the configuration of the terminal 10 of the first embodiment. Also, a QR code (registered trademark) obtained by encoding the SSID "ID06" and password "PW06" is attached to the housing of the AP 6 of the sixth embodiment.
[0110] The sixth embodiment differs from the first embodiment in that the processes of T670 to T684 in FIG. 10 are executed instead of the processes of T70 and T72 in FIG. 5. At T670, the application 44 displays a designation screen D50. The designation screen D50 includes a message prompting the user to photograph a QR code attached to the housing of the AP 6. At T672, the application 44 activates the camera 18. Then, at T682, the application 44 accepts from the user an operation to photograph a QR code Q2 attached to the housing of the AP 6 with the camera 18. At T684, the application 44 decodes the photographed QR code Q2. As a result, the application 44 acquires the SSID "ID06" and the password "PW06".
[0111] According to this embodiment, the application 44 can obtain the password "PW06" without requiring the user to enter the password "PW06" into the password entry field (see FIG. 5). In this embodiment, the QR code Q2 is an example of a "code image." The processing of T682 is an example of a "predetermined operation."
[0112] (Seventh embodiment: Figure 11) Next, a seventh embodiment will be described. In addition to the configuration of the terminal 10 of the first embodiment, the terminal 10 of the seventh embodiment includes an NFC (abbreviation of Near Field Communication) I / F 19 (see FIG. 1) for performing NFC communication in accordance with the NFC standard.
[0113] The seventh embodiment differs from the first embodiment in that the processes of T770 to T774 in FIG. 11 are executed instead of the processes of T70 and T72 in FIG. 5. At T770, the application 44 displays a designation screen D60. The designation screen D60 includes a message prompting the user to bring the terminal 10 closer to the AP 6. At T772, the application 44 accepts an operation from the user to bring the terminal 10 closer to the AP 6. As a result, an NFC connection is established between the terminal 10 and the AP 6. At T774, the application 44 receives the SSID "ID06" and the password "PW06" from the AP 6 using the established NFC connection.
[0114] According to this embodiment, the application 44 can obtain the password "PW06" without requiring the user to enter the password "PW06" into the password entry field (see FIG. 4). In this embodiment, the NFC I / F 19 is an example of a "wireless interface different from the wireless interface." The processing of T772 is an example of a "predetermined operation."
[0115] (Eighth embodiment: Figure 12) Next, an eighth embodiment will be described. The wireless LAN I / F 14 of the eighth embodiment further supports the WFD (short for Wi-Fi Direct (registered trademark)) method established by the Wi-Fi Alliance. Details of the WFD method are described in the standard "Wi-Fi Peer-to-Peer (P2P) Technical Specification Version 1.1" created by the Wi-Fi Alliance. The WFD method defines a Group Owner state (hereinafter referred to as "G / O state") and a client state (hereinafter referred to as "CL state"). The G / O state is a state in which a station operates as a parent station in a wireless connection established according to the WFD method, and the CL state is a state in which a station operates as a child station in the wireless connection. Hereinafter, a Wi-Fi connection established according to the WFD method may be referred to as a "WFD connection."
[0116] In the eighth embodiment, the processing of Fig. 12 is executed instead of the processing of Fig. 2. Specifically, in the eighth embodiment, a WFD connection is established between the terminal 10 and the printer 100 instead of a BT connection.
[0117] In T800, the printer 100 receives a power-on operation from the user. In this case, in T402, the printer 100 transitions to the G / O state of the WFD system. The wireless network in which the printer 100 operates as the G / O uses the SSID "ID10" and the password "PW10."
[0118] In T810, the application 44 receives an operation from the user to start the application 44. As a result, in T812, the application 44 displays a top screen D70 on the display unit 12. The top screen D70 includes a setup button B12 and an end button B14. In this embodiment, "setup" refers to establishing a WFD connection between the terminal 10 and a printer (e.g., 100), and then establishing a Wi-Fi connection between the printer and the AP 6. The application 44 also stores in advance an SSID "ID10" and a password "PW10."
[0119] In T814, the application 44 accepts selection of the setup button B12 from the user. In this case, in T820, the application 44 supplies the pre-stored SSID "ID10" and password "PW10" to the OS 42. In this case, in T822, the OS 42 establishes a WFD connection with the printer 100 using the SSID "ID10" and password "PW10."
[0120] Thereafter, the terminal 10 uses the WFD connection established in T822 to execute each communication in FIG. 3 with the printer 100. The terminal 10 also establishes a WFD connection with the printer 200, which is in a G / O state, and uses this WFD connection to execute each communication in FIG. 3 with the printer 200. In this embodiment, the WFD connection in T822 and the WFD connection with the printer 200 (not shown) are examples of a "first wireless connection" and a "second wireless connection," respectively. The wireless LAN I / F 14 is an example of a "wireless interface."
[0121] Although specific examples of the technology disclosed in this specification have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and variations of the specific examples exemplified above. Modifications of the above examples are listed below.
[0122] (Variation 1) In the eighth embodiment, instead of the printer 100 transitioning to the G / O state, the terminal 10 may transition to the G / O state. In this case, the terminal 10 in the G / O state can establish a WFD connection with the printer 100. This WFD connection is an example of a "first wireless connection." Similarly, the terminal 10 in the G / O state may establish a WFD connection with the printer 200. This WFD connection is an example of a "second wireless connection."
[0123] (Variation 2) When the user selects the end button B4 (see the top screen D2 in FIG. 2) (YES in S102 in FIG. 8), the application 44 may not delete the SSID "ID06" and the password "PW06" from a predetermined area in the RAM 50. In this variation, the "first deletion unit" can be omitted.
[0124] (Modification 3) It is possible to omit the processing in Fig. 8. In this modification, the "second deletion unit" and the "third deletion unit" can be omitted.
[0125] (Variation 4) Instead of causing each printer 100, 200 to execute a process for establishing a Wi-Fi connection with the AP 6, the terminal 10 may cause each printer 100, 200 to execute a process for registering default print settings. Here, the default print settings include, for example, the number of colors, resolution, and paper size. A server provided by a vendor of the printer 100 or the like stores a setting file indicating the default print settings. The server stores an access token, which is authentication information for transmitting the setting file. The user of the terminal 10 obtains the access token from a retailer of the printer 100 or the like and enters the access token into the terminal 10. In this case, the terminal 10 receives a setting file from the server using the access token and transmits the setting file to the printer 100 using a Bluetooth connection. This allows the printer 100 to register the default print settings indicated by the setting file. After transmitting the setting file to the printer 100, the terminal 10 discards the setting file. The terminal 10 encrypts the access token to generate an encrypted access token and stores the encrypted access token in a predetermined area in RAM 50. Thereafter, when the terminal 10 is to cause the printer 200 to execute the same default print setting registration process, it decrypts the encrypted access token stored in the predetermined area to generate an access token without receiving an operation to input the access token from the user, receives a setting file from the server using the access token, and transmits the setting file to the printer 200 using a BT connection. This allows the printer 200 to register the default print settings indicated by the setting file. In this variation, the operation of inputting the access token is an example of a "predetermined operation," the access token and the encrypted access token are examples of "authentication information" and "encrypted information," respectively, and the setting file is an example of "first information" and "second information."
[0126] (Variation 5) Instead of associating the SSID of the AP with the fixed key and storing them in the key table 46, the application 44 may associate the MAC address of the AP with the fixed key and store them in the key table 46. In this case, the application 44 may associate the MAC address of the AP with the file name and store them in the file name table 48. In this variation, the MAC address is an example of "access point identification information."
[0127] (Variation 6) S42 and S44 in Fig. 3 may be omitted. That is, the application 44 may execute S46 after executing S40, and if the answer to S46 is NO, may execute S47. In this variation, the "first result information receiving unit" may be omitted.
[0128] (Variation 7) S50 in Fig. 3 can be omitted. That is, if the setup result includes failure information (NO in S44), the application 44 does not need to store the SSID and encryption password (skip S48) regardless of the cause of the failure.
[0129] (Modification 8) S52 and S54 in Fig. 3 can be omitted. In this modification, the "fourth deletion unit" can be omitted.
[0130] (Modification 9) The application 44 can omit S50 in Fig. 3. That is, when the setup result includes failure information (NO in S44), the application 44 may delete the SSID and password regardless of the cause of the failure.
[0131] (Modification 10) It is possible to omit T22 and T24 in Fig. 2 and T122 and T124 in Fig. 6. In this modification, it is possible to omit the "second display control unit" and the "third display control unit".
[0132] (Modification 11) The "first communication device" and the "second communication device" are not limited to printers, but may be other devices such as scanners, facsimiles, multifunction devices, PCs, servers, and mobile terminals.
[0133] (Modification 12) In the above embodiments, the processes in FIGS. 2 to 12 are implemented by software, but at least one of these processes may be implemented by hardware such as a logic circuit.
[0134] The technical elements described in this specification or drawings may exhibit technical utility alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Furthermore, the technologies illustrated in this specification or drawings may achieve multiple objectives simultaneously, and achieving one of those objectives alone is technically useful. The following items are the contents of the claims at the time of patent application. (Item 1) A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information required to cause a communication device to execute a predetermined process when a predetermined operation is performed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmission unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; A computer program that functions as a (Item 2) 2. The computer program according to claim 1, wherein the encryption unit encrypts the authentication information using a key that is changed each time the computer program is started. (Item 3) The terminal device further includes a display unit, The computer program further causes the computer to: a first display control unit that causes the display unit to display a specific screen including an end button for ending the computer program; a first deletion unit that deletes the encrypted information from the predetermined area when the end button included in the specific screen is selected by the user; Item 3. The computer program according to item 2, (Item 4) the predetermined area is an area in a volatile memory, Item 2 or 3. The computer program according to item 2 or 3, wherein when the computer program is terminated, the encrypted information is deleted from the specified area in response to the specified area being released by an OS (short for Operating System) program different from the computer program of the terminal device. (Item 5) The computer program further causes the computer to: 5. The computer program according to any one of items 2 to 4, which functions as a second deletion unit that deletes the encrypted information from the specified area when a first specified time has elapsed since the authentication information was stored in the specified area. (Item 6) The computer program further causes the computer to: 6. The computer program according to any one of items 2 to 5, wherein the computer program functions as a third deletion unit that deletes the encrypted information from the specified area when a second specified time has elapsed since the computer program transitioned from a state in which the computer program was running in the foreground to a state in which the computer program was running in the background. (Item 7) 2. The computer program according to claim 1, wherein the encryption unit encrypts the authentication information using a key that does not change each time the computer program is started. (Item 8) the predetermined area is an area in a nonvolatile memory, 8. The computer program according to claim 7, wherein the encrypted information is not deleted from the predetermined area even when the computer program is terminated. (Item 9) the first information is the authentication information, 9. The computer program of any one of items 1 to 8, wherein the second information is the authentication information. (Item 10) the predetermined process is a process for establishing a Wi-Fi connection with an access point, 10. The computer program of any one of items 1 to 9, wherein the authentication information is a password for the access point. (Item 11) Item 11. The computer program according to item 10, wherein the encryption unit encrypts the authentication information using a key that differs for each access point. (Item 12) The storage control unit further storing, for each access point, access point identification information for identifying the access point and a file name for identifying encrypted information generated using a key corresponding to the access point in association with each other in the memory; Item 12. The computer program according to item 11, wherein, for each access point, access point identification information that identifies the access point and a key corresponding to the access point are associated and stored in the memory. (Item 13) the storage control unit stores, for each access point, the encrypted information having a file name including access point identification information that identifies the access point in the predetermined area; Item 12. The computer program according to item 11, wherein the storage control unit further associates, for each access point, access point identification information that identifies the access point with a key corresponding to the access point and stores the associated information in the memory. (Item 14) the encryption unit generates a key for each access point using a predetermined algorithm from access point identification information that identifies the access point; Item 12. The computer program according to item 11, wherein the storage control unit further associates, for each access point, access point identification information that identifies the access point with a file name that identifies encrypted information generated using a key corresponding to the access point, and stores the associated information in the memory. (Item 15) a first result information receiving unit that receives, after the first information and the password, which is the authentication information, are transmitted to the first communication device, first result information indicating whether the first communication device has been able to establish the Wi-Fi connection with the access point via the wireless interface using the first wireless connection; the storage control unit stores the encrypted information in the predetermined area when the first result information indicating that the Wi-Fi connection has been established is received from the first communication device; 15. The computer program of claim 10, wherein the encryption information is not stored in the predetermined area when a first condition is satisfied, the first condition including receiving first result information from the first communication device indicating that the Wi-Fi connection could not be established. (Item 16) the storage control unit further stores the encrypted information in the predetermined area when the first result information indicating that the Wi-Fi connection could not be established is received from the first communication device due to an occurrence of an error different from an error in the password; Item 16. The computer program of item 15, wherein the encrypted information is not stored in the specified area when the first condition is satisfied, including receiving the first result information from the first communication device indicating that the Wi-Fi connection could not be established due to an error in the password. (Item 17) The computer program further causes the computer to: a second result information receiving unit that receives, after the first information and the password, which is the authentication information, from the second communication device via the wireless interface using the second wireless connection, second result information indicating whether the second communication device has been able to establish the Wi-Fi connection with the access point; a fourth deletion unit that deletes the encrypted information from the predetermined area when a second condition is satisfied, the second condition including receiving second result information from the second communication device indicating that the Wi-Fi connection could not be established; 17. The computer program according to any one of items 10 to 16, which functions as (Item 18) the fourth deletion unit deletes the encrypted information from the predetermined area when the second condition is satisfied, the second condition including receiving the second result information from the second communication device indicating that the Wi-Fi connection could not be established due to an error in the password; Item 18. The computer program of item 17, wherein the encrypted information is not deleted from the specified area when the second result information is received from the second communication device indicating that the Wi-Fi connection could not be established due to the occurrence of an error other than an error in the password. (Item 19) The terminal device further includes a display unit, The computer program further causes the computer to: functioning as a second display control unit that, when first identification information identifying the first communication device is received from the first communication device via the wireless interface before the first wireless connection with the first communication device is established, causes the display unit to display a first selection screen including the first identification information; the first establishment process execution unit executes the first establishment process when the first identification information included in the first selection screen is selected by the user; The computer program further causes the computer to: functioning as a third display control unit that, when second identification information identifying the second communication device is received from the second communication device via the wireless interface before the second wireless connection with the second communication device is established, causes the display unit to display a second selection screen including the second identification information; 19. The computer program of claim 1, wherein the second establishment process execution unit executes the second establishment process when the second identification information included in the second selection screen is selected by the user after the first information is sent to the first communication device. (Item 20) The terminal device further includes an operation unit, 20. The computer program of claim 1, wherein the acquisition unit acquires the authentication information when the user performs the specified operation, which is an operation of inputting the authentication information into the operation unit. (Item 21) the predetermined process is a process for establishing a Wi-Fi connection with an access point, the authentication information is a password for the access point, The terminal device further includes a camera. 20. The computer program according to any one of items 1 to 19, wherein the predetermined operation is an operation for photographing, with the camera, a code image attached to the access point, the code image being obtained by encoding the authentication information, which is the password. (Item 22) the predetermined process is a process for establishing a Wi-Fi connection with an access point, the authentication information is a password for the access point, the terminal device further includes a wireless interface different from the wireless interface; the predetermined operation is an operation for bringing the terminal device closer to the access point, 20. The computer program of claim 1, wherein the acquisition unit acquires the authentication information, which is the password, by receiving the authentication information, which is the password, from the access point via the different wireless interface when the specified operation is performed by the user. (Item 23) 23. The computer program of any one of items 1 to 22, wherein the wireless interface is an interface for performing wireless communication according to the Bluetooth standard. (Item 24) 23. The computer program of any one of items 1 to 22, wherein the wireless interface is an interface for performing wireless communication according to the Wi-Fi standard. (Item 25) A terminal device, a wireless interface for performing wireless communication; Memory and a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information required to cause a communication device to execute a predetermined process when a predetermined operation is performed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmission unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; A terminal device comprising: (Item 26) A method performed by a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; a memory; The method comprises: a first establishment processing step of executing a first establishment processing for establishing a first wireless connection with a first communication device via the wireless interface; an acquiring step of acquiring authentication information required to cause the communication device to execute a predetermined process when a predetermined operation is executed by a user; a first transmission step of transmitting, when the first wireless connection with the first communication device is established and the authentication information is acquired, first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption step of encrypting the authentication information to generate encrypted information when the authentication information is acquired; a storage control step of storing the generated encrypted information in a predetermined area in the memory; a second establishment process execution step of executing a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption step of decrypting the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmission step of transmitting, when the second wireless connection with the second communication device is established, second information obtained using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; A method comprising: [Explanation of symbols]
[0135] 2: Communication system, 6, 8: AP, 10: Mobile terminal, 12, 112: Display unit, 14, 114: Wireless LAN I / F, 16: BTI / F, 18: Camera, 19: NFC I / F, 30, 130: Control unit, 32, 132: CPU, 34, 134: Memory, 40: ROM, 42: OS, 44: Application, 50: RAM, 100, 200, 300, 400: Printer, 118: Print execution unit, 140: Program
Claims
1. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and A display unit; a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information required to cause the first communication device to execute a predetermined process when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired, the encryption unit encrypting the authentication information using a key that is changed every time the computer program is started; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a first display control unit that causes the display unit to display a specific screen including an end button for ending the computer program; a first deletion unit that deletes the encrypted information from the predetermined area when the end button included in the specific screen is selected by the user; A computer program that functions as a
2. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information required to cause the first communication device to execute a predetermined process when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired, the encryption unit encrypting the authentication information using a key that is changed every time the computer program is started; a storage control unit that stores the generated encrypted information in a predetermined area that is an area in a volatile memory of the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; It functions as When the computer program is terminated, the predetermined area is released by an OS (abbreviation of Operating System) program different from the computer program of the terminal device, and the encrypted information is deleted from the predetermined area. Computer program.
3. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information required to cause the first communication device to execute a predetermined process when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired, the encryption unit encrypting the authentication information using a key that is changed every time the computer program is started; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a second deletion unit that deletes the encrypted information from the predetermined area when a first predetermined time has elapsed since the authentication information was stored in the predetermined area; To function as, Computer program.
4. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information required to cause the first communication device to execute a predetermined process when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired, the encryption unit encrypting the authentication information using a key that is changed every time the computer program is started; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a third deletion unit that deletes the encrypted information from the predetermined area when a second predetermined time has elapsed since the computer program shifted from a state in which the computer program was running in the foreground to a state in which the computer program was running in the background; To function as, Computer program.
5. the predetermined process is a process for establishing a Wi-Fi connection with an access point, The computer program product according to claim 1 , wherein the authentication information is a password for the access point.
6. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired, the encryption unit encrypting the authentication information using a key that differs for each access point; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; A computer program that functions as a
7. The storage control unit further storing, for each access point, access point identification information for identifying the access point and a file name for identifying encrypted information generated using a key corresponding to the access point in association with each other in the memory; 7. The computer program according to claim 6, wherein access point identification information for identifying each access point and a key corresponding to each access point are stored in the memory in association with each other.
8. the storage control unit stores, for each access point, the encrypted information having a file name including access point identification information that identifies the access point in the predetermined area; 7. The computer program according to claim 6, wherein the storage control unit further stores, for each access point, access point identification information that identifies the access point and a key corresponding to the access point in association with each other in the memory.
9. the encryption unit generates a key for each access point using a predetermined algorithm from access point identification information that identifies the access point; 7. The computer program according to claim 6, wherein the storage control unit further associates, for each access point, access point identification information that identifies the access point with a file name that identifies encrypted information generated using a key corresponding to the access point, and stores the associated file in the memory.
10. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a first result information receiving unit that receives, after the first information and the password, which is the authentication information, are transmitted to the first communication device, first result information indicating whether the first communication device has been able to establish the Wi-Fi connection with the access point via the wireless interface using the first wireless connection from the first communication device; It functions as the storage control unit stores the encrypted information in the predetermined area when the first result information indicating that the Wi-Fi connection has been established is received from the first communication device; When a first condition is satisfied, the encrypted information is not stored in the predetermined area, the first condition including the first result information indicating that the Wi-Fi connection could not be established being received from the first communication device. Computer program.
11. the storage control unit further stores the encrypted information in the predetermined area when the first result information indicating that the Wi-Fi connection could not be established is received from the first communication device due to the occurrence of an error different from the password error; The computer program of claim 10, wherein the encrypted information is not stored in the specified area when the first condition is satisfied, including receiving the first result information from the first communication device indicating that the Wi-Fi connection could not be established due to an error in the password.
12. A computer program for a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; Memory and a computer; The computer program controls the computer to operate as follows: a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a second result information receiving unit that receives, after the first information and the password, which is the authentication information, are transmitted to the second communication device, second result information indicating whether the second communication device has been able to establish the Wi-Fi connection with the access point via the wireless interface using the second wireless connection; a fourth deletion unit that deletes the encrypted information from the predetermined area when a second condition is satisfied, the second condition including receiving the second result information from the second communication device, the second result information indicating that the Wi-Fi connection could not be established; A computer program that functions as a
13. the fourth deletion unit deletes the encrypted information from the predetermined area when the second condition is satisfied, the second condition including receiving the second result information from the second communication device indicating that the Wi-Fi connection could not be established due to an error in the password; The computer program of claim 12, wherein the encrypted information is not deleted from the specified area when the second result information is received from the second communication device indicating that the Wi-Fi connection could not be established due to the occurrence of an error other than an error in the password.
14. The computer program according to claim 6 , wherein the encryption unit encrypts the authentication information using a key that does not change each time the computer program is started.
15. the predetermined area is an area in a nonvolatile memory, The computer program according to claim 14 , wherein the encrypted information is not deleted from the predetermined area even when the computer program is terminated.
16. the first information is the authentication information, The computer program product of claim 1 , wherein the second information is the authentication information.
17. The terminal device further includes a display unit, The computer program further causes the computer to: functioning as a second display control unit that, when first identification information identifying the first communication device is received from the first communication device via the wireless interface before the first wireless connection with the first communication device is established, causes the display unit to display a first selection screen including the first identification information; the first establishment process execution unit executes the first establishment process when the first identification information included in the first selection screen is selected by the user; The computer program further causes the computer to: functioning as a third display control unit that, when second identification information identifying the second communication device is received from the second communication device via the wireless interface before the second wireless connection with the second communication device is established, causes the display unit to display a second selection screen including the second identification information; 17. The computer program product according to claim 1, wherein the second establishment process execution unit executes the second establishment process when the second identification information included in the second selection screen is selected by the user after the first information is transmitted to the first communication device.
18. The terminal device further includes an operation unit, The computer program product according to claim 1 , wherein the acquisition unit acquires the authentication information when the predetermined operation, which is an operation of inputting the authentication information into the operation unit, is performed by the user.
19. the predetermined process is a process for establishing a Wi-Fi connection with an access point, the authentication information is a password for the access point, The terminal device further includes a camera.
18. The computer program according to claim 1, wherein the predetermined operation is an operation for photographing, with the camera, a code image attached to the access point, the code image being obtained by encoding the authentication information, which is the password.
20. the predetermined process is a process for establishing a Wi-Fi connection with an access point, the authentication information is a password for the access point, the terminal device further includes a wireless interface different from the wireless interface; the predetermined operation is an operation for bringing the terminal device closer to the access point, 18. The computer program product according to claim 1, wherein the acquisition unit acquires the authentication information by receiving the authentication information, which is the password, from the access point via the different wireless interface when the predetermined operation is performed by the user.
21. 21. The computer program product according to claim 1, wherein the wireless interface is an interface for performing wireless communication according to the Bluetooth standard.
22. 21. The computer program according to claim 1, wherein the wireless interface is an interface for performing wireless communication according to a Wi-Fi standard.
23. A terminal device, a wireless interface for performing wireless communication; Memory and a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a first result information receiving unit that receives, after the first information and the password, which is the authentication information, are transmitted to the first communication device, first result information indicating whether the first communication device has been able to establish the Wi-Fi connection with the access point via the wireless interface using the first wireless connection from the first communication device; Equipped with the storage control unit stores the encrypted information in the predetermined area when the first result information indicating that the Wi-Fi connection has been established is received from the first communication device; When a first condition is satisfied, the encrypted information is not stored in the predetermined area, the first condition including the first result information indicating that the Wi-Fi connection could not be established being received from the first communication device. Terminal device.
24. A terminal device, a wireless interface for performing wireless communication; Memory and a first establishment process execution unit that executes a first establishment process for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition unit that acquires authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmitting unit that, when the first wireless connection with the first communication device is established and the authentication information is acquired, transmits first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption unit that encrypts the authentication information to generate encrypted information when the authentication information is acquired, the encryption unit encrypting the authentication information using a key that differs for each access point; a storage control unit that stores the generated encrypted information in a predetermined area within the memory; a second establishment process execution unit that executes a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption unit that decrypts the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmitting unit that, when the second wireless connection with the second communication device is established, transmits second information obtained by using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; A terminal device comprising:
25. A method performed by a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; a memory; The method comprises: a first establishment processing step of executing a first establishment processing for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition step of acquiring authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmission step of transmitting, when the first wireless connection with the first communication device is established and the authentication information is acquired, first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption step of encrypting the authentication information to generate encrypted information when the authentication information is acquired; a storage control step of storing the generated encrypted information in a predetermined area in the memory; a second establishment process execution step of executing a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption step of decrypting the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmission step of transmitting, when the second wireless connection with the second communication device is established, second information obtained using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; a first result information receiving step of receiving, from the first communication device via the wireless interface using the first wireless connection after the first information and the password, which is the authentication information, has been transmitted to the first communication device, first result information indicating whether the first communication device has been able to establish the Wi-Fi connection with the access point; Equipped with In the storage control step, when the first result information indicating that the Wi-Fi connection has been established is received from the first communication device, the encrypted information is stored in the predetermined area; When a first condition is satisfied, the encrypted information is not stored in the predetermined area, the first condition including the first result information indicating that the Wi-Fi connection could not be established being received from the first communication device. method.
26. A method performed by a terminal device, comprising: The terminal device a wireless interface for performing wireless communication; a memory; The method comprises: a first establishment processing step of executing a first establishment processing for establishing a first wireless connection with a first communication device via the wireless interface; an acquisition step of acquiring authentication information, which is a password of the access point, required to cause the first communication device to execute a predetermined process for establishing a Wi-Fi connection with the access point when a predetermined operation is executed by a user; a first transmission step of transmitting, when the first wireless connection with the first communication device is established and the authentication information is acquired, first information obtained using the authentication information to the first communication device via the wireless interface using the first wireless connection; an encryption step of generating encrypted information by encrypting the authentication information when the authentication information is acquired, the encryption step encrypting the authentication information using a key that is different for each access point; a storage control step of storing the generated encrypted information in a predetermined area in the memory; a second establishment process execution step of executing a second establishment process to establish a second wireless connection with a second communication device different from the first communication device via the wireless interface after the first information is transmitted to the first communication device; a decryption step of decrypting the encrypted information stored in the predetermined area in the memory to generate the authentication information when the second wireless connection with the second communication device is established; a second transmission step of transmitting, when the second wireless connection with the second communication device is established, second information obtained using the generated authentication information to the second communication device via the wireless interface using the second wireless connection, even if the predetermined operation is not performed again by the user; A method comprising:
Citation Information
Patent Citations
Terminal device and authentication device
JP2006345150A
Service providing system, terminal device, and program
JP2009043271A
Communication device, control method, program of communication device
JP2016213614A
Communication apparatus and master station apparatus
JP2017050612A
Information processing device, control method, and program
JP2017184169A