由半可信赖服务器提供内容服务的方法和装置的制作方法

文档序号:6478265阅读:153来源:国知局
专利名称:由半可信赖服务器提供内容服务的方法和装置的制作方法
技术领域
本发明是针对计算机网络领域。更具体地说,它是针对因特网,特别是存储和向其客户机传送信息的Web(万维网)服务器。
背景技术
在因特网中的大量通信涉及至少一个客户机向一个Web服务器发出请求以及该Web服务器响应该客户机的请求。这里Web服务器是指使用HTTP协议与客户机通信的一个设备或一组设备(例如数据存储区、目录、机器和软件)。对于一个特定的Web应用,我们把源Web服务器定义为具有一个Web应用的各项功能和数据、而且这些功能和数据在应用的安全政策方面完全可信赖的Web服务器。
作为缩短客户机必须等待响应的时间长度和减轻在因特网及源Web服务器上负荷的手段,已经发展了允许客户机由代理Web服务器(或简称代理)服务的技术,这里的代理Web服务器通常比源Web服务器更靠近该客户机或负荷更轻。
代理Web服务器能以若干不同方式集成于因特网通信过程中。在一些配置中,客户机总是向代理Web服务器发出请求而不是向源Web服务器发出请求。代理Web服务器可以响应该客户机,必须时从源Web服务器取回内容,或者该代理Web服务器可使该客户访问另一个代理Web服务器或源服务器,如果该代理Web服务器不能满足该客户机请求的话。在其他配置中,客户机首先向源Web服务器发请求。源Web服务器可使该客户机为当前请求或将来的所有请求而访问一个代理,或者源Web服务器可响应该客户机请求的一部分,但让该客户机访问一个半可信赖Web服务器以得到该响应的一部分。
在大多数情况下,下载到代理Web服务器的内容被限定于非敏感数据,从而不需要访问控制手段。非敏感数据被定义为不需要任何访问控制、可由网络上任何用户访问的数据。在一个典型的Web页上,嵌入的图像是非敏感数据的实例。与此相反,受限制的数据或敏感数据被定义为对于谁能得到它有某些限制的数据。受限制数据的实例包括通过一组注册用户订阅得到的网页,受限制的一组用户可得到的图像,或能对特定用户个性化的数据。
在因特网上的公共订阅服务和个性化内容在增加,而且它们也应从代理Web服务器提供的性能增强中获益。受限制的信息要求代理Web服务器有访问控制方法到位,但情况是复杂的,因为在许多情况中代理Web服务器不在内容提供者的控制之下。这类代理Web服务器落入半可信赖Web服务器类。对于一个特定Web应用,我们把半可信赖Web服务器定义为在该应用的安全政策方面该应用的功能部分可信赖的Web服务器。特别是,一个半可信赖Web服务器可在授权、用户标识符访问、到源Web服务器取得内容的SSL通道以及非敏感性事务方面是可信赖的,但半可信赖的Web服务器可能在长时敏感数据(如对一源Web服务器的用户口令或密钥)方面是不可信赖的。

发明内容
所以,本发明的一个方面是提供一种方法,它使客户机能经由半可信赖Web服务器访问源Web服务器的受限制信息。
本发明的又一方面是提供一种装置,使客户机能经由半可信赖Web服务器访问源Web服务器的受限制信息。
本发明的又一方面是减小使用cookie认证的安全风险。
本发明的又一方面是保护存储在半可信赖Web服务器中的数据。
在本发明的一个实例中,客户机使用这里公开的方法获得对半可信赖Web服务器上受限制信息的访问。


在结合附图进一步考虑下文中对本发明的详细描述之后,本发明的这些及其他方面、特点和优点将变得显而易见,可这些附图是图1显示具有客户机、源Web服务器以及半可信赖Web服务器的一个环境举例,以及客户机通过半可信赖Web服务器访问受限制信息所伴随的问题。
图2显示本发明中描述的方法的布局,该方法使客户机能在图1描述的环境中访问受限制的信息。它显示认证器、创建器、展现器和相关器。
图3显示本发明的第一实施例,显示当半可信赖Web服务器和源Web服务器位于同一命名空间域(例如分别为proxy.company.com和company.com)时呈现客户机凭证的技术。
图4显示一个流程图,说明图3所示实施例的源Web服务器所采取的行动。
图5显示一个流程图,说明图3所示实施例的半可信赖Web服务器所采取的行动。
图6显示第二实施例,其中由源Web服务器向半可信赖Web服务器呈现该客户的凭证,并且该源服务器利用HTTP重定向使该客户机重定向到半可信赖Web服务器。这一实施例是针对源Web服务器和半可信赖Web服务器不位于相同域中的情况。
图7显示第三实施例,其中由源Web服务器在客户机浏览器中安装第一客户机一侧程序,它向源Web服务器发送针对客户机的信息,由半可信赖Web服务器在该客户机浏览器中安装第二客户机一侧程序,它向该半可信赖Web服务器发送针对客户机的信息,从而有助于相关。
图8显示图7所示实施例的事件序列。
图9显示一个流程图,说明图7所示实施例的源Web服务器所采取的行动。
图10显示一个流程图,说明图7所示实施例的半可信赖Web服务器所采取的行动。
图11显示一个流程图,说明源Web服务器为创建一个要呈现给半可信赖Web服务器的cookie所采取的行动。
图12显示一个流程图,说明作为相关过程的一部分检验cookie有效性时源Web服务器和半可信赖Web服务器所采取的行动。
图13显示一个流程图,说明当作为上述过程的一部分而更新cookie时源Web服务器和半可信赖Web服务器所采取的行动。
图14显示半可信赖Web服务器和源Web服务器对共享密钥的使用。
图15显示一个流程图,说明当创建保密内容以供通过半可信赖Web服务器发布时由源Web服务器采取的行动。
图16是一个流程图,说明当半可信赖Web服务器部分地提供保密内容服务时由半可信赖Web服务器采取的行动。
图17显示一个流程图,说明当接收保密内容时由客户机采取的行动。
图18显示区分保密内容的新内容类型的使用。
通过参考详细描述,可实现本发明的其他目的和对本发明的更好理解。
具体实施例方式
本发明使客户机能通过半可信赖的Web服务器访问受限制的信息。发生该访问的典型环境示于图1。该图显示连到核心网络(如因特网)上的客户机、源Web服务器和半可信赖Web服务器。
客户机102、半可信赖Web服务器104以及源Web服务器103连接到核心网络102。客户机、半可信赖Web服务器和源Web服务器能直接连到核心网络,如图中示例那样,或者它们能经由中间防火墙、路由器、以及子网络连接。半可信赖Web服务器可位于客户机与源Web服务器通信时网络中的信息包所遵循的路由上。
为缩短客户机必须等待对请求的响应的时间长度和减轻在源Web服务器上的负荷,半可信赖Web服务器可服务于客户机的请求。通常,如果一个半可信赖Web服务器比源Web服务器更靠近客户机,或者如果该半可信赖Web服务器的负荷比源Web服务器轻,则该半可信赖Web服务器被选择服务于该客户机的请求。在一些配置中,客户机总是向半可信赖Web服务器发出请求而不是向源Web服务器发出请求。该半可信赖Web服务器可以响应该客户机,必要时从源Web服务器取回内容,或者该半可信赖Web服务器可使该客户机访问另一个半可信赖Web服务器或源服务器,如果该半可信赖Web服务器不能满足该客户机请求的话。在其他配置中,客户机首先向源Web服务器发请求。源Web服务器可使该客户机为当前请求或将来的所有请求而访问一个半可信赖Web服务器,或者源Web服务器可响应该客户机请求的一部分,但让该客户机访问一个半可信赖Web服务器以得到该响应的一部分。
在图1中,半可信赖Web服务器不是必定要被认为是在内容提供者或源Web服务器的控制之下,因而针对长时敏感数据的安全政策,该半可信赖Web服务器是不可信赖的。然而,对于授权、用户标识符、非敏感事务以及取得内容的SSL通道而言,该半可信赖Web服务器是可信赖的。因为该半可信赖Web服务器是由源Web服务器半信赖的,所以需要访问控制方法以保护半可信赖Web服务器处的受限制信息和保护敏感的用户凭证。我们的专利提供在半可信赖Web服务器处对受限制信息的访问控制的技术,而不会使半可信赖Web服务器处的长时敏感数据(如用户口令)受到危害。
为了使客户机能访问在半可信赖Web服务器处的受限制信息而不使长时敏感数据受到危害,额外的功能是需要的。图2显示网络中运行的能布设这里公开的发明的任何机器的结构。机器201可分布于客户机、半可信赖Web服务器、源Web服务器、客户机的可信赖代理、半可信赖Web服务器的可信赖代理以及源Web服务器的可信赖代理。实现这一发明的任何设备201由四部分组成,包括认证器202、凭证创建器203、凭证呈现器204以及凭证相关器205。在本发明的一些实施例中,可由已存在于网络中的外部服务提供认证器202。认证器202首先认证源Web服务器103的客户机。凭证创建器203产生客户机101的凭证,用于其后的通信。凭证呈现器204把客户机凭证传送给半可信赖Web服务器104。凭证相关器205使客户机凭证与正在访问的客户机以及客户机用户标识符相关。
当一个客户机请求受限制的信息时,使该客户机访问源Web服务器以得到认证。在创建凭证之后,又使该客户机回来访问该半可信赖Web服务器以重复该请求并使凭证呈现给半可信赖Web服务器。在凭证相关之后,该半可信赖Web服务器以提供所请求的内容来响应该客户机的请求,如果该凭证有效的话。
图3显示本发明的第一实施例,说明当半可信赖Web服务器300和源Web服务器310位于同一命名空间域(例如分别为proxy.company.com和company.com)时呈现客户机凭证的技术。在这一实施例中,该客户机向源Web服务器发出一个请求。该请求有时由半可信赖Web服务器指引到源Web服务器。由认证部件320对该客户机作为源Web服务器的客户机进行认证。在源Web服务器处,凭证创建部件325创建HTTPcookie形式的客户机凭证,它包括针对该客户机的环境信息,如“视客户机因特网协议(IP)地址”和HTTP头信息。源Web服务器把这个cookie设置在该客户机上并由源Web服务器使用HTTP重定向指引到半可信赖Web服务器。因为该半可信赖Web服务器和源Web服务器位于同一命名空间域,所以当该客户机向该半可信赖Web服务器发出请求时,该凭证cookie便被呈现给该半可信赖Web服务器315。在该半可信赖Web服务器处,凭证相关部件330使所呈现的cookie与针对该客户机的环境信息(如“视客户机IP地址”和HTTP头信息)相关。如果该cookie有效,则该半可信赖Web服务器使用cookie中指定的用户标识符的访问控制来响应该请求。图11示出了该cookie的格式及有效性。
图4显示一个流程图,说明图3所示实施例的源Web服务器所采取的行动。每当在源Web服务器310处的实现该实施例的设备被启动时,便在步骤401进入该流程图。在步骤405中,源Web服务器等待来自客户机的消息。一旦收到一个消息,在步骤410中源Web服务器便进行检查,看该客户机是否是被认证过的。该客户机可通过呈现有效的客户机凭证(如图12中所示)得到认证,或该客户机可通过另一方案得到认证。如果在步骤410该客户机未被认证,则在步骤425由源Web服务器发起认证并返回到步骤410。如果在步骤410中该客户机是被认证过的,则执行步骤415。在步骤415中,该源Web服务器使用针对客户机的环境信息创建一个客户机凭证,它被存储在设置在该客户机上的一个cookie中。接下来,在步骤420中,源Web服务器把该客户机指引到一个半可信赖Web服务器。最后,该源Web服务器返回到步骤405并等待另一条消息。
图5显示一个流程图,说明图3所示实施例的半可信赖Web服务器所采取的行动。每当在半可信赖Web服务器300处的实现该实施例的设备被启动时,便在步骤506进入该流程图。在步骤505中,半可信赖Web服务器等待来自客户机的消息。一旦收到一个消息,在步骤510中半可信赖Web服务器便进行检查,看该客户机是否已提交了含有有效客户机凭证的cookie。步骤510涉及使cookie中的客户机凭证与半可信赖Web服务器从该客户机得到的针对客户机的信息(如图12中所示)相关。如果在步骤510中该客户机凭证是无效的,则执行步骤530。在步骤530中,半可信赖Web服务器把该客户机指引到源Web服务器并返回到步骤505。如果在步骤510中该客户机凭证是有效的,则执行步骤515。在步骤515中,该cookie和客户机凭证被更新,如图13中所示。在步骤515之后,在步骤520,该半可信赖Web服务器进行检查,看该客户机是否被授权。如果在步骤520中该客户机是未被授权的,则执行步骤535。在步骤535中,该半可信赖Web服务器向该客户机发送一个禁止消息,并返回到步骤505。如果在步骤520中该客户机是被授权的,则执行步骤525,于是向客户机提供该内容。在步骤525之后,该半可信赖Web服务器返回到步骤505并等待更多的消息。
图6显示第二实施例,其中由源Web服务器610向半可信赖Web服务器600呈现该客户机的凭证,并且源Web服务器610利用HTTP重定向使该客户机重定向到该半可信赖Web服务器635。这一实施例是针对源Web服务器和半可信赖Web服务器不位于相同域中的情况,尽管当这些服务器位于相同域中时它也能使用。在这一实施例中,客户机向源Web服务器发出一个请求。该请求有时是由半可信赖Web服务器指引到源Web服务器。使用认证部件630对源Web服务器认证该客户机。在源Web服务器处,凭证创建部件620创建一个HTTPcookie形式的客户机凭证,它包括针对客户机的环境信息,如视客户机因特网协议(IP)地址和HTTP头信息。呈现部件625把客户机凭证发送到半可信赖Web服务器635,然后源Web服务器610利用HTTP重定向把客户机指引到该半可信赖Web服务器,在该HTTP重定向URL中包括对客户机凭证cookie的参考。当客户机605向半可信赖Web服务器635发送一个请求时,呈现部件615以URL查询串形式给出对客户机凭证cookie的参考,或者,如果该客户机已经有了客户机凭证cookie,则该cookie被呈现给半可信赖Web服务器。在相关部件635中,使用对客户机凭证cookie的参考以选择在半可信赖Web服务器中存储的cookie之一,然后使针对该客户机的环境信息(如视客户机IP地址和HTTP头信息)与该客户机的凭证相关,如图12中所示。如果该客户机与该客户机凭证匹配,则该半可信赖Web服务器把该cookie设置在该客户机上供以后的请求使用,并且该半可信赖Web服务器使用该cookie中指定的用户标识符的访问控制来响应该请求。该cookie的格式和有效性示于图11。
图7显示第三实施例,其中由源Web服务器在客户机浏览器中安装第一客户机一侧程序,它向源Web服务器发送针对客户机的信息,由半可信赖Web服务器在该客户机浏览器中安装第二客户机一侧程序,它向该半可信赖Web服务器发送针对客户机的信息,从而有助于相关。这一实施例是针对源Web服务器和半可信赖Web服务器不位于相同域中的情况,尽管当这些服务器位于相同域中时它也能使用。这一实施例通过使用更多的针对客户机的环境信息,进一步降低使用cookie进行认证的风险。在这一实施例中,客户机向源Web服务器发出一个请求(可能是由该半可信赖Web服务器指引到该源Web服务器)。使用认证部件730对源Web服务器认证该客户机,该认证部件可由第一客户机一侧程序来增强。在源Web服务器处,凭证创建部件720创建一个HTTPcookie形式的客户机凭证,它包括针对客户机的环境信息,如视客户机因特网协议(IP)地址和HTTP头信息以及由第一客户机一侧程序收集的针对该客户机的附加环境信息,如本地IP地址的散列码和浏览器应用过程标识符。呈现部件725把客户机凭证发送到半可信赖Web服务器735,然后源Web服务器710利用HTTP重定向把客户机指引到该半可信赖Web服务器,在该HTTP重定向URL中包括对客户机凭证cookie的参考。当客户机705向半可信赖Web服务器735发送一个请求时,呈现部件715以URL查询串形式给出对客户机凭证cookie的参考,或者,如果该客户机已经有了客户机凭证cookie,则该cookie被呈现给半可信赖Web服务器。在相关部件735中,使用对客户机凭证cookie的参考以选择在半可信赖Web服务器中存储的cookie之一,然后使针对该客户机的环境信息(如视客户机IP地址和IP头信息以及由相关部件740通过第二客户机一侧程序得到的针对客户机的附加环境信息)与该客户机凭证相关。如果该客户机与该客户机凭证匹配,则该半可信赖Web服务器把该cookie设置在该客户机上供以后的请求使用,并且该半可信赖Web服务器使用该cookie中指定的用户标识符的访问控制来响应该请求。该cookie的格式和有效性示于图11。
图8显示图7所示第三实施例中发生的消息交换。一个客户机向源Web服务器发送一个HTTP请求(800)。源Web服务器以认证请求消息(805)回答,该消息(805)是作为用户ID和口令的提示呈现给该用户的。该客户机以认证响应消息(810)回答,其中包括认证数据。如果该用户ID和口令在源Web服务器处被成功地证明有效,则该源Web服务器向该客户机发送一个客户机程序(815)。该客户机程序在客户机机器上运行并收集本机环境信息,如该客户机浏览器的过程ID和用户ID以及本机IP地址。这一信息在客户机中被散列处理以保隐私并作为针对客户机的相关信息发送回源Web服务器(820)。源Web服务器创建一个有效的cookie,如下文在图11中描述的那样,在对该客户机的重定向中包括对该cookie的参考(825)。源Web服务器还把该cookie存储在半可信赖Web服务器(830)或可由该半可信赖Web服务器访问的目录中。该客户机继续把该请求发送给该重定向中指出的半可信赖Web服务器(835)。如果该半可信赖服务器与该源Web服务器共享一个域,则该客户机包括该cookie。如果该客户机不包括该cookie,则半可信赖Web服务器从源Web服务器存储它的地方查寻该cookie。如果该半可信赖Web服务器没有从该客户机收到cookie而且没有从它的可访问存储器中找到一个cookie,则该半可信赖Web服务器把该客户机重定向到该源Web服务器,过程在消息800处重新开始。半可信赖Web服务器通过在指定时间范围内只允许该客户机进行少量重定向来实现防止振荡式重定向。如果该半可信赖Web服务器能访问该客户机的cookie,它便发送一个相关客户机程序给该客户机(840),该程序收集客户机环境信息(见815)并把它的散列码发送回代理Web服务器(845)。然后该半可信赖Web服务器验证该客户机环境散列码是否与cookie中存储的环境散列码匹配。如果不匹配,则半可信赖Web服务器把该客户机重定向到源Web服务器,于是该过程重新开始(800)。如果匹配,则半可信赖Web服务器检验该cookie的有效性(如下文在图11中描述的那样)。如果该cookie是有效的,则半可信赖Web服务器从该cookie中提取该客户机的凭证并继续进行认证。如果该客户机凭证对访问所请求的信息是足够的,则向该客户机提供访问,如果不是则访问被拒绝(850)。该半可信赖Web服务器更新该cookie(如图11中的描述),以消息850把更新的cookie发送给该客户机,并把更新的cookie存储在半可信赖Web服务器可访问的存储器中。
图9显示一个流程图,描述图7所示第三实施例中的源Web服务器的行为。在启动源Web服务器(900)之后,它等待请求消息(905)。当收到一个客户机请求时,该源Web服务器向该客户机发送一个客户机一侧程序,该程序报告各个信息,从而使源Web服务器收集该客户机的环境信息,如图8中的描述。该源Web服务器检验是否存在该客户机的有效cookie(915)。如果是,则该客户机被指引到一个代理Web服务器(920),于是该源Web服务器等待其他请求(905)。否则,该源Web服务器向该客户机发送一个认证请求并等待认证响应(如图8中描述的消息805和810),以此来认证该客户机(925)。如果认证失败,则向该客户机发送一个访问禁止消息(935),于是该源Web服务器等待其他请求(905)。在这一情况中,源Web服务器应检查跟踪每个客户机失败认证过程的次数并且当持续认证请求次数的某个极限被突破时封闭账号。如果认证成功但不存在cookie,则该源Web服务器为该客户机创建一个cookie,如图11中所示,并把该cookie与一个重定向消息一起发生给该客户机,该消息把客户机指引到一个半可信赖Web服务器(940)。如果源Web服务器和半可信赖Web服务器不共享同一个域,则cookie必须存储在半可信赖Web服务器可访问的目录中。否则,这是可选的。然后,源Web服务器返回到等待到来请求的状态(905)。
图10显示一个流程图,描述图7所示第三实施例中的半可信赖Web服务器的行为。在启动半可信赖Web服务器(1000)之后,它等待到来的请求(1005)。然后,该半可信赖Web服务器检验它是否具有这一客户机的cookie(1010)。如果该客户机没有与请求一起提交有效的cookie,而且该半可信赖Web服务器在其他存储区(如一个目录中)没有该客户机的cookie,则该客户机被指引到源Web服务器(1015)以创建cookie。否则,该半可信赖Web服务器使用图7中描述的客户机一侧程序收集客户机环境信息(1020)。然后,该半可信赖Web服务器确认所收集的信息与cookie中存储的该客户机信息是否匹配(1025),如图12中所示。如果不匹配,则该客户机被指引到源Web服务器以创建有效cookie(1015)。如果匹配,则半可信赖Web服务器更新该cookie(1035),如图13中所示。然后该半可信赖Web服务器从cookie中提取该客户机的凭证并检验该客户机对访问所请求信息的授权(1040)。如果该客户机未被授权访问所请求的信息,则该半可信赖Web服务器向该客户机发送一个禁止消息(1045)并返回等待状态(1005)。如果该客户机被授权,则向该客户机提供访问(1050)。在此之后,该半可信赖Web服务器返回等待状态(1005)。
图11显示由源Web服务器创建的客户机cookie的一个举例。该cookie包含两部分一部分是加密的,一部分是未加密的。加密部分包含该客户机的IP地址,如源Web服务器看到的那样(1100);或者由客户机一侧程序收集的可选的客户机相关信息(1105);该客户机的请求头的散列码,如源Web服务器看到的那样(1110);该客户机的用户标识,用于由源Web服务器和半可信赖Web服务器授权(1115);可选的随机位模式B(1120);包括该cookie创建时间的时间戳(1125);对整个域有效的全局超时值(1130),它通常是加到创建时间上的一个固定偏移;以及cookie不工作超时(1135),它通常是加到cookie创建时间上的一个固定偏移。该cookie的明文部分包括密钥标识号(1140),它代表用于对cookie上半部分加密所用的密钥;源Web服务器的域名(1145);可选的加密的随机位模式B的副本;以及在上述字段上的数字签名(1155),从而使所有明文字段用于创建该签名。然后,第一部分的字段由密钥Kc加密(1160),该密钥由该半可信赖Web服务器和源Web服务器共享。
图12显示一个流程图,说明作为相关过程的一部分检验客户机cookie的有效性并在cookie有效的情况下回送客户机凭证的过程。该客户机cookie可由客户机在HTTP请求中呈现,或者该客户机可提供一个对cookie的参考,该cookie存储在该半可信赖Web服务器处或可由该半可信赖Web服务器通过外部设备或目录得到。如果未找到cookie,则该客户机被指引到源Web服务器,于是该客户机能被认证并创建cookie。使cookie生效的过程在步骤1200开始。在步骤1205中,通过使用域标识符和密钥标识符来选择适当的解密密钥和通过进行解密操作,该cookie被解密。在步骤1210中,全局超时和不工作超时字段被检验,看该cookie是否已经过时,并把位模式与位模式副本进行比较。如果由于全局超时或不工作超时使该cookie已经过时,或者如果位模式与位模式副本不相等,则该cookie无效,并执行步骤1215。在步骤1215中,该过程返回“无效”并停止。在步骤1210中,如果该cookie没有过时,而且位模式匹配,则执行步骤1220。在步骤1220中,如果在步骤1205中用于解密该cookie的密钥已被标记为“被放弃的”或者希望有更高的安全性,则执行步骤1225;否则执行步骤1230。在步骤1225中,检验该cookie的签名。如果该签名不匹配,则该cookie无效并执行步骤1215。如果该签名匹配,则执行步骤1230。在步骤1230中,由半可信赖Web服务器收集针对客户机的环境信息。一些针对客户机的环境信息(如视IP地址和HTTP头散列码)可来自客户机连接,而另一些针对客户机的环境信息(如本机用户标识符、浏览器过程标识符及IP地址的散列码)可由第二客户机一侧程序发送到该半可信赖Web服务器。在步骤1230之后,在步骤1235中,检验针对客户机的环境信息的散列码与存储在cookie中的针对客户机的环境信息的相等性。如果在步骤1235中它们不相等,则该cookie无效并执行步骤1215。如果在步骤1235中它们相等,则执行步骤1240。在步骤1240中,提取该cookie中的客户机访问凭证。在步骤1245中,有效性过程报告有效并向呼叫方返回该客户机的凭证。这些凭证在整个授权过程中使用,以决定是否向该客户机提供访问。
图13显示一个流程图,说明更新客户机cookie的过程。在步骤1300中启动执行之后,执行步骤1305。步骤1305检验该cookie是否已在图12所示有效性过程中标记为有效。如果在步骤1305中该cookie无效,则执行步骤1330。在步骤1330,该cookie被从该客户机、本机存储器以及任何cookie目录或存储设备中删除并执行步骤1325。在步骤1325中,cookie更新过程停止。如果在步骤1305中该cookie有效,则在步骤1310中设置新的不工作超时并执行步骤1315。在步骤1315中,半可信赖Web服务器检验密钥管理系统,看由该客户机使用的密钥是否仍然有效。如果该密钥已经超时,或者如果源Web服务器已向该半可信赖Web服务器发送一个消息指明该密钥不再有效,则该密钥可为无效的。如果在步骤1315中该密钥不再有效,则执行步骤1330。如果在步骤1315中该密钥有效,则在步骤1320中由密钥标识符字段中指出的同一个共享密钥对该cookie加密,并执行步骤1325。
图14显示由半可信赖Web服务器和源Web服务器使用的密钥条目,用于保护cookie中的一部分,以免被不加通知地修改或公开。该密钥条目包含密钥标识号(1400)、密钥本身(1405)以及可选的密钥超时值(1410)。开始时,源Web服务器创建一个带有新的密钥、新的密钥标识号和空的超时值的密钥条目,并把它密秘地分发给所有半可信赖Web服务器。源服务器把在创建cookie时使用的密钥的密钥标识包括在适当的cookie字段中(见图11)。一旦知道一个半可信赖Web服务器要被放弃时,源Web服务器向未被放弃的那些半可信赖Web服务器发布一个新的密钥条目,其中带有新的密钥标识号;这一新密钥发布触发半可信赖Web服务器对老的密钥设置一个全局超时值(例如5秒)。在这一时间超时值超过之后,使用老的密钥的cookie不再被接受(见图13),呈现老密钥的客户机被重定向到源Web服务器以进行认证和创建新的cookie。这样,由被放弃的Web服务器所知道的cookie以及与cookie有关的信息失掉了它们用于重建攻击的价值。
图15显示一个流程图,说明当为客户机创建保密内容(1500)时由源Web服务器采取的行动。这一部分适用于即使由半可信赖Web服务器提供数据服务而客户机从中提取被保密的信息的情况。把保密的内容嵌入到由半可信赖Web服务器服务的信息中增强了可伸缩和安全性,因为所提取的大多数信息不是高度敏感的,而且能由连接半可信赖Web服务器中高速缓存的许多用户共享。小量单独的和敏感的数据对该客户机透明地并自动地由半可信赖Web服务器从源Web服务器提取。在客户机中安装的特殊的保密内容处置器将把保密内容呈现给用户,其呈现方式是使用户能区分开保密数据和传统的数据。为使内容能保密,内容提供者确定密钥Kclient,该内容提供者与客户机共享该密钥(1505)。然后它以密钥Kcontent对敏感内容加密(1510)。密钥Kcontent被以Kclient加密并添加到保密内容中(1515)。该内容被加以新的标记(1520),然后直接服务于该客户机或者提供给半可信赖Web服务器,它把保密内容作为它服务于这一客户机的内容的一部分嵌入其中(1525)。该过程以1530结束。使用独立的密钥Kcontent对敏感内容加密支持不共享密钥Kclient的不同用户使用加密的内容;源Web服务器只需多次对共用密钥加密而无需对整个内容加密。
图16显示一个流程图,说明当半可信赖Web服务器部分地提供保密内容服务时由该半可信赖Web服务器采取的行动(1600)。如果由半可信赖Web服务器提取保密内容,则客户机标识信息(例如客户机的cookie)被确定(1605)并在从源Web服务器提取保密内容时呈现给源Web服务器(1610)。这一标识使源Web服务器能确定密钥Kclient(见图15)。半可信赖Web服务器从源Web服务器接收供给该客户机的保密内容并把该内容提供给该客户机(1615)。该保密内容能否被高速缓存取决于内容本身并由源Web服务器确定。服务于请求的保密内容部分的过程终止于1620。
图17显示一个流程图,显示当接收保密内容时客户机采取的行动(1700)。首先,客户机浏览器确定它是否具有用于所接收内容类型的注册的程序(1705)。如果该客户机接收的是传统的内容,则用现有的内容处置器处理该数据(1710),并返回(1715)。如果该客户机接收标为保密内容的数据,则浏览器将自动查询各注册的程序以处置这一内容(1720)。客户机借助保密内容的特殊内容标记来识别保密内容(见图18)。如果浏览器没有用于保密内容的注册的处置器,则用户被提示必须通过安装过程。用于保密内容的客户机一侧处置器经由一个安全连接由源Web服务器安装;通过这一过程(1725),保密密钥Kclient也安装到客户机程序中。Kclient只为客户机一侧程序和内容提供者(例如源Web服务器中的cgi脚本或服务小程序)所知。接下来,客户机程序作为Web浏览器的一部分被触发,以处置保密内容类型。客户机一侧程序提取附在保密内容上的受保护的密钥Kp,并通过以其自己的秘密密钥Kclient对密钥Kp解密来计算用于保密内容的解密密钥Kcontent(1735)。得到的密钥Kcontent用于对保密内容解密并检验保密内容的完整性(1740)。得到的明文文本能像通常那样由Web浏览器处置,或者由客户机一侧程序呈现,其呈现方式是向用户表明一页的哪一部分是保密内容,哪一部分不是(1745)。
图18显示附加在保密内容上的新内容类型(1800)。新标记(1805)触发客户机Web浏览器去启动客户机一侧程序(如图15中描述的那样被安装)。受保护的密钥部分(1810)包含由Kclient保护的密钥以对保密内容解密。该标记后跟加密的保密内容(1815)。实现保密内容标记(1805)的一种可能性是使用特殊的文件扩展(例如“.sec”),它由新内容处置器处置。该文件本身包含受保护的内容密钥(1810)和保密内容(1815)。另一种可能性是为保密内容定义一个新的HTML标记,它实现保密内容标记(1805)和指向包括受保护的内容密钥(1810)的文件的指针以及保密内容(1815)。
应该指出,上文已概括了本发明的一些更为贴切的目的和实施例。本发明可以用于许多应用。这样,尽管其描述是对特定的结构安排和方法进行的,但本发明的目的和概念适用于和可应用于其他结构安排及应用。本领域技术人员将会清楚,对所公开的实施例能实现各种修改而不脱离本发明的精神和范围。所描述的实施例应被认为只是对本发明的一些较为突出的特点和应用的说明。通过以不同的方式应用本发明或以熟悉本领域技术的人们已知的方式修改本发明都能实现其他有益的结果。
本发明能以硬件、软件或硬件与软件的组合来实现。根据本发明的一个可视化工具能以集中化的方式在一个计算机系统中实现,或者以分布式方式实现,那里不同的部件分散在若干互连的计算机系统上。任何类型的计算机系统,或者适于实现这里所述方法的装置,都是适用的。硬件和软件的典型组合是一个通用计算机带有一个计算机程序,当它被加载和执行时控制该计算机系统使其实现这里描述的方法。本发明还能嵌入计算机程序产品中,该产品包含使能实现这里所述方法的所有特性,该产品当被加载和执行时能实现这些方法。
在本文的上下文中,计算机程序手段或计算机程序是指一组指令的任何语言的任何表示、代码或符号,该组指令用于或者直接地或者在下列两种情况之一之后使一个具有信息处理能力的系统实现特定的功能a)转换成另一种语言、代码或符号;b)以不同的材料形式再生。
权利要求
1.一种方法,包含使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制的信息,包括如下步骤认证所述至少一个客户机;为每个所述至少一个客户机创建含有针对客户机的环境信息的客户机凭证;向半可信赖Web服务器呈现该客户机凭证;使所述至少一个客户机与该客户机凭证相关;以及向所述至少一个客户机提供所述访问。
2.如权利要求1中的方法,进一步包含通过该半可信赖Web服务器向所述至少一个客户机服务该受限制信息。
3.如权利要求1中的方法,其中的创建步骤包含把针对客户机的环境信息和客户机凭证存储在所述至少一个客户机的浏览器中的一个cookie中。
4.如权利要求1中的方法,其中的呈现步骤包含把该客户机凭证发送给该半可信赖Web服务器;以及使用HTTP重定向把所述至少一个客户机指引向该半可信赖Web服务器。
5.如权利要求1中的方法,其中的呈现步骤包含把所述至少一个客户机凭证发送到可由该半可信赖Web服务器访问的一个目录;以及源Web服务器使用HTTP重定向把所述至少一个客户机发送到该半可信赖Web服务器。
6.如权利要求1中的方法,其中的创建步骤包含收集针对客户机的环境信息;以及把针对客户机的环境信息存储在该客户机凭证中。
7.如权利要求6中的方法,其中针对客户机的环境信息包含所述至少一个客户机请求的HTTP请求头的散列码;由所述至少一个客户机使用的机器的IP地址的散列码;所述至少一个客户机浏览器的过程标识;由所述至少一个客户机程序使用的用户标识的散列码;以及/或这些的任何组合。
8.如权利要求1中的方法,其中的创建步骤包含把第一客户机一侧程序放在所述至少一个客户机上;使用所述第一客户机一侧程序收集第一组针对客户机的环境信息;向该源Web服务器发送第一组针对客户机的环境信息;以及把第一组针对客户机的环境信息存储在客户机凭证中。
9.如权利要求8中的方法,其中的相关步骤包含该半可信赖Web服务器把第二客户机一侧程序放在所述至少一个客户机上;以第二客户机一侧程序收集第二组针对客户机的环境信息;向半可信赖Web服务器发送第二组针对客户机的环境信息;以及使第二组针对客户机的环境信息与客户机凭证相关。
10.如权利要求9中的方法。其中第一和/或第二组针对客户机的环境信息包含所述至少一个客户机请求的HTTP请求头的散列码;所述至少一个客户机使用的机器的IP地址的散列码;所述至少一个客户机浏览器的过程标识;所述至少一个客户机程序使用的用户标识的散列码;和/或这些的任何组合。
11.如权利要求1中的方法,进一步包含半可信赖Web服务器访问受限制信息的加密版本,而且其中的创建客户机凭证步骤包含向客户机凭证添加一个解密密钥。
12.如权利要求11中的方法,其中该解密密钥是一个部分密钥,而且提供步骤包含由半可信赖Web服务器向所述至少一个客户机供给信息使该部分密钥能够转换成完全密钥。
13.如权利要求1中的方法,其中的认证步骤包含利用一个用户口令方案。
14.如权利要求1中的方法,其中的认证步骤包括布署至少一个证书。
15.如权利要求6中的方法,其中收集针对客户机的环境信息的步骤是由源Web服务器进行的,而且该源Web服务器把针对客户机的环境信息存储在客户机凭证中。
16.如权利要求8中的方法,其中放置步骤和存储步骤是由源Web服务器进行的。
17.如权利要求1中的方法,其中该半可信赖Web服务器是一个代理Web服务器。
18.如权利要求1中的方法,其中为所述至少一个客户机创建凭证的步骤是在源Web服务器进行的。
19.如权利要求1中的方法,其中使所述至少一个客户机与客户机凭证相关的步骤是由半可信赖Web服务器进行的。
20.如权利要求1中的方法,其中认证所述至少一个客户机的步骤是在源Web服务器进行的。
21.一种使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制信息的装置,所述装置包含认证器,用于检验所述至少一个客户机的有效性;凭证创建器,用于为每个所述至少一个客户机创建含有针对客户机的环境信息的客户机凭证;以及相关器,用于使所述至少一个客户机与客户机凭证相关。
22.如权利要求21中的装置,其中的凭证创建器把针对客户机的环境信息存储在设置于所述至少一个客户机的浏览器中的cookie中。
23.如权利要求21中的装置,其中该凭证创建器把凭证呈现给半可信赖Web服务器。
24.如权利要求21中的装置,其中该凭证创建器把一客户机一侧程序存储在所述至少一个客户机的浏览器中。
25.如权利要求21中的装置,其中该相关器把第二客户机一侧程序存储在该客户机的浏览器中。
26.如权利要求21中的装置,其中半可信赖Web服务器只能访问受限制信息的加密版本,而且凭证创建器向客户机凭证添加一个解密密钥。
27.如权利要求26中的装置,其中该解密密钥是一个部分密钥,而且半可信赖Web服务器包括一个信息提供器,向所述至少一个客户机提供使该部分密钥能转换成完全密钥的信息。
28.一种含有计算机可用介质的制造物品,在该计算机可用介质中具有嵌入的计算机可读程序代码单元,用于使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制的信息,在所述制造物品中的计算机可读程序代码单元包含计算机可读程序代码单元使计算机实现权利要求1-20的任何一个中的步骤。
29.一种由机器可读的程序存储装置,有形地实现由机器可执行的指令,以完成方法步骤使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制的信息,所述方法步骤包含权利要求1-20的任何一个中的步骤。
30.一种含有计算机可用介质的一种计算机程序产品,在该计算机可用介质中具有嵌入的计算机可读程序代码单元,用于使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制的信息,在所述计算机程序产品中的计算机可读程序代码单元包含计算机可读程序代码单元使计算机实现权利要求21-26的任何一个中的步骤。
31.一种装置,包含使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制的信息的装置,包括认证所述至少一个客户机的装置;为每个所述至少一个客户机创建含有针对客户机的环境信息的客户机凭证的装置;向半可信赖Web服务器呈现该客户机凭证的装置;使所述至少一个客户机与该客户机凭证相关的装置;以及向所述至少一个客户机提供所述访问的装置。
32.如权利要求31中的装置,进一步包含通过该半可信赖Web服务器向所述至少一个客户机服务该受限制的信息的装置。
33.如权利要求31中的装置,进一步包含把针对客户机的环境信息和客户机凭证存储在所述至少一个客户机的浏览器中的一个cookie中的装置。
34.如权利要求31中的装置,进一步包含装置用于把该客户机凭证发送给该半可信赖Web服务器;以及使用HTTP重定向把所述至少一个客户机指引向该半可信赖Web服务器。
35.如权利要求31中的装置,其中的源Web服务器使用HTTP重定向把所述至少一个客户机发送到该半可信赖服务器,而且进一步包含用于把所述至少一个客户机的凭证发送给该半可信赖Web服务器可访问的目录中的装置。
36.如权利要求31中的装置,进一步包含装置用于收集针对客户机的环境信息;以及把针对客户机的环境信息存储在该客户机凭证中。
37.如权利要求36中的装置,其中针对客户机的环境信息包括所述至少一个客户机请求的HTTP请求头的散列码;由所述至少一个客户机使用的机器的IP地址的散列码;所述至少一个客户机浏览器的过程标识;由所述至少一个客户机程序使用的用户标识的散列码;以及/或这些的任何组合。
38.如权利要求31的装置,进一步包含装置用于把第一客户机一侧程序放在所述至少一个客户机上;使用所述第一客户机一侧程序收集第一组针对客户机的环境信息;向该源Web服务器发送第一组针对客户机的环境信息;以及把第一组针对客户机的环境信息存储在客户机凭证中。
39.如权利要求38中的装置,进一步包含装置用于使该半可信赖Web服务器把第二客户机一侧程序放在所述至少一个客户机上;以第二客户机一侧程序收集第二组针对客户机的环境信息;向半可信赖Web服务器发送第二组针对客户机的环境信息;以及使第二组针对客户机的环境信息与客户机凭证相关。
40.如权利要求39中的装置,其中第一和/或第二组针对客户机的环境信息包括所述至少一个客户机的HTTP请求头的散列码;由所述至少一个客户机使用的机器的IP地址的散列码;所述至少一个客户机浏览器的过程标识;由所述至少一个客户机程序使用的用户标识的散列码;和/或这些的任意组合。
41.如权利要求31中的装置,进一步包含用于半可信赖Web服务器访问受限制信息的加密版本的装置,以及用于在创建过程中向客户凭证添加解密密钥的装置。
42.如权利要求41中的装置,其中的解密密钥是一个部分密钥,包含用于半可信赖Web服务器向所述至少一个客户机提供信息使该部分密钥能转换为完全密钥的装置。
43.如权利要求31中的装置,进一步包含用于利用用户口令方案进行认证的装置。
44.如权利要求31中的装置,进一步包含用于通过布置至少一个证书来进行认证的装置。
45.一种含有计算机可用介质的计算机程序产品,在该计算机可用介质中具有嵌入的计算机可读程序代码单元用于使至少一个客户机能通过半可信赖Web服务器从源Web服务器访问受限制信息,在所述计算机程序产品中的计算机可读程序代码单元使计算机实现权利要求31-44的任何一个中的装置。
全文摘要
本发明提供方法和装置用于使能够访问在半可信赖Web服务器(100)(也称作代理服务器)中含有的受限制的信息。客户机(101)、半可信赖Web服务器(104)以及源Web服务器(103)连接于一个核心网络(102)。受限制信息是只能由选定的一组客户机(101)得到的信息。希望访问受限制信息的客户机(101)以一个可信赖Web服务器(即源Web服务器)(103)来认证它本身。然后该客户机以该凭证与半可信赖Web服务器(100)接触,并得到对受限制信息的访问。受限制的信息可在半可信赖Web服务器(100)处被加密,从而使受限制信息是保密的,即使半可信赖Web服务器(100)不是完全安全的。为缩短客户机(101)必须等待对请求的响应所用的时间并减轻源Web服务器(103)上的负荷,半可信赖Web服务器(100)可以服务于客户机(101)的请求。总之,选择半可信赖Web服务器(100)服务于客户机(101)的请求,如果半可信赖Web服务器(100)比源Web服务器(103)更靠近该客户机(100)的话。
文档编号G06F21/20GK1516833SQ01823232
公开日2004年7月28日 申请日期2001年12月4日 优先权日2001年5月10日
发明者J·R·贾尔斯, R·赛勒, D·C·维尔马, J R 贾尔斯, 维尔马 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1