背景技术
远程控制是一种用于人们相互帮助以及企业系统管理的重要的功能。通过使用远程控制,IT管理员/支持人员可以使用他/她自己的计算机来解决终端用户的问题,对终端用户进行教学,配置远程客户机,部署系统,等等。
在远程控制系统中有五个常见的实体:
1.本地用户:他/她的计算机由远程支持人员所控制的用户。
2.本地客户机:本地用户的计算机。
3.远程控制客户端:安装在本地客户机上的模块,使得本地客户机可以由远程支持人员所控制。这个模块将发送供远程控制控制端使用的本地客户机信息,从远程控制控制端获得命令,将这些命令翻译成本地客户机上的适当的操作。
4.远程控制控制端:安装在远程支持人员的计算机上的模块,使得远程支持人员可以输入命令和获取来自本地客户机的反馈。
5.远程支持人员:用他/她自己的具有远程控制控制端的计算机来远程控制本地客户机的用户。
目前,主要有三种类型的远程控制系统:
1.VNC(Virtual network computing虚拟网络计算)。远程控制客户端将本地用户的屏幕发送给远程控制控制端,使得远程支持人员能够看到与本地用户可以看到的画面相同的画面。远程控制控制端将远程支持人员的键盘和鼠标动作发送给远程控制客户端。然后,远程控制客户端将这些动作在本地客户机上模拟进行相同的操作。看起来就好象远程支持人员在直接操作本地客户机一样。例如,当当前的输入点是本地客户机上的一个编辑框时,如果远程支持人员按下“c”键,则远程控制客户端将向编辑框发送一个“c”字符,在本地客户机的屏幕上显示带有“c”字符的编辑框,同时,带有新的“c”字符的编辑框则被显示给远程支持人员。
采用这样一个系统,本地用户和远程支持人员具有相同的权利来在本地客户机上操作并看到相同的结果。其优点是远程支持人员可以为本地用户做所有事情。缺点是远程支持人员可以容易地访问本地用户的私人文档以及带有敏感数据的窗口等。
2.微软终端服务。远程支持人员可以作为一个不同于本地用户的用户登录到本地客户机,并为客户机执行一些配置工作。微软终端服务可以保护用户的一些隐私。但这有三个缺点。首先,远程支持人员不能为本地用户配置用户相关的参数,除非本地用户把他/她的用户ID和口令给远程支持人员。其次,本地用户不能监视远程支持人员正在做的工作,因为他们不能用同一个用户ID登录。最后,只有WindowsXP或Windows 2000高级服务器支持终端服务,并且远程控制控制端只能位于Windows平台上.
3.Telnet或SSH控制台。其操作方式与微软终端服务类似,其缺点是远程支持人员只能做非常有限的工作。
基本上,只有第一类型的系统可以用于远程系统管理(由IBMDirector和Tivoli所采用)。第二和第三类型是供用户远程操作他/她的系统的。但采用一个象VNC这样的远程控制解决方案的最大的问题之一就是用户不能确保他/她的隐私不会暴露给远程支持人员。
发明内容
因此,本发明的目的是提供一种用于远程控制的隐私保护的方法和设备,在远程支持人员对本地客户机进行远程操作的时候能够在远程控制过程中保护本地用户的隐私。
为了实现上述目的,提供了一种通过控制对不同种类的本地客户机资源、包括文件、应用程序、窗口和显示区域的访问权利来远程控制系统的隐私保护机制。
依据本发明的一个方面,提供了一种用于远程控制的隐私保护的方法,用于在远程支持人员通过远程控制控制端远程控制本地客户机时保护本地用户的隐私,所述方法包括如下步骤:选择可以由远程支持人员在远程看到的窗口/显示区域以产生用户窗口/显示区域选择信息;抓取本地客户机屏幕图象;根据所述用户窗口/显示区域选择信息在所述抓取的屏幕图象中进行剪裁;以及,将剪裁后的屏幕图象发送给远程控制控制端供远程支持人员观看。
依据本发明的另一个方面,提供了一种用于远程控制的隐私保护设备,用于在远程支持人员通过远程控制控制端远程控制本地客户机时保护本地用户的隐私,所述设备包括:窗口/显示区域选择装置,用于选择可以由远程支持人员在远程看到的窗口/显示区域以产生用户窗口/显示区域选择信息;屏幕图象抓取装置,用于抓取本地客户机屏幕图象;隐私过滤器,根据所述窗口/显示区域选择装置产生的用户窗口/显示区域选择信息在所述屏幕图象抓取装置抓取的屏幕图象中进行剪裁;以及,发送装置,用于将所述隐私过滤器剪裁后的屏幕图象发送给远程控制控制端供远程支持人员观看。
依据本发明的又一个方面,提供了一种用于远程控制的隐私保护的方法,用于在远程支持人员通过远程控制控制端远程控制本地客户机时保护本地用户的隐私,所述方法包括如下步骤:将要保护的文件/目录添加到受保护文件列表中;检测远程控制的开始;在远程控制开始时,将所述受保护文件列表中的文件/目录设为锁定状态;以及,拒绝本地用户和远程支持人员对被锁定的所述文件/目录的访问。
依据本发明的又一个方面,提供了一种用于远程控制的隐私保护设备,用于在远程支持人员通过远程控制控制端远程控制本地客户机时保护本地用户的隐私,所述设备包括:受保护文件/目录设定装置,用于设定将要保护的文件/目录;隐私过滤器,检测远程控制的启动,并在远程控制开始时向文件访问控制装置发送一个消息;文件访问控制装置,用于提供锁住所述文件/目录以及对所述文件/文件夹解锁的用户接口,在接收到远程控制开始的消息后,将所述受保护文件列表中的文件/目录设为锁定状态;以及,文件保护驱动装置,拒绝本地用户和远程支持人员对被锁定的所述文件/目录的访问。
通过上面提供的本发明的用于远程控制的隐私保护方法和设备,可以删除远程支持人员的口令输入以及与未授权的窗口或显示区域的交互,并且,当本地客户机由一个远程支持人员控制时,拒绝对被锁文件/目录的访问.
具体实施方式
下面将结合附图详细描述本发明的具体实施方式。
传统的远程控制客户端仅仅捕获屏幕图象并将其发送给远程支持人员的机器中的远程控制控制端,并接收关于远程支持人员的键盘和鼠标输入的消息,以便给本地客户机翻译成适当的动作。
图1显示了现有技术中的远程控制系统的示意图。从图1可以看出,在远程控制过程中,本地客户机的远程控制客户端抓取本地客户机的屏幕图象,并将屏幕图象发送给远程支持人员操作的远程控制控制端,远程控制控制端接收图象并显示在远程计算机上,然后远程控制控制端接收远程支持人员的鼠标或键盘输入,并发送命令到本地客户机。远程控制客户端接收远程支持人员的命令消息,解释该命令消息,并将命令发送给本地客户机进行操作。
因此,在一个远程控制系统中,远程控制客户端具有如下作用:
1.抓取本地客户机屏幕图象。
2.向远程控制控制端发送该图象。
3.解释来自远程控制控制端的控制消息,并向本地客户机发送适当的动作。
由这个远程控制客户端来决定哪些是远程支持人员能够看到的以及哪些是远程支持人员能够操作的。并且,因为这是一个在本地的应用程序,是一个可以由本地用户完全控制的模块,因此我们可以将隐私控制模块放在这个模块中来保护隐私不被暴露。
本发明的远程控制客户端的结构如图2所示。
在本发明中,为了保护三种类型的隐私:文件、受口令保护的应用程序和窗口/显示区域,在远程控制客户端中增加了五个新的模块:隐私过滤器,窗口/显示区域选择模块,用户窗口/显示区域选择信息存储模块,文件保护驱动器模块,文件访问控制模块。
1.隐私过滤器:这个模块根据用户选择的窗口和显示区域从抓取的屏幕图象中剪裁图象,并防止远程支持人员在该图象之外的区域的输入。这个模块还防止远程支持人员在口令对话框中的输入。
2.窗口/显示区域选择模块,让用户选择可以在远程支持人员的机器上显示的并且可以由远程支持人员控制的应用程序窗口,还可以让用户选择一个可以在远程支持人员的机器上显示的固定显示区域,并且只有完全在该区域中的窗口可以由远程支持人员控制。
3.用户窗口/显示区域选择信息存储模块,存储窗口/显示区域选择模块所产生的用户窗口/显示区域选择信息.
4.文件保护驱动器模块,是一个监视远程控制客户端的文件系统驱动器,如果客户机由远程支持人员控制,则驱动器将拒绝对被锁文件/目录的访问。
5.文件访问控制模块,提供锁住文件/目录、对文件/目录解锁和查看被锁文件/目录的用户接口。为了对一个文件解锁,将一个口令对话框提示给用户。由于远程支持人员不能在该对话框中输入口令,因此只有本地用户可以通过任何击键输入来对一个文件解锁。
在本地客户机将要由远程支持人员控制之前,本地用户将使用文件访问控制来锁住那些包含敏感的个人数据的文件/目录。当客户机由远程支持人员控制时,被锁文件/目录将是不可访问的。用户还可以选择可以由远程支持人员查看/控制的应用程序窗口或固定显示区域,远程支持人员只能看到被选定的应用程序窗口或显示区域。
本领域普通技术人员可以理解的是,上述模块既可以由计算机硬件实现,也可以由计算机软件实现。并且,在图1和图2中以箭头方式描述了一些操作流程,可以理解,这些操作流程都可以由特定的装置来实现,虽然这些装置并未在图中示出。例如,发送命令到本地客户机的操作可以由发送装置实现,抓取屏幕图象的操作可以由屏幕图象抓取装置实现,接受消息的操作由接收装置实现,发送消息的操作由发送装置实现,对受保护的文件/目录的设定由受保护文件/目录设定装置实现,等等。
下面将结合具体实施例描述本发明。
图3显示了实现本发明的远程控制隐私保护方法的一个实施例的流程图。这里的实施例显示了对于屏幕上的窗口/显示区域的保护。
首先,在步骤310,本地用户选择激活的窗口或者选择一个固定的显示区域,作为可以由远程支持人员在远程看到的窗口/显示区域,并在步骤320将用户窗口/显示区域选择信息存储在用户窗口/显示区域选择信息存储模块的数据表中。在远程控制开始后,在步骤330,远程控制客户端抓取本地客户机屏幕的图象。在步骤340,隐私过滤器读取用户窗口/显示区域选择信息,并根据该信息对屏幕图象进行剪裁。在步骤350,本地客户机将剪裁后的屏幕图象发送给远程支持人员操作的机器上的远程控制控制端。远程支持人员根据看到的屏幕图象进行鼠标和键盘操作,并由远程控制控制端将关于这些操作的消息发送回本地客户机。在步骤360,本地客户机接收来自远程控制控制端的消息。在步骤370,隐私过滤器根据用户窗口/显示区域选择信息对来自远程控制控制端的消息进行取舍,防止在所选择的窗口/显示区域之外的区域输入。最后,在步骤380,远程控制客户端模拟消息向本地客户机发出适当的动作以影响本地客户机。
在本地用户选定了可以由远程支持人员在远程查看的应用程序的窗口之后,远程支持人员在远程计算机屏幕上看到的窗口的大小随着该应用程序在本地客户机屏幕上的实际窗口的大小而变化。举例来说,如果允许远程支持人员访问的应用程序是本地客户机上的“控制面板”窗口,则将控制面板在屏幕上的实际窗口选择为远程支持人员可以看到的窗口。而如果控制面板中的“用户帐户”窗口是不希望被远程支持人员看到的,则在所显示的“控制面板”窗口中剪裁掉“用户帐户”窗口,远程支持人员则不能从屏幕上看到“用户帐户”窗口,也不能对“用户帐户”窗口进行操作。
在Windows环境下,可以设置系统消息的钩子(hook).Windows界面的所有变化(包括窗口的出现、关闭、移动,图形文本的绘制等)都是由一定的消息(例如wm_paint)来触发的.钩子可以在这些消息真正影响界面之前就截获这些消息,从这些消息的类型和附属的属性可以知道每一个消息将要触发界面什么样的变化.在本发明中,每次在应用程序在屏幕上的显示窗口发生变化时,都会发出一个关于显示窗口变化的消息,本发明在窗口变化时截获该消息,从该消息中得到允许控制的窗口的状况(例如大小、位置),即得到该应用程序在屏幕上的实际显示窗口,从而跟踪窗口变化,把这个窗口对应的位置的图形发给远程控制控制端.然而,本发明并不限于上述的采用系统消息钩子的方式来跟踪应用程序的窗口变化的技术,本领域技术人员可以采用其他任何可以跟踪应用程序的窗口变化的技术来实现对应用程序窗口的选择.
本发明同样可以将对窗口/显示区域的选择设定为是对屏幕上的固定显示区域的选择,即在设定了显示给远程支持人员的固定显示区域之后,远程支持人员只能看到在该显示区域内的内容,并且只有完全在该显示区域中的窗口可以由远程支持人员控制。也就是说,如果一个应用程序的窗口的一部分在该显示区域之内,而另一部分在该显示区域之外,则只有在显示区域之内的那部分窗口内容能够被远程支持人员看到,并且远程支持人员不能控制在该窗口内的操作。
对于窗口的设定和对显示区域的设定可以结合使用。
本发明还可以防止远程支持人员对于受口令保护的应用程序的访问。对于不希望由远程支持人员访问的应用程序,可以对该应用程序加上口令保护,只有输入了正确的口令之后才能进入该应用程序。对于受口令保护的应用程序的保护,是通过对口令对话框的保护来实现的。该系统能够识别标准的口令对话框,并加以保护,这样,只有在本地的操作人员才能够在该对话框里面输入口令信息,而远程支持人员则无法输入口令信息。
每当远程支持人员希望访问该受口令保护的应用程序时,在本地客户机上弹出一个口令对话框,该口令对话框具有一个特定属性,本地客户机在检测到口令对话框的该特定属性之后,即将该口令对话框设定为受保护的窗口,从而使远程支持人员不能在该口令对话框内输入口令。另外,也可以将该口令对话框从屏幕图象中剪裁出去,使远程支持人员看不到口令对话框,从而不能在口令对话框内进行操作。
图4显示了实现本发明的远程控制隐私保护方法的另一个实施例的流程图。这里实施例显示了对于文件/目录的保护。
首先,在步骤410,本地用户将要保护的文件/目录添加到保护文件列表中。在步骤420开始远程控制,隐私过滤器将远程控制开始的消息通知文件访问控制模块。在步骤430,文件访问控制模块设定文件列表中的受保护的文件/目录不可访问,即设定为锁定状态,无论是本地还是远程用户都不能访问这些文件/目录。在步骤440,当本地用户或者远程支持人员试图访问这些文件/目录时,文件保护驱动模块则禁止访问。在步骤450,当本地用户或者远程支持人员希望对这些文件/目录解锁时,则在受保护文件列表里选择解锁命令,本地客户机屏幕上弹出一个口令对话框,需要在口令对话框内输入口令(可以将口令设定为在口令对话框内的任意输入将解除锁定)。在步骤460,本地客户机丢弃来自远程控制控制端的在这个口令对话框内的任何输入,从而防止远程支持人员在该口令对话框内进行操作。在步骤470,本地用户可以向口令对话框输入信息,对文件/目录解锁。在步骤480则可以正常访问这些文件/目录。
为了禁止远程支持人员在该口令对话框内进行操作,可以使远程支持人员看不到口令对话框,从而不能在该口令对话框内输入命令,也可以使得远程支持人员能够看到口令对话框,但其在口令对话框内的输入通过隐私过滤器被禁止。具体地,首先捕获带有口令对话框的屏幕映象,如果不希望远程支持人员看到这个口令对话框,则由隐私过滤器从屏幕映象中剪裁该口令对话框后,将图象发送给远程支持人员,由于远程支持人员看不到该口令对话框,因此无法在口令对话框内输入口令,从而无法对文件/目录进行解锁。或者,可以将带有口令对话框的屏幕图象直接发送给远程支持人员,但在隐私过滤器中禁止远程支持人员在口令对话框内的操作,因此远程支持人员也不能在口令对话框内输入口令,从而无法对文件/目录解锁。
虽然这里用优选实施例描述了本发明,显然这些实施例仅仅是为了说明本发明,并不能限制本发明的保护范围。在不偏离本发明的精神的情况下,本技术领域的技术人员能够采用其他形式来实现本发明,本发明的范围仅由权利要求书来限定。