首页> 中国专利> 用于用户数据概要分析网络的动态假名化方法以及实现该方法的用户数据概要分析网络

用于用户数据概要分析网络的动态假名化方法以及实现该方法的用户数据概要分析网络

摘要

本申请涉及一种实现用于确保用户的私密性的用户的动态假名化的方法的用户的数据概要分析网络。数据概要分析网络(100)包括至少一个数据节点(115

著录项

  • 公开/公告号CN104094573A

    专利类型发明专利

  • 公开/公告日2014-10-08

    原文格式PDF

  • 申请/专利权人 意大利电信股份公司;

    申请/专利号CN201180076346.4

  • 发明设计人 J·格历克;

    申请日2011-12-27

  • 分类号H04L29/06;

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

  • 代理人罗亚男

  • 地址 意大利米兰

  • 入库时间 2023-12-17 02:39:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-12-06

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2011800763464 申请日:20111227 授权公告日:20170215

    专利权的终止

  • 2017-02-15

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20111227

    实质审查的生效

  • 2014-10-08

    公开

    公开

说明书

技术领域

本发明涉及计算机网络中的私密性和匿名化(anonymization), 并且具体地,涉及能够提供存储在计算机网络中的诸如用户数据概要 (profile)之类的敏感数据的匿名性的假名化(pseudonymization) 方法。

背景技术

假名化技术能够用于在数据概要分析网络中提供敏感数据的私密 性,其中,数据被动态地从各种数据源获取并随后在一时段上被处 理、存储和检索。通常,数据概要分析网络被实现为计算机网络。每 个数据源提供源发于称为“用户”的不同真实世界实体的或与不同真 实世界实体相关的数据。例如,用户可以是个人(人)或人的群组、 公司、组织、互联网网站或诸如个人计算机和移动电话之类的设备。 私密性暗示着应当对处理和存储敏感数据的网络节点,保持用户的真 实世界的身份是被隐藏的。在本说明书的上下文中并且为了本发明的 目的,用户的“真实世界的身份”被定义为一组标识符,其中,每个 标识符是用户的可验证物理属性或逻辑属性的描述,并且假设在一时 间段上是有效的。真实世界的身份是单个用户或较小的用户集在全局 域(例如,世界或州)或局部域(例如公司或城镇)内的唯一表示。

例如,数据概要分析网络可以由提供各种互联网服务的互联网服 务提供者(ISP)或特定网站建立以用于在线概要分析。数据概要于 是涉及个别用户的互联网使用并且意图用于经由互联网提供改进的或 新的服务,例如用于授权实体经由定制的横幅广告进行的有针对性的 市场营销。在此情况下,所要保护的用户的真实世界的身份可以包括 例如统一资源定位符(URL)、邮件地址、IP地址、电话号码、人的 名称或住址来作为标识符。

为了获取任何特定用户的随时间的累积数据概要,本质上要求将 在不同时间与相同用户有关的不同数据链接到一起。实质上,这种可 链接性受到约束,因为其仅仅涉及计算给定时间的数据概要所需的数 据而不一定涉及不同时间的数据概要。为了确保该受约束的可链接 性,传统的方法包括使用静态假名(以下,假名也称为PID)来替代 身份(以下,也称为ID),其中应当对处理和存储敏感数据的网络节 点,保持ID与PID之间的关联是隐藏的。

使用静态假名的主要问题在于所提供的可链接性不受约束,因为 其在时间上是不受限制的并且也涉及用户在不同时间的数据概要。不 受约束的可链接性意味着不同时间的数据概要被用同一静态假名链接 到一起,并且因此可以用于获取任何目标用户的随时间的数据概要曲 线,而不论数据概要随时间如何改变。结果,从静态假名的使用获得 的不受约束的可链接性导致缺乏前向/后向私密性,并且增大了通过 分析数据概要曲线进行用户身份恢复的风险。没有或很少的前向/后 向私密性意味着如果用户的身份在给定时间被泄漏,则过去和将来的 对应数据概要全都被泄漏,这本身导致对所标识的用户的完全的可追 踪性。

因为数据概要曲线比给定时刻的单个数据概要包含多得多的信 息,因此,让人能够根据数据概要恢复对应用户的身份的风险显著增 大,特别是如果可能将数据概要曲线与真实生活数据相关的话。因 此,一般,风险比在仅使用单独时刻的数据概要的情况中要高得多。

US 7,213,032 B2记载了一种用于对数据网络诸如互联网中的匿 名用户进行匿名概要分析和针对性的市场营销的计算机实现的方法和 系统。数据网络被划分为三个部分:匿名信任部分(ATP),非匿名 部分(NAP)和非概要分析部分(NPP)。匿名用户概要在ATP中被 计算、维护和使用,要求真实世界的用户身份的非匿名事务在NAP 内执行,并且从ATP获得的匿名用户概要还在NPP内被使用。通过 在ATP中向每个用户指派唯一的标识符(UID)并且在NPP中指派 可能不同的UID来确保用户概要的匿名性。用UID标记的用户概要 被存储在ATP的数据库中。在登录系统时,用户在ATP或NPP中 通过使用自己选择的虚拟用户名或假名以及口令而被匿名地认证。 US 7,213,032 B2的中心要点在于用户的真实世界的身份仅在NAP中 被使用并且从来不被暴露给ATP或NPP的任意部分,而用户概要从 来不在NAP中被显式地使用。然而。允许所谓“代表性的或标记化 的事务值”能够穿越一边的NAP与另一边的ATP和NPP之间的边 界。这些值被定义为“能够由用户生成或收回的并且既不包含用户概 要也不包含用户真实世界的身份的任何编码信息”。这些值对于连接 网络的匿名部分和非匿名部分具有重要作用并且因此使能NAP内的 非匿名事务。

US 7,844,717 B2公开了一种用于在两个或多个数据存储服务器 之间或在单个数据存储服务器内进行与用户相关联的私密个人数据的 假名交换的方法,其中,通过使用假名来替代真实世界的身份来保护 用户和数据存储服务器的私密性。在该系统中,通过使用经验证的安 全假名和凭证的标准方法来认证用户和服务器(具体地,该方法来自 D.Chaum和J.-H.Evertse,“Asecure and privacy-protecting protocol for transmitting personal information between organizations,”in Proceedings of Crypto’86,Lecture Notesin Computer Science,vol.263,pp.118-167,1987)。

该方法的中心要点是使用称为假名服务器的信任代理服务器来经 由访问控制规则控制对私密数据的访问,其中,用户和服务器通过相 关联的唯一标识符(UID)以及用户和服务器类型而分别被注册和表 示。用户真实世界的身份也能够被存储。

US7,610,390B2记载了一种用于链接存储在数据网络诸如互联网 中的不同节点处的用户账户的方法,其中每个用户账户包含一些局部 唯一的用户账户身份信息(ID),,其中用户账户身份信息包括本 地选择的、可能部分的真实世界标识符(如果其唯一地指定用户,则 其应当被视为是私密的)或任意选择的局部用户账户名、包括所谓的 句柄的辅助信息,以及可能其他私密数据(例如,用户概要、偏好、 策略、被授权而有权访问的服务、访问控制权等)。存在两种基本类 型的节点,称为身份提供者和服务提供者。前者的主要作用是认证用 户,因此,所存储的本地ID有必要包括真实世界的标识符。后者的 主要作用是提供各种服务,因此,可以包括或可以不包括真实世界标 识符来作为所存储的本地ID的部分。

服务节点和身份节点彼此交互从而向网络用户提供不同的服务。 该交互要求存储在不同节点处的用户账户被链接到一起。句柄的作用 是在不必交换本地用户账户ID的情况下使能该链接。这通过如下方 式实现:通过让两个节点彼此通信来共享同一句柄(作为公共秘 密)。该相同的被共享的句柄因此决定了两个用户账户对应于同一用 户。与一用户对应的每个句柄包括两个部分,这两个部分可能以加密 的形式分别由两个节点生成并被发送给彼此。如果同一个节点向若干 其它节点通信,则由那个节点生成的句柄的部分对于所有连接是相同 的,即,其取决于局部用户账户而不是取决于连接。在这个意义上, 其可以称为给定节点处的局部用户账户的假名。与两个节点相关联的 一对假名因此可以将同一用户在两个节点处的用户账户之间的连接确 定为句柄。还教导了通过选择动态假名,即,随时间变化的假名, “可以降低账户名的可见性”。

S.Fouladgar和H.Afifi的论文(“A simple privacy protecting scheme enabling delegation and ownership transfer for RFID tags,” Journal of Communications,vol.2,no.6,pp.6-13,2007)涉及经由信任 在线数据库在由RFID(射频识别)标签和标签阅读器组成的系统中 进行相互认证的通信协议。该协议是针对标签认证使用动态假名的挑 战-响应型,其中,假名是通过使用密码散列或加密函数根据预先共 享的秘密密钥和计数器生成的本地随机数生成的。标签ID和秘密密 钥被存储在信任在线数据库中并且仅被协议暴露给授权的阅读器,同 时动态假名确保标签认证仍然是未经授权的阅读器不可追踪的。

发明内容

与US 7,213,032 B2相关联地,申请人观察到,所谓的“代表性 的或标记化的事务值”的定义和作用非常模糊和不清楚,尽管它们对 于所公开的方法很重要。申请人还观察到,用户UID扮演与用户和 用户概要相关联的唯一静态假名的角色并且要求的NAP的逻辑分离 或物理分离应当确保用户UID从不存储在用户设备中并且从不能通 过与用户相关联的任何信息(例如通过用户设备在互联网上的IP地 址)而与用户真实世界的身份链接。假定在ATP和NPP中大范围使 用用户UID,这会难以实现。在任何情况下,如以上说明的,静态 假名的使用导致用户概要的不期望的不受约束的时间可链接性。

与US 7,844,717 B2相关联地,申请人观察到,UID扮演与所涉 及的实体相关联的唯一静态假名的角色,并且因此,导致私密数据交 换的不受约束的时间可链接性。另外,如果静态假名被用于代表存储 在各个数据服务器处的私密数据,则所产生的该私密数据的时间上不 受约束的可链接性在许多应用中可能是不期望的。

与US 7,610,390 B2相关联地,申请人观察到US 7,610,390 B2的 主要权利要求(独立权利要求1、5和12)是有缺陷的,因为它们没 有规定最先接收到从其它节点发送的句柄的部分的节点如何确定句柄 的该部分应当被关联到的用户账户。即,用户账户ID未被发送,并 且,没有规定用户账户的一些公共信息,句柄的各个部分不能够被共 享,即,初始链接不能被建立。因为同样的理由,已经存在的句柄的 被动态生成的部分以权利要求所规定的方式不能够被共享。通过检查 US 7,610,390 B2的文本,申请人发现作者可能已经假设所需链接 (包括初始的链接以及当句柄的被本地生成的部分改变时的之后的链 接两者)能够通过针对每对节点使用用户经由公共IP地址而在两个 节点处的同时存在或者用于访问这两个节点的句柄的多个部分在同一 用户设备中的存储(例如经由用户互联网浏览器以cookie的形式) 而建立。申请人观察到,在后一情况中,需要在两个节点处执行用户 认证,而不是如权利要求5和12所规定那样仅在节点之一处执行用 户认证。这是因为(即使在被加密时,由于重播攻击)cookie不能被 视为真实可信。

申请人的另一观察结论是,尽管提出了句柄的被动态生成的部 分,但是每个用户账户在所有私密数据被存储的情况下在每个节点处 在时间上是可链接的,其中,可链接性由相同的被存储的用户账户 ID以及由句柄的存储的不改变的部分或多个部分决定。申请人观察 到,该方法的另一个缺点在于其不提供所存储的私密数据的私密性, 除非在每个身份提供者中存在完全信任。即,一个身份提供者的泄漏 的用户账户将使得能够将对应的用户账户ID链接到存储在与该提供 者连接的其它节点处的私密数据。然而,具有这样的信任在分布式场 景中看起来是不现实的。

申请人已经解决了设计一种用于数据概要分析网络的用户的动态 假名化的方法的问题,该方法通过使用随时间变化的动态假名提供数 据匿名性以便防止数据概要的不受约束的可链接性,如上所述,数据 概要的不受约束的可链接性是传统的静态假名化方法固有的并且因为 以上所述的原因是不利的。本发明的方法在数据概要分析网络的数据 概要分析节点(以下,为了简便也称为“数据节点”)的一般情况中 起作用,其中,数据概要分析节点接收来自多个数据源或其它数据概 要分析节点的假名化的输入。

申请人已经观察到由数据节点构成的数据概要分析网络可以被同 步以与动态地假名化的数据协作,其中每个假名随时间随机地或伪随 机地改变或者作为其中密钥随时间变化的相应身份的带密钥的函数而 变化。根据本发明的方法使得数据概要分析网络中的每个数据节能够 找到与动态地假名化的输入数据对应的正确的数据记录,将相应的输 入数据处理成输出数据,向输出数据指派动态假名,以及将动态地假 名化的输出数据发送给数据概要分析网络中的其它数据节点。授权实 体对所存储的用户数据概要的访问通过利用用户身份或用户假名被使 能。

本发明的方法也可以适用于组合的数据概要分析网络,即由不相 交的数据节点构成但是可能共享相同用户的数据概要分析网络。在一 个实施例中,本发明的方法使能不同数据概要分析网络中与相同用户 对应的各个用户数据概要的交换。在另一实施例中,本发明的方法使 能不同数据概要分析网络中的与指定用户集(有可能全部用户)对应 的用户数据概要的聚合。

根据本发明的一个方面,提供一种用于数据概要分析网络的动态 假名化方法,该数据概要分析网络包括至少一个数据节点,所述数据 节点被配置用于接收与用户有关的输入数据并将所述输入数据变换成 与用户有关的输出用户数据概要,所述数据节点包括用于将与用户有 关的输入数据与用户的动态输入假名一起存储的用户数据记录,所述 数据节点被配置用于从所述输入数据计算与用户有关的所述输出用户 数据概要以及用于将计算出的输出数据概要存储在其所述用户数据记 录中。该方法包括:

在数据节点处接收与用户有关的新输入数据和相关联的新用户假 名以及过去与之前接收的与用户有关的输入数据相关联的旧用户假名 或候选旧用户假名集;

在所述数据节点中找到与接收的新输入数据对应的用户数据记 录,因为该用户数据记录已经在其中存储了动态输入用户假名,所述 动态输入用户假名等于与所述新输入数据一起接收的所述旧用户假名 或者等于属于接收的候选旧用户假名集的一个用户假名;

在找到的用户数据记录中临时存储所述新输入数据;

将存储在所述数据节点的所述用户数据记录中的动态输入用户假 名设置成等于与接收的与用户有关的输入数据相关联的最后接收的新 用户假名;

在给定时间通过使用在用户数据记录中累积的新输入数据计算所 述输出用户数据概要,将计算出的输出用户数据概要存储在用户数据 记录中,并且随后从用户数据记录擦除所述累积的新输入数据。

在本发明的一个实施例中,该方法可以包括:

在所述数据节点中,生成动态输出用户假名并将动态输出用户假 名与所述计算出的输出用户数据概要一起存储在所述用户数据记录 中;

间或将所述输出用户数据概要发送至所述数据概要分析网络中的 至少一个其它数据节点,每次生成所述动态输出用户假名的新值,用 所述动态输出用户假名的所述新值替换所述动态输出用户假名的之前 存储的旧值,以及将所述动态输出用户假名的旧值和新值二者与所述 输出用户数据概要一起发送给所述至少一个其它数据节点。

可以由数据节点从数据概要分析网络的至少一个数据源节点或从 数据概要分析网络的至少一个其它数据节点接收所述输入数据。

在本发明的一个实施例中,该方法可以包括:

在所述数据概要分析网络中提供至少一个假名化节点,所述假名 化节点能够操作用于:

-从至少一个数据源节点接收用户身份,所述用户身份识别所述 数据源中的用户,用户身份包括数据源已知的用户的一个或多个标识 符;

-从接收的用户身份生成用户假名;

-向数据源节点提供生成的用户假名。

所述用户假名可以被生成为随机或伪随机值,或生成为通过带密 钥的函数从用户身份和秘密密钥生成的带密钥的值。

所述假名化节点可以能够操作用于加密和认证要提供给数据源节 点的生成的用户假名。

生成的随机或伪随机用户假名可以与对应的用户身份相关联地存 储在假名化节点处。

用户身份对于不同数据源节点可以是不同的。该方法可以包括:

在所述数据概要分析网络中提供至少一个等同用户身份管理节 点,所述等同用户身份管理节点能够操作用于将同一用户的对应于不 同数据源的不同身份作为等同物进行管理。

在本发明的一个实施例中,该方法可以包括:

当在所述数据节点处从所述至少一个数据源或从所述至少一个其 它数据节点接收到与用户有关的新输入数据时,如果没有找到包括与 新输入数据一起接收的所述旧用户假名或属于与新输入数据一起接收 的所述候选旧用户假名集的一个用户假名的用户数据记录,则让数据 节点通过利用与新输入数据一起接收的所述旧用户假名或所述候选旧 用户假名集来确定与那个用户有关的用户数据记录是否已经存在,其 中,所述用户数据记录已被创建用于存储过去从至少一个其它数据源 接收的与那个用户有关的输入数据。

在新输入数据是由所述数据节点从所述至少一个数据源接收的情 况中,所述确定步骤可以包括:

让所述数据节点向所述至少一个数据源后向发送用于获取用户的 等同假名的请求,所述请求包含所述旧用户假名或所述候选旧用户假 名集;

让所述至少一个数据源恢复临时存储在其中的用户身份,将恢复 的用户身份发送给等同用户身份管理节点,以及向所述等同用户身份 管理节点请求向假名化节点提供用户的等同身份;

让假名化节点检索用户的等同假名并随后将它们发送给与之连接 的数据源节点;

执行前向泛洪过程,包括:

-让连接到假名化节点的数据源节点向与之连接的所有数据节点 前向发送包含接收的用户的等同假名的请求;

-当所述数据概要分析网络中的一数据节点在其输入处接收到来 自与其连接的至少一个其它数据节点的包含等同假名的一个或多个请 求时,让数据节点搜索将接收的等同假名中的一个存储为输入用户假 名的用户数据记录;

-如果找到这样的用户数据记录并且数据节点是接收新输入数据 的所述数据节点,则让该数据节点使用找到的用户数据记录用于存储 接收的新输入数据;

 如果找到这样的用户数据记录并且该数据节点不同于接收新输 入数据的所述数据节点,则让该数据节点通过向连接到其输出的所有 其它数据节点前向发送存储在用户数据记录中的输出用户假名来继续 前向泛洪过程。

在新输入数据由所述数据节点从所述至少一个其它数据节点接收 的情况中,所述确定步骤可以包括执行回溯过程、等同假名恢复过程 和前向泛洪过程,其中:

所述回溯过程包括:

-让所述数据节点向所述至少一个其它数据节点后向发送用于获 取用户的等同假名的请求,所述请求包含所述旧用户假名或所述候选 旧用户假名集;

-让所述至少一个其它数据节点搜索将接收的旧用户假名中的一 个存储为输出用户假名的用户数据记录并随后将至少一个请求后向发 送到与其输入连接的任意其它数据节点,所述请求包含存储在用户数 据记录中的输入用户假名;

-当所述数据概要分析网络中的数据节点在其任何输出处接收到 来自与其连接的任何其它数据节点的请求时,让数据节点搜索将接收 的用户假名存储为输出用户假名的用户数据记录并且随后将至少一个 请求后向发送给与其输入连接的任何其它数据节点或任何数据源节 点,所述请求包含存储在用户数据记录中的输入用户假名;

-当所述数据概要分析网络中的一数据源节点在其输出处接收到 来自与之连接的任何数据节点的请求时,让数据源将接收的用户假名 以及提供用户的等同假名的请求转发给假名化节点;

所述等同假名恢复过程包括:

-让假名化节点从所述数据源节点接收用户假名并随后或者通过 使用存储的假名表直接地或者通过使用用于恢复用户身份的可逆的带 密钥的函数来间接地检索用户的等同假名,随后将该用户身份发送给 等同用户身份管理节点以提供用户的等同身份,随后从接收的用户的 等同身份生成用户的候选等同假名,并随后将它们发送到与之连接的 数据源节点;

所述前向泛洪过程包括:

-让连接到假名化节点的数据源节点向与之连接的所有数据节点 前向发送包含接收的用户的等同假名的请求;

-当所述数据概要分析网络中的一数据节点在其输入处接收到包 含来自与之连接的至少一个其它数据节点的等同假名的一个或多个请 求时,让该数据节点搜索将接收的等同假名之一存储为输入用户假名 的用户数据记录;

-如果找到这样的用户数据记录并且数据节点是接收新输入数据 的所述数据节点,则让该数据节点使用找到的用户数据记录用于存储 接收的新输入数据;

 如果找到这样的用户数据记录并且该数据节点不同于接收新输 入数据的所述数据节点,让该数据节点通过向连接到其输出的所有其 它数据节点前向发送存储在用户数据记录中的输出用户假名来继续前 向泛洪过程。

在本发明的一个实施例中,该方法可以包括:

在在所述数据节点中即便在接收到等同用户假名之后仍然没有找 到与接收的新输入数据对应的用户数据记录的情况中,让数据节点创 建于所述用户有关的新用户数据记录,并且将接收的新输入数据与连 同接收的新输入数据一起接收的接收的新用户假名一起存储在其中。

在依据用户数据概要的有效时间段而定的预定时间之后,所述用 户假名可以被动态地改变。

至少数据节点和至少一个数据源节点优选地被禁止与和用户有关 的数据相关联地指派、使用或存储不随时间变化的静态用户假名或在 过去为用户生成和使用的动态用户假名的旧值。

在本发明的一个实施例中,该方法可以包括:

当用户数据概要请求实体想要检索存储在所述至少一个数据节点 中的用户数据概要时:

-让用户数据概要请求实体向数据概要分析网络的所述至少一个 数据节点中的选定一个发送用户数据概要请求,其中,所述用户数据 概要数据请求包含存储要被检索的所请求的用户数据概要的数据节点 的标识符,以及分别地存储在用户数据概要数据请求被发送到的所述 至少一个数据节点中的所述选定一个的用户数据记录中的当前有效的 输入或输出用户假名;

-在接收用户数据概要请求的所述至少一个数据节点中的所述选 定一个是存储所请求的用户数据概要的数据节点的情况中,让该数据 节点与指定的当前有效的输入或输出用户假名相关联地检索存储在用 户数据记录中的所请求的用户数据概要,并且将检索的用户数据概要 提供给用户数据概要请求实体;

-在接收用户数据概要请求的所述至少一个数据节点中的所述选 定一个不是存储所请求的用户数据概要的数据节点的情况中:

a)让所述至少一个数据节点中的所述选定一个识别存储在其中 的用户数据记录中的与接收的用户数据概要请求中包含的接收的当前 有效输出用户假名对应的输出用户假名或与接收的用户数据概要请求 中包含的接收的当前有效输入用户假名对应的输出用户假名,并将检 索的输出用户假名转发给与之连接的所有进一步的数据节点;以及

b)通过使用接收的检索的输出用户假名而不是所述当前有效的 输出用户假名或所述当前有效的输入用户假名来重复步骤a),直到 到达存储所请求的用户数据概要的数据节点为止,并且随后,让数据 节点检索存储在相应用户数据记录中的所请求的用户数据概要。

该方法可以进一步包括:

在执行以上步骤之前,让用户数据概要请求实体向假名化节点请 求与所述用户数据概要请求中包含的给定的临时的或永久的用户标识 符对应的用户的当前有效的输入假名。

数据概要分析网络可以包括至少不相交的第一和第二数据概要分 析网络,每个数据概要分析网络包括各自的数据节点、各自的数据 源、各自的假名化节点,其中数据源提供输入数据,数据节点基于输 入数据计算用户数据概要,假名化节点用于从用户身份生成用户假 名,并且其中,提供组合的等同用户身份管理节点,组合的等同用户 身份管理节点能够操作用于将同一用户的对应于第一和第二数据概要 分析网络中的不同数据源的不同身份作为等同物进行管理,当所述用 户的数据概要通过第一数据概要分析网络被请求时,组合的等同用户 身份管理节点用于检索第二数据概要分析网络中的用户的用户数据概 要。

本发明的另一方面涉及一种数据概要分析网络,其被配置为以上 方法。

附图说明

参考附图,通过以下对本发明的例示性和非限制性实施例的详细 描述,可以使得本发明的这些和其它特征和优势显而易见,在附图 中:

图1图示出其中可以实现根据本发明的方法的示例性数据概要分 析网络的通用结构,该数据概要分析网络包括D节点,ID节点,信 任PID节点以及向网络提供原始数据输入的数据源(DS或DS节点) (在所考虑的示例中,4个数据源和8个D节点);

图2示出数据概要分析网络的D节点(在本文中所考虑的示例 中,具有3个输入通道和2个输出通道的D节点)的通用结构;

图3示出在DS、PID节点和从DS节点接收输入的D节点之间 的交互,以及从DS节点接收输入的D节点中的假名和数据的改变。

图4示出从另一D节点接收输入的D节点中的假名和数据的交 换。

图5图示出由数据概要分析网络中的4个连续的D节点在给定 时刻形成的动态假名链。

具体实施例

数据概要分析网络

根据本发明的一个实施例,数据概要分析网络(以下,简称, DPN)是一种计算机网络,包括三种类型的逻辑节点:(1)身份节 点(以下,也称为ID节点),(2)假名节点(以下,也称为PID 节点),以及(3)数据概要分析节点,或简称,数据节点(以下, 也称为D节点)。DPN的逻辑节点可以通过使用计算机技术以集中 式或分布式方式物理地实现。

到DPN的输入数据(以下,也称为原始输入数据)由许多数据 源(DS或DS节点)提供。另外,DPN的相关联的组件是用户,意 图作为通过各种数据源提供原始输入数据并且利用由DPN产生的输 出数据概要的真实世界的实体。例如,用户可以是个人(人)或人的 群组、组织、互联网网站,或诸如个人计算机和移动电话之类的设 备。

参考图1中图示出的示例,DPN,全局地标注为100,包括一个 ID节点105,一个PID节点110,八个D节点1151-1158,和四个数 据源(DS节点)1201-1204。四个DS节点1201-1204可以例如对应于 收集有关用户的网站使用的原始输入数据的四个不同的互联网网站, 而八个D节点1151-1158将与同一用户相关的接收的输入数据聚合和 处理成要用于不同应用的对应输出数据(数据概要)(例如,经由定 制横幅广告用于授权实体的有针对性的市场营销)。可替代地,四个 DS节点1201-1204可以对应于相同或不同ISP的不同网络(例如,固 定的或移动的),在该情况下,原始输入数据是(例如,由网络探 头)从对应流量数据提取的。

ID节点(例如所考虑的示例中的ID节点105)管理DPN用户 的等同身份(以下也称为ID),其中某一用户的每个等同身份对应 于不同数据源。底层的假设是,在DPN中,关于任何数据源用相同 身份表示的所有用户被有效地视为一单个用户。因此,ID节点实现 身份等同表,存储与同一用户对应的等同身份,其中每个身份对应于 不同数据源并且本身由用户的标识的有序集组成。在由ID节点保持 的身份等同表中,身份ID用相应的数据源i索引(i是标识单个数据 源的索引:例如,120i,i=1,2,3,4),因此身份等同表由等同的 身份集{(i,ID)},每个单个用户一个集。

ID节点具有更新操作模式:在更新操作模式中,ID节点基于在 其输入处接收的等同身份来更新相应的身份等同表。另外,ID节点 还可以生成和存储用户的新的唯一的身份,其能够用作那个用户的等 同身份集的唯一(可能静态的)表示。

ID节点具有生成操作模式:在生成操作模式中,ID节点在其输 入处从数据源i接收用户的身份ID,即,(i,ID),并在其输出处 提供那个用户的对应等同身份集{(i,ID)}。形式上,在生成操作 模式中,ID节点实现映射(i,ID)→{(i,ID)}。

对于给定DPN,可以存在管理所有用户的身份或涉及所有数据 源的单个ID节点,或,可替代地可以提供多个相互连接的ID节 点,每个ID节点管理用户和数据源的相应子集的身份。每个ID节 点可以实现为计算机网络中的计算机服务器。然而,在不损失一般性 的情况下,服务单个DPN的多个ID节点可以被视为单个逻辑ID节 点;以下,因此将假定DPN包括单个ID节点。

DPN中的用户标识符和身份由数据源和由ID节点管理。每个用 户标识符可以分别根据用户标识符有效时段相对长还是相对短,而被 分类为临时的(即,短期的)或永久的(即,长期的)。永久标识符 的示例是人的姓名(在人一生中不预期会改变)或家庭地址(会偶发 地改变),而临时标识符的示例是描述数据源的临时位置的位置标识 符,诸如互联网上的IP地址。ID节点可以仅管理永久地用户标识符 和对应的等同身份,但是在一些情况下,临时的用户标识符也可以由 ID节点联合永久的标识符进行管理。

用户身份可以包括一个或多个永久的标识符和一个或多个临时的 标识符;随后,假名化可以或者与身份整体或者与特定的(永久的和 /或临时的)标识符或与构成身份的标识符中选择的标识符子集相 关。具体地,可能期望与身份的永久的标识符分别地假名化各个临时 的标识符。

PID节点(例如,在所考虑的示例中,PID节点110)将被定义 为(永久的和临时的)用户标识符的有序集的给定用户标识符或用户 身份整体变换(即,假名化)成对应的假名。根据本发明,当首字母 缩写ID被等同地用作作为整体的身份的或属于构成身份的标识符集 的标识符的通用表示时,首字母缩写PID被用作对应假名的通用表 示。PID节点在其输入处接收ID并且在其输出处产生对应的假名 PID。形式上,PID节点实现单射映射ID→PID,其中该映射可以依 赖于特定数据源并且有可能依赖于给定数据源的各个标识符或标识符 子集。在任何时候,每个数据源为相同的用户使用相同的ID,即, DS不能在相同时间为相同用户使用两个不同不同ID;但是,在时间 上,由DS所使用的用户的ID能够改变(例如,如果ID是临时 的)。应当注意,如果由PID节点实现的映射ID→PID不是单射, 则导致相同PID的ID的子集被有效地视为单个用户。如以上说明 的,隐含地假定,等同的ID(身份或构成身份的标识符中的各个或 子集)源自不同数据源并且对应假名用相应数据源索引。相应地,关 于某一数据源的身份被变换成单个PID,如果身份中包括的所有标识 符被联合变换的话。可替代地,如果身份中包括的标识符被各个地变 换,则身份被变换成各个假名的有序集PID,每个PID对应于个别 的标识符或它们的子集。甚至更一般地,如果PID节点在其输入处 接收到与一个或多个索引的数据源相对应的等同ID的集{ID},则其 在其输出处生成等同假名的对应集{PID}。为了私密性保护,假定, PID节点被信任,不向未授权实体暴露ID→PID关联。每个PID节 点可以被实现为计算机网络中的安全计算机服务器或实现为防窜改硬 件安全性模块(HSM)。

D节点(例如,在所考虑的示例中,D节点1151-1158)处理在 DPN内要被进行概要分析的用户数据,即,D节点生成用户的数据 概要。

DPN的D节点可以是输入D节点、中间D节点和输出D节 点。

输入D节点(例如,在所考虑的示例中,D节点1151-1153和 1155)直接从至少一个数据源接收原始输入数据(在所考虑的示例 中,输入D节点1151直接从数据源DS1(1201)和DS2(1202)接收 原始输入数据;输入D节点1152直接从数据源DS3接收原始输入数 据;输入D节点1153直接从数据源DS3(1203)和DS4(1204)接收 原始输入数据;以及输入D节点1155直接从数据源DS2接收原始输 入数据)以及,可能地,其也从其它D节点输入数据(例如输入D 节点1155,其也从D节点1151接收原始输入数据)。第一级输入D 节点仅直接从至少一个数据源而不从其它D节点接收原始输入数据 (即,例如,D节点1151,1152,1153的情况)。

中间D节点仅从其它D节点(并且不从任何数据源)接收输入 数据,以及在处理后,将输出数据提供给其它D节点,但不是直接 提供给用户。相应地,中间D节点仅实现输出数据的临时存储就足 够。在所考虑的示例中,如果D节点1156不使得输出数据直接可用 于用户,则其是中间节点。

输出D节点从数据源或其它D节点接收输入数据,以及在处理 后,将输出数据直接提供给用户,以及可能地,也直接提供给其它D 节点。相应地,输出D节点例如,以数据库或任何其它非易失性存 储器的形式实现输出数据的永久存储。在所考虑的示例中,D节点 1154,1157,1158是输出D节点,因为它们不使得输出数据可用于其 它D节点。特殊类型的输出D节点是用户D节点,将用户数据概要 存储在用户设备(例如,个人计算机或移动电话)中。

通用DS与通用D节点之间的有向连接(例如,在所考虑的示例 中,DS1201与D节点1151之间的有向连接125)和DPN中两个通 用D节点之间的有向连接(例如,在所考虑的示例中,D节点1151与D节点1154之间的有向连接1301,和D节点1151与D节点1155之间的有向连接1302)称为“数据通道”或简称为“通道”。在DS和D 节点之间以及在D节点之间通过数据通道传送的所有数据被假名 化,即,被用动态假名标记,根据本发明,动态假名可以用于通过应 用在之后描述的动态假名化方法,将与不同时间对应于相同用户的数 据链接到一起

D节点的功能性

DPN中的D节点可以具有许多输入和通过输出通道连接到其它 D节点的许多输出,(参考所考虑的示例,D节点1151具有两个输 出,分别通过相应输出通道1301和1302连接到D节点1154和D节 点1155)。D节点的通用输出可以通过各个输出通道连接到其它D 节点的一个或多个输入。如以上说明的,如果D节点是输出D节 点,则可能存在D节点的输出而没有任何输出通道:在此情况下, 对应输出数据不被发送出去到其它D节点,但是应当可被授权用户 访问。到D节点的每个输入通过输入通道连接到数据源(DS)或连 接到另一D节点,其提供对应于不同用户并被用假名标记的输入数 据。

令通用D节点的各个输入和输出分别用j和k索引。于是,由 D节点接收的假名化的输入数据可以被临时存储在输入数据记录 {(j,Datain,PIDin)}中,其中j是标识D节点的第j个输入的索 引,Datain是由D节点在第j个输入处接收的输入数据,并且输入假 名PIDin是单值假名或多值假名,即,表示第j个输入的输入数据 Datain的假名值的有序集。类似地,D节点的假名化的输出数据可以 存储在输出数据记录{(k,Dataout,PIDout)}中,其中k是标识D 节点的第k个输出的索引,Dataout是输出数据,并且输出假名PIDout是表示第k个输出的输出数据Dataout的单值假名。假设为了简化起 见,输出假名采用单个值,而输入假名可以采用多个值,如果输入数 据直接从DS被接收的话。为了区别,多值输入假名在以下也标注为 (PIDin)。应当注意,如果第k个输出没有相关联的输出通道,则 不需要第k个输出的输出假名PIDout。输入和输出数据记录可以一起 存储在对应于匿名用户的联合数据记录({(j,Datain,PIDin)}; {(k,Dataout,PIDout)})中。如果输入和输出数据记录被分别地存 储,则它们应当共用共同的输入和输出假名,共同的输入和输出假名 指向同一匿名用户。图2示意性地示出D节点115,其具有三个输入 2051,2052,2053(具有相关联的输入数据记录2101,2102,2103) 和两个输出2151,2152(具有相关联的输出数据记录2201,2202)。

DPN可以由包括D节点和充当外部输入节点的DS的有向图表 示。底层的假设是对应的无向图被连接。否则,DPN应被分割成彼 此分离地起作用的许多不相交的组件。

根据这里所描述的本发明的动态假名化方法的所描述的示例性 实施例,存储在DPN中的D节点的数据记录({(j,Datain, PIDin)};{(k,Dataout,PIDout)})中的输入和输出假名随时间改 变,以使得每个D节点能够在每个时刻都找到与接收到的假名化的 输入数据对应的正确的数据记录。使能该功能性的主要范例是在每个 时刻,D节点(进行接收的D节点)的新的输入假名被定义为从 DPN中对应的前一D节点(进行发送的D节点)最新接收的新的输 出假名。结果,存储在进行接收的D节点的输入数据记录{(j, Datain,PIDin)}中的它的旧的输入假名因此等于进行发送的D节点 的旧的输出假名,该旧的输出假名是由进行接收的D节点在过去接 收的,并被存储在进行发送的D节点的输出数据记录{(k, Dataout,PIDout)}中。这使得进行接收的D节点能够通过使用旧的 输出假名来找到正确的用户数据记录,旧的输出假名需要与新的输出 假名一起由进行发送的D节点发送。接收到的旧的输出假名随后将 匹配进行接收的D节点的相应输入数据记录中的存储的旧的输入假 名的值,其对应于正确但匿名的用户,假设该值已经存在于进行接收 的D节点的存储的数据记录的表格中的话。在找到正确的数据记录 时,接收的新的输出假名随后取代所存储的旧的输入假名(即,接收 的新的输出假名变成新的输入假名)。

D节点累积输入数据并通过在给定的时间(例如,周期地)处 理累积的输入数据来更新输出数据(即,用户概要)。在两个连续的 更新之间,输入数据仅被累积,并且因此,Datain表示对于任何给定 的D节点输入,从最后的更新开始为某一用户累积的所有输入数 据。另一方面,如上所述,对于任意给定输入,输入假名不被累积, 而是仅被刷新成接收到新值,因此,在每个时刻,PIDin都表示进行 接收的D节点的最近的输入假名(从最新的更新开始),其等于相 应的进行发送的D节点的最后接收到的输出假名值。

D节点的输出数据通过以无状态或有状态方式处理累积的输入 数据被更新(即被新的计算值替换);以无状态方式更新输出数据的 D节点称为“无状态D节点”,而以有状态方式更新输出数据的D 节点称为“有状态D节点”。通过无状态更新,意指对于每个D节 点输出,输出数据Dataout作为{(j,Datain)}的函数计算,而通过 有状态更新,意指对于每个D节点输出,输出数据Dataout作为 {(j,Datain)}和附加变量S(称为与那个D节点输出对应的状态) 的函数计算。另外,对于每个D节点输出,状态S根据前一状态和 {(j,Datain)}被更新。这意味着,有状态D节点的输出数据记录包 含{(k,S,Dataout,PIDout)},而S是第k个D节点输出的状态。 例如,如果输出数据被定义为当前输入数据和之前的输入数据在过去 的时间段上的平均值,则状态包括用于平均值计算需要的所有之前的 输入数据。假定,对于所有D节点输出,更新同时发生(如果不 是,则D节点可以被逻辑分割成许多D节点)。在每次更新之后, (临时的)输入数据Datain被从输入数据记录擦除,输入数据记录于 是变为简单的{(j,PIDin)},即,仅输入假名仍被存储。

如果D节点具有连接到其输出的至少一个输出通道,则,在给 定时刻,输出数据Dataout通过(一个或多个)相应输出通道被发送 到DPN中的对应的(一个或多个)D节点(例如,D节点1151将输 出数据Dataout通过输出通道1301发送到D节点1154)。具体地,这 会在输出数据的每次更新之后发生。发送输出数据不需要对于所有D 节点输出同时发生。对于要发送的输出数据Dataout,旧的输出假名 PIDoutold被定义为PIDout的之前(存储的)值并且输出假名PIDout(在发送时)通过作为所有输入的当前输入假名{(PIDin)}的函数计 算新的输出假名而被更新。优选地,该函数应当对一个或多个个别的 输入的变化是敏感的。具体地,如果当前输入假名{(PIDin)}包含仅 一个假名值PIDin,则新的输出假名PIDout可以定义为 PIDout=PIDin。更一般地,输出假名PIDout可以定义为被表示为二进 制串的各个输入假名的按位XOR。输出数据Dataout随后被与对应输 出假名的旧值和新值PIDoutold,PIDout一起,即作为三元组 (Dataout,PIDoutold,PIDout),被发送。如以上说明的,随后可以通 过使用传送的旧的输出假名PIDoutold找到进行接收的D节点中的正 确的用户数据记录,因为在进行接收的D节点中,该值与相应数据 记录中的输入假名的存储值一致。在找到正确的用户数据记录时,进 行接收的D节点中的输入数据记录中的输入假名值随后被刷新成新 值PIDout

上述处理在图4中被示意出,其中示出两个通用的互连D节点 115a和115b,D节点115a是进行发送的D节点,D节点115b是进行 接收的D节点。该示图示出两个D节点115a和115b的存储在其输出 和输入记录中的数据和PID值在输出数据被进行发送的D节点115a发送之前和之后以及在进行接收的D节点115b中的更新之前和之后 的演变。

如果D节点是中间D节点,则(临时的)输出数据Dataout在 其通过相应的(一个或多个)输出通道被发送之后被从输出数据记录 擦除,而输出假名仍然被存储(以便在已更新的输出数据Dataout的 下一发送时与将来的新的输出假名一起被发送)。中间D节点的第k 个输出的输出数据记录的对应部分于是变成(k,S,PIDout)。对于 可能的擦除,假定,如果D节点是中间的并且存在连接到同一D节 点输出的多个输出通道,则发送输出数据在所有这些输出通道上同时 发生。

如果D节点是输出D节点,则输出数据Dataout被存储以便可 被授权用户访问。在该情况下,可以存在或可以不存在输出通道,并 且如果输出通道存在,则输出数据在通过(一个或多个)相应的输出 通道被发送之后不被擦除。具体地,输出通道可以通到用户D节 点。如果对于给定输出不存在输出通道,则对于那个输出实际上不需 要输出假名PIDout,因为可以通过使用来自{(PIDin)}的对应的当前 输入假名中的任一个来找到和访问输出数据Dataout,如后所述。

输入D节点关于直接从DS接收而不是从另一D节点接收的假 名化的输入数据的功能性相似,唯一的差别在于,从DS接收的新输 出假名可以是单值假名(如在针对不是输入节点的任何D节点的情 况那样)或多值假名,即,关于给定DS与同一用户的不同标识符或 标识符子集对应的假名的有序集。该单值或多值新输出假名PIDout应 来自DS的请求由PID节点(例如,在所考虑的示例中,PID节点 110)生成并且与单值或多值旧的输出假名或候选的旧的输出假名的 集一起被发送给DS。相应地,当进行接收的输入D节点找到正确的 数据记录时,则进行接收的输入D节点的输入假名PIDin被设置成分 别等于从进行发送的DS接收的新的单值或多值新输出假名PIDout。 另一方面,如前所述,当假名化的输入数据是从另一D节点接收的 时,则接收到的输出假名总是由进行发送的D节点生成的单值假名 PIDout,因此进行接收的D节点的对应的输入假名PIDin是单个假 名。

PID节点的功能性

PID节点(例如,本文所考虑的示例性DPN中的PID节点 110)在DPN中用作有关数据源和ID节点的服务实体。PID节点可 以从进行请求的DS(例如在所考虑的示例中,四个DS1201-1204中 的一个)接收作为单个标识符或身份(标识符集)的ID作为其输 入,在该情况中,PID节点在其输出处生成对应的新的单值PID,并 且随后将该新生成的PID和PID的可能的旧值的集一起发送回进行 请求的DS。如果PID节点在其输入从DS接收到作为要被各个地变 换的标识符的有序集或其子集的ID,则PID节点在其输出生成作为 PID值的有序集的对应的新的多值PID,并将该新的多值PID与 PID的可能的旧值的集一起发送回DS。在特殊的情况下,如果新的 假名值与旧的假名值一致,则假名未被有效地改变。可替代地,如果 PID节点从ID节点(例如,图1中的ID节点105)接收到等同ID 的集{ID},其中等同ID用相应的DS索引,则PID节点在其输出再 现对应的当前的被索引的集{PID},并且将该集{PID}发送到ID节 点。

底层的假设是每个假名化的标识符或身份是给定环境(全局或 局部)中用户的唯一表示,其具有为1的概率或具有很高的概率。在 本发明的一个实施例中,由PID节点生成的旧的和新的PID被联合 传送到进行请求的DS,优选以已加密和已认证的形式,然后与与匿 名用户有关的原始输入数据一起被DS转发给对应的输入D节点。为 了私密,DS不存储任何数据、身份、标识符或对应假名。假定,输 入D节点与PID节点共用解密和认证所需的对应密钥。

PID节点可以随机地、伪随机地或作为输入ID的带密钥的函 数而生成动态PID,其中使用的秘密密钥是动态的,即随时间改变。 带密钥的函数可以依照加密和密码散列函数来定义。动态假名有可能 以依赖于特定DS的方式随时间变化。假名可以周期地、在预定时间 或以基于事件的方式在某些事件发生时改变。具体地,触发假名改变 的事件可以由DS定义(例如,诸如互联网上的IP会话或对给定网 站的访问之类的数据获取处理的启动)或由PID节点本身定义(例 如,依照与所生成的假名相关联的有效时段和超期时间)。随机和伪 随机PID需要被安全地存储在PID节点的(ID,PID)表中,而带 密钥的PID从新的PID能够在任何时候通过使用当前秘密密钥被生 成起就不需要被存储,而可能的旧PID的集能够通过使用关于给定 的有效时段可能已经在过去使用过的可能的旧的秘密密钥的集被再 现。相应地,在任何时候,PID节点的(ID,PID)表都存储最新生 成的PID。应当注意,因为实际上所有可能的ID的空间通常不会很 大,因此,通过使用当前技术,将(ID,PID)表存储在存储介质中 是容易的。通过安全存储,意指PID条目应当被存储为已加密的, 并且,存储加密密钥应当被安全地存储在硬件或软件中。

在任何时候,在可能的ID的集上,映射(ID,PID)应当是单 射的,即,不同ID应当被映射到不同PID。如果密钥未知的话,则 带密钥的函数及其逆应当难以利用当前的技术去计算。具体地,这暗 示着密钥应当实际上是不可预测的(例如,128位的密钥)。单射可 以在理论上以概率1或实际上以非常高的概率得到保证。例如,如果 加密函数是针对带密钥的函数选择的,则单射理论上得到保证,而如 果带密钥的函数被定义为加密函数的输出的密码散列或输入ID和秘 密密钥的级联的密码散列,则单射以非常高的概率得到保证。因为, 实际上,所有可能的ID的空间通常不很大,所以单射能够在任何时 候通过针对所有可能的ID拣选所生成的PID来进行检查。每个新的 随机或伪随机PID于是可以被重复生成,直到获得单射。可替代 地,如果PID是从充分大的空间中随机地选择的,则可以以非常高 的概率满足单射并且不需要检查单射。

一个PID节点可以为个别的DS或为DS的集(有可能它们中 的全部,例如图1的示例性DPN中的PID节点110)实现动态假名 化功能性。在带密钥的假名的情况下,密钥可以依赖于特定DS。关 于给定DS,PID节点可以为个别的标识符或为标识符的集(可能它 们中的全部)实现动态假名化功能性。对应于单个用户的假名值与相 应ID一起(对于多个DS和单个DS的多个标识符)被联合存储在 给定PID节点的(ID,PID)表的相同数据记录中。假定,DS节点 连接到生成所需假名的所有PID节点。如之前所提及的,在不损失 一般性的情况下,服务单个DPN的多个PID节点可以被视为单个逻 辑PID节点,其在本发明中称为PID节点。

如果PID节点存储(ID,PID)表,则在所生成的新的PID替 代该旧的PID值之前,PID的旧值直接从表中恢复。对于带密钥的 PID,其不存储在表中,因此,如果所使用的旧密钥的值未知的话, 则已经通过使用旧密钥生成的旧值不能被再现。在此情况下,PID节 点通过使用可能在针对对应的数据概要在采用了的有效时段中已经使 用了的旧密钥集,从相同ID生成候选旧PID的集,然后将该候选旧 PID的集发送到进行请求的DS。例如,如果T表示有效时段而TK表示改变密钥的时段,则存在可能在过去的有效时段中已经使用过的 旧密钥值。可替代地,在利用存储的方案中,PID节点存储表 (ID,IK),其中IK表示用于生成最新PID的密钥的索引,以及将 密钥索引映射成密钥值的安全(小得多的)表(IK,K)。优势在 于,相对大的表(ID,IK)不必被安全地存储。在此情况下,旧PID 可以在任何时候通过从第一个表恢复IK和从第二个安全存储的表恢 复对应的K而被在线。

DPN的操作

如上所述,DPN,例如图1中的示例性的DPN100,包括D节 点(例如D节点1151-1158)、PID节点(例如PID节点110)和ID 节点(例如ID节点105),以及向DPN提供原始数据输入的DS (例如DS1201-1204),其中,这多个ID节点和PID节点可以被分 别地视为单个逻辑ID节点和单个逻辑PID节点,在本文中分别被称 为ID节点和PID节点。前所述,第一级输入D节点(例如图1中的 D节点1151,1152,1153)具有连接到仅来自DS的输入通道的输 入,而其它输入D节点可以从DS和其它D节点两者接收输入通 道。D节点通过数据通道一起连接到网络,网络可以由非循环的或循 环的图来表示。输出D节点存储并提供输出数据给授权用户,而中 间D节点仅临时存储输出数据并提供输出数据给其它D节点。

如图3中所示,例如,同时地,每个DS(在图3中示出的通用 DS120)偶尔将与匿名用户有关的假名化的原始输入数据发送给与其 连接的输入D节点(在图3中,通用D节点115被示出)。更准确 地,原始输入数据Dataraw与DS从PID节点接收的对应输出假名的 旧值和新值一起被发送,即,作为三元组(Dataraw,{PIDoutold}, PIDoutnew)。所有假名优选被联合加密和认证,加密和验证密钥被安 全地存储在相应输入D节点中(因此,如图3中所示,由DS节点 120发送的三元组实际上为(Dataraw,Enc({PIDoutold}, PIDoutnew))。DS节点临时存储与ID一起发送的数据,作为数据记 录(ID,Dataraw,{PIDoutold},PIDout),之后,在从输入D节点接 收到数据已经被成功接收和存储的确认之后,该数据被擦除。

如果假名或所使用的密钥的索引被存储在PID节点中,则可能 的旧假名的集{PIDoutold}减少为单个旧假名PIDoutold,其本身可以是单 值或多值,这分别依赖于标识符是否被分别地或联合地假名化。如果 PID节点中的(ID,PID)表中的对应条目不存在,即,如果新假名 PIDout由PID节点第一次生成(由于对于该用户,DS第一次向PID 节点请求生成假名),则PIDoutold字段为空。如果PIDoutold字段不为 空,则,由于之前的数据提交,在所连接的输入D节点中的每个中 存在包含PIDoutold作为那个DS的PIDin条目的数据记录。每个进行 接收的D节点中的正确的数据记录随后被找到,作为包含PIDoutold(图3中的PIDold)作为相应PIDin条目的(唯一)记录。在找到数 据记录时,找到的输入假名PIDin随后被刷新成接收到的新值PIDout(图3中的PIDnew且原始数据Dataraw被累积到Datain中(在图3 中,Datainnew通过累积Datainold和Dataraw获得)。

如果在PID节点没有存储的(ID,PID)表,则可能的旧的假 名{PIDoutold}的集一般包含多个候选假名,它们是关于采用的有效时 段通过使用不同旧密钥从相同ID获得的。每个进行接收的D节点中 的正确的数据记录(如果存在)随后被找到作为包含来自{PIDoutold} 的候选旧假名之一作为那个DS的PIDin条目的(唯一)记录。在找 到正确的数据记录(如果存在)时,找到的输入假名PIDin随后被刷 新成接收的新值PIDout并且Dataraw被累积到Datain中。

每个DS可以实现为一簇构成DS,所有DS都连接到PID节 点,其中每个构成DS向D节点发送仅原始数据Dataraw的一部分, 并且有可能仅多值PIDout的一部分,其唯一地确定匿名用户,并且可 以或可以不被更新成新的值。随后通过针对相应的DS族仅使用多值 PIDout的该部分来找到正确的数据记录。构成DS可以是逻辑上或物 理上分离的。

在一个实施例中,DS可以向连接到其的D节点仅发送被更新 到新值的新输出假名PIDout,不伴随原始数据Dataraw(对于多值假 名PIDout,仅构成假名值中的一些可以被更新)。假名因为临时的标 识符(例如,诸如IP地址之类的定位符)之一已经改变或与永久的 标识符之一对应的假名需要改变而被改变,以便避免相同假名在较长 时间段上使用(例如,这可以是发送大量原始数据Dataraw的情 况)。

在另一实施例中,原始数据Dataraw与PIDout的仅一部分一起发 送,其本身不被更新为新值,但是足以识别用户。例如,临时标识符 诸如定位符(例如,互联网上的IP地址)可以用于发送原始数据, 但是只要临时标识符保持相同,不需要在每次原始数据被发送时都改 变对应的假名。

如果在D节点处,没有找到其中所存储的假名PIDin与从进行 发送的DS接收的接收到的假名PIDoutold或{PIDoutold}匹配的所寻求的 数据记录,则这意味着这样的DS是关于相应用户第一次发送原始数 据。然而,由于与该用户有关的原始数据已经在过去从其它DS被发 送到所考虑的D节点或与该用户有关的输出数据已经在过去从其它 D节点被发送到所考虑的D节点的事实(后一情况适用于不是第一 级输入D节点的输入D节点,即,还能从另一D节点接收输入数据 的输入D节点),相同用户的记录可能已经存在。如果PIDoutold字 段为空(在存储的假名的情况中)或如果其不是空的(在未被存储的 带密钥的假名的情况中),则这可能发生。在任一情况中,一开始通 过使用与可以被若干DS或其它D节点共同共享的临时标识符(例如 定位符)对应的候选当前假名来尝试找到所寻求的数据记录,假定对 应PID也相同。即,如果相同定位符(例如,IP地址)被同时用于 两个不同DS(例如,互联网上的两个网站),则有可能通过针对两 个DS中的任一个使用相同的对应假名而找到记录。

如果公共的临时的标识符的初始检查没有产生数据记录,则通 过使用由其它DS或由其它D节点在过去发送的候选当前假名,通过 调用以下称为ID关联协议的例程来尝试找到所寻求的数据记录,这 涉及相应的DS和ID节点。结果,每次在从DS接收到假名化的原 始输入数据后、通过使用由DS连同原始输入数据一起发送的(一个 或多个)候选旧假名在相应输入D节点中没有找到所寻求的数据记 录时,ID关联协议被运行,其中假定存在到输入D节点的其它输入 并且上述对共同的临时的标识符的初始检查没有找到与所考虑的用户 对应的数据记录。具体地,如果仅存在来自所考虑的DS的到输入D 节点的一个输入,则初始检查和ID关联协议都不被执行。在执行ID 关联协议之前,输入D节点存储接收的三元组(Dataraw, {PIDoutold},PIDout)。假定,DPN中的每个输入D节点被指派唯一 的静态的标识符(例如,D节点索引)。

ID关联协议被进行接收的输入D节点发起,该节点生成、存 储发起ID关联协议的消息并将其发回进行发送的DS。发起消息包 含消息标识符,消息标识符包括由输入D节点本地生成的随机数 (“使用一次的数”)(例如,时间戳或序列号)和输入D节点的 标识符(例如,D节点索引),输入D节点的标识符在DPN中应当 是唯一的。该发起消息还包含接收到的(一个或多个)候选旧假名 PIDoutold或{PIDoutold}。在接收到来自输入D节点的该消息时,DS (通过使用(一个或多个)候选旧假名)从临时存储的数据记录找到 对应ID并将其发送给要求要再现的、关于DPN中的所有DS的、与 用户的等同ID相对应的候选当前PID的ID节点。ID节点随后生成 用相应DS索引的、等同的用户的ID的对应集{(i,ID)},并将该 集发送到PID节点。应当注意,如果ID节点仅存储永久的标识符, 则每个生成的ID,尽管仅包括永久的标识符,但也唯一地确定用 户。基于接收的集{(i,ID)},PID节点在其输出处再现候选当前 假名对应集{(i,{PIDoutold})}并优选将经加密和经认证的它们连同 发起消息标识符一起发送给相应的DS。在所存储的假名的情况下, 该候选当前假名集{(i,{PIDoutold})}还可以包括已经在过去从DS 直接接收的、用于临时的标识符的已经存储的假名。在PID节点不 存储假名的情况中,该集仅包含用于从ID节点接收的永久的标识符 的假名。ID关联协议随后继续到前向泛洪阶段,如下所述。

每个DS,除了将原始输入数据发送给发起ID关联协议的D 节点的进行发送的DS之外,都将接收的经加密和认证的候选当前假 名集连同接收的发起消息标识符但不带任何原始输入数据地发送给 DPN中与其相连的相邻输入D节点。每个相邻输入D节点于是解密 和认证接收的候选当前假名。现在,如果输入D节点之一是发起了 ID关联协议的D节点(即,具有与发起消息标识符中所包含的D节 点标识符相同的D节点标识符的D节点),则该输入D节点存储接 收的消息,如果接收的消息中的发起消息标识符匹配所存储的发起消 息标识符之一,否则,如果(由于故障)不存在匹配,则其删除该消 息。否则,如果接收的发起消息标识符包含不同D节点标识符,则 输入D节点继续进行到将修改的消息通过其各个输出而转发给DPN 中的所有后续相邻D节点,其中,该修改包括用对应的当前输出假 名替换接收到的候选当前假名,假定找到数据记录的话。如果数据记 录存在,则这通过将每个接收到的候选当前假名用作输入假名和通过 从相应输出取出对应的当前输出假名来寻找数据记录而实现。DPN 中的每个D节点(具有不同D节点标识符)随后通过将包含相同消 息标识符和替代的当前假名的消息转发到DPN中的后续相邻D节点 来以相同方式继续。在循环连接的D节点的情况中,具有相同发起 消息标识符的消息不被同一D节点转发多于一次。

结果,发起ID关联协议的输入D节点将在所采用的时间帧内 接收和存储具有相同发起消息标识符、匹配所存储的消息标识符之 一、包含用于连接到DS或其他D节点的所有输入的候选当前假名的 消息集。如果数据记录存在,则通过使用该候选当前假名集以及针对 相应输入查找与输入假名的匹配来找到所寻求的数据记录。如果没有 找到所寻求的数据记录,则该记录完全不存在,并且输入D节点随 后通过将针对相应DS存储的新假名PIDout用作对应输入假名来创建 新的数据记录。

在更一般的场景中,如果接收方D节点(具体地,输入D节 点)正在接收来自另一D节点而非来自DS的假名化的输入数据,并 且如果在接收方D节点,没有找到所寻求的数据记录,则使用作为 ID关联协议的修改版本(以下称为PID关联协议)的例程。即,在 ID关联协议中,发送数据的DS节点能够将对应的ID(即,与连同 数据发送给D节点的假名对应的ID)发送给ID节点,这是由于DS 临时存储包含该ID的数据记录。然而,发送数据的D节点不知道任 何DS的用户ID,而是仅知道当前输入和输出假名以及输出假名的 生成的新值,其中输出假名的旧值和新值与输出数据一起都被发送给 所考虑的D节点。

假设以上提及的对公共的临时的标识符的初始检查没有找到数 据记录,如果通过使用由另一进行发送的D节点发送的旧假名在从 所述进行发送的D节点接收数据(与某一用户有关的数据概要)并 且具有至少一个其它输入的接收方D节点中没有找到所寻求的数据 记录,则启动PID-关联协议。PID关联协议的目标是通过使用由其 它进行发送的D节点发送的当前假名或由DS发送给所考虑的接收方 D节点的候选当前假名来找到所寻求的数据记录。PID关联协议包括 与ID关联协议相关联地描述的后向和前向阶段,其中与ID关联协 议中一样,前向阶段包括前向泛洪。然而,后向阶段比ID关联协议 中更复杂,因为发起PID关联协议的消息不是直接发送到发送原始 输入数据并临时存储对应用户ID的DS的。而是,PID关联协议发 起消息被发送给向接收方D节点发送输出数据的D节点并且进行发 送的D节点不知道对应的用户ID。

PID关联协议的后向阶段包括从以形式(Dataout,PIDoutold, PIDout)从另一进行发送的D节点接收到输出数据以及输出假名的旧 值和新值的接收方D节点回溯。后向阶段通过由接收方D节点向该 进行发送的D节点发送启动PID关联协议的消息而开始,其中该消 息包含PIDoutold。该进行发送的D节点随后可以通过其提供对其与 PIDoutold相关联的Dataout做出贡献的输入数据的输入通道(例如,所 有通道)中的至少一个后向转发该消息,其中,对于所涉及的输入中 的每个输入,对应于那个输入的当前输入假名PIDin被包含在经由那 个输入被发送回DPN中的对应的之前的进行发送的D节点的消息 中。因为所发送的PIDin与之前的D节点的输出假名PIDout一致,因 此,该D节点可以找到与PIDout对应的相应数据记录并且为现有的 输入恢复对应的输入假名PIDin。该回溯过程从任何达到的D节点向 与那个达到的D节点连接的至少一个之前的D节点持续向后,每次 都用当前D节点的对应当前输入假名替代消息中的接收到的输入假 名,直到最终该消息到达对由启动PID关联协议的D节点接收到的 输出数据Dataout做出贡献的至少一个DS(例如所有DS)。该消息 因此包含对应的输入假名PIDin作为由DS发送的并且由PID节点 (为相应用户)生成的最后一个输出假名PIDout。该回溯过程因此本 质上由现有的已存储假名的链(如图5中所示)来使能,其中,根据 本发明中提议的方法,在每个时刻,DPN中的任意D节点的当前输 入假名等于连接到该D节点的之前的D节点的当前输出假名。

由于任何DS仅临时存储ID并且在从与其连接的接收方D节 点接收到确认之后擦除ID的事实,因此,该达到的DS不能从接收 到的假名PIDin重构ID,该假名PIDin等于由那个DS发送的最后的 假名PIDout,但是该达到的DS可以将该消息转发给PID节点。可替 代地,该回溯过程可以在该消息到达从DS接收至少一个输入的至少 一个输入D节点时停止。该输入D节点随后产生相同的消息并将其 直接发送给PID节点,而不是将其通过相应的DS转发。现在,如在 ID关联协议中那样,PID节点应当在其输出再现等同候选当前假名 的对应集{(i,{PIDoutold})}并将经加密和经认证的它们连同消息标 识符发送给相应DS,以便启动PID关联协议的前向泛洪阶段,这与 在ID关联协议中一样。因为这不能通过如在ID关联协议中一样使 用由ID节点产生的等同ID的集来完成,因此,PID节点应当直接 地再现与接收的PIDin等同的所有PID的集,其对于从其接收PIDin的DS有效。原则上,根据PID节点是否存储(ID,PID)表存在解 决该问题的两种方案。

在PID节点实现PID的存储的情况中,PID节点通过使用作 为搜索关键字的PIDin来搜索存储的表,并且随后从找到的记录恢复 集{(i,PIDoutold)}。该集也可以包含针对临时的标识符的存储的假 名。在不进行存储的带密钥的假名的情况下,使用的带密钥的函数应 当满足当密钥已知时应当容易计算带密钥的函数的逆的附加要求(例 如,其可以定义为加密函数)。对应的ID因此可以由PID节点从 PIDin重构并以经加密和经认证的形式发送给ID节点。如在ID关联 协议中一样,ID节点随后生成由相应DS索引的等同ID的对应集 {(i,ID)}并将该生成的集以经加密和经验证的形式发送回PID节 点。如在ID关联协议中那样,PID节点随后通过使用过去使用的候 选旧密钥在其输出再现候选当前假名{(i,{PIDoutold})}的对应集。 该集仅包含针对从ID节点接收的永久的标识符的假名。在两种情况 下,PID节点随后将恢复或再现的经加密和经认证的假名集连同消息 标识符一起发送给相应的DS,以启动前向泛洪阶段,如在ID关联 协议中那样。

在本发明的一个实施例中,为了控制数据概要的时间可链接 性,由法律条例施行的私密性法规应当规定对关心的各种用户数据概 要的最大可链接次数。更精确地,私密性法规应当规定为了对于各种 数据概要保持动态假名不变而允许的最大次数,其中,这些次数可以 依赖于具体数据概要的有效时段。因为这些次数可以通过记忆动态假 名的过去值而被有效地延长,因此,私密性法规应当禁止:DPN中 的处理原始数据或数据概要的任何实体(即,DS或D节点)可以指 派、存储和使用与个别用户的数据记录相关联的任何静态假名,或存 储在过去生成和使用的动态假名的旧值。具体地,为了防止物理存储 地址被有效地用作静态假名,D节点中(实质上,输出D节点中) 的数据记录应当通过擦除之前的记录和将更新的内容记录在新记录中 而被更新。

访问DPN中的数据概要

DPN中的每个输出D节点将各个匿名用户的数据概要存储为 输出数据,存储的数据概要用于D节点的各个输入和输出对应的单 值的或多值的动态假名标记。在任何时候,每个输入假名的当前值都 是从前一D节点或直接从DS接收的最后一个假名。从DS接收的假 名可以是对应于作为整体的用户身份ID的单值PID,或对应于构成 身份的各个标识符的子集的多值PID。在任何时候,每个输出假名的 当前值都是发送给后续D节点的最后的假名,该假名在最后的发送 时从输入假名生成为单值假名。该输出假名被生成并且仅用于正被发 送给其它D节点的输出数据。输出数据通过在给定的更新时刻处理 累积的输入数据而被更新。

基于各个匿名用户的数据概要,每个输出D节点还可以存储 从各个数据概要计算出的并且与某一用户子集(有可能全部用户)有 关的任何统计数据(例如通过平均或计数技术)。在本发明的一个实 施例中,在每个输出D节点处,数据概要和统计数据以仅能够被授 权用户解密的加密形式存储。

在任何时候,授权用户都可以有权访问存储在输出D节点中 的输出数据概要和统计数据,其中授权可以用访问控制规则定义并且 应当遵循私密性法规。对于各个数据概要和统计数据,应当规定输出 D节点和存储期望的数据概要的那个输出D节点的特定输出。为了 访问统计数据,让输出D节点接受必要的授权就足够了。为了访问 匿名用户的个别数据概要,除了授权,应当通过以实际上有意义的方 式使用相应的(动态)输入和/或输出假名来指定所请求的数据概 要。根据私密性法规,假名可以直接地指定或者可替代地用用户标识 符指定,在该情况中,PID节点需要被涉及来从指定的用户标识符再 现假名。假名本身可以与指定输出节点或DPN中的任何其它D节点 例如任何输入D节点相关。在后一情况中,可以通过之前描述的前 向泛洪而到达指定的输出D节点。随后描述指定要被访问的各个数 据概要的一些示例性情形。应当注意,这些情况不一定是不相交的。

在第一示例性情况中,过去已经直接从DS接收到的选定输入 D节点的任何当前输入假名被用于指定要被访问的数据概要。这样的 输入假名可以是与个别的DS对应的单值假名或者与DS对应的多值 假名的任何分量或分量子集。更一般地,授权用户还可以使用这样的 假名的任何子集。

为了访问所请求的数据概要,授权用户将选定的假名连同包含 要被检索的期望数据概要的输出D节点的标识符一起发送给选择的 输入D节点。输入D节点随后利用包含输出D节点标识符的消息启 动前向泛洪过程。在动态假名的底层链的末尾(如图5所示),与这 样的标识符对应的输出D节点随后通过使用从前一D节点或直接从 DS接收的对应的最后的输入假名来找到所请求的数据概要。

在第二示例性情况中,在第一示例性情况中用于访问期望的数 据概要的输入假名是由PID节点根据私密性法规从规定的临时的用 户标识符获得的。具体地,规定的临时的用户标识符可以定义所针对 的匿名用户的当前位置(例如因特网上的当前IP地址)。在此情况 中,用户的恢复的数据概要可以用于向给定位置的用户发送商业信息 (例如,个性化广告)。

在第三示例性情况中,来自第一示例性情况的使用的输入假名 是由PID节点根据私密性法规根据指定的永久的用户标识符获取 的。私密性法规应当指定用于访问和使用用户数据概要的标识符、数 据概要、授权用户和有关条件。具体地,如果指定的永久的用户标识 符唯一地识别用户(全局或局部地),则私密性法规应当将最小数据 粒度指定为对于允许的访问的每个所请求的数据概要的最小用户数。

在第四示例性情况中,要访问的数据概要用存储期望的数据概 要的选定输出D节点的输入假名直接指定。这样的输入假名可以或 者从另一D节点或者从DS接收,如在第一示例性情况中。具体地, 选定输出D节点可以是在针对特定用户的最后的(非周期性的或周 期性的)数据概要更新期间,在用户设备中存储特定用户的数据概要 的用户D节点,其中,数据概要连同对应的输入假名一起已经从输 出数据库D节点接收到,输出数据库D节点存储所有用户的数据概 要。在该情况中,授权用户可以或者从给定位置的用户设备直接恢复 当前存储的(旧)数据概要,在该情况中,输入假名不被使用;或 者,授权用户可以通过将来自用户设备的输入假名用作数据库D节 点中的输出假名来访问数据库D节点中的用户的最新数据概要。恢 复的用户的最新数据概要连同最新接收到的输入假名一起随后被存储 在用户设备中,并且能用于向给定位置的用户发送商业信息(例如, 个性化的广告)。

组合DPN的功能性

组合DPN是由多个(两个或更多个)不相交的DPN组成的 系统。每个DPN单独工作,但是对应的用户集不需要是不相交的。 各个DPN因此可以共享共同的用户。根据本发明的组合DPN的主 要目的是使能对存储在不同DPN中的同一用户的数据概要的联合访 问,而不改变各个DPN。假定数据概要被存储在输出D节点中,输 出D节点用对于相应DPN唯一的它们的标识符指定。DPN的期望组 合可以通过引入组合ID节点来实现,其中组合ID节点是通过融合 即聚合各个DPN的ID节点来形成的。相应地,组合ID节点实现为 不同DPN和为每个DPN的不同数据源存储同一用户的所有等同身 份的组合表,其中每个DPN被指派不同的索引以进行区分。

在一个实施例中,在给定时间访问给定DPN中的指定输出D 节点(以下,表示为D1)的指定输出(以下,表示为Out1)中的数 据概要的授权用户希望访问本身用相应的索引指定的、另一DPN的 指定输出D节点(以下表示为D2)的指定输出(以下表示为Out2) 中的同一用户的数据概要(如果存在的话)。这两个DPN在以下分 别表示为DPN1和DPN2。授权用户用假名或用户标识符指定DPN1的D1/Out1中的所请求的数据概要,如以上说明的。为了检索DPN2中的所请求的数据概要,有必要在DPN2的D2中恢复与同一用户对 应的当前输入或输出假名。

如果DPN1中的所请求的数据概要用用户标识符指定,则 DPN2中的对应假名可以通过ID关联协议的变形例来恢复,这在以 下描述。该协议通过D节点D1存储消息并将该消息发送给组合ID 节点而启动,其中消息标识符包括本地生成的随机数(例如,时间戳 或序列号)、DPN1中的D1/Out1的标识符、DPN2中的D2/Out2的标 识符以及DPN1和DPN2的索引。该消息包含DPN1中的用户标识 符。连同该消息,D节点D1还本地存储授权用户的标识符以及 D1/Out1中的恢复的数据概要。组合ID节点随后从接收的用户标识 符恢复DPN2中同一用户的所有等同身份并将它们发送给DPN2中的 PID节点。如在ID关联协议中那样,PID节点恢复与用于DPN2中 的所有DS的等同用户身份对应的(一个或多个)(候选)假名,并 随后通过用恢复的(一个或多个)(候选)假名替换消息内容中原始 发送的用户标识符来将带有相同消息标识符的消息发送给DPN2中的 每个DS。

通过将接收到的消息转发给DPN2中的相邻D节点,每个DS 随后启动协议的前向泛洪阶段,目的是将消息标识符以及用于同一用 户的当前输入假名发送给目的地输出节点D2。相应地,类似地与在 上述ID关联协议中一样,与D2不同的每个节点通过将具有修改后的 内容的消息转发给DPN2中的后续相邻D节点而前进,在修改后的内 容中,接收到的(一个或多个)(候选)假名被对应的输出假名替 换。当消息经由输入中的一个到达D2,D2通过使用接收到的输入假 名或候选输入假名找到数据记录(如果存在的话),并从指定输出 Out2提取该数据概要,用该概要替换消息内容中的(一个或多个) 接收到的假名,并将该消息发送给D1(例如,直接地通过使用诸如 因特网之类的公共通信网络)。D1通过使用接收到的消息标识符来 恢复来自D1/Out1的之前存储的数据概要,附加来自D2/Out2的接收 到的数据概要以及将联合数据概要发送给进行请求的授权用户。可替 代地,不是前向泛洪,而是,DPN2中的D节点可以使用路由表(具 有适当的定位符)来将消息仅转发到后续相邻D节点之一,而不是 所有后续相邻D节点,就像标准通信网络中的公共路由协议一样。

如果DPN1中的所请求的数据概要是用假名指定的,则DPN2中的对应假名可以用之后描述的PID关联协议的变形来恢复。协议 的后向阶段包括从D1开始的回溯,其中D1存储发起消息并且通过提 供对D1/Out1中的所请求的数据概要做出贡献的输入数据的至少一个 输入通道(例如所有输入通道)来发送发起消息。如上,消息标识符 包括本地产生的随机数(例如,时间戳或序列号)、DPN1中的 D1/Out1的标识符、DPN2中的D2/Out2的标识符以及DPN1和DPN2的索引。连同该消息一起,D1还本地地存储恢复的D1/Out1中的数据 概要以及授权用户的标识符。差别在于现在消息包含与选定输入对应 的输入假名,而不是用于指定D1/Out1中的数据概要的用户标识符。 应当注意,所有输入假名可以从唯一地指定D1/Out1中的数据概要的 任何输入或输出假名恢复。

如在PID关联协议中那样,在回溯过程中,任何达到的之前 的D节点都将消息后向转发到与那个D节点连接的至少一个之前的 D节点,每一次用对应的当前输入假名替换消息中的接收到的输入假 名,直到最终,该消息到达从DPN1中的DS接收至少一个输入的至 少一个输入D节点为止。该输入D节点随后从找到的数据记录恢复 从那个DS接收的对应输入假名PIDin,其是由DS发送的并且由PID 节点(为相应用户)生成的最后的输出假名PIDout。在后向阶段的末 尾,任何这样的输入D节点都直接地或通过相应DS向DPN1中的 PID节点发送带有包含假名(PIDout)的相同消息标识符的消息。现 在,如在PID关联协议中一样,PID节点或者恢复(在存储的情况 中)或者再现(在不存储的情况中)对应ID并将其发送给组合ID 节点,其随后从接收到的ID恢复DPN2中的同一用户的所有等同身 份并且将它们发送给DPN2中的PID节点。DPN2中的协议的前向阶 段随后与以上所述的相同。

在另一实施例中,DPN1的输出D节点可能在给定时刻希望融 合在其输出中的一个或多个输出处存储的数据概要的子集(例如全部 数据概要),其中数据概要的子集对应于存储在DPN2的指定输出D 节点的一个或多个输出处的同一用户。DPN1中的数据概要的子集用 假名指定。随后,DPN2中的每个对应的假名可以个别地通过如上所 述的PID关联协议的变形被恢复。为此,每个创建的消息标识符应 当包含不同随机数。因为,随机数有效地扮演为融合或交换DPN1和 DPN2中的D节点的数据概要而创建的新假名的角色,因此,它们可 以引入交换的数据概要的不期望的时间可链接性,特别是如果(匿 名)用户的相同子集的数据概要被反复融合的话,例如,如果所有用 户的数据概要被融合的话。结果,随机数应当优选地随机地或伪随机 地生成为一次性假名。

在另一实施例中,不是一个接一个地个别地恢复假名和数据概 要,而是,更简单地是通过将假名列表和随机数作为一个整体联合地 进行。更精确的是,让PID1和PID2分别表示DPN1的D1/Out1中和 DPN2的D2/Out2中的通用假名,并且让{PID1′}和{PID2′}分别表示以 PID1和PID2结尾的DPN1和DPN2中的假名链的起源处的假名的对 应子集。让PID′表示作为用于融合数据概要的一次性假名的通用随 机数。D1随后准备联合消息的初始形式,其中消息标识符包括DPN1中的D1/Out1的标识符、DPN2中的D2/Out2的标识符和DPN1和 DPN2的索引。该消息包含列表{(PID1,PID′)},其中,每个PID1唯一地指定DPN1的D1/Out1中的数据概要Dataout,1,并且PID’是随 机地或伪随机地生成的一次性假名。随后D1准备准备包含列表 {({PID1′},PID′)}的消息的最终形式,其是通过为每个PID1通过 将{PID1′}替换PID1而获得的,其中,{PID1′}是通过或者从DS或者 直接从DPN1中的对应的输入D节点通过回溯过程获得的。

D1将具有列表{({PID1′},PID′)}的消息发送给DPN1中的 PID节点。对于每个PID1′,PID节点或者恢复(在存储的情况中) 或者再现(在不存储的情况中)对应的ID并将其发送给组合ID节 点,组合ID节点随后从接收的ID恢复DPN2中同一用户的所有等同 身份并将它们发送给DPN2中的PID节点。PID节点随后生成对应的 子集{PID2′}和启动DPN2中的前向泛洪过程,这最终导致输入假名 PID2与PID′一起被D2接收到。D2随后通过使用PID2来恢复D2/Out2中的数据概要并将该数据概要Dataout,2与接收到的对应于PID2的 PID′相关联。D2因此可以准备包含{(PID′,Dataout,2)}的文件并将 该文件发送给D1。D1于是可以针对每个PID′,通过使用相同PID′来 将Dataout,2与Dataout,1融合。如果融合数据概要是相互的,则D1将 {(PID′,Dataout,1)}发送给D2,D2,随后可以相似地融合数据概 要。

§§§§§

已经鉴于本发明的一些可能的实施例描述了本发明。本领域技术 人员将容易理解,在不偏离所附权利要求中所限定的保护范围的情况 下,若干修改例和不同实施例是可能的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号