CN1744504A - 用于服务资源定位符的请求的方法 - Google Patents

用于服务资源定位符的请求的方法 Download PDF

Info

Publication number
CN1744504A
CN1744504A CNA2005100978299A CN200510097829A CN1744504A CN 1744504 A CN1744504 A CN 1744504A CN A2005100978299 A CNA2005100978299 A CN A2005100978299A CN 200510097829 A CN200510097829 A CN 200510097829A CN 1744504 A CN1744504 A CN 1744504A
Authority
CN
China
Prior art keywords
urls
control information
steps
url
institute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100978299A
Other languages
English (en)
Other versions
CN100421376C (zh
Inventor
拉伊吉索尔·巴里克
马尼什·P·库尔赫达尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1744504A publication Critical patent/CN1744504A/zh
Application granted granted Critical
Publication of CN100421376C publication Critical patent/CN100421376C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开一种用于服务资源定位符的请求的方法。根据本发明,资源定位符(例如,URL或类似引用)加入了根据适于特定应用的预定格式结构化的加密控制信息。从资源定位符确定该控制信息,并且根据该控制信息来处理资源定位符。返回对所请求的资源定位符的响应。

Description

用于服务资源定位符的请求的方法
技术领域
本发明涉及万维网事务的能力支持。
背景技术
“站点跳转”和“后退按钮”问题是在万维网站点上运行的很多电子商务应用的问题。用户需要以特定次序与网站的页面交互,以便执行有效的事务。应付这些问题的现有措施典型地依赖于客户端浏览器,其可能被危害而违反网站的完整性。
当前在万维网服务器中使用的认证措施通常使用访问控制机制来实现。访问控制列表将用户名及其相关联的密码制成表格。应用服务器将由用户提供的用户名和密码与在该访问控制列表中所存储的这些信息进行匹配。这样的基于访问控制的机制不能针对要求更复杂或高级的功能性的应用而适当地扩展。
在1999年11月23号颁发给Microsoft公司且发明名称为“Methodand System for invoking methods of objects over the internet”的美国专利申请第5,991,802号中,概述了解决使用用户名和密码的限制的一种尝试。该参考文献描述了客户端计算机系统调用由服务器计算机系统提供的对象类的对象的函数。客户端向服务器发送请求,其中该请求包括标识脚本、对象类和要调用的该对象类的函数的统一资源定位符(“URL”)。响应于接收到该请求,服务器启动脚本并且将控制转移给该脚本。
该脚本实例化在所接收请求的URL中标识的对象类的对象,并且调用在该URL中标识的函数。所调用的函数执行该函数的行为,创建要发送给客户端浏览器的响应,并且将该响应发送给客户端浏览器。该响应包括描述在执行该函数的行为之后的对象状态的状态信息。当客户端浏览器随后发送要调用该对象类的函数的请求时,将该状态信息包含在该请求中,从而该函数可以根据该状态信息操作。虽然在该参考文献中描述的“状态-满(state-full)”在很多上下文中是有帮助的,但是特别是对于基于万维网的应用,它只提供了基本级别的处理性能。
因此,需要在电子网络上执行事务的改进方式。
发明内容
在此描述的技术使得万维网服务器能够提供对网站资源的受控访问。可以在事务中防止无序操作,从而提供了分布式认证机制。访问控制可以跨越多个管理域来实现。可以确保对网站资源的有序访问,从而限制客户端浏览器以特定顺序访问资源。
接收资源定位符(例如,统一资源定位符-URL-或类似引用),其加入了根据预定格式结构化的控制信息。根据预定格式,从资源定位符确定该控制信息。可以使用多种格式,其中每种格式适合于特定网站所提供的特定类型的请求或事务。根据所加入的控制信息来处理资源定位符,其指导(govern)如何处理资源定位符请求。然后,系统可以响应所请求的资源定位符。
控制信息可以指定如下细节,即对于特定次数的资源定位“点击”、对于给定时间段、或者对于特定数目的事务,所定位资源的有效性。类似地,控制信息可以指定只有特定的细节可以被访问或者只以特定次序被访问。在控制信息中所编码的限制被裁制(tailor)成适合特定应用。
所述技术可以在万维网服务器和应用服务器之间“透明地”实现,并且可以被加入到现有网站的操作中而无需大量的修改。
附图说明
图1是实现在此所描述的性能支持特性的网关CGI组件的各组件的示意图。
图2是在处理加入了访问控制信息的类型1URL时所涉及的各步骤的流程图。
图3是在处理加入了访问控制信息的类型2和3URL时所涉及的各步骤的流程图。
图4是用于参照图1所描述的类型的示例网关CGI组件的事件跟踪(event-trace)。
图5是适用于执行在此所描述的技术的计算机系统的示意图。
具体实施方式
图1示意性地表示加入到现有万维网服务器架构中的网关CGI组件130。网关CGI组件130在万维网服务器120和应用服务器190之间工作。网关CGI组件130修改现有统一资源定位符(URL)结构,以加入能力控制信息(CCI),并且还在URL被提供给网关CGI组件130时验证在URL中编码的“能力”。
能力使用CCI嵌入在所述URL中。这些能力可以包括:仅对特定数目的“点击”的有效性、对给定时间段的有效性、对特定数目的事务的有效性、访问特定资源的授权、以及访问这些资源的次序。可以根据需要来指定和处理各种能力。
能力包括用户事务的“权限”的集合。CCI可以被安全地加密,以确保能力不能被重建(reconstruct)。实现这点的一种方法是确保CCI携带URL的校验和,从而阻止用户篡改或伪造在URL中所加入的CCI。
加入了CCI的URL的拥有被认为是用户可以以由CCI描述的方式并且仅以该方式执行事务的确凿证据。加入了CCI的URL可以被签名和加密,因此不易于被“伪造”。
CCI可以以如下方式进行编码:经由网站从应用服务器190可得到的每个资源具有与源相关联的能力。能力可以以二进位形式表示,主要是二进制1或0。二进制“1”表示资源可以被访问,而二进制“0”表示资源不能被访问。只有在URL中所加入的CCI所指定的能力是该URL正在引用的资源的能力的超集或等集,才允许客户端110访问该资源。如果资源具有相关联的能力,并且客户端110不具有在相关URL中所加入的CCI中指定的所需能力,则不如URL所请求的那样处理该请求。
因此,站点A可以生成基于能力的安全URL(也就是,加入CCI)并且将这样的URL分发给其用户。然后,这些用户可以在网站B处提供这些安全URL。基于能力的URL携带在网站B处所需的控制信息。
网关CGI组件130在后端数据库170和配置文件160的帮助下施加能力限制。不是万维网服务器120将在URL中指定的所请求资源直接转发给应用服务器190,而是将请求发送给网关CGI组件130,其中网关CGI组件130参考在客户端110最初提供的URL中所编码的CCI,确保不违反任何相关“能力”。
在确定不存在能力违反之后,网关CGI组件130将所加入的CCI从URL中去除,并且将此时修改后的“常规”URL重定向到应用服务器190。相反地,网关CGI组件130截取来自应用服务器190的所有结果页面,并且修改在URL中所包含的超链接,以适当地加入CCI。网关CGI组件130对于万维网服务器120和应用服务器190是“不可见”的。这样,这种方案可以提供跨越多个管理域的事务能力。
可以是常规URL或加入了CCI的URL的每个URL请求首先被提供给万维网服务器120。万维网服务器120检查客户110请求访问的资源是否在没有能力控制限制的情况下被服务。如果客户端110请求访问具有关联能力的资源,但是URL请求不是包括了任何CCI的URL,则万维网服务器120在将该请求记录在日志中以便进一步调试之后,将错误页返回给客户端110。普通URL请求被直接提供给应用服务器190。各种资源的能力存储在配置文件160中,其可以被网关CGI组件130访问。该网关CGI组件130在万维网服务器120上执行。然而,网关CGI组件130也可以在应用服务器190上或者在万维网服务器120和应用服务器190之间的任何地方执行。
应用服务器190执行后端处理并且返回结果页面。另一方面,如果将加入了CCI的URL提供给万维网服务器120,则万维网服务器120使用该URL调用网关CGI组件130,以便进一步处理CCI。
网关CGI组件130将加入了CCI的URL视为来自万维网服务器120的输入,并且执行特定处理。能力限制的违反将发送错误页给万维网服务器120并且将请求记录在日志中以便将来调试。相反地,如果没有违反能力,则将排除了CCI的所请求URL转发给应用服务器190,以便执行进一步的基于事务的处理。
一旦处理完成,应用服务器190将结果页面返回给网关CGI组件130。修改该结果页面中的所有超链接,以加入适当的CCI。修改由页面修改器180来执行,该页面修改器180修改超链接,以加入CCI和状态信息,以将超链接变成类型-2URL。最后,通过万维网服务器120将修改后的结果页面发送回到客户端110。
网关CGI组件130可以采用CGI脚本或Java小服务程序(Servlet)来实现,并且可以以与其它组件相同的方式加入到现有万维网服务器120中。网关CGI组件130可以在万维网服务器120内执行,或者用截取从万维网服务器120到应用服务器190的请求的中间服务器来执行,或者可以作为应用服务器190的前端接口来执行。
在URL中编码CCI
在URL中所加入的CCI对特定于具体应用的控制信息进行编码。在基于万维网的事务的上下文中,对于典型应用出现的例子包括:URL有效的事务数,URL有效的持续时间,表示可被访问的资源的能力信息,以及所使用的加密模式。通过添加例如可以是简单校验和的加密模式,URL是安全的。所加入的实际信息特定于每个具体应用,不过由于这些应用的共同性,很多应用可以使用类似的控制信息。
下面表1提供了三种加入了CGI的URL的各自格式,下面将对每种格式进行进一步的描述。类型1URL具有在不同的网站(可能是不同的管理域)发起新事务的能力。类型2URL用于继续正在进行的事务。类型3URL加入特殊的“自动-加载”URL如内联图像(HTTP超文本传输协议中的IMG-SRC)以及带框架的页面。
                               表1
类型1URL-初始URL
<Protocol>://<Domain-name>/<gc-path>/<Document-
path>/<Capabilities>/<IssuerID>/<Generation-Time>/<Max-Age>
/<Number-of-access>/1/<Cryptographic-authentication>
类型2URL-正在进行的事务-URL
<Protocol>://<Domain-name>/<gc-path>/<Document-
path>/<Expiry-Time>/<Transaction-Index>/<Transaction-
State>/2/<Cryptographic-authentication>
类型3URL-SRC事务URL
<Protocol>://<Domain-name>/<gc-path>/<Document-path>/
/<Expiry-Time>/<Transaction-Index>/<Transaction-
State>/3/<Cryptographic-authentication>
对于所有类型的URL公共的是“Protocol”字段,其是指用于在因特网上通信的相关协议,例如HTTP、HTTPS、SHTTP或FTP。“Domain-name”字段是指用点号(“.”)分隔的域标签序列。按照惯例,每个域标签以字母数字字符开始和结束,并且可能还包括短划线(“-”)字符。“gc-path”字段是指万维网服务器120上网关CGI组件130的位置,而“Document-path”字段是指文件可被访问的路径。“1”、“2”、“3”字段用于区分URL的各自类型。下面将更详细地描述这些类型的URL中的每一个。
类型1URL
带CCI的类型1URL是在万维网服务器120处生成的初始URL。例如在事务的开始时使用类型1URL。这些URL可以被分发给所有客户端110或仅仅特定客户端110。
“Generation-Time”和“Max-Age”字段确定URL何时“期满”,也就是,由“Generation-Time”和“Max-Age”的组合所表示的时间,在此之后,URL所表示的资源不能被访问。“Number-of-access”字段是指URL有效的事务数。同样地,在先前访问了指定次数之后,该URL所表示的资源不能被访问。
“Capabilities”字段是指定URL能力的二进制位串。万维网服务器120的管理员可以在配置文件160中指定万维网服务器120的各个资源的所需能力。只有URL的能力是访问特定资源所需的能力的超集,请求才被服务。
“IssuerID”字段是万维网服务器120的用户标识符,其签发/生成了该加入了CCI的URL。“Cryptographic-authentication”字段用来阻止用户篡改URL,这是因为在不经过非同寻常的努力的情况下该字段不能被容易地复制。“Cryptographic-authentication”字段可以基于秘密密钥加密或密钥化散列(keyed hash)。由于秘密密钥加密需要消息认证,因此系统不能加密URL,因此出于性能的原因,密钥化散列是优选的。其意图是阻挠可能希望伪造URL的恶意用户,因此随同CCI一起,将加密模式添加到URL。一个这样的加密模式例子是随同URL一起附加的检验和。这避免了恶意用户伪造URL。恶意用户可以通过修改出现在URL中的期满日期或其它项目来修改URL,但是该措施防止了成功使用如此修改过的URL。
在密钥化散列加密的情况下使用的密钥是共享密钥,加入了CCI的URL的签发者/生成者与如上所述响应来自客户端110的万维网服务器120共享该密钥。
类型2URL
类型2URL用于“正在进行的事务”。类型2URL加入了这样的CCI,其向网关CGI组件130表示在数据库170中正在引用哪个事务以及该事务的状态。类型2URL具有“Transaction-Index”字段,其是数据库170的字段中对应条目的索引,从而当点击这些URL时,可以将这些链接引用到数据库170中的正确条目。“Expiry-Time”字段表示当前事务被中止或无效的时间。
“State”字段表示正在进行的事务的状态。初始地,当事务开始时,数据库170的“状态”为0。对于事务的每个随后转变(包括客户端110的随后访问),相应地递增该状态。该状态值存储在类型2URL中,从而当点击这些类型2URL时,通过数据库字段170验证URL的状态匹配数据库170的状态。这样,可以约束客户端110仅以特定次序访问URL。如果客户端110试图“保存”该URL,继续事务,并且想要在以后使用所保存的URL,则URL的状态将不匹配存储在数据库170中的状态,并且将相应地处理该请求,从而产生适当的错误。
在带CCI的类型2URL中,通过仅为在其中执行事务的万维网服务器120所知的局部密钥来执行密钥化散列。
类型3URL
类型3URL用于来自客户端110的源(“SRC”)请求。这些URL也在URL是SRC请求时生成。这些SRC请求可以由于图像、图像映射、服务器侧包含、以及使用HTTP发出的其它这样的请求。类型2和类型3URL的格式是相同的。然而,当请求类型3URL时,因为在逻辑上事务尚未进入新状态-而是在相同状态下请求更多的页面,所以不递增数据库170中的状态。这些URL存在于正在进行的事务的页面上。
网关CGI组件的子组件
图1示意性地表示网关CGI组件130的各个子组件及其交互。网关CGI组件130具有以下内部子组件:
·CCI生成组件155将常规URL转换成加入了CCI的URL,其随后被提供给网关CGI组件130,以便认证。
·CCI验证组件140检查在URL中加入的CCI的真实性。这确保了在由CCI生成组件155提供URL之后该URL未被篡改。
·能力确认(validation)组件150检查在URL中加入的CCI是否具有访问在URL中引用的资源的所需能力。
·页面修改器组件180将适当的CCI加入到作为从应用服务器190接收的每个结果页面的超链接而嵌入的URL中。
·配置文件160是包含关于万维网服务器120处的资源的能力信息的静态配置文件。
·数据库170用于存储与能力和当前事务状态相关的数据。数据库170还包含关于各个当前事务的信息,例如其状态、并行连接数、期满时间等。
万维网服务器120首先将加入了CCI的URL提供给CCI验证组件140。CCI验证组件140检查URL的数据完整性,并且馈送给能力确认组件150。能力确认组件150验证所有能力限制,并且将请求转发给应用服务器190以便处理。最后,由页面修改器组件180修改来自应用服务器190的结果页面,并且通过万维网服务器120将其发送到客户端110。下面更详细地描述网关CGI组件130的各个组件。
CCI生成
CCI生成组件155与配置文件160交互,并且不参与网关CGI组件130的普通事务处理功能。网关CGI组件130的CCI生成组件155生成带CCI的URL,其通过各种可能的信道被分发给客户端110。例子包括网页或电子邮件上的广告链接。换句话说,CCI生成组件155生成带CCI的类型1URL。给定普通URL,该CCI生成组件155包括以下能力信息:对于给定时间段的有效性,对于特定数目的事务的有效性,访问来自万维网服务器120的某些资源的授权。然后,CCI生成组件155加密该信息。
在多站点交互的情况下,在两个万维网服务器120之间共享密钥。通过与能够被访问的资源有关的CCI在配置文件160中提供该密钥。其它CCI如有效期和有效事务数也在配置文件160中作为CCI被指定。所有这些信息在类型1的URL中被编码,然后使用两个万维网服务器120之间的共享密钥被加密。
CCI验证
首先由CCI验证组件140来验证提供给网关CGI组件130的包含加入了CCI的URL的每个请求。也就是,如果由一个万维网服务器120生成加入了CCI的URL,则使用私钥来解密并且确保该内容未被用户篡改。如果加入了CCI的URL由无关管理域中的另一个万维网服务器120生成,则可以使用共享密钥来解密并且检查该数据是否真实。执行解密的密钥基于加入了CCI的URL中的“IssuerID”字段来确定。
如果签名验证失败,则通过万维网服务器120将错误页面提供给客户端110。一旦成功验证,则将该URL发送给能力确认组件150。
能力确认
网关CGI组件130的能力确认组件150确保加入到URL中的CCI未“被违反”。数据库170存储两个数据表(表2的“MainTable(主表)”和“VariableTable(变量表)”,如下所述)、以及配置文件160,其中配置文件160指定针对万维网服务器120的所有资源维护的能力信息。“MainTable”数据库表包括关于能力的信息,而“VariableTable”数据库表包含关于同时发生的多个正在进行的并行事务的信息。下面的表2提供了MainTable和VariableTable数据库表的内容。
                              表2
  MainTable
  URL   GeneratedTime   MaxAge   UID   NumTimesLeft   NumSimmConn
  VariableTable
  TimeToRemove   State   Capabilities   Back Pointer
“MainTable”中所存储的字段是“GeneratedTime”(其是带CCI的URL的创建时间)、以及“MaxAge”(其是该URL有效的持续时间),从而系统知道该URL何时期满,并且由此能够根据时间来限制对资源的访问。“NumTimesLeft”字段也被维护,从而URL可以不被使用超过最大允许事务数。用户ID(UID)和URL文档路径被存储以保持哪个其它网站生成了URL以便访问该网站的哪些部分的日志。然后,例如,可以根据这些参与网站之间的协定对这些外部网站进行适当的收费。
关于当前事务的信息存储在上面图2表中表示的“VariableTable”中,该表中的基本字段是“State”字段。这个字段表示从“0”开始的事务当前状态。字段“Time-To-Remove”是指在其之后中止并从VariableTable中去除当前事务(对应于该VariableTable条目)的时间。在类型2URL中,“Expiry”字段的值正好为VariableTable数据库表的“Time-To-Remove”字段的值。“Back Ptr”字段是到对应MainTable条目的外部键。VariableTable数据库表还包含用于特定事务的能力信息。
数据库170的MainTable中的字段“NumSimmConn”是指对应于MainTable中的特定条目所发出的同时请求的当前数目。这受限于“NumTimesLeft”的最大值,也就是,(对于该URL)剩余的事务数。保持该限制,从而即使通过淹没(flooding)万维网服务器120,用户也不能超过指定限制来访问事务。也就是,在与MainTable中的单个条目相对应多个事务在应用服务器190上运行的情况下,网关CGI组件130允许更多的请求通过网关CGI组件130,因为“NumTimesLeft”不被页面修改器180减小。这样,多于所需数目的请求可被处理。这个字段确保了不允许超过最大数目的访问。
页面修改器
在应用服务器190执行后端处理之后,与VariableTable中的条目对应的结果页面被提供给页面修改器组件180。然后,应用服务器190解析整个文档,并且修改该文档中的超链接。
在结果页面是最终页面的情况下,页面修改器组件180从VariableTable中去除对应于正在进行的事务的条目,从而表示事务的结束。另外,在MainTable中递减“NumTimesLeft”字段。
在修改结果文档其中结果文档不是最终页面之前,页面修改器组件180还递增VariableTable中的“State”字段。这样做是为了避免状态跳转和后退按钮的问题。
页面修改器组件180修改结果页面中的超链接的URL。假如超链接为类型“IMG SRC”或参考框架,则页面修改器组件180将这样的超链接修改成带CCI的类型3URL。从VariableTable中提取类型3URL所需的信息。否则,如果超链接不为类型“IMG SRC”,则该将该超链接转换成带CCI的类型2URL。
页面修改器组件180知道与客户端110的同时连接,并且能够将结果页面与“VariableTable”中的对应条目相关。最后,将结果页面发送到万维网服务器120。
配置文件
配置文件160是平面(flat)静态文件,其包含用于网站所有资源的能力控制信息。资源可以作为正则表达式(regular expression)来表达,并且能力信息被编码成二进制位串。还在配置文件160中指定表示事务最终状态的页面。
对于多个管理域,提供了关于共享密钥、生成时间、最大年龄、URL有效的事务数以及URL能力的信息。网关CGI组件130的CCI生成组件155使用该信息生成用于其它域的带CCI的URL。
用于处理URL的过程
图2是在处理类型1URL时所涉及的各步骤的流程图,而图3是在处理类型2和3URL时所涉及的各步骤的流程图。
当将带CCI的类型1URL提供给能力确认组件150时,通过来自所请求URL的对应条目在MainTable中生成一个条目,并且还在VariableTable中生成一个条目,从而表示事务的开始。如果再次点击相同的类型1URL,该URL仅被引用到相同的MainTable条目。不生成新的条目。然而,在VariableTable中生成新的条目,由此表示对应于原始URL的另一个新事务的开始。因此,对应于MainTable中的每个条目,在VariableTable中可以存在若干条目。这表示存在与相同的初始类型1URL对应的若干当前并行事务。
最初,在VariableTable中“State”被设置为零。每次在事务中进行转变,也就是,请求事务中的下一资源,则能力确认递增状态值,并且由此记录正在进行的事务的状态。
当加入了类型1URL被提供给能力确认组件150时,在步骤210检查提供URL的时间是否小于在URL中加入的“Generation-Time”和“Max-Age”字段中记录的值之和。
在步骤220确定所请求资源的能力是否是在URL中加入的CCI所指定的能力的子集。如果否,则在步骤280将错误发送到万维网服务器。否则,处理进入步骤230。
在满足了步骤210和220的条件时,在步骤230检查在MainTable中是否已经存在条目。然后,在步骤240确定MainTable中的“NumTimesLeft”值是否非零。如果是,则在TransactionTable(事务表)中添加新条目,其中“state”字段的值为零。然而,如果MainTable中的“NumTimesLeft”值为零,则在步骤280将错误发送到万维网服务器120。
如果在步骤230中找不到这样的条目,则在步骤260在MainTable和VaraibleTable数据库表中生成条目,其中在VariableTable中“State”被初始化为零。然后,在从URL中去除CCI之后,将所请求的URL发送到应用服务器190。
图3是有关类型2或3URL的流程图。首先在步骤310确定“Transaction-Index”是否是VariableTable的有效索引。接下来,在步骤320,比较VariableTable中的“expiry-Time”与在URL的CCI中指定的时间。如果时间期满,则在步骤370将错误消息发送到万维网服务器。否则,如果时间有效,则针对整个事务,对MainTable中的“GeneratedTime”和“Max Age”字段的值执行另一个检查。如果时间段不是当前的,则在步骤370发送错误。
否则,在步骤340从VariableTable的“State”字段中取出类型2(或类型3)URL中的字段“State”的值,并且将其与在URL的CCI中编码的值。如果不匹配,则在步骤370发送错误。否则,如果匹配,则每当对于特定资源由性能确认组件150接收到类型2(或类型3)URL请求时,在步骤350将在VariableTable中所存储的URL的能力与所请求资源的所需能力进行比较。该能力被记录在配置文件160中。只有URL具有访问资源的能力,才在步骤360服务请求。
当类型2(或类型3)URL请求到达网关CGI组件130的性能确认组件150时,只有URL的“State”字段匹配在数据库170中存储的“State”,才服务请求。
数据库170的“MainTable”中的条目被保留,直到URL的期满。在此时间之后,该URL被无效,也就是,在由“Generation-Time”和“Max-Age”的组合表示的时间期满之后。
一旦事务结束,就删除数据库170的“VariableTable”中的条目。事务的结束由事务的最后节点表示。如果最后的节点是静态资源,则在配置文件160中指定与事务的最后节点对应的所有这样的资源。然而,如果最后节点是动态资源,则该节点可以具有依赖于输入的各种输出。在一个输入的时候,输出可能是事务的结束,而在另一输入的时候,它可以只是输出事务中的另一阶段。因此,为了获得动态资源以通知事务的结束,管理员必须将METATAG置入到其对应于最后节点的输出中。
示例事件跟踪
图4是网关CGI组件130的示例事件跟踪。首先,在步骤410,客户端110将带CCI的URL发送到万维网服务器。然后,在步骤420,万维网服务器120将带CCI的URL转发给网关CGI组件130。在步骤430,网关CGI组件130验证签名和能力信息,并且修改数据库170。然后,在步骤440,网关CGI组件130将排除了能力“pads”的URL发送到应用服务器190。
在步骤450,应用服务器190处理该URL的请求,并且在步骤460将响应发送到网关CGI组件130。在步骤470,网关CGI组件130修改来自应用服务器190的响应页面的URL。在步骤480,网关CGI组件130将修改后的页面发送回到万维网服务器120。然后,在步骤490,由万维网服务器120将该页面转发回到客户端110。
示例应用
考虑银行事务,其中在银行“B1”中拥有帐户的个人“a”想要将一些钱转帐给在银行“B2”拥有帐户的另一个人“b”。银行“B1”和“B2”使用共享密钥来加密任何事务数据。
首先,“a”请求银行“B1”给予他基于能力的URL,其加入了要转帐的金额、要向其转帐的用户,也就是“b”。
通过使用两个银行的共享密钥计算密钥化散列来保护该URL,并且将该密钥化散列附加到结果URL中,以防止对URL的任何篡改。由个人“a”负责安全地将该URL传递给“b”。然后,个人“b”将该URL提供给目标银行“B2”,然后,目标银行“B2”可以验证该URL的完整性,并且允许/不允许该事务。在此,“a”和“b”可以使用他们的帐号作为能力控制信息的一部分,以便进一步地保护该事务。
计算机硬件
图5是适于执行计算机软件从而用作客户端110、万维网服务器120或应用服务器190的类型的计算机系统500的示意图。计算机软件在计算机系统500上安装的适当操作系统下执行,并且可以被认为是包括各种用于实现特定步骤的软件代码装置。
计算机系统500的组件包括计算机520、键盘510和鼠标515、以及视频显示器590。计算机520包括处理器540、存储器550、输入/输出(I/O)接口560、565、视频接口545、以及存储设备555。
处理器540是中央处理器(CPU),其执行操作系统和在该操作系统下执行的计算机软件。存储器550包括随机存取存储器(RAM)和只读存储器(RAM),并且在处理器540的引导下被使用。
视频接口545连接到视频显示器590,并且提供视频信号以便在视频显示器590上显示。从键盘510和鼠标515提供用来操作计算机520的用户输入。存储设备555可以包括硬盘驱动器或任何其他适合的存储介质。
计算机520的每个组件连接到内部总线530,以允许计算机520的各组件通过总线530相互通信,其中内部总线530包括数据、地址和控制总线。
计算机系统500可以使用到以因特网580代表的网络的通信信道585、通过输入/输出(I/O)接口565连接到一个或多个其它类似的计算机。
计算机软件可以被记录在便携式存储介质上,在这种情况下,由计算机系统500从存储设备555访问计算机软件程序。可选地,可以由计算机520直接从因特网580访问计算机软件。在任一情况下,用户可以使用键盘510和鼠标515与计算机系统500交互,以操作在计算机520上执行的程序化计算机软件。
其它配置或类型的计算机系统同样可以很好地用来执行帮助实现在此描述的技术的计算机软件。
结束语
可以对在此描述的技术和布置进行各种变更和修改,这对于相关领域的技术人员而言将是清楚的。

Claims (30)

1.一种用于服务资源定位符的请求的方法,包括以下步骤:
接收所请求的资源定位符,其加入了根据预定格式的控制信息;
识别在所接收的资源定位符中加入的控制信息;以及
从所识别的控制信息确定是否允许访问所请求的资源定位符。
2.如权利要求1所述的方法,还包括以下步骤:如果允许对所请求资源的访问,则以所请求的资源响应请求。
3.如权利要求1所述的方法,还包括以下步骤:如果不允许对所请求资源的访问,则以错误消息响应请求。
4.如权利要求1所述的方法,还包括以下步骤:
从资源定位符中去除控制信息;以及
将资源定位符转发给应用服务器。
5.如权利要求4所述的方法,还包括以下步骤:将控制信息加入到包括在所请求的资源中的至少一个资源定位符。
6.如权利要求4所述的方法,还包括以下步骤:将控制信息加入到包括在所请求的资源中的至少一个资源定位符。
7.如权利要求1所述的方法,其中控制信息指定以下至少之一:(i)资源定位符对于特定次数的访问的有效性,(ii)资源定位符对于给定时间段的有效性,(iii)资源定位符对于特定数目的事务的有效性,(iv)访问由资源定位符指定的资源的授权,以及(iv)资源定位符可被访问的事务状态的授权。
8.如权利要求1所述的方法,其中控制信息指定不同类型的用于控制信息的预定格式。
9.如权利要求4所述的方法,还包括以下步骤:维护资源定位符的请求被访问的次数的记录。
10.如权利要求4所述的方法,还包括以下步骤:维护资源定位符可被访问的事务状态的记录。
11.一种记录在计算机可读介质上的计算机程序,包括用于执行以下步骤的计算机软件:
接收所请求的资源定位符,其加入了根据预定格式的控制信息;
识别在所接收的资源定位符中加入的控制信息;以及
从所识别的控制信息确定是否允许访问所请求的资源定位符。
12.如权利要求11所述的计算机程序,还包括用于执行以下步骤的计算机软件:如果允许对所请求资源的访问,则以所请求的资源响应请求。
13.如权利要求11所述的计算机程序,还包括用于执行以下步骤的计算机软件:如果不允许对所请求资源的访问,则以错误消息响应请求。
14.如权利要求11所述的计算机程序,还包括用于执行以下步骤的计算机软件:
从资源定位符中去除控制信息;以及
将资源定位符转发给应用服务器。
15.如权利要求14所述的计算机程序,还包括用于执行以下步骤的计算机软件:将控制信息加入到包括在所请求的资源中的至少一个资源定位符。
16.如权利要求14所述的计算机程序,还包括用于执行以下步骤的计算机软件:将控制信息加入到包括在所请求的资源中的至少一个资源定位符。
17.如权利要求11所述的计算机程序,其中控制信息指定以下至少之一:(i)资源定位符对于特定次数的访问的有效性,(ii)资源定位符对于给定时间段的有效性,(iii)资源定位符对于特定数目的事务的有效性,(iv)访问由资源定位符指定的资源的授权,以及(iv)资源定位符可被访问的事务状态的授权。
18.如权利要求11所述的计算机程序,其中控制信息指定不同类型的用于控制信息的预定格式。
19.如权利要求14所述的计算机程序,还包括用于执行以下步骤的计算机软件:维护资源定位符的请求被访问的次数的记录。
20.如权利要求14所述的计算机程序,还包括用于执行以下步骤的计算机软件:维护资源定位符可被访问的事务状态的记录。
21.一种计算机系统,包括记录在计算机可读介质上的计算机软件,其用于执行以下步骤:
接收所请求的资源定位符,其加入了根据预定格式的控制信息;
识别在所接收的资源定位符中加入的控制信息;以及
从所识别的控制信息确定是否允许访问所请求的资源定位符。
22.如权利要求21所述的计算机系统,还包括用于执行以下步骤的计算机软件:如果允许对所请求资源的访问,则以所请求的资源响应请求。
23.如权利要求21所述的计算机系统,还包括用于执行以下步骤的计算机软件:如果不允许对所请求资源的访问,则以错误消息响应请求。
24.如权利要求21所述的计算机系统,还包括用于执行以下步骤的计算机软件:
从资源定位符中去除控制信息;以及
将资源定位符转发给应用服务器。
25.如权利要求24所述的计算机系统,还包括用于执行以下步骤的计算机软件:将控制信息加入到包括在所请求的资源中的至少一个资源定位符。
26.如权利要求24所述的计算机系统,还包括用于执行以下步骤的计算机软件:将控制信息加入到包括在所请求的资源中的至少一个资源定位符。
27.如权利要求21所述的计算机系统,其中控制信息指定以下至少之一:(i)资源定位符对于特定次数的访问的有效性,(ii)资源定位符对于给定时间段的有效性,(iii)资源定位符对于特定数目的事务的有效性,(iv)访问由资源定位符指定的资源的授权,以及(iv)资源定位符可被访问的事务状态的授权。
28.如权利要求21所述的计算机系统,其中控制信息指定不同类型的用于控制信息的预定格式。
29.如权利要求21所述的计算机系统,还包括用于执行以下步骤的计算机软件:维护资源定位符的请求被访问的次数的记录。
30.如权利要求24所述的计算机系统,还包括用于执行以下步骤的计算机软件:维护资源定位符可被访问的事务状态的记录。
CNB2005100978299A 2004-08-31 2005-08-30 用于服务资源定位符的请求的方法 Expired - Fee Related CN100421376C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/930,597 2004-08-31
US10/930,597 US20060047662A1 (en) 2004-08-31 2004-08-31 Capability support for web transactions

Publications (2)

Publication Number Publication Date
CN1744504A true CN1744504A (zh) 2006-03-08
CN100421376C CN100421376C (zh) 2008-09-24

Family

ID=35944636

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100978299A Expired - Fee Related CN100421376C (zh) 2004-08-31 2005-08-30 用于服务资源定位符的请求的方法

Country Status (2)

Country Link
US (1) US20060047662A1 (zh)
CN (1) CN100421376C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594557A (zh) * 2012-01-10 2012-07-18 深圳市汉普电子技术开发有限公司 对url加密的方法及装置、url验证的方法及装置
CN103701946A (zh) * 2013-12-20 2014-04-02 珠海金山网络游戏科技有限公司 一种客户端通过url与服务器通讯的方法及系统
CN101441688B (zh) * 2007-11-20 2015-08-19 阿里巴巴集团控股有限公司 一种用户权限分配方法和一种用户权限控制方法
CN106997374A (zh) * 2017-01-05 2017-08-01 深圳大宇无限科技有限公司 深度链接获取方法和装置
CN109525613A (zh) * 2019-01-16 2019-03-26 湖南快乐阳光互动娱乐传媒有限公司 一种请求处理系统及方法
CN111277573A (zh) * 2013-09-25 2020-06-12 亚马逊技术有限公司 具有密钥的资源定位符

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053202A1 (en) * 2004-09-09 2006-03-09 Chris Foo Method and system implementing secure email
US8060916B2 (en) * 2006-11-06 2011-11-15 Symantec Corporation System and method for website authentication using a shared secret
US9253536B2 (en) * 2009-03-18 2016-02-02 Microsoft Technology Licensing, Llc Updating data-consuming entities
US9135091B2 (en) 2009-04-03 2015-09-15 Microsoft Technology Licensing, Llc Communicating events or data between application components
JP5952175B2 (ja) * 2012-11-27 2016-07-13 日本電信電話株式会社 制御装置、制御システム、制御方法および制御プログラム
US10778680B2 (en) * 2013-08-02 2020-09-15 Alibaba Group Holding Limited Method and apparatus for accessing website
US11210269B2 (en) * 2018-02-13 2021-12-28 Red Hat, Inc. System and method for deduplicating container image storage data
US11829240B2 (en) * 2022-01-06 2023-11-28 Red Hat, Inc. Preventing duplication of files in a storage device

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991802A (en) * 1996-11-27 1999-11-23 Microsoft Corporation Method and system for invoking methods of objects over the internet
US6710786B1 (en) * 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US6286046B1 (en) * 1997-12-22 2001-09-04 International Business Machines Corporation Method of recording and measuring e-business sessions on the world wide web
US7200632B1 (en) * 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications to client computers
GB2350982B (en) * 1999-06-10 2003-06-25 John Quentin Phillipps Electronic commerce system
US6557038B1 (en) * 1999-06-30 2003-04-29 International Business Machines Corporation Method and apparatus for maintaining session states
US6374300B2 (en) * 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US6865593B1 (en) * 2000-04-12 2005-03-08 Webcollege, Inc. Dynamic integration of web sites
WO2002011357A2 (en) * 2000-07-28 2002-02-07 Sun Microsystems, Inc. Method and apparatus for cryptographic key management using url programming interface
AU2001278159A1 (en) * 2000-08-11 2002-02-25 Incanta, Inc. Resource distribution in network environment
WO2002015051A1 (en) * 2000-08-16 2002-02-21 Verisign, Inc. A numeric/voice name internet access architecture and methodology
GB0021083D0 (en) * 2000-08-25 2000-10-11 Claripoint Ltd Web page access
US7085817B1 (en) * 2000-09-26 2006-08-01 Juniper Networks, Inc. Method and system for modifying requests for remote resources
GB2368930B (en) * 2000-10-17 2005-04-06 Hewlett Packard Co Establishment of a deferred network communication session
US7454506B2 (en) * 2000-12-18 2008-11-18 International Business Machines Corporation Method for maintaining state information on a client
US7103666B2 (en) * 2001-01-12 2006-09-05 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application operation and interoperability
US20030061515A1 (en) * 2001-09-27 2003-03-27 Timothy Kindberg Capability-enabled uniform resource locator for secure web exporting and method of using same
US6947985B2 (en) * 2001-12-05 2005-09-20 Websense, Inc. Filtering techniques for managing access to internet sites or other software applications
US20030163575A1 (en) * 2002-02-27 2003-08-28 Perkins Gregory Eugene Resource location and access
US7254634B1 (en) * 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
WO2004053681A1 (en) * 2002-12-09 2004-06-24 Michael Zsolt Moricz Intermediary server for facilitating retrieval of mid-point, state-associated web pages
US8095658B2 (en) * 2004-05-07 2012-01-10 International Business Machines Corporation Method and system for externalizing session management using a reverse proxy server
EP1628184A1 (de) * 2004-08-20 2006-02-22 Basf Aktiengesellschaft Verfahren und Computersystem zur Durchführung eines netzwerkgestützten Geschäftsprozesses

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441688B (zh) * 2007-11-20 2015-08-19 阿里巴巴集团控股有限公司 一种用户权限分配方法和一种用户权限控制方法
CN102594557A (zh) * 2012-01-10 2012-07-18 深圳市汉普电子技术开发有限公司 对url加密的方法及装置、url验证的方法及装置
CN111277573A (zh) * 2013-09-25 2020-06-12 亚马逊技术有限公司 具有密钥的资源定位符
CN111277573B (zh) * 2013-09-25 2022-09-30 亚马逊技术有限公司 具有密钥的资源定位符
CN103701946A (zh) * 2013-12-20 2014-04-02 珠海金山网络游戏科技有限公司 一种客户端通过url与服务器通讯的方法及系统
CN103701946B (zh) * 2013-12-20 2017-02-08 珠海金山网络游戏科技有限公司 一种客户端通过url与服务器通讯的方法及系统
CN106997374A (zh) * 2017-01-05 2017-08-01 深圳大宇无限科技有限公司 深度链接获取方法和装置
CN109525613A (zh) * 2019-01-16 2019-03-26 湖南快乐阳光互动娱乐传媒有限公司 一种请求处理系统及方法

Also Published As

Publication number Publication date
CN100421376C (zh) 2008-09-24
US20060047662A1 (en) 2006-03-02

Similar Documents

Publication Publication Date Title
CN1744504A (zh) 用于服务资源定位符的请求的方法
US9736117B2 (en) Methods and systems for context-based application firewalls
US7213269B2 (en) Application rights enabling
US8381276B2 (en) Safe URL shortening
US7500099B1 (en) Method for mitigating web-based “one-click” attacks
US9098539B2 (en) System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token
US20180341648A1 (en) System and method for secure management of digital contracts
CN102469080B (zh) 实现通行证用户安全登录应用客户端的方法和系统
CN101779436B (zh) 一种用于控制敏感数据传输的方法和系统
US8646048B2 (en) System, method and computer program product for authenticating and authorizing an external entity
US9830435B2 (en) Method and system for providing login as a service
CN1926493A (zh) 用于将证书链接到签名文件的方法和系统
CN1825329A (zh) 用于许可数字应用程序的柔性许可架构
CN111177735A (zh) 身份认证方法、装置、系统和设备以及存储介质
US20070299984A1 (en) Application firewall validation bypass for impromptu components
CN113315746A (zh) 从用户设备向接收方设备匿名发送数据的系统和方法
US20030065789A1 (en) Seamless and authenticated transfer of a user from an e-business website to an affiliated e-business website
US20170293843A1 (en) System, method and computer program product for messaging in an on-demand database service
US20240095220A1 (en) Ensuring trust throughout lifecycle of a non-fungible token
JP7438383B2 (ja) ウェブアプリケーションの信頼性の検証
US20210006634A1 (en) Secure and private web browsing system and method
JP7098065B1 (ja) 電気通信ネットワーク測定におけるデータ操作の防止およびユーザのプライバシーの保護
Isaac et al. A Decentralised Application for Storing Electronic Health Records using Blockchain Technology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080924