用户感兴趣数据的发现和安全传输的制作方法_2

文档序号:8324145阅读:来源:国知局
530中,第一用户设备(爱丽丝的设备)110适应于通过无线链路115与其他设备(诸如第二用户设备(鲍勃的设备)120和其他UE 125)通信。
[0032]UE 110包含控制器,诸如计算机或数据处理器(DP) 514,被具体化成存储计算机指令的程序(PR0G)518的存储器(MEM)516的计算机可读存储介质,以及合适的无线接口,诸如射频(RF)收发器512,无线接口用于经由一个或多个天线与其他设备双向无线通信。
[0033]第二用户设备120也包含控制器,诸如计算机或数据处理器(DP) 524,被具体化成存储计算机指令的程序(PROG) 528的存储器(MEM) 526的计算机可读存储介质,以及合适的无线接口,诸如射频(RF)收发器522,无线接口用于经由一个或多个天线与第一 UE 110通信。MEM 526还可以被配置为存储诸如例如一个或多个查找表的数据。
[0034]假设PROG 518和528中的至少一个PROG包含程序指令,如以下更详细地描述的,当由相关联的DP来执行该程序指令时,该程序指令使得该设备能够依照示例性实施例来进行操作。
[0035]S卩,可以至少部分地由可以由第一 UE 110的DP 514执行的计算机软件;和/或由第二 UE 120的DP 524,或由硬件,或由软件和硬件(和固件)的组合来实现各种示例性实施例。
[0036]第一 UE 110和第二 UE 120还可以包含专用处理器,例如自组织网络协议处理器515和525。这些处理器515、525可以被配置为处理通过自组织网络的各种通信。
[0037]一般地,第一 UE 110、第二 UE 120和/或其它UE 125的各种实施例能够包含但不限制于:蜂窝电话、具有无线通信能力的平板计算机、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携式计算机、具有无线通信能力的图像捕获设备(诸如数字相机)、具有无线通信能力的游戏设备、具有无线通信能力的音乐存储和播放装置、允许无线互联网接入和浏览的互联网装置,以及并入此类功能组合的便携式单元或终端。
[0038]计算机可读的MEM 516和MEM 526可以具有适用于本地技术环境的任何类型,并且可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储设备、闪速存储器、磁存储设备和系统、光存储设备和系统、固定存储器和可移动存储器。DP 514和DP 524可以具有适用于本地技术环境的任何类型,并且作为非限制性示例,可以包含通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。无线接口(例如,RF收发器512和522)可以具有适用于本地技术环境的任何类型,并且可以使用任何合适的通信技术(诸如个体传送器、接收器、收发器或此类组件的组合)来实现。
[0039]基于以上所述,应当明显的是,各种示例实施例提供了用于基于用户感兴趣数据在自组织网络中建立加密通信信道的方法、装置和计算机程序(多个)。
[0040]图6是依照各种示例实施例的说明方法的操作的逻辑流程图,以及计算机程序指令(诸如例如,PROG 518)的运行的结果。依照这些示例实施例,在框610,一种方法执行基于关键字的第一集合来生成至少一个查询标识符。每个查询标识符标识关键字的第一集合中的关键字。在框620,所述方法执行:向自组织网络,发送包含至少一个查询标识符的查询消息。响应于发送该查询消息,在框630,该方法执行:接收包含至少一个匹配标识符和加密消息的响应。每个匹配标识符标识关键字。在框640,所述方法执行:基于所述至少一个匹配标识符来确定关键字的第一集合的子集。所述子集包含由所述至少一个匹配标识符所标识的所述关键字的第一集合中的关键字。所述方法可以执行,在框650,基于所述关键字的第一集合的子集来生成加密密钥,以及在框660,使用所述加密密钥来解密所述加密消息。
[0041]图7是依照各种示例实施例的说明方法的操作的逻辑流程图,以及计算机程序指令(诸如例如PROG 528)的运行的结果。依照这些示例实施例,在框710,一种方法执行:在自组织网络中接收包含至少一个查询标识符的查询消息。每个查询标识符标识关键字。响应于接收到查询消息,在框720,所述方法执行:基于所述至少一个查询标识符来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询标识符标识的所述关键字的第一集合中的关键字。在框730,所述方法执行:基于所述关键字子集来确定至少一个匹配标识符。每个匹配标识符标识所述关键字子集中的关键字。在框740,所述方法执行:基于所述关键字子集来生成加密密钥。所述方法还执行:在框750,使用所述加密密钥来对消息进行加密,以及在框760,发送包括所述至少一个匹配标识符和所加密的消息的响应。
[0042]在图6和图7中示出的各种框可以被视为方法步骤,和/或被视为产生于计算机程序代码的操作,和/或被视为被构建以实现相关联的功能(多个)的多个耦合的逻辑电路单元。
[0043]在低功率自组织网络中操作的设备能够执行对其它遇到的设备的不断搜索,以及当发现一些感兴趣的东西时提醒用户。针对该搜索的一种使用是在设备之间检测共有知识,诸如例如共享的兴趣。用户具有存储在他们设备上的他们的兴趣(通过由该用户来添加或通过一些其他手段使该设备来收集该兴趣,诸如例如通过基于网络搜索来建立简档)。该设备使用这个信息以在具有相似兴趣的人进入邻近范围时提醒该用户。自组织网络还可以用于与该人进行通信,诸如例如与该人建立加密会话。
[0044]搜索和发布的信息的数量可能是非常大的,导致在每次遇见时的大量的业务。另夕卜,仅具有匹配偏好的人的设备将学习共有知识可以是可取的。如果UE不受阻碍地不断地广播它们的兴趣,则恶意设备可以仅通过监听该传输来被动地收集隐私信息。能够通过攻击者在单个位置中机会地监听业务或同时在多个位置中系统来地监听业务进行这种私有信息的收集。
[0045]通过自组织网络来交换私有信息是有问题的。尽管可以对业务进行加密,以便非期望的各方不能接收该消息,但是也应当执行加密密钥的建立,以便非期望的各方不能获得它们。当不能提前建立加密密钥时,当设备相互之间先前不了解时,加密是不可能的。那常常是以下情况:当两个陌生人相遇时,并且他们希望秘密地交流例如以交换联系方式。
[0046]为了克服这些问题,各种示例性实施例描述了多种技术以使用最低的业务以保护隐私的方式来发现两个UE之间存在的共有知识,以及在该发现之后,在不要求用户干预的情况下,在先前未知的设备之间安全地交换信息。
[0047]各种示例实施例基于(不知不觉地)具有相同信息片段(诸如例如联系方式、脸书标识符等)的人。这些信息片段是共有知识项,该共有知识项被首次发现并且因此用于建立加密通信信道。各种示例实施例防止不希望的第三方跟踪用户。对被动攻击者而言,业务将看起来像随机二进制流,因为所传送的消息不含有永久标识符。
[0048]第一示例实施例发现设备之间的概率性的关键字匹配。由关键字来标识所发布和查询的信息,这些关键字是变化长度的二进制字符串。关键字唯一地表示该信息。关键字能够基于自然语言或它们可以是例如机器生成的标识符(诸如例如,脸书标识符、哈希标签、元数据等)。将关键字标识符进行伪装以便仅知道恰好相同信息的那些人具有相同的关键字。使用预定义的标识符集合确保设备针对关键字使用相同的呈现。
[0049]设备能够发布关键字标识符,诸如例如通过使用AwareNet的发布/订阅机制。其它设备于是能够搜索所发布的关键字标识符以便定位共有信息。因为所发布的关键字的数量可以远大于在本地网络中能够被查询的关键字的数量,因此,每个设备查询针对它而言最相关的那些关键字。能够从当前位置和日程表时间,以及其它上下文信息来推断相关关键字子集。设备可以使用查询消息以指示:该设备具有信息并且它正在搜索具有共享知识/关键字的设备。
[0050]不以纯文本将关键字发送给网络,而是替代地,从该关键字生成不同ID(标识符),诸如例如通过使用哈希函数。哈希算法被选择为密码足够强大以对抗不费力的反转,例如通过使用安全哈希算法(SHA)。在进行哈希之前将盐(salt)添加到关键字,以便产生多个不同的哈希值,于是可以将它们组合到大的唯一字符串中。于是针对不同的ID,对在所组合的字符串中的字节进行分割。ID的大小足够短以保持所传送的消息小,但是足够长以使得冲突比较罕见。较短的ID还有助于当被动监听者尝试从不同位置来关联ID时通过导致冲突来防止跟踪。
[0051]每个设备周期性地向网络传送查询消息。该消息含有该设备正在搜索的关键字查询ID。每个关键字具有匹配查询ID的小集合,针对每个所传送的消息从该小集合随机地选择ID。可以使用多个ID,因为每次使用相同ID可以允许被动监听者检测哪些设备正在搜索相同的信息。
[0052]接收设备具有含有该设备已经发布和/或认为相关的关键字的查询ID的查找表。当接收到查询时,对该表进行检查以定位任何匹配关键字。在找到(潜在的)查询匹配后,该设备传送响应消息,该响应消息含有针对该设备的匹配关键字的匹配ID。
[0053]每个设备监听来自网络的响应消息,以及使用含有该设备感兴趣的关键字的匹配ID的查找表(这个查找表可以是含有查询ID的相同查找表或不同查找表)来检查匹配。匹配ID可以不同于查询ID以防止被动监听者发现查询设备和响应设备之间的联系。
[0054]图2说明了依照各种示例实施例的从关键字210生成查询ID 240、245和匹配ID250,255ο使关键字210与第一盐220(诸如例如查询盐)串接。于是使该串接通过哈希算法260以创建第一哈希值部分232。类似地,使关键字210与第二盐225 (诸如例如匹配盐)串接,以及于是应用哈希算法265,以便创建第二哈希值部分234。将这两个部分232、234组合,诸如作为非限制性示例通过串接,以便产生哈希值230。哈希算法260和哈希算法265可以是相同的算法或不同的算法。因此,哈希值部分232和哈希值234的大小也可以是相同的或不同的。
[0055]于是可以将所组合的哈希值230分成较小的成分以用作查询ID 240、245。例如,查询ID 240、245可以是从哈希值230(其是8个(或更多)字节长)截取的4个字节的字符串。匹配ID 250,255也被看作是所组合的哈希值230的子部分。
[0056]可以周期性地改变盐220、225和/或基于时间来得到盐220、225。使用盐,以便查询ID和匹配ID随着时间而改变。如果ID从不改变,则攻击者能够被动地收集ID以及发现设备之间的联系。此外,对盐220、225进行更新有助于防止使用彩虹表以检测用户知道哪些关键字以及以针对用户创建指纹。彩虹表可以用于将哈希值反转到原始输入。加盐使得此类反转操作是费时的,因为每当盐改变时,攻击者将必须重建彩虹表。对于每个更新的盐而言,创建和保持更新的此类表将是费时的。另外,对盐进行更新将有助于避免以下情况:当查询ID将很可能不再与相同关键字匹配时,恶意设备重放其它设备的查询。
[0057]当使用哈希算法以生成查询ID 240、245和匹配ID 250、255时,针对两个不同关键字而生成的ID可能在相同的哈希值上冲突。因此,单个查询ID可能与多个关键字匹配。因此,可以将匹配当作指示:在网络中可能有某人知道相同的关键字,但是由于可能的查询ID冲突,这是不确定的。接收设备可以被配置为:一旦发现某一数量的匹配,诸如例如如果已经识别了五个或更多匹配,如果匹配了至少一半的查询ID等,则发送响应消息。
[0058]通过将关键字组合用作初始秘密信息,关键字匹配用于在具有相同知识/关键字的设备之间建立加密信道。响应消息还可以包含加密的有效载荷,以及能够在加密信道内继续通信。使用强对称加密算法(诸如高级加密算法(AES))来加密该消息。还可以包含随机初始化矢量,以使得在每个消息中加密的部分是不同的。
[0059]图3说明了依照各种示例实施例的从关键字匹配来创建加密密钥340和信道ID350、352、254。在这个非限制性示例中,识别了两个匹配关键字210、310。这些关键字210、310和盐1220(来自生成的查询ID 240,245)被组合(诸如例如通过串接)。于是使所产生的组合通过第一、加密密钥哈希算法360以创建哈希值330。关键字210、310和盐2225 (来自生成的匹配ID 250,255)被组合,以及于是使所产生的组合通过第二、加密密钥哈希算法365以创建哈希值335。注意的是,哈希算法360和哈希算法365可以是相同的算法或不同的算法。
[0060]哈希值330和哈希值335被组合(诸如例如通过串接)。于是可以将该组合分成加密密钥340和信道ID 350、352、
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1