Information processing device, control method for information processing device, and program
Patent Information
- Application Number
- JP2022132581
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-08-23
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2042-08-23
AI Technical Summary
Existing secure platforms, such as UWP applications, face challenges in executing processes that require administrator privileges, especially when instructions are received from non-administrator accounts.
An application execution device that includes a secure platform application and a first client application, capable of downloading a second client application from a non-administrator account, performs permission processing to execute processes requiring administrator privileges, and executes these processes upon completion of the permission processing.
Enables the execution of processes requiring administrator privileges from non-administrator accounts, thereby relaxing function restrictions and improving processing efficiency.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an application execution device, a control method for an application execution device, and a program. [Background technology]
[0002] In recent years, a secure platform for developing applications that ensure the safety of a PC has been provided as a countermeasure against cyber attacks. Applications of this secure platform are often unable to perform processes that require administrator privileges of the PC (hereinafter referred to as "administrator privilege processing"). An example of an application of this secure platform is a Universal Windows Platform (hereinafter referred to as "UWP") application provided by Microsoft (registered trademark). UWP applications are provided in a form called a package (see, for example, Patent Document 1). This package also includes a client application that can execute the administrator privilege processing according to an execution instruction received from an administrator account having administrator privileges of the PC. An example of the client application is a Win32 application. In a PC in which this package is installed, when an instruction to execute the administrator privilege processing is received from the administrator account, the client application executes the administrator privilege processing. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] US2020 / 0233951 Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, as programs that execute processes requiring administrator privileges become more widespread, there is a demand for appropriate execution of processes related to the programs that execute processes requiring administrator privileges.
[0005] An object of the present invention is to appropriately execute processing related to a program that executes processing requiring administrator privileges. [Means for solving the problem]
[0006] In order to solve the above problems, the application execution device of the present invention is an application execution device comprising: a means for storing a secure platform application and a first client application; a means for downloading a second client application different from the first client application when an instruction to execute a process requiring administrator privileges is received from a non-administrator account that does not have the administrator privileges; and a means for performing an authorization process to permit the second client application to execute the process requiring administrator privileges based on information of an administrator account that has the administrator privileges, and the second client application executes the process requiring administrator privileges upon completion of the authorization process. Effect of the Invention
[0007] According to the present invention, it is possible to appropriately execute processing related to a program that executes a process requiring administrator authority. [Brief description of the drawings]
[0008] [Figure 1] 1 is a configuration diagram showing an example of a system including a terminal device as an application execution device according to an embodiment of the present invention. [Diagram 2] 2 is a block diagram showing an example of a hardware configuration of the terminal device of FIG. 1. [Diagram 3] 1. FIG. 4 is a sequence diagram showing an operation when the terminal device of FIG. 1 receives an instruction to execute an administrator authority-required process from a non-administrator account that does not have administrator authority. [Figure 4] 1. FIG. 4 is a sequence diagram showing an operation when the terminal device of FIG. 1 receives an instruction to execute an administrator-privilege-required process from an administrator account having administrator privileges. [Diagram 5] 2 is a flowchart showing a procedure of a control process executed in the secure platform application of FIG. 1. [Figure 6] 1. FIG. 4 is a sequence diagram showing an operation performed when the terminal device 100 of FIG. 1 receives an instruction to execute an administrator authority-required process from a non-administrator account. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.
[0010] First, an application program (hereinafter, referred to as application) execution device according to a first embodiment of the present invention will be described. Fig. 1 is a configuration diagram showing an example of a system including a terminal device 100 as an application execution device according to this embodiment. This system is composed of the terminal device 100, a secure platform application distribution server 200, and a client application B distribution server 300.
[0011] The terminal device 100 can communicate with a secure platform application distribution server 200 and a client application B distribution server 300 via the Internet. The secure platform application distribution server 200 is a server that distributes a package 105 to the terminal device 100 and the like. The secure platform application distribution server 200 is a server for distributing applications from a Microsoft Store (registered trademark) site, for example. The client application B distribution server 300 is a server managed by a vendor of an image forming device. The package 105 is a single installer including a secure platform application 102 and a client application A 103. In this embodiment, the secure platform application 102 is a UWP application.
[0012] The client application B distribution server 300 is a server that distributes the client application B 104 for executing the administrator authority process to the terminal device 100 and the like. The administrator authority process is a process that requires the administrator authority of the terminal device 100 (hereinafter simply referred to as "administrator authority"). In other words, the process is executable based on obtaining permission from an account having the administrator authority. Note that permission from an account having the administrator authority can be obtained, for example, when an account having the administrator authority performs an input operation indicating that execution of the process requiring the administrator authority is permitted on a screen displayed by a User Account Control (hereinafter referred to as "UAC") function. However, as described later, there are also cases where execution of the administrator authority process can be permitted by receiving input of account information of an account having the administrator authority from an account not having the administrator authority on a screen displayed by the UAC function. In this embodiment, the process that permits execution of the administrator authority process for a program is referred to as a privilege promotion process.
[0013] The terminal device 100 is an information processing device such as a PC, and includes an operating system (OS) 101. A client application B 104 downloaded from a client application B distribution server 300 is also installed in the terminal device 100. A secure platform application 102 and a client application A 103 included in a package 105 downloaded from a secure platform application distribution server 200 are also installed in the terminal device 100. The secure platform application 102 is, for example, an application for controlling an image forming device from the terminal device 100. Using the secure platform application 102, for example, a print instruction or a scan instruction can be issued from the terminal device 100 to the image forming device, and the status of consumables of the image forming device can be confirmed from the terminal device 100.
[0014] In the present embodiment, the client application A103 is a Windows Presentation Foundation (hereinafter, referred to as "WPF") application for performing wireless connection settings of the image forming apparatus. In the wireless connection settings of the image forming apparatus, specifically, first, the client application A103 establishes a direct connection between the terminal apparatus 100 and the image forming apparatus without going through an external access point. After that, the client application A103 transmits information about the external access point to the image forming apparatus through the direct connection. The information about the external access point includes identification information (SSID, etc.) and a password of the external access point. As a result, the image forming apparatus establishes a wireless connection with the external access point based on the information, thereby executing wireless connection settings of the image forming apparatus. It should be noted that which access point information is transmitted to the image forming apparatus may be arbitrarily controlled. For example, information about an access point to which the terminal apparatus 100 was connected before the direct connection was established may be transmitted to the image forming apparatus. Also, for example, information about an access point selected by a user from a list of access points displayed by the terminal apparatus 100 may be transmitted to the image forming apparatus.
[0015] In this embodiment, the client application B104 is an application that is installed in the terminal device 100 in response to an instruction from the client application A103. The client application B104 has a function of acquiring, from the OS of the terminal device 100, a password of an external access point to which the terminal device 100 has connected. The acquired password is passed to the client application A103 and transmitted to the image forming device. Note that, after the client application A103 specifies which access point's information is to be transmitted to the image forming device, the client application B104 acquires the password of the identified access point from the OS. However, the timing at which the password is acquired and the number of passwords of which access points are acquired may be appropriately controlled.
[0016] In this embodiment, the secure platform application 102 is UWP and the client application A103 is WPF, so that it is possible to accept permission to execute a process that requires administrator authority through an operation from an account that has administrator authority. That is, the client application A103 is able to accept a privilege promotion process through an operation from an account that has administrator authority. However, in this embodiment, it is assumed that the secure platform application 102 and the client application A103 do not have a function to execute a process that requires administrator authority. That is, it is assumed that all functions to execute a process that requires administrator authority in this system are performed by the client application B104. However, it is not limited to this form, and the secure platform application 102 and the client application A103 may have a function to execute a process that requires administrator authority. And, since the secure platform application 102 is UWP and the client application A103 is WPF, it is not possible to accept permission to execute a process that requires administrator authority through an operation from an account that does not have administrator authority. In other words, it is not possible to accept a privilege promotion process through an operation from an account that does not have administrator authority. In this embodiment, the secure platform application 102 and the client application A 103 do not accept input of account information of an account having administrator authority on a screen displayed by the UAC function from an account without administrator authority. The client application B 104 is a program outside the UWP and WPF packages, and is a program downloaded from a server other than the secure platform application distribution server 200. For this reason, it is possible to accept permission to execute processing requiring administrator authority and to accept privilege promotion processing by an operation from an account with administrator authority.Furthermore, even when operating from an account that does not have administrator privileges, it is possible to accept permission to execute processes that require administrator privileges and to accept privilege elevation processing by entering account information of an account with administrator privileges on the screen displayed by the UAC function.
[0017] The functions of the secure platform application 102, the client application A103, and the client application B104 are not limited to the above-mentioned forms. For example, the secure platform application 102 may be an application other than the application that controls the image forming apparatus, and the client application A103 may be an application having a function other than the wireless connection setting of the image forming apparatus. The client application B104 may be an application having a function other than the function of acquiring a password, and the process that the client application B104 executes and requires administrator authority may be other processes. Specifically, for example, the process may be a process for switching the terminal device 100 from a setting in which DHCP is disabled (static IP setting) to a setting in which DHCP is enabled. This is because, after the wireless connection setting of the image forming apparatus is completed, the image forming apparatus assigns an IP address to the terminal device 100, but if the terminal device 100 does not have a setting in which DHCP is enabled, the IP address cannot be assigned to the terminal device 100.
[0018] Fig. 2 is a block diagram showing an example of a hardware configuration of the terminal device 100 in Fig. 1. The terminal device 100 is composed of a CPU 110, a storage unit 120, an operation unit 130, a display unit 140, and a communication unit 150. These are connected to each other via a system bus 160.
[0019] The CPU 110 executes programs stored in the storage unit 120 to perform various controls. The storage unit 120 is composed of a ROM, a RAM, etc., and is used to store various data and programs, and as a working area for executing various programs and a temporary storage area for data. Programs stored in the storage unit 120 include an OS 101, a secure platform application 102, a client application A 103, etc.
[0020] The operation unit 130 is configured with a mouse, a keyboard, a touch panel, etc., and accepts operations by a user. The display unit 140 is configured with a liquid crystal display, etc., and displays various images and information. The communication unit 150 is configured with a wireless LAN interface, a USB interface, etc., and communicates with other devices.
[0021] Fig. 3 is a sequence diagram showing the operation when the terminal device 100 in Fig. 1 receives an instruction to execute an administrator authority-required process from a non-administrator account that does not have administrator authority. In Fig. 3, it is assumed that the secure platform application 102, the client application A 103, and the client application B 104 are not installed in the terminal device 100. When the terminal device 100 receives an instruction to download the package 105 from the user, step S101 is started.
[0022] 3, first, in step S101, CPU 110 of terminal device 100 downloads package 105 from secure platform application distribution server 200. Next, in step S102, CPU 110 of terminal device 100 installs secure platform application 102 and client application A 103 included in the downloaded package 105. In this manner, secure platform application 102 and client application A 103 included in package 105 downloaded from secure platform application distribution server 200 are stored in storage unit 120.
[0023] Next, in step S103, CPU 110 of terminal device 100 issues a start command to secure platform application 102 in accordance with an instruction received from the user, and further issues an execution command for a predetermined process.
[0024] The secure platform application 102 starts up according to the received start command. In addition, in step S104, the secure platform application 102 determines whether the predetermined process includes an administrator authority process. Here, the description will be given assuming that the predetermined process is a process for setting up a wireless connection of the image forming apparatus and includes an administrator authority process. Among the processes for setting up a wireless connection of the image forming apparatus, the administrator authority process is executed by the client application B104, and the other processes are executed by the client application A103. Among the processes for setting up a wireless connection of the image forming apparatus, a plurality of processes may be executed by the client application B104. If the predetermined process includes an administrator authority process, the process proceeds to step S105. After the secure platform application 102 starts up, it may be determined whether the OS environment is secure and the process may be switched depending on the determination result. The form will be described later with reference to FIG. 5.
[0025] In step S105, the secure platform application 102 uses the API of the OS 101 to determine whether the account that issued the instruction to execute the predetermined process has administrator authority. In this example, it is assumed that the account that issued the instruction to execute the predetermined process is a non-administrator account that does not have administrator authority, as described above. If the account that issued the instruction to execute the predetermined process does not have administrator authority, the process proceeds to step S106.
[0026] In step S106, secure platform application 102 determines whether or not client application B104 has been installed in terminal device 100. Here, as described above, it is assumed that client application B104 has not been installed in terminal device 100. If client application B104 has not been installed in terminal device 100, the process proceeds to step S107.
[0027] In step S107, the secure platform application 102 issues a start command to the client application A 103, and further issues an execution command for the above-mentioned predetermined process.
[0028] The client application A 103 starts up in accordance with the received start command. In step S108, the client application A 103 downloads the client application B 104 from the client application B distribution server 300. The client application B 104 downloaded from the client application B distribution server 300 is stored in the storage unit 120.
[0029] Next, in step S109, the client application A103 issues a start command to the client application B104 stored in the storage unit 120. Next, in step S110, the client application A103 confirms the administrator authority with the CPU 110 of the terminal device 100. The CPU 110 of the terminal device 100, which has received this confirmation request, judges whether or not the account that instructed the execution of the predetermined process has the administrator authority. Here, as described above, it is assumed that the account that instructed the execution of the predetermined process does not have the administrator authority. If the account that instructed the execution of the predetermined process does not have the administrator authority, a dialogue for inputting the user name and password of another account that has the administrator authority is displayed on the display unit 140. If an incorrect user name or password is input in this dialogue, or if the cancel button is selected by the user, the client application B104 is not started, and the process is terminated without executing the predetermined process. On the other hand, if the user name and password of another account that has the administrator authority are correctly input in this dialogue, the process proceeds to step S111.
[0030] In step S111, the CPU 110 of the terminal device 100 permits the client application B 104 to start with administrator authority and performs privilege promotion processing. Next, in step S112, the CPU 110 of the terminal device 100 notifies the client application B 104 that it is permitted to start with administrator authority.
[0031] Upon receiving this notification, the client application B104 starts up with administrator authority in step S113. This allows the client application B104 to execute the administrator authority processing. Next, in step S114, the client application B104 executes the administrator authority processing. As described above, in this embodiment, the administrator authority processing executed by the client application B104 is a processing for acquiring the password of the external access point to which the terminal device 100 has connected from the OS of the terminal device 100. After acquiring the password, the client application B104 passes it to the client application A103, and the client application A103 transmits the received information to the image forming device, thereby executing the processing for wireless connection setting. In this way, in this embodiment, it is possible to cause the terminal device 100 to execute the administrator authority processing according to an execution instruction by a non-administrator account that does not have administrator authority.
[0032] Upon completion of the administrator authority required process, in step S115, the client application B104 ends.
[0033] Fig. 4 is a sequence diagram showing the operation when the terminal device 100 in Fig. 1 receives an instruction to execute an administrator authority-required process from an administrator account having administrator authority. In Fig. 4, it is assumed that the secure platform application 102, the client application A 103, and the client application B 104 are not installed in the terminal device 100. When the terminal device 100 receives an instruction to download the package 105 from the user, step S201 is started.
[0034] 4, first, steps S201 to S205 are performed, which are the same processes as steps S101 to S105 described above. Here, as described above, the description will be given assuming that the account issuing the instruction to execute the predetermined process is an administrator account having administrator authority. If the account issuing the instruction to execute the predetermined process is an administrator account, the process proceeds to step S206.
[0035] In step S206, the secure platform application 102 issues a start command to the client application A103. The secure platform application 102 also checks the administrator authority with the CPU 110 of the terminal device 100. The CPU 110 of the terminal device 100, which has received this check request, judges whether the account that has issued the instruction to execute the predetermined process has the administrator authority. Here, as described above, it is assumed that the account that has issued the instruction to execute the predetermined process is an administrator account with the administrator authority. If the account that has issued the instruction to execute the predetermined process has the administrator authority, a dialogue inquiring the user as to whether or not to permit execution of the process with the administrator authority is displayed on the display unit 140 by the UAC function. When a selection operation (input operation) indicating that execution of the process with the administrator authority is permitted is accepted in this dialogue, the CPU 110 of the terminal device 100 notifies the client application A103 of the same (step S208). As a result, the privilege promotion process is performed for the client application A103.
[0036] Upon receiving this notification, client application A103 starts up with administrator privileges in step S209. Next, in step S210, secure platform application 102 issues a download command to client application A103 to download client application B104. Upon receiving this command, client application A103 downloads client application B104 to terminal device 100.
[0037] Next, in step S211, the secure platform application 102 commands the client application A103 to issue a command to start the client application B104 with administrator authority. Next, in step S212, the client application A103 commands the client application B104 to start with administrator authority. Since the client application A103 has already started with administrator authority, if the command is from the client application A103, the client application B104 can start with administrator authority. Next, in step S213, the client application B104 starts with administrator authority. This enables the client application B104 to execute the administrator authority required process. Next, in step S214, the client application B104 executes the administrator authority required process. As described above, the client application A103 executes other processes included in the predetermined process.
[0038] Upon completion of the administrator authority required process, in step S215, the client application B 104 ends.
[0039] Fig. 5 is a flowchart showing the procedure of the control process executed in secure platform application 102 of Fig. 1. This control process is executed when secure platform application 102, which has been started up in accordance with an instruction received from CPU 110 of terminal device 100, receives an instruction to execute the predetermined process performed in step S103.
[0040] 5, first, in step S301, the secure platform application 102 uses the API of the OS 101 to determine whether or not the OS environment of the terminal device 100 is a secure OS environment. An example of a secure OS environment is an OS environment called Windows 10S mode provided by Microsoft. If the OS environment is secure, control is performed so that installation of applications into the terminal device 100 is not performed without going through the Microsoft Store. If it is determined in step S301 that the OS environment of the terminal device 100 is not a secure OS environment, the process proceeds to step S302, which will be described later.
[0041] In step S302, the secure platform application 102 uses the API of the OS 101 to determine whether the predetermined process includes a process requiring administrator privileges (see, for example, steps S104 and S204). If it is determined in step S302 that the predetermined process includes a process requiring administrator privileges, the process proceeds to step S303.
[0042] In step S303, the secure platform application 102 uses the API of the OS 101 to determine whether or not the account that issued the instruction to execute the above-mentioned predetermined process has administrator authority (see, for example, steps S105 and S205).
[0043] If it is determined in step S303 that the account issuing the instruction to execute the predetermined process has administrator authority, the process proceeds to step S304. In step S304, the secure platform application 102 determines whether an execution permission operation indicating that execution of the process with administrator authority is permitted has been performed in response to a dialog inquiring of the user as to whether execution of the process with administrator authority is permitted. If it is determined that the execution permission operation has been performed, a privilege promotion process is performed for the client application A103, and the process proceeds to step S305. On the other hand, if it is determined that the execution permission operation has not been performed and a selection operation indicating that execution of the process with administrator authority is not permitted has been performed, the client application B104 and the printer driver are not newly installed, and the process ends. At this time, the client application A103 is not started, and the predetermined process is not executed.
[0044] In step S305, secure platform application 102 starts client application A 103 with administrator privileges. Next, in step S306, secure platform application 102 issues a download command to client application A 103 to download client application B 104. Upon receiving this command, client application A 103 downloads client application B 104 to terminal device 100.
[0045] Next, in step S307, the secure platform application 102 makes the client application A103 start the client application B104 with the administrator authority. Since the client application A103 has already started with the administrator authority, the client application B104 can start with the administrator authority if requested by the client application A103. This enables the client application B104 to execute the administrator authority required process. After this, the client application B104 executes the administrator authority required process, and the client application A103 executes other processes included in the predetermined process. The other processes may include the installation of a printer driver. Here, it is assumed that a vendor-specific printer driver provided by the vendor of the image forming device that is the target of the wireless connection setting is installed. After that, this process ends.
[0046] If it is determined in step S303 that the account from which the instruction to execute the specified process is issued does not have administrator privileges, a dialog for inputting the user name and password of another account with administrator privileges is displayed on display unit 140, as described above.
[0047] Next, in step S308, the secure platform application 102 determines whether or not to perform the privilege promotion process using the administrator account information based on the information entered in the dialog. In step S308, for example, if an incorrect user name or password is entered in the dialog, or if the user selects the cancel button, it is determined that the privilege promotion process will not be performed using the administrator account information. On the other hand, if the user name and password of another account with administrator privileges are correctly entered in the dialog, it is determined that the privilege promotion process will be performed using the administrator account information.
[0048] If it is determined in step S308 that the privilege promotion process is to be performed using the administrator account information, the process proceeds to step S309. In step S309, the secure platform application 102 determines whether the client application B 104 has been installed in the terminal device 100.
[0049] If it is determined in step S309 that client application B104 has already been installed in terminal device 100, the process proceeds to step S311, which will be described later. If it is determined in step S309 that client application B104 has not already been installed in terminal device 100, secure platform application 102 starts up client application A103 (see, for example, step S107). Next, in step S310, secure platform application 102 issues a download command to client application A103 to download client application B104. Having received this command, client application A103 downloads client application B104 to terminal device 100 (see, for example, step S108).
[0050] Next, in step S311, the secure platform application 102 causes the client application A103 to start the client application B104 with administrator authority. This enables the client application B104 to execute the administrator authority required process. After this, the client application B104 executes the administrator authority required process, and the client application A103 executes other processes included in the predetermined process. The other processes may include installation of a printer driver. Here, it is assumed that a vendor-specific printer driver provided by the vendor of the image forming apparatus that is the target of the wireless connection setting is installed. In addition, in this embodiment, it is assumed that the client application B104 started with administrator authority is controlled not to be registered in the service function of the OS. An application registered in the service function of the OS does not need to acquire administrator authority every time it is started, but the application will be started every time the OS is started. In this embodiment, by not registering it in the service function of the OS, the client application B104 can be started only when the administrator authority required process is necessary. It is to be noted that this is not limited to this form, and the client application B104 started with administrator authority may be registered in the service function of the OS in order not to acquire administrator authority every time it is started.
[0051] If it is determined in step S301 that the OS environment of the terminal device 100 is a secure OS environment, the process proceeds to step S312. In step S312, the secure platform application 102 performs control not to execute the administrator authority required process. As a result, specifically, the secure platform application 102 does not newly download or install the client application B104. Furthermore, the predetermined process is not executed. At this time, the installation of a printer driver may be executed. Here, unlike the printer driver unique to the vendor of the image forming device, it is a printer driver provided by the vendor of the OS of the terminal device 100, and an IPP (Internet Printing Protocol) driver that is an OS standard printer driver is installed. Also, at this time, control may be executed to display a manual for executing wireless connection setting of the image forming device without using the client application A103 or the client application B104. Specifically, the manual is, for example, a manual for connecting the image forming device to an external access point by operating the main body of the image forming device.
[0052] Also, if it is determined in step S305 that the privilege promotion process is not to be performed using the administrator account information, the process proceeds to step S312. In this case, in step S312, the privilege promotion process is not performed, and the administrator privilege required process is not executed.
[0053] If it is determined in step S302 that the above-mentioned predetermined process does not include administrator authority processing, the process proceeds to step S313. In step S313, the predetermined process that does not include administrator authority processing is executed. The predetermined process that does not include administrator authority processing is, for example, processing for sending an instruction to the image forming device to execute printing or scanning. Then, this process ends.
[0054] According to the first embodiment described above, the privilege promotion process is performed. The client application B104 executes the administrator privilege process upon completion of the privilege promotion process. That is, the administrator privilege process is executed according to an execution instruction received from the non-administrator account. This makes it possible to ease the functional restrictions on the non-administrator account.
[0055] In the first embodiment described above, when the OS environment of the terminal device 100 is a secure OS environment, the terminal device 100 is controlled not to execute the administrator authority required process. This makes it possible to prevent the execution of processes that are not suitable for the OS environment of the terminal device 100.
[0056] In the above-described first embodiment, the client application B104 is downloaded when an instruction to execute the administrator-privilege-required process is received from a non-administrator account and the client application B104 is not installed in the terminal device 100. This makes it possible to prevent the downloading of an unnecessary client application B104.
[0057] In the first embodiment described above, the client application A103 is an application that is not permitted to execute administrator-privilege-required processes instructed from a non-administrator account. This makes it possible to ease the restrictions on functions for non-administrator accounts in the terminal device 100 in which the client application A103 that is not permitted to execute administrator-privilege-required processes instructed from a non-administrator account is installed.
[0058] In the above-described embodiment, the secure platform application 102 is an application for controlling the image forming apparatus from the terminal device 100. This makes it possible to relax the functional restrictions on non-administrator accounts in the terminal device 100 including the secure platform application 102 for controlling the image forming apparatus.
[0059] Next, a second embodiment of the present invention will be described. In the above-described first embodiment, the client application B 104 must be started up every time an administrator-privilege-requiring process is executed, resulting in poor process efficiency.
[0060] In contrast, in the second embodiment, when the client application B 104 completes the execution of the administrator-privilege-required process, it transitions to a polling state in which it is ready to receive an execution command for the next process.
[0061] The second embodiment is basically the same as the first embodiment in terms of configuration and operation, but differs from the first embodiment in that the client application B104 transitions to a polling state. Therefore, a description of the overlapping configuration and operation will be omitted, and the different configuration and operation will be described below.
[0062] Fig. 6 is a sequence diagram showing the operation when the terminal device 100 in Fig. 1 receives an instruction to execute an administrator authority-required process from a non-administrator account. The sequence diagram in Fig. 6 is similar to the sequence diagram in Fig. 3 described above, and the following will particularly explain the contents that differ from the sequence diagram in Fig. 3 described above. Note that in Fig. 6 as well, it is assumed that the secure platform application 102, the client application A 103, and the client application B 104 are not installed in the terminal device 100, as in Fig. 3. When the terminal device 100 receives an instruction to download the package 105 from the user, step S401 is started.
[0063] 6, steps S401 to S413 are performed, which are the same processes as steps S101 to S113 described above. Next, in step S414, client application B 104 transitions to a polling state in which it can receive commands from secure platform application 102. When secure platform application 102 detects that client application B 104 has transitioned to the polling state, the process proceeds to step S415.
[0064] In step S415, secure platform application 102 issues an instruction to client application B 104 to execute administrator authority required processing. In step S416, client application B 104 executes administrator authority required processing in accordance with the execution instruction received from secure platform application 102. Upon completing execution of the administrator authority required processing, client application B 104 transitions to a polling state in step S417. Next, in step S418, secure platform application 102 issues an application end instruction to client application B 104 at the timing of ending its operation.
[0065] In step S419, the client application B 104 ends its operation in accordance with the application end command received from the secure platform application 102.
[0066] In the second embodiment described above, when the client application B104 completes the execution of the administrator-authority-required process, it transitions to a polling state in which it can receive an execution command for the next process. This makes it possible to prevent inefficient processing, such as starting the client application B104 every time an administrator-authority-required process is executed. As a result, when multiple administrator-authority-required processes are executed in succession, the processing time can be shortened compared to the first embodiment described above.
[0067] Furthermore, in the second embodiment described above, the client application B 104 is terminated at the same time that the secure platform application 102 is terminated. This makes it possible to minimize the startup time of the client application B 104 that can execute processes requiring administrator privileges, thereby preventing unauthorized use of the client application B 104.
[0068] <Other embodiments> In the above-described embodiment, when it is determined in step S304 that the execution permission operation has been performed, or when it is determined in step S308 that the privilege promotion process is not to be performed using the information of the administrator account, the process is terminated without starting the client application A103 or executing the predetermined process, but this is not limited to the above embodiment. In the above-described case, the client application A103 may be started without the administrator authority. Then, among the predetermined processes, processes other than the administrator authority process may be executed by the client application A103. At this time, the client application B104 is not newly installed. Also, at this time, for example, a password input by the user is sent to the image forming apparatus, not a password acquired by the client application B104. As a result, the wireless connection setting of the image forming apparatus can be executed even without the administrator authority process by the client application B104.
[0069] In the above description, it has been assumed that the secure platform application 102 and the client application A103 do not have a function for executing the administrator authority processing. Then, even if it is determined in step S303 that the account that has issued the instruction to execute the predetermined processing has the administrator authority, the client application B104 is installed and the administrator authority processing is executed by the client application B104. However, the present invention is not limited to this embodiment. For example, the secure platform application 102 and the client application A103 may have a function for executing the administrator authority processing. Then, if it is determined in step S303 that the account that has issued the instruction to execute the predetermined processing has the administrator authority, the secure platform application 102 and the client application A103 may execute the administrator authority processing without installing the client application B104.
[0070] The present invention can also be realized by supplying a program that realizes one or more functions of the above-mentioned embodiments to a system or device via a network or a storage medium, and having one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
[0071] The disclosure of this embodiment includes the following configurations and methods. (Configuration 1) An application execution device comprising: a means for storing a secure platform application and a first client application; a means for downloading a second client application different from the first client application when an instruction to execute a process requiring administrator privileges is received from a non-administrator account that does not have the administrator privileges; and a means for performing a permission process to permit the second client application to execute the process requiring administrator privileges based on information of an administrator account that has the administrator privileges, wherein the second client application executes the process requiring administrator privileges upon completion of the permission process. (Configuration 2) The application execution device according to configuration 1, further comprising a means for determining whether an OS environment of the application execution device is a secure environment, and further comprising a means for controlling the application execution device so that processing requiring administrator privileges is not executed if the OS environment of the application execution device is a secure environment. (Configuration 3) The application execution device according to configuration 1 or 2, characterized in that when the second client application completes execution of a process that requires the administrator privileges, it transitions to a polling state in which it can receive an execution command for the next process. (Configuration 4) An application execution device described in any one of configurations 1 to 3, characterized in that the first client application is an application that is not permitted to execute processing that requires the administrator privileges as instructed from the non-administrator account. (Configuration 5) An application execution device according to any one of configurations 1 to 4, characterized in that the downloading means downloads the second client application when an instruction to execute a process requiring administrator privileges is received from the non-administrator account and the second client application is not installed in the application execution device. (Configuration 6) The application execution device according to any one of configurations 1 to 5, wherein the secure platform application is an application for controlling an image forming device from the application execution device. (Configuration 7) An application execution device as described in any one of configurations 1 to 6, further comprising a predetermined function for starting a registered application in accordance with startup of an OS of the application execution device, and wherein the second client application is controlled so as not to be registered in the predetermined function. [Explanation of symbols]
[0072] 100 Terminal Equipment 101 OS 102 Secure Platform Applications 103 Client Application A 104 Client Application B 110 CPU 120 Storage section
Claims
1. A control method for an information processing device having an OS (Operating System), an acceptance step of accepting an operation from a predetermined account; a first execution step of executing a first process for installing a first program when an operation from the predetermined account is accepted in an OS environment in the information processing device, which is a predetermined environment that means an environment in which a program cannot be installed without going through a predetermined site, regardless of whether the predetermined account is an administrator account that means an account with administrator authority or a non-administrator account that means an account without administrator authority; a second execution step of executing a second process for starting a third program related to installation of a second program when an operation from the predetermined account is accepted in an OS environment of the information processing device that is not the predetermined environment, regardless of whether the predetermined account is the administrator account or the non-administrator account; a third execution step of executing a third process for installing the second program when the third program is started by the second process and execution of the process requiring the administrator authority is permitted in the third program; 1. A method for controlling an information processing device, comprising:
2. A control method for an information processing device as described in Claim 1, characterized in that if the execution of a process requiring administrator privileges is not permitted in the third program, the third process is not executed.
3. A screen displayed when the predetermined account is the non-administrator account, the predetermined screen for permitting the execution of a process requiring administrator privileges in the third program includes an area for inputting information about the administrator account, The control method for an information processing device according to claim 1, characterized in that, by inputting information about the administrator account into the specified screen, execution of processing requiring the administrator authority is permitted in the third program.
4. The method for controlling an information processing device according to claim 3, wherein the predetermined screen is a screen displayed by a User Account Control function.
5. The method for controlling an information processing device according to claim 1, wherein the specified environment is a Windows 10 S mode environment.
6. The method for controlling an information processing device according to claim 1, wherein the first program is an OS standard driver, which is a printer driver provided by a vendor of the OS of the information processing device.
7. The method for controlling an information processing device according to claim 1, wherein the first program is an IPP (Internet Printing Protocol) driver.
8. The method for controlling an information processing device according to claim 1, wherein the second program is a vendor-specific driver, which is a printer driver provided by a vendor of a device different from the information processing device.
9. When execution of a process requiring the administrator authority is permitted in the third program, the third program is controlled so as not to be registered in a service function of the OS; 2. The method for controlling an information processing apparatus according to claim 1, wherein the program registered in the service function of the OS is started every time the OS is started.
10. The first process, the second process, and the third process are processes executed by a fourth program; the fourth program is a UWP (Universal Windows Platform) application, 2. The method according to claim 1, wherein the third program is not the UWP application.
11. The control method for an information processing device described in Claim 10, characterized in that the second processing includes at least one of a processing in which the fourth program instructs the fifth program to launch the third program and a processing in which the fourth program instructs the fifth program to download the third program.
12. A control method for an information processing device as described in claim 1, characterized in that it further includes a fourth execution step of executing a fourth process for performing wireless connection settings for a device different from the information processing device when the third program is launched by the second process and execution of a process requiring administrator privileges is permitted in the third program.
13. A control method for an information processing device as described in Claim 12, characterized in that when the OS environment in the information processing device is the specified environment and an operation is accepted from the specified account, the fourth process is not executed.
14. The method further includes a determination step of executing a determination process to determine whether the predetermined account is the administrator account, 2. The control method for an information processing device according to claim 1, characterized in that the processing executed when the specified account is determined to be the administrator account and the execution of the processing requiring administrator authority is not permitted in the third program is controlled to be different from the processing executed when the specified account is determined to be the non-administrator account and the execution of the processing requiring administrator authority is not permitted in the third program.
15. A control method for an information processing device as described in Claim 1, characterized in that if the specified account is the non-administrator account and the execution of a process requiring administrator privileges is not permitted in the third program, a process for installing the first program is executed.
16. A control method for an information processing device as described in claim 1, characterized in that if the specified account is the administrator account and the execution of a process requiring administrator privileges is not permitted in the third program, neither the process for installing the first program nor the process for installing the second program is executed.
17. The control method for an information processing device according to claim 1, characterized in that the processes requiring administrator privileges include at least one of a process of obtaining a password for an access point to which the information processing device has connected, a process of switching the settings of the information processing device from a setting in which DHCP (dynamic host configuration protocol) is disabled to a setting in which DHCP is enabled, and a process of installing a printer driver.
18. The method for controlling an information processing device according to claim 1, wherein the first program and the second program are printer drivers.
19. An information processing device having an OS (Operating System), Acceptance means for accepting operations from a predetermined account; a first execution means for executing a first process for installing a first program when an operation from the predetermined account is accepted in an OS environment in the information processing device, which is a predetermined environment that means an environment in which a program cannot be installed without going through a predetermined site, regardless of whether the predetermined account is an administrator account that has administrator authority or a non-administrator account that does not have administrator authority; a second execution means for executing a second process for starting a third program related to installation of a second program when an operation from the predetermined account is accepted in an OS environment of the information processing device that is not the predetermined environment, regardless of whether the predetermined account is the administrator account or the non-administrator account; and a third execution means for executing a third process to install the second program when the third program is launched by the second process and execution of a process requiring administrator privileges is permitted in the third program.
20. A program for causing a computer to execute a control method for an information processing device having an OS (Operating System), The control method for the information processing device includes: an acceptance step of accepting an operation from a predetermined account; a first execution step of executing a first process for installing a first program when an operation from the predetermined account is accepted in an OS environment in the information processing device, which is a predetermined environment that means an environment in which a program cannot be installed without going through a predetermined site, regardless of whether the predetermined account is an administrator account that means an account with administrator authority or a non-administrator account that means an account without administrator authority; a second execution step of executing a second process for starting a third program related to installation of a second program when an operation from the predetermined account is accepted in an OS environment of the information processing device that is not the predetermined environment, regardless of whether the predetermined account is the administrator account or the non-administrator account; a third execution step of executing a third process for installing the second program when the third program is started by the second process and execution of the process requiring the administrator authority is permitted in the third program; A program comprising: