提供安全数据传送的系统和方法 版权和法律声明
本专利文档的部分说明书包含受版权保护的材料。如果出现在专利商标局的专利文件或者档案中,版权所有者不反对传真复制专利文档或专利说明书,但在其他方面保留其版权。
背景技术
本发明通常涉及这样一种系统和方法,用于切换通信路径,以匹配期望的通信模式,具体而言,涉及基于是请求了安全还是非安全通信来提供安全或非安全通信路径。
【发明内容】
根据本发明的一个实施例,提供一种传递数据的方法。这种方法包括:从一个或多个输入设备接收数据;如果从第一计算机收到已经选择第一通信模式的第一指示,就将所述数据传送给所述第一计算机。如果从所述第一计算机收到已经选择第二通信模式的第二指示,就将所述数据传送给第二计算机。
根据本发明的另一个实施例,所述第一计算机响应用户激活所述第一计算机处的第一应用程序发送所述第一指示;所述第一计算机响应所述用户激活所述第一计算机处的第二应用程序发送所述第二指示。
根据本发明的另一个实施例,如果从所述第一计算机收到所述第二指示,就从所述第二计算机接收对所传送的数据的应答。如果从所述第一计算机收到所述第二指示,就将收到的应答传送给所述第一计算机。
根据本发明的另一个实施例,传送所述数据给第二计算机包括利用所述第一计算机的网络接口将所述数据传送给第二计算机;以及接收应答包括利用所述第一计算机的所述网络接口从所述第二计算机接收对所传送的输入数据的应答。
根据本发明的另一个实施例,传送所述输入数据给第二计算机包括:对所述数据进行加密;并且将所述已加密数据传送给所述第二计算机。
根据本发明的另一个实施例,从所述第二计算机收到的所述应答被加密。传送收到的所述应答给所述第一计算机包括:对收到的所述应答进行解密;并且将已经解密的收到的所述应答传送给所述第一计算机。
根据本发明的另一个实施例,一种传递数据的系统,至少包括经过编程用于执行以下步骤的第一计算机:从一个或多个输入设备接收数据;如果从第二计算机收到已经选择第一通信模式的第一指示,就将所述数据传送给所述第二计算机。如果从所述第二计算机收到已经选择第二通信模式的第二指示,就将所述数据传送给第三计算机。
根据本发明的另一个实施例,所述第二计算机响应用户激活所述第二计算机处的第一应用程序发送所述第一指示;以及所述第二计算机响应所述用户激活所述第二计算机处的第二应用程序发送所述第二指示。
根据本发明的另一个实施例,所述第一计算机经过编程用于执行以下步骤:如果从所述第二计算机收到所述第二指示,就从所述第三计算机接收对传送的所述数据的应答。如果从所述第二计算机收到所述第二指示,就将收到的应答传送给所述第二计算机。
根据本发明的另一个实施例,所述第一计算机经过编程用于执行以下步骤:利用所述第二计算机的网络接口将所述数据传送给所述第三计算机。利用所述第二计算机的所述网络接口从所述第三计算机接收所传送的数据。
根据本发明的另一个实施例,所述第一计算机经过编程使得传送所述数据给第三计算机包括:对所述数据进行加密;并且将所述已加密数据传送给所述第三计算机。
根据本发明的另一个实施例,从所述第三计算机收到的所述应答被加密,并且所述第一计算机经过编程使得传送收到的所述应答给所述第二计算机包括:对收到的所述应答进行解密;并且将已经解密的收到的所述应答传送给所述第二计算机。
根据本发明的另一个实施例,提供一种利用加密设备在通信网络上提供数据通信的方法。该方法包括:基于鉴别用户的所述加密设备对第一数据进行加密,其中将已加密第一数据从所述加密设备发送到与第一计算机相联系的接口,用于传送给第二计算机。在所述第二计算机处对所述已加密第一数据进行解密,根据所述已解密第一数据产生已加密第二数据。将产生的所述已加密第二数据发送到与所述第一计算机相联系的所述接口,用于传送给所述加密设备;并且在所述加密设备处对通过与所述第一计算机相联系的所述接口收到的被发送的所述已加密第二数据进行解密。所述第一计算机基于所述已解密第二数据进行操作。
根据本发明的另一个实施例,鉴别所述用户包括运行应用程序开始鉴别过程。
根据本发明地另一个实施例,所述鉴别过程包括运行的所述应用程序提供所述加密设备和所述第一计算机之间的连接状态。
根据本发明的另一个实施例,所述鉴别过程包括在收到所述应用程序产生的提示时扫描和检测与所述用户相联系的指纹图案。
根据本发明的另一个实施例,所述已解密第二数据包括响应所述第二计算机设备处理的所述第一数据所产生的显示数据。
根据本发明的另一个实施例,所述接口包括通用串行总线(USB)接口和网络接口。
根据本发明的另一个实施例,所述第一数据是由键盘设备、鼠标设备和/或外围设备产生的。
根据本发明的另一个实施例,提供一种利用耦合到第一计算机的加密设备在通信网络上在所述第一和第二计算机之间提供数据通信的方法。该方法包括:基于与所述数据通信相联系的活动的应用程序在所述加密设备处对第一数据进行加密,其中将已加密第一数据从所述加密设备发送到与所述第一计算机相联系的接口,用于传送给所述第二计算机。在所述第二计算机处对所述已加密第一数据进行解密,根据所述已解密第一数据产生已加密第二数据;将产生的所述已加密第二数据发送到与所述第一计算机相联系的所述接口,用于传送给所述加密设备。在所述加密设备处对通过与所述第一计算机相联系的所述接口收到的被发送的所述已加密第二数据进行解密;其中所述加密设备提供所述已解密第二数据给所述第一计算机供所述第一计算机处置。
根据本发明的另一个实施例,所述第一数据是由键盘设备、鼠标设备和/或外围设备产生的。
根据本发明的另一个实施例,所述应用程序驻留在所述第一计算机上,并且与驻留在所述第二计算机上的第二应用程序通信。所述第二应用程序产生所述第二数据,所述第一计算机上的所述应用程序显示所述已解密第二数据。
根据本发明的另一个实施例,所述应用程序驻留在所述加密设备上,并且与第二应用程序通信,其中所述第二应用程序产生所述第二数据,所述加密设备处的所述应用程序显示所述已解密第二数据。
根据本发明的另一个实施例,其中通信网络包括因特网。
根据本发明的另一个实施例,对第一数据加密包括基于与所述应用程序相联系的焦点窗在所述加密设备处对第一数据进行加密。
根据本发明的另一个实施例,提供一种在通信网络上在第一和第二计算机之间产生安全数据传送的安全系统。该系统包括:切换设备,用于从一个或多个输入设备接收第一数据;加密设备,用于从所述切换设备接收路由过来的所述第一数据,用于基于与所述安全数据传送相联系的活动的应用程序,对收到的所述第一数据进行加密;与所述第一计算机相联系的接口用于接收已加密的所述第一数据,用于在所述通信网络上传送给所述第二计算机,其中所述第二计算机接收所述已加密第一数据并产生已加密第二数据;以及与所述第一计算机相联系的显示器设备。在所述第二计算机处产生的所述已加密第二数据由所述接口从所述通信网络收到,并发送给所述切换设备进行路由,其中所述切换设备将所述已加密第二数据路由给所述加密设备,用于对所述已加密第二数据进行解密。所述切换设备将所述已解密第二数据从所述加密设备路由给所述第一计算机,用于在所述显示器设备上显示。
根据本发明的另一个实施例,接口包括网络接口。
根据本发明的另一个实施例,生物统计学鉴别设备与所述应用程序通信,所述应用程序提醒用户进行鉴别处理。所述加密设备在对所述输入数据进行加密之前对所述用户进行鉴别。
根据本发明的另一个实施例,生物学鉴别设备包括指纹扫描仪。
根据本发明的另一个实施例,所述切换设备包括USB控制器,用于在所述一个或多个输入设备、所述第一计算机和所述加密设备之间提供数据切换。
根据本发明的另一个实施例,一种给应用程序提供安全性的方法,该应用程序与服务器计算机通信,该服务器计算机与客户机计算机一起工作,从输入设备接收输入,并且在显示器设备上显示信息,该显示器设备与所述客户机计算机一起工作。该方法包括:对数据进行加密,所述数据与所述应用程序相关,通过所述输入设备输入,而不提供未经加密的输入数据给所述客户机计算机。在网络上传送所述已加密数据给所述服务器计算机;对传送给所述服务器计算机的所述已加密数据进行解密。所述服务器计算机对所述已解密数据进行操作,并提供数据用于在所述客户机计算机上显示。传送所述服务器计算机提供的所述数据用于在所述客户机计算机的所述显示器设备上显示;在所述显示器设备上显示所述服务器计算机提供的传送的数据。
根据本发明的另一个实施例,在将所述服务器计算机提供的数据传送给所述客户机计算机之前对这样的数据进行加密,在传送以后显示之前进行解密。在所述客户机计算机的显示器设备上显示所述已解密数据。
根据本发明的另一个实施例,传送给所述客户机计算机的已加密数据是独立于所述客户机计算机加以解密的,将这种已解密数据提供给所述客户机计算机在所述显示器设备上显示。
根据本发明的另一个实施例,输入设备包括键盘和/或指点设备。
根据本发明的另一个实施例,提供一种用于客户机计算机的方法,该客户机计算机与多个应用程序交互,并且给所述多个应用程序中的至少一个应用程序提供安全性,该至少一个应用程序与服务器计算机通信,该服务器计算机从与所述客户机计算机一起工作的输入设备接收输入。该方法包括:如果所述客户机计算机处的所述至少一个应用程序包括焦点窗:对数据进行加密,所述数据与所述至少一个应用程序相关,通过所述输入设备输入,而不提供未经加密的输入数据给所述客户机计算机。在网络上传送所述已加密数据给所述服务器计算机;对传送给所述服务器计算机的所述已加密数据进行解密。所述服务器计算机对所述已解密数据进行操作,并提供数据用于供所述客户机计算机进行操作。传送提供的所述数据给所述客户机计算机;以及所述客户机计算机对提供的数据进行操作。如果所述客户机计算机处的所述至少一个应用程序包括焦点窗:提供通过所述输入设备输入的数据给所述客户机计算机而不加密供所述客户机计算机处置。
根据本发明的另一个实施例,在与所述输入设备和所述客户机计算机耦合的设备中对与选择的应用程序相关的数据加密。
根据本发明的另一个实施例,当与所述至少一个活动应用程序相联系的所述窗处于焦点时,耦合所述键盘的输出到所述设备的输出,该设备耦合到所述客户机计算机,用于与所述至少一个活动应用程序操作。
根据本发明的另一个实施例,当与至少一个活动应用程序相联系的所述窗处于焦点时,自动耦合所述键盘的所述输出到所述设备的所述输出,所述设备耦合到所述客户机计算机。
【附图说明】
本发明被例示于附图的图形中,其仅意味着示范而不是限制,并且其中相同的参考标记是指相同或对应的部件。
图1是举例说明根据本发明实施例的数据通信系统的框图;
图2是举例说明根据本发明实施例的包括切换系统的数据通信系统的框图;
图3是举例说明根据本发明实施例的数据通信系统的安全传送路径的示意图;
图4A-4B是举例说明根据本发明实施例的在安全操作模式下操作切换系统的流程图;
图5、6、7和8是举例说明了根据本发明实施例的一种方法的流程图,通过该方法数据通信系统可基于应用程序窗口聚焦来操作安全模式应用程序和切换系统;
图9是举例说明根据本发明实施例的切换系统的组件的框图;
图10是根据本发明实施例的USB控制器设备的框图;以及
图11A和11B是举例说明根据本发明实施例的合并有切换系统的替换实施例的系统框图。
【具体实施方式】
图1举例说明了根据本发明实施例的数据通信系统10。数据通信系统10包括用户计算机12、要访问的计算机18(也称为“被访问计算机”)、网络20和切换系统22。
用户计算机12可以包括可由用户操作的任何计算机。在本发明的实施例中,用户计算机12还能够接收来自其他计算机的数据并根据来自其他计算机的数据采取动作。例如,用户计算机12可以包括PC机、工作站或PDA,他们能够接收和显示从服务器中所接收的数据。与用户计算机12相关联的是用于向用户提供输出的一个或多个输出设备14,例如显示设备或打印机。同样地,一个或多个数据输入设备16,例如鼠标和/或键盘,可以通过切换系统22与用户计算机12进行通信。
在本发明的一个实施例中,用户计算机12还包括向切换系统22指示期望多个通信模式中之一的功能。每种通信模式可以由例如不同的通信目的地(诸如通信接收端的不同计算机)来表征。例如,其中用户计算机12能够同时运行一个以上的应用程序,用户计算机12根据第一、第二或第三组应用程序中的一个应用程序是否是激活的来向切换系统22提供用于表示第一、第二或第三通信模式是所期望的通信模式的指示。例如,激活的应用程序包括正聚焦的应用程序窗口。
被访问计算机18包括可与其他计算机进行通信的任何计算机。例如,被访问计算机18包括能够通过网络与客户机进行通信的计算机服务器。如果需要,被访问计算机18可以使用安全方式(例如加密和解密)与其他计算机进行通信。
被访问计算机18可以通过网络20与切换系统22进行通信。此处使用的网络广泛包括任何通信路径,经由所述通信路径计算机系统可与包括但不限于下列中的一个或多个网络进行通信:私人的、专用电信线路、有线或无线的LAN和WAN以及因特网。
此外,切换系统22与被访问计算机18进行通信所经由的网络包括用户计算机12。例如,如图2所示和如以下的进一步描述,切换系统22可经由用户计算机12和网络与被访问计算机18进行通信,所述网络提供了用户计算机12和被访问计算机18之间的通信路径,例如网络24。此处广泛使用的通信路径是指物理通信路径、逻辑通信路径或者其组合。
切换系统22提供了输入设备16与用户计算机12之间和输入设备16与被访问计算机18之间的通信路径(经由网络20)。(a)基于期望多种通信模式中哪一种模式的指示,切换系统22的作用在于在这些通信路径之间动态地切换输入设备16,以及(b)把数据从输入设备16传送给位于激活的通信路径的接收端处的计算机系统。
如上所述,切换系统22从用户计算机12接收用于表示期望多个通信模式中哪一种模式的指示。例如,用户计算机12基于从第一组应用程序中激活的应用程序而向切换系统22发送用于表示期望第一通信模式的指示,当收到这个指示时,切换系统22使输入设备16与用户计算机12之间的通信路径被激活。其中用户计算机12基于从第二组应用程序中激活的应用程序而向切换系统22发送用于表示期望第二通信模式的指示,当收到这个指示时,切换系统22使输入设备16与被访问计算机18之间的通信路径被激活。
根据本发明的一个实施例,在激活输入设备16和被访问计算机18之间的通信路径的通信模式下,切换系统22还被用作从被访问计算机18中接收数据并且把所接收的数据馈送给用户计算机12。例如,在其中用户计算机12基于从第二组应用程序中激活的应用程序而发送第二通信模式的指示的上述示例之后,切换系统22把数据从输入设备16传送到被访问计算机18,所述被访问计算机18对数据进行处理并且向切换系统22发回应答。切换系统22之后可以向用户计算机12发送该应答,例如发送给第二组应用程序中激活的应用程序,以便操作,例如显示给用户。
如果期望,切换系统22可以在安全模式(例如利用加密和解密)下与其他计算机系统进行通信。因而,在上述示例中,切换系统22可以在把来自输入设备16的数据通过网络20发送给被访问计算机18之前,对来自输入设备16的数据进行加密。被访问计算机18然后对数据进行解密、处理,并把加密应答传送回切换系统22。然后切换系统22可在向用户计算机12发送这个应答之前解密该应答。
切换系统22可以包括能够实现上述功能的任何计算机系统。这些功能可以通过硬件、软件或者其组合实现。下面来进一步描述切换系统22不同实施例的示例以及可执行上述功能的组件。
尽管图1和2仅显示了一个被访问计算机18,但是任意数量的这种系统均可包含在本发明之内,其中切换系统22以上述类似的方式在通信路径之间把输入设备16动态地切换到每条通信路径。例如,五种通信模式可以分别对应于输入设备16与五个不同的通信目的地之间的通信路径,例如用户计算机12和四个不同的被访问计算机。
此处使用的计算机是广泛指计算机硬件和软件或者仅指计算机软件。例如,上述四个被访问计算机可以全部是共同驻留于相同硬件平台上的单独的服务器应用程序。
如上所述的本发明的实施例在其中用户希望访问一台计算机(例如被访问计算机18),但是该用户的计算机(例如用户计算机12)是一台不可靠的计算机的情况下是有益的。例如,用户的计算机对于外部攻击(例如来自病毒的)而言容易损坏,其中输入到计算机的数据(例如击键)可能被监控并被传送到第三方。在这种情况下,根据如上所述的本发明的实施例,当用户试图通过例如用户计算机12上的相应客户机应用程序来访问被访问计算机18时,切换系统22可以把数据从输入设备16引导到被访问计算机18处以供处理,并且把从被访问计算机18中接收的应答发送给用户计算机12上的客户机应用程序以供操作,例如显示给用户。因此,在这种情况下,要由用户输入到被访问计算机的数据不通过用户的计算机来发送,并且不容易受到如上所述的攻击。
如上所述,被访问计算机18通过安全方式(例如采用加密和解密)与其他计算机进行通信。例如,被访问计算机18和用户计算机12可采用传送层安全(TLS)协议来安全地通信。
图3举例说明了一种根据本发明实施例的,用以提供安全通信的数据通信系统。安全的数据通信系统100包括如前所述的切换系统102。如图3的实施例所示,切换系统102包括数据切换设备104和加密设备106。安全通信系统100还包括如上所述的用户计算机108和被访问计算机110。如图3所示,用户计算机108经由网络112与被访问计算机110进行通信。在图3的实施例中,显示设备114与用户计算机108以及例如鼠标116和/或键盘118之类的一个或多个数据输入设备相关联。根据图3的实施例,被访问计算机110包括一个或多个服务器计算机。
另外,可以利用提供输入数据的其他设备。例如,除键盘116和鼠标118之外,或者代替键盘116和鼠标118,可以使用触摸屏显示设备、声音识别系统和/或能够提供输入数据的其他外设来输入数据。
系统100的各种组件之间的数据通信被指定为沿着通信路径P1、P2、P3、P4和P5来进行,其中每一个通信路径包括如前所述的物理或逻辑通信路径或者其组合。每个路径可以采用不同的通信介质,例如光纤介质,无线装置(例如射频和红外)或者基于电缆的数据传送介质。
根据图3的实施例,路径P2是包括至少两个逻辑通信路径(例如P2a和P2b)的物理通信路径。如以下的进一步描述,路径P2a在切换系统102和用户计算机108之间承载数据以便进行本地处理(例如,由用户计算机108上运行的程序)。如以下的进一步描述,路径P2b在切换系统102和用户计算机108之间承载数据以便传送给被访问计算机110或者从被访问计算机110中接收(例如,使用用户计算机108的网络接口以便在网络112上进行通信)。
从鼠标116和键盘118所接收的输入数据沿着路径P1被发送给数据切换设备104。切换设备104判断是否应沿着路径P3把数据切换给加密设备106。如果建立了安全模式通信会话,则经由路径P1和P3把输入数据发送给加密设备106。换句话说,如果不需要安全模式通信会话,则把沿着路径P1的输入数据沿着路径P2a切换给用户计算机108以便进行本地处理(例如由用户计算机108上运行的程序)。
由用户计算机108产生的显示信息被显示在显示设备114上。该显示信息可以作为用户计算机108上运行的程序的结果或者作为由用户计算机108通过网络112从被访问计算机110中接收的数据信息的结果而产生。
数据可以在用户计算机108和被访问计算机110之间被发送与接收。例如,可以沿着路径P1和P3把已加密输入数据发送给加密设备106。在加密之后,通过路径P3和P2b把已加密数据发送给用户计算机108,其中经由用户计算机108(未示出)的网络接口沿着路径P4和P5把已加密数据发送给被访问计算机110。不由用户计算机108对已加密数据进行本地处理是一种安全的运行方式。相反,将其发送给被访问计算机110来处理,由此被访问计算机110可以仅在解密的基础上对该加密数据进行处理。
换句话说,例如可以通过路径P1和P2a把未加密输入数据发送给用户计算机108来进行本地处理。继用户计算机108对未加密输入数据进行处理之后,未加密数据可以由用户计算机108上运行的程序来产生,并且通过用户计算机108的网络接口沿着路径P4和P5而发送给被访问计算机110。同样,在用户计算机108处本地处理的未加密输入数据可以被显示在显示设备114上。输入数据由计算机108直接进行处理是一种非安全的运行方式。
基于通过网络112进行安全数据传送的用户需求和需要,由被访问计算机110产生的数据可以被加密或者不被加密。例如,要给用户计算机108上运行的程序的,从被访问计算机110中收到的未加密数据,可以由用户计算机108借助于作为数据传送目标的程序来进行本地处理。然后把从被访问计算机110中收到的,且由用户计算机108来进行本地处理的该未加密数据在显示设备114上显示给用户。换句话说,例如,由被访问计算机110产生的,以便由用户计算机108作最后处理的已加密数据可以通过路径P5和P4而被发送给用户计算机108。将已加密数据传送给切换系统102。从而,当由用户计算机108的网络接口接收已加密数据时,沿着路径P26把已加密数据传送给切换系统102和切换设备104。在切换设备104,已加密数据被接收并且通过路径P3被发送给加密设备106,在加密设备中对已加密数据进行解密。继解密处理之后,通过路径P3把已解密数据发送给切换设备104,在切换设备104处通过路径P2a把已解密数据发送给用户计算机108。然后为了在显示器114上进行显示的目的而在用户计算机108处对已解密数据进行本地处理。
图4A和4B举例说明了根据本发明实施例的加密操作模式的操作流程图。结合图3所示的安全数据通信系统100对这些流程图进行描述。在步骤202处,加密设备106经由连接器、无线链路或者其他适当的耦合/通信模式(未显示)而连接到切换设备104以组成切换系统102。如果加密设备106和切换设备104被预先集成在单个单元之内,也可以不需要上述连接。切换系统102可以通过通用串行总线(USB)连接和/或其它连接介质和协议而连接于用户计算机108与输入装置116和118之间。例如,如同通信路径P1所指示的,来自鼠标116和键盘118的输入数据可通过USB连接而被连接到切换系统102。类似地,如同通信路径P2所指示的,切换系统102与用户计算机108之间的连接同样可以通过USB连接发生。如果加密设备106是附接于切换设备104上的可拆卸设备,那么它可以结合若干个连接器以建立连接性。一旦被附接上,加密设备106就通过通信路径P3在切换设备104之间交换数据。
在步骤204处,一旦切换系统102连接在输入装置116和118与用户计算机108(步骤202)之间,用户就可以启动用户计算机108上的应用程序以便在用户计算机108的用户与被访问计算机110之间提供安全数据通信。一旦启动了应用程序(步骤204),在步骤206,该应用程序就与切换设备104和加密设备106进行通信以便发起如下所进一步描述的鉴别处理。在鉴别用户时,鉴别处理经由切换系统102在用户计算机108与被访问计算机110之间开始安全已加密数据通信会话。
在步骤206,用户计算机108上运行的应用程序确定切换系统102是否被连接到用户计算机108。如果切换系统102被连接到用户计算机108上,则在步骤208应用程序提示用户(例如,在显示设备114上)使用切换系统102来执行鉴别处理。切换系统102包括用于提示用户发起鉴别处理的显示设备。例如,除了应用程序(用户计算机108上)经由显示设备114提示用户之外,切换系统102可以结合一个显示设备,提示用户将食指放在与切换系统102进行通信或者并入到切换系统102之内的指纹检测板上。然后切换系统基于所扫描的指纹来确定用户是否是授权用户。鉴别处理在步骤209a、209b和209c中举例说明。一旦检测到指纹(步骤209a),就在步骤209b中将它与所存储的参考指纹进行比较,所述参考指纹与切换系统102的指定用户(例如,授权使用该设备的用户)有关。如果扫描的指纹和参考指纹相匹配,则切换系统102鉴别用户(步骤209c)。如果在步骤210确定了该用户已经被成功地鉴别(例如指纹检测),则在步骤212,切换系统102与用户计算机108上运行的应用程序进行通信并且通知该应用程序已经鉴别了该用户。如果在步骤210确定了该用户没有被鉴别,如同步骤208和209所示,用户计算机108上运行的应用程序将继续提示该用户使用切换系统102继续进行鉴别处理。
除如上所述的生物统计学装置外或者作为该装置的替代,也可以把其他鉴别装置引入到切换系统102中。例如,在切换系统102内,可以使用密码保护和/或个人识别码(PIN)代码项功能。
一旦用户计算机108上运行的应用程序收到由切换系统102做出的关于已经鉴别了用户的确认,则在步骤214应用程序向切换系统102传送安全数据传送的请求。
切换系统102收到了请求后,如图4B所示在步骤216中,在切换系统102处,从鼠标116和键盘118所接收的输入数据然后经由切换设备104及通信路径P1和P3被路由给加密设备106以便进行加密。通过这种方法,当采用安全通信会话时,输入数据被限制成不加密就不能到达用户计算机108。
在步骤220中,切换系统102经由通用串行总线(USB)连接器把已加密数据发送给用户计算机108以便馈送给被访问计算机110。例如,加密设备106根据由用户计算机108和被访问计算机110的网络接口(例如以太网)来识别的网络协议把已加密数据格式化为网络数据包并且将该网络数据包寻址给被访问计算机110。网络数据包然后由切换设备104沿着通信路径P3和P2b被路由给用户计算机108。尽管由USB建立了引入到切换系统102中的切换设备104与用户计算机108之间的连接,但是也可以利用其他物理连接器以及传输协议以便在切换系统102与用户计算机108之间耦合数据。
在步骤222中,用户计算机108上的USB连接接收网络数据包,以及由于不把该网络数据包寻址给用户计算机108,所以把网络数据包提供给用户计算机108的网络接口以便通过网络112传送给它的寻址目的地,例如被访问计算机110上运行的应用程序。
在步骤224,将作为网络数据寻址目的的被访问计算机110上运行的应用程序接收并处理包含在该数据包中的已加密输入数据。被访问计算机110上运行的应用程序与用户计算机108上运行的应用程序有关,借此被访问计算机110上运行的应用程序对从切换系统102所接收的已加密输入数据进行处理,用户计算机108上运行的应用程序从被访问计算机110中接收这个已处理数据并且对其进行操作(例如,显示它)。
一旦被访问计算机110收到了加密输入数据,被访问计算机110上的应用程序即可解密这个数据。输入数据包括在与远程网站相关的显示网页上选择一个选项的鼠标点击,所述远程网站是由被访问计算机110上的应用程序所运行的。该网页可以被本地访问并显示在与用户计算机108有关的显示设备114上。该输入数据还包括用于输入被访问网页的一个或多个字段的键盘数据。通常,来自外设的任何数据都可以构成输入数据,所述外设可以与网站或者被访问计算机110上运行的应用程序进行数据交换。
在步骤226中,被访问计算机110上运行的应用程序处理该已解密输入数据。基于输入数据,该应用程序产生响应数据以便由用户计算机108上运行的应用程序来使用。例如,如果已加密输入数据包括在与被访问计算机110上运行的网站有关的网页上的具体特征或选项上进行鼠标点击,被访问计算机110上的应用程序就通过产生与用户所选的选项有关的网页图形来处理鼠标点击。因而,被访问计算机110上的应用程序通过处理输入数据和产生与该输入数据有关的图形来响应该输入数据。这个响应数据(例如图形数据)被加密并且通过网络112发送至切换系统102(经由用户计算机108的网络接口),以便最后通过用户计算机108上运行的应用程序作显示处理。用户计算机108的网络接口收到已加密响应数据,由于将该数据寻址给切换系统102而不是用户计算机108,所以网络接口把数据传递给用户计算机108的USB端口和切换系统102,如通信路径P5、P4和P2b所示。
在步骤228,并入在切换系统102之内的切换设备104把已加密响应数据路由给加密设备106。在加密设备106处,已加密响应数据被解密并被送回切换设备104(路径P3)。切换设备104沿着路径P2把该已解密响应数据路由给用户计算机108的USB连接,或者,其中由用户计算机108上运行的应用程序对该已解密响应数据进行处理。然后该应用程序将已解密响应数据显示在显示设备114上(通信路径P6)。
图4A和4B的实施例中所示的各个步骤举例说明了在加密操作模式期间用户计算机108收到所产生的输入数据之前对所产生的输入数据进行加密。这是由通信路径P1、P3、P2a来示出的。因而,根据图3、4a和4b所示的实施例,用户计算机108不对这个已加密数据进行本地处理。将其通过通信网络发送到远程的安全站点(例如,被访问计算机110)以便进行处理。在被访问计算机110处,如通信路径P4和P5所示,对该数据进行解密和处理。一旦被处理,就产生响应数据,所述响应数据被加密并经由用户计算机108被发送回切换系统102。只有在由切换系统102解密后,响应数据才被发送给用户计算机108以便向用户显示。这就保证了从鉴别源发出响应数据,其中用户正在期待着来自该鉴别源的数据。用户计算机108仅处理该响应数据,及显示由另一计算机(例如被访问计算机110)所执行的处理的结果。这就提供了一种安全的双向链路,其中直接响应被安全传送的输入数据而在安全站点执行处理。
用户计算机108上运行的应用程序可以从被访问计算机110中被下载到用户计算机108上或者从切换系统102内的存储设备储存在用户计算机108上并执行。一旦下载,该应用程序就可以例如在用户计算机108上本地执行鉴别程序。换句话说,例如,由应用程序所执行的鉴别程序可以从被访问计算机110中进行访问,而不是从用户计算机108进行本地访问。根据另一实施例,用户计算机108上运行的应用程序可完全从加密设备106中被访问和运行。
图5到8是显示根据本发明的实施例在用户计算机108上运行的不同应用程序的效果的流程图,所述应用程序在安全操作模式下被激活。在图3所示实施例的辅助下来描述这些效果。在系统100的安全操作模式期间,用户计算机108上运行的应用程序在把已加密输入数据通过网络112传送至被访问计算机110之前开始鉴别处理。继鉴别之后,用户计算机108上运行的安全模式应用程序就成为显示设备114上的激活应用程序(例如,如与由激活窗口所表示的应用程序有关的窗口所示那样)。其后,基于用户计算机108的用户是否已经决定利用用户计算机108上运行的不同应用程序来进行工作,来使与该应用程序有关的窗口被聚焦或者不被聚焦(例如,显示为激活窗口)。图5是显示其中当用户计算机108上运行的安全模式应用程序不再是激活的应用程序时对本发明的数据通信系统进行操作的方法的流程图。例如,在安全模式应用程序已被激活并且用户已被鉴别之后,用户就可以切换到使用用户计算机108上运行的另一应用程序来进行工作。
在步骤300中,用户计算机108上运行的安全模式应用程序接收一个指示,即窗口聚焦已丢失。例如,该安全模式应用程序从用户计算机108上的操作系统中接收用于表示应用程序已丢失了窗口聚焦的通知。然后,在步骤310,用户计算机108上运行的安全模式应用程序向切换系统102发送表示已退出了安全模式的指示。因此,在步骤320,切换系统102允许输入数据不被加密即可从输入装置116和118通过通信路径P2a流向用户计算机108。
图6是显示其中当在用户计算机108上恢复安全模式应用程序时对本发明的数据通信系统进行操作的方法的流程图。例如,在安全模式应用程序被激活并且用户已被鉴别之后,用户就可以转而使用用户计算机108上运行的另一应用程序来进行工作,这使得安全模式应用程序丢失了窗口聚焦并且继续运行于后台。此后,用户计算机108的用户通过再次选择使用该安全模式应用程序并使其成为激活的应用程序而恢复该安全模式应用程序。
在步骤330中,用户计算机108上运行的安全模式应用程序接收用于表示已经获得了窗口聚焦的指示。例如,安全模式应用程序从用户计算机108的操作系统中接收用于表示该应用程序已获得了窗口聚焦的通知。然后,在步骤340,用户计算机108上运行的安全模式应用程序向切换系统102发送用于表示已经进入了安全模式的指示。因此,在步骤380,切换系统102把输入数据从输入装置116和118路由到加密设备106以便加密,然后把已加密输入数据经由通信路径P2b向上发送至用户计算机108以便通过通信路径P4和P4以及网络112传送到被访问计算机110。
图7的流程图显示了其中当在用户计算机108上恢复安全模式应用程序时对本发明的数据通信系统进行操作的另一种方法。与图6的步骤具有相同的参考标号的图7的步骤以与图6中如上所述的相同方式而被执行。在图7中,在安全模式应用程序收到用于表示它已经获得了窗口聚焦的指示(步骤330)并且通知切换系统102已经进入了安全模式(步骤340)之后,处理继续到步骤360,其中,在进入安全模式之前,切换系统102尝试再次鉴别该用户,例如,采用与结合图4A的步骤209a、209b和209c所在前描述的相同方式。在步骤370,切换系统102判断是否已经鉴别了用户。如果判断为否,则处理回到步骤360,其中要求用户再次鉴别他自己/她自己。如果判断为是,那么处理继续到步骤380,如以上结合图6所描述的那样。
图8的流程图例示了其中当在用户计算机108上恢复安全模式应用程序时对本发明的数据通信系统进行操作的另一种方法。具有与图6和7的步骤相同的参考标号的图8的步骤采用与以上结合这些附图所描述的相同方式来执行。在图8中,在安全模式应用程序收到用于表示它已经获得了窗口聚焦的指示(步骤330)并且通知切换系统102已经进入了安全模式(步骤340)之后,处理继续到步骤350,其中,在进入安全模式之前,切换系统102判断是否已经过去了预定的时间间隔。这个时间间隔可以在生产时被设定或者可由用户来配置。如果判断为否,那么处理继续到步骤380。如果判断为是,那么如以上结合图7的步骤360和370所描述的那样,切换系统102在进入安全模式之前尝试再次对用户进行鉴别。
图9是举例说明根据本发明的实施例的切换系统的组件的框图。切换系统400包括处理器402(例如,由Freescale Semiconductor,Inc.提供的MC9328MXL)、存储设备404(例如PSRAM和闪速存储器)、显示器406(例如,彩色OLED显示器)、指纹扫描仪408(例如,由Atmel提供的AT77C104B)、音频编码器/解码器410(例如,由VLSI SolutionOy提供的VS1002D)、外部连接器412以及USB控制器设备414(例如,由Cypress Semiconductor Corp.提供的CYC67200)。如以下所进一步讨论的那样,处理器402基于存储在存储设备404上的程序来执行如上所述的切换系统的功能(例如,切换、加密以及解密)。如以下所进一步讨论的那样,处理器402还与切换系统400的其他组件的行动相协作。同样存储在存储设备404上的控制程序(称为切换系统控制程序或者SSCP)控制处理器402的行动,如以下所进一步讨论的那样。
处理器402包括USB设备模块组合,所述USB设备模块组合用于使处理器402起到能实现多种不同功能的USB设备的作用。每个这种功能都属于标准USB设备类。例如,如以下所进一步描述的那样,一旦处理器402连接到USB主机上,USB设备模块就使处理器402能够被识别为(例如,被USB主机)并且被用作USB大容量存储器和USB通信设备(例如,以太网仿真设备)。
显示器406向切换系统的用户提供显示器以便接收各种提示。例如,显示器406提示用户将他们的食指放在指纹扫描仪408上(例如,“将食指放在扫描板上”)。显示器406还可以向用户提供与他和用户计算机之间的连接的建立有关的状态信息(例如“检测到连接失败”)。
存储设备404为切换系统400提供了存储器。如上所述,存储设备404存储由处理器402执行的程序。存储设备404还存储扫描到的指纹数据、各种加密/解密程序数据、数据缓存、控制程序数据及其他数据。
指纹扫描仪408包括指纹检测板和用于产生与用户指纹有关的数据(例如,如存储在存储设备404中那样)的扫描仪。在鉴别期间,将扫描的指纹与用户指纹的鉴别副本相比较。当鉴别副本与用户指纹的扫描副本相同或相关联时,认为完成了鉴别。
音频编码器/解码器410向用户提供多个音频相关选项。例如,从外部连接器412所接收到的声音数据可以由设备410进行数字化并且编码为声音数据文件。声音数据被存储在存储器404中并在通信网络上被传送至另一计算机。继在设备410中的编码处理之后还将其直接传送给远程位置。还利用编码器/解码器410来处理所存储的(例如存储器404)或所下载的声音文件(例如,MP3音乐文件)以便进行播放。
外部连接器412包括USB插槽、麦克风输入插座和/或音频输出端(例如,耳机插槽)。例如,把存储器404中所存储的已解码音频音乐文件输出到耳机插座。
USB控制器设备414用作USB集线器将处理器402和一个或多个输入产生设备(例如鼠标和键盘)连接到用户计算机108(图1)。图10显示了控制器设备414的详细情况。
控制器设备414包括具有相应串行接口引擎(SIE)431的第一USB端口430、具有相应SIE 433的第二USB端口432、通用I/O(GPIO)接口436以及处理器438。USB端口430在控制器414和用户计算机108之间提供连接性。同样地,USB端口432将输入装置116和118(例如鼠标和键盘)连接至控制器设备414。处理器402通过GPIO接口436与控制器设备414通信。处理器402通过GPIO接口436向控制器414发送和从控制器414接收数据(例如输入数据、控制数据和应用数据)。
通过回头参考上述图4A到6,并且在切换系统400的环境中详细描述其流程图来进一步描述切换系统400。参考图4A,在步骤202,切换系统连接到用户计算机和输入设备。一旦连接,用户计算机108(在该实施例中包括USB主机系统)将切换系统400识别为USB集线器,组合USB设备(如上所述,包括USB大容量存储器功能和USB以太网仿真设备功能)附接于USB集线器上。用户计算机108同样将输入设备116和118识别为附接于集线器的USB输入设备。一旦连接了切换系统400,就在处理器402处初始化切换系统控制程序(SSCP)。
此外,一旦连接了切换系统400,就建立了多个逻辑通信信道,例如对应于每个USB设备的一条或多条USB管线。在切换系统400的环境中,如上所述的逻辑通信路径P2a和P2b分别对应于与人机界面设备(HID)类设备(例如,输入装置116和118)有关的全部信道以及对应于与以太网仿真设备功能有关的信道。
在首次连接时,切换系统400在非安全模式下运行。在这种模式下,USB控制器的处理器438命令SIE 433将其从I/O端口432所接收的数据(例如,从连接到I/O端口432的输入装置116和118中所接收的输入数据)发送至SIE 431,SIE 431把该数据经由I/O端口430发送给用户计算机108的USB主机系统。
在步骤204,用户计算机108上执行的安全模式应用程序被启动。如上所述,可将这个应用程序存储在切换系统400的存储设备404中。同样地,把应用程序提交(例如,由用户计算机108的操作系统的文件系统)给用户作为存储在USB大容量存储设备中的可执行文件。然后用户计算机108处的用户采用与用户计算机108的操作系统有关的传统方式启动应用程序(例如,双击代表与该应用程序相对应的文件的图标)。
在步骤206,用户计算机上运行的安全模式应用程序判断是否连接了切换系统。这是由安全模式应用程序经由集成在切换设备104(图3)中的USB控制器来提出关于切换系统102(图3)的提交的询问而实现的。在与切换系统102(图3)有关的连接和鉴别处理期间,应用程序与远程系统110(图3)进行通信。
在用户计算机上运行的安全模式应用程序提示用户使用切换系统来鉴别他们自己(步骤208)之后,切换系统尝试根据步骤209a、209b以及209c来鉴别用户。这是由切换系统控制程序来实现的,所述切换系统控制程序启动存储于存储设备404的鉴别程序以便使处理器402按照前述方式来执行步骤209a、209b以及209c,其中处理器402利用显示器406来提示用户并且利用指纹扫描仪408获得来自用户的指纹数据。
在步骤212,切换系统通知用户计算机上运行的安全模式应用程序已经鉴别了用户。这是通过切换系统控制程序向用户计算机108上运行的安全模式应用程序发送指示来实现的。
在步骤214,用户计算机上运行的安全模式应用程序请求开始安全模式。这是通过用户计算机108上运行的安全模式应用程序经USB(即链路P2)向切换系统控制程序发送指示来实现的。
当收到启动安全模式的这个请求时,切换系统控制程序经由GPIO接口436向USB控制器处理器438发送一个指令,命令它进入安全模式。然后USB控制器处理器438命令SIE 433停止向SIE 431路由数据,改为经由GPIO接口436把数据从USB端口432路由给处理器402。无需改变连接于I/O端口432的输入设备的USB状态即可改变这一路由。因此,对于用户计算机上的USB主机系统而言,尽管在安全模式期间来自USB输入设备的数据被阻止上行流入USB主机系统中,但是USB输入设备(例如鼠标116和键盘118)仿佛仍然被连接并且完全可操作。
如果期望,则可以对USB控制器处理器438进行配置,以便只要通过特定的通信路径(例如GPIO接口436)收到命令就会识别出该命令从而进入安全模式。其优点在于提高了从处理器402而不是从驻留于用户计算机上的流氓程序中接收进入安全模式的命令的可能性。
现在参考图4B,在步骤216,切换系统收到输入数据并且该输入数据被发送至加密设备以便加密。在切换系统400环境下,在安全模式期间,SIE 433经由I/O端口432接收来自输入设备116和118的数据并且将其通过GPIO 436路由给处理器402。然后,处理器402上运行的切换系统控制程序执行来自存储设备404的加密程序以便加密该数据。
在步骤220,切换系统将已加密数据格式化为网络数据包并且将其发送给用户计算机。在切换系统400(图9)的环境下,切换系统控制程序接收来自加密程序的已加密数据并且命令USB以太网仿真设备类功能把该已加密数据发送到被访问计算机110的IP地址。由远程被访问系统110(图3)的动态主机控制协议(DHCP)分配作为已加密数据发送目的地的IP地址。USB以太网仿真设备类功能根据以太网协议来格式化已加密数据并且把这个以太网数据包封装为USB数据并且通过以太网数据包(包含已加密输入数据)把这个USB数据发送给用户计算机108的USB主机系统。
在步骤222,将网络数据包发送给被访问计算机上运行的安全模式应用程序。在包括切换系统400的本实施例的环境下,用户计算机108的USB主机系统在收到该以太网数据包时将其传送至用户计算机108的网络接口以便通过网络112传送给被访问计算机110。
在被访问计算机110收到以太网数据包(步骤224)之后,它解密并处理其中所包含的已加密输入数据以产生响应,加密该响应,并且把该已加密响应传送给切换系统(步骤226)。
在步骤228,切换系统接收并解密该已加密响应,并且把已加密响应发送给用户计算机上运行的应用程序以便操作。在包括切换系统400的本发明实施例的环境下,包含来自被访问计算机110的已加密响应的以太网数据包到达用户计算机108的网络接口。由于这个以太网数据包被寻址给切换系统400的USB以太网仿真设备类功能,所以把以太网数据包传递给用户计算机108的USB主机系统,其把以太网数据包打包到USB包中,以便通过该USB进行传送。在SIE 431处接收这个USB包,并把这个USB包经由GPIO接口436路由给处理器402上运行的USB以太网仿真设备类功能。在处理器402,USB以太网仿真设备类功能从该以太网数据包中提取已加密响应数据,并将其传递给切换系统控制程序,所述切换系统控制程序从存储设备404中启动解密程序以便解密该响应。然后,切换系统控制程序把这个已解密响应数据发送给用户计算机108上运行的安全模式应用程序。切换系统控制程序与用户计算机108上运行的安全模式应用程序之间的通信通过USB来进行。用户计算机108上运行的安全模式应用程序将切换系统看作为USB以太网设备并且通过USB接口经由以太网与其进行通信。
如上所述,图5和6描述了用户计算机108上运行的不同应用程序的效果,在根据本发明实施例的安全运行方式条件下变为激活的程序的效果。如前所述,图5是显示其中当用户计算机108上运行的安全模式应用程序不再是激活的应用程序时对本发明的数据通信系统进行操作的方法的流程图。参考图5,用户计算机108上运行的安全模式应用程序收到了用于表示已经失去了窗口聚焦的指示(步骤300)。然后,在步骤310,用户计算机108上运行的安全模式应用程序向切换系统102发送用于表示已经退出了安全模式的指示。在包括切换系统102的本发明实施例的环境下,这可以通过安全模式应用程序向切换系统控制程序发送用于表示已经退出了安全模式的指示来实现。这是经由USB的终点通信信道来获得的,其中由用户计算机108的USB驱动接口(即USB主机设备)将切换系统102(即终点设备)标识成以太网设备。
在步骤320,切换系统把输入数据不经加密就从输入设备通过通信路径P2a流向用户计算机。在切换系统400的环境下,经由GPIO接口436向USB控制器处理器438发送指令,命令它进入非安全模式。然后USB控制器处理器438命令SIE 433将它从I/O端口432接收到的数据路由到SIE431,所述SIE 431经由I/O端口430把这一数据发送给用户计算机108上的USB主机系统。
如前所述,图6是显示其中当在用户计算机108上恢复安全模式应用程序时对本发明的数据通信系统进行操作的方法的流程图。参考图6,在运行于用户计算机108上的安全模式应用程序收到用于表示已经获得了窗口聚焦的指示(步骤330)之后,它向切换系统发送用于表示已经进入了安全模式的指示(步骤340)。在包括切换系统400的本发明实施例的环境下,后一步骤可以通过安全模式应用程序向切换系统控制程序发送用于表示已经进入了安全模式的指示来实现。
然后,在步骤380,切换系统将数据从输入设备路由到加密设备106以便进行加密,然后经由通信路径P2b把已加密输入数据上行发送到用户计算机以便传送给被访问计算机。在切换系统400的环境下,这可以通过切换系统控制程序经由GPIO接口436向USB控制器处理器438发送指令,命令它进入安全模式来实现。然后,USB控制器处理器438命令SIE 433停止向SIE 431路由数据,改为经由GPIO接口436把数据从USB端口432路由给处理器402。然后来自输入设备116和118的输入数据被路由给切换系统控制程序以便加密,并且以如上所述的相同方式被发送给被访问计算机110。
图11A和11B举例说明了引入了切换系统102(图3)的系统的替换实施例。在图11A中,一般被引入到计算机(例如,图3所示的计算机108)中的网络接口502可以被集成到切换系统504中。在该实施例中,直接通过网络506把已加密数据发送给服务器或者远程计算机508以便处理。如果设备504被用于访问不要求加密/解密和/或鉴别的另一个网站,则它将在非安全模式下运作。在非安全模式下,切换设备512把由接口502从另一个网站所接收的数据路由给加密设备505。在加密设备505处,由加密设备对所接收的数据进行处理(不是加密/解密),并且经由切换设备512将其发送给显示设备510。例如,加密设备505包括用于提供因特网访问的因特网浏览器程序。将所访问的网页数据从远程服务器(例如,计算机508)通过通信网络506发送到切换系统504,其中由接口502来接收该数据。从接口502中,切换设备512把所接收的网页数据路由给加密设备505。然后,在由切换设备512路由给显示设备510之前,由运行于加密设备505上的浏览器程序对该网页数据进行处理。
然而,如果在安全模式下使用设备504,一旦加密设备505对从远程计算机508中所接收的加密数据进行解密,就将所接收的已解密数据显示在显示设备510上。显示设备510包括显示驱动器(例如,VGA卡)和连接于安全设备504的监视器。在图11B,除了设备516(图11B)包括集成显示设备以外,安全设备516与安全设备504(图11A)相同。集成显示设备可以被并入到加密设备518内(参见图4,显示器406)。换句话说,专用显示设备可以被直接附接到该安全设备516上。图11A和11B中举例说明的安全设备504和516分别包括多个显示驱动器以便利用不同的外部显示设备来进行使用。因此,每个设备504、516可以合并有用于支持与这些显示设备的连接的一个或多个外部连接器。
在结合优选实施例来描述和例示本发明时,在不脱离本发明的精神和范围之下,可以做出对所属领域技术人员来说显而易见的许多改变和改进,因此,由于这种改变和改进应当被包括在本发明的范畴内,所以本发明不应被限制在上述方法或结构的具体细节之内。除了程序上需要或者固有于处理本身之中之外,本说明书(包括附图)中所描述的方法或者处理的步骤或者阶段的具体顺序不是固有的。多数情况下,无需改变所描述的方法的目的、效果或含义就可以改变处理步骤的顺序。