资源隐藏与访问控制支持的无状态方法

文档序号:6650113阅读:246来源:国知局
专利名称:资源隐藏与访问控制支持的无状态方法
技术领域
本发明涉及计算机网络中的信息检索,更具体地讲,涉及网站上一种控制访问与隐藏资源结构的方法。
背景技术
与互联网上的许多应用一样,万维网使用客户机/服务器模式,向发布请求的最终用户传递大量信息。网络服务器以网页的形式传播信息。每一个网页与一个称为统一资源标识符(URI)的特定的标识符相关联。统一资源定位符(URL)是一种特定类型的URI,其标识通向服务器的网络路径,例如,URL指定了资源的位置。URL是一种特殊的语法标识符,所述语法标识符定义了通向具体信息的通信路径。客户机可访问的信息的每一个逻辑块被称为“页”或“网页”,由URL标识。URL提供寻找和访问该信息的通用的、一致的方法,主要用于用户的网络浏览器。浏览器是能够把对数据的请求提交给数据源或服务器的程序,所述数据源或服务器诸如客户机机器上由URL所标识的数据源。为了观看网页,最终用户可以使用众多不同的浏览器应用中的任何一种,并且可以通过点击或激活客户机所显示的网页上的超链接(链接)、按钮、或其它东西启动一个请求。用户也可以通过进入浏览器的入口字段中的URL启动一个请求。请求包括标识位于网络应用服务器上的资源的URL,但也可以包括其它信息,以标识客户机或请求的特性。
网络客户机的网络浏览器和电子商务网站之间的通信基于HTTP(超文本传送协议),HTTP是人们所熟悉的协议,用于处理诸如文本、静态图形图像、音频、移动视频等各种数据文件的传送。HTTP是一种无状态协议,意味着关于网络客户机的信息,不在从一个请求到另一个请求间保持。
基于网络的服务器负责维持跨越与来自客户机的一系列相关的请求的状态。这样的状态被称为会话。会话管理允许网站记住不同请求之间的网络客户机。典型的,把会话信息写入“Cookie(库吉)”中,或者写入隐藏形式的字段中,或者使用本领域中已知的URL重写技术将其存储在URL中。“Cookie”是一个数据对象,被传送于超文本传送协议(“HTTP”)请求消息(当请求对象时所使用)和响应消息(当提供所请求的对象时所使用)的报头中的可变长度的字段中。通常,持久性地或在会话期间,把Cookie存储在客户机上,该会话例如在客户与某一在线商家进行电子购物交互期间。Cookie存储了服务器应用希望记住的关于某一特殊客户机的某些数据。这可以包括客户机身份、会话参数、用户偏好、会话状态信息等,就像本领域技术人员所认识到的那样。
内容提供商可能希望防止他人过滤出、裁剪或者篡改服务于他们的网页的内容,或者防止提取或收集想得到的内容。例如,通过在URI模式上进行过滤,用户可以封锁诸如广告的某些类型的内容,所述广告维持着向访问网站的用户提供具有信息的网页的成本。因为这种承诺支付成本的方法需要完整性(integrity),因此提供商的内容必须被观看。
网络服务器可以利用会话改变各网页的内容,所述网页由依赖于服务器内部状态的同一URL所标识。尽管可以使用会话控制对网站的访问,但服务器必须维持所有会话的状态。对于某些应用来说,让服务器做到这一点可能是不可行的,因为在会话期间,必须把会话数据存储在服务器上。可以把Cookie用来进行无会话访问控制,但是它们不能在所有情况下被依赖于用于维持跨越多种网络事务处理(transaction)类型的应用状态信息的主要手段。首先,在网络客户机计算机或其它客户机设备上对Cookie进行存储和检索。然而,某些客户机设备可能不能够存储Cookie。这些包括无线普及性设备(pervasive device)(诸如,网络电话、个人数字助理或“PDA”等),它们可以通过使用无线会话协议(“WSP”)的无线通信协议(“WAP”)网关访问互联网。WSP不支持Cookie。
在其中可望共享或从一个实体向另一个实体传输一个URL的情况下,基于Cookie的系统不能够进行无会话访问控制。在基于Cookie的系统中,不能够仅由一个URL,而是通过由一个URL和一个Cookie组成的对来标识某些资源。由于该URL和Cookie对,不能够通过简单地共享或电子地从一方向另一方传送一个URL,而简单地授予对某一具体资源的无会话访问权。
因此,申请人认为,存在在网站上隐藏资源与/或对资源的访问进行控制的一种无状态方法的需求。

发明内容
本发明对现有技术进行了改进,并且消除了许多与现有技术相关的问题,包括,但不局限于以上所讨论的问题。根据以下权利要求所阐述的特性,可以完成本发明的目的及优点。
本发明提供了一种方法与装置,用于响应来自客户机的资源请求,在资源提供商服务器上提供对于资源的受控的访问,其中,资源请求包括统一资源标识符(URI),所述URI具有加密的部分。本发明的方法使用预先确定的密钥对加密的部分进行解密,以获得解密的段。从解密的段中提取附加信息,然后验证附加信息。该附加信息可以为支持完整性、访问控制、会话管理与/或具有专门目的的应用的数据。该方法导出一个至少具有解密的段的一部分的解密的URI,并且把解密的URI发送至资源制造商服务器。
本发明的方法还可以包括响应于请求,从资源制造商服务器接收资源。资源可以包括一个或多个具有一个透明段和一个不透明段的未加密的URI。该方法可以至少对不透明段的一部分进行加密,并且可以形成具有透明段和加密的部分的加密的URI。然后,可以把加密的段发送至客户机。
在另一方面,本发明还旨在提供一种能够对外部资源制造商服务器进行受控访问的服务的方法。根据该方面,响应于来自客户机的访问资源的请求,本发明判断是否满足一个或多个事务处理要求,如果满足,则该方法创建响应于该请求的统一资源标识符(URI)。该URI包括预先确定的数据和预先确定的结构。本发明还对URI的至少一部分进行加密,并且响应于该请求,发送这一具有加密的部分的URI。于是,客户机能够获得对外部资源制造商服务器的访问,所述外部资源制造商服务器可以是与提供具有加密信息的URI的服务提供商分离的实体。
在其它方面,还可把本发明体现为一种机器可读的计算机程序产品或程序存储设备,明确体现为可由机器加以执行的指令的程序,以执行上述发明方法。
通过以下对本发明的说明性实施例的详细的描述,并结合附图阅读这一描述,本发明的这些及其它目的、特性与优点将会变得十分明显。


图1是一个流程图,说明了根据本发明的用于对URI的一部分进行编码的优选实施例;图2是一个流程图,说明了根据本发明的用于对URI的一部分进行解码的优选实施例;图3示意性地说明了本发明的优选实施例如何运作;图4说明了把本发明表现为一个服务的另一个优选实施例。
具体实施例方式
现在,将描述本发明的一些优选实施例。以下旨在提供对本发明的实例的详细的描述,而不应该视为对本发明本身的限制。更确切地说,任何数量的变化均可落入本发明的范围,在此描述之后的权利要求中定义了本发明的范围。
首先,为了帮助描述本发明,将解释统一资源标识符(URI)的某些已知的方面及其它们的结构。如本领域所共知,URL是URI的一种类型,通过资源的网络位置的表示来标识资源。URI是一个压缩的字符串,提供了用于在网络上标识资源的可扩展手段。RFC 2396中规定了URI的语法和语义,所述RFC 2396是Internet工程任务组(IETF)在http//www.ietf.org上所发表的一个规范。RFC 2396规范定义了针对所有URI的类属语法。在以下的描述中,我们把URL作为本发明的方法要解决的资源标识的例子来讨论。尽管将通过实例的方式来使用“http”URI方案,但也可以把本发明应用于其它方案,诸如ftp、nfs、afs、dav、mailto、rtsp、pnm、soap.beep等。在各种规范中,即互联网号码分配机构(IANA)所维护的官方列表中,给出了针对不同方案的格式。URI方案的IANA注册簿可得于网络,网址为<http//www.iana.org/assignments/uri-schemes>。
在http的情况下,在IETF规范RFC 2616中描述了这一方案的格式(可得于网络,网址为<http//www.ietf.org/rfc/rfc2616.txt>)。即,对于http,把结构<scheme><scheme-specific-part>指定为http//<host>[<port>][<abs_path>[?<query>]],其中,在本技术领域中众所周知,<host>指的是网络主机的域名或其IP地址;<port>指的是对于服务器的网络端口号。<abs path>部分指的是绝对地址参照,其可以为一个以单斜线字符(“/”)开始的相对参照,<query>成份为一个将由资源加以解释的信息串。以[]加以标记的部分不是必须的。
对于每一个协议而言,均存在相应的URI语法。这些协议的具体定义均具有这样的事实它们由一个必须透明的部分和一个可以不透明的部分组成,所述不透明的部分例如仅需由服务器加以了解。在HTTP的情况下,透明部分是http//<host>[<port>],并且包含协议、主机以及端口,因为它们需要把请求提交于主机服务器。URI的其余部分,例如对于http方案的[<abs_path>[?<query>]],可以被称为不透明部分,因为对于正确提交请求而言,不需要这一部分,而且这一部分仅由主机服务器加以解释。
因此,URI具有人工可读的层次结构,尽管这一结构的资源部分,例如查询组件,通常相应于可以定位的资源的服务器上的一个目录结构。对于到指示目录结构和与其对应的资源的网页的一组URI或超链接,可以以例如下面的形式出现http//www.site.com/resources/2004/paper2.pdfhttp//www.site.com/adv/images/cjdfrwejpghttp//www.site.com/pages/page2.html如以上的例子中所说明的,由于URI是人工可读的,所以资源的这一层次结构可显而易见。
本发明提供了一种方法和计算机实现的指令,用于基于URI的加密,提供对于网站的无状态资源隐藏和对访问控制的支持。该方法使用与密码措施相结合的无状态动态URI重写。根据本发明,提供了一种其中可由服务器对URI的不透明部分进行加密的方法。例如,在http的情况下,该方法提供了对<abs_path>、<query>与/或可能的附加信息的至少一部分的加密。
在本发明以下的描述中,我们把http URI方案作为一个例子。本领域技术人员将会意识到,可以把我们的方法与所有包含不透明部分(例如,ftp、nfs、afs、dav、mailto、rtsp、pnm、soap.beep等)的URI方案一起使用。
现在参照附图,图1是一个流程图,描述了一种用于根据本发明的优选实施例对URI的至少一部分进行编码的方法。如图1中所示,方法10由接收URI20开始,例如以URL语法为例http//<host>[<port>][<abs_path>[?query]]。URI20被分离或提取为透明部分40和不透明部分50。根据20中的例子URI,可以把透明部分(或<transparentpart>)40表示为http//<host>[<port>],并且可以把不透明部分50表示为[<abs_path>[?<query>]]。如块60中所示,可以把不透明部分50与附加信息70加以组合,所述附加信息70可以包括例如客户机的网际协议(IP)地址、时间标记(timestamp)、使用期限、幻数、造词(nonce)、顺序计数器、哈希值、确保完整性的平均值(means)、或本领域技术人员将意识到的其它具体应用信息等。不透明部分50和附加信息70的组合优选地导致50和70以标准化串的格式写入,在图1中,将这一组合称为<不透明部分+信息>80。
可以使用加密算法90以及使用加密密钥100对<opaque part+info>(不透明部分+信息)80或者其某一部分进行加密,以形成<encrypted part>(加密的部分)110。本领域技术人员将会意识到,可以使用多种工业标准或非标准的加密算法中的任何一种,对<opaque part+info>(不透明部分+信息)80中的全部或部分字符串进行加密。尽管为了隐藏资源和URI中的其它支持信息(以下将对此加以讨论)可以对整个串<opaque part+info>(不透明部分+信息)进行加密,然而本发明的这一方法也可以对URI的该部分的某一部分进行加密。
可以对<encrypted part>(加密的部分)进行URI编码120,以形成<encrypted encoded part>(加密的编码部分)140。URI编码120确保加密的部分110在语法上是正确的,并且其符合URI规范;例如,块120对不应处于URI中的字符进行编码。在块130中,<encrypted encoded part>(加密的编码部分)140与<transparent part>(透明部分)40组合,以构造一个按所希望的那样进行编码的URI 150。因此,如图1中的例子所说明的,将URI从如在块20中出现的结构http//<host>[<port>[<abs_path>[?<query>]]编码到如在块150中出现的结构http//<host>[<port>][<encodedURL>]。更一般地讲,对于被表示为<scheme>(方案)<scheme-specific-part>(方案-具体-部分)的任何URI,参照图1所描述的本发明的方法可以对<scheme-specific-part>的一个或多个部分进行加密。
因此,本发明的方法可以有效地隐藏通向资源的路径,与/或可以允许防止向URI篡改性地添加任意信息。例如,可以使用附加信息支持对资源的访问控制,以下将对此更详细地加以解释。
现在参照图2,当服务器接收到一个请求,而且该请求具有一个如以上所描述的已经加密的URI时,可以执行下列程序,以确定或解码<abs_path>、<query>与/或可以被与其一起编码的任何附加信息。在块200处开始,接收编码的URI,其中,编码的URI以下述为例http//<host>[<port>][<encodedURL>]。应该注意的是,这里被称为[<encodedURL>]的部分可以被部分地或全部地进行编码。
在块210处,可以如以下更详细地加以讨论的,对编码的URI的完整性加以验证,然后提取编码的URI的透明部分220和不透明部分230。以http//<host>[<port>]作为图2中的例子中的透明部分220的例子,以<encodedencrypted part>(编码的加密部分)230作为不透明部分230的例子。在块240中,对不透明部分230进行验证,并且对其进行URI解码,以形成<encryptedpart>(加密的部分)250。
在块270处,使用解密密钥(“密钥*”)260对<encrypted part>(加密的部分)250进行解密。密钥*260用于对由加密密钥100所加密的信息进行解密,在前面已经参照图1进行了描述。继续参照图2,块270中解密的结果为URI的解密的部分280,以<opaque part+info>(不透明部分+信息)为例。在块290中,可以如以上所讨论的,对解密的部分280进行验证。在块290中,可以把解密的部分280划分成<opaque part>(不透明部分)300和附加信息310,其中,附加信息310可以包括IP地址、时间标记与/或访问控制信息,或者如上述关于附加信息70的其它信息。
在块320处,使用<opaque part>(不透明部分)300和<transparent part>(透明部分)220形成有效的URI 330。应该加以注意的是,根据图1对其进行加密和编码的以http//<host>[<port>][<abs_path>[?<query>]]20为例的URI与根据图2进行解密和解码的URI 330相对应。可以把这一URI 330传递给网络服务器,以检索URI中所标识的资源。
在图2中,块210、240与/或290还可以执行对URI或其一部分的验证,以确保该串未被篡改。例如,验证可以包括判断URI的资源部分是否被例如通过用户有选择地加以改变,或者判断URI是否被误用于获得不适当的访问,或者判断是否由某一不希望或未经授权的诸如机器人程序(robot)的实体,对某些内容进行了提取或收集。附加信息310还可以包括对URI或其一部分的完整性或真实性进行验证的数据。例如,附加信息310可以包括幻数、顺序计数器或者如上所述有关附加信息70的其它信息。本领域技术人员将意识到,可以按各种方式使用幻数,例如指示所解密的信息是否呈所要求的或所期望的形式。顺序计数器随相继的请求不断增加,并且可用于确定请求的总数。
上述URI加密方案可以提供资源隐藏以及一种用于向URI中添加附加信息的抗篡改方法。隐藏通向所请求的资源的路径,有效地防止了利用URI匹配,通过常规表达式对网络内容进行所不希望的裁减。如本领域技术人员将意识到的,可以使用常规表达式描述诸如URI的串中的模式。然而,根据本发明已经加密的URI除了URI的主机名称部分外,不具有可加以匹配的明显的模式,从而随每个请求而不同;从而防止了所不希望的通过使用URI匹配裁减网络内容的努力。对网络内容的所不希望的裁减的例子包括内容的提取与收集,以及广告的滤出。
向URI抗篡改地添加附加信息,可以用于许多目的。一个目的是为所请求的资源上的访问控制提供支持。例如,可以使用添加于URI上的寿命值,以控制在一个有限的时间量内资源的可访问性。也可把源网际协议(IP)地址或源IP地址的范围添加到URI上,用于控制从何处可访问资源。另外,抗篡改URI防止了对其它有效URI的试探,因为操作过程可自动地使该URI无效。于是,可以应用本发明,以使得不能够为产生一个不同的、有效的URI而修改某一有效的URI。
有利的是,可以在网络服务器上容易地实现本发明的方法,而无需改变每个网络应用。本发明适合已知的客户机软件和互联网基础设施。而且,在服务器侧,本发明所述的方法为无状态的。本发明的这一方面能够使本发明的方法容易地得以实现、较少地使用资源、以及易于达到负载平衡(因为不存在状态共享)。
另外,与要求使用cookie的现有技术的方法相反,可以容易地把根据本发明方法的包含编码的与/或抗篡改信息的URI从一个实体传递到另一个实体,诸如通过电子邮件、即时消息等。取代需要URI和cookie两者来标识资源(如在基于cookie的系统中),本发明的方法能够仅通过已经对其加以编码的与/或已经将其与抗篡改信息加以组合的URI,对资源加以标识,实现无会话访问控制。
本发明的另一个方面涉及对隐私权的保护。例如,已知网络操作员和其他中间人有能力记录对服务器的所有访问的细节。根据本发明已经对其进行加密的URI的登录并非是有效的,因为把URI的有层次的、人工可读的结构转换成了平的、随机化的结构,而平的、随机化的结构隐藏和保护了某些信息,即某一实体可能不希望将它们暴露于其它实体的某些信息。
现在参照图3,可以把本发明的一个实施例作为网络服务器模块400加以实现,其中,网络服务器模块400可以对URI进行加密和解密,而且对网络内容的提供商和消费者来说都是透明的。
当网络服务器410使用加密的URI从客户机430接收到请求420时,根据上述关于图2的方法,对该URI进行解密/解码440。可以对加密的URI进行额外的验证(未示出),并且可以随任何附加信息450将其传递给适当的处理程序460。该处理程序(handler)460,可以是网络应用,可以使用附加信息,用来进行访问控制或者用于裁剪网络内容。根据该实施例,处理请求的应用460不需要知道正在执行本发明的URI加密方法。
在将客户机请求420的处理程序460所创建的响应470传递480给请求客户机430之前,可以由网络服务器410中的模块400进行处理。通过例3中的方法,响应470可以呈其中嵌入了一个或多个URI的HTML页面的形式。可以根据某种可配置策略,优选地使用上述关于图1的方法,在490和500从响应470中提取出响应470中所找到的一个或多个URI的一个或多个部分,并且由模块400对它们进行加密/编码510。
应该理解,此处使用术语“URI加密”和“加密的URI”是为了方便和简洁地参照上面参照图1和2所描述的方法的各个方面,从而由<sheme><scheme-specific-part>所代表的URI,可以具有加密的和编码的(图1)或解密的和解码的(图2)的<scheme-specific-part>的一个或多个部分。
根据本发明的一个可选的实施例,可以使产生所服务的内容的网络应用知道URI加密的技术,并且可以独立于网络服务器对所希望的URI进行加密和解密。应用本身可以执行加密和解密,或可以将其发送至其应用服务器中的一个附加的专门化的功能,或者利用执行本发明的方法的专门化的工具或API。
根据本发明的另一个实施例,可以把本发明表征为如图4中所说明的服务。本发明使服务提供商600可以把加密的URI作为电子票据提供给某些资源,所述某些资源由资源提供商实体610分别加以提供。例如,资源提供商实体可以提供通过对URI的使用而可得到的任意种类的资源,诸如网页、数据文件、音乐、图像、流媒体等。服务提供商600,例如经纪人或销售商,可以针对某种费用或者作为资源提供商实体610利益的商业提供物的一部分,发布电子票据。电子票据可以包括对于提供访问的资源与/或要被授予访问权的用户所需的所有信息。例如包括发行和有效时间可以把这些信息包括在URI的加密的部分中,如从以上的描述所见,所述URI可以包括与访问控制相关的附加信息,例如70和310。由于对该信息进行了加密,所以其被隐藏,并且是抗篡改的,而且它阻止用户或未经授权的实体对其进行修改。
根据本发明的该实施例,可以在电子票据中提供所有必要的信息。因此,不必把票据600的发布者与把访问权授予给定资源的网络服务器610相连。例如,销售者、经纪人或者其他服务提供商600可以与购买或者请求630访问对在内容提供商或资源提供商的网络服务器610上可得的某一具体资源进行访问的买主620或者用户进行交互。服务提供商或者经纪人可以通过提供根据上述方法对其加密的URI,来在640响应请求或者购买。可以经由多种已知的方法中的任何一种方法,例如通过供应网页,或者经由电子邮件、即时消息、SMS(短信)等,容易地把URI在640传达给请求者620。加密的URI可以包括例如在具体的时间、根据具体的服务级别、与/或按可加以裁剪的具体方式,把对一个或多个具体的资源的访问权授予诸如无线或渗透式计算设备的客户机设备的信息。
当在外部资源制造商服务器610上接收对资源的访问请求630之后,服务提供商600(或者“电子票据发布者”)可以首先判断是否已经满足了任何事务处理要求。事务处理要求可能涉及付费与/或管理请求者620是否可以访问服务提供商600与/或610处的资源的其它要求。例如,服务提供商600可以与请求者620进行交互,以接收支付,或者可以判断是否已经付费或所请求的访问是否需要付费。服务提供商600还包括一个或多个用于为资源供应客户机请求和在某一数据存储设备(未示出)中存储事务处理细节的供应过程(未示出)。
然后,电子票据发布者600可以使用预先确定的密钥创建URI,该URI具有预先确定的结构,随后客户机620可以使用这一预先确定的结构在650请求资源提供商610处的资源670。服务提供商600和资源提供商610所使用的预先确定的密钥,既可以是对称的密钥也可以是非对称的密钥(例如,分别参见图1和2中的密钥100和260)。于是,如果服务提供商600向请求者620在640发布加密的URI,所述请求者620之后使用该URI寻求对资源制造商服务器610处的资源670的访问650,则资源制造商610可以使用预先确定的密钥对该URI进行解密。
可以用服务提供商600和资源制造商610在660预先确定URI的结构和加密密钥,以致资源制造商可以验证已经满足某些要求。例如,预先确定的结构可以包括指示,所述指示为请求者已经为对资源的访问付费,或者请求者至少为18岁;或者请求者可以在一个指定的时间周期获得对资源的访问;或者已经指定了具体的服务级别等。通常,在服务提供商600向请求者620在640发布电子票据之前,在经纪人600和资源提供商610之间安排660密钥和结构的具体内容。URI的预先确定的结构可以更普遍地包括预先确定的支持完整性、访问控制、会话管理、与/或具有专门目的的应用的数据。
如果把地址赋予了受保护的资源,则服务提供商600根据此处所公开的本发明的方法,创建加密的URI。然后,服务提供商600向请求者620发送或发布640该加密的URI。
在接收到这一加密的URI之后,用户620可以选择、点击、或者激活该URI,所述URI提供了对在资源提供商服务器610处可得的某些所希望的内容或资源的链接。根据本发明的该方面,对资源的访问进行授权的网络服务器610不需要具有与在640发布加密的URI的服务提供商实体600的直接的链接。资源提供商610可以独立地对URI进行解密、判断是否可以授予访问权、验证包含在URI中的信息、与/或可以在向请求者620供应资源之前,根据上述本发明的方法有选择地对URI进行加密。例如,资源提供商610优选地使用与以上所讨论的由对URI进行加密的实体600所使用的方案相对应的密钥、或者加密或解密方案。从而,经纪人或服务提供商600和资源提供商610可以建立服务关系660,其中,把电子票据的供应640与资源的服务670相分离。
在另一个实施例中,内容提供商服务器可以使用本发明,以支持对自动装置或其它入侵者的检测。例如,通过各种实体在互联网上使用机器人程序以自动地重复诸如浏览网站以及下载其内容的工作。由于机器人程序的行为类似于其他、正规用户的行为,所以难以检测到它们。内容提供商可以通过把一个隐藏的“污点”编码于其URI中以支持自动装置检测而使用本发明。根据本发明,把污点包含于所加密的URI中,从而使其可以把多个源自同一网页的请求相关联,即使客户机使用多个IP地址。
在另一个实施例中,可以把本发明的方法用于向URI添加抗篡改参数。向URI添加的有用的参数是所请求的资源的期满时间。通过对添加于URI的参数进行加密,资源提供商可以在有限的时间量内把对某些内容的访问权赋予客户。如果请求者在期满时间或日期过后试图使用具有加密的参数的URI访问资源,则本发明的方法可用于对URI参数进行解密,对其进行有效性检查,以及拒绝访问。作为选择,资源提供商服务器可以把请求者重新导向可选网页,从而给予请求者购买更长访问权的机会。
本发明还可有助于确保对资源的公平使用,所述资源是使用本发明的URI加密方法、以某种受控的方式加以供应的。例如,如果客户购买了对某些资源的访问权,例如对在线字典或游戏的访问权,则向该客户提供用于定位和访问这些资源的URI。使用本发明的方法,可以把客户的IP地址添加于URI的加密的部分。通过以这种方式发布URI,资源提供商可以防止客户与其他人、非付费用户共享他或她的访问权,因为仅向来自被嵌入URI的加密的部分中的IP地址的请求授予访问权。
另外,由于本发明可用于隐藏URI中通常可见的目录结构,所以本发明能够阻止用户猜想URI,而是要求用户使用超级链接。而且,如果资源提供商希望防止用户封锁诸如广告的内容,则本发明可用于实现这一点。加密的URI看上去是随机的,因此,可防止对选择性内容封锁的逻辑结构的不希望的使用或篡改。另外,由于加密的URI是无状态的,所以可以在极高负载的情况下将其用于服务器中,诸如用于主要体育赛事的网络服务器等。
本发明的优选实现之一为应用程序,即代码模块中的一组指令(程序代码),所述代码模块例如可驻留在计算机的随机访问存储器中。在计算机需要其之前,可以把这组指令存储在另一个计算机存储器中,例如,存储在硬盘驱动器上,或者存储在诸如光盘(用于最终在CD ROM中的使用)或软盘(用于最终在软盘驱动器中的使用)的可移动存储器中;或者经由互联网或其它计算机网络加以下载;或者经由任何传输类型的媒体被分发,诸如数字模拟通信链路、使用诸如射频和光波传输的传输形式的有线或无线通信链路。因此,可以作为在计算机中使用的计算机程序产品而实现本发明。另外,尽管可以在通用计算机中方便地实现所描述的各种可由软件有选择地激活或配置的方法,然而本领域技术人员将会意识到,也能够以硬件、固件、或其构造旨在执行所要求的方法步骤的更专门化的装置的形式来实现这些方法。
而且,对于本领域技术人员是显然的,也可以由包括一种机器可读介质的一款产品执行本发明的这些方法,所述机器可读介质含有一个或多个程序。另外,明显的是,本发明描述了一种可以由在诸如内容或服务提供商、内容或服务请求者、经纪人与/或中间人的利益上的数据通信网络成分执行的方法。
已经为了说明性和描述性的目的而给出了本发明的描述,而且并未试图以所公开的形式无遗漏地描述本发明,或对本发明加以限制。在不背离本发明的范围与精神的情况下,本领域技术人员可以对本发明进行多方面的修改或者变更。对优选实施例的选择与描述,旨在最好地解释本发明的原理和实际的应用,以及可使本领域中的其他技术人员能够理解本发明的具有各种修改的不同的实施例,其中的修改适合于所期望的具体的应用。
权利要求
1.一种用于对资源提供商服务器上的资源提供受控访问的方法,该方法包括响应来自客户机的资源请求,其中资源请求包括一个统一资源标识符(URI),所述URI具有加密的部分;使用预先确定的密钥对加密的部分进行解密,以获得解密的段;从解密的段中提取附加信息;验证该附加信息;导出至少具有解密的段的一部分的解密的URI;以及把解密的URI发送至资源制造商服务器。
2.根据权利要求1所述的方法,其中,所述附加信息包括支持完整性、访问控制、会话管理和具有专门目的的应用的至少之一的数据。
3.根据权利要求1所述的方法,其中,验证附加信息包括把包含在附加信息中的访问控制细节与存储在一个数据存储装置中的访问控制数据进行比较。
4.根据权利要求1所述的方法,还包括对加密的部分进行验证。
5.根据权利要求1所述的方法,还包括对加密的部分进行解码。
6.根据权利要求1所述的方法,还包括从资源提供商服务器接收响应于请求的资源,其中资源包括一个或多个具有一个透明段和一个不透明段的未加密的URI;至少对不透明段的一部分进行加密;以及形成具有透明段和加密的段的加密的URI。
7.根据权利要求6所述的方法,还包括从不透明段和附加信息形成组合段,并且对该组合段进行加密,以形成加密的部分。
8.根据权利要求7所述的方法,其中,其它附加信息包括支持完整性、访问控制、会话管理和具有专门目的的应用的至少之一的数据。
9.根据权利要求6所述的方法,还包括把加密的URI发送至客户机。
10.根据权利要求6所述的方法,还包括对加密的部分进行解码。
11.一种存储在计算机可操作的媒体中的计算机程序产品,用于控制对资源制造商服务器的访问,包括存储介质;指令,用于接收具有一个透明部分和一个编码的加密部分的统一资源标识符(URI);用于提取编码的加密部分的指令;用于对编码的加密部分进行解码,以获得加密的段的指令;用于使用预先确定的密钥对加密的部分进行解密,以获得解密的段的指令;用于从解密的段中提取附加信息的指令;以及用于验证该附加信息的指令。
12.根据权利要求11所述的计算机程序产品,还包括用于产生根据透明部分和加密的段的至少之一所导出的第二个URI的指令。
13.根据权利要求12所述的计算机程序产品,还包括用于把第二个URI发送至与资源制造商服务器相关的应用程序的指令。
14.根据权利要求11所述的计算机程序产品,还包括指令,用于接收包括具有一个透明段和一个不透明段的一个或多个未加密的URI的资源;指令,用于对根据透明部分和不透明段至少之一所导出的数据进行加密;用于对加密的数据进行编码的指令;以及用于形成具有透明段和编码的加密数据的加密的URI的指令。
15.根据权利要求14所述的计算机程序产品,还包括用于把加密的URI发送至客户机的指令。
16.一种机器可读的程序存储设备,其明确体现了可由机器执行的指令的程序,以执行一种方法,所述方法用于向资源提供商服务器处的资源提供受控的访问,该方法包括获得具有加密部分的统一资源标识符(URI);使用预先确定的密钥对加密的部分进行解密,以获得解密的段;从解密的段中提取附加信息;验证该附加信息;形成具有解密的段的至少一部分的解密的URI;以及把解密的URI发送至资源制造商服务器。
17.根据权利要求16所述的程序存储设备,其中,该方法还包括把包含在附加信息中的访问控制细节与存储在数据存储装置中的访问控制数据进行比较。
18.根据权利要求16所述的程序存储设备,其中,该方法还包括对加密的部分进行验证。
19.根据权利要求16所述的程序存储设备,其中,该方法还包括对加密的部分进行解码。
20.根据权利要求16所述的程序存储设备,其中,该方法还包括从资源提供商服务器中获得资源,所述资源包括一个或多个具有一个透明段和一个不透明段的未加密的URI;至少对不透明段的一部分进行加密;以及形成具有透明段和加密的段的加密的URI。
21.一种用于向外部资源制造商服务器提供能够实现受控访问的服务的方法,包括对来自客户机的对资源的访问的请求进行响应,判断是否满足一个或多个事务处理要求;如果满足一个或多个事务处理要求,则响应于该请求而创建统一资源标识符(URI),其中该URI包括在预先确定的结构中的预先确定的数据;对URI的至少一部分进行加密;以及响应该请求,发送具有加密的部分的URI。
22.根据权利要求21所述的方法,还包括把与该请求相关的事务处理细节存储在数据存储装置中。
23.根据权利要求21所述的方法,还包括对URI的加密的部分进行编码。
24.根据权利要求21所述的方法,还包括分别地把预先确定的数据和预先确定的结构传送给外部资源制造商。
25.根据权利要求21所述的方法,还包括把与资源请求相关的事务处理细节传送给外部资源制造商,以得到付费。
26.根据权利要求21所述的方法,其中,一个或多个事务处理要求包括从客户机付费。
27.根据权利要求21所述的方法,其中,一个或多个事务处理要求包括判断客户机是否满足一个或多个访问要求。
28.根据权利要求21所述的方法,其中,判断是否满足一个或多个事务处理要求包括把包含在请求中的访问控制细节与存储在数据存储装置中的访问控制数据进行比较。
29.根据权利要求21所述的方法,其中,具有加密的部分的URI是电子票据。
30.根据权利要求21所述的方法,其中,预先确定的数据包括支持完整性、访问控制、会话管理和具有专门目的的应用的至少之一的数据。
全文摘要
公开了一种能够对资源提供商服务器上的资源进行受控访问的装置与方法。本发明根据用于隐藏资源与/或提供访问控制支持的无状态的方法,可以对统一资源标识符(URI)的部分进行加密或解密。在接收到具有加密的部分的URI之后,本发明使用一个预先确定的密钥对加密的部分进行解密,以获得解密的段,在把解密的URI发送至资源制造商服务器之前,从解密的段中提取附加信息,并且形成一个解密的URI。本发明也可以在响应于客户机请求而把URI发送到客户机之前,对来自资源提供商服务器的URI进行解密。
文档编号G06F17/30GK1777090SQ20051011615
公开日2006年5月24日 申请日期2005年10月24日 优先权日2004年11月18日
发明者克里斯·P·范登伯格, 塔德兹·J·皮特拉斯泽克, 克里斯托弗·J·吉布林, 詹姆斯·F·里奥丹 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1