CN104641590A - 用户感兴趣数据的发现和安全传输 - Google Patents

用户感兴趣数据的发现和安全传输 Download PDF

Info

Publication number
CN104641590A
CN104641590A CN201280075779.2A CN201280075779A CN104641590A CN 104641590 A CN104641590 A CN 104641590A CN 201280075779 A CN201280075779 A CN 201280075779A CN 104641590 A CN104641590 A CN 104641590A
Authority
CN
China
Prior art keywords
keyword
subset
inquiry
matching identification
encryption key
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.)
Pending
Application number
CN201280075779.2A
Other languages
English (en)
Inventor
K·J·利帕宁
P·金兹布尔格
J·库尔马拉
A·莱内
M·汉尼凯宁
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN104641590A publication Critical patent/CN104641590A/zh
Pending legal-status Critical Current

Links

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/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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/037Protecting confidentiality, e.g. by encryption of the control plane, e.g. signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

描述了一种用于建立加密通信信道的方法。在第一设备处生成查询ID。每个查询ID标识关键字集合中的关键字。在第二设备接收查询ID。由第二设备基于该查询ID来确定关键字的第二集合。基于第二集合来确定匹配ID。每个匹配ID标识第二集合中的关键字。基于第二集合来生成加密密钥。发送包含该匹配ID和该加密消息的响应。在第一设备处,基于该匹配ID来确定所述第二集合。所述第二集合包含由所述匹配ID标识的关键字的第一集合中的关键字。在第一设备处生成所述加密密钥,以及对所述加密消息进行解密。还描述了装置和计算机可读介质。

Description

用户感兴趣数据的发现和安全传输
技术领域
示例性和非限制性的实施例一般涉及无线通信系统、方法、设备和计算机程序,并且更具体地,涉及基于用户感兴趣数据来建立加密通信信道。
背景技术
这部分旨在提供背景或上下文。此处的描述可以包含可以被追求的构思,但该构思不是必须是先前已设想或追求的构思。因此,除非此处另外指出,否则本部分所述的内容不是本申请中的说明书和权利要求书的现有技术,并且不通过包含在本部分中而承认其为现有技术。
在说明书和/或附图中可以找到的以下缩写被定义如下:
AES  高级加密标准,加密方法
ID   标识符
NFC  近场通信
PIN  个人识别码
SHA  安全哈希算法,哈希算法
UE   用户设备,诸如移动台或移动终端
WLAN 无线局域网(参见IEEE标准802.11)
当两个或更多设备移动进入到通信信号(诸如例如,无线局域网(WLAN)信号,蓝牙信号以及其它广泛可以使用的直接通信技术)的范围中时,能够形成自组织网络。因此,移动设备之间的无线通信能够用于在不依赖于现有的基础架构(诸如蜂窝网络或互联网服务)的情况下来交换信息。自组织网络可以使用低功率无线电通信,以便该网络能够用于在背景中与遇到的设备连续地通信,而不对电池使用时间产生大的影响。由于网络的吞吐量是有限的,因此可以设计协议以最小化业务量。一些自组织网络能够通过使用多跳移动自组织网络,具有延伸到单个设备的范围之外的范围,在多跳移动自组织网络中,其它设备在该网络内参与转发业务。
发明内容
以下概述部分旨在仅是示例性而非限制性。
通过示例示例性实施例的使用,克服了上述问题和其它问题,以及实现了其它优点。
在本发明的第一方面,示例实施例提供了一种方法,该方法用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述方法包含:基于关键字的第一集合来生成至少一个查询ID。每个查询ID标识所述关键字的第一集合中的关键字。所述方法包含:在自组织网络中,接收包含至少一个匹配ID和加密消息的响应。每个匹配ID标识关键字。所述方法包含:基于所述至少一个匹配ID来确定关键字子集。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述方法还包含:基于所述关键字子集来生成加密密钥,以及使用所述加密密钥来解密所述加密消息。
在本发明的另一个方面中,示例实施例提供了一种方法,所述方法用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述方法包含:在自组织网络中接收包含至少一个查询ID的查询。每个查询ID标识关键字。响应于接收到所述查询,所述方法包含:基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述方法包含:基于所述关键字子集来确定至少一个匹配ID。每个匹配ID标识所述关键字子集中的关键字。所述方法包含:基于所述关键字子集来生成加密密钥。所述方法还包含:使用所述加密密钥来对消息进行加密,以及发送包含所述至少一个匹配ID和所加密的消息的响应。
在本发明的另一个方面,示例实施例提供了一种装置,该装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含至少一个处理器;以及包含计算机程序代码的至少一个存储器。所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行动作。所述动作包含:基于关键字的第一集合来生成至少一个查询ID。每个查询ID标识所述关键字的第一集合中的关键字。所述动作包含:在自组织网络中,接收包含至少一个匹配ID和加密消息的响应。每个匹配ID标识关键字。所述动作包含:基于所述至少一个匹配ID来确定关键字子集。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述动作还包含:基于所述关键字子集来生成加密密钥,以及使用所述加密密钥来解密所述加密消息。
在本发明的另一个方面中,示例实施例提供了一种装置,所述装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含至少一个处理器;以及包含计算机程序代码的至少一个存储器。所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行动作。所述动作包含:在自组织网络中接收包含至少一个查询ID的查询。每个查询ID标识关键字。响应于接收到所述查询,所述动作包含:基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述动作包含:基于所述关键字子集来确定至少一个匹配ID。每个匹配ID标识所述关键字子集中的关键字。所述动作包含:基于所述关键字子集来生成加密密钥。所述动作还包含:使用所述加密密钥来对消息进行加密,以及发送包含所述至少一个匹配ID和所加密的消息的响应。
在本发明的另一个方面,示例实施例提供了一种计算机可读介质,该计算机可读介质用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述计算机可读介质有形地编码有由处理器用于执行动作而运行的计算机程序。所述动作包含:基于关键字的第一集合来生成至少一个查询ID。每个查询ID标识所述关键字的第一集合中的关键字。所述动作包含:在自组织网络中,接收包含至少一个匹配ID和加密消息的响应。每个匹配ID标识关键字。所述动作包含:基于所述至少一个匹配ID来确定关键字子集。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述动作还包含:基于所述关键字子集来生成加密密钥,以及使用所述加密密钥来解密所述加密消息。
在本发明的另一个方面中,示例实施例提供了一种计算机可读介质,所述计算机可读介质用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述计算机可读介质有形地编码有由处理器用于执行动作而运行的计算机程序。所述动作包含:在自组织网络中接收包含至少一个查询ID的查询。每个查询ID标识关键字。响应于接收到所述查询,所述动作包含:基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述动作包含:基于所述关键字子集来确定至少一个匹配ID。每个匹配ID标识所述关键字子集中的关键字。所述动作包含:基于所述关键字子集来生成加密密钥。所述动作还包含:使用所述加密密钥来对消息进行加密,以及发送包含所述至少一个匹配ID和所加密的消息的响应。
在本发明的另一个方面中,示例实施例提供了一种装置,该装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含:用于基于关键字的第一集合来生成至少一个查询ID的构件。每个查询ID标识所述关键字的第一集合中的关键字。所述装置包含:用于在自组织网络中,接收包含至少一个匹配ID和加密消息的响应的构件。每个匹配ID标识关键字。所述装置包含:用于基于所述至少一个匹配ID来确定关键字子集的构件。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述装置还包含:用于基于所述关键字子集来生成加密密钥的构件,以及用于使用所述加密密钥来解密所述加密消息的构件。
在本发明的另一个方面中,示例实施例提供了一种装置,所述装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含:用于在自组织网络中接收包含至少一个查询ID的查询的构件。每个查询ID标识关键字。响应于接收到所述查询,所述装置包含:用于基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集的构件。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述装置包含:用于基于所述关键字子集来确定至少一个匹配ID的构件。每个匹配ID标识所述关键字子集中的关键字。所述装置包含:用于基于所述关键字子集来生成加密密钥的构件。所述装置还包含:用于使用所述加密密钥来对消息进行加密的构件,以及用于发送包含所述至少一个匹配ID和所加密的消息的响应的构件。
附图说明
当结合附图一起阅读时,在以下详细描述中,示例实施例的上述和其它方面将变得更加明显,其中:
图1描绘了依照各种示例实施例的在自组织网络中通信的各种电子设备。
图2说明了依照各种示例实施例的从关键字来生成查询ID和匹配ID。
图3说明了依照各种示例实施例的从关键字匹配来创建加密密钥和信道ID。
图4示出了依照各种示例实施例的消息交换的信令图。
图5示出了在实践各种示例实施例中适用于使用的示例电子设备的简化框图。
图6是依照各种示例实施例的说明示例方法的操作的逻辑流程图,以及在计算机可读存储器上具体化的计算机程序指令的运行的结果。
图7是依照各种示例实施例的说明另一个示例方法的操作的逻辑流程图,以及在计算机可读存储器上具体化的计算机程序指令的运行的结果。
具体实施方式
在非限制性示例中,用户,爱丽丝,具有第一电子设备或用户设备(UE)。该UE存储关于的爱丽丝的兴趣的信息。爱丽丝的UE使用这个信息以便发现共享一些相同兴趣的其它设备/用户。因为,爱丽丝的UE先前可能没有与其它UE通信,因此所应用的任何安全性容易受到窃听或者甚至由潜在的偷听者来提供。此外,为了避免公开个人信息,爱丽丝公开的兴趣被编码,以便仅知道该共享兴趣的设备能够确定是否已经找到匹配。
图1描绘了依照各种示例实施例的在自组织网络中通信的各种电子设备。用户,爱丽丝,具有第一电子设备,诸如用户设备(UE)110。第二用户,鲍勃,具有第二电子设备,诸如UE 120。可以存在其它用户,诸如具有UE 125、130的那些用户。各种UE 110、120、125、130可以使用一种或多种通信技术(诸如例如WiFi、蜂窝等)彼此通信。
各种通信可以是广播或指向一个或多个UE 110、120、125、130(诸如例如组播)。在UE 110和UE 120之间的通信信道115可以被描述为用于两个UE 110、120之间的直接通信,以及被描述为用于来自UE 110的广播,在UE 120处接收该广播。另外,UE 110、120、125、130可以对各种其他UE 110、120、125、130之间的信号进行中继。作为非限制性示例,UE 110可以提供信号132,该信号132由UE 130接收并被作为信号134重新发送给UE 120。因此,信道115可以是UE 110和UE 120之间的直接通信,或通过UE 130的中继通信。
图4示出了依照第一示例实施例的消息交换的信令图,在点400,爱丽丝的设备110发送查询消息410,该查询消息410含有查询ID 412、414、416的集合。在点415,鲍勃的设备120发现匹配的关键字子集,以及发送响应消息420,该响应消息420含有匹配ID 422、424。在这个非限制性示例中,在鲍勃的设备120处,匹配了在查询消息410中标识的三个关键字中的两个关键字。因此响应消息420包含两个匹配ID 422、424。
响应消息420还含有有效载荷426,该有效载荷被加密。从匹配的关键字子集来产生加密密钥。匹配关键字一起被组合并被哈希以产生更长字符串,其被用作加密密钥。
在点425,设备110、120已经识别了共同的关键字集合(诸如,作为非限制性示例,由匹配ID 422、424标识的两个关键字),以及能够在建立的信道上继续通信。爱丽丝的设备110向鲍勃的设备120发送加密消息430。加密消息430包含信道的标识符(信道ID 1432)和有效载荷434。
已经看到该响应消息的其它设备知道预期来自相关联的信道ID的消息。例如,在点435,鲍勃的设备120可以向爱丽丝的设备110发送另外的加密消息440。该另外的加密消息440包含第二,不同的信道标识符,信道ID 2 442以及有效载荷444。
各种示例实施例发现两个先前不认识的设备之间的共同信息;以及使用所发现的共同信息以形成这些设备之间的安全通信信道。这允许这些设备与外部观察者隐藏已经发现共同的兴趣(以及随后的消息交换)的事实。
图5示出了在实践示例实施例中适用于使用的各种电子设备的简化框图。在图5的自组织网络530中,第一用户设备(爱丽丝的设备)110适应于通过无线链路115与其他设备(诸如第二用户设备(鲍勃的设备)120和其他UE 125)通信。
UE 110包含控制器,诸如计算机或数据处理器(DP)514,被具体化成存储计算机指令的程序(PROG)518的存储器(MEM)516的计算机可读存储介质,以及合适的无线接口,诸如射频(RF)收发器512,无线接口用于经由一个或多个天线与其他设备双向无线通信。
第二用户设备120也包含控制器,诸如计算机或数据处理器(DP)524,被具体化成存储计算机指令的程序(PROG)528的存储器(MEM)526的计算机可读存储介质,以及合适的无线接口,诸如射频(RF)收发器522,无线接口用于经由一个或多个天线与第一UE 110通信。MEM 526还可以被配置为存储诸如例如一个或多个查找表的数据。
假设PROG 518和528中的至少一个PROG包含程序指令,如以下更详细地描述的,当由相关联的DP来执行该程序指令时,该程序指令使得该设备能够依照示例性实施例来进行操作。
即,可以至少部分地由可以由第一UE 110的DP 514执行的计算机软件;和/或由第二UE 120的DP 524,或由硬件,或由软件和硬件(和固件)的组合来实现各种示例性实施例。
第一UE 110和第二UE 120还可以包含专用处理器,例如自组织网络协议处理器515和525。这些处理器515、525可以被配置为处理通过自组织网络的各种通信。
一般地,第一UE 110、第二UE 120和/或其它UE 125的各种实施例能够包含但不限制于:蜂窝电话、具有无线通信能力的平板计算机、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携式计算机、具有无线通信能力的图像捕获设备(诸如数字相机)、具有无线通信能力的游戏设备、具有无线通信能力的音乐存储和播放装置、允许无线互联网接入和浏览的互联网装置,以及并入此类功能组合的便携式单元或终端。
计算机可读的MEM 516和MEM 526可以具有适用于本地技术环境的任何类型,并且可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储设备、闪速存储器、磁存储设备和系统、光存储设备和系统、固定存储器和可移动存储器。DP 514和DP 524可以具有适用于本地技术环境的任何类型,并且作为非限制性示例,可以包含通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。无线接口(例如,RF收发器512和522)可以具有适用于本地技术环境的任何类型,并且可以使用任何合适的通信技术(诸如个体传送器、接收器、收发器或此类组件的组合)来实现。
基于以上所述,应当明显的是,各种示例实施例提供了用于基于用户感兴趣数据在自组织网络中建立加密通信信道的方法、装置和计算机程序(多个)。
图6是依照各种示例实施例的说明方法的操作的逻辑流程图,以及计算机程序指令(诸如例如,PROG 518)的运行的结果。依照这些示例实施例,在框610,一种方法执行基于关键字的第一集合来生成至少一个查询标识符。每个查询标识符标识关键字的第一集合中的关键字。在框620,所述方法执行:向自组织网络,发送包含至少一个查询标识符的查询消息。响应于发送该查询消息,在框630,该方法执行:接收包含至少一个匹配标识符和加密消息的响应。每个匹配标识符标识关键字。在框640,所述方法执行:基于所述至少一个匹配标识符来确定关键字的第一集合的子集。所述子集包含由所述至少一个匹配标识符所标识的所述关键字的第一集合中的关键字。所述方法可以执行,在框650,基于所述关键字的第一集合的子集来生成加密密钥,以及在框660,使用所述加密密钥来解密所述加密消息。
图7是依照各种示例实施例的说明方法的操作的逻辑流程图,以及计算机程序指令(诸如例如PROG 528)的运行的结果。依照这些示例实施例,在框710,一种方法执行:在自组织网络中接收包含至少一个查询标识符的查询消息。每个查询标识符标识关键字。响应于接收到查询消息,在框720,所述方法执行:基于所述至少一个查询标识符来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询标识符标识的所述关键字的第一集合中的关键字。在框730,所述方法执行:基于所述关键字子集来确定至少一个匹配标识符。每个匹配标识符标识所述关键字子集中的关键字。在框740,所述方法执行:基于所述关键字子集来生成加密密钥。所述方法还执行:在框750,使用所述加密密钥来对消息进行加密,以及在框760,发送包括所述至少一个匹配标识符和所加密的消息的响应。
在图6和图7中示出的各种框可以被视为方法步骤,和/或被视为产生于计算机程序代码的操作,和/或被视为被构建以实现相关联的功能(多个)的多个耦合的逻辑电路单元。
在低功率自组织网络中操作的设备能够执行对其它遇到的设备的不断搜索,以及当发现一些感兴趣的东西时提醒用户。针对该搜索的一种使用是在设备之间检测共有知识,诸如例如共享的兴趣。用户具有存储在他们设备上的他们的兴趣(通过由该用户来添加或通过一些其他手段使该设备来收集该兴趣,诸如例如通过基于网络搜索来建立简档)。该设备使用这个信息以在具有相似兴趣的人进入邻近范围时提醒该用户。自组织网络还可以用于与该人进行通信,诸如例如与该人建立加密会话。
搜索和发布的信息的数量可能是非常大的,导致在每次遇见时的大量的业务。另外,仅具有匹配偏好的人的设备将学习共有知识可以是可取的。如果UE不受阻碍地不断地广播它们的兴趣,则恶意设备可以仅通过监听该传输来被动地收集隐私信息。能够通过攻击者在单个位置中机会地监听业务或同时在多个位置中系统来地监听业务进行这种私有信息的收集。
通过自组织网络来交换私有信息是有问题的。尽管可以对业务进行加密,以便非期望的各方不能接收该消息,但是也应当执行加密密钥的建立,以便非期望的各方不能获得它们。当不能提前建立加密密钥时,当设备相互之间先前不了解时,加密是不可能的。那常常是以下情况:当两个陌生人相遇时,并且他们希望秘密地交流例如以交换联系方式。
为了克服这些问题,各种示例性实施例描述了多种技术以使用最低的业务以保护隐私的方式来发现两个UE之间存在的共有知识,以及在该发现之后,在不要求用户干预的情况下,在先前未知的设备之间安全地交换信息。
各种示例实施例基于(不知不觉地)具有相同信息片段(诸如例如联系方式、脸书标识符等)的人。这些信息片段是共有知识项,该共有知识项被首次发现并且因此用于建立加密通信信道。各种示例实施例防止不希望的第三方跟踪用户。对被动攻击者而言,业务将看起来像随机二进制流,因为所传送的消息不含有永久标识符。
第一示例实施例发现设备之间的概率性的关键字匹配。由关键字来标识所发布和查询的信息,这些关键字是变化长度的二进制字符串。关键字唯一地表示该信息。关键字能够基于自然语言或它们可以是例如机器生成的标识符(诸如例如,脸书标识符、哈希标签、元数据等)。将关键字标识符进行伪装以便仅知道恰好相同信息的那些人具有相同的关键字。使用预定义的标识符集合确保设备针对关键字使用相同的呈现。
设备能够发布关键字标识符,诸如例如通过使用AwareNet的发布/订阅机制。其它设备于是能够搜索所发布的关键字标识符以便定位共有信息。因为所发布的关键字的数量可以远大于在本地网络中能够被查询的关键字的数量,因此,每个设备查询针对它而言最相关的那些关键字。能够从当前位置和日程表时间,以及其它上下文信息来推断相关关键字子集。设备可以使用查询消息以指示:该设备具有信息并且它正在搜索具有共享知识/关键字的设备。
不以纯文本将关键字发送给网络,而是替代地,从该关键字生成不同ID(标识符),诸如例如通过使用哈希函数。哈希算法被选择为密码足够强大以对抗不费力的反转,例如通过使用安全哈希算法(SHA)。在进行哈希之前将盐(salt)添加到关键字,以便产生多个不同的哈希值,于是可以将它们组合到大的唯一字符串中。于是针对不同的ID,对在所组合的字符串中的字节进行分割。ID的大小足够短以保持所传送的消息小,但是足够长以使得冲突比较罕见。较短的ID还有助于当被动监听者尝试从不同位置来关联ID时通过导致冲突来防止跟踪。
每个设备周期性地向网络传送查询消息。该消息含有该设备正在搜索的关键字查询ID。每个关键字具有匹配查询ID的小集合,针对每个所传送的消息从该小集合随机地选择ID。可以使用多个ID,因为每次使用相同ID可以允许被动监听者检测哪些设备正在搜索相同的信息。
接收设备具有含有该设备已经发布和/或认为相关的关键字的查询ID的查找表。当接收到查询时,对该表进行检查以定位任何匹配关键字。在找到(潜在的)查询匹配后,该设备传送响应消息,该响应消息含有针对该设备的匹配关键字的匹配ID。
每个设备监听来自网络的响应消息,以及使用含有该设备感兴趣的关键字的匹配ID的查找表(这个查找表可以是含有查询ID的相同查找表或不同查找表)来检查匹配。匹配ID可以不同于查询ID以防止被动监听者发现查询设备和响应设备之间的联系。
图2说明了依照各种示例实施例的从关键字210生成查询ID 240、245和匹配ID 250、255。使关键字210与第一盐220(诸如例如查询盐)串接。于是使该串接通过哈希算法260以创建第一哈希值部分232。类似地,使关键字210与第二盐225(诸如例如匹配盐)串接,以及于是应用哈希算法265,以便创建第二哈希值部分234。将这两个部分232、234组合,诸如作为非限制性示例通过串接,以便产生哈希值230。哈希算法260和哈希算法265可以是相同的算法或不同的算法。因此,哈希值部分232和哈希值234的大小也可以是相同的或不同的。
于是可以将所组合的哈希值230分成较小的成分以用作查询ID 240、245。例如,查询ID 240、245可以是从哈希值230(其是8个(或更多)字节长)截取的4个字节的字符串。匹配ID 250、255也被看作是所组合的哈希值230的子部分。
可以周期性地改变盐220、225和/或基于时间来得到盐220、225。使用盐,以便查询ID和匹配ID随着时间而改变。如果ID从不改变,则攻击者能够被动地收集ID以及发现设备之间的联系。此外,对盐220、225进行更新有助于防止使用彩虹表以检测用户知道哪些关键字以及以针对用户创建指纹。彩虹表可以用于将哈希值反转到原始输入。加盐使得此类反转操作是费时的,因为每当盐改变时,攻击者将必须重建彩虹表。对于每个更新的盐而言,创建和保持更新的此类表将是费时的。另外,对盐进行更新将有助于避免以下情况:当查询ID将很可能不再与相同关键字匹配时,恶意设备重放其它设备的查询。
当使用哈希算法以生成查询ID 240、245和匹配ID 250、255时,针对两个不同关键字而生成的ID可能在相同的哈希值上冲突。因此,单个查询ID可能与多个关键字匹配。因此,可以将匹配当作指示:在网络中可能有某人知道相同的关键字,但是由于可能的查询ID冲突,这是不确定的。接收设备可以被配置为:一旦发现某一数量的匹配,诸如例如如果已经识别了五个或更多匹配,如果匹配了至少一半的查询ID等,则发送响应消息。
通过将关键字组合用作初始秘密信息,关键字匹配用于在具有相同知识/关键字的设备之间建立加密信道。响应消息还可以包含加密的有效载荷,以及能够在加密信道内继续通信。使用强对称加密算法(诸如高级加密算法(AES))来加密该消息。还可以包含随机初始化矢量,以使得在每个消息中加密的部分是不同的。
图3说明了依照各种示例实施例的从关键字匹配来创建加密密钥340和信道ID 350、352、254。在这个非限制性示例中,识别了两个匹配关键字210、310。这些关键字210、310和盐1220(来自生成的查询ID 240、245)被组合(诸如例如通过串接)。于是使所产生的组合通过第一、加密密钥哈希算法360以创建哈希值330。关键字210、310和盐2225(来自生成的匹配ID 250、255)被组合,以及于是使所产生的组合通过第二、加密密钥哈希算法365以创建哈希值335。注意的是,哈希算法360和哈希算法365可以是相同的算法或不同的算法。
哈希值330和哈希值335被组合(诸如例如通过串接)。于是可以将该组合分成加密密钥340和信道ID 350、352、354。信道ID 350、352、354的大小可以相同或不同。
如在图3中呈现的,使用哈希操作从匹配的关键字子集来获得加密密钥。对关键字进行排序(诸如例如升序),以便每个设备产生相同的哈希值。以与ID类似的方式来产生更长的哈希字符串。在不知道所使用的关键字的情况下,从查询ID获得加密密钥是非常困难的。为了在响应消息之后继续在该信道上进行通信,每个另外的消息含有信道ID,该信道ID标识该消息所属于的加密信道。为了节省能量,设备能够提前创建多个信道ID。于是,当接收到另外的消息时,设备能够使用查找表,而不是创建新的信道ID。
各种示例实施例使得能够高效地检测设备之间的共有知识。能够在背景中进行这种检测。在完全没有用户干预的情况下,设备能够自动地建立安全信道。通过发送关键字的ID,该ID中的每个ID可以是仅较少字节长,使背景业务保持小(在共享关键字的设备之间建立通信信道之前),以及该背景业务取决于所搜索的项的数量。所论述的技术还可以在各种网络设置中应用,以及不要求设备在物理邻近的范围中。
可替代的示例实施例是将设备持有的每个关键字用作针对社区的种子。其它设备于是可以使用社区假名机制以及社区搜索消息以用于发现共有兴趣和随后的加密通信。社区搜索消息可以用作关键字查询消息以及社区假名可以担当查询ID。
在另一个示例实施例中,实施例的共有兴趣识别协议是无状态的。因此,可以在多个设备之间共享查询。于是,当第一设备注意到另一个设备正在查询相同的关键字时。该设备能够等待针对其它设备的查询的响应,这可以允许第一设备不那么频繁地查询共享关键字的那些设备,以及反而使用它的查询以搜索其它关键字。
此外,无状态协议允许设备在不发送或接收先前查询消息的情况下来解释响应消息。当接收到响应消息时,该设备在适当的查找表中检查针对关键字的匹配ID。该查找表可以包含没有被该设备发布的关键字,例如,当由另一个设备在查询中已经检测到那些关键字时。
在另一个示例实施例中,ID冲突的概率取决于在网络中的唯一关键字的总数。如果潜在的关键字的数量是10000,则使用三个字节的ID可以导致大约平均6个冲突,而使用4个字节的ID将导致平均小于一个冲突。因此,查询ID和匹配ID的所允许的大小可以基于潜在关键字的总数。
如果查询ID的大小是4个字节,以及搜索的关键字的总数是100,则查询消息的大小将是400字节。可以通过仅当网络状态改变时(诸如例如当增加另一个用户时)发送消息,来进一步减少业务总数。可替代地,使用足够长的时间段来周期性地提供查询消息,以避免网络业务负担过重。
在另一个示例实施例中,其中匹配ID的冲突是可能的,接收设备可以尝试使用关键字的每种可能的匹配组合的加密密钥来解密消息。在另一方面,如果将匹配关键字进行上报(诸如通过使用唯一匹配ID),则不需要检查不同的组合。如果设备能够成功地解密该消息,则它知道的是,在自组织网络中的另一个设备具有关键字的相同子集。
在另一个示例实施例中,各种所传送的消息被限制为不能具有任何永久的标识符,诸如网络地址、设备ID或其它别名。此类永久标识符将允许被动监听者来针对每个用户/设备来重建指纹。即使在不同位置,指纹将允许再次识别相同设备。为了解决这个问题,可以周期性地变更盐220、225以改变所生成的ID。改变的时间间隔指定监听者多久能够追踪相同的人或关键字。盐220、225可以基于当前时间,假设在每个设备中能够获得当前时间。每个设备使用相同的方法来生成盐220、225,以便跨越各种设备,针对给定关键字所独立创建的ID(诸如查询ID 240、245)是相同的。
在另一个示例实施例中,针对有效载荷426的加密密钥340也可以基于两个随机数(R_A和R_B)的串接。每个随机数是随机的比特串。查询消息410还可以包含第一随机数,R_A,以及响应消息420可以包含第二随机数,R_B。随机数R_A和R_B使查询410和响应420绑定。尽管随机数可能不增加另外的安全性(例如,当使用纯文本发送时),但是添加随机数防止由攻击者针对另一个设备来重放爱丽丝的查询410或鲍勃的响应420。当生成加密密钥340时,可以在进行哈希之前,将随机数与匹配关键字210、310进行组合。可替代地,可以使随机数与哈希值330、335进行组合。
在另一个示例实施例中,当在网络中存在多个设备时,可以广播该消息。广播传送进一步降低业务的数量(与向每个设备个体地发送该消息相比)以及改进隐私性。能够通过广播发送在协议中的所有消息,以及任何设备能够发送中继广播。广播传送允许设备不具有网络地址,以便避免在所传送的消息中具有能够被跟踪的标识符。如果网络足够大,则恶意用户为了发现设备之间的联系以及创建针对该设备的指纹,不能确定每个广播消息起源于哪个设备。
在另一个示例实施例中,每个信道可以具有多个匹配信道ID。在这种情况下,每当通过特定信道传送消息时,可以从匹配信道ID的集合选择随机ID。每个设备在看到响应消息后,知道预期具有多个信道ID中的任何一个信道ID的消息。
常规的安全集合交集协议可以用于在不暴露任何一方的知识集的情况下发现两方之间的共有知识。然而,即使在发现匹配之前,因为高数据量,这些协议对于自组织网络而言并不实用。作为对比,各种示例实施例使得多个设备能够使用低通信量以便发现共有知识。
使用常规的安全集合交集协议还涉及繁重的计算,由于有限的处理器速度和计算的能量消耗(其消耗电池),在移动设备中这不是优选的。各种示例实施例使用计算上较轻的算法,这些算法适用于移动设备和AwareNet通信。
用于在先前未知的移动设备之间建立无线可信信道的另一个常规方法是具有辅助信道,攻击者不能控制该辅助信道或容易地截取该辅助信道。针对密钥管理而言,辅助信道的使用可以涉及使用短距通信链路(诸如红外线或NFC)在设备之间复制PIN码。对于可能由数百米在物理上被分离的未知的设备之间的自组织通信网络(诸如例如在使用多跳的AwareNet中这是可能的)而言,这并不实用。
一般地,可以将各种实施例实现在硬件或专用电路、软件、逻辑和它们的任何组合中。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在固件或软件,该固件或软件可以由控制器、微处理器或其它计算设备来执行,尽管本发明不限制于此。虽然本发明的各种方面被说明和描述成框图、流程图或使用一些其它图形表示,但是很好理解的是,本文中所述的这些框、装置、系统、技术或方法可以被实现在,作为非限制性示例,硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或它们的一些组合中。
因此应当了解的是,示例性实施例的至少一些方面可以在各种组件(诸如集成电路芯片和模块)中来实践,以及示例性实施例可以在被具体化为集成电路的装置中实现。集成电路或电路可以包括电路(以及可能固件),该电路(以及可能固件)用于具体化能够被配置以便依照各种示例性实施例进行操作的数据处理器或多个数据处理器、数字信号处理器或多个数字信号处理器、基带电路和射频电路中的至少一个或者多个。
当结合附图阅读时,鉴于上述描述,对于本领域的技术人员来说,对上述示例性实施例的各种修改和改变可以变得明显。然而,任何和所有修改将仍然落入本发明的非限制性和示例性实施例的范围内。
应当注意的是,术语“连接”、“耦合”或者其任何变型意味着在两个或者更多元素之间的任何直接或者间接连接或者耦合,以及可以涵盖在“连接”或者“耦合”在一起的两个元素之间存在一个或者多个中间元素。在元素之间的耦合或者连接可以是物理的、逻辑的或者其组合。如本文中使用的那样,作为若干非限制和非穷举示例,两个元素可以视为通过使用一个或者多个线路、电缆和/或印刷电连接以及通过使用电磁能(诸如在射频区、微波区和光学(可见的和不可见的)区中具有波长的电磁能)被“连接”或者“耦合”在一起。
示例实施例提供了一种方法,该方法用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述方法包含:基于关键字的第一集合来(诸如例如由处理器)生成至少一个查询ID。每个查询ID标识所述关键字的第一集合中的关键字。所述方法包含:在自组织网络中,(诸如例如由接收器)接收包含至少一个匹配ID和加密消息的响应。每个匹配ID标识关键字。所述方法包含:(诸如例如由处理器)基于所述至少一个匹配ID来确定关键字子集。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述方法还包含:(诸如例如由处理器)基于所述关键字子集来生成加密密钥,以及(诸如例如由处理器)使用所述加密密钥来解密所述加密消息。
在以上方法的另一个示例实施例中,所述方法还包含:向所述自组织网络发送包含所述至少一个查询ID的查询。响应于发送该查询执行接收响应。发送该查询可以包含对该查询进行广播。
在以上方法中的任何一个方法的另一个示例实施例中,所述方法还包含生成第一密码学(cryptographic)随机数。该查询还包含所述第一密码学随机数。所述响应还可以包含第二密码学随机数。生成加密密钥还可以基于所述第一密码学随机数和所述第二密码学随机数。
在以上方法中的任何一个方法的另一个示例实施例中,所述方法还包含选择所述关键字的第一集合。
在以上方法中的任何一个方法的另一个示例实施例中,所述方法还包含:接收标识关键字的第二集合的接收查询,选择关键字的第三集合。所述关键字的第三集合包含来自关键字的第一集合并且没有在关键字的第二集合中的关键字。所述方法还包含:向所述自组织网络,发送包含针对在关键字的第三集合中的关键字的至少一个查询ID的传送查询。至少一个查询ID中的每个查询ID标识关键字的第三集合中的关键字。
在以上方法中的任何一个方法的另一个示例实施例中,生成针对关键字的查询ID包含:生成查询盐;将所述关键字和所述查询盐组合以创建第一组合;对所述第一组合进行哈希以创建第一哈希值;以及将所述第一哈希值分成一个或多个查询ID。生成所述查询盐可以基于当前时间。
在以上方法中的任何一个方法的另一个示例实施例中,将所述关键字和所述查询盐进行组合包含:将所述关键字和所述查询盐串接。在可替代实施例中,将所述关键字和所述查询盐进行组合包含:将所述关键字和所述查询盐的字节/比特进行交织。
在以上方法中的任何一个方法的另一个示例实施例中,生成所述加密密钥包含:对在所述关键字子集中的每个关键字进行组合以创建密钥组合;对所述密钥组合进行哈希以创建密钥哈希值;以及将所述密钥哈希值分成所述加密密钥和一个或多个信道ID。对关键字子集中的每个关键字进行组合可以包含:将所述关键字子集中的每个关键字进行串接。在可替代实施例中,对关键字子集中的每个关键字进行组合包含:对关键字子集中的每个关键字的字节/比特进行交织。
在以上方法中的任何一个方法的另一个示例实施例中,确定关键字子集包含:针对至少一个匹配ID的每个匹配ID,确定查找表是否包含针对匹配ID的相关联的关键字,以及响应于确定该查找表包含相关联的关键字,将所述相关联的关键字添加到所述关键字子集。
另一个示例实施例提供了一种方法,所述方法用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述方法包含:在自组织网络中(诸如例如由接收器)接收包含至少一个查询ID的查询。每个查询ID标识关键字。响应于接收到所述查询,所述方法包含:(诸如例如由处理器)基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述方法包含:(诸如例如由处理器)基于所述关键字子集来确定至少一个匹配ID。每个匹配ID标识所述关键字子集中的关键字。所述方法包含:(诸如例如由处理器)基于所述关键字子集来生成加密密钥。所述方法还包含:(诸如例如由处理器)使用所述加密密钥来对消息进行加密,以及(诸如例如由传送器)发送包含所述至少一个匹配ID和所加密的消息的响应。
在以上方法的另一个示例实施例中,所述查询还包含第一密码学随机数。所述方法还包含:生成第二密码学随机数。生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数。所述响应还包含所述第二密码学随机数。
在以上方法中的任何一个方法的另一个示例实施例中,响应于确定关键字子集包含至少阈值数量的关键字,来执行确定所述至少一个匹配ID。所述阈值数量可以被定义为设置数量(诸如例如,五个关键字),被定义为在查询消息中的关键字数量的给定一部分(诸如例如,在查询消息中的关键字的一半数量),或被定义为这两者的组合(诸如例如匹配至少五个关键字或匹配在查询消息中的至少一半数量的关键字)。
在以上方法中的任何一个方法的另一个示例实施例中,确定至少一个匹配ID包含:生成所述至少一个匹配ID。
在以上方法中的任何一个方法的另一个示例实施例中,确定所述至少一个匹配ID包含:从查找表检索所述至少一个匹配ID。
在以上方法中的任何一个方法的另一个示例实施例中,发送所述响应包含:对所述响应进行广播。
在以上方法中的任何一个方法的另一个示例实施例中,生成针对关键字的匹配ID包含:生成匹配盐;将所述关键字与所述匹配盐进行组合以创建第二组合;对所述第二组合进行哈希以创建第二哈希值;以及将所述第二哈希值分成一个或多个匹配ID。生成所述匹配盐可以基于当前时间。
在以上方法中的任何一个方法的另一个示例实施例中,将所述关键字和所述匹配盐进行组合包含:将所述关键字和响应盐串接。在可替代实施例中,将所述关键字和所述匹配盐进行组合包含:将所述关键字和所述匹配盐的字节/比特进行交织。
在以上方法中的任何一个方法的另一个示例实施例中,生成所述加密密钥包含:对在所述关键字子集中的每个关键字进行组合以创建密钥组合;对所述密钥组合进行哈希以创建密钥哈希值;以及将所述密钥哈希值分成所述加密密钥和一个或多个信道ID。
在以上方法中的任何一个方法的另一个示例实施例中,对关键字子集中的每个关键字进行组合包含:将所述关键字子集中的每个关键字进行串接。在可替代实施例中,对关键字子集中的每个关键字进行组合包含:对关键字子集中的每个关键字的字节/比特进行交织。
另一个示例实施例提供了一种装置,该装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含至少一个处理器(诸如例如,DP 514、515);以及包含计算机程序代码(诸如例如,PROG 518)的至少一个存储器(诸如例如,MEM 516)。所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行动作。所述动作包含:基于关键字的第一集合来生成至少一个查询ID。每个查询ID标识所述关键字的第一集合中的关键字。所述动作包含:在自组织网络中,接收包含至少一个匹配ID和加密消息的响应。每个匹配ID标识关键字。所述动作包含:基于所述至少一个匹配ID来确定关键字子集。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述动作包含:基于所述关键字子集来生成加密密钥,以及使用所述加密密钥来解密所述加密消息。
在以上装置的另一个示例实施例中,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:向所述自组织网络发送包含所述至少一个查询ID的查询。响应于发送该查询执行接收响应。当发送所述查询时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:对该查询进行广播。
在以上装置中的任何一个装置的另一个示例实施例中,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成第一密码学随机数。该查询还包含所述第一密码学随机数。所述响应还可以包含第二密码学随机数。生成加密密钥可以基于所述第一密码学随机数和所述第二密码学随机数。
在以上装置中的任何一个装置的另一个示例实施例中,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:选择所述关键字的第一集合。
在以上装置中的任何一个装置的另一个示例实施例中,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:接收标识关键字的第二集合的接收查询;以及选择关键字的第三集合。所述关键字的第三集合包含来自关键字的第一集合并且没有在关键字的第二集合中的关键字。所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:向所述自组织网络,发送包含针对在关键字的第三集合中的关键字的至少一个查询ID的传送查询。至少一个查询ID中的每个查询ID标识关键字的第三集合中的关键字。
在以上装置中的任何一个装置的另一个示例实施例中,当生成针对关键字的查询ID时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成查询盐;将所述关键字和所述查询盐组合以创建第一组合;对所述第一组合进行哈希以创建第一哈希值;以及将所述第一哈希值分成一个或多个查询ID。生成所述查询盐可以基于当前时间。当将所述关键字和所述查询盐进行组合时,所述至少一个存储器和所述计算机程序代码还可以被配置为使得所述装置:将所述关键字和所述查询盐串接。
在以上装置中的任何一个装置的另一个示例实施例中,当生成所述加密密钥时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:对在所述关键字子集中的每个关键字进行组合以创建密钥组合;对所述密钥组合进行哈希以创建密钥哈希值;以及将所述密钥哈希值分成所述加密密钥和一个或多个信道ID。当对关键字子集中的每个关键字进行组合时,所述至少一个存储器和所述计算机程序代码还可以被配置为使得所述装置:将所述关键字子集中的每个关键字进行串接。
在以上装置中的任何一个装置的另一个示例实施例中,当确定关键字子集时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:针对至少一个匹配ID的每个匹配ID,确定查找表是否包含针对匹配ID的相关联的关键字,以及响应于确定该查找表包含相关联的关键字,将所述相关联的关键字添加到所述关键字子集。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置被具体化在移动设备中。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置被具体化在集成电路中。
另一个示例实施例提供了一种装置,所述装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含至少一个处理器(诸如例如,DP 524、525);以及包含计算机程序代码(诸如例如,PROG528)的至少一个存储器(诸如例如,MEM 526)。所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行动作。所述动作包含:在自组织网络中接收包含至少一个查询ID的查询。每个查询ID标识关键字。响应于接收到所述查询,所述动作包含:基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述动作包含:基于所述关键字子集来确定至少一个匹配ID。每个匹配ID标识所述关键字子集中的关键字。所述动作包含:基于所述关键字子集来生成加密密钥。所述动作还包含:使用所述加密密钥来对消息进行加密,以及发送包含所述至少一个匹配ID和所加密的消息的响应。
在以上装置的另一个示例实施例中,所述查询还包含第一密码学随机数。所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成第二密码学随机数。生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数。所述响应还包含所述第一密码学随机数。
在以上装置中的任何一个装置的另一个示例实施例中,响应于确定关键字子集包含至少阈值数量的关键字,来执行确定所述至少一个匹配ID。所述阈值数量可以被定义为设置数量(诸如例如,五个关键字),被定义为在查询消息中的关键字数量的给定一部分(诸如例如,在查询消息中的关键字的一半数量),或被定义为这两者的组合(诸如例如匹配至少五个关键字或匹配在查询消息中的至少一半数量的关键字)。
在以上装置中的任何一个装置的另一个示例实施例中,当确定至少一个匹配ID时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成所述至少一个匹配ID。
在以上装置中的任何一个装置的另一个示例实施例中,当确定所述至少一个匹配ID时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:从查找表检索所述至少一个匹配ID。
在以上装置中的任何一个装置的另一个示例实施例中,当发送所述响应时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:对所述响应进行广播。
在以上装置中的任何一个装置的另一个示例实施例中,当生成针对关键字的匹配ID时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成匹配盐;将所述关键字与所述匹配盐进行组合以创建第二组合;对所述第二组合进行哈希以创建第二哈希值;以及将所述第二哈希值分成一个或多个匹配ID。生成所述匹配盐可以基于当前时间。当将所述关键字和所述匹配盐进行组合时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:将所述关键字和所述匹配盐串接。
在以上装置中的任何一个装置的另一个示例实施例中,当生成所述加密密钥时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:对在所述关键字子集中的每个关键字进行组合以创建密钥组合;对所述密钥组合进行哈希以创建密钥哈希值;以及将所述密钥哈希值分成所述加密密钥和一个或多个信道ID。当对关键字子集中的每个关键字进行组合时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:将所述关键字子集中的每个关键字进行串接。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置被具体化在移动设备中。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置被具体化在集成电路中。
另一个示例实施例提供了一种计算机可读介质,该计算机可读介质用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述计算机可读介质(诸如例如,MEM 516)有形地编码有由处理器(诸如例如,DP 514、515)用于执行动作而运行的计算机程序(诸如例如,PROG 518)。所述动作包含:基于关键字的第一集合来生成至少一个查询ID。每个查询ID标识所述关键字的第一集合中的关键字。所述动作包含:在自组织网络中,接收包含至少一个匹配ID和加密消息的响应。每个匹配ID标识关键字。所述动作包含:基于所述至少一个匹配ID来确定关键字子集。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述动作包含:基于所述关键字子集来生成加密密钥,以及使用所述加密密钥来解密所述加密消息。
在以上计算机可读介质的另一个示例实施例中,所述动作还包含:向所述自组织网络发送包含所述至少一个查询ID的查询。响应于发送该查询执行接收响应。发送该查询可以包含对该查询进行广播。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述动作还包含:生成第一密码学随机数。该查询还包含所述第一密码学随机数。所述响应还可以包含第二密码学随机数。生成加密密钥可以基于所述第一密码学随机数和所述第二密码学随机数。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述动作还包含:选择所述关键字的第一集合。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述动作还包含:接收标识关键字的第二集合的接收查询,选择关键字的第三集合。所述关键字的第三集合包含来自关键字的第一集合并且没有在关键字的第二集合中的关键字。所述动作还包含:向所述自组织网络,发送包含针对在关键字的第三集合中的关键字的至少一个查询ID的传送查询。至少一个查询ID中的每个查询ID标识关键字的第三集合中的关键字。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,生成针对关键字的查询ID包含:生成查询盐;将所述关键字和所述查询盐组合以创建第一组合;对所述第一组合进行哈希以创建第一哈希值;以及将所述第一哈希值分成一个或多个查询ID。生成所述查询盐可以基于当前时间。将所述关键字和所述查询盐进行组合包含:将所述关键字和所述查询盐串接。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,生成所述加密密钥包含:对在所述关键字子集中的每个关键字进行组合以创建密钥组合;对所述密钥组合进行哈希以创建密钥哈希值;以及将所述密钥哈希值分成所述加密密钥和一个或多个信道ID。对关键字子集中的每个关键字进行组合可以包含:将所述关键字子集中的每个关键字进行串接。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,确定关键字子集包含,针对至少一个匹配ID的每个匹配ID,确定查找表是否包含针对匹配ID的相关联的关键字,以及响应于确定该查找表包含相关联的关键字,将所述相关联的关键字添加到所述关键字子集。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述计算机可读介质是非短暂性的计算机可读介质(例如,CD-ROM、RAM、闪速存储器等)
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述计算机可读介质是存储介质。
另一个示例实施例提供了一种计算机可读介质,所述计算机可读介质用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述计算机可读介质(诸如例如,MEM 526)有形地编码有由处理器(诸如例如,DP 524、525)用于执行动作而运行的计算机程序(诸如例如,PROG 528)。所述动作包含:在自组织网络中接收包含至少一个查询ID的查询。每个查询ID标识关键字。响应于接收到所述查询,所述动作包含:基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述动作包含:基于所述关键字子集来确定至少一个匹配ID。每个匹配ID标识所述关键字子集中的关键字。所述动作包含:基于所述关键字子集来生成加密密钥。所述动作包含:使用所述加密密钥来对消息进行加密,以及发送包含所述至少一个匹配ID和所加密的消息的响应。
在以上计算机可读介质的另一个示例实施例中,所述查询还包含第一密码学随机数。所述动作还包含:生成第二密码学随机数。生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数。所述响应还包含所述第一密码学随机数。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,响应于确定关键字子集包含至少阈值数量的关键字,来执行确定所述至少一个匹配ID。所述阈值数量可以被定义为设置数量(诸如例如,五个关键字),被定义为在查询消息中的关键字数量的给定一部分(诸如例如,在查询消息中的关键字的一半数量),或被定义为这两者的组合(诸如例如匹配至少五个关键字或匹配在查询消息中的至少一半数量的关键字)。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,确定至少一个匹配ID包含:生成所述至少一个匹配ID。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,确定所述至少一个匹配ID包含:从查找表检索所述至少一个匹配ID。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,发送所述响应包含:对所述响应进行广播。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,生成针对关键字的匹配ID包含:生成匹配盐;将所述关键字与所述匹配盐进行组合以创建第二组合;对所述第二组合进行哈希以创建第二哈希值;以及将所述第二哈希值分成一个或多个匹配ID。生成所述匹配盐可以基于当前时间。将所述关键字和所述匹配盐进行组合可以包含:将所述关键字和响应盐串接。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,生成所述加密密钥包含:对在所述关键字子集中的每个关键字进行组合以创建密钥组合;对所述密钥组合进行哈希以创建密钥哈希值;以及将所述密钥哈希值分成所述加密密钥和一个或多个信道ID。对关键字子集中的每个关键字进行组合包含:将所述关键字子集中的每个关键字进行串接。
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述计算机可读介质是非短暂性的计算机可读介质(例如,CD-ROM、RAM、闪速存储器等)
在以上计算机可读介质中的任何一个计算机可读介质的另一个示例实施例中,所述计算机可读介质是存储介质。
另一个示例实施例提供了一种装置,该装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含:用于基于关键字的第一集合来生成至少一个查询ID的构件(诸如例如处理器)。每个查询ID标识所述关键字的第一集合中的关键字。所述装置包含:用于在自组织网络中,接收包含至少一个匹配ID和加密消息的响应的构件(诸如例如接收器)。每个匹配ID标识关键字。所述装置包含:用于基于所述至少一个匹配ID来确定关键字子集的构件(诸如例如处理器)。所述关键字子集包含由所述至少一个匹配ID所标识的所述关键字的第一集合中的关键字。所述装置还包含:用于基于所述关键字子集来生成加密密钥的构件(诸如例如处理器),以及用于使用所述加密密钥来解密所述加密消息的构件(诸如例如处理器)。
在以上装置的另一个示例实施例中,所述装置还包含:用于向所述自组织网络发送包含所述至少一个查询ID的查询的构件。响应于发送该查询执行接收响应。所述发送构件可以包含用于对该查询进行广播的构件。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置还包含用于生成第一密码学随机数的构件。该查询还包含所述第一密码学随机数。所述响应还可以包含第二密码学随机数,以及生成加密密钥基于所述第一密码学随机数和所述第二密码学随机数。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置还包含用于选择所述关键字的第一集合的构件。
在以上装置中的任何一个装置的另一个示例实施例中,所述装置还包含:用于接收标识关键字的第二集合的接收查询的构件;以及用于选择关键字的第三集合的构件。所述关键字的第三集合包含来自关键字的第一集合并且没有在关键字的第二集合中的关键字。所述装置还包含:用于向所述自组织网络,发送包含针对在关键字的第三集合中的关键字的至少一个查询ID的传送查询的构件。至少一个查询ID中的每个查询ID标识关键字的第三集合中的关键字。
在以上装置中的任何一个装置的另一个示例实施例中,查询ID生成构件包含:用于生成查询盐的构件;用于将所述关键字和所述查询盐组合以创建第一组合的构件;用于对所述第一组合进行哈希以创建第一哈希值的构件;以及用于将所述第一哈希值分成一个或多个查询ID的构件。生成所述查询盐可以基于当前时间。所述组合构件可以包含:用于将所述关键字和所述查询盐串接的构件。
在以上装置中的任何一个装置的另一个示例实施例中,加密密钥生成构件包含:用于对在所述关键字子集中的每个关键字进行组合以创建密钥组合的构件;用于对所述密钥组合进行哈希以创建密钥哈希值的构件;以及用于将所述密钥哈希值分成所述加密密钥和一个或多个信道ID的构件。组合构件可以包含:用于将所述关键字子集中的每个关键字进行串接的构件。
在以上装置中的任何一个装置的另一个示例实施例中,关键字子集确定构件包含:用于针对至少一个匹配ID的每个匹配ID,确定查找表是否包含针对匹配ID的相关联的关键字的构件,以及用于响应于确定该查找表包含相关联的关键字,将所述相关联的关键字添加到所述关键字子集的构件。
另一个示例实施例提供了一种装置,所述装置用于基于用户感兴趣数据在自组织网络中建立加密通信信道。所述装置包含:用于在自组织网络中接收包含至少一个查询ID的查询的构件(诸如例如接收器)。每个查询ID标识关键字。响应于接收到所述查询,所述装置包含:用于基于所述至少一个查询ID来确定来自关键字的第一集合的关键字子集的构件(诸如例如处理器)。所述关键字的第一集合的子集包含由所述至少一个查询ID标识的所述关键字的第一集合中的关键字。所述装置包含:用于基于所述关键字子集来确定至少一个匹配ID的构件(诸如例如处理器)。每个匹配ID标识所述关键字子集中的关键字。所述装置包含:用于基于所述关键字子集来生成加密密钥的构件(诸如例如处理器)。所述装置还包含:用于使用所述加密密钥来对消息进行加密的构件(诸如例如处理器),以及用于发送包含所述至少一个匹配ID和所加密的消息的响应的构件(诸如例如传送器)。
在以上装置的另一个示例实施例中,所述查询还包含第一密码学随机数。所述装置还包含:用于生成第二密码学随机数的构件。生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数。所述响应还包含所述第一密码学随机数。
在以上装置中的任何一个装置的另一个示例实施例中,响应于确定关键字子集包含至少阈值数量的关键字,来执行确定所述至少一个匹配ID。所述阈值数量可以被定义为设置数量(诸如例如,五个关键字),被定义为在查询消息中的关键字数量的给定一部分(诸如例如,在查询消息中的关键字的一半数量),或被定义为这两者的组合(诸如例如匹配至少五个关键字或匹配在查询消息中的至少一半数量的关键字)。
在以上装置中的任何一个装置的另一个示例实施例中,至少一个匹配ID确定构件包含:用于生成所述至少一个匹配ID的构件。
在以上装置中的任何一个装置的另一个示例实施例中,至少一个匹配ID确定构件包含:用于从查找表检索所述至少一个匹配ID的构件。
在以上装置中的任何一个装置的另一个示例实施例中,响应发送构件包含:用于对所述响应进行广播的构件。
在以上装置中的任何一个装置的另一个示例实施例中,匹配ID生成构件包含:用于生成匹配盐的构件;用于将所述关键字与所述匹配盐进行组合以创建第二组合的构件;用于对所述第二组合进行哈希以创建第二哈希值的构件;以及用于将所述第二哈希值分成一个或多个匹配ID的构件。生成所述匹配盐可以基于当前时间。组合构件可以包含:用于将所述关键字和响应盐串接的构件。
在以上装置中的任何一个装置的另一个示例实施例中,加密密钥生成构件包含:用于对在所述关键字子集中的每个关键字进行组合以创建密钥组合的构件;用于对所述密钥组合进行哈希以创建密钥哈希值的构件;以及用于将所述密钥哈希值分成所述加密密钥和一个或多个信道ID的构件。
此外,用于所描述的参数的各种名称(例如,查询ID,匹配ID等)不是旨在在任何方面进行限制,因为这些参数可以由任何合适的名称来标识。
此外,各种非限制性和示例性实施例的特征中的一些特征可以在没有使用其它特征的情况下有利地加以利用。照此,上述描述应当被认为仅是说明原理、教示和示例实施例,而不是对它们进行限制。

Claims (42)

1.一种方法,包括:
基于关键字的第一集合来生成至少一个查询标识符,其中每个查询标识符标识所述关键字的第一集合中的关键字;
在自组织网络中,接收包括至少一个匹配标识符和加密消息的响应,其中每个匹配标识符标识关键字;
基于所述至少一个匹配标识符来确定关键字子集,其中所述关键字子集包括由所述至少一个匹配标识符所标识的所述关键字的第一集合中的关键字;
基于所述关键字子集来生成加密密钥;以及
使用所述加密密钥来解密所述加密消息。
2.根据权利要求1所述的方法,还包括:向所述自组织网络发送包括所述至少一个查询标识符的查询,其中响应于发送所述查询来执行接收所述响应。
3.根据权利要求2所述的方法,还包括:生成第一密码学随机数,其中所述查询还包括所述第一密码学随机数。
4.根据权利要求3所述的方法,其中所述响应还包括第二密码学随机数,以及生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数。
5.根据权利要求1-4中的任何一项所述的方法,其中所述方法还包括:
接收标识关键字的第二集合的接收查询;
选择关键字的第三集合,其中所述关键字的第三集合包含来自所述关键字的第一集合并且没有在所述关键字的第二集合中的关键字;以及
向所述自组织网络,发送包括针对在所述关键字的第三集合中的关键字的至少一个查询标识符的传送查询,其中所述至少一个查询标识符中的每个查询标识符标识所述关键字的第三集合中的关键字。
6.根据权利要求1-5中的任何一项所述的方法,其中生成针对关键字的查询标识符包括:
生成查询盐;
将所述关键字和所述查询盐组合以创建第一组合;
对所述第一组合进行哈希以创建第一哈希值;以及
将所述第一哈希值分成一个或多个查询标识符。
7.根据权利要求1-6中的任何一项所述的方法,其中生成所述加密密钥包括:
对在所述关键字子集中的每个关键字进行组合以创建密钥组合;
对所述密钥组合进行哈希以创建密钥哈希值;以及
将所述密钥哈希值分成所述加密密钥和一个或多个信道标识符。
8.根据权利要求1-7中的任何一项所述的方法,其中确定所述关键字子集包括:针对所述至少一个匹配标识符中的每个匹配标识符,确定查找表是否包括针对所述匹配标识符的相关联的关键字,以及响应于确定所述查找表包含所述相关联的关键字,将所述相关联的关键字添加到所述关键字子集。
9.一种方法,包括:
在自组织网络中接收包括至少一个查询标识符的查询,其中每个查询标识符标识关键字;
响应于接收到所述查询,基于所述至少一个查询标识符来确定来自关键字的第一集合的关键字子集,其中所述关键字的第一集合的子集包括由所述至少一个查询标识符标识的所述关键字的第一集合中的关键字;
基于所述关键字子集来确定至少一个匹配标识符,其中每个匹配标识符标识所述关键字子集中的关键字;
基于所述关键字子集来生成加密密钥;
使用所述加密密钥来对消息进行加密;以及
发送包括所述至少一个匹配标识符和所加密的消息的响应。
10.根据权利要求9所述的方法,其中所述查询还包括第一密码学随机数,所述方法还包括:生成第二密码学随机数,
生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数,以及
所述响应还包括所述第二密码学随机数。
11.根据权利要求9-10中的任何一项所述的方法,其中响应于确定所述关键字子集包括至少阈值数量的关键字,来执行确定所述至少一个匹配标识符。
12.根据权利要求9-11中的任何一项所述的方法,其中确定所述至少一个标识符包括:生成所述至少一个匹配标识符。
13.根据权利要求9-11中的任何一项所述的方法,其中确定所述至少一个匹配标识符包括:从查找表检索所述至少一个匹配标识符。
14.根据权利要求9-13中的任何一项所述的方法,其中生成针对关键字的匹配标识符包括:
生成匹配盐;
将所述关键字与所述匹配盐进行组合以创建第二组合;
对所述第二组合进行哈希以创建第二哈希值;以及
将所述第二哈希值分成一个或多个匹配标识符。
15.根据权利要求9-14中的任何一项所述的方法,其中生成所述加密密钥包括:
对在所述关键字子集中的每个关键字进行组合以创建密钥组合;
对所述密钥组合进行哈希以创建密钥哈希值;以及
将所述密钥哈希值分成所述加密密钥和一个或多个信道标识符。
16.根据权利要求15所述的方法,其中对所述关键字子集中的每个关键字进行组合包括:将所述关键字子集中的每个关键字进行串接。
17.一种装置,所述装置包括至少一个处理器;以及包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行至少以下:
基于关键字的第一集合来生成至少一个查询标识符,其中每个查询标识符标识所述关键字的第一集合中的关键字;
在自组织网络中,接收包括至少一个匹配标识符和加密消息的响应,其中每个匹配标识符标识关键字;
基于所述至少一个匹配标识符来确定关键字子集,其中所述关键字子集包括由所述至少一个匹配标识符所标识的所述关键字的第一集合中的关键字;
基于所述关键字子集来生成加密密钥;以及
使用所述加密密钥来解密所述加密消息。
18.根据权利要求17所述的装置,其中所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:向所述自组织网络发送包括所述至少一个查询标识符的查询,其中响应于发送所述查询来执行接收所述响应。
19.根据权利要求18所述的装置,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成第一密码学随机数,其中所述查询还包括所述第一密码学随机数。
20.根据权利要求19所述的装置,其中所述响应还包括第二密码学随机数,以及生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数。
21.根据权利要求17-20中的任何一项所述的装置,其中所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置选择所述关键字的第一集合。
22.根据权利要求17-21中的任何一项所述的装置,其中所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:
接收标识关键字的第二集合的接收查询;
选择关键字的第三集合,其中所述关键字的第三集合包含来自所述关键字的第一集合并且没有在所述关键字的第二集合中的关键字;以及
向所述自组织网络,发送包括针对在所述关键字的第三集合中的关键字的至少一个查询标识符的传送查询,其中所述至少一个查询标识符中的每个查询标识符标识所述关键字的第三集合中的关键字。
23.根据权利要求17-22中的任何一项所述的装置,其中当生成针对关键字的查询标识符时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:
生成查询盐;
将所述关键字和所述查询盐组合以创建第一组合;
对所述第一组合进行哈希以创建第一哈希值;以及
将所述第一哈希值分成一个或多个查询标识符。
24.根据权利要求23所述的装置,其中生成所述查询盐基于当前时间。
25.根据权利要求23-24中的任何一项所述的装置,其中当将所述关键字和所述查询盐进行组合时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:将所述关键字和所述查询盐串接。
26.根据权利要求17-25中的任何一项所述的装置,其中当生成所述加密密钥时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:
对在所述关键字子集中的每个关键字进行组合以创建密钥组合;
对所述密钥组合进行哈希以创建密钥哈希值;以及
将所述密钥哈希值分成所述加密密钥和一个或多个信道标识符。
27.根据权利要求26所述的装置,其中当对所述关键字子集中的每个关键字进行组合时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:将所述关键字子集中的每个关键字进行串接。
28.根据权利要求17-27中的任何一项所述的装置,其中当确定所述关键字子集时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:针对所述至少一个匹配标识符中的每个匹配标识符,确定查找表是否包括针对所述匹配标识符的相关联的关键字,以及响应于确定所述查找表包含所述相关联的关键字,将所述相关联的关键字添加到所述关键字子集。
29.一种装置,所述装置包括至少一个处理器;以及包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行至少以下:
在自组织网络中接收包括至少一个查询标识符的查询,其中每个查询标识符标识关键字;
响应于接收到所述查询,基于所述至少一个查询标识符来确定来自关键字的第一集合的关键字子集,其中所述关键字的第一集合的子集包括由所述至少一个查询标识符标识的所述关键字的第一集合中的关键字;
基于所述关键字子集来确定至少一个匹配标识符,其中每个匹配标识符标识所述关键字子集中的关键字;
基于所述关键字子集来生成加密密钥;
使用所述加密密钥来对消息进行加密;以及
发送包括所述至少一个匹配标识符和所加密的消息的响应。
30.根据权利要求29所述的装置,其中所述查询还包括第一密码学随机数,
所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成第二密码学随机数,
生成所述加密密钥还基于所述第一密码学随机数和所述第二密码学随机数,以及
所述响应还包括所述第二密码学随机数。
31.根据权利要求29-30中的任何一项所述的装置,其中响应于确定所述关键字子集包括至少阈值数量的关键字,来执行确定所述至少一个匹配标识符。
32.根据权利要求29-31中的任何一项所述的装置,其中当确定所述至少一个标识符时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:生成所述至少一个匹配标识符。
33.根据权利要求29-32中的任何一项所述的装置,其中当确定所述至少一个匹配标识符时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:从查找表检索所述至少一个匹配标识符。
34.根据权利要求29-33中的任何一项所述的装置,其中当生成针对关键字的匹配标识符时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:
生成匹配盐;
将所述关键字与所述匹配盐进行组合以创建第二组合;
对所述第二组合进行哈希以创建第二哈希值;以及
将所述第二哈希值分成一个或多个匹配标识符。
35.根据权利要求34所述的装置,其中生成所述匹配盐基于当前时间。
36.根据权利要求34-35中的任何一项所述的装置,其中当将所述关键字和所述匹配盐进行组合时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:将所述关键字和响应盐串接。
37.根据权利要求29-36中的任何一项所述的装置,其中当生成所述加密密钥时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:
对在所述关键字子集中的每个关键字进行组合以创建密钥组合;
对所述密钥组合进行哈希以创建密钥哈希值;以及
将所述密钥哈希值分成所述加密密钥和一个或多个信道标识符。
38.根据权利要求37所述的装置,其中当对所述关键字子集中的每个关键字进行组合时,所述至少一个存储器和所述计算机程序代码还被配置为使得所述装置:将所述关键字子集中的每个关键字进行串接。
39.一种计算机可读介质,所述计算机可读介质有形地编码有由处理器用于执行动作而运行的计算机程序,所述动作包括:
基于关键字的第一集合来生成至少一个查询标识符,其中每个查询标识符标识所述关键字的第一集合中的关键字;
在自组织网络中,接收包括至少一个匹配标识符和加密消息的响应,其中每个匹配标识符标识关键字;
基于所述至少一个匹配标识符来确定关键字子集,其中所述关键字子集包括由所述至少一个匹配标识符所标识的所述关键字的第一集合中的关键字;
基于所述关键字子集来生成加密密钥;以及
使用所述加密密钥来解密所加密的消息。
40.一种计算机可读介质,所述计算机可读介质有形地编码有由处理器用于执行动作而运行的计算机程序,所述动作包括:
在自组织网络中接收包括至少一个查询标识符的查询,其中每个查询标识符标识关键字;
响应于接收到所述查询,基于所述至少一个查询标识符来确定来自关键字的第一集合的关键字子集,其中所述关键字的第一集合的子集包括由所述至少一个查询标识符标识的所述关键字的第一集合中的关键字;
基于所述关键字子集来确定至少一个匹配标识符,其中每个匹配标识符标识所述关键字子集中的关键字;
基于所述关键字子集来生成加密密钥;
使用所述加密密钥来对消息进行加密;以及
发送包括所述至少一个匹配标识符和所加密的消息的响应。
41.一种装置,包括:
用于基于关键字的第一集合来生成至少一个查询标识符的构件,其中每个查询标识符标识所述关键字的第一集合中的关键字;
用于在自组织网络中,接收包括至少一个匹配标识符和加密消息的响应的构件,其中每个匹配标识符标识关键字;
用于基于所述至少一个匹配标识符来确定关键字子集的构件,其中所述关键字子集包括由所述至少一个匹配标识符所标识的所述关键字的第一集合中的关键字;
用于基于所述关键字子集来生成加密密钥的构件;以及
用于使用所述加密密钥来解密所述加密消息的构件。
42.一种装置,包括:
用于在自组织网络中接收包括至少一个查询标识符的查询的构件,其中每个查询标识符标识关键字;
用于响应于接收到所述查询,基于所述至少一个查询标识符来确定来自关键字的第一集合的关键字子集的构件,其中所述关键字的第一集合的子集包括由所述至少一个查询标识符标识的所述关键字的第一集合中的关键字;
用于基于所述关键字子集来确定至少一个匹配标识符的构件,其中每个匹配标识符标识所述关键字子集中的关键字;
用于基于所述关键字子集来生成加密密钥的构件;
用于使用所述加密密钥来对消息进行加密的构件;以及
用于发送包括所述至少一个匹配标识符和所加密的消息的响应的构件。
CN201280075779.2A 2012-09-13 2012-09-13 用户感兴趣数据的发现和安全传输 Pending CN104641590A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2012/054772 WO2014041397A1 (en) 2012-09-13 2012-09-13 Discovery and secure transfer of user interest data

Publications (1)

Publication Number Publication Date
CN104641590A true CN104641590A (zh) 2015-05-20

Family

ID=50277699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280075779.2A Pending CN104641590A (zh) 2012-09-13 2012-09-13 用户感兴趣数据的发现和安全传输

Country Status (4)

Country Link
US (1) US9762387B2 (zh)
EP (1) EP2896154A4 (zh)
CN (1) CN104641590A (zh)
WO (1) WO2014041397A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018094938A1 (zh) * 2016-11-26 2018-05-31 华为技术有限公司 一种安全控制智能家居的方法及终端设备
CN109475772A (zh) * 2015-09-23 2019-03-15 斯普尔追踪投资公司 可证明公平的游戏的系统和方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584492B2 (en) 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
US10171441B2 (en) * 2016-09-28 2019-01-01 International Business Machines Corporation System and method for transforming Channel ID communications in man-in-the-middle context
US11070375B2 (en) * 2018-02-08 2021-07-20 Micron Technology, Inc. Key encryption handling
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
CN110798833B (zh) * 2018-08-03 2023-10-24 华为技术有限公司 一种鉴权过程中验证用户设备标识的方法及装置
CN112953902B (zh) * 2021-01-26 2023-03-24 湖南北斗微芯产业发展有限公司 一种工业物联网数据加密通信系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1868163A (zh) * 2003-10-16 2006-11-22 松下电器产业株式会社 加密通信系统和通信装置
CN1926802B (zh) * 2004-03-22 2010-06-02 诺基亚公司 安全数据传输
US20100220856A1 (en) * 2009-02-27 2010-09-02 Johannes Petrus Kruys Private pairwise key management for groups
TW201114308A (en) * 2009-08-18 2011-04-16 Qualcomm Inc Reliable inter-radio access technology core network tunnel

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108683B2 (en) * 2006-08-10 2012-01-31 International Business Machines Corporation Mitigating dictionary attacks on password-protected local storage
KR101591508B1 (ko) * 2008-04-14 2016-02-18 코닌클리케 필립스 엔.브이. 암호 수단을 분배하는 방법
US7984132B2 (en) * 2008-06-27 2011-07-19 Qualcomm Incorporated Multi-rate peer discovery methods and apparatus
US8606873B2 (en) * 2008-06-27 2013-12-10 Qualcomm Incorporated Methods and apparatus for securely advertising identification and/or discovery information
US20100098247A1 (en) * 2008-10-20 2010-04-22 Nokia Corporation Method, Apparatus And Computer Program Product For Generating An Encryption Key And An Authentication Code Key Utilizing A Generic Key Counter
US20110007639A1 (en) 2009-07-10 2011-01-13 Qualcomm Incorporated Methods and apparatus for detecting identifiers
US10038763B2 (en) * 2010-12-15 2018-07-31 At&T Intellectual Property I, L.P. Method and apparatus for detecting network protocols
US20120253835A1 (en) * 2011-03-31 2012-10-04 Mckesson Financial Holdings Methods, apparatuses and computer program products for facilitating quality reporting and alerts management
US9146881B2 (en) * 2011-06-03 2015-09-29 Commandhub, Inc. Mobile data vault
IL213662A0 (en) * 2011-06-20 2011-11-30 Eliphaz Hibshoosh Key generation using multiple sets of secret shares

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1868163A (zh) * 2003-10-16 2006-11-22 松下电器产业株式会社 加密通信系统和通信装置
CN1926802B (zh) * 2004-03-22 2010-06-02 诺基亚公司 安全数据传输
US20100220856A1 (en) * 2009-02-27 2010-09-02 Johannes Petrus Kruys Private pairwise key management for groups
TW201114308A (en) * 2009-08-18 2011-04-16 Qualcomm Inc Reliable inter-radio access technology core network tunnel

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109475772A (zh) * 2015-09-23 2019-03-15 斯普尔追踪投资公司 可证明公平的游戏的系统和方法
WO2018094938A1 (zh) * 2016-11-26 2018-05-31 华为技术有限公司 一种安全控制智能家居的方法及终端设备
US11140547B2 (en) 2016-11-26 2021-10-05 Huawei Technologies Co., Ltd. Method for securely controlling smart home, and terminal device

Also Published As

Publication number Publication date
EP2896154A4 (en) 2016-04-13
US20150341169A1 (en) 2015-11-26
EP2896154A1 (en) 2015-07-22
WO2014041397A1 (en) 2014-03-20
US9762387B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
Kassab et al. A–Z survey of Internet of Things: Architectures, protocols, applications, recent advances, future directions and recommendations
CN104641590A (zh) 用户感兴趣数据的发现和安全传输
KR100739781B1 (ko) 무선 디바이스 그룹 별로 메시지를 전송하는 방법 및 장치
CN102077623B (zh) 用于安全地通告标识和/或发现信息的方法和装置
Hager et al. An analysis of Bluetooth security vulnerabilities
Kavitha Privacy preserving using multi-hop dynamic clustering routing protocol and elliptic curve cryptosystem for WSN in IoT environment
Mehmood et al. A secure and low‐energy zone‐based wireless sensor networks routing protocol for pollution monitoring
Feroz Khan et al. A cognitive key management technique for energy efficiency and scalability in securing the sensor nodes in the IoT environment: CKMT
CN104604206A (zh) 使mac地址模糊化
Zafar et al. Trust based QOS protocol (TBQP) using meta-heuristic genetic algorithm for optimizing and securing MANET
Xu et al. Opportunistic relay selection improves reliability–reliability tradeoff and security–reliability tradeoff in random cognitive radio networks
CN110113344B (zh) 一种基于分布式加密的海上多移动平台身份识别方法
Athulya et al. Security in mobile ad-hoc networks
KR101544460B1 (ko) 그룹 통신의 링크 계층에서 수신자 주소를 은닉하는 방법
Tang et al. S-SPIN: a provably secure routing protocol for wireless sensor networks
Kareem et al. Survey and New Security methodology of Routing Protocol in AD-Hoc Network
Nasiraee et al. A new three party key establishment scheme: Applicable for internet-enabled sensor networks
Fernàndez-Mir et al. Secure and scalable RFID authentication protocol
Mallikarachchi et al. A message verification scheme based on physical layer-enabled data hiding for flying ad hoc network
Kifayat et al. Component‐based security system (COMSEC) with QoS for wireless sensor networks
Shibu et al. Random bit extraction for secret key generation in MANETs
CN108882232B (zh) 一种物联网设备间的认证码嵌入消息传输方法
Kifayat et al. Group based secure communication for large-scale wireless sensor networks
CN106604274A (zh) 无线传感器网络中基于信息论及密码学的安全通信方法
Zhang et al. Covert communications with friendly jamming in Internet of vehicles

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160108

Address after: Espoo, Finland

Applicant after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Applicant before: Nokia Oyj

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150520

WD01 Invention patent application deemed withdrawn after publication