In today's society, many people interact with computing environments using personal computers, personal data assistants (PDA), telephones, audio/video devices, and other devices. Often, computing environments enable users or others to customize aspects of the computing environment. For example a user may desire to configure or install software, change an appearance, or otherwise customize the computing environment.
Computing environments often enable users to access and manipulate settings which affect the performance, presentation, operation, or other aspects of the computing environment. In some instances, a user may access and manipulate settings as a general user, an administrator, or at another level that may include options to conduct activities that are not available in other levels. In some instances, a user may escalate from a lower privilege to a higher privilege (e.g., administrator) to conduct an activity.
When computing in an environment with a higher privilege, a user may become increasingly more susceptible to inadvertently harming the computing environment. For example, the user may expose the computing environment to modification by malware or other software which may intentionally or unintentionally negatively modify the computing environment. Negative modification of the computing environment may cause the computing environment to stop functioning properly, display error messages, or lose valuable data.
This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Techniques, systems, and apparatuses for conveying privilege escalation to a user are disclosed. In one or more aspects, a privilege escalation request is initiated in a first operating environment. The first operating environment may foreshorten to reveal a second operating environment associated with the privilege escalation. The second operating environment includes a continuous visual presentation to alert the user of the privilege escalation. A user may complete one or more privileged activities in the second operating environment before returning to the first operating environment.
In further aspects, a user interface may include a first portion and a second portion. The first portion may include a foreshortened representation of a first operating environment associated with a lower privilege. The second portion may include a second operating environment associated with an escalated privilege. The second operating environment may include a visual presentation depicting the inner working of a device to suggest to the user an importance of the escalated privileged environment.
Other embodiments will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same reference number in different figures refers to similar or identical items.
Computing devices typically include computing environments, such as operating systems, that often have “privileged” and “non-privileged” modes of operation. Often, these computing environments will prompt the user for permission to go from a non-privileged mode to a privileged mode. In some instances, the computing device may request the user to undertake additional assurances before implementing a privilege escalation. For example, the user may be presented with a dialog box which displays a message to confirm a user's activity.
In some instances, the user may desire to remain in a privileged state for an extended period of time. For example, when a user engages in a pattern of software installation or configuration, an operating system may repeatedly prompt the user to provide a privilege permission. This repeated prompting may cause undesirable delays, be negatively received by the user, or be undesirable for other reasons. In some instances, the operating system may place the user into a persistent privileged mode until the user or operating system completes the software installation.
In addition to annoying, or otherwise negatively affecting a user experience during a privilege change, current systems are typically limited to a momentarily alerting a user. A one time alert or confirmation of a privilege change may be ineffective when the user spends a prolonged period of time in the privileged state. In addition, a privilege escalation indicator must be effective enough to keep the user vigilant during activities in the privileged state, while requiring minimal or no user action (e.g., confirmation request, dialog prompts, messaging, etc.) while the user conducts activities in the privileged state.
When providing a visual indicator to a user to alert the user of a privileged mode, a designer may be cognizant of the state of mind the indicator may induce in the user. Overly powerful “WARNING!” indicators may scare the user and dissuade the user from proceeding with an otherwise proper activity, while bland “go ahead” indicators may not make the user cautious enough. Finally, a termination of the privileged state may be clearly presented to the user.
The computing device 104 may include a number of components 106. At a basic level, the components may include at least one processing unit 108 and system memory 110, among other possible components. The system memory 110 may include an operating system 112 and applications 114. The operating system 112 may be any operating system that provides a computing environment to enable the user 102 to access, control, or manipulate data using the computing device 104. The applications 114 may include program modules and/or program data which may be executed in conjunction with the operating system 112 to access, control, or manipulate data.
In accordance with one or more embodiments of the disclosure, the operating system 112 may include an operating environment 116. The operating environment 116 may provide the context in which the user 102 interacts with the computing device 104. For example, the operating environment 116 may be a distinct user interface which includes a background, an active portion for conducting computing activities (e.g., executing an application, etc.) and an inactive portion which may display information (either dynamically or statically) or may be aesthetic and not intended to display information.
The operating system 112, including the operating environment 116 and the applications 114, either singly or in combination, may be mapped to a privilege spectrum 118. The privilege spectrum 118 may include a highest privilege 120 (e.g., administrative privilege, master privilege, etc.) and a lowest privilege 122 (e.g., basic user privilege, guest privilege, default privilege, etc.). The highest privilege 120 may enable a user to control more aspects of the computing device as compared to the lowest privilege 122, however, concurrently making the computing device 104 more vulnerable to inadvertent harm. In some embodiments, a least one intermediate privilege 124 may be included in the privilege spectrum 118. The privilege spectrum 118 may be applied to the user 102 or the computing device 104.
In one or more embodiments, aspects of the operating system 112 and the applications 114 may be mapped to the privilege spectrum 118. For example, when the user 102 desires to modify an attribute of the operating system 112, the operating system may reference the privilege spectrum 118 to ensure the user 102 is authorized to make the requested modification. If the user is not privileged to undertake the requested modification (i.e., the privilege is currently lower than required for the requested modification), the user 102 may escalate the privilege and then complete the requested modification.
In accordance with one or more embodiments, the operating environment 116 may be mapped to the privilege spectrum 118 to provide an indicator to the user 102 of the state of the privilege in the privilege spectrum 118. For example, a first operating environment may be mapped to the lowest privilege 122 and a second privilege may be mapped to the highest privilege 120. Additional operating environments may be mapped to intermediate privileges, such as the intermediate privilege 124. In some embodiments, the first operating environment mapped to the lowest privilege 122 may be a default operating environment that the user 102 conducts the majority of his or her activities within while operating the computing device 104.
The workspace 202 may include a number of objects that enable the user 102 to conduct activities, extract information, or otherwise manipulate the computing device 104. As such, the workspace 202 may include a taskbar 204 to assist the user 102 in navigating through an infrastructure supported by the operating system 112. The workspace may optionally include icons 206 (e.g., folders, shortcuts, documents, etc.), programs 208 (e.g., gadgets, applications, etc.), and activities 210 (i.e., executing application interfaces), which the user 102 may initiate, explore, or manipulate while interacting with the computing device 104.
In accordance with one or more embodiments, the workspace 202 may enable presentation of a privilege escalation prompt 212 which may enable the user 102 to change a privilege prior to undertaking a privileged activity. The privilege escalation prompt 212 may enable the user 102 to initiate a privilege change which in turn may initiate a conveyance of an escalated privilege to the user 102.
An operating environment, such as the operating environment 116 of
The interface 300 includes a first portion 302 and a second portion 304. The first portion 302 includes a foreshortened rendering of the operating environment prior to an escalation in privilege. For example, the first portion 302 may include the icons 206, the programs 208, the activities 210, and even the privilege escalation prompt 212 which were previously displayed in the operating environment before the escalation in privilege. In one or more embodiments, the first portion may remain active and dynamically update information. For example, the hands of a clock may continue to move or a media player may continue to output audio and/or video via the computing device.
The second portion may provide a second workspace 306 that includes graphics which communicate to the user 102 that he or she is operating in an escalated privilege state rather than just using the computing device under lower privilege circumstances. For example, the workspace 306 may include a graphical cue to alert and remind the user 102 of the privileged state without requiring further action by the user 102, such as receiving and closing intermittent dialog messages.
The second portion may also enable the user 102 to conduct a privileged activity 308. For example, the user may operate in the first operating environment with the interface 200 of
When the user 102 completes the privileged activity 308, the user may revert from the interface 300 having the escalated privilege state to the interface 200 associated with a lower privilege state. In some embodiments, the user 102 may terminate the escalated privilege by clicking, or otherwise selecting, a latch 310 which may initiate the transition from the interface 300 to the interface 200. The latch 310 may be a graphical representation that provides an intuitive option for the user. Additionally or alternatively, some embodiments may include other graphical representations, text, or other features that enable the user 102 to return to the interface 200. In further embodiments, the user may terminate interface 300 by closing the privileged activity 308, such as by selecting a close button 312.
As shown in
In one or more embodiments, the graphical representations 402 may be dynamic. The graphical representations may include components 404, such as light emitting diodes (LEDs), fans, gauges, etc., which change in visual presentation to enhance the graphical representation 402. For example, LEDs may flash, fans may spin, wires may spark, or other visual presentations may occur which enhance the graphical representation 402.
The transition from a first operating environment, such as interface 200 of
In one or more embodiments, the first operating environment associated with the lower privilege (e.g., the interface 200) may reside in other locations other than the first portion 302 or may be represented in other configurations without departing from the spirit and scope of the disclosure. For example, the first operating environment may be reduced in size and placed in a corner of the second operating environment. In additional embodiments, the user 102 may adjust the location of the first operating environment.
In accordance with one or more embodiments, the interface 500 may include a task list 504. The task list 504 may enable the user 102 to create, track, and complete, among other possible uses, tasks which the user desires to engage in while in the privileged environment. For example, the user 102 may desire to install a number of software updates while operating in a privileged escalation environment. The task list 504 may list each task (e.g., installation) and may be updated, either automatically or by the user, upon completion of the task. In some embodiments, the completion of the task list 504 may result in the termination of the privilege escalation. Additionally or alternatively, the latch 310, a timer expiration, or other events, may terminate the privilege escalation.
As shown in
At 604, the user 102 may view an environment change as displayed on the computing device 104. For example, the operating system 112 may cause the computing device 104 to display an animated transition from a first operating environment (e.g., the interface 200, etc. ) to a second operating environment (e.g., the interface 300, the interface 400, etc.). The animation may be accompanied by sound or other sensory messages, either alone or in combination, which may be perceived by the user 102.
The user 102 may conduct activities, work, or other tasks in the privileged environment at 606. For example, the user may modify an attribute of the operating system 112. At 608, the privileged environment may be terminated. For example, the privilege task may be completed at 606 which automatically ends the privileged environment. Additionally or alternatively, the user 102 may take an action to end the privileged environment such as by selecting the latch 310 of
At 706, work is conducted in the second environment associated with an escalation in privilege. At 708, the user 102 may conduct specific tasks in the second environment, such as tasks on the talk list 504 of
An animation and/or sound module 804 may provide sensory effects to the user 102 during a transition to or from the privilege escalation environment. Additionally or alternatively, the animation and/or sound module 804 may provide sensory effects to the user 102 in the privilege escalation environment, such as by providing a visual presentation to the user (e.g., sparks, movement, flashing lights, etc.).
A password module 806 may enforce authorization before, during, and/or after a privilege escalation process. A dialog box module 808 may provide information to the user 102, such as the privilege escalation prompt 212. A new task module 810 may allow the user to select a task to be completed in a privilege escalation environment. A task list module 812 may provide a task list, such as the task list 504, to allow the user 102 to create, track, and complete, among other possible uses, tasks which the user desires to occur while in the privileged environment. Finally, a close lid module 814 may enable the user to terminate a privilege escalation environment, such as by allowing the user to select and/or activate the latch 312.
In a very basic configuration, the computing device 900 typically includes at least one processing unit 902 and system memory 904. Depending on the exact configuration and type of computing device, the system memory 904 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. The system memory 904 typically includes an operating system 906, one or more program modules 908, and may include program data 910. The operating system 906 includes a component-based framework 912 that supports components (including properties and events), objects, inheritance, polymorphism, reflection, and provides an object-oriented component-based application programming interface (API). The device 900 is of a very basic configuration demarcated by a dashed line 914. Again, a terminal may have fewer components but will interact with a computing device that may have such a basic configuration.
The computing device 900 may have additional features or functionality. For example, the computing device 900 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
The computing device 900 may also contain communication connections 924 that allow the device to communicate with other computing devices 926, such as over a network. These networks may include wired networks as well as wireless networks. The communication connections 924 are one example of communication media. The communication media may typically be embodied by computer readable instructions, data structures, program modules, etc.
It is appreciated that the illustrated computing device 900 is only one example of a suitable device and is not intended to suggest any limitation as to the scope of use or functionality of the various embodiments described. Other well-known computing devices, systems, environments and/or configurations that may be suitable for use with the embodiments include, but are not limited to personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-base systems, set top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and/or the like.
In closing, although the various embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended representations is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed subject matter.