首页> 中国专利> 用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法

用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法

摘要

一种在服务器(1)和客户端系统(2)之间的通信会话中实现状态追溯机制的方法,其中,在通信会话的过程中,仅当客户端系统(2)具有状态追溯信息的有效值时,将应用数据以可访问的形式提供给客户端系统(2),包括发送携带有状态追溯信息新值的消息给客户端(2)。其进一步包括计算在发送消息之后有效的状态追溯信息的值,使用至少携带在消息中的新值和保持在客户端系统(2)中的数据作为输入。

著录项

  • 公开/公告号CN101202673A

    专利类型发明专利

  • 公开/公告日2008-06-18

    原文格式PDF

  • 申请/专利权人 耶德托存取公司;

    申请/专利号CN200710308182.9

  • 发明设计人 安德鲁·A·瓦杰斯;

    申请日2007-09-21

  • 分类号H04L12/24(20060101);H04L29/06(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人付建军

  • 地址 荷兰霍夫多普

  • 入库时间 2023-12-17 20:19:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-07

    未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20120404 终止日期:20170921 申请日:20070921

    专利权的终止

  • 2015-08-19

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20070921

    专利权人的姓名或者名称、地址的变更

  • 2013-11-06

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20070921

    专利权人的姓名或者名称、地址的变更

  • 2012-04-04

    授权

    授权

  • 2009-11-25

    实质审查的生效

    实质审查的生效

  • 2008-06-18

    公开

    公开

查看全部

说明书

本发明涉及一种用于在服务器和客户端系统之间的通信会话中实现状态追 溯机制的方法,

其中在通信会话期间,仅当客户端系统拥有有效的状态追溯信息值时,才将 应用程序的数据以可访问的形式提供给客户端系统,其包括

向客户端系统发送携带新的状态追溯信息值的消息。

本发明也涉及一种方法,该方法管理与服务器的通信会话,以实现状态追溯 机制,其包括

在执行通信会话的客户端系统保持状态追溯消息,其中,在通信会话的过程 中,仅当保持在客户端系统的状态追溯消息与有效值的值相对应时,才从服务 器中接收应用程序数据,并且将该应用程序数据变得可被客户端系统上的目标 应用程序获取,以及

接收来自服务器的消息中的状态追溯信息的新值。

本发明也涉及服务器、客户端系统和计算机程序。

从Kristol,D.和Montulli,L.“HTTP State Management Mechanism”, RFC2965,The Internet Society,2000年10月中可得到这些方法的例子。该出 版物描述了一种用于原点服务器发送状态消息到用户代理,并且用户代理返回 状态信息给原点服务器的方法。该方法描述了3个头部,Cookie,Cookie2和 Set-Cookie2,它们携带参与的原点服务器和用户代理之间的状态信息。用户代 理保持状态信息的单独轨迹,这些信息通过Set-Cookie2到达来自于每个原点服 务器的响应头部。状态信息的值(“Cookie”)可能是原点服务器选择发送的任何 值。Set-Cookie2响应头部的内容可为Set-Cookie2头部的任何测试者所读取。 如果某个用户代理收到Set-Cookie2响应头部,其名字和它之前存储的cookie 的名字相同,则新的cookie代替旧的cookie。当它发送请求到原点服务器时, 如果用户代理存储了对于请求来说是可用的cookies,那么该用户代理则包括一 个Cookie的请求头部。

已知方法的一个问题是:其没有提供阻止客户端系统被实体模仿,该实体截 取服务器发出的cookie的新的值。

本发明的一个目的是提供上面提到的类型的方法、服务器、客户端系统和计 算机程序,其具有有助于防止任何系统试图模仿客户端系统以维持与原来的客 户端相同状态的特征。

这个目的是通过根据本发明的实现状态追溯机制的方法来实现的,其特征在 于:使用在消息中携带的至少新值和保持在客户端系统的数据作为输入,计算 在传送消息之后有效的状态追溯信息的值。

因为,在通信会话的过程中,仅当客户端系统具有有效的状态追溯信息的值 时才以可访问的形式将应用程序数据提供给客户端系统,并且在传送消息之后 的有效值是使用保持在客户端系统的数据作为输入计算出来的。其中客户端系 统的数据是客户端的继续获得应用程序数据的访问所要求的。应用程序的数据 可以包括,例如解密已加密内容的密钥,由条件访问系统分发这些已加密的内 容。由于数据是保存在客户端系统中,所以不需要在携带新的状态追溯信息值 的消息中发送数据,从而使得截取携带新值的消息没有直接结果。由于在传送 之后有效的状态追溯信息的值是使用在消息中携带的新值作为给客户端系统的 输入计算的,客户端的状态发展由服务器决定。这有助于计数器重演攻击。

这种方法的一个实施例包括了以不重复的形式获取保持在客户端系统中的 数据。

一种当前值,或使用一次的数值,有助于计数器在未经授权的情况下复制客 户端系统。即使客户端系统被克隆,也就是复制,这样保存在客户端系统的数 据也可以被克隆,而该克隆在会话结束时功能失效。例如当前值这样的新数据, 可能在服务器和客户端系统之间的新的通信会话的开始时建立。可选择的,例 如当前值这样的数据,是在客户端中在通信会话建立之前预先生成的。

在实施例中,服务器认知这种当前值。服务器可以从客户端系统中接收这种 当前值,例如在通信会话的开始。可选择的,服务器可以在通信会话开始之前 获取客户端的当前值。当前值,比如可以由服务器通过当前值自其派生的种子 来获知。

产生的效果是不需要从服务器到客户端之间传送该当前值,因为客户端系统 可以产生该当前值。服务器从客户端系统知道这种当前值,以便于两端都能计 算状态跟踪信息的有效值。特别是当状态追溯信息为单向功能时,不可能仅仅 通过监控服务器和客户端之间的消息来获取状态追溯信息的有效值。这些消息 不允许任何一方获取保持在客户端系统的数据。

该方法的一个实施例包括计算携带在该消息中的至少一个新的值,和在传送 消息之后有效的状态追溯信息的值,至少使用当执行计算时状态跟踪信息的值 作为输入。

一方面效果是在携带着新的状态追溯信息值的消息传输之后有效的状态追 溯信息的值取决于先前的状态追溯信息的有效值。这有助于确保通信会话的继 续仅在那些参与了通信会话的系统之间,且其整个持续时间最多是消息传输的 时间。

一种实施例,其中,向客户端系统提供一组权限标识符,用以将与各自权限 相联系的加密信息解密,其包括

保持反映与标识符集合对应的权利的记录,以及

计算在消息的传输之后有效的状态追溯信息的值,使用与至少为客户端系统 提供的标识符集合中每个标识符的一部分对应的数据作为进一步的输入。

权利的集合不必通过实现状态追踪机制的服务器来与客户端系统之间进行 通信。可以将权利包括在应用程序数据中。应该记得,仅当客户端系统具有状 态追踪信息的有效值时,客户端系统才以可访问的形式提供应用程序数据。因 此,在这个实施例中,客户端系统还必须计算在传输信息之后有效的状态追踪 信息的值,使用与至少为客户端系统提供的标识符集合中每个标识符的一部分 对应的数据作为进一步的输入。

方法的一个实施例,其包括使用客户端系统的网络地址,在服务器和客户端 系统之间的通信经由其实现的网络上,计算传输消息之后有效的状态追踪信息 的值,优选地,网络地址是硬连线到由客户端系统使用的装置中的地址。

由于将状态追踪信息的值捆绑给服务器的网络位置,这有助于计数器中间人 (man-in-the-middle)的攻击。传统的服务器协议允许对这个位置的检查。

方法的一个实施例包括计算在信息中加载的新值,使用至少由服务器建立和 维持的当前值作为输入。其中,该当前值在通信会话的一开始就已传达到客户 系统。

效果是仅仅利用原始生成当前值的服务器,客户端系统可以选择性的确保维 持通信会话。这有助于阻止试图欺骗客户端系统泄露另外一个服务器的信息。

在一个实施例中,在接收到来自客户端系统的请求消息时,将应用程序提供 给客户端系统,其中来自客户端系统的请求消息载有与状态追踪信息的有效值 相对应的数据。

因此,在检查到客户端系统仍然具有状态追踪信息的有效值之后,可以执行 应用程序数据的多个传输。

在一个实施例中,应用程序数据以加密形式提供,对其进行解密以便于使用 状态追踪信息的有效值的至少一部分,在密钥可推导的情况下,允许解密。

效果是对客户端保持的状态追踪信息的值提供连续的、更有力的检查。变形 方案也变得可能了,在该变形方案中,客户端系统不传送包括由其保存的状态 追踪信息的值的信息。当试图解密应用程序数据的时候,由客户端保存的状态 追踪信息值的有效性检查在客户端系统中被有效执行。进一步的效果是可以将 访问应用程序数据限制到客户端系统处于某种状态的时间间隔中。

在一个实施例中,客户端系统被提供以内容数据的集合,将其进行加密以允 许由密钥解密,其中应用程序数据包括密钥的值。

效果是:检查客户端具有的状态追踪信息的值的有效性,其不需要执行每次 内容数据的传送,但是仅仅提供可访问格式的密钥。其是相对有效的,然而限 制对到客户端系统的一定状态的内容数据的访问。

根据另外一个方面,根据本发明的服务器系统包括数据处理单元和存储器, 并且将该服务器系统进行排列以实现根据本发明的执行状态追踪机制的方法。

根据另外一个方面,指示与服务器的通信会话的方法,其特征在于,使用在 消息中的至少一个新值,以及在客户端系统中存储的数据作为输入,计算状态 追踪信息的进一步的值,其中服务器执行根据本发明的状态追踪机制,以及

由进一步的值替代在客户端系统中保存的状态追踪信息。

效果是,一旦接收到来自服务器的消息中的状态追踪信息中的新值,仅能在 客户端系统获得状态追踪信息的有效值,其中该客户端系统也保存数据。这些 数据不包括在消息中,从而通过监控来自服务器的消息,不能获取下一个有效 值。

方法的实施例包括在通信会话开始时,以不重复的形式获取存储在客户端系 统中的数据。

效果在于:如果客户端系统用数据被克隆,那么克隆的作用仅仅保持到当前 通信会话的结束。

一个实施例包括在客户端系统生成当前值,优选地,通过生成随机数据,以 及在通信会话开始的时候,将当前值传送给服务器。

因此,仅仅通过监控在服务器和客户端系统之间的后继通信,或者仅仅监控 从服务器到客户端系统的所有消息,不能获取状态追踪信息的有效值。

在一个实施例中,其中客户端系统保存权利的标识符集合,用以解密与各个 权利相关联的加密信息,该方法包括

使用与在集合中的每个标识符的至少一部分相对应的数据作为进一步的输 入,计算状态追踪信息的进一步的值。

效果是没有导出状态追踪信息的无效值,不能修改标识符的集合。因为状态 追踪信息的值是不断变化的,在整个通信会话中都保持这一状况。

在一个实施例中,其中在服务器和客户端系统之间的通信是通过网络实现 的,并且中客户端系统具有在网络上的地址,优选情况下硬连线到由客户端 系统使用的装置,该方法包括

使用与至少一部分网络地址相对应的数据作为进一步的输入,计算状态追踪 信息的进一步的值。

因此,将客户端系统的状态捆绑到用来与服务器端进行通信的网络地址上。

本方法的实施例包括在开始通信会话的时候,接收载有由服务器建立的当前 值的消息,以及

计算在消息中接收的状态追踪信息的新值的期望值,其中的消息来自使用至 少由服务器建立的当前值作为输入的服务器,

其中仅仅基于确定期望值匹配在来自服务器的消息中接收的值,计算状态追 踪信息的进一步的值。

效果是执行检查以确定通信会话保持相同的服务器。

方法的实施例包括:使用至少输入在接收消息时在客户端上维持的状态追踪 信息的值作为输入,计算在来自服务器的消息中接收的状态追踪信息的新值的 期望值,

其中仅仅基于确定期望值匹配在来自服务器的消息中接收的值,计算状态追 踪信息的进一步的值。

效果是客户端系统能够检查到:表面上从服务器上接收到的消息是来自追踪 客户端系统的状态改变的同一服务器。

方法的实施例包括通过发送消息,请求应用数据的传送,其中消息包括与保 持在客户端系统中的状态追踪信息的至少一部分相对应的数据。

效果是客户端系统证明给服务器:其处于接收应用程序数据的正确状态。仅 在之后传送应用数据,其可以帮助阻止到来授权的客户端系统的不必要的传送。

方法的一个实施例包括

以加密的形式接收应用数据,以及

使用保持在客户端系统中的状态追踪信息来获取密钥,以解密加密的应用程 序数据。

效果是:检查客户端系统的状态是在客户端系统上在每次后者试图以可访问 形式获得应用程序数据的时候执行的。

一种实施例包括:

接收加密内容数据流,以及

获取密钥以解密来自应用程序数据的加密内容数据,其中应用程序数据是从 服务器端接收的。

一种实施例表示在条件访问系统或者数字权利管理系统中的状态追踪机制 的实现。

根据另外一个方面,根据本发明的客户端系统包括数据处理单元和存储器, 并且被配置为执行根据本发明的执行与服务器的通信会话的方法。

根据本发明的另外一个方面,提供有计算机程序,其包括可用指令的集合, 当被包括在机器可读介质中的时候,使得具有信息处理能力的系统可以执行根 据本发明的方法。

参考附图,本发明将得以进一步详细解释:

图1是显示用于实现状态追溯机制的服务器和客户端系统的示意图;以及

图2A-2B形成了描述在状态追溯机制的实施例的活动和对象流活动图。

服务器系统1实现了与客户端系统2通信会话状态追溯机制。数据通过网络 3交换,通常是广域网(WAN)。网络3可以包含许多不同的网络类型,例如光 缆、无线、卫星或公用交换电话网络。状态追溯机制可以在一种配置中实现, 其中从服务器系统1到客户端系统2之间的通信是单向的。在这里描述的大部 分详细描述实施例中,数据是双向传输的。

在例子中,客户端系统2备有网络接口4,为中央处理器6和总线提供互联 的接口5,主存储器7和连接存储介质9的接口8。接口5进一步提供到视频处 理器10和音频处理器11的连接。客户端系统2可以表现为个人计算机,游戏 控制台,机顶盒,或者类似的设备。其可能带有到访问标记的接口(没有显示), 如智能卡。作为选择地,将一种安全软件安装或临时存储在客户端系统2可以 起到访问标记的作用。这样一种安全软件可以以模糊化的计算机程序代码形式 来提供,这对于反向工程来说是困难的。

客户端系统2进一步带有客户端软件模块,它可以使客户端与服务器系统1 执行通信会话。客户端软件模块和运行在服务器系统1上的软件协作,并使后 者实现状态追溯的形式。客户端系统2建立了这样一种通信会话,为的是获得 应用程序的数据,用于运行在客户端系统上的内容数据解码应用程序。应用程 序数据包括权利的标识符,用于解密和解码特定的音频和/或视频数据流,客户 端系统2可以从服务器系统1,从另一个连接到网络2的服务器,或从便携式的 存储介质接收所述数据流。这样的权利标识符存储在起到访问标记作用的设备 或软件模块中。另外,应用程序数据包括用于解密内容数据的加密密钥。注意 客户端系统也可以包括实现数字权利管理(DRM)系统的应用程序,用于获得 对加密的内容数据集合的访问。基于这样的应用目标的应用程序数据将包括加 密的数字权利对象,每个对象识别一系列客户端系统被授权访问的内容数据。

客户端系统2仅仅在其具有状态追溯信息的有效值时才被以可访问的形式 提供以应用程序数据的有效值,在本例中状态追溯信息的有效值为一个状态变 量SV。为防止客户端系统的轻易的克隆,状态变量SV可以存储在客户端系统 2的安全细件中,如访问标记。客户端系统2可以被以加密的形式提供以应用程 序数据,而不管客户端系统是否具有当前有效的状态变量SV,仅在有效的状态 变量SV存在时,应用程序数据才为可解密的。另外或者可选择地,仅当客户 端系统2已经证明具有当前的有效状态变量时,应用程序的数据才可以从服务 器系统1传输到客户端系统2。

状态变量SV按照服务器系统1的要求,在固定的时间间隔内改变。为此, 它发送携带新的状态变量SV的值的消息到客户端系统2。在状态变量的值改变 之后,将停止向任何客户端系统2的拷贝提供可访问形式的应用数据。即使这 样的拷贝将同样接收携带状态变量的新值的消息,它也将必须具有保持在客户 端系统2上的数据的值。这是因为在携带新的状态变量SV的值的消息传输后 有效的状态变量的值,被客户端系统2计算出来,使用至少是消息中携带的新 的值以及保持在客户端系统2上的数据作为输入。

保持在客户端系统2上的数据被重新建立在每个通信会话的开始。其仅在用 于一个通信会话时有效,并且对于涉及到的通信会话具有唯一值。它可以从一 次密钥加密(one-time-pad)中获取。为了进一步保护客户端系统2不被克隆, 客户端系统可以产生例如随机数这样的数据。

图2A-2B更详细地阐述了状态追溯机制。图中没有阐述,当已阐述的操作 已完成时,仅当客户端系统具有状态追溯信息的有效值时,向客户端系统2连 续地提供可访问形式的应用数据。

客户端系统2在第一步步骤12中产生上面提到的数据,即客户端的当前值 Nc。之后(步骤13)产生状态变量SV的第一个值。状态变量SV的第一个值 可以是由客户端系统2选取的任何值。也可以是客户端系统2的随机选择的值 的函数,和一个或更多的其它变量,特别包括客户端的当前值Nc。

客户端系统2发送(步骤14)请求消息到服务器系统1,以建立新的通信会 话。请求消息包括客户端的当前值Nc和状态变量SV的第一个值。

服务器系统1接收到该请求消息(步骤15)。客户端当前值Nc在通信会话 的开始由服务器系统1从客户端系统2接收,因为其包括在请求消息中,并且 是由服务器系统1从该消息中接收的(步骤16)。请求消息可以额外地包括使服 务器系统得以执行客户端权利的初始验证以接收请求的应用数据的数据。

在接收到请求消息之后,服务器系统1计算新状态的变量值(步骤17),使 用至少一个由服务器系统1建立和维持的服务器当前值Ns作为输入(步骤18)。 服务器当前值Ns保存在服务器系统1的存储器中,在通信会话中持续,但不是 随后就使用。服务器当前值Ns可以是基于随机数的。在通信会活的开始将服务 器当前值Ns传送给客户端系统2,即在(步骤19)作为对客户端系统的请求消 息的回复而发送的响应消息中。计算携带在该响应消息中的新的状态变量值, 使用至少当进行该计算时状态追溯消息的有效值,也就是,在请求消息中接收 到的值,作为进一步的输入。这链接了状态变量的值,在这种意义上,当前有 效值总是取决于所有的先前值,以及取决于服务器当前值Ns和客户端当前值 Nc。

如上面陈述,客户端系统2提供一系列权利标识符,该权利标识符解密已加 密的与各自的权利相关的信息。服务器系统1保持记录,该记录反映与客户端 系统2所存储的标识符集合对应的权利。当计算要包含在响应消息中的新的状 态变量的值时,服务器系统1使用进一步的输入数据,该数据与至少部分在提 供给客户端系统2的集合中的每个标识符对应的数据作为进一步输入。

服务器系统1也可以使用客户端系统2的网络地址,优选地是硬连线到网络 接口4中的地址,如MAC地址,作为到用来计算新的状态变量值的算法的输 入。作为选择,地址值可以是网际协议(IP)地址。

用于计算新的状态变量值的算法可以是一种强的或弱的单向函数,也称作陷 门函数(trapdoor function)。一种效果是仅仅凭在服务器系统1和客户端系统2 之间交换的状态变量值,服务器当前值Ns和客户端当前值Nc是很难计算的。 该算法可能包括一个哈希函数。

客户端系统2接收(步骤20)在来自于服务器系统1的响应消息中的状态 变量SV的新值。状态变量SV的新值从响应消息(步骤21)中获得。然而, 它不直接替换先前作为客户端系统2上的有效值被保存的状态变量的值。

客户端系统2接收到的响应消息同样携带由服务器在通信会话的开始建立 的服务器的当前值Ns。客户端系统2从响应消息获取服务器的当前值Ns(步骤 22)。它计算(步骤23)从来自于服务器系统1的响应消息中接收到的状态变量 的新值的预期值,使用至少是服务器的当前值Ns作为输入,同时使用在步骤 13产生并且保持在客户端系统2上的状态变量的值,以及客户端系统2的权利 标识符的集合和网络地址作为输入。

如果计算的预期值和在来自服务器系统1的响应消息中接收到的状态变量 值匹配,那么客户端系统2继续计算(步骤24)进一步的状态追溯信息值,使 用在响应消息中的新的值和存储在客户端系统中的数据,即客户端当前值Ns, 以及客户端系统2的权利标识符的集合和网络地址作为输入。进一步的值替换 保持在客户端系统2上的状态变量的值,并且用于确立客户端系统2被授权接 收可访问形式的应用数据。

服务器系统1也计算(步骤25)在响应消息的传输之后有效的状态追溯信 息值,使用至少携带在消息中的新值和客户端当前值作为输入。这允许当为后 者提供可访问的形式的应用数据时,检验客户端系统2的状态。

在通信会话期间,客户端系统2可以发送进一步的请求消息(步骤26)。这 些包括与保持在客户端系统2上的状态变量的值SV的至少一部分对应的数据。 响应每个或仅仅一些请求消息,服务器系统1将执行图2B所示的步骤。

在接收请求消息(步骤27)时,服务器系统1获取携带在请求消息(步骤 28)中的状态变量值。如果获取的值与步骤25计算的预期匹配时,服务器系统 1产生新的状态变量值(步骤29)。

新的状态变量值可以如前面那样计算,使用到目前为止有效的状态变量值、 服务器当前值Ns、权利标识符的集合、以及客户端系统2的网络地址作为输入。 新的状态变量值在进一步的响应消息中被发送(步骤30)到客户端系统2。下 一个状态变量的有效值再次被计算出来(步骤31),使用在步骤30中发送的新 的状态变量的值、客户端当前值Nc、以及基于反映解密已加密的与提供给客户 端系统2的标识符集合对应的信息的权利的记录的数据,作为输入。

包括服务器系统1可以安排为仅当后续的应用程序数据请求被计算为下一 个有效值的状态变量SV值时才提供应用数据。另外或者作为选择,服务器系 统1可以提供一个用于采用基于下一个状态变量的有效值的密钥来加密应用数 据的系统,以便只有具有下一个有效值的客户端系统可以解密应用数据。

客户端系统2接收进一步的响应消息(步骤32)。它计算状态追溯信息新值 的预期值,该状态追溯信息是在来自于服务器系统1的进一步的响应消息中接 收的,使用至少服务器当前值Ns和先前的有效状态变量的值作为输入(步骤 33)。它同样获取在来自于服务器系统1的进一步的响应消息中实际接收到的状 态变量SV的新值(步骤34)。确定了预期值与在自于服务器系统1的消息中接 收到的值匹配时,进一步的状态追溯信息的值被计算出来(步骤35)。这是在到 客户端系统2的进一步的响应消息传输之后有效的状态变量的值。

因为进一步的值是基于客户端当前值Ns以及进一步的响应消息中所携带的 值,复制携带在进一步的响应消息中的值不足以使得客户端系统2的非法克隆 处于与原客户端系统2相同的状态。

本发明不局限于上面所述的实施例,在随后的权利要求范围内可以进行各种 改变。例如,由服务器系统1计算出并在响应消息中传输到客户端系统1的状 态变量的新值,不必基于客户端系统2使用的输入来计算下一个状态变量的有 效值。请求消息和/或响应消息可以被加密,例如基于这样的密钥,该密钥起派 生于在收到涉及到的消息之前有效的状态变量的值。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号