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

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

Info

Publication number
CN101202673A
CN101202673A CN200710308182.9A CN200710308182A CN101202673A CN 101202673 A CN101202673 A CN 101202673A CN 200710308182 A CN200710308182 A CN 200710308182A CN 101202673 A CN101202673 A CN 101202673A
Authority
CN
China
Prior art keywords
ftp
value
server
message
ftp client
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
CN200710308182.9A
Other languages
English (en)
Other versions
CN101202673B (zh
Inventor
安德鲁·A·瓦杰斯
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.)
Ai Dide Technology Co., Ltd.
Original Assignee
Irdeto BV
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 Irdeto BV filed Critical Irdeto BV
Publication of CN101202673A publication Critical patent/CN101202673A/zh
Application granted granted Critical
Publication of CN101202673B publication Critical patent/CN101202673B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法
本发明涉及一种用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法,
其中在通信会话期间,仅当客户端系统拥有有效的状态追溯信息值时,才将应用程序的数据以可访问的形式提供给客户端系统,其包括
向客户端系统发送携带新的状态追溯信息值的消息。
本发明也涉及一种方法,该方法管理与服务器的通信会话,以实现状态追溯机制,其包括
在执行通信会话的客户端系统保持状态追溯消息,其中,在通信会话的过程中,仅当保持在客户端系统的状态追溯消息与有效值的值相对应时,才从服务器中接收应用程序数据,并且将该应用程序数据变得可被客户端系统上的目标应用程序获取,以及
接收来自服务器的消息中的状态追溯信息的新值。
本发明也涉及服务器、客户端系统和计算机程序。
从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使用的输入来计算下一个状态变量的有效值。请求消息和/或响应消息可以被加密,例如基于这样的密钥,该密钥起派生于在收到涉及到的消息之前有效的状态变量的值。

Claims (23)

1.一种实现在服务器(1)和客户端系统(2)之间的通信会话中的状态追溯机制的方法,
其中,在通信会话的过程中,仅当客户端系统(2)具有状态追溯信息的有效值时才将应用数据以可访问的形式提供给客户端系统(2),包括
发送携带有状态追溯信息新值的消息给客户端(2),
其特征在于
计算在发送消息之后有效的状态追溯信息的值,使用至少携带在消息中的新值和保持在客户端系统(2)中的数据作为输入。
2.根据权利要求1所述的方法,包括获得以当前值(Nc)的形式保持在客户端系统(2)中的数据。
3.根据要求2所述的方法,其中服务器(1)知道客户端系统(2)的当前值(Nc)。
4.根据权利要求1-3中的任何一项所述的方法,包括
计算携带在消息中的新值以及在传输消息之后有效的状态追溯信息的值二者中的至少一个,使用当进行该计算时有效的至少状态追溯信息的值作为输入。
5.根据权利要求1-4中的任何一个所述的方法,其中客户端系统(2)被提供有权利的标识符集合,以解密与各自的权利相关的加密信息,包括
保持反映与标识符集合相对应的权利的记录,并且
计算在传输消息之后有效的状态追溯信息的值,使用与在提供给客户端系统(2)的集合中的每个标识符的至少一部分相对应的数据作为进一步的输入。
6.根据先前的任何一项权利要求所述的方法,包括计算传输消息之后有效的状态追溯信息的值,所述传输消息在网络(3)上使用客户端系统(2)的网络地址,优选情况是硬连线到客户端系统(2)所使用的设备(4)中的地址,通过所述网络实现服务器(1)和客户端系统(2)之间的通信。
7.根据先前的任何一项权利要求所述的方法,包括
计算携带在消息中的新值,至少使用由服务器(1)建立和保持的当前值(Ns)作为输入,其中在通信会话的开始,将当前值传送至客户端系统(2)。
8.根据先前的任何一项权利要求所述的方法,其中在接收到来自客户端系统(2)的携带有与状态追溯信息的有效值相对应的数据的请求消息时,将应用数据提供给客户端系统(2)。
9.根据先前的任何一项权利要求所述的方法,其中应用数据以加密的形式提供,所述加密使得允许至少使用状态追溯信息的部分有效值根据可获取的密钥进行解密。
10.根据先前的任何一项权利要求所述的方法,其中客户端系统(2)被提供有内容数据的集合,对其加密以允许根据密钥进行解密,其中应用数据包括密钥的值。
11.一种服务器系统,其包括数据处理单元和存储器,被配置为执行根据权利要求1-10中任何一项所述的方法。
12.一种处理与实现状态追溯机制的服务器(1)进行的通信会话的方法,其包括
在处理通信会话的客户端系统(2)上保持状态追溯信息,其中,在通信会话的过程中,仅当保持在客户端系统(2)中的状态追溯信息与有效值相对应时,从服务器(1)接收应用数据,并且使其可由客户端系统(2)上的目标应用程序进行访问,以及
接收来自于服务器(1)的消息中的状态追溯信息的新值,其特征在于
计算状态追溯信息的进一步的值,至少使用在消息中的新值和存储在客户端系统(2)中的数据作为输入,并且
使用进一步的值替换保持在客户端系统(2)中的状态追溯信息。
13.根据权利要求12所述的方法,包括
在通信会话的开始,获取以当前值(Nc)的形式存储在客户端系统(2)上的数据。
14.根据权利要求13所述的方法,包括
在通信会话的开始在客户端系统(2)生成当前值(Nc)并发送该当前值(Nc)给服务器(1),优选地通过产生随机数来生成当前值(Nc)。
15.根据权利要求12-14中的任何一项所述的方法,其中客户端系统(2)保持权利标识符的集合来解密已加密的与各自的权利相关的信息,其中方法包括
计算状态追溯信息的进一步的值,使用与在集合中的每个标识符的至少一部分相对应的数据作为进一步的输入。
16.根据权利要求12-15中任何一项所述的方法,其中服务器(1)和客户端系统(2)之间的通信通过网络(3)实现,并且其中客户端系统(2)具有网络(3)上的地址,优选地硬连线到客户端系统(2)使用的设备(4)中,其中所述方法包括
计算状态追溯信息的进一步的值,使用与网络地址的至少一部分相对应的数据作为进一步的输入。
17.根据权利要求12-16任何一项所述的方法,包括
接收携带当前值(Ns)的消息,该当前值由服务器(1)在通信会话的开始时建立,并且
计算在来自于服务器(1)的消息中接收的状态追溯信息的新值的预期值,至少使用由服务器(1)建立的当前值(Ns)作为输入,
其中只在确定了预期值和在来自于服务器(1)的消息中接收到的值匹配的情况下,计算状态追溯信息的进一步的值。
18.根据权利要求12-17任何一项所述的方法,包括
计算在来自于服务器(1)的消息中接收的状态追溯信息的新值的预期值,使用在接收消息时保持在客户端系统(2)中的至少状态追溯信息的值作为输入,
其中只在确定了预期值和在来自于服务器(1)的消息中接收到的值匹配的情况下,计算状态追溯信息的进一步的值。
19.根据权利要求12-18任何一项所述的方法,包括
通过发送消息,请求应用数据的传输,该消息包括与保持在客户端系统(2)上的至少部分的状态追溯信息相对应的数据。
20.根据权利要求12-19任何一项所述的方法,包括
接收加密形式的应用数据,以及
使用保持在客户端系统中的状态追溯信息来推导用于解密已加密的应用数据的密钥。
21.根据权利要求12-20任何一项所述的方法,包括
接收加密的内容数据的流,并且
从自服务器(1)接收到的应用数据获得用于解密已加密的内容数据的密钥。
22.一种客户端系统,包括数据处理单元(6)和存储器(7,9),被配置为执行根据权利要求12-21中任何一项所述的方法。
23.计算机程序,其包括指令的集合,当包括在机器可读介质中时,能够使系统具有执行根据权利要求1-10或12-21中的任何一项所述方法的信息处理能力。
CN200710308182.9A 2006-09-21 2007-09-21 用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法 Expired - Fee Related CN101202673B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06121051A EP1903740A1 (en) 2006-09-21 2006-09-21 Method for implementing a state tracking mechanism in a communications session between a server and a client system
EP06121051.4 2006-09-21

Publications (2)

Publication Number Publication Date
CN101202673A true CN101202673A (zh) 2008-06-18
CN101202673B CN101202673B (zh) 2012-04-04

Family

ID=37709692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710308182.9A Expired - Fee Related CN101202673B (zh) 2006-09-21 2007-09-21 用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法

Country Status (13)

Country Link
US (1) US8006249B2 (zh)
EP (1) EP1903740A1 (zh)
JP (1) JP5122225B2 (zh)
KR (1) KR101407373B1 (zh)
CN (1) CN101202673B (zh)
AR (1) AR062938A1 (zh)
AU (1) AU2007216943B2 (zh)
BR (1) BRPI0705938A (zh)
CA (1) CA2603456C (zh)
MX (1) MX2007011639A (zh)
RU (1) RU2454708C2 (zh)
TW (1) TW200828926A (zh)
ZA (1) ZA200708102B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008035450A1 (fr) * 2006-09-20 2008-03-27 Secured Communications, Inc. Authentification par un identifiant ponctuel
US8576785B2 (en) * 2008-12-19 2013-11-05 Robert Bosch Gmbh Method of wireless communication using authentication information
US9152458B1 (en) * 2012-08-30 2015-10-06 Google Inc. Mirrored stateful workers
US10904312B2 (en) * 2014-12-10 2021-01-26 Akamai Technologies, Inc. Server-side prediction of media client steady state
US11574621B1 (en) * 2014-12-23 2023-02-07 Amazon Technologies, Inc. Stateless third party interactions
US10855628B2 (en) * 2018-11-30 2020-12-01 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
CN112738218A (zh) * 2020-12-28 2021-04-30 平安消费金融有限公司 基于区块链的跨会话链路追踪方法、装置及存储介质
DE102023000839A1 (de) 2023-03-07 2023-04-20 Mercedes-Benz Group AG Alarmierungssystem eines Fahrzeugs und Verfahren zum Betreiben eines Alarmierungssystems eines Fahrzeugs

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5633931A (en) * 1995-06-30 1997-05-27 Novell, Inc. Method and apparatus for calculating message signatures in advance
US5937068A (en) * 1996-03-22 1999-08-10 Activcard System and method for user authentication employing dynamic encryption variables
JPH1051489A (ja) * 1996-07-30 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> 無線パケットフロー制御方法
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6877095B1 (en) * 2000-03-09 2005-04-05 Microsoft Corporation Session-state manager
GB2384402B (en) * 2002-01-17 2004-12-22 Toshiba Res Europ Ltd Data transmission links
JP2004274134A (ja) 2003-03-05 2004-09-30 Matsushita Electric Ind Co Ltd 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント
JP4617763B2 (ja) * 2003-09-03 2011-01-26 ソニー株式会社 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
US7466824B2 (en) * 2003-10-09 2008-12-16 Nortel Networks Limited Method and system for encryption of streamed data
US7870187B2 (en) * 2003-12-31 2011-01-11 Microsoft Corporation Transport agnostic pull mode messaging service
US7346773B2 (en) * 2004-01-12 2008-03-18 Cisco Technology, Inc. Enabling stateless server-based pre-shared secrets
JP4264650B2 (ja) * 2004-04-07 2009-05-20 ソニー株式会社 コンテンツ伝送システム及びコンテンツ伝送方法、コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、並びにコンピュータ・プログラム
JP3814620B2 (ja) * 2004-10-15 2006-08-30 株式会社東芝 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US20080077938A1 (en) 2008-03-27
TW200828926A (en) 2008-07-01
EP1903740A1 (en) 2008-03-26
JP2008077664A (ja) 2008-04-03
AR062938A1 (es) 2008-12-17
CA2603456C (en) 2014-12-23
RU2007135047A (ru) 2009-03-27
CN101202673B (zh) 2012-04-04
ZA200708102B (en) 2009-09-30
AU2007216943A1 (en) 2008-04-10
AU2007216943B2 (en) 2011-06-02
KR101407373B1 (ko) 2014-06-13
CA2603456A1 (en) 2008-03-21
RU2454708C2 (ru) 2012-06-27
KR20080027198A (ko) 2008-03-26
JP5122225B2 (ja) 2013-01-16
MX2007011639A (es) 2009-02-10
BRPI0705938A (pt) 2008-07-15
US8006249B2 (en) 2011-08-23

Similar Documents

Publication Publication Date Title
CN101202673B (zh) 用于在服务器和客户端系统之间的通信会话中实现状态追溯机制的方法
CN1950777B (zh) 内容流的完整性保护
US20180316492A1 (en) Distributed System and Method for Encryption of Blockchain Payloads
CN1956449B (zh) 数据资源防复制加密传输方法及设备系统
US8223969B2 (en) Methods and systems for secure distribution of subscription-based game software
CN101208900B (zh) 安全的即时消息接发系统及方法
US20130061054A1 (en) Method to control and limit readability of electronic documents
Feng et al. Enhancing cloud storage security against roll-back attacks with a new fair multi-party non-repudiation protocol
CN111371790B (zh) 基于联盟链的数据加密发送方法、相关方法、装置和系统
CN101547201B (zh) 通信设备,通信系统及传输方法
CN103455734A (zh) 与设备无关的密码信息管理
CN101841411B (zh) 数据资源防复制加密传输方法及设备系统
CN108881966A (zh) 一种信息处理方法以及相关设备
CN102546528B (zh) 流媒体播放的方法和设备
CN106412087A (zh) 一种共享所有权证明的方法及系统
CN100561913C (zh) 一种访问密码设备的方法
Ortiz-Yepes Balsa: Bluetooth low energy application layer security add-on
CN101340653A (zh) 用于便携终端下载数据的版权保护方法及系统
CN105100030A (zh) 访问控制方法、系统和装置
US20130003968A1 (en) Method and apparatus for generating session key and cluster key
CN114782160A (zh) 一种集团内不同子公司的授信额度总和获取方法及系统
JP2006211118A (ja) コミュニケーション端末、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法
JP2005149259A (ja) 情報監視システム、情報処理装置および管理装置
Gu OnionCoin: peer-to-peer anonymous messaging with incentive system
JP2006128869A (ja) コミュニケーションシステム、コミュニケーション方法およびそのプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1117971

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: IRDETO B.V.

Free format text: FORMER NAME: IRDETO B. V.

CP01 Change in the name or title of a patent holder

Address after: Holland Hoofddorp

Patentee after: Irdeto B.V.

Address before: Holland Hoofddorp

Patentee before: Irdeto B. V.

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1117971

Country of ref document: HK

C56 Change in the name or address of the patentee

Owner name: IRDETO B. V.

Free format text: FORMER NAME: IRDETO B.V.

CP01 Change in the name or title of a patent holder

Address after: Holland Hoofddorp

Patentee after: Ai Dide Technology Co., Ltd.

Address before: Holland Hoofddorp

Patentee before: Irdeto B.V.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120404

Termination date: 20170921

CF01 Termination of patent right due to non-payment of annual fee