一种基于可信环境与区块链的群智感知系统及其激励方法转让专利
申请号 : CN202110240296.4
文献号 : CN112995181B
文献日 : 2021-12-14
发明人 : 彭滔 , 官科健 , 刘杰容 , 朱嘉维 , 王国军
申请人 : 广州大学 , 赛尔网络有限公司
摘要 :
权利要求 :
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将数据冻结,等待数据数据满足集合要求。
说明书 :
一种基于可信环境与区块链的群智感知系统及其激励方法
技术领域
背景技术
机或者其他移动终端。但是准确来说,其不限于移动设备,比如电脑或者定点传感器都属于
感知数据的设备。群智感知强调的地方在于“群”,需要大量的终端用户参与,终端用户通过
已有的设备形成交互式的、参与式的感知网络,并可以将需要其他用户完成的感知任务发
布到群智感知网中,让其他用户收集所需数据,并通过服务器将所需数据传给任务发布者,
如普通群众可以利用群智感知网络帮助专业人员或政府部门收集数据、分析信息和共享知
识,这一行为可以在很大程度上减少传统采集数据的成本。
节。在任务分发过程中:平台需要将所有任务发布者的任务发送给任务收集者,由于感知任
务所需数据对地理位置的要求,这一过程平台需要获取任务收集者的地理位置,以此针对
不同用户分配不同任务,从而达到平台利益,效率最大化的目的。在数据收集阶段:由于数
据收集通常采用麦克风,GPS或其他传感器,这导致任务接收者收集数据的过程中可能会泄
露自身的隐私。比如任务需要任务接收者采集某一地理位置的噪声,这时麦克风可能会收
录到除噪声外的其他声音数据,这些数据可能包括用户的聊天内容,聊天位置等。数据上传
阶段:任务接收者完成任务后需要将数据通过网络上传到平台,这一过程的数据可能会被
劫持,篡改等。在奖励获取的过程中:任务接收者(完成者)为了获取相应的报酬,需要提供
自己的身份信息与支付信息,如收货地址和银行卡信息,这些信息对用户而言是极为重要
的,所以在群智感知的各个环节都存在泄露用户隐私信息的隐患,这些隐私安全问题会影
响到系统的用户参与度。同时,用户对数据中隐含的用户隐私泄露的担忧会提高其参与感
知任务所获奖励的预期值,最终导致系统的成本提高。
后再上传到群智感知网络上,降低系统对数据与用户进行匹配的概率,传统K匿名方法的实
现是建立在可信第三方的基础上,而可信第三方在现实中几乎不存在,并且基于K匿名的隐
私保护技术还会遭受到基于背景知识的攻击,此外,K匿名将数据与用户分离后,系统无法
根据数据追踪到对应的用户,会影响到系统根据数据质量向相应用户发放奖励,最终导致
系统的用户参与度降低,不利于群智感知系统的推广;区块链是指使用区块链技术搭建分
布式结构的群智感知系统,解决中心化第三方的信任问题,同时使用区块记录任务执行过
程,然而,区块链的分布式结构决定了在系统数据透明的特性,用户所上传数据对全系统可
见,会带来数据窃取、隐私窃取等问题;差分隐私是指利用差分隐私技术保护任意用户位置
隐私的位置,但是这种差分隐私技术需要对用户数据加入过多的噪音从而实现随机化,这
会导致数据可用性急剧下降。
发明内容
与普通环境隔离,基于可信执行环境实现感知数据的解密、数据质量评估与奖励发放等敏
感操作,解决任务发布者的信任问题。
务发布者的普通环境传递至可信执行环境;可信执行环境解密数据切片密文,并按照用户
上传的头文件重组原始数据,等待N份数据后统一传递至普通环境,使得任务发布者无法通
过数据明文精准地追踪到对应用户,避免数据明文与密文之间的大小关系泄露用户身份。
定的基础奖励获取智能合约账户对密文哈希值的签名,该签名由可信执行环境用智能合约
账户的公钥验证,避免任务发布者传递恶意数据。
励密文用私钥签名后将奖励密文传递至普通环境,由任务发布者上传至区块链中,智能合
约用可信执行环境公钥验证签名,并将基础奖励退回至任务发布者,用户根据约定的命名
与密钥在区块链中查询并解密奖励密文,使任务发布者无法通过奖励密文追踪到对应用
户。
智能合约校验数据切片密文的哈希值,并上传固定的基础奖励获取智能合约账户对数据密
文哈希值的签名,基于可信执行环境解密数据切片密文,并按照用户上传的头文件重组原
始数据,等待N份数据后统一传递至普通环境,利用用户端上传的头文件约定密钥加密数据
对应的奖励,并对奖励密文用私钥签名后将奖励密文传递至普通环境,上传至区块链中;
命名与密钥在区块链中查询并解密奖励密文。
基础奖励的数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中;
(PbK‑sA)验证密文签名,无效密文将被抛弃;
户端上传的头文件约定密钥加密感知数据对应的奖励,使用TEE私钥对奖励密文进行签名,
由可信执行环境(TEE)把数据集合与奖励密文返回至任务发布者的普通环境(REE)中;
件,在头文件中加入约定的奖励命名(rN)、加密密钥(rK)和相应的描述;
后的数据密文(ED)计算哈希值(EDH),并将计算得到的数据密文哈希值(EDH)上传至区块
链;
件和切片数据使用任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密后直接
上传至任务发布者构建的服务器,同时将数据密文的哈希值(EDH)上传至区块链;
合约创建的保证金池账户(sA),由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的
数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中;
名,无效密文将被抛弃;
钥加密奖励,并使用TEE私钥对奖励密文进行签名,TEE把数据集合与奖励密文返回至REE
中;
布者的信任问题。
文,并按照用户上传的头文件重组原始数据,等待N份数据后统一传递至普通环境,使得任
务发布者无法通过数据明文精准地追踪到对应用户,避免数据明文与密文之间的大小关系
泄露用户身份。
智能合约账户的公钥验证,避免任务发布者传递恶意数据。
中,智能合约用可信执行环境公钥验证签名,并将基础奖励退回至任务发布者,用户根据约
定的命名与密钥在区块链中查询并解密奖励密文,使任务发布者无法通过奖励密文追踪到
对应用户。
附图说明
具体实施方式
的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离
本发明的精神下进行各种修饰与变更。
离,所述任务发布者端10通过基于区块链构建的分布式网络,在区块链中发布任务信息,在
收集到用户端上传的数据切片密文(ED)后,利用区块链中的智能合约校验数据切片密文哈
希值,并上传固定的基础奖励,获取使用智能合约账户私钥对数据密文哈希值的签名,所述
签名由可信执行环境用智能合约账户的公钥验证,基于可信执行环境(TEE)解密数据切片
密文,并按照用户上传的头文件重组原始数据,等待N份数据后统一传递至普通环境REE,利
用用户端上传的头文件约定密钥加密数据对应的奖励,并对奖励密文用TEE私钥签名后将
奖励密文传递至普通环境(REE),上传至区块链中。
进行哈希运算(如SHA256)得出,密文不变,所得的哈希值也不会变化,密文哈希值校验单元
102直接校验是否相等,校验失败则视为无效数据,不继续后续操作。
(PrK‑sA)对已提交基础奖励的数据密文哈希值进行签名(Signed Hash),返回至任务发布
者的普通环境(REE)中,所述基础奖励为固定值虚拟货币。
(PbK‑sA)验证所述数据密文哈希值签名,无效密文将被抛弃,在本发明中,REE与TEE的交互
方式通过可信应用接口调用实现,需说明的是,在任务发布者的普通环境(REE)下调用可信
执行环境TEE中可信应用也可理解为将数据密文、头文件以及带签名凭证的数据密文哈希
值传递至可信执行环境TEE,即对数据密文(ED)的验证与解密在可信执行环境TEE中进行。
虚拟货币值的地址作为奖励,使用数据头文件中描述的约定密钥加密奖励、使用约定键值
命名奖励密文,使用TEE私钥对奖励密文进行签名,TEE把数据集合(Data Set)与奖励密文
(Encrypted Reward)返回至REE中。
文中的签名,验证成功则根据公式(Recovery Reward=Base Reward*toFix(Data Length/
L))从保证金池账户里回收对应的基础奖励。
的命名与密钥在区块链中查询并解密奖励密文。
部以空白数据(eD)补充,并基于数据切片哈希值(pDH)与顺序(pDO)创建头文件,在头文件
中加入约定的奖励命名(rN)、加密密钥(rK)和相应的描述,所述相应的描述用于说明数组
切片长度不足的空白数据(eD)。
对加密后的数据密文(ED)计算哈希值((Encrypted Data Hash,EDH),并将计算得到的数据
密文哈希值(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)。
片哈希值(pDH)与顺序(pDO)创建头文件,在头文件中加入约定的奖励命名(rN),加密密钥
(rK)和相应的描述(用于说明数组切片长度不足的空白数据),并将头文件和切片数据使用
任务发布者可信执行环境(TEE)提供的公钥(PbK‑TEE)进行加密后直接上传至任务发布者
构建的服务器,同时将数据密文的哈希值(EDH)上传至区块链。
用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)。
合约创建的保证金池账户(sA),由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的
数据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中,所述基础奖励为固定值
虚拟货币。
名,无效密文将被抛弃。
定密钥加密奖励、使用约定键值命名奖励密文,使用TEE私钥对奖励密文进行签名,TEE把数
据集合与奖励密文返回至REE中。
公式(Recovery Reward=Base Reward*toFix(Data Length/L))从保证金池账户里回收对
应的基础奖励。
集与上传感知数据、获取奖励。方案所设计系统交互分为两部分,第一部分是任务发布者基
于可信执行环境(TEE)技术构建的服务器,第二部分是基于区块链构建的分布式网络。
补充的空白数据将以说明的形似加在头文件的描述中)。用户基于数据切片哈希值(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))。
创建的保证金池账户(sA),并由智能合约使用账户的私钥(PrK‑sA)对已提交基础奖励的数
据密文哈希值进行签名,返回至任务发布者的普通环境(REE)中。基础奖励为固定值虚拟货
币。
据数据完整度与数量对有效密文进行以下操作:
密钥加密奖励、使用约定键值命名奖励密文,使用TEE私钥对奖励密文进行签名。TEE把数据
集合与奖励密文返回至REE中。
根据公式(Recovery Reward=Base Reward*toFix(Data Length/L))从保证金池账户里回
收对应的基础奖励。
本发明的权利保护范围,应如权利要求书所列。