Information processing device, control method for information processing device, and program

JP7906494B2Active Publication Date: 2026-08-18CANON KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022132581
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-23
Publication Date
2026-08-18
Estimated Expiration
2042-08-23

AI Technical Summary

Benefits of technology

【0007】 本発明によれば、要管理者権限処理を実行するプログラムに関する処理を適切に実行することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007906494000001
    Figure 0007906494000001
  • Figure 0007906494000002
    Figure 0007906494000002
  • Figure 0007906494000003
    Figure 0007906494000003
Patent Text Reader

Abstract

To appropriately execute a process related to a program for executing an administrator authority requiring process.SOLUTION: A terminal device 100 includes: a secure platform application 102 which cannot execute an administrator authority requiring process that requires an administrator authority; and a client application A103 which cannot execute the administrator authority requiring process in accordance with an execution instruction received from a non-administrator account without the administrator authority. On receipt of an instruction to execute the administrator authority requiring process from the non-administrator account, the terminal device 100 downloads a client application B104 which is different from the client application A103. The terminal device 100 executes an authority promotion process. The client application B104 executes the administrator authority requiring process in response to completion of the authority promotion process.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to Information processing devices, Information processing a method for controlling a device, and a program.

Background Art

[0002] In recent years, a secure platform has been provided for developing applications that ensure the security of a PC as a countermeasure against cyberattacks. Applications on this secure platform often cannot perform processes that require administrative privileges of the PC (hereinafter referred to as "administrator privilege required processes"). As an application on this secure platform, for example, a Universal Windows Platform (hereinafter referred to as "UWP") application provided by Microsoft (registered trademark) can be mentioned. The UWP application is provided in a form called a package (see, for example, Patent Document 1). Further, this package also includes a client application that can execute an administrator privilege required process in accordance with an execution instruction received from an administrator account having administrative privileges of the PC. As the client application, for example, a Win32 application can be mentioned. On a PC on which this package is installed, when an execution instruction for an administrator privilege required process is received from an administrator account, the client application executes the administrator privilege required process.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, as programs that perform operations requiring administrator privileges become more widespread, there is a growing need to properly handle the processes related to such programs.

[0005] The objective of the present invention is to appropriately execute processing related to a program that performs processing requiring administrator privileges. [Means for solving the problem]

[0006] To solve the above problems, the present invention Information processing Device Control method teeth, Information processing with an OS (Operating System) Device Control method And, The system includes: an acceptance step for accepting an operation from a predetermined account; a first execution step for executing a first process for installing a first program when an operation from the predetermined account is accepted in the OS environment of the information processing device, which is a predetermined environment in which the program cannot be installed without going through a predetermined site, and the predetermined account is an administrator account with administrator privileges or a non-administrator account without administrator privileges; a second execution step for executing a second process for launching a third program related to the installation of a second program when an operation from the predetermined account is accepted in the OS environment of the information processing device that is not the predetermined environment, and the predetermined account is an administrator account or a non-administrator account; and a third execution step for executing a third process for installing the second program when the third program is launched by the second process and the execution of the process requiring administrator privileges is permitted in the third program. It is characterized by the following. [Effects of the Invention]

[0007] According to the present invention, processing related to a program that performs administrator privilege processing can be properly executed. [Brief explanation of the drawing]

[0008] [Figure 1] This is a configuration diagram showing an example of a system including a terminal device as an application execution device according to this embodiment. [Figure 2] Figure 1 is a block diagram showing an example of the hardware configuration of a terminal device. [Figure 3] Figure 1 is a sequence diagram showing the operation of a terminal device when it receives an instruction to execute a process requiring administrator privileges from a non-administrator account that does not have administrator privileges. [Figure 4] Figure 1 is a sequence diagram showing the operation of a terminal device when it receives an instruction to execute an administrator-privileged process from an administrator account with administrator privileges. [Figure 5] This flowchart shows the steps of the control processing performed in the secure platform application shown in Figure 1. [Figure 6] Figure 1 is a sequence diagram showing the operation of terminal device 100 when it receives an instruction from a non-administrator account to execute a process requiring administrator privileges. [Modes for carrying out the invention]

[0009] Preferred embodiments of the present invention will be described in detail below with reference to the attached drawings. Note that the following embodiments are not intended to limit the scope of the present invention as defined in the claims, and not all combinations of features described in these 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 the first embodiment of the present invention will be described. Figure 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 consists of a 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 the secure platform application distribution server 200 and the client application B distribution server 300 via the internet. The secure platform application distribution server 200 is a server that distributes package 105 to the terminal device 100, etc. The secure platform application distribution server 200 is, for example, a server for distributing applications from the Microsoft Store® website. The client application B distribution server 300 is a server managed by the vendor of the image forming apparatus. Package 105 is a single installer that includes the secure platform application 102 and client application A103. 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 client application B104, which is necessary for executing administrator privilege processing, to terminal devices 100, etc. Administrator privilege processing is processing that requires administrator privileges on terminal device 100 (hereinafter simply referred to as "administrator privileges"), in other words, processing that can be executed based on permission obtained from an account with administrator privileges. Permission from an account with administrator privileges can be obtained, for example, by an account with administrator privileges making an input operation on a screen displayed by the User Account Control (hereinafter referred to as "UAC") function to allow the execution of processing that requires administrator privileges. However, as will be described later, in some cases, administrator privilege processing can also be permitted to be executed when an account without administrator privileges accepts input of the account information of an account with administrator privileges on a screen displayed by the UAC function. In this embodiment, the process of allowing a program to execute administrator privilege processing is called privilege escalation processing.

[0013] Terminal device 100 is an information processing device such as a PC and is equipped with an operating system (OS) 101. Terminal device 100 also has client application B104 installed, which was downloaded from client application B distribution server 300. Furthermore, terminal device 100 has secure platform application 102 and client application A103 installed, which are included in package 105 downloaded from secure platform application distribution server 200. Secure platform application 102 is, for example, an application for controlling an image forming apparatus from terminal device 100. Using secure platform application 102, for example, print commands and scan commands can be issued to the image forming apparatus from terminal device 100, and the status of consumables in the image forming apparatus can be checked from terminal device 100.

[0014] In this embodiment, the client application A103 is Windows Presentation Foundation (hereinafter referred to as "WPF") and is an application for configuring the wireless connection of the image forming apparatus. Specifically, in configuring the wireless connection of the image forming apparatus, first, the client application A103 establishes a direct connection between the terminal device 100 and the image forming apparatus without going through an external access point. Then, the client application A103 transmits information about the external access point to the image forming apparatus via this direct connection. The information about the external access point includes the identification information (SSID, etc.) and password of the external access point. As a result, the image forming apparatus establishes a wireless connection with the external access point based on this information, thereby executing the wireless connection configuration of the image forming apparatus. Note that the information of which access point is transmitted to the image forming apparatus can be arbitrarily controlled. For example, information about the access point to which the terminal device 100 was connected before the direct connection was established may be transmitted to the image forming apparatus. Alternatively, for example, information about an access point selected by the user from a list of access points displayed by the terminal device 100 may be transmitted to the image forming apparatus.

[0015] In this embodiment, client application B104 is an application installed on terminal device 100 by instruction from client application A103. Client application B104 has the function of obtaining passwords from the OS of terminal device 100 for external access points that terminal device 100 has previously connected to. The obtained passwords are passed to client application A103 and transmitted to the image forming apparatus. After client application A103 has identified which access point information should be transmitted to the image forming apparatus, client application B104 obtains the password for the identified access point from the OS. However, the timing of password acquisition, which access points' passwords are obtained, and how many passwords are obtained may be controlled as appropriate.

[0016] In this embodiment, the secure platform application 102 is UWP and the client application A103 is WPF, so it is possible to accept permission to execute processes requiring administrator privileges from an account with administrator privileges. In other words, client application A103 can accept privilege escalation processing from an account with administrator privileges. However, in this embodiment, the secure platform application 102 and client application A103 do not have the functionality to execute processes requiring administrator privileges. That is, all functions that execute processes requiring administrator privileges in this system are handled by client application B104. However, the system is not limited to this form, and the secure platform application 102 and client application A103 may have the functionality to execute processes requiring administrator privileges. And, since the secure platform application 102 is UWP and client application A103 is WPF, it is not possible to accept permission to execute processes requiring administrator privileges from an account without administrator privileges. In other words, it is not possible to accept privilege escalation processing from an account without administrator privileges. In this embodiment, the secure platform application 102 and client application A103 do not accept account information input from accounts without administrator privileges, even from accounts with administrator privileges, on screens displayed by the UAC function. Furthermore, client application B104 is a program outside of the UWP and WPF packages and is downloaded from a server other than the secure platform application distribution server 200. Therefore, it is possible to accept permission to execute processes requiring administrator privileges and accept privilege escalation processes through operations from accounts with administrator privileges.Even by an operation from an account without administrator privileges, it is possible to accept permission to execute a process that requires administrator privileges and receive an elevation of privileges by inputting the account information of an account with administrator privileges for the screen displayed by the UAC function.

[0017] Note that the functions of the secure platform application 102, the client application A 103, and the client application B 104 are not limited to the above-described forms. For example, the secure platform application 102 may be an application other than an application that controls the image forming apparatus, and the client application A 103 may be an application having a function other than the wireless connection setting of the image forming apparatus. Also, the client application B 104 may be an application having a function other than the function of acquiring a password, and the process that requires administrator privileges executed by the client application B 104 may be another process. Specifically, for example, it may be a process for switching the terminal device 100 from a setting in which DHCP is disabled (fixed 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, an IP address is allocated to the terminal device 100 by the image forming apparatus, but if the terminal device 100 does not have a setting in which DHCP is enabled, the allocation of the IP address to the terminal device 100 cannot be executed.

[0018] FIG. 2 is a block diagram showing an example of the hardware configuration of the terminal device 100 in FIG. 1. The terminal device 100 includes a CPU 110, a storage unit 120, an operation unit 130, a display unit 140, and a communication unit 150. These are mutually connected via a system bus 160.

[0019] The CPU 110 executes programs stored in the memory unit 120 to perform various control operations. The memory unit 120 is composed of ROM, RAM, etc., and stores various data and programs, and is used as a working area and temporary data storage area when executing various programs. Examples of programs stored in the memory unit 120 include the OS 101, secure platform application 102, and client application A103.

[0020] The operation unit 130 consists of a mouse, keyboard, touch panel, etc., and accepts user input. The display unit 140 consists of a liquid crystal display, etc., and displays various images and information. The communication unit 150 consists of a wireless LAN interface, USB interface, etc., and communicates with other devices.

[0021] Figure 3 is a sequence diagram showing the operation when terminal device 100 in Figure 1 receives an instruction to execute an administrator-required process from a non-administrator account that does not have administrator privileges. In Figure 3, it is assumed that the secure platform application 102, client application A103, and client application B104 are not installed on terminal device 100. When terminal device 100 receives an instruction from the user to download package 105, step S101 is started.

[0022] In Figure 3, first, in step S101, the CPU 110 of the terminal device 100 downloads package 105 from the secure platform application distribution server 200. Next, in step S102, the CPU 110 of the terminal device 100 installs the secure platform application 102 and client application A103 included in the downloaded package 105. In this way, the secure platform application 102 and client application A103 included in the package 105 downloaded from the secure platform application distribution server 200 are stored in the storage unit 120.

[0023] Next, in step S103, the CPU 110 of the terminal device 100 issues a start command to the secure platform application 102 in accordance with the instructions received from the user, and then issues an execution command for a predetermined process.

[0024] The secure platform application 102 starts up according to the startup command it receives. In step S104, the secure platform application 102 determines whether the predetermined process includes processing that requires administrator privileges. Here, the predetermined process is described as processing for setting up the wireless connection of the image forming apparatus and including processing that requires administrator privileges. Of the processing for setting up the wireless connection of the image forming apparatus, the processing that requires administrator privileges is executed by client application B104, and the other processing is executed by client application A103. Of the processing for setting up the wireless connection of the image forming apparatus, client application B104 may execute multiple processes. If the predetermined process includes processing that requires administrator privileges, the process proceeds to step S105. After the secure platform application 102 starts up, it may determine whether the OS environment is secure and switch the processing according to the result of that determination. This configuration will be described later using Figure 5.

[0025] In step S105, the secure platform application 102 uses the OS 101 API to determine whether the account that issued the command to execute the predetermined process has administrator privileges. Here, we will explain assuming that the account that issued the command to execute the predetermined process is a non-administrator account that does not have administrator privileges, as described above. If the account that issued the command to execute the predetermined process does not have administrator privileges, the process proceeds to step S106.

[0026] In step S106, the secure platform application 102 determines whether or not the client application B104 has been installed on the terminal device 100. Here, we will assume that the client application B104 has not been installed on the terminal device 100, as described above. If the client application B104 has not been installed on the terminal device 100, the process proceeds to step S107.

[0027] In step S107, the secure platform application 102 issues a startup command to the client application A103, and further issues a command to execute the predetermined process described above.

[0028] Client application A103 starts up according to the startup command it receives. Also, in step S108, client application A103 downloads client application B104 from client application B distribution server 300. Client application B104 downloaded from client application B distribution server 300 is stored in storage unit 120.

[0029] Next, in step S109, client application A103 issues a start command to client application B104 stored in memory unit 120. Then, in step S110, client application A103 requests administrator privileges from the CPU 110 of terminal device 100. Upon receiving this confirmation request, the CPU 110 of terminal device 100 determines whether the account that issued the command to execute the predetermined process has administrator privileges. Here, as described above, we will assume that the account that issued the command to execute the predetermined process does not have administrator privileges. If the account that issued the command to execute the predetermined process does not have administrator privileges, a dialog box prompting the user to enter the username and password of another account with administrator privileges is displayed on display unit 140. If an incorrect username or password is entered in this dialog box, or if the user selects the cancel button, client application B104 is not started, and the process terminates without executing the predetermined process. On the other hand, if the username and password of another account with administrator privileges are correctly entered in this dialog box, the process proceeds to step S111.

[0030] In step S111, the CPU 110 of the terminal device 100 grants permission for the client application B104 to start with administrator privileges and performs a privilege escalation process. Then, in step S112, the CPU 110 of the terminal device 100 notifies the client application B104 that it is permitted to start with administrator privileges.

[0031] Upon receiving this notification, client application B104 starts with administrator privileges in step S113. This enables client application B104 to execute processes requiring administrator privileges. Next, in step S114, client application B104 executes the process requiring administrator privileges. As described above, in this embodiment, the process requiring administrator privileges executed by client application B104 is the process of obtaining the password of an external access point that terminal device 100 has previously connected to from the OS of terminal device 100. Once client application B104 obtains the password, it passes it to client application A103, and client application A103 transmits the received information to the image forming apparatus to execute the process for setting up the wireless connection. In this way, in this embodiment, it is possible to make terminal device 100 execute processes requiring administrator privileges in accordance with execution instructions from a non-administrator account that does not have administrator privileges.

[0032] Once the administrator privileges processing is complete, the client application B104 terminates in step S115.

[0033] Figure 4 is a sequence diagram showing the operation when terminal device 100 in Figure 1 receives an instruction to execute an administrator privilege-required process from an administrator account with administrator privileges. In Figure 4, it is assumed that secure platform application 102, client application A103, and client application B104 are not installed on terminal device 100. When terminal device 100 receives an instruction from the user to download package 105, step S201 is started.

[0034] In Figure 4, steps S201 to S205, which are the same processes as steps S101 to S105 described above, are performed first. Here, we will explain assuming that the account that issues the command to execute the above predetermined process is an administrator account with administrator privileges. If the account that issues the command to execute the above 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 verifies the administrator privileges of the CPU 110 of the terminal device 100. Upon receiving this verification request, the CPU 110 of the terminal device 100 determines whether the account that issued the command to execute the predetermined process has administrator privileges. Here, as described above, it is assumed that the account that issued the command to execute the predetermined process is an administrator account with administrator privileges. If the account that issued the command to execute the predetermined process has administrator privileges, a dialog box asking the user whether to allow the execution of the process with administrator privileges is displayed on the display unit 140 by the UAC function. When the CPU 110 of the terminal device 100 accepts a selection operation (input operation) indicating that it is allowing the execution of the process with administrator privileges in this dialog box, it notifies the client application A103 of this (step S208). As a result, the privilege escalation process is performed on the client application A103.

[0036] Upon receiving this notification, client application A103 starts with administrator privileges in step S209. Then, in step S210, secure platform application 102 issues a 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 instructs client application A103 to issue a command to start client application B104 with administrator privileges. Next, in step S212, client application A103 issues a command to start client application B104 with administrator privileges. Since client application A103 is already running with administrator privileges, client application B104 can start with administrator privileges if the command comes from client application A103. Next, in step S213, client application B104 starts with administrator privileges. As a result, client application B104 can execute processes that require administrator privileges. Next, in step S214, client application B104 executes processes that require administrator privileges. As described above, client application A103 executes other processes included in the predetermined process.

[0038] Once the administrator privileges processing is complete, client application B104 terminates in step S215.

[0039] Figure 5 is a flowchart showing the procedure for the control processing performed in the secure platform application 102 shown in Figure 1. This control processing is performed when the secure platform application 102, which was started in accordance with an instruction received from the CPU 110 of the terminal device 100, receives an execution instruction for a predetermined process performed in step S103.

[0040] In Figure 5, first, in step S301, the secure platform application 102 uses the OS 101 API to determine whether the OS environment of the terminal device 100 is a secure OS environment. A secure OS environment is, for example, the Windows 10S mode OS environment provided by Microsoft. If it is a secure OS environment, the system is controlled so that applications are not installed on the terminal device 100 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 OS 101 API to determine whether the predetermined process includes processing that requires administrator privileges (see, for example, steps S104 and S204). If it is determined in step S302 that the predetermined process includes processing that requires administrator privileges, the process proceeds to step S303.

[0042] In step S303, the secure platform application 102 uses the OS 101 API to determine whether the account that issued the command to execute the predetermined process has administrator privileges (see, for example, steps S105 and S205).

[0043] In step S303, if it is determined that the account that issued the command to execute the predetermined process has administrator privileges, the process proceeds to step S304. In step S304, the secure platform application 102 determines whether an execution permission operation indicating permission to execute the process with administrator privileges has been performed in response to a dialog box that asks the user whether or not to allow the execution of the process with administrator privileges. If it is determined that the execution permission operation has been performed, the privilege escalation process is executed on the client application A103, and the process proceeds to step S305. On the other hand, if it is determined that the execution permission operation was not performed and a selection operation indicating that the execution of the process with administrator privileges was not allowed has been performed, the client application B104 and the printer driver are not newly installed, and the process ends. In this case, the client application A103 is not started, and the predetermined process is not executed.

[0044] In step S305, the secure platform application 102 starts client application A103 with administrator privileges. Then, in step S306, the secure platform application 102 issues a 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.

[0045] Next, in step S307, the secure platform application 102 instructs client application A103 to start client application B104 with administrator privileges. Since client application A103 is already running with administrator privileges, client application B104 can be started with administrator privileges if requested by client application A103. This allows client application B104 to execute processes that require administrator privileges. After this, client application B104 executes the processes that require administrator privileges, and client application A103 executes other processes included in the predetermined process. These 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 apparatus targeted for wireless connection configuration is installed. After this, the process terminates.

[0046] In step S303, if it is determined that the account that issued the command to execute the predetermined process does not have administrator privileges, a dialog box prompting the user to enter the username and password of another account that does have administrator privileges will be displayed on the display unit 140, as described above.

[0047] Next, in step S308, the secure platform application 102 determines whether or not to perform the privilege escalation process using the administrator account information based on the information entered in this dialog. In step S308, for example, if an incorrect username or password is entered in this dialog, or if the user selects the cancel button, it is determined that the privilege escalation process will not be performed using the administrator account information. On the other hand, if the username and password of another account with administrator privileges are correctly entered in this dialog, it is determined that the privilege escalation process will be performed using the administrator account information.

[0048] If it is determined in step S308 that the above privilege escalation process should be performed using the administrator account information, the process proceeds to step S309. In step S309, the secure platform application 102 determines whether or not the client application B104 is already installed on the terminal device 100.

[0049] If it is determined in step S309 that client application B104 is already installed on 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 is not already installed on terminal device 100, the secure platform application 102 starts client application A103. (See, for example, step S107.) Next, in step S310, the secure platform application 102 issues a download command to client application A103 for client application B104. Upon receiving 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 instructs client application A103 to start client application B104 with administrator privileges. This enables client application B104 to execute processes requiring administrator privileges. After this, client application B104 executes the processes requiring administrator privileges, and client application A103 executes other processes included in the predetermined process. These 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 apparatus targeted for wireless connection configuration is installed. Furthermore, in this embodiment, client application B104, which is started with administrator privileges, is controlled not to be registered with the OS service function. Applications registered with the OS service function do not need to acquire administrator privileges each time they are started, but the application is started every time the OS starts. In this embodiment, by not registering with the OS service function, client application B104 can be started only when processes requiring administrator privileges are needed. However, this is not the only form; to avoid acquiring administrator privileges each time it is started, client application B104, which is started with administrator privileges, may be registered with the OS service function.

[0051] In step S301, if it is determined that the OS environment of terminal device 100 is a secure OS environment, the process proceeds to step S312. In step S312, the secure platform application 102 performs control to prevent the execution of processes requiring administrator privileges. Specifically, this prevents the secure platform application 102 from performing a new download or installation of client application B104. Furthermore, predetermined processes are not executed. At this time, however, the printer driver may be installed. Here, unlike the printer driver proprietary to the image forming apparatus vendor, the printer driver provided by the OS vendor of terminal device 100, the IPP (Internet Printing Protocol) driver which is the OS standard printer driver, is installed. At this time, control may also be performed to display a manual for performing wireless connection settings for the image forming apparatus without using client application A103 or client application B104. Specifically, this manual is, for example, a manual for connecting the image forming apparatus to an external access point through operations on the image forming apparatus itself.

[0052] Furthermore, if it is determined in step S305 that the above privilege escalation process should not be performed using the administrator account information, the process proceeds to step S312. In this case, the above privilege escalation process is not performed in step S312, and the process requiring administrator privileges is not executed.

[0053] If it is determined in step S302 that the predetermined process does not include a process requiring administrator privileges, the process proceeds to step S313. In step S313, a predetermined process that does not include a process requiring administrator privileges is executed. A predetermined process that does not include a process requiring administrator privileges is, for example, a process for sending instructions to the image forming apparatus to perform printing or scanning. After that, the process ends.

[0054] According to the first embodiment described above, a privilege escalation process is performed. The client application B104 executes the administrator privileges process upon completion of the privilege escalation process. That is, the administrator privileges process is executed in accordance with the execution instruction received from the non-administrator account. This makes it possible to relax the restrictions on functionality for the non-administrator account.

[0055] Furthermore, in the first embodiment described above, if the OS environment of the terminal device 100 is a secure OS environment, the system is controlled not to execute processes that require administrator privileges. This prevents the execution of processes that are incompatible with the OS environment of the terminal device 100.

[0056] In the first embodiment described above, if an instruction to execute a process requiring administrator privileges is received from a non-administrator account and client application B104 is not installed on the terminal device 100, client application B104 is downloaded. This prevents the download of unnecessary client application B104.

[0057] In the first embodiment described above, client application A103 is an application that is not permitted to execute processes requiring administrator privileges instructed by a non-administrator account. This makes it possible to relax the functional restrictions on non-administrator accounts in terminal device 100 on which client application A103, which is not permitted to execute processes requiring administrator privileges instructed by a non-administrator account, is installed.

[0058] In the embodiment described above, 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 restrictions on functionality for non-administrator accounts in the terminal device 100 equipped with 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 first embodiment described above, the client application B104 must be launched each time an administrator privilege-required process is executed, which is inefficient.

[0060] In contrast, in the second embodiment, once the client application B104 has completed the execution of the process requiring administrator privileges, it transitions to a polling state in which it can receive commands to execute the next process.

[0061] The second embodiment is basically the same as the first embodiment described above in terms of its configuration and operation, but differs from the first embodiment in that the client application B104 transitions to a polling state. Therefore, the explanation of the overlapping configurations and operations will be omitted, and the explanation of the different configurations and operations will be given below.

[0062] Figure 6 is a sequence diagram showing the operation of terminal device 100 in Figure 1 when it receives an instruction from a non-administrator account to execute a process requiring administrator privileges. The sequence diagram in Figure 6 is similar to the sequence diagram in Figure 3 described above, and the differences from the sequence diagram in Figure 3 will be explained below. In Figure 6, as in Figure 3, it is assumed that the secure platform application 102, client application A103, and client application B104 are not installed on terminal device 100. When terminal device 100 receives an instruction from the user to download package 105, step S401 is started.

[0063] In Figure 6, steps S401 to S413 are performed, which are the same processes as steps S101 to S113 described above. Next, in step S414, the client application B104 transitions to a polling state in which it can receive commands from the secure platform application 102. When the secure platform application 102 detects that the client application B104 has transitioned to the polling state, the process proceeds to step S415.

[0064] In step S415, the secure platform application 102 issues an execution command to the client application B104 for processing requiring administrator privileges. In step S416, the client application B104 executes the processing requiring administrator privileges in accordance with the execution command received from the secure platform application 102. Once the execution of the processing requiring administrator privileges is complete, the client application B104 transitions to a polling state in step S417. Then, in step S418, the secure platform application 102 issues an application termination command to the client application B104 when it is time to terminate its operation.

[0065] In step S419, the client application B104 terminates its operation in accordance with the application termination command received from the secure platform application 102.

[0066] In the second embodiment described above, once the client application B104 completes the execution of the process requiring administrator privileges, it transitions to a polling state where it can receive commands to execute the next process. This prevents inefficient processes such as starting the client application B104 each time a process requiring administrator privileges is executed. As a result, when executing multiple processes requiring administrator privileges consecutively, the processing time can be reduced compared to the first embodiment described above.

[0067] Furthermore, in the second embodiment described above, the client application B104 terminates at the same time as the secure platform application 102 terminates. This minimizes the startup time of the client application B104, which is capable of executing processes requiring administrator privileges, thereby preventing unauthorized use of the client application B104.

[0068] <Other Embodiments> In the embodiment described above, if it was determined in step S304 that the execution permission operation had been performed, or if it was determined in step S308 that the above-mentioned privilege escalation process would not be performed using the administrator account information, the process would terminate without the client application A103 being launched or the predetermined process being executed. However, the embodiment is not limited to this form. In the above case, the client application A103 may be launched without administrator privileges. Furthermore, the client application A103 may execute the predetermined processes other than those requiring administrator privileges. In this case, the client application B104 is not newly installed. Also, in this case, for example, the image forming apparatus receives the password entered by the user, rather than the password obtained by the client application B104. This allows the wireless connection settings of the image forming apparatus to be executed without the administrator privilege processing performed by the client application B104.

[0069] Furthermore, as described above, the secure platform application 102 and client application A103 were described as not having the function to execute processes requiring administrator privileges. In step S303, even if it is determined that the account that issued the command to execute the predetermined process has administrator privileges, the client application B104 is installed and the process requiring administrator privileges is executed by the client application B104. However, the system is not limited to this configuration. For example, the secure platform application 102 and client application A103 may have the function to execute processes requiring administrator privileges. In step S303, if it is determined that the account that issued the command to execute the predetermined process has administrator privileges, the client application B104 may not be installed, and the secure platform application 102 and client application A103 may execute the process requiring administrator privileges.

[0070] The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of the system or device read and execute the program. Furthermore, the present invention can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0071] Furthermore, the disclosure of this embodiment includes the following configurations and methods. (Configuration 1) An application execution device comprising means for storing a secure platform application and a first client application; 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 administrator privileges; and means for performing permission processing to allow the second client application to execute the process requiring administrator privileges based on information of an administrator account that has administrator privileges, wherein the second client application executes the process requiring administrator privileges in accordance with the completion of the permission processing. (Configuration 2) The application execution device according to Configuration 1, further comprising means for determining whether the OS environment of the application execution device is a secure environment, and further comprising means for controlling the application execution device so as not to execute the process requiring administrator privileges when 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 the second client application, upon completing the execution of the process requiring administrator privileges, transitions to a polling state in which it can receive instructions to execute the next process. (Configuration 4) An application execution device according to any one of Configurations 1 to 3, characterized in that the first client application is an application that is not permitted to execute the process requiring administrator privileges instructed by the non-administrator account. (Configuration 5) The application execution device according to any one of Configurations 1 to 4, wherein the means for downloading downloads the second client application when it receives an instruction from the non-administrator account to execute a process requiring administrator privileges and the second client application is not installed on the application execution device. (Configuration 6) The application execution device according to any one of Configurations 1 to 5, characterized in that the secure platform application is an application for controlling an image forming apparatus from the application execution device. (Configuration 7) An application execution device according to any one of Configurations 1 to 6, characterized in that it has a predetermined function for starting a registered application in accordance with the startup of the OS of the application execution device, and the second client application is controlled so as not to be registered with the predetermined function. [Explanation of symbols]

[0072] 100 terminal devices 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), A reception step that accepts operations from a designated account, In the OS environment of the information processing device, which is a predetermined environment in which a program cannot be installed without going through a predetermined site, when an operation from a predetermined account is accepted, a first execution step is performed to execute a first process for installing a first program, whether the predetermined account is an administrator account with administrator privileges or a non-administrator account without administrator privileges. In the OS environment of the information processing device that is not the predetermined environment, if an operation from the predetermined account is accepted, whether the predetermined account is the administrator account or the non-administrator account, a second execution step is performed to execute a second process for starting a third program related to the installation of a second program. If the third program is started by the second process and the execution of the process requiring administrator privileges is permitted in the third program, a third execution step is performed to execute the third process for installing the second program. A control method for an information processing device, characterized by having the following features.

2. The control method for an information processing device according to Claim 1, characterized in that if the execution of the process requiring administrator privileges is not permitted in the third program, the third process is not executed.

3. A screen that is displayed when the predetermined account is the non-administrator account, and which allows the third program to execute the process that requires administrator privileges, 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 when information regarding the administrator account is entered on the predetermined screen, the execution of the process requiring administrator privileges is permitted in the third program.

4. The control method for an information processing device according to claim 3, characterized in that the predetermined screen is a screen displayed by the User Account Control function.

5. The control method for an information processing apparatus according to Claim 1, characterized in that the predetermined environment is a Windows 10 S mode environment.

6. The control method for an information processing device according to claim 1, characterized in that the first program is an OS standard driver which is a printer driver provided by the vendor of the OS of the information processing device.

7. The control method for an information processing apparatus according to claim 1, characterized in that the first program is an IPP (Internet Printing Protocol) driver.

8. The control method for an information processing device according to claim 1, characterized in that 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 the execution of the process requiring administrator privileges is permitted in the third program, the third program is controlled not to be registered in the service function of the OS. The control method for an information processing device according to claim 1, characterized in that the program registered in the service function of the OS is started each 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, The control method for an information processing apparatus according to claim 1, characterized in that the third program is not the UWP application.

11. The control method for an information processing apparatus according to claim 10, characterized in that the second process includes at least one of the following: the process by which the fourth program instructs the fifth program to start the third program; and the process by which the fourth program instructs the fifth program to download the third program.

12. The control method for an information processing device according to Claim 1, further comprising a fourth execution step of executing a fourth process for executing wireless connection settings for a device different from the information processing device, when the third program is started by the second process and the execution of the process requiring administrator privileges is permitted in the third program.

13. The control method for an information processing device according to claim 12, characterized in that when the OS environment of the information processing device is the predetermined environment, and an operation is accepted from the predetermined account, the fourth process is not executed.

14. The claim further comprises a determination step of performing a determination process to determine whether the predetermined account is the administrator account, The control method for an information processing device according to claim 1, characterized in that the process executed when the predetermined account is determined to be the administrator account and the execution of the process requiring administrator privileges is not permitted in the third program is controlled to be different from the process executed when the predetermined account is determined to be the non-administrator account and the execution of the process requiring administrator privileges is not permitted in the third program.

15. The control method for an information processing device according to claim 1, characterized in that if the predetermined account is the non-administrator account and the execution of the process requiring administrator privileges is not permitted in the third program, a process for installing the first program is executed.

16. The control method for an information processing device according to Claim 1, characterized in that if the predetermined 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 method for controlling an information processing device according to Claim 1, characterized in that the process requiring administrator privileges includes at least one of the following: a process for obtaining the password of an access point to which the information processing device has previously connected; a process for switching the settings of the information processing device from a setting where DHCP (dynamic host configuration protocol) is disabled to a setting where DHCP is enabled; and a process for installing a printer driver.

18. The control method for an information processing device according to claim 1, characterized in that the first program and the second program are printer drivers.

19. An information processing device having an OS (Operating System), A means of receiving operations from a designated account, In the OS environment of the information processing device, which is a predetermined environment in which a program cannot be installed without going through a predetermined site, when an operation from a predetermined account is accepted, a first execution means executes a first process for installing a first program, whether the predetermined account is an administrator account with administrator privileges or a non-administrator account without administrator privileges. In the OS environment of the information processing device, which is not the predetermined environment, if an operation from the predetermined account is accepted, the second execution means executes a second process for launching a third program related to the installation of a second program, whether the predetermined account is the administrator account or the non-administrator account. An information processing apparatus comprising: a third execution means for executing a third process for installing the second program when the third program is started by the second process and the execution of the process requiring administrator privileges is permitted in the third program.

20. A program that causes 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 is: A reception step that accepts operations from a designated account, In the OS environment of the information processing device, which is a predetermined environment in which a program cannot be installed without going through a predetermined site, when an operation from a predetermined account is accepted, a first execution step is performed to execute a first process for installing a first program, whether the predetermined account is an administrator account with administrator privileges or a non-administrator account without administrator privileges. In the OS environment of the information processing device that is not the predetermined environment, if an operation from the predetermined account is accepted, whether the predetermined account is the administrator account or the non-administrator account, a second execution step is performed to execute a second process for starting a third program related to the installation of a second program. If the third program is started by the second process and the execution of the process requiring administrator privileges is permitted in the third program, a third execution step is performed to execute the third process for installing the second program. A program characterized by having the following features.

Citation Information

Patent Citations

  • Information processor, device driver addition method, program and recording medium

    JP2004334449A

  • A method for temporarily granting higher privileges to a user identifier on a computing system.

    JP2013506924A

  • Information processing device, control method, and program

    JP2020016951A

  • Computer Device and Method for Managing Privilege Delegation

    US20180349625A1

  • Authenticated discoverability of universal windows applications to win32 desktop applications

    US20200233951A1