首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 保护类型 / 参与式感知中可验证的隐私保护数据类型匹配方法

参与式感知中可验证的隐私保护数据类型匹配方法

阅读:156发布:2020-05-13

专利汇可以提供参与式感知中可验证的隐私保护数据类型匹配方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种参与式 感知 中可验证的隐私保护数据类型匹配方法,本发明将参与式感知中可验证的数据类型匹配问题分解成了2个子问题,并分2个阶段解决这2个子问题,这2个阶段分别是用户过滤阶段用户验证阶段。其中,用户过滤阶段用来剔除不符合要求的用户,本发明采用布隆 过滤器 进行用户过滤;用户验证阶段将 请求 数据类型集合中每一个元素组织成请求者的位串子秘密,并用这些位串子秘密生成会话秘钥,只有当拥有所有请求者请求的数据类型时候,才可以解密出数据请求者的会话秘钥,使用会话秘钥完成请求数据类型的匹配验证。本发明方法在保证数据类型匹配操作安全执行的同时,还可最小化双方的计算和通信开销。,下面是参与式感知中可验证的隐私保护数据类型匹配方法专利的具体信息内容。

1.参与式感知中可验证的隐私保护数据类型匹配方法,其特征是,包括:
S1 数据请求者随机选择哈希函数种子HA,使用HA生成k个哈希函数,选取l个哈希函数,再从公共哈希函数池 中随机挑选剩余的k-l个哈希函数,获得k个部分随机化的哈希函数,l滤波器BFA,将会话ID、HA、BFA和l值发送给数据提供者;
S2 数据提供者使用HA生成k个哈希函数,选取l个哈希函数,再从公共哈希函数池 中随机挑选剩余的k-l个哈希函数,获得k个部分随机化的哈希函数;采用该k个哈希函数寻找同时存在于数据提供者提供的数据类型集合和BFA中的元素,所寻找到的元素即匹配的数据类型;将所有匹配的数据类型放入数据类型集合PAj'中,将会话ID和匹配的数据类型的数量nB发送给数据请求者;PAj'中下标j表示第j个数据提供者;
S3 数据请求者比较nB和ti的大小,若nBti,重新执行步骤S1,若匹配操作次数达到预设的匹配次数上限,匹配结束,此时,当前数据提供者为当前数据请求者的非目标提供者;ti表示数据请求者请求的数据类型集合的大小,ti中下标i表示第i个数据请求者;
S4 将数据请求者请求的数据类型集合中各元素组织成位串子秘密,数据请求者随机生成主秘密sk,使用基于位运算的限秘密共享机制和位串子秘密对sk进行加密,所得密文b发送给目标提供者;
S5 目标提供者采用匹配的数据类型作为解密秘钥,使用基于位运算的门限秘密共享机制从密文b中恢复出sk,采用sk对数据请求者和目标提供者间的会话ID加密,将加密后的会话ID发送给数据请求者;
S6 数据请求者采用自己的主秘密sk解密会话ID,若被解密,则当前目标提供者为该数据请求者的匹配提供者;否则,不为该数据请求者的匹配提供者。
2.如权利要求1所述的参与式感知中可验证的隐私保护数据类型匹配方法,其特征是:
步骤S4中,所得密文 数据请求者请求的数据类型集合表示为
3.如权利要求1所述的参与式感知中可验证的隐私保护数据类型匹配方法,其特征是:
步骤S5中,所恢复出的 tj表示目标提供
者匹配的数据类型数量。

说明书全文

参与式感知中可验证的隐私保护数据类型匹配方法

技术领域

[0001] 本发明属于隐私保护数据类型匹配技术领域,尤其涉及一种参与式感知中可验证的隐私保护数据类型匹配方法。

背景技术

[0002] 近年来,智能手机及其衍生品在普通人群中的使用率得到了快速增长和普及,这些智能设备及其接入的各类传感器催生了一类新的移动应用,也即是参与式感知。在参与式感知中,每一个用户都是一个携带各种传感器的移动传感节点,使用这些传感器,每个用户都可以感知环境状态并将这些感知到的数据同其它物理邻近的用户共享。因而,每个用户在系统中,既可以是数据请求者,也可以是数据提供者,他们以P2P方式交换对环境的了解。
[0003] 为了高效地在用户之间共享数据,一个用户所请求的数据类型和另一个用户所拥有的数据类型需在共享前进行匹配操作,以便从用户周围找到理想的候选数据提供者。由于感知环境数据需要消耗用户智能设备有限的资源,且不同用户所拥有的数据类型不同,根据参与式感知应用中用户特性,用户总是倾向于向同他感知数据类型相同的用户请求数据,并且希望请求的用户数量越少越好。换而言之,用户希望以较少的交互次数,从与它类似的用户获得数据。在理想情况下,一个提供者能够提供另一个用户请求的所有类型数据。
[0004] 然而,在不同用户之间进行数据类型匹配会泄露用户个人隐私。一方面请求者需要知道提供者的数据类型才能进行数据匹配,另一方面,用户感知的数据类型反映了他的感知偏好,并由此可以推断出用户的某些生活习性,泄露用户的数据类型信息会泄露用户的个人隐私。因此,为了保护用户的个人隐私,参与式感知中用户的个人感知数据类型隐私需要在匹配操作时得到保护,也即是需要设计隐私保护的参与式感知数据类型匹配方案。
[0005] 但事与愿违的是,要在获得较好的用户数据类型隐私保护的同时,获取较高的数据类型匹配性能并不容易,如果进一步考虑对匹配结果进行验证,这项任务就充满挑战。尽管一些传统的隐私保护集合交方案(PSI-CA)可以被用来解决参与式感知中数据类型匹配问题,但他们都是基于大量的非对称密码学运算,需要消耗大量的计算和时间资源,难以在资源有限的智能移动设备上良好运行。更糟糕的是,大多数PSI-CA方案只能相信匹配对方返回了真实的匹配结果,一旦匹配的一方是不诚实的参与者,就会得到错误的匹配结果,也即是这些错误的匹配结果无法得到验证,由此便会产生诸多无效的后续匹配操作,浪费用户的资源。

发明内容

[0006] 针对现有技术中存在的不足,本发明提供了一种参与式感知中可验证的隐私保护数据类型匹配方法。
[0007] 本发明包括两阶段,第一阶段是通过布隆过滤器过滤掉多数不匹配的非目标用户,第二阶段是使用高效的秘密共享机制确保数据类型匹配结果的可验证性。
[0008] 本发明采用如下的技术方案:
[0009] 一种参与式感知中可验证的隐私保护数据类型匹配方法,包括:
[0010] S1数据请求者随机选择哈希函数种子HA,使用HA生成k个哈希函数,选取l个哈希函数,再从公共哈希函数池 中随机挑选剩余的k-l个哈希函数,获得k个部分随机化的哈希函数,l滤波器BFA,将会话ID、HA、BFA和l值发送给数据提供者;
[0011] S2数据提供者使用HA生成k个哈希函数,选取l个哈希函数,再从公共哈希函数池中随机挑选剩余的k-l个哈希函数,获得k个部分随机化的哈希函数;采用该k个哈希函数寻找同时存在于数据提供者提供的数据类型集合和BFA中的元素,所寻找到的元素即匹配的数据类型;将所有匹配的数据类型放入数据类型集合PAj'中,将会话ID和匹配的数据类型的数量nB发送给数据请求者;
[0012] S3数据请求者比较nB和ti的大小,若nBti,重新执行步骤S1,若匹配操作次数达到预设的匹配次数上限,匹配结束,此时,当前数据提供者为当前数据请求者的非目标提供者;ti表示数据请求者请求的数据类型集合的大小;
[0013] S4将数据请求者请求的数据类型集合中各元素组织成位串子秘密,数据请求者随机生成主秘密sk,使用基于位运算的限秘密共享机制和位串子秘密对sk进行加密,所得密文b发送给目标提供者;
[0014] S5目标提供者采用匹配的数据类型作为解密秘钥,使用基于位运算的门限秘密共享机制从密文b中恢复出sk,采用sk对数据请求者和目标提供者间的会话ID加密,将加密后的会话ID发送给数据请求者;
[0015] S6数据请求者采用自己的主秘密sk解密会话ID,若被解密,则当前目标提供者为该数据请求者的匹配提供者;否则,不为该数据请求者的匹配提供者。
[0016] 步骤S2中,采用该k个哈希函数寻找同时存在于数据提供者提供的数据类型集合和BFA中的元素,具体为:
[0017] (1)令数据类型集合PAj'初始化为空;
[0018] (2)对于数据请求者的BFA中各元素,分别执行:
[0019] 2.1令布隆过滤器BFA当前元素x正确映射的位数tn等于0;
[0020] 2.2令v分别等于hu(x),hu(x)表示第u个哈希函数,u=1,2,…k-1;将BFA的第BFA[v]位分别与1比较,若第BFA[v]位等于1,令tn加1;
[0021] 2.3比较tn和l的大小,若tn不小于l,将当前元素x放入数据类型集合PAj'中。
[0022] 步骤S4中,所得密文 数据请求者请求的数据类型集合表示1 2 ti
为{ai ,ai ,…ai }。
[0023] 步骤S5中,所恢复出的 p=1,2,…tj。
[0024] 和现有技术相比,本发明具有如下特点:
[0025] (1)本发明建模了参与式感知中可验证的隐私保护数据类型匹配问题,且获得了验证。
[0026] (2)本发明可保证数据类型匹配操作安全执行,同时还可最小化双方的计算和通信开销。附图说明
[0027] 图1是布隆过滤器初始状态示意图;
[0028] 图2是布隆过滤器构造过程示意图。

具体实施方式

[0029] 下面将对本发明涉及理论进行详细说明。
[0030] 1、参与式感知模型
[0031] 系统中主要有数据请求者和数据提供者两类实体,它们都是持有接入各类传感器的智能设备用户。由于接入传感器类型的不同,用户感知的数据类型不同,同时由于用户活动的位置和时间的不同,拥有相同类型传感器的用户感知数据也有不同。在实际应用中,拥有某些类别传感器数据的用户往往对同样拥有此类数据的用户感兴趣,即当两者物理上临近时,通过短距离通信技术如WiFi/蓝牙,向其它用户请求数据,完成对自己已有数据内容的丰富。用户一般愿意同与它有高相似度的用户进行数据共享,这当中的相似度,是请求用户和提供者所共有的数据类型。这当中,系统中的数据类型总量被认为非常大,并且有系统中有一个离线的可信第三方CA来管理用户的密码学相关材料,如公私钥、会话密钥等等。
[0032] 2、安全模型
[0033] 用户都是语义安全的,也即,用户会遵从系统运行协定,但尝试从已有输入中获取尽可能多的信息。具体的安全目标如下:
[0034] (1)如果数据提供者Bob是数据请求者Alice的匹配用户,Alice仅仅知道自己从Bob处请求的数据类型集合;
[0035] (2)如果数据提供者Bob不是数据请求者Alice的匹配用户,Alice和Bob都不知道彼此的数据类型信息;
[0036] (3)如果数据提供者Bob是数据请求者Alice的匹配用户,Alice可以验证匹配结果的真实性。
[0037] 3、问题定义
[0038] 假定有m个用户和n种数据类型,分别记作U={U1,U2,…Um}和A={a1,a2,…an},其中,U1、U2…Um分别表示第1、2、…m个用户,a1、a2…an分别表示第1、2、…n种数据类型。每个用户在特定的时间地点下可以是一个数据请求者或数据提供者。采用NAi和PAi去分别表示用户Ui请求的数据类型集合和提供的数据类型集合,令y=c(x)表示数据类型集合A中的一种数据类型x的下标。
[0039] 假定Alice(Ui)是数据请求者,Bob(Uj)是数据提供者。Alice请求的数据类型集合为 1≤p≤ti,ap∈A。Bob提供的数据类型集合为PAj={aj1,aj2,…ajtj},1≤p≤tj, ap∈A。一个简单的实例为,假定A={温度,PM2.5,湿度,气压},如果Alice请求数据类型为“温度”和“湿度”,那么他的请求数据类型集合NAi={1,2},而假定Bob能够提供的数据类型为PM2.5、湿度和气压,那么Bob的提供数据类型集合为PAj={2,3,4}。
[0040] 有了上述定义,本发明的数据类型匹配问题即是:对于一个请求数据集合为NAi的数据请求者Alice,和一个能够提供的数据集合为PAj的数据提供者Bob,Bob是一个匹配用户,当且仅当 时Alice可以在匹配结束后对匹配结果进行验证。
[0041] 本发明目标是保证上述数据类型匹配操作安全执行的同时,尽可能地最小化双方的计算和通信开销。
[0042] 4、布隆过滤器
[0043] 布隆过滤器(bloom filter)是由一个二进制向量和一组随机映射函数组成的数据结构,具有很好的空间和时间效率,常被用来检测一个元素是否属于某个集合。
[0044] 布隆过滤器BF的工作原理如下:
[0045] 假设布隆过滤器BF有ω位,初始化时,BF的所有的位被设置为位-0,见图1。
[0046] 一个集合S={s1,s2,…sq}可以通过k个哈希函数H={h1,h2,…hk},对每一个元素进行k次哈希操作转化为一个位向量,也即BFhj(si)=1,i∈[1,q],j∈[1,k],其中,h(x)∈[0,ω-1],h(x)泛指用哈希函数对数x进行哈希操作,且 是一个公开哈希函数族,例如SHA-1哈希函数族。图2给出了一个简单实例,s1和s2被4个哈希函数{h1,h2,h3,h4}分别哈希计算了4次,哈希函数的值是BF中即将由位-0设置为位-1的位的索引。
[0047] 当一个用户想检测一个元素si是否是集合S中的元素时,仅需要将元素si使用同样的哈希函数{h1,h2,h3,h4}计算4次,然后查看这4个哈希函数值标注的索引处的位是否都为1,如果所有哈希值索引处的位都为1,si就被认为是集合S中一员,反之,则不是。
[0048] 5、基于位运算的快速秘密共享方案
[0049] 门限秘密共享方案最早由Shamir提出。在一个(t,n)门限秘密共享方案中,一个主秘密sk被拆分成n子份,并分发给n个参与方,至少有t个参与方将子秘密联合起来,才能恢复出主秘密sk,t就被称为恢复门限。当t=n时,称之为(n,n)门限秘密共享方案。
[0050] 最简单的门限秘密共享方案基于拉格朗日插值理论实现,但这种方案需要大量大整数运算,时间和计算开销较大。本发明中引入一个高效的基于XOR位运算的秘密共享机制。具体地,给定一个n位主秘密sk,随机选择n-1个n-1位长的位串{r1,r2,…rn-1},计算rn:
[0051]
[0052] 其中,表示“异或”运算。
[0053] 每一个位串ri都是一个子秘密,原始的主秘密sk可以快速地以如下方式恢复出来:
[0054]
[0055] 显然,如果子秘密数量少于n,那么sk不可能被恢复出来。换而言之,如果这n个位串是数据请求者请求的数据类型,那么数据提供者只有拥有全部n个数据类型情况下,才能够恢复出这个秘密值sk。
[0056] 本发明将参与式感知中可验证的数据类型匹配问题分解成了2个子问题,并分2个阶段解决这2个子问题,这2个阶段分别是用户过滤阶段和用户验证阶段。它们各自的思路为:
[0057] (1)用户过滤阶段。
[0058] 用户过滤是匹配操作的第一个阶段,被用来剔除不符合要求的用户。在这一阶段,为了在保护用户数据类型隐私的同时,减少通信和计算开销,用户的请求需要被转化为一个通信计算性价比高的数据结构,并且为了保护用户隐私,这种转换必须是一个黑盒子,具有不可逆性质。布隆过滤器即是这样一种数据结构,但直接简单应用布隆过滤器会将请求者的部分数据类型泄露给数据提供者,本发明对布隆过滤器进行随机化改造,即构造者(也即数据请求者)只使用部分与验证者(也即数据提供者)相同的哈希函数。使用这个改造后的布隆过滤器,既能判断候选数据提供者是否匹配,又避免了哈希函数完全相同情况下,请求者的数据类型信息泄露给部分匹配的候选数据提供者。
[0059] (2)用户验证阶段。
[0060] 为阻止用户虚构验证结果,本发明将请求数据类型集合中每一个元素组织成请求者的位串子秘密,并用这些位串子秘密生成会话秘钥。当某个数据提供者通过了前述过滤阶段后,只有当拥有所有请求者请求的数据类型时候,才可以解密出数据请求者的会话秘钥,并使用这个会话秘钥完成请求数据类型的匹配验证。
[0061] 两个阶段的具体方案如下:
[0062] (1)用户过滤的具体方案。
[0063] 用户过滤阶段主要用来快速剔除不符合要求的用户,留下潜在合规用户,主要包括以下3个依次执行的步骤:
[0064] 步骤一:Alice随机选择整数HA作为布隆过滤器的哈希函数种子,并使用哈希函数种子HA生成k个哈希函数。然后,从这k个哈希函数中选择l个哈希函数,其中,l
[0065] Alice→Bob:      (3)
[0066] 其中,uid为会话ID。
[0067] 步骤二:收到Alice构造布隆过滤器的参数HA后,Bob使用HA生成与Alice的哈希函数随机化操作之前的相同的k个哈希函数。然后使用这k个哈希函数,根据算法1,寻找同时存在于PAj和BFA中的元素,所寻找到的元素即匹配的数据类型。将所有匹配的数据类型放入数据类型集合PAj'中,并且将匹配的数据元素的数量nB返还给Alice:
[0068] Bob→Alice:      (4)
[0069] 算法1用来查找同时在Bob数据类型集合和Alice的布隆过滤器中的元素,该算法的输入为PAj、k、H={hi}k-1i=0、l、BFA,其输出为PAj'={x|x∈PAj∩x∈BFA},该算法的流程如下:
[0070] (3)令数据类型集合PAj'初始化为空;
[0071] (4)对于Alice的BFA中各元素,分别执行:
[0072] 2.1令布隆过滤器BFA当前元素x正确映射的位数tn等于0;
[0073] 2.2对于下标集合{0,1,…,k-1}中各下标u,令v分别等于hu(x),hu(x)表示第u个哈希函数;将BFA的第BFA[v]位分别与1比较,若第BFA[v]位等于1,令tn加1;
[0074] 2.3比较tn和l的大小,若tn不小于l,将当前元素x放入数据类型集合PAj'中。
[0075] 这里同步骤一相呼应且需要注意的是,由于Alice和Bob使用的哈希函数并不是完全相同,所以,算法1中,考虑一个元素 BFA[hi(x)]=1,i∈[1,d],d≥l,也即,只要Bob的一个数据类型元素x在Alice的布隆过滤器当中映射的位-1个数大于或者等于l位,那么,就认定此数据类型元素x在Alice的请求类型集合中。
[0076] 步骤三:当Alice收到Bob发送的匹配的数据类型数量nB后,通过比较nB同它请求的数据类型集合中元素数ti的大小,判断Bob是否是其目标提供者,比较的结果有3种情况。
[0077] 第1种情况:如果nB
[0078] 第2种情况:如果nB=ti,Alice将Bob设置为目标提供者,匹配结束。
[0079] 既然,Bob不能被直接确认为满足Alice数据类型要求的用户,Alice继续使用(n,n)门限秘密共享机制来验证Bob是否是满足的匹配用户。具体地,Alice随机地生成一个主秘密sk,并将sk使用基于位运算的(n,n)门限秘密共享机制中的公式(1)加密,得到密文b:
[0080]
[0081] Alice将密文b发送给Bob,并随即开始进行第二阶段的验证操作。
[0082] Alice→Bob:      (6)
[0083] 第3种情况:如果nB>ti,Alice将Bob列为潜在的匹配用户,并重新运行一轮匹配操作,若匹配操作次数达到预设的匹配次数上限,匹配结束,此时,Bob为Alice的非目标提供者。
[0084] (2)用户验证的具体方案。
[0085] 从用户过滤阶段得知,当Bob提供的数据类型匹配数量nB等于Alice请求的数据类型数量ti时,Alice会使用(n,n)门限秘密共享来验证Bob是否的确拥有它所需要的数据类型。整个数据类型验证操作可以通过2个步骤完成。
[0086] 步骤1:收到Alice的密文b,Bob使用匹配的数据类型集合PAj'中的元素作为解密秘钥,并使用公式(2)恢复出Alice的会话秘钥sk,随后采用sk将Bob和Alice之间的会话id加密,并返回给Alice:
[0087]
[0088] Bob→Alice:Esk(uid)      (8)
[0089] 其中,Esk(uid)表示加密后的会话ID。
[0090] 步骤2:收到Bob的响应Esk(uid),Alice尝试用其主秘密sk解密该响应。如果会话ID被成功解密,Alice认定Bob是匹配提供者。
[0091] Alice→Dsk(uid)?=uid      (9)。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈