一种基于可信环境与区块链的群智感知系统及其激励方法转让专利

申请号 : CN202110240296.4

文献号 : CN112995181B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭滔官科健刘杰容朱嘉维王国军

申请人 : 广州大学赛尔网络有限公司

摘要 :

本发明公开了一种基于可信环境与区块链的群智感知系统及其激励方法,该系统包括:任务发布者端,在区块链中发布任务信息,在收集到数据切片密文后,利用智能合约校验数据切片密文的哈希值,并上传基础奖励获取智能合约账户对数据密文哈希值的签名,基于TEE解密数据切片密文,并按照用户上传的头文件重组原始数据传递至普通环境,利用头文件约定密钥加密数据对应的奖励,并对奖励密文用私钥签名后将奖励密文传递至REE,并上传至区块链中;用户端,收集感知数据进行切片处理,并利用TEE公钥进行非对称加密处理后,经任务发布者的REE传递至TEE,并根据约定的命名与密钥在区块链中查询并解密奖励密文。

权利要求 :

1.一种基于可信环境与区块链的群智感知系统,包括:任务发布者端,基于可信执行环境技术构建服务器以及基于区块链构建的分布式网络,在区块链中发布任务信息,在收集到用户端上传的数据切片密文后,利用区块链中的智能合约校验数据切片的密文哈希值,并上传固定的基础奖励,获取智能合约账户对数据密文哈希值的签名,基于可信执行环境解密数据切片密文,并按照用户上传的头文件重组原始数据,等待N份数据后统一传递至普通环境,利用用户端上传的头文件约定密钥加密数据对应的奖励,并对奖励密文用可信执行环境私钥签名后将奖励密文传递至普通环境,上传至区块链中;

用户端,用于收集感知数据,对感知数据进行切片处理,并利用可信执行环境的公钥进行非对称加密处理后,经任务发布者的普通环境传递至可信执行环境,并根据约定的命名与密钥在区块链中查询并解密奖励密文;

所述任务发布者端包括:

基础奖励处理单元,用于根据数据切片数量将对应的基础奖励(bR)通过区块链转移至智能合约创建的保证金池账户(sA),并由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中;

解密单元,用于在任务发布者的普通环境(REE)下调用可信执行环境(TEE)中可信应用用私钥(PrK‑TEE)对数据密文(ED)进行验证与解密,利用保证金池账户(sA)的公钥(PbK‑sA)验证密文签名,无效密文被抛弃;

评估单元,用于可信执行环境(TEE)返回数据集合前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,生成对应虚拟货币值的地址作为奖励,并利用用户端上传的头文件约定密钥加密感知数据对应的奖励,使用TEE私钥对奖励密文进行签名,由可信执行环境(TEE)把数据集合与奖励密文返回至任务发布者的普通环境(REE)中;

验证回收单元,用于在任务发布者的普通环境(REE)下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中。

2.如权利要求1所述的一种基于可信环境与区块链的群智感知系统,其特征在于,所述任务发布者端还包括:

任务发布单元,用于在区块链中发布任务信息;

密文哈希值校验单元,用于在收集到用户端上传的数据密文(ED)后,利用智能合约对区块链中的数据密文哈希值进行校验。

3.如权利要求2所述的一种基于可信环境与区块链的群智感知系统,其特征在于,所述验证回收单元还由智能合约用TEE的公钥验证奖励密文中的签名,验证成功则从保证金池账户里回收对应的基础奖励。

4.如权利要求3所述的一种基于可信环境与区块链的群智感知系统,其特征在于:所述任务信息包括任务描述、数据要求、数据质量评估标准及对应奖励。

5.如权利要求3所述的一种基于可信环境与区块链的群智感知系统,其特征在于,所述用户端包括:

感知数据收集单元,用于在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据;

感知数据切割处理单元,用于在完成数据收集后,根据保密长度参数(L)将感知数据切割为n份长度为L的数据切片(pD),并基于数据切片哈希值(pDH)与顺序(pDO)创建头文件,在头文件中加入约定的奖励命名(rN)、加密密钥(rK)和相应的描述;

感知数据加密上传单元,用于将头文件和切片数据使用任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密并直接上传至任务发布者构建的服务器,同时对加密后的数据密文(ED)计算哈希值(EDH),并将计算得到的数据密文哈希值(EDH)上传至区块链;

奖励密文解密单元,用于根据上传的头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。

6.如权利要求5所述的一种基于可信环境与区块链的群智感知系统,其特征在于:对于长度不足L的数据切片尾部以空白数据(eD)补充,所述头文件中相应的描述用于说明数组切片长度不足的空白数据(eD)。

7.一种基于可信环境与区块链的群智感知激励方法,包括如下步骤:步骤S1,任务发布者在区块链中发布任务信息;

步骤S2,用户端在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据;

步骤S3,用户端在完成数据收集后,根据保密长度(L)参数将感知数据切割为n份长度为L的数据切片(pD),并基于数据切片哈希值(pDH)与顺序(pDO)创建头文件,并将头文件和切片数据使用任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密后直接上传至任务发布者构建的服务器,同时将数据密文的哈希值(EDH)上传至区块链;

步骤S4,任务发布者收集用户的数据密文(ED)后,由智能合约对区块链中的数据密文哈希值进行校验,并根据数据切片数量将对应的基础奖励(bR)通过区块链转移至智能合约创建的保证金池账户(sA),由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中;

步骤S5,任务发布者在普通环境REE下调用TEE中可信应用用私钥(PrK‑TEE)对数据密文进行验证与解密,TEE用保证金池账户的公钥(PbK‑sA)验证数据密文哈希值密文签名,无效密文将被抛弃;

步骤S6,TEE在返回数据集合前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,并生成对应虚拟货币值的地址作为奖励,使用头文件中描述的约定密钥加密奖励,并使用TEE私钥对奖励密文进行签名,TEE把数据集合与奖励密文返回至REE中;

步骤S7,任务发布者在REE下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中;

步骤S8,用户端根据上传的头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。

8.如权利要求7所述的一种基于可信环境与区块链的群智感知激励方法,其特征在于,于步骤S7中,由智能合约用TEE的公钥验证奖励密文中的签名,验证成功则从保证金池账户里回收对应的基础奖励。

9.如权利要求7所述的一种基于可信环境与区块链的群智感知激励方法,其特征在于,于步骤S5中,TEE根据数据完整度与数量对有效密文进行以下操作:

1)若头文件所描述数据齐全,则TEE根据头文件描述去除数据切片中空白数据并拼接数据切片为完整数据,等待数据数量满足集合要求;

2)若头文件所描述数据不齐全,则TEE将头文件与数据冻结,等待剩余数据传入;

3)若数据数量满足要求,则TEE将所有冻结数据整合为数据集合返回给REE;

4)若数据数量不满足要求,则TEE将数据冻结,等待数据数据满足集合要求。

说明书 :

一种基于可信环境与区块链的群智感知系统及其激励方法

技术领域

[0001] 本发明涉及区块链技术领域,特别是涉及一种基于可信环境与区块链保护用户隐私的的群智感知系统及其激励方法。

背景技术

[0002] 群智感知(Crowd‑Sensing)是结合众包思想和移动设备感知能力的一种新的数据获取模式,是物联网的一种表现形式。群智感知中感知数据的设备一般是移动设备,比如手
机或者其他移动终端。但是准确来说,其不限于移动设备,比如电脑或者定点传感器都属于
感知数据的设备。群智感知强调的地方在于“群”,需要大量的终端用户参与,终端用户通过
已有的设备形成交互式的、参与式的感知网络,并可以将需要其他用户完成的感知任务发
布到群智感知网中,让其他用户收集所需数据,并通过服务器将所需数据传给任务发布者,
如普通群众可以利用群智感知网络帮助专业人员或政府部门收集数据、分析信息和共享知
识,这一行为可以在很大程度上减少传统采集数据的成本。
[0003] 在群智感知系统中,从任务发布者发布任务,到任务接收者接收任务并收集任务所需数据这一流程,用户的数据需要经历任务分发、数据收集、数据上传、奖励获取4个环
节。在任务分发过程中:平台需要将所有任务发布者的任务发送给任务收集者,由于感知任
务所需数据对地理位置的要求,这一过程平台需要获取任务收集者的地理位置,以此针对
不同用户分配不同任务,从而达到平台利益,效率最大化的目的。在数据收集阶段:由于数
据收集通常采用麦克风,GPS或其他传感器,这导致任务接收者收集数据的过程中可能会泄
露自身的隐私。比如任务需要任务接收者采集某一地理位置的噪声,这时麦克风可能会收
录到除噪声外的其他声音数据,这些数据可能包括用户的聊天内容,聊天位置等。数据上传
阶段:任务接收者完成任务后需要将数据通过网络上传到平台,这一过程的数据可能会被
劫持,篡改等。在奖励获取的过程中:任务接收者(完成者)为了获取相应的报酬,需要提供
自己的身份信息与支付信息,如收货地址和银行卡信息,这些信息对用户而言是极为重要
的,所以在群智感知的各个环节都存在泄露用户隐私信息的隐患,这些隐私安全问题会影
响到系统的用户参与度。同时,用户对数据中隐含的用户隐私泄露的担忧会提高其参与感
知任务所获奖励的预期值,最终导致系统的成本提高。
[0004] 目前,在群智感知系统中采取的隐私保护方法有K匿名,区块链与差分隐私,其中,K匿名是指不让用户单一对数据进行上传,而是结合K个用户,将他们的数据整合到数据集
后再上传到群智感知网络上,降低系统对数据与用户进行匹配的概率,传统K匿名方法的实
现是建立在可信第三方的基础上,而可信第三方在现实中几乎不存在,并且基于K匿名的隐
私保护技术还会遭受到基于背景知识的攻击,此外,K匿名将数据与用户分离后,系统无法
根据数据追踪到对应的用户,会影响到系统根据数据质量向相应用户发放奖励,最终导致
系统的用户参与度降低,不利于群智感知系统的推广;区块链是指使用区块链技术搭建分
布式结构的群智感知系统,解决中心化第三方的信任问题,同时使用区块记录任务执行过
程,然而,区块链的分布式结构决定了在系统数据透明的特性,用户所上传数据对全系统可
见,会带来数据窃取、隐私窃取等问题;差分隐私是指利用差分隐私技术保护任意用户位置
隐私的位置,但是这种差分隐私技术需要对用户数据加入过多的噪音从而实现随机化,这
会导致数据可用性急剧下降。

发明内容

[0005] 为克服上述现有技术存在的不足,本发明之一目的在于提供一种基于可信环境与区块链的群智感知系统及其激励方法,通过将可信执行环境构建在任务发布者服务器上,
与普通环境隔离,基于可信执行环境实现感知数据的解密、数据质量评估与奖励发放等敏
感操作,解决任务发布者的信任问题。
[0006] 本发明之另一目的在于提供一种基于可信环境与区块链的群智感知系统及其激励方法,通过对数据进行切片处理,利用可信执行环境的公钥进行非对称加密处理后,经任
务发布者的普通环境传递至可信执行环境;可信执行环境解密数据切片密文,并按照用户
上传的头文件重组原始数据,等待N份数据后统一传递至普通环境,使得任务发布者无法通
过数据明文精准地追踪到对应用户,避免数据明文与密文之间的大小关系泄露用户身份。
[0007] 本发明之再一目的在于提供一种基于可信环境与区块链的群智感知系统及其激励方法,通过任务发布者调用区块链中的智能合约校验数据切片密文的哈希值,并上传固
定的基础奖励获取智能合约账户对密文哈希值的签名,该签名由可信执行环境用智能合约
账户的公钥验证,避免任务发布者传递恶意数据。
[0008] 本发明之又一目的在于提供一种基于可信环境与区块链的群智感知系统及其激励方法,通过可信执行环境利用用户上传的头文件约定密钥加密数据对应的奖励,并对奖
励密文用私钥签名后将奖励密文传递至普通环境,由任务发布者上传至区块链中,智能合
约用可信执行环境公钥验证签名,并将基础奖励退回至任务发布者,用户根据约定的命名
与密钥在区块链中查询并解密奖励密文,使任务发布者无法通过奖励密文追踪到对应用
户。
[0009] 为达上述目的,本发明提出一种基于可信环境与区块链的群智感知系统,包括:
[0010] 任务发布者端,基于可信执行环境技术构建服务器以及基于区块链构建的分布式网络,在区块链中发布任务信息,在收集到用户端上传的数据切片密文后,利用区块链中的
智能合约校验数据切片密文的哈希值,并上传固定的基础奖励获取智能合约账户对数据密
文哈希值的签名,基于可信执行环境解密数据切片密文,并按照用户上传的头文件重组原
始数据,等待N份数据后统一传递至普通环境,利用用户端上传的头文件约定密钥加密数据
对应的奖励,并对奖励密文用私钥签名后将奖励密文传递至普通环境,上传至区块链中;
[0011] 用户端,用于收集感知数据,对感知数据进行切片处理,并利用可信执行环境的公钥进行非对称加密处理后,经任务发布者的普通环境传递至可信执行环境,并根据约定的
命名与密钥在区块链中查询并解密奖励密文。
[0012] 优选地,所述任务发布者端包括:
[0013] 任务发布单元,用于在区块链中发布任务信息;
[0014] 密文哈希值校验单元,用于在收集到用户端上传的数据密文(ED)后,利用智能合约对区块链中的数据密文哈希值进行校验,
[0015] 基础奖励处理单元,用于根据数据切片数量将对应的基础奖励(bR)通过区块链转移至智能合约创建的保证金池账户(sA),并由智能合约使用账户的私钥(PrK‑sA)对已提交
基础奖励的数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中;
[0016] 解密单元,用于在任务发布者的普通环境(REE)下调用可信执行环境(TEE)中可信应用用私钥(PrK‑TEE)对数据密文(ED)进行验证与解密,利用保证金池账户(sA)的公钥
(PbK‑sA)验证密文签名,无效密文将被抛弃;
[0017] 评估单元,用于可信执行环境(TEE)返回数据集合前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,生成对应虚拟货币值的地址作为奖励,并利用用
户端上传的头文件约定密钥加密感知数据对应的奖励,使用TEE私钥对奖励密文进行签名,
由可信执行环境(TEE)把数据集合与奖励密文返回至任务发布者的普通环境(REE)中;
[0018] 验证回收单元,用于在任务发布者的普通环境(REE)下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中。
[0019] 优选地,所述验证回收单元还由智能合约用TEE的公钥验证奖励密文中的签名,验证成功则从保证金池账户里回收对应的基础奖励。
[0020] 优选地,所述验证回收单元根据公式(Recovery Reward=Base Reward*toFix(Data Length/L))从保证金池账户里回收对应的基础奖励。
[0021] 优选地,所述任务信息包括任务描述、数据要求、数据质量评估标准及对应奖励。
[0022] 优选地,所述用户端包括:
[0023] 感知数据收集单元,用于在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据;
[0024] 感知数据切割处理单元,用于在完成数据收集后,根据保密长度参数(L)将感知数据切割为n份长度为L的数据切片(pD),并基于数据切片哈希值(pDH)与顺序(pDO)创建头文
件,在头文件中加入约定的奖励命名(rN)、加密密钥(rK)和相应的描述;
[0025] 感知数据加密上传单元,用于将头文件和切片数据使用任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密并直接上传至任务发布者构建的服务器,同时对加密
后的数据密文(ED)计算哈希值(EDH),并将计算得到的数据密文哈希值(EDH)上传至区块
链;
[0026] 奖励密文解密单元,用于根据上传的头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。
[0027] 优选地,对于长度不足L的数据切片尾部以空白数据(eD)补充,所述头文件中相应的描述用于说明数组切片长度不足的空白数据(eD)。
[0028] 为达到上述目的,本发明还提供一种基于可信环境与区块链的群智感知激励方法,包括如下步骤:
[0029] 步骤S1,任务发布者在区块链中发布任务信息;
[0030] 步骤S2,用户端在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据;
[0031] 步骤S3,用户端在完成数据收集后,根据保密长度(L)参数将感知数据切割为n份长度为L的数据切片(pD),并基于数据切片哈希值(pDH)与顺序(pDO)创建头文件,并将头文
件和切片数据使用任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密后直接
上传至任务发布者构建的服务器,同时将数据密文的哈希值(EDH)上传至区块链;
[0032] 步骤S4,任务发布者收集用户的数据密文(ED)后,由智能合约对区块链中的数据密文哈希值进行校验,并根据数据切片数量将对应的基础奖励(bR)通过区块链转移至智能
合约创建的保证金池账户(sA),由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的
数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中;
[0033] 步骤S5,任务发布者在普通环境REE下调用TEE中可信应用用私钥(PrK‑TEE)对数据密文进行验证与解密,TEE用保证金池账户的公钥(PbK‑sA)验证数据密文哈希值密文签
名,无效密文将被抛弃;
[0034] 步骤S6,TEE在返回数据集合前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,并生成对应虚拟货币值的地址作为奖励,使用头文件中描述的约定密
钥加密奖励,并使用TEE私钥对奖励密文进行签名,TEE把数据集合与奖励密文返回至REE
中;
[0035] 步骤S7,任务发布者在REE下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中。
[0036] 步骤S8,用户端根据上传的头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。
[0037] 优选地,于步骤S7中,由智能合约用TEE的公钥验证奖励密文中的签名,验证成功则从保证金池账户里回收对应的基础奖励。
[0038] 优选地,于步骤S5中,TEE根据数据完整度与数量对有效密文进行以下操作:
[0039] 1)若头文件所描述数据齐全,则TEE根据头文件描述去除数据切片中空白数据并拼接数据切片为完整数据,等待数据数量满足集合要求;
[0040] 2)若头文件所描述数据不齐全,则TEE将头文件与数据冻结,等待剩余数据传入;
[0041] 3)若数据数量满足要求,则TEE将所有冻结数据整合为数据集合返回给REE;
[0042] 4)若数据数量不满足要求,则TEE将数据冻结,等待数据数据满足集合要求。
[0043] 与现有技术相比,本发明具有如下有益效果:
[0044] 1、本发明通过将可信执行环境构建在任务发布者服务器上,与普通环境隔离,基于可信执行环境实现感知数据的解密、数据质量评估与奖励发放等敏感操作,解决任务发
布者的信任问题。
[0045] 2、本发明通过对感知数据进行切片处理,利用可信执行环境的公钥进行非对称加密处理后,经任务发布者的普通环境传递至可信执行环境;可信执行环境解密数据切片密
文,并按照用户上传的头文件重组原始数据,等待N份数据后统一传递至普通环境,使得任
务发布者无法通过数据明文精准地追踪到对应用户,避免数据明文与密文之间的大小关系
泄露用户身份。
[0046] 3、本发明通过任务发布者调用区块链中的智能合约校验数据切片密文的哈希值,并上传固定的基础奖励获取智能合约账户对密文哈希值的签名,该签名由可信执行环境用
智能合约账户的公钥验证,避免任务发布者传递恶意数据。
[0047] 4、本发明通过可信执行环境利用用户上传的头文件约定密钥加密数据对应的奖励,并对奖励密文用私钥签名后将奖励密文传递至普通环境,由任务发布者上传至区块链
中,智能合约用可信执行环境公钥验证签名,并将基础奖励退回至任务发布者,用户根据约
定的命名与密钥在区块链中查询并解密奖励密文,使任务发布者无法通过奖励密文追踪到
对应用户。

附图说明

[0048] 图1为本发明一种基于可信环境与区块链的群智感知系统的系统架构图;
[0049] 图2为本发明一种基于可信环境与区块链的群智感知激励方法的步骤流程图;
[0050] 图3为本发明实施例中基于可信环境与区块链的群智感知系统的系统架构图;
[0051] 图4为本发明实施例中基于可信环境与区块链的群智感知系统的执行流程图。

具体实施方式

[0052] 以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同
的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离
本发明的精神下进行各种修饰与变更。
[0053] 图1为本发明一种基于可信环境与区块链的群智感知系统的系统架构图。
[0054] 如图1所示,本发明一种基于可信环境与区块链的群智感知系统,包括:
[0055] 任务发布者端10,负责发布任务信息、回收数据以及分发奖励,基于可信执行环境(TEE)技术构建服务器,即可信执行环境构建在任务发布者服务器上,与普通环境(REE)隔
离,所述任务发布者端10通过基于区块链构建的分布式网络,在区块链中发布任务信息,在
收集到用户端上传的数据切片密文(ED)后,利用区块链中的智能合约校验数据切片密文哈
希值,并上传固定的基础奖励,获取使用智能合约账户私钥对数据密文哈希值的签名,所述
签名由可信执行环境用智能合约账户的公钥验证,基于可信执行环境(TEE)解密数据切片
密文,并按照用户上传的头文件重组原始数据,等待N份数据后统一传递至普通环境REE,利
用用户端上传的头文件约定密钥加密数据对应的奖励,并对奖励密文用TEE私钥签名后将
奖励密文传递至普通环境(REE),上传至区块链中。
[0056] 具体地,任务发布者端10包括:
[0057] 任务发布单元101,用于在区块链中发布任务信息,所述任务信息包括但不限于任务描述、数据要求、数据质量评估标准及对应奖励等。
[0058] 密文哈希值校验单元102,用于在收集到用户端上传的数据密文(Encrypted Data,ED)后,利用智能合约对区块链中的密文哈希值进行校验,由于密文哈希值是由密文
进行哈希运算(如SHA256)得出,密文不变,所得的哈希值也不会变化,密文哈希值校验单元
102直接校验是否相等,校验失败则视为无效数据,不继续后续操作。
[0059] 基础奖励处理单元103,用于根据数据切片数量将对应的基础奖励(base Reward,bR)通过区块链转移至智能合约创建的保证金池账户(sA),并由智能合约使用账户的私钥
(PrK‑sA)对已提交基础奖励的数据密文哈希值进行签名(Signed Hash),返回至任务发布
者的普通环境(REE)中,所述基础奖励为固定值虚拟货币。
[0060] 解密单元104,用于在任务发布者的普通环境(REE)下调用可信执行环境TEE中可信应用用私钥(PrK‑TEE)对数据密文(ED)进行验证与解密,利用保证金池账户(sA)的公钥
(PbK‑sA)验证所述数据密文哈希值签名,无效密文将被抛弃,在本发明中,REE与TEE的交互
方式通过可信应用接口调用实现,需说明的是,在任务发布者的普通环境(REE)下调用可信
执行环境TEE中可信应用也可理解为将数据密文、头文件以及带签名凭证的数据密文哈希
值传递至可信执行环境TEE,即对数据密文(ED)的验证与解密在可信执行环境TEE中进行。
[0061] 具体地,TEE根据数据完整度与数量对有效数据密文进行以下操作:
[0062] 1)若头文件所描述数据齐全,则根据头文件描述去除数据切片中空白数据并拼接数据切片为完整数据,等待数据数量满足集合要求。
[0063] 2)若头文件所描述数据不齐全,则将头文件与数据冻结,等待剩余数据传入。
[0064] 3)若数据数量满足要求,则将所有冻结数据整合为数据集合返回给任务发布者的普通环境(REE)。
[0065] 4)若数据数量不满足要求:则将数据冻结,等待数据数据满足集合要求。
[0066] 评估单元105,用于可信执行环境TEE返回数据集合(经过解密得到的感知数据的集合)前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,并生成对应
虚拟货币值的地址作为奖励,使用数据头文件中描述的约定密钥加密奖励、使用约定键值
命名奖励密文,使用TEE私钥对奖励密文进行签名,TEE把数据集合(Data Set)与奖励密文
(Encrypted Reward)返回至REE中。
[0067] 验证回收单元106,用于在任务发布者的普通环境(REE)下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中,由智能合约用TEE的公钥验证奖励密
文中的签名,验证成功则根据公式(Recovery Reward=Base Reward*toFix(Data Length/
L))从保证金池账户里回收对应的基础奖励。
[0068] 用户端20,用于收集感知数据,对感知数据进行切片处理,并利用可信执行环境的公钥进行非对称加密处理后,经任务发布者的普通环境传递至可信执行环境;并根据约定
的命名与密钥在区块链中查询并解密奖励密文。
[0069] 具体地,用户端20包括:
[0070] 感知数据收集单元201,用于在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据。
[0071] 感知数据切割处理单元202,用于在完成数据收集后,根据任务发布者预先设置的保密长度参数(L)将感知数据切割为n份长度为L的数据切片(pD),并在长度不足L的数据尾
部以空白数据(eD)补充,并基于数据切片哈希值(pDH)与顺序(pDO)创建头文件,在头文件
中加入约定的奖励命名(rN)、加密密钥(rK)和相应的描述,所述相应的描述用于说明数组
切片长度不足的空白数据(eD)。
[0072] 感知数据加密上传单元203,用于将头文件和切片数据使用任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密并直接上传至任务发布者构建的服务器,同时将
对加密后的数据密文(ED)计算哈希值((Encrypted Data Hash,EDH),并将计算得到的数据
密文哈希值(EDH)上传至区块链。
[0073] 具体地,感知数据上传单元203将PbKTEE(Head File+Data piece A+Data piece B+…+Data piece N)上传至任务发布者构建的服务器TP,同时将数据密文哈希值(EDH)上传
至区块链,此时任务发布者构建的服务器TP拥有使用TEE公钥加密后的头文件和N个数据切
片PbKTEE(Head File+Data piece A+Data piece B+…+Data piece N),区块链拥有数据密
文哈希值HashePbKTEE(Head File+Data piece A+Data piece B+…+Data piece N)。
[0074] 奖励密文解密单元204,用于根据上传的头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。
[0075] 图2为本发明一种基于可信环境与区块链的群智感知激励方法的步骤流程图。如图2所示,本发明一种基于可信环境与区块链的群智感知激励方法,包括如下步骤:
[0076] 步骤S1,任务发布者在区块链中发布任务信息,包括任务描述、数据要求、数据质量评估标准及对应奖励等。
[0077] 步骤S2,用户端在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据。
[0078] 步骤S3,用户端在完成数据收集后,根据保密长度(L)参数将感知数据切割为n份长度为L的数据切片(pD),并在长度不足L的数据尾部以空白数据(eD)补充,并基于数据切
片哈希值(pDH)与顺序(pDO)创建头文件,在头文件中加入约定的奖励命名(rN),加密密钥
(rK)和相应的描述(用于说明数组切片长度不足的空白数据),并将头文件和切片数据使用
任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密后直接上传至任务发布者
构建的服务器,同时将数据密文的哈希值(EDH)上传至区块链。
[0079] 也就是说,将PbKTEE(Head File+Data piece A+Data piece B+…+Data piece N)上传至任务发布者的服务器TP,同时将数据密文哈希值(EDH)上传至区块链。此时TP拥有使
用TEE公钥加密后的头文件和N个数据切片PbKTEE(Head File+Data piece A+Data piece B
+…+Data piece N),区块链拥有数据密文哈希值HashePbKTEE(Head File+Data piece A+
Data piece B+…+Data piece N)。
[0080] 步骤S4,任务发布者收集用户的数据密文(ED)后,由智能合约对区块链中的数据密文哈希值进行校验,并根据数据切片数量将对应的基础奖励(bR)通过区块链转移至智能
合约创建的保证金池账户(sA),由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的
数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中,所述基础奖励为固定值
虚拟货币。
[0081] 步骤S5,任务发布者在普通环境REE下调用TEE中可信应用用私钥(PrK‑TEE)对数据密文进行验证与解密,TEE用保证金池账户的公钥(PbK‑sA)验证数据密文哈希值密文签
名,无效密文将被抛弃。
[0082] TEE根据数据完整度与数量对有效密文进行以下操作:
[0083] 1)头文件所描述数据齐全:TEE根据头文件描述去除数据切片中空白数据并拼接数据切片为完整数据,等待数据数量满足集合要求。
[0084] 2)头文件所描述数据不齐全:TEE将头文件与数据冻结,等待剩余数据传入。
[0085] 3)数据数量满足要求:TEE将所有冻结数据整合为数据集合返回给REE。
[0086] 4)数据数量不满足要求:TEE将数据冻结,等待数据数据满足集合要求。
[0087] 步骤S6,TEE在返回数据集合前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,并生成对应虚拟货币值的地址作为奖励,使用数据头文件中描述的约
定密钥加密奖励、使用约定键值命名奖励密文,使用TEE私钥对奖励密文进行签名,TEE把数
据集合与奖励密文返回至REE中。
[0088] 步骤S7,任务发布者在REE下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中,由智能合约用TEE的公钥验证奖励密文中的签名,验证成功则根据
公式(Recovery Reward=Base Reward*toFix(Data Length/L))从保证金池账户里回收对
应的基础奖励。
[0089] 步骤S8,用户端根据上传的头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。
[0090] 实施例
[0091] 如图3所示,在本实施例中,本发明的群智感知系统包含两种实体:任务发布者(TP)和用户端(User)。任务发布者负责发布任务信息、回收数据以及分发奖励;用户负责收
集与上传感知数据、获取奖励。方案所设计系统交互分为两部分,第一部分是任务发布者基
于可信执行环境(TEE)技术构建的服务器,第二部分是基于区块链构建的分布式网络。
[0092] 在本实施例中,如图4所示,该群智感知系统的执行流程如下:
[0093] 步骤1,任务发布者(TP)在区块链中发布任务信息,包括任务描述、数据要求、数据质量评估标准及对应奖励等。
[0094] 步骤2,用户端(User)在区块链中挑选自己感兴趣的感知任务并按照要求收集对应的感知数据。
[0095] 步骤3,用户端(User)在完成数据收集后,根据保密长度(L)参数将感知数据切割为n份长度为L的数据切片(pD),并在长度不足L的数据尾部以空白数据(eD)补充(这一部分
补充的空白数据将以说明的形似加在头文件的描述中)。用户基于数据切片哈希值(pDH)与
顺序(pDO)创建头文件,并在头文件中加入约定的奖励命名(rN),加密密钥(rK)和相应的描
述(用于说明数组切片长度不足的空白数据)。头文件和切片数据都使用任务发布者可信执
行环境(TEE)提供的公钥(PbK‑TEE)进行加密并直接上传至任务发布者构建的服务器,即将
PbKTEE(Head File+Data piece A+Data piece B+…+Data piece N)上传至TP。同时将数据
密文哈希值(EDH)上传至区块链。此时TP拥有使用TEE公钥加密后的头文件和N个数据切片
PbKTEE(Head File+Data piece A+Data piece B+…+Data piece N),区块链拥有数据密文
哈希值HashePbKTEE(Head File+DatapieceA+DatapieceB+…+DatapieceN))。
[0096] 步骤4,任务发布者(TP)收集用户的数据密文(ED)后,由智能合约对区块链中的密文哈希值进行校验,根据数据切片数量将对应的基础奖励(bR)通过区块链转移至智能合约
创建的保证金池账户(sA),并由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的数
据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中。基础奖励为固定值虚拟货
币。
[0097] 步骤5,任务发布者(TP)在REE下调用TEE中可信应用用私钥(PrK‑TEE)对密文进行验证与解密。TEE用保证金池账户的公钥(PbK‑sA)验证密文签名,无效密文将被抛弃。TEE根
据数据完整度与数量对有效密文进行以下操作:
[0098] 1)头文件所描述数据齐全:TEE根据头文件描述去除数据切片中空白数据并拼接数据切片为完整数据,等待数据数量满足集合要求。
[0099] 2)头文件所描述数据不齐全:TEE将头文件与数据冻结,等待剩余数据传入。
[0100] 3)数据数量满足要求:TEE将所有冻结数据整合为数据集合返回给REE。
[0101] 4)数据数量不满足要求:TEE将数据冻结,等待数据数据满足集合要求。
[0102] 步骤6,TEE在返回数据集合前,根据任务数据要求、数据质量标准和奖励对每份感知数据进行评估,并生成对应虚拟货币值的地址作为奖励,使用数据头文件中描述的约定
密钥加密奖励、使用约定键值命名奖励密文,使用TEE私钥对奖励密文进行签名。TEE把数据
集合与奖励密文返回至REE中。
[0103] 步骤7,任务发布者(TP)在REE下收到原始感知数据和奖励密文后,将奖励密文以对应的命名上传至区块链中。由智能合约用TEE的公钥验证奖励密文中的签名,验证成功则
根据公式(Recovery Reward=Base Reward*toFix(Data Length/L))从保证金池账户里回
收对应的基础奖励。
[0104] 步骤8,用户端(User)根据上传头文件中约定的命名值从区块链中获取数据对应的奖励密文,并使用约定的密钥解密获得奖励。
[0105] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,
本发明的权利保护范围,应如权利要求书所列。