背景技术
【0002】在现代计算中,许多能在计算机上执行的任务需要某种级别的安全性。为提供安全级别,给出几个选项。一个是在完全独立于任何可能不安全元件的计算机上执行所有的安全应用,或者使用虚拟机监督系统(VMM)以允许在单个计算机系统上运行的两个执行环境(如操作系统)之间的完全隔离。然而,这个可能是不切实际的。考虑到成本或方便性,安全执行环境可能需要与具有不确定安全性的应用共享资源,而且那些应用和那些资源可能易于受到攻击程序的攻击。另外,在使用VMM的地方,由于VMM需要机器以及所有其器件(从而需要VMM关于每个可能的器件而提供其自身设备驱动程序)的完全虚拟化,所以VMM并非良好适合于其中几乎无限制的多种器件可被附加到机器的开放体系结构机器。
【0003】提供在两个执行环境中共享资源能力的一种方法是提供这样的计算机系统,其中存在一个“主”操作系统,其控制机器上绝大多数的处理器和器件,而且那里也存在第二操作系统。这个第二操作系统是在执行特定限制任务的主操作系统旁边的小的、限制用途(limited-purpose)的操作系统。使操作系统“小”或“限制用途”的一种方法是允许小的操作系统从“主”操作系统借入(borrow)特定的基础设施(如调度设施、存储器管理器、设备驱动程序等等)。由于VMM有效的将操作系统互相隔离,所以使用VMM的这个基础设施共享是不实际的。
【0004】特定的其它技术允许操作系统并行存在于不使用VMM的相同机器上。一个这样的技术是使一个操作担当其它操作系统的“主机”。(“主机”正招待(hosting)的操作系统有时被称作“客人”)。既然这样,主操作系统(the host operation system)向客人提供诸如存储器和处理器时间这样的资源。另一个这样的技术是使用“外核”(“exokernel”)。外核管理特定的器件(如处理器和存储器),并且也管理操作系统之间特定类型的交互作用,尽管外核——不像VMM——不虚拟化整个机器。即使当使用外核时,可能的情况是一个操作系统(如“主”操作系统)向其它的提供许多基础设施,在这个情况中,主操作系统可仍旧被称作“主机”,且较小的操作系统被称作“客人”。主机模型和外核模型均允许支持基础设施共享的操作系统之间的有用交互类型。
【0005】这样,这些技术可被用来向计算机系统提供至少两种执行环境。其中一个可为“高确保度”操作系统,这里被称作“连结”(“nexus”)。高确保度操作系统是提供关于其性态的特定级别确保度的操作系统。例如,连结可能用于使用不应当被泄漏的机密级信息(如用密码写的键码(cryptographickeys)等等)来工作,这是通过提供保证不向该连结的外部范围泄漏信息的隐蔽存储器(a curtained memory),并且通过仅允许特定被鉴定的应用在该连结下执行以存取隐蔽存储器而实现的。
【0006】在具有两种操作环境的计算机系统中,其中一个是连结,可能需要连结为客人操作系统,而且不附属关于性态的相同级别确保度的第二操作系统为主机操作系统。这就允许连结尽可能得小。小的连结允许由该连结提供确保度中的较高级别的置信度。因此,操作系统功能由主机操作系统来运行。
【0007】可由主机操作系统运行的一个这样的操作系统是开窗口系统。当使用开窗口系统时,用户的显示将聚集窗口,显示来自应用信息的屏幕上的区域。应用可能具有一个或多个窗口。
【0008】当开窗口系统由主机操作系统来运行,而不是由连结来运行时,其易受到攻击。一个这样可能的攻击已知为哄骗。哄骗是这样的攻击,其中导致用户相信某些硬件、系统软件、应用或代理软件,或者给出的窗口是可信赖的实体,尽管其不是。攻击程序正哄骗可信赖的实体。这可被用来窃取用户证书,或者用来俘获由认为该用户正使用高度确保实体的用户输入的敏感特性(a sensitive nature)的其它数据。
【0009】例如,在其中连结运行具有登录屏幕的银行业程序的系统中,攻击程序可写在主机操作系统上运行的程序,且显示看上去确切像银行业程序登录屏幕的窗口。当用户被这个哄骗窗口欺骗时,用户会将信息输入到哄骗窗口。这个信息由攻击程序俘获且然后可由不具备该用户知识的攻击程序使用。
【0010】开窗口系统也易于受到已知为斯诺克台球(a snooker)的攻击。在斯诺克台球攻击中,攻击程序改变用户显示,以使其在系统不安全的时候告诉用户该系统是安全的。例如,计算机系统可包括用户对系统加锁的能力,或者允许计算机休眠或退隐(hibernate)的能力。既然这样,斯诺克台球攻击会模仿当系统被加锁、休眠或隐退时显示的屏幕。当用户将他们的注意力移开时,考虑到该系统是不活动和安全的,攻击程序未经授权而使用系统。
【0011】通常,不管合法连结方(a legitimate nexus-side)程序或机能系统可在监控器上产生何种模式的像素,主机方的攻击程序都可模仿。然而,为维持连结的高确保度特性,用户必须能够将合法连结方用户界面图形元素与伪造的区分开来。
【0012】依照前述观点,系统有必要克服现有技术的缺陷。
具体实施方式
概述
【0027】当诸如操作系统这样的两种执行环境在单个机器上并行运行时,在其中一种环境是被保持到特定安全标准的高确保度执行环境的情况下,对用户而言,可能重要的是辨别正被显示的哪个图形用户界面元素与在高确保度操作系统上运行的进程相关联。如上所述,通过主机方(非高确保度)执行环境而显示图形UI元素的攻击程序可试图使用户相信是UI元素的图形用户界面元素从高确保进程中产生。为阻止这样的攻击,本发明提供这样的技术,其允许用户辨别哪个图形用户界面元素源自高确保度执行环境。
范例计算安排
【0028】图1示出其中可实现本发明方面的范例计算环境。计算系统环境100仅是合适计算环境中的一个例子,且不意指暗示关于用户范畴或本发明功能性的任何限制。计算环境100也不应被解释为具有涉及在范例操作环境100中阐明的任何一个构件或构件组合的任何依存关系或需求。
【0029】本发明适用于许多其它的通用或专用计算系统环境或配置。可适用于本发明的熟知计算系统、环境,和/或配置的例子包括,但不局限于个人计算机、服务器计算机、手持式或膝上型器件、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子器件、网络PC、小型机、大型机、嵌入式系统、包括任何上述系统或器件的分布计算环境,以及类似的装置。
【0030】可用诸如正由计算机执行的程序模块这样的计算机可执行指令的通用上下文来说明本发明。通常,程序模块包括例程、对象、构件、数据结构等等,其执行特定的任务或实现特定的抽象数据类型。本发明也可适用于分布计算环境中,那里通过由通信网络或其它数据传输媒体链接的远程处理器件来执行任务。在分布计算环境中,程序模块和其它的数据既可位于包括存储器存储器件的本地计算机存储媒体中,又可位于包括存储器存储器件的远程计算机存储媒体中。
【0031】参考图1,用于实现本发明的范例系统包括以计算机110为通用计算器件的模式。计算机110的构件可包括,但不局限于,处理单元120、系统存储器130,以及将包括系统存储器在内的不同系统构件连结到处理单元120的系统总线121。处理单元120可代表诸如那些支持于多线程处理器这样的多个逻辑处理单元。系统总线121可为任何几种类型的总线结构,这包括存储器总线或存储器控制器、外围总线,以及使用任何多种总线体系结构的本地总线。作为例子,但并非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线,以及外围构件互连(PCI)总线(也已知为小背板总线)。系统总线121也可被实现为在通信器件中的点对点连接、切换构造(switchingfabric),或类似的形式。
【0032】计算机110通常包括多种计算机可读媒体。计算机可读媒体可为可由计算机110存取的任何可用媒体,并且既包括易失性媒体,又包括非易失性媒体,既包括可移除媒体,又包括不可移除媒体。作为例子,但并非限制,计算机可读媒体可包含计算机存储媒体和通信媒体。计算机存储媒体既包括易失性媒体,又包括非易失性媒体,既包括可移除媒体,又包括不可移除媒体,其以任何方法或技术来实现,用于存储诸如计算可读指令、数据结构、程序模块或其它数据这样的信息。计算机存储媒体包括,但不局限于,RAM、ROM、EEPROM、闪速存储器或其它的存储器技术、CDROM、数字多用途盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储器件,或者可用于保存需要信息且可由计算机110存取的任何其它媒体。通信媒体通常具体体现为计算机可读指令、数据结构、程序模块或在诸如载波或其它运输机制这样的已调制数据信号中的其它数据,且其包括任何信息递送媒体。术语“已调制数据信号”意指这样的信号,其使一个或多个其特性以这样的方式设置或改变,以对信号中的信息进行编码。作为例子,但并非限制,通信媒体包括诸如有线网络或直线连接(direct-wire connection)这样的有线媒体,以及诸如声音、RF、红外线和其它无线媒体这样的无线媒体。任何上述的组合也应该被包括在计算机可读媒体的范围内。
【0033】系统存储器130包括以诸如只读存储器(ROM)131和随机存取存储器(RAM)132这样的易失性和非易失性存储器为形式的计算机存储媒体。基本输入/输出系统133(BIOS)包含诸如在启动阶段帮助在计算机110内的元件之间传输信息的基本例程,该基本输入/输出系统133(BIOS)通常被保存在ROM 131中。RAM 132通常包含数据和/或可由处理单元120立即存取或当前正由处理单元120操作的程序模块。作为例子,但并非限制,图1阐明操作系统134、应用程序135、其它程序模块136,以及程序数据137。
【0034】计算机110也可包括其它可移除/不可移除、易失性/非易失性计算机存储媒体。仅作为例子,图1阐明硬盘驱动器140,其读自或写到读自或写到可移除、非易失性磁盘152,以及读自或写到诸如CD ROM或其它光媒体这样的可移除、非易失性光盘156这样的不可移除、非易失性磁媒体、磁盘驱动器151。可用于范例操作环境中的其它可移除/不可移除、易失性/非易失性计算机存储媒体包括,但不局限于,盒式磁带、闪速存储器卡、数字多用途盘、数字视频带、固态RAM、固态ROM,以及类似的媒体。硬盘驱动器141通常通过诸如接口140这样的不可移除存储器接口与系统总线121相连,而且磁盘驱动器151和光盘驱动器155通常通过诸如接口150这样的可移除存储器接口与系统总线121相连。
【0035】上面说明和在图1中阐明的驱动器和其它们相关联的计算机存储媒体提供计算机可读指令、数据结构、程序模块和关于计算机110其它数据的存储。在图1中,例如,硬盘驱动器141被阐明为保存操作系统144、应用程序145、其它程序模块146,以及程序数据147。注意,这些构件或者可与操作系统134、应用程序135、其它程序模块136以及程序数据137相同,或者可不同于操作系统134、应用程序135、其它程序模块136以及程序数据137。操作系统144、应用程序145、其它程序模块146,以及程序数据147在这里被给出不同的标号以阐明最小它们是不同的副本。用户可通过诸如键盘162和点击设备161(未示出)这样的输入器件将命令和信息输入到计算机20中,其中该点击设备161通常被称作鼠标、跟踪球或触摸垫。其它的输入器件(未示出)可包括传声器、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪,或类似的装置。这些和其它的输入器件通常通过与系统总线连结的用户输入接口160与处理单元120相连,但是其可通过诸如并行端口、游戏端口或通用串行总线(USB)这样其它的接口而连接。监控器191或其它类型的显示器件也通过诸如视频接口190这样的接口与系统总线121相连。除监控器之外,计算机也可包括诸如扬声器197和打印机196这样的其它外围输出器件,其可通过输出外围接口190而连接。
【0036】计算机110可工作于使用到诸如远程计算机180这样的一个或多个远程计算机逻辑连接的网络化环境中。远程计算机180可为个人计算机、服务器、路由器、网络PC、对等器件(a peer device)或其它普通网络节点,而且其通常包括许多或所有上面相对于计算机110说明的元件,尽管仅在图1中阐明了存储器存储器件181。图1中描述的逻辑连接包括本地网(LAN)171和广域网(WAN)173,但也包括其它的网络。这样的网络化环境常见于办公室、全企业计算机网络、局内网和国际互联网中。
【0037】当在LAN网络化环境中使用计算机110时,计算机110通过网络接口或适配器170与LAN 171相连。当在WAN网络化环境中使用计算机110时,计算机110通常包括调制解调器172或用于确立诸如国际互联网这样的WAN 173上通信的其它装置。调制解调器172可为内置或外置,其可通过用户输入接口160或者其它适当的机制与系统总线121相连。在网络化环境中,相对于计算机110描述的程序模块,或者其部分,可被保存在远程存储器存储器件中。作为例子,但并非限制,图1阐明驻留在存储器器件181中的远程应用程序185。应当认识到的是所示网络连接是范例性的,且可使用确立计算机之间通信链接的其它装置。
单个机器上的多种计算环境
【0038】如前所述,已知本领域中两种操作系统可在单个计算器件上并行执行。本发明可用于处理的一个问题是如何在两种操作系统中提供某种级别的隔离,而仍旧提供在两种操作系统之间的某种级别的交互作用。
【0039】图2示出其中操作系统134(1)和134(2)在单个计算机110上执行的系统。某种类型的逻辑隔离202存在于操作系统134(1)和134(2)之间,这样以使特定量的交互204被允许在操作系统134(1)和134(2)之间,而仍旧允许至少其中一个操作系统受到保护,防止源自其它操作系统的事件。在图2的例子中,操作系统134(1)是主机操作系统,且操作系统134(2)是诸如上述“连结”这样的客人操作系统。如前所述,当操作系统134(2)是连结时,需要构造隔离202,这样以使操作系统134(2)可与操作系统134相互作用,这是为了借入操作系统134(1)的基础设施,而仍旧允许操作系统134(2)保护自己,防止在操作系统134(1)处出现并可能促使操作系统134(2)以同其动作规约(behavioral specifications)相反的方式来行动的动作(或者恶意的或者无罪的)。(然而,应当理解本发明不局限于操作系统134(2)是连结的情况。)
【0040】操作系统134(1)和134(2)之间的隔离202作为选择,可通过借助安全监控器而被加强。安全监控器对操作系统134(1)和134(2)而言均为外部的构件,其提供可用于保护操作系统134(2)不受操作系统134(1)影响的某种安全服务。例如,安全监控器可控制到特定硬件的存取,可管理存储器的使用(以赋予操作系统134(2)存储器某部分的专用),或者能以安全方式促进从操作系统134(1)到操作系统134(2)的数据通信。应当注意的是安全监控器的使用代表一个这样的模型,操作系统134(2)如何可被保护不受操作系统134(1)的影响,尽管不需要使用安全监控器。如另一个例子,操作系统134(2)可包括有必要保护其自身不受操作系统134(1)影响的所有功能性。
【0041】应当注意图2示出作为“主机”的操作系统134(1)和作为“客人”的操作系统134(2)。通常,这个特性涉及这样的事实,即在这些例子中,操作系统134(1)提供特定的操作系统基础设施,其既由操作系统134(1)使用,又由操作系统134(2)使用。(如器件驱动器、调度等等),且就操作系统134(2)更适宜缺乏这个基础设施而使用操作系统134(1)的基础设施这方面而言,操作系统134(2)是“客人”。然而,应当注意到是使操作系统是“主机”或“客人”的参数是灵活的。而且,应当注意到的是“主机”或“客人”操作系统的传统概念假定主机需要保护自身不受客人动作的影响。然而,在图2的例子中,客人操作系统134(2)被假定是高确保度操作系统,其需要保护自身不受主机操作系统134(1)的影响。在随后的例子中,我们通常应当谈及作为“主机”的操作系统134(1)和作为“客人”或“连结”的操作系统134(2),这是为了将它们区分开来。应当认识到的是,这里说明的技术可应用到在相同机器(或甚至在互联机器的相同集合上)运行的任何两个或更多操作系统的交互作用中。
向图形用户界面提供单个机器上的多种计算环境
【0042】当用户与包含高确保度操作系统的计算机系统上的程序互相作用时,用户借助于诸如鼠标161或键盘162(来自图1)这样的用户输入器件来这样做。如上所述,允许在主操作系统134(1)上运行的开窗口系统控制输入事件流的目的地可允许使用泄密主操作系统(a compromised operatingsystem)或应用的攻击。窗口或其它图形用户界面元素可通过主机方进程而被显示给用户,其可试图模仿合法连结方进程,其在连结操作系统134(2)上运行。因此,根据本发明的一个实施例,实现用于保护合法主机方窗口和其它图形用户界面元素的完整性和可证实性的几种技术。在本发明的不同实施例中,任何一个或所有这些技术是一起实现的。
淡化和穿越显示(Obscuration and Show-Through)
【0043】在主机方和连结方进程均可在显示器上显示诸如窗口和其它用户界面元素这样的图形的地方,可通过淡化所有或部分具有主机方进程图形的合法连结方进程图形而完成攻击。图3(a)是显示器的框图。在图3(a)中,在显示器300上,连结图形310是由连结进程拥有的图形,其在连结操作系统134(2)上运行。主机图形320是由主机进程拥有的图形,其在主操作系统134(1)上运行。如在图3(a)中所示,在主图形320被允许在连结图形310的顶上显示的地方,连结图形可通过主机图形320而被淡化。既然这样,可通过淡化具有主图形320的某些或全部连结图形310而开始攻击。另外,若连结图形310与主图形320重叠但是部分透明,则主图形320可被用来以混乱的方式改变连结图形310的外观。
【0044】在一个实施例中,通过阻止所有的连结图形310不被淡化且禁止连结图形310中的任何穿越显示而防止这样的攻击。这样,对图3(a)中所示的情形而言,连结图形310不会被允许淡化。图3(b)是关于连结图形310淡化禁止的阐述。在图3(b)中,两个连结图形310中的每个被完全显示出,且不允许与连结图形310的主图形320有任何重叠。另外,在一个实施例中,在连结图形310中不允许有任何透明度(或者是完全透明度或者是部分透明度)。
【0045】在一个实施例中,为阻止来自连结方进程的对另一个的类似攻击,连结图形310可不重叠。在开窗口系统中,一个实施例允许对这个的一个例外——鼠标光标,当其正通过连结图形310显示时,可由连结方进程画出,其可被允许与连结方图形310重叠。
【0046】在另一个实施例中,若一个连结方进程拥有两个或更多用户界面图形元素,例如两个窗口或者一个窗口和一个对话框,则不暗示安全事务允许这些重叠。这样,一个普通拥有的用户界面图形元素被允许与由连结方进程拥有的另一个普通拥有的用户界面图形元素重叠。在另一个实施例中,普通拥有的最高级的图形UI元素不视图重叠,然而,最高级的UI元素可与该最高级UI元素的子UI元素重叠。例如,在这个实施例中,为最高级窗口子UI元素的对话框可与该窗口重叠。
【0047】在一个实施例中,为证实哪个用户界面图形元素是连结方用户界面图形元素,担保用户交互作用(a hypothecated user interaction)被提供,其将所有的非连结方用户界面图形元素从屏幕移除。担保用户交互作用是这样的用户交互作用,其在计算机系统的上下文中,将总是导至特定的结果。这样,当安全显示担保用户交互作用时,例如,出现键击组合时,整个显示就被清除了,除连结方用户界面图形元素之外。
【0048】图4是这个方法的流程图。在步骤400中,连结图形用户界面元素图像与在安全执行环境(连结代理)上运行的进程相关联,其被保存。在步骤410处,连结图形用户界面元素图像被完全显示,没有被任何用户接口元素淡化。在其它的实施例中,除那些与该进程相关联的以外,没有图形用户界面元素(主机或用户)可淡化连结图形用户界面元素。
机密级共享
【0049】在一个实施例中,为阻止上述哄骗攻击,显示隐瞒主机方的机密级。主机方上没有进程可存取该机密级,因此若窗口或其它图形用户界面元素可显示该机密级,则其是主机方图形界面元素。
【0050】在一个实施例中,机密级通过用户而与连结进行通信。这个连结方机密级可在信任初始化时间处(at trust-initialization time)与连结进行通信,例如当口令由用户设置的时候。图形用户界面元素或者可一直显示连结用户机密级,或者可当被挑战(when challenged)的时候显示连结用户机密级。
【0051】连结方上的信任窗口管理器(A trusted window manager)通过连结方上的进程来控制图形用户界面元素的显示。这个信任窗口管理器也对诸如边框和窗口标题这样的窗口装饰负责。在一个实施例中,连结方用户机密级通常不与连结中的进程共享。然而,通过信任窗口管理器而在窗口装饰中显示它。在另一个实施例中,当用户从窗口请求连结用户机密级时,连结方用户机密级被显示。可通过担保用户交互作用而在窗口上清晰(in focus)做出这个请求。例如,键击的特定组合可为担保用户交互作用,其促使窗口清晰显示连结用户机密级。作为选择,窗口可包括下拉菜单或活动区域,当通过鼠标或通过键击而选择它时,其促使有效连结图形310显示连结用户机密级。
【0052】连结用户机密级可为图像或短语。图像可为有用的连结用户机密级,这是因为它们可由用户容易的鉴别且难于说明。若由用户选择用作连结用户机密级的图像例如是在用户房子前用户的狗的照片,则该照片可由查看该用户屏幕上图像的攻击程序来说明,即使其具有攻击程序可能有困难重新制作该图像或找到其副本的信息也是成立的。
【0053】图5是这个方法的流程图。在步骤500中,与该连结相关联的连结用户机密级被保存。在步骤510中,连结用户机密级元素图像被显示为部分连结图形用户接口元素。
连续机密级排列
【0054】如所述,在一个实施例中,信任窗口管理器是这样的媒介,通过它,所有的连结方进程显示它们的用户界面图形元素,并且信任窗口管理器仅对诸如用户界面图形元素上的边框这样的窗口装饰负责。在一个实施例中,窗口装饰包括连续更新的短期机密级。这个连续更新的机密级不可由非连结窗口存取,且这样其可被用来鉴别非主机窗口。
【0055】例如,在每个连结用户界面图形元素的边框是特定的色彩,且该色彩每15秒改变一次的地方,当给出的窗口边框不匹配该窗口不是连结方用户界面图形元素的其它连结用户界面图形元素时,对用户而言,这将是显而易见的。其它可能的连续更新机密级可包括:小图形、图标组合、字形,或者在窗口装饰中显示的字符,或者十六进制或数字串。可使用可同由用户相当容易的注意到的差异进行可视化比较的任何条信息。
【0056】在一个实施例中,每逢连结图形310被显示时,连结系统用户界面区域就被保持在显示器300上。这个用户界面区域列出有关正被显示的连结图形310的信息。例如,用户界面区域可列出正被显示的连结图形310的数量,或者正被显示的连结图形310的名称(如窗口标题)。连结图形310的装饰中的这个共享机密级也被显示在连结系统用户界面区域中。图6是根据本发明一个实施例的显示器的框图。在图6中,在显示器300上的每个连结图形310的窗口装饰610中显示由3个字形(“_◆□”)组成的系列(a series)。连结系统界面区域600也被显示,其包括相同集合的3个字形。这就允许用户容易确认窗口正通过连结方进程而正被显示。
【0057】虽然机密级的改变可能是基于时间的,诸如如上所述,有色彩的边框每15秒而进行变化,但是在其它实施例中,当用户通过担保用户交互作用而请求它时,或者当诸如焦点从一个窗口变化到另一个窗口的变化这样的系统事件出现时,机密级以不同次序排列。
【0058】图7是这个方法的流程图。在步骤700中,最少两个连结图形数据元素被接受。在开窗口系统中,这些,连同窗口装饰,将组成窗口图像。在步骤710中,两个连结图形用户界面元素(如窗口)被显示——除对每个窗口普通的装饰之外,每个包含其中一个图形数据元素。
窗口标题——公用和私用
【0059】如所述,信任窗口管理器可被用作这样的媒介,通过它,所有的连接方进程显示它们的用户界面图形元素。然而,主机方窗口管理器可被用来管理主机方进程的用户界面元素的显示。在一个实施例中,对每个连结方用户界面图形元素(诸如连结图形310)而言,相应的阴影图形用户界面元素由主机方窗口管理器来保持。这就允许主机方窗口管理器认识到显示器300的特定区域正由连结图形310使用。如上所述,当禁止淡化和穿越显示时,这个可为关于主机方窗口管理器的有用信息,因此,应当是可视的窗口没有被放置在这些区域中。然而,仅仅是关于连结图形310的有限信息应当可用于主机方中。
【0060】因此,在一个实施例中,信任窗口管理器允许连结代理(在连结上运行的进程)关于每个窗口或其它用户界面图形元素而设置两个标题。一个标题,即私用标题,被传递到信任窗口管理器并被用于窗口管理功能和用于在连结图形310中的显示。这个私用标题不被具有任何主机方进程或具有任何连结方进程的信任窗口管理器所共享,除其拥有该窗口(或其它元素)的连结代理之外。
【0061】除私用标题之外,连结代理也可指定公用标题。这个公用标题也可与主机方共享,其包括主机方窗口管理器。公用标题可由作为关于阴影窗口标题的主机方窗口管理器来使用。这样,主机方窗口管理器可通过使用公用标题而参考该窗口,其被选择,以可被用户理解,而不包括可能违背秘密性的信息。这样,在主机方窗口管理器允许用户从一列窗口选择集中的窗口的地方,与阴影窗口相关联的公用标题被列出为要选择的选项。当选择阴影窗口时,相关联的信任窗口将被激活,且与相关联信任窗口相关联的连结代理将变成用户输入的焦点。
【0062】图8是这个方法的流程图。在步骤800中,公用标题信息和私用标题信息被关于与连结代理相关联的连结图形用户界面元素而保存。在步骤810中,私用标题信息被用于信任窗口管理器的窗口管理功能。在步骤820中,公用标题信息被提供到主机,用于在主机方上使用。
结论
【0063】注意到这里仅仅是为了解释的目的而提供了上述示例,且上述示例决不应该解释为对本发明的限制。虽然已经参考不同的实施例而说明了本发明,但是应当理解的是这里已经使用的词语是描述和阐明性的词语,而不是限制性词语。进一步而言,尽管这里已经参考特定的装置、材料和实施例说明了本发明,但是并不意味着本发明被限制在这里说明特定例子的范围内;本发明可扩充到所有在功能上等效的结构、方法和使用上的范围,诸如在附加权利要求书范畴内。本领域熟练的技术人员将得到本说明书教授的益处,可实现许多对说明书的修改,且这些修改是在不违背本发明各方面中范畴和主旨的前提下做出的。