区块链协助搜索的物联网数据共享方法.pdf

上传人:周** 文档编号:14526517 上传时间:2024-05-19 格式:PDF 页数:20 大小:1.61MB
收藏 版权申诉 举报 下载
区块链协助搜索的物联网数据共享方法.pdf_第1页
第1页 / 共20页
区块链协助搜索的物联网数据共享方法.pdf_第2页
第2页 / 共20页
区块链协助搜索的物联网数据共享方法.pdf_第3页
第3页 / 共20页
文档描述:

《区块链协助搜索的物联网数据共享方法.pdf》由会员分享,可在线阅读,更多相关《区块链协助搜索的物联网数据共享方法.pdf(20页完成版)》请在专利查询网上搜索。

1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202410004222.4(22)申请日 2024.01.03(71)申请人 齐鲁工业大学(山东省科学院)地址 250000 山东省济南市长清区大学路3501号(72)发明人 禹继国黄耀王桂娟卢之琰董安明(74)专利代理机构 济南信达专利事务所有限公司 37100专利代理师 孙园园(51)Int.Cl.G06F 21/62(2013.01)G06F 21/60(2013.01)G06F 21/64(2013.01)(54)发明名称一种区块链协助搜索的物联网数据共享方法(57)摘要本发明公开了一种。

2、区块链协助搜索的物联网数据共享方法,属于信息安全技术领域,本发明要解决的技术问题为如何保证物联网数据的机密性、可搜索性和灵活的访问控制,采用的技术方案为:S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;S2、物联网数据上传;S3、物联网数据检索;S4、物联网数据解密。权利要求书5页 说明书12页 附图2页CN 117494221 A2024.02.02。

3、CN 117494221 A1.一种区块链协助搜索的物联网数据共享方法,其特征在于,该方法具体如下:S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私 钥,数 据所有者和数 据使 用者生 成各自 的公 钥和私 钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;S2、物联网数据上传:数据所有者根据预定义的数据访问结构将物联网数据加密生成物 联网 数 据密 文并 从 物 联网 数 据 中 抽 取 一组 能 够 描述 对 应数 据的 关 键 字生成数据。

4、索引;数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链;S 3、物 联 网 数 据 检 索:数 据 使 用 者 根 据 自 己 感 兴 趣 的 关 键 字 集 合生成搜索陷门并将搜索陷门发送到区块链,区块链智能合约根据数据索引和搜索陷门执行搜索操作;当搜索成功时,返回物联网数据密文的云上存储地址;S4、物联网数据解密:各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥,云计算中心根据数据使用者的属性解密密钥为数据使用者提供预解密操作生成中间密文,数据使用者利用自己的私钥解密中间密文最终获得数据使用者感兴趣的物联网数据。2.根据权利要求1所述的区块链协助搜索的。

5、物联网数据共享方法,其特征在于,步骤S1中的可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作具体如下:S101、可信权威机构执行初始化操作:定义两个阶数为素数 的乘法循环群,并定义一个整数群;再选择双线性映射 和三个哈希函数;可信权威机构从群中选择一个随机数 并将公共参数组织为:;其中,是乘法循环群的生成元;代指双线性映射;是根据随机数 计算的一个公共参数的元素;表示一个将关键字映射为群元素的哈希函数;表示一个将身份标识符映射为群元素的哈希函数;表示一个将属性映射为群元素的哈希函数;S102、各个属性管理机构分别从群中选择两个随机数,作为属性管理私钥,并计算属性管理公钥;其中,。

6、是两个随机数,用于构成属性管理私钥,属性管理公钥根据属性管理私钥和群的生成元计算得来;S103、数据所有者和数据使用者分别从群中选择随机数,分权利要求书1/5 页2CN 117494221 A2别作为数据所有者和数据使用者的私钥,并分别计算数据所有者和数据使用者的公钥;其中,数据所有者和数据使用者各自的公钥是根据私钥和群的生成元计算;表示数据所有者的私钥;表示数据使用者的私钥;表示数据所有者的公钥;表示数据使用者的公钥。3.根据权利要求2所述的区块链协助搜索的物联网数据共享方法,其特征在于,步骤S101中选定的乘法循环群和双线性映射满足以下三个条件:双线性:对于任意的群元素:,有和或;非退化性。

7、:设是的生成元,有;可计算性:对于任意的群元素:,存在有效的方法计算一个双线性映射。4.根据权利要求1所述的区块链协助搜索的物联网数据共享方法,其特征在于,步骤S2中的数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链具体如下:S201、数据所有者将物联网数据 加密,具体为:数 据 所 有 者 定 义 一 个 数 据 访 问 结 构并 从群 中 选 择 一 组 随 机 数;其中,表示一个 行 列的矩阵;表示一个将矩阵的行映射到属性的函数;数 据 所 有 者 构 造 两 个 向 量并 计 算,;其中,表示矩阵的一行;表示 的第 个秘密分片,表示0的第 个秘密分片;数据所有者从群中。

8、选择一个随机数并计算物联网数据密文的各个组件如下:;根据物联网数据密文的各个组件、和,数据所有者将物联网数据密文组织为:;S202、数据所有者从物联网数据中抽取一组关键字,再加密该组关键字生成数据索引;数据所有者从群中选择两个随机数 及并计算数据索引的各权利要求书2/5 页3CN 117494221 A3个组件如下:;根据数据索引的各个组件、和,数据所有者将物联网数据索引组织为:;其中,表示关键字集合;表示关键字;表示关键字集合中关键字的个数;S203、数 据所有者 将物联网 数 据密文上传 到云计 算 中心,上传的形 式 为:;物联网数据索引上传到区块链,上传的形式为:;云计算中心将物联网数。

9、据密文的存储地址上传到区块链,上传的形式为:;其中,是一个抗碰撞的哈希函数。5.根据权利要求1所述的区块链协助搜索的物联网数据共享方法,其特征在于,步骤S3中的物联网数据检索具体如下:S301、数据使用者根据自身感兴趣的关键字集合并从群中选择一个随机数 计算搜索陷门的各个组件如下:;根 据 搜 索 陷 门 的 各 个 组 件、和,数 据 使 用 者 将 搜 索 陷 门 组 织 为:;其中,表示数据使用者感兴趣的关键字集合;表示关键字;表示数据使用者感兴趣的关键字集合中关键字的个数;S302、数据使用者将搜索陷门上传到区块链上,部署在区块链上的智能合约验证数据索引和搜索陷门是否匹配,验证公式如下。

10、:;权利要求书3/5 页4CN 117494221 A4若成立,则表明数据索引和搜索陷门匹配成功,区块链将物联网数据密文的云上存储地址返回给数据使用者;其中,验证数据索引和搜索陷门是否匹配的过程在区块链上利用智能合约执行。6.根据权利要求1所述的区块链协助搜索的物联网数据共享方法,其特征在于,步骤S4中的云计算中心执行预解密和数据使用者解密中间密文具体如下:S401、各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥;对于数据使用者的属性集合中的一个属性,属性管理机构从群中选择一个随机数 并结合数据使用者的公钥计算属性解密密钥的各个组件,具体如下:;根据属性解密密钥的各个组件。

11、和,属性管理机构将数据使用者的属性解密密钥组织为:;其中,是由任一个属性管理机构具体管理的属性集合,任一个属性管理机构具体管理的属性集合和数据使用者的属性集合的关系是:;S402、云计算中心利用数据使用者的属性解密密钥为数据使用者提供物联网数据密文预 解 密 操 作;云 计 算 中 心 定 义 满 足 数 据 访 问 结 构的 属 性 集 合 为,对于集合 中的每个元素,云计算中心计算一组中间变量、及,公式如下:;云计算中心根据中间变量、及计算中间密文变量,公式如下:;云计算中心计算一组常数,使得等式和等式成立,即利用常数恢复出 和;权利要求书4/5 页5CN 117494221 A5结合常数。

12、,云计算中心执行如下的计算获取中间密文的组件:;根据中间密文的组件云计算中心将中间密文组织为:;其中,是物联网数据密文的一个组件;S403、数据使用者解密中间密文:数据使用者利用数据使用者私钥 执行如下计算解密中间密文获得物联网数据:。权利要求书5/5 页6CN 117494221 A6一种区块链协助搜索的物联网数据共享方法技术领域0001本发明涉及信息安全技术领域,具体地说是一种区块链协助搜索的物联网数据共享方法。背景技术0002随着物联网技术的发展和普及,越来越多具有联网和计算能力的物联网设备被部署在医疗、交通、智慧城市等场景。这些物联网设备每时每刻都在产生数据。由于物联网设备的存储和计算。

13、等资源通常是有限的,海量的物联网数据很难在物联网设备本地得到很好的存储和处理。常用的方式就是将海量物联网数据存储到云计算中心,云计算中心通常具有充足的存储和强大的计算资源。为了确保用户隐私数据不被泄露,物联网数据会被加密之后再存储到云计算中心,目前基本完全依赖密码学技术解决数据安全与隐私保护的问题。0003当前很多基于属性的密码学方案由于只有一个属性管理机构,所以面临着性能瓶颈问题并且容易出现单点故障。此外,由于云计算中心通常会向多个用户提供计算和存储服务,所以在海量数据中检索所需数据面临着低效和不精确的问题。多数云计算中心通常是不完全可信的平台,这可能会驱使云计算平台恶意篡改物联网数据或者在。

14、检索数据时返回不可信的结果。0004故如何保证物联网数据的机密性、可搜索性和灵活的访问控制是目前亟待解决的技术问题。发明内容0005本发明的技术任务是提供一种区块链协助搜索的物联网数据共享方法,来解决如何保证物联网数据的机密性、可搜索性和灵活的访问控制的问题。0006本发明的技术任务是按以下方式实现的,一种区块链协助搜索的物联网数据共享方法,该方法具体如下:S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公。

15、开公共参数、属性管理公钥、数据所有者和数据使用者公钥;S2、物联网数据上传:数据所有者根据预定义的数据访问结构将物联网数据加密生成物联网数据密文并从物联网数据中抽取一组能够描述对应数据的关键字生成数据索引;数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链;S 3、物 联 网 数 据 检 索:数 据 使 用 者 根 据 自 己 感 兴 趣 的 关 键 字 集 合说明书1/12 页7CN 117494221 A7生成搜索陷门并将搜索陷门发送到区块链,区块链智能合约根据数据索引和搜索陷门执行搜索操作;当搜索成功时,返回物联网数据密文的云上存储地址;S4、物联网数据解密:各个属性管理。

16、机构根据数据使用者的属性集合为数据使用者生成属性解密密钥,云计算中心根据数据使用者的属性解密密钥为数据使用者提供预解密操作生成中间密文,数据使用者利用自己的私钥解密中间密文最终获得数据使用者感兴趣的物联网数据。0007作为优选,步骤S1中的可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作具体如下:S101、可信权威机构执行初始化操作:定义两个阶数为素数 的乘法循环群,并定义一个整数群;再选择双线性映射 和三个哈希函数;可信权威机构从群中选择一个随机数 并将公共参数组织为:;其中,是乘法循环群的生成元;代指双线性映射;是根据随机数计算的一个公共参数的元素;表示一个将关键字映射为群。

17、元素的哈希函数;表示一个将身份标识符映射为群元素的哈希函数;表示一个将属性映射为群元素的哈希函数;步骤S101是系统初始化算法,由可信权威机构执行;初始化算法的输入是:系统安全参数;输出是:公共参数。0008S1 02、各个属性 管理机 构分别从群中选择 两个随 机数,作 为 属 性 管 理 私 钥,并 计 算 属 性 管 理 公 钥;其中,是两个随机数,用于构成属性管理私钥,属性管理公钥根据属性管理私钥和群的生成元计算得来;步骤S102是属性管理机构的初始化算法,由属性管理机构执行。这个算法的输入是:公共参数;输出是:属性管理机构的属性管理公钥和属性管理私钥。属性管理公钥向其他实体公开。很明。

18、显,设有多个属性管理机构存在,多个属性管理机构分别负责产生不同属性的属性解密密钥。0009S103、数据所有者和数据使用者分别从群中选择随机数,分别作为数据所有者和数据使用者的私钥,并分别计算数据所有者和数据使用者的公钥;其中,数据所有者和数据使用者各自的公钥是根据私钥和群的生成元计算;表示数据所有者的私钥;表示数据使用者的私钥;表示数据所有者的公说明书2/12 页8CN 117494221 A8钥;表示数据使用者的公钥。0010步骤S103是数据所有者和数据使用者的初始化算法,由数据所有者和数据使用者分别执行。这个算法的输入是:公共参数;输出是:数据所有者的公私钥或者数据使用者公私钥。001。

19、1更优地,步骤S101中选定的乘法循环群和双线性映射满足以下三个条件:双线性:对于任意的群元素:,有和或;非退化性:设是的生成元,有;可计算性:对于任意的群元素:,存在有效的方法计算一个双线性映射。0012作为优选,步骤S2中的数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链具体如下:S201、数据所有者将物联网数据 加密,具体为:数据所有者定义一个数据访问结构并从群中选择一组随机数;其中,表示一个 行 列的矩阵;表示一个将矩阵的行映射到属性的函数;数据所有者构造两个向量并计算,;其中,表示矩阵的一行;表示 的第 个秘密分片,表示0的第 个秘密分片;数据所有者从群中选择一个随。

20、机数并计算物联网数据密文的各个组件如下:;根据物联网数据密文的各个组件、和,数据所有者将物联网数据密文组织为:;步骤S201是物联网数据加密算法,由数据所有者执行。这个算法的输入是:公共参数、一组属性管理机构的属性管理公钥、一个数据访问结构,物联网数据;输出是:物联网数据密文。0013S202、数据所有者从物联网数据中抽取一组关键字,再加说明书3/12 页9CN 117494221 A9密该组关键字生成数据索引;数据所有者从群中选择两个随机数 及并计算数据索引的各个组件如下:;根据数据索引的各个组件、和,数据所有者将物联网数据索引组织为:;其中,表示关键字集合;表示关键字;表示关键字集合中关键。

21、字的个数;步骤S202是数据索引生成算法,由数据拥有者执行。这个算法的输入是:公共参数、数据所有者的公钥、和一组数据所有者抽取的关键字,抽取指的是根据数据特点制定一组能够描述该特点的关键字;输出是:数据索引。这个算法是一个多关键字数据索引生成算法,支持将多个关键字生成数据索引,能够更加准确描述物联网数据特点。0014S203、数据所有者将物联网数据密文上传到云计算中心,上传的形式为:;物联网数据索引上传到区块链,上传的形式为:;云计算中心将物联网数据密文的存储地址上传到区块链,上传的形式为:;其中,是一个抗碰撞的哈希函数,如SHA256。0015作为优选,步骤S3中的物联网数据检索具体如下:S。

22、301、数据使用者根据自身感兴趣的关键字集合并从群中选择一个随机数 计算搜索陷门的各个组件如下:;根据搜索陷门的各个组件、和,数据使用者将搜索陷门组织为:;其中,表示数据使用者感兴趣的关键字集合;表示关键字;表示数据使用者感兴趣的关键字集合中关键字的个数;步骤S301是搜索陷门生成算法,由数据使用者执行。这个算法的输入是:公共参数、数据使用者感兴趣的关键字集合、数据使用者的私钥;输出是:搜索陷门。0016S302、数据使用者将搜索陷门上传到区块链上,部署在区块链上的智能合约验证数据索引和搜索陷门是否匹配,验证公式如下:说明书4/12 页10CN 117494221 A10;若成立,则表明数据索。

23、引和搜索陷门匹配成功,区块链将物联网数据密文的云上存储地址返回给数据使用者;其中,验证数据索引和搜索陷门是否匹配的过程在区块链上利用智能合约执行。0017步骤S302是搜索算法,由智能合约实现部署到区块链上。这个算法的输入是:搜索陷门和数据索引;输出是:搜索结果。如果搜索成功区块链返回物联网密文数据的云上存储地址,搜索失败就返回搜索失败的提示。这个算法由区块链上的智能合约执行,数据使用者调用这个智能合约来进行搜索。0018作为优选,步骤S4中的云计算中心执行预解密和数据使用者解密中间密文具体如下:S401、各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥;对于数据使用者的属。

24、性集合中的一个属性,属性管理机构从群中选择一个随机数 并结合数据使用者的公钥计算属性解密密钥的各个组件,具体如下:;根据属性解密密钥的各个组件和,属性管理机构将数据使用者的属性解密密钥组织为:;其中,是由任一个属性管理机构具体管理的属性集合,任一个属性管理机构具体管理的属性集合和数据使用者的属性集合的关系是:;步骤S401是属性解密密钥生成算法,由属性管理机构执行。这个算法的输入是:公共参数,数据使用者的属性集合,数据使用者的公钥,属性管理机构的属性管理私钥;输出是:属性解密密钥。0019S402、云计算中心利用数据使用者的属性解密密钥为数据使用者提供物联网数据密 文 预 解 密 操 作;云 。

25、计 算 中 心 定 义 满 足 数 据 访 问 结 构的 属 性 集 合 为,对于集合 中的每个元素,云计算中心计算一组中间变量、及,公式如下:;说明书5/12 页11CN 117494221 A11;云计算中心根据中间变量、及计算中间密文变量,公式如下:;云 计 算 中 心 计 算 一组 常 数,使 得 等 式和 等 式成立,即利用常数恢复出 和;结合常数,云计算中心执行如下的计算获取中间密文的组件:;根据中间密文的组件云计算中心将中间密文组织为:;其中,是物联网数据密文的一个组件;步骤S402是预解密算法,由云计算中心执行。这个算法的输入是:数据使用者的公钥,物联网数据密文,属性解密密钥;。

26、输出是:中间密文。0020S403、数据使用者解密中间密文:数据使用者利用数据使用者私钥执行如下计算解密中间密文获得物联网数据:。0021步骤S403是解密算法,由数据使用者执行。这个算法的输入是:中间密文和数据使用者的私钥;输出是:物联网数据。0022本发明的一种区块链协助搜索的物联网数据共享方法具有以下优点:(一)本发明通过设置多个属性管理机构,实现了分布式的属性解密密钥生成,既避免了单个属性管理机构面临的性能瓶颈问题又实现了灵活的数据访问控制;(二)本发明支持多关键字搜索,即数据使用者可以根据一组关键字生成搜索陷门,这样既能缩小搜索范围又能提高搜索精度;此外,搜索过程放在区块链上利用智能。

27、合约执行,提高了搜索结果的可信度;(三)本发明的数据使用者的属性解密密钥可以直接用于预解密操作,不需要单独计算一个预解密密钥,降低了数据使用者在解密物联网密文数据时的计算开销。说明书6/12 页12CN 117494221 A12附图说明0023下面结合附图对本发明进一步说明:附图1为实施例1的结构框图;附图2为一种区块链协助搜索的物联网数据共享方法的流程框图。具体实施方式0024参照说明书附图和具体实施例对本发明的一种区块链协助搜索的物联网数据共享方法作以下详细地说明。0025实施例1:0026如附图1所示,本实施例包括可信权威机构、数据所有者、数据使用者、云计算中心、区块链及一组属性管理机。

28、构,可信权威机构是一个完全可信的实体,用于执行初始化操作,生成公共参数,根据数据使用者的身份分配一组属性给数据使用者,并维护整个系统的运行;属性管理机构设置有一组,一组属性管理机构分别管理不同的属性集合,并根据各自管理的属性为数据使用者生成相应的属性解密密钥;数据所有者拥有的物联网数据包括涉及用户隐私的数据;数据所有者使用预定义的访问策略加密物联网数据;数据所有者还会从数据中抽取一组关键词生成数据索引;数据使用者拥有属性以及相应的属性解密密钥且数据使用者基于自身感兴趣的关键词生成搜索陷门;搜索陷门被提交给区块链,并且搜索过程由智能合约执行,若搜索过程成功,区块链返回物联网密文数据的存储地址;若。

29、搜索失败,区块链返回搜索失败信息,数据使用者通过属性解密密钥将解密计算外包给云计算中心;云计算中心拥有存储和计算资源,提供存储服务和预解密服务;一旦数据所有者将加密的物联网数据上传到云计算中心,物联网数据密文的存储地址将被记录在区块链上;区块链用于信息一致性的维护,并验证外包解密的结果;共识节点由属性管理机构组成;属性解密密钥生成的请求将在区块链上进行验证,并使用智能合约在区块链上进行多关键字搜索操作,一旦搜索完成,物联网数据的存储地址将返回给数据使用者;其中,共识节点是区块链中参与共识算法过程的实体。0027实施例2:0028如附图2所示,本实施例提供了一种区块链协助搜索的物联网数据共享方法。

30、,该方法具体如下:S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;S2、物联网数据上传:数据所有者根据预定义的数据访问结构将物联网数据加密生成物联网数据密文并从物联网数据中抽取一组能够描述对应数据的关键字说明书7/12 页13CN 117494221 A13生成数据索引;数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链;S 3、物 联。

31、 网 数 据 检 索:数 据 使 用 者 根 据 自 己 感 兴 趣 的 关 键 字 集 合生成搜索陷门并将搜索陷门发送到区块链,区块链智能合约根据数据索引和搜索陷门执行搜索操作;当搜索成功时,返回物联网数据密文的云上存储地址;S4、物联网数据解密:各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥,云计算中心根据数据使用者的属性解密密钥为数据使用者提供预解密操作生成中间密文,数据使用者利用自己的私钥解密中间密文最终获得数据使用者感兴趣的物联网数据。0029本实施例步骤S1中的可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作具体如下:S101、可信权威机构执行。

32、初始化操作:定义两个阶数为素数 的乘法循环群,并定义一个整数群;再选择双线性映射 和三个哈希函数;可信权威机构从群中选择一个随机数 并将公共参数组织为:;其中,是乘法循环群的生成元;代指双线性映射;是根据随机数 计算的一个公共参数的元素;表示一个将关键字映射为群元素的哈希函数;表示一个将身份标识符映射为群元素的哈希函数;表示一个将属性映射为群元素的哈希函数;步骤S101是系统初始化算法,由可信权威机构执行;初始化算法的输入是:系统安全参数;输出是:公共参数。0030S1 02、各个属性 管理机 构分别从群中选择 两个随 机数,作 为 属 性 管 理 私 钥,并 计 算 属 性 管 理 公 钥;。

33、其中,是两个随机数,用于构成属性管理私钥,属性管理公钥根据属性管理私钥和群的生成元计算得来;步骤S102是属性管理机构的初始化算法,由属性管理机构执行。这个算法的输入是:公共参数;输出是:属性管理机构的属性管理公钥和属性管理私钥。属性管理公钥向其他实体公开。很明显,设有多个属性管理机构存在,多个属性管理机构分别负责产生不同属性的属性解密密钥。0031S103、数据所有者和数据使用者分别从群中选择随机数,分别作为数据所有者和数据使用者的私钥,并分别计算数据所有者和数据使用者的公钥;说明书8/12 页14CN 117494221 A14其中,数据所有者和数据使用者各自的公钥是根据私钥和群的生成元计。

34、算;表示数据所有者的私钥;表示数据使用者的私钥;表示数据所有者的公钥;表示数据使用者的公钥。0032步骤S103是数据所有者和数据使用者的初始化算法,由数据所有者和数据使用者分别执行。这个算法的输入是:公共参数;输出是:数据所有者的公私钥或者数据使用者公私钥。0033本实施例步骤S101中选定的乘法循环群和双线性映射满足以下三个条件:双线性:对于任意的群元素:,有和或;非退化性:设是的生成元,有;可计算性:对于任意的群元素:,存在有效的方法计算一个双线性映射。0034本实施例步骤S2中的数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链具体如下:S201、数据所有者将物联网数据。

35、 加密,具体为:数据所有者定义一个数据访问结构并从群中选择一组随机数;其中,表示一个 行 列的矩阵;表示一个将矩阵的行映射到属性的函数;数据所有者构造两个向量并计算,;其中,表示矩阵的一行;表示 的第 个秘密分片,表示0的第 个秘密分片;数据所有者从群中选择一个随机数并计算物联网数据密文的各个组件如下:;根据物联网数据密文的各个组件、和,数据所有者将物联网数据密文组织为:;步骤S201是物联网数据加密算法,由数据所有者执行。这个算法的输入是:公共参数、一组属性管理机构的属性管理公钥、一个数据访问结构,物联网数据;输出是:物联网数说明书9/12 页15CN 117494221 A15据密文。00。

36、35S202、数据所有者从物联网数据中抽取一组关键字,再加密该组关键字生成数据索引;数据所有者从群中选择两个随机数 及并计算数据索引的各个组件如下:;根据数据索引的各个组件、和,数据所有者将物联网数据索引组织为:;其中,表示关键字集合;表示关键字;表示关键字集合中关键字的个数;步骤S202是数据索引生成算法,由数据拥有者执行。这个算法的输入是:公共参数、数据所有者的公钥、和一组数据所有者抽取的关键字,抽取指的是根据数据特点制定一组能够描述该特点的关键字;输出是:数据索引。这个算法是一个多关键字数据索引生成算法,支持将多个关键字生成数据索引,能够更加准确描述物联网数据特点。0036S203、数据。

37、所有者将物联网数据密文上传到云计算中心,上传的形式为:;物联网数据索引上传到区块链,上传的形式为:;云计算中心将物联网数据密文的存储地址上传到区块链,上传的形式为:;其中,是一个抗碰撞的哈希函数,如SHA256。0037本实施例步骤S3中的物联网数据检索具体如下:S301、数据使用者根据自身感兴趣的关键字集合并从群中选择一个随机数 计算搜索陷门的各个组件如下:;根据搜索陷门的各个组件、和,数据使用者将搜索陷门组织为:;其中,表示数据使用者感兴趣的关键字集合;表示关键字;表示数据使用者感兴趣的关键字集合中关键字的个数;步骤S301是搜索陷门生成算法,由数据使用者执行。这个算法的输入是:公共参说明。

38、书10/12 页16CN 117494221 A16数、数据使用者感兴趣的关键字集合、数据使用者的私钥;输出是:搜索陷门。0038S302、数据使用者将搜索陷门上传到区块链上,部署在区块链上的智能合约验证数据索引和搜索陷门是否匹配,验证公式如下:;若成立,则表明数据索引和搜索陷门匹配成功,区块链将物联网数据密文的云上存储地址返回给数据使用者;其中,验证数据索引和搜索陷门是否匹配的过程在区块链上利用智能合约执行。0039步骤S302是搜索算法,由智能合约实现部署到区块链上。这个算法的输入是:搜索陷门和数据索引;输出是:搜索结果。如果搜索成功区块链返回物联网密文数据的云上存储地址,搜索失败就返回搜。

39、索失败的提示。这个算法由区块链上的智能合约执行,数据使用者调用这个智能合约来进行搜索。0040本实施例步骤S4中的云计算中心执行预解密和数据使用者解密中间密文具体如下:S401、各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥;对于数据使用者的属性集合中的一个属性,属性管理机构从群中选择一个随机数 并结合数据使用者的公钥计算属性解密密钥的各个组件,具体如下:;根据属性解密密钥的各个组件和,属性管理机构将数据使用者的属性解密密钥组织为:;其中,是由任一个属性管理机构具体管理的属性集合,任一个属性管理机构具体管理的属性集合和数据使用者的属性集合的关系是:;步骤S401是属性解密。

40、密钥生成算法,由属性管理机构执行。这个算法的输入是:公共参数,数据使用者的属性集合,数据使用者的公钥,属性管理机构的属性管理私钥;输出是:属性解密密钥。0041S402、云计算中心利用数据使用者的属性解密密钥为数据使用者提供物联网数据密 文 预 解 密 操 作;云 计 算 中 心 定 义 满 足 数 据 访 问 结 构的 属 性 集 合 为,对于集合 中的每个元素,云计算中心计算一组中间变量、及,公式如下:;说明书11/12 页17CN 117494221 A17;云计算中心根据中间变量、及计算中间密文变量,公式如下:;云 计 算 中 心 计 算 一组 常 数,使 得 等 式和 等 式成立,即。

41、利用常数恢复出 和;结合常数,云计算中心执行如下的计算获取中间密文的组件:;根据中间密文的组件云计算中心将中间密文组织为:;其中,是物联网数据密文的一个组件;步骤S402是预解密算法,由云计算中心执行。这个算法的输入是:数据使用者的公钥,物联网数据密文,属性解密密钥;输出是:中间密文。0042S403、数据使用者解密中间密文:数据使用者利用数据使用者私钥执行如下计算解密中间密文获得物联网数据:。0043步骤S403是解密算法,由数据使用者执行。这个算法的输入是:中间密文和数据使用者的私钥;输出是:物联网数据。0044最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。说明书12/12 页18CN 117494221 A18图 1说明书附图1/2 页19CN 117494221 A19图 2说明书附图2/2 页20CN 117494221 A20。

展开阅读全文
内容关键字: 区块 协助 搜索 联网 数据 共享 方法
关于本文
本文标题:区块链协助搜索的物联网数据共享方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/14526517.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1