CN117494221B - 一种区块链协助搜索的物联网数据共享方法 - Google Patents
一种区块链协助搜索的物联网数据共享方法 Download PDFInfo
- Publication number
- CN117494221B CN117494221B CN202410004222.4A CN202410004222A CN117494221B CN 117494221 B CN117494221 B CN 117494221B CN 202410004222 A CN202410004222 A CN 202410004222A CN 117494221 B CN117494221 B CN 117494221B
- Authority
- CN
- China
- Prior art keywords
- data
- internet
- things
- attribute
- user
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000007246 mechanism Effects 0.000 claims abstract description 36
- 238000013507 mapping Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种区块链协助搜索的物联网数据共享方法,属于信息安全技术领域,本发明要解决的技术问题为如何保证物联网数据的机密性、可搜索性和灵活的访问控制,采用的技术方案为:S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;S2、物联网数据上传;S3、物联网数据检索;S4、物联网数据解密。
Description
技术领域
本发明涉及信息安全技术领域,具体地说是一种区块链协助搜索的物联网数据共享方法。
背景技术
随着物联网技术的发展和普及,越来越多具有联网和计算能力的物联网设备被部署在医疗、交通、智慧城市等场景。这些物联网设备每时每刻都在产生数据。由于物联网设备的存储和计算等资源通常是有限的,海量的物联网数据很难在物联网设备本地得到很好的存储和处理。常用的方式就是将海量物联网数据存储到云计算中心,云计算中心通常具有充足的存储和强大的计算资源。为了确保用户隐私数据不被泄露,物联网数据会被加密之后再存储到云计算中心,目前基本完全依赖密码学技术解决数据安全与隐私保护的问题。
当前很多基于属性的密码学方案由于只有一个属性管理机构,所以面临着性能瓶颈问题并且容易出现单点故障。此外,由于云计算中心通常会向多个用户提供计算和存储服务,所以在海量数据中检索所需数据面临着低效和不精确的问题。多数云计算中心通常是不完全可信的平台,这可能会驱使云计算平台恶意篡改物联网数据或者在检索数据时返回不可信的结果。
故如何保证物联网数据的机密性、可搜索性和灵活的访问控制是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种区块链协助搜索的物联网数据共享方法,来解决如何保证物联网数据的机密性、可搜索性和灵活的访问控制的问题。
本发明的技术任务是按以下方式实现的,一种区块链协助搜索的物联网数据共享方法,该方法具体如下:
S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;
S2、物联网数据上传:数据所有者根据预定义的数据访问结构将物联网数据加密生成物联网数据密文并从物联网数据中抽取一组能够描述对应数据的关键字生成数据索引;数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链;
S3、物联网数据检索:数据使用者根据自己感兴趣的关键字集合生成搜索陷门并将搜索陷门发送到区块链,区块链智能合约根据数据索引和搜索陷门执行搜索操作;当搜索成功时,返回物联网数据密文的云上存储地址;
S4、物联网数据解密:各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥,云计算中心根据数据使用者的属性解密密钥为数据使用者提供预解密操作生成中间密文,数据使用者利用自己的私钥解密中间密文最终获得数据使用者感兴趣的物联网数据。
作为优选,步骤S1中的可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作具体如下:
S101、可信权威机构执行初始化操作:定义两个阶数为素数的乘法循环群,并定义一个整数群;再选择双线性映射 和三个哈希函数;可信权威机构从群中选择一个随机数并将公共参数组织为:;
其中,是乘法循环群的生成元;代指双线性映射;是根据随机数计算的一个公共参数的元素;表示一个将关键字映射为群元素的哈希函数;表示一个将身份标识符映射为群元素的哈希函数;表示一个将属性映射为群元素的哈希函数;
步骤S101是系统初始化算法,由可信权威机构执行;初始化算法的输入是:系统安全参数;输出是:公共参数。
S102、各个属性管理机构分别从群中选择两个随机数,作为属性管理私钥,并计算属性管理公钥;
其中,是两个随机数,用于构成属性管理私钥,属性管理公钥根据属性管理私钥和群的生成元计算得来;
步骤S102是属性管理机构的初始化算法,由属性管理机构执行。这个算法的输入是:公共参数;输出是:属性管理机构的属性管理公钥和属性管理私钥。属性管理公钥向其他实体公开。很明显,设有多个属性管理机构存在,多个属性管理机构分别负责产生不同属性的属性解密密钥。
S103、数据所有者和数据使用者分别从群中选择随机数,分别作为数据所有者和数据使用者的私钥,并分别计算数据所有者和数据使用者的公钥;
其中,数据所有者和数据使用者各自的公钥是根据私钥和群的生成元计算;表示数据所有者的私钥;表示数据使用者的私钥;表示数据所有者的公钥;表示数据使用者的公钥。
步骤S103是数据所有者和数据使用者的初始化算法,由数据所有者和数据使用者分别执行。这个算法的输入是:公共参数;输出是:数据所有者的公私钥或者数据使用者公私钥。
更优地,步骤S101中选定的乘法循环群和双线性映射满足以下三个条件:
①双线性:对于任意的群元素:,,有和或;
②非退化性:设是的生成元,有;
③可计算性:对于任意的群元素:,存在有效的方法计算一个双线性映射。
作为优选,步骤S2中的数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链具体如下:
S201、数据所有者将物联网数据加密,具体为:
数据所有者定义一个数据访问结构并从群中选择一组随机数;其中,表示一个行列的矩阵;表示一个将矩阵的行映射到属性的函数;
数据所有者构造两个向量并计算,;其中,表示矩阵的一行;表示的第个秘密分片,表示0的第个秘密分片;
数据所有者从群中选择一个随机数并计算物联网数据密文的各个组件如下:
;
;
;
;
;
根据物联网数据密文的各个组件、、、和,数据所有者将物联网数据密文组织为:;
步骤S201是物联网数据加密算法,由数据所有者执行。这个算法的输入是:公共参数、一组属性管理机构的属性管理公钥、一个数据访问结构,物联网数据;输出是:物联网数据密文。
S202、数据所有者从物联网数据中抽取一组关键字,再加密该组关键字生成数据索引;数据所有者从群中选择两个随机数及并计算数据索引的各个组件如下:
;
;
;
;
根据数据索引的各个组件、、和,数据所有者将物联网数据索引组织为:;
其中,表示关键字集合;表示关键字;表示关键字集合中关键字的个数;
步骤S202是数据索引生成算法,由数据拥有者执行。这个算法的输入是:公共参数、数据所有者的公钥、和一组数据所有者抽取的关键字,抽取指的是根据数据特点制定一组能够描述该特点的关键字;输出是:数据索引。这个算法是一个多关键字数据索引生成算法,支持将多个关键字生成数据索引,能够更加准确描述物联网数据特点。
S203、数据所有者将物联网数据密文上传到云计算中心,上传的形式为:;物联网数据索引上传到区块链,上传的形式为:;云计算中心将物联网数据密文的存储地址上传到区块链,上传的形式为:;其中,是一个抗碰撞的哈希函数,如SHA-256。
作为优选,步骤S3中的物联网数据检索具体如下:
S301、数据使用者根据自身感兴趣的关键字集合并从群中选择一个随机数计算搜索陷门的各个组件如下:
;
;
;
根据搜索陷门的各个组件、和,数据使用者将搜索陷门组织为:;
其中,表示数据使用者感兴趣的关键字集合;表示关键字;表示数据使用者感兴趣的关键字集合中关键字的个数;
步骤S301是搜索陷门生成算法,由数据使用者执行。这个算法的输入是:公共参数、数据使用者感兴趣的关键字集合、数据使用者的私钥;输出是:搜索陷门。
S302、数据使用者将搜索陷门上传到区块链上,部署在区块链上的智能合约验证数据索引和搜索陷门是否匹配,验证公式如下:
;
若成立,则表明数据索引和搜索陷门匹配成功,区块链将物联网数据密文的云上存储地址返回给数据使用者;
其中,验证数据索引和搜索陷门是否匹配的过程在区块链上利用智能合约执行。
步骤S302是搜索算法,由智能合约实现部署到区块链上。这个算法的输入是:搜索陷门和数据索引;输出是:搜索结果。如果搜索成功区块链返回物联网密文数据的云上存储地址,搜索失败就返回搜索失败的提示。这个算法由区块链上的智能合约执行,数据使用者调用这个智能合约来进行搜索。
作为优选,步骤S4中的云计算中心执行预解密和数据使用者解密中间密文具体如下:
S401、各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥;对于数据使用者的属性集合中的一个属性,属性管理机构从群中选择一个随机数并结合数据使用者的公钥计算属性解密密钥的各个组件,具体如下:
;
;
根据属性解密密钥的各个组件和,属性管理机构将数据使用者的属性解密密钥组织为:;
其中,是由任一个属性管理机构具体管理的属性集合,任一个属性管理机构具体管理的属性集合和数据使用者的属性集合的关系是:;
步骤S401是属性解密密钥生成算法,由属性管理机构执行。这个算法的输入是:公共参数,数据使用者的属性集合,数据使用者的公钥,属性管理机构的属性管理私钥;输出是:属性解密密钥。
S402、云计算中心利用数据使用者的属性解密密钥为数据使用者提供物联网数据密文预解密操作;云计算中心定义满足数据访问结构的属性集合为,对于集合中的每个元素,云计算中心计算一组中间变量、、及,公式如下:
;
;
;
;
云计算中心根据中间变量、、及计算中间密文变量,公式如下:
;
云计算中心计算一组常数,使得等式和等式成立,即利用常数恢复出和;
结合常数,云计算中心执行如下的计算获取中间密文的组件:
;
根据中间密文的组件云计算中心将中间密文组织为:;其中,是物联网数据密文的一个组件;
步骤S402是预解密算法,由云计算中心执行。这个算法的输入是:数据使用者的公钥,物联网数据密文,属性解密密钥;输出是:中间密文。
S403、数据使用者解密中间密文:数据使用者利用数据使用者私钥执行如下计算解密中间密文获得物联网数据:
。
步骤S403是解密算法,由数据使用者执行。这个算法的输入是:中间密文和数据使用者的私钥;输出是:物联网数据。
本发明的一种区块链协助搜索的物联网数据共享方法具有以下优点:
(一)本发明通过设置多个属性管理机构,实现了分布式的属性解密密钥生成,既避免了单个属性管理机构面临的性能瓶颈问题又实现了灵活的数据访问控制;
(二)本发明支持多关键字搜索,即数据使用者可以根据一组关键字生成搜索陷门,这样既能缩小搜索范围又能提高搜索精度;此外,搜索过程放在区块链上利用智能合约执行,提高了搜索结果的可信度;
(三)本发明的数据使用者的属性解密密钥可以直接用于预解密操作,不需要单独计算一个预解密密钥,降低了数据使用者在解密物联网密文数据时的计算开销。
附图说明
下面结合附图对本发明进一步说明:
附图1为实施例1的结构框图;
附图2为一种区块链协助搜索的物联网数据共享方法的流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种区块链协助搜索的物联网数据共享方法作以下详细地说明。
实施例1:
如附图1所示,本实施例包括可信权威机构、数据所有者、数据使用者、云计算中心、区块链及一组属性管理机构,可信权威机构是一个完全可信的实体,用于执行初始化操作,生成公共参数,根据数据使用者的身份分配一组属性给数据使用者,并维护整个系统的运行;
属性管理机构设置有一组,一组属性管理机构分别管理不同的属性集合,并根据各自管理的属性为数据使用者生成相应的属性解密密钥;
数据所有者拥有的物联网数据包括涉及用户隐私的数据;数据所有者使用预定义的访问策略加密物联网数据;数据所有者还会从数据中抽取一组关键词生成数据索引;
数据使用者拥有属性以及相应的属性解密密钥且数据使用者基于自身感兴趣的关键词生成搜索陷门;搜索陷门被提交给区块链,并且搜索过程由智能合约执行,若搜索过程成功,区块链返回物联网密文数据的存储地址;若搜索失败,区块链返回搜索失败信息,数据使用者通过属性解密密钥将解密计算外包给云计算中心;
云计算中心拥有存储和计算资源,提供存储服务和预解密服务;一旦数据所有者将加密的物联网数据上传到云计算中心,物联网数据密文的存储地址将被记录在区块链上;
区块链用于信息一致性的维护,并验证外包解密的结果;共识节点由属性管理机构组成;属性解密密钥生成的请求将在区块链上进行验证,并使用智能合约在区块链上进行多关键字搜索操作,一旦搜索完成,物联网数据的存储地址将返回给数据使用者;其中,共识节点是区块链中参与共识算法过程的实体。
实施例2:
如附图2所示,本实施例提供了一种区块链协助搜索的物联网数据共享方法,该方法具体如下:
S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;
S2、物联网数据上传:数据所有者根据预定义的数据访问结构将物联网数据加密生成物联网数据密文并从物联网数据中抽取一组能够描述对应数据的关键字生成数据索引;数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链;
S3、物联网数据检索:数据使用者根据自己感兴趣的关键字集合生成搜索陷门并将搜索陷门发送到区块链,区块链智能合约根据数据索引和搜索陷门执行搜索操作;当搜索成功时,返回物联网数据密文的云上存储地址;
S4、物联网数据解密:各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥,云计算中心根据数据使用者的属性解密密钥为数据使用者提供预解密操作生成中间密文,数据使用者利用自己的私钥解密中间密文最终获得数据使用者感兴趣的物联网数据。
本实施例步骤S1中的可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作具体如下:
S101、可信权威机构执行初始化操作:定义两个阶数为素数的乘法循环群,并定义一个整数群;再选择双线性映射 和三个哈希函数;可信权威机构从群中选择一个随机数并将公共参数组织为:;
其中,是乘法循环群的生成元;代指双线性映射;是根据随机数计算的一个公共参数的元素;表示一个将关键字映射为群元素的哈希函数;表示一个将身份标识符映射为群元素的哈希函数;表示一个将属性映射为群元素的哈希函数;
步骤S101是系统初始化算法,由可信权威机构执行;初始化算法的输入是:系统安全参数;输出是:公共参数。
S102、各个属性管理机构分别从群中选择两个随机数,作为属性管理私钥,并计算属性管理公钥;
其中,是两个随机数,用于构成属性管理私钥,属性管理公钥根据属性管理私钥和群的生成元计算得来;
步骤S102是属性管理机构的初始化算法,由属性管理机构执行。这个算法的输入是:公共参数;输出是:属性管理机构的属性管理公钥和属性管理私钥。属性管理公钥向其他实体公开。很明显,设有多个属性管理机构存在,多个属性管理机构分别负责产生不同属性的属性解密密钥。
S103、数据所有者和数据使用者分别从群中选择随机数,分别作为数据所有者和数据使用者的私钥,并分别计算数据所有者和数据使用者的公钥;
其中,数据所有者和数据使用者各自的公钥是根据私钥和群的生成元计算;表示数据所有者的私钥;表示数据使用者的私钥;表示数据所有者的公钥;表示数据使用者的公钥。
步骤S103是数据所有者和数据使用者的初始化算法,由数据所有者和数据使用者分别执行。这个算法的输入是:公共参数;输出是:数据所有者的公私钥或者数据使用者公私钥。
本实施例步骤S101中选定的乘法循环群和双线性映射满足以下三个条件:
①双线性:对于任意的群元素:,,有和或;
②非退化性:设是的生成元,有;
③可计算性:对于任意的群元素:,存在有效的方法计算一个双线性映射。
本实施例步骤S2中的数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链具体如下:
S201、数据所有者将物联网数据加密,具体为:
数据所有者定义一个数据访问结构并从群中选择一组随机数;其中,表示一个行列的矩阵;表示一个将矩阵的行映射到属性的函数;
数据所有者构造两个向量并计算,;其中,表示矩阵的一行;表示的第个秘密分片,表示0的第个秘密分片;
数据所有者从群中选择一个随机数并计算物联网数据密文的各个组件如下:
;
;
;
;
;
根据物联网数据密文的各个组件、、、和,数据所有者将物联网数据密文组织为:;
步骤S201是物联网数据加密算法,由数据所有者执行。这个算法的输入是:公共参数、一组属性管理机构的属性管理公钥、一个数据访问结构,物联网数据;输出是:物联网数据密文。
S202、数据所有者从物联网数据中抽取一组关键字,再加密该组关键字生成数据索引;数据所有者从群中选择两个随机数及并计算数据索引的各个组件如下:
;
;
;
;
根据数据索引的各个组件、、和,数据所有者将物联网数据索引组织为:;
其中,表示关键字集合;表示关键字;表示关键字集合中关键字的个数;
步骤S202是数据索引生成算法,由数据拥有者执行。这个算法的输入是:公共参数、数据所有者的公钥、和一组数据所有者抽取的关键字,抽取指的是根据数据特点制定一组能够描述该特点的关键字;输出是:数据索引。这个算法是一个多关键字数据索引生成算法,支持将多个关键字生成数据索引,能够更加准确描述物联网数据特点。
S203、数据所有者将物联网数据密文上传到云计算中心,上传的形式为:;物联网数据索引上传到区块链,上传的形式为:;云计算中心将物联网数据密文的存储地址上传到区块链,上传的形式为:;其中,是一个抗碰撞的哈希函数,如SHA-256。
本实施例步骤S3中的物联网数据检索具体如下:
S301、数据使用者根据自身感兴趣的关键字集合并从群中选择一个随机数计算搜索陷门的各个组件如下:
;
;
;
根据搜索陷门的各个组件、和,数据使用者将搜索陷门组织为:;
其中,表示数据使用者感兴趣的关键字集合;表示关键字;表示数据使用者感兴趣的关键字集合中关键字的个数;
步骤S301是搜索陷门生成算法,由数据使用者执行。这个算法的输入是:公共参数、数据使用者感兴趣的关键字集合、数据使用者的私钥;输出是:搜索陷门。
S302、数据使用者将搜索陷门上传到区块链上,部署在区块链上的智能合约验证数据索引和搜索陷门是否匹配,验证公式如下:
;
若成立,则表明数据索引和搜索陷门匹配成功,区块链将物联网数据密文的云上存储地址返回给数据使用者;
其中,验证数据索引和搜索陷门是否匹配的过程在区块链上利用智能合约执行。
步骤S302是搜索算法,由智能合约实现部署到区块链上。这个算法的输入是:搜索陷门和数据索引;输出是:搜索结果。如果搜索成功区块链返回物联网密文数据的云上存储地址,搜索失败就返回搜索失败的提示。这个算法由区块链上的智能合约执行,数据使用者调用这个智能合约来进行搜索。
本实施例步骤S4中的云计算中心执行预解密和数据使用者解密中间密文具体如下:
S401、各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥;对于数据使用者的属性集合中的一个属性,属性管理机构从群中选择一个随机数并结合数据使用者的公钥计算属性解密密钥的各个组件,具体如下:
;
;
根据属性解密密钥的各个组件和,属性管理机构将数据使用者的属性解密密钥组织为:;
其中,是由任一个属性管理机构具体管理的属性集合,任一个属性管理机构具体管理的属性集合和数据使用者的属性集合的关系是:;
步骤S401是属性解密密钥生成算法,由属性管理机构执行。这个算法的输入是:公共参数,数据使用者的属性集合,数据使用者的公钥,属性管理机构的属性管理私钥;输出是:属性解密密钥。
S402、云计算中心利用数据使用者的属性解密密钥为数据使用者提供物联网数据密文预解密操作;云计算中心定义满足数据访问结构的属性集合为,对于集合中的每个元素,云计算中心计算一组中间变量、、及,公式如下:
;
;
;
;
云计算中心根据中间变量、、及计算中间密文变量,公式如下:
;
云计算中心计算一组常数,使得等式和等式成立,即利用常数恢复出和;
结合常数,云计算中心执行如下的计算获取中间密文的组件:
;
根据中间密文的组件云计算中心将中间密文组织为:;其中,是物联网数据密文的一个组件;
步骤S402是预解密算法,由云计算中心执行。这个算法的输入是:数据使用者的公钥,物联网数据密文,属性解密密钥;输出是:中间密文。
S403、数据使用者解密中间密文:数据使用者利用数据使用者私钥执行如下计算解密中间密文获得物联网数据:
。
步骤S403是解密算法,由数据使用者执行。这个算法的输入是:中间密文和数据使用者的私钥;输出是:物联网数据。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (2)
1.一种区块链协助搜索的物联网数据共享方法,其特征在于,该方法具体如下:
S1、可信权威机构、属性管理机构、数据所有者和数据使用者进行初始化操作:可信权威机构生成公共参数,各个属性管理机构生成各自的属性管理公钥和属性管理私钥,数据所有者和数据使用者生成各自的公钥和私钥,并向区块链协助搜索的物联网数据共享系统成员公开公共参数、属性管理公钥、数据所有者和数据使用者公钥;具体如下:
S101、可信权威机构执行初始化操作:定义两个阶数为素数的乘法循环群,并定义一个整数群;再选择双线性映射 和三个哈希函数;可信权威机构从群中选择一个随机数并将公共参数组织为:;
其中,是乘法循环群的生成元;代指双线性映射;是根据随机数计算的一个公共参数的元素;表示一个将关键字映射为群元素的哈希函数;表示一个将身份标识符映射为群元素的哈希函数;表示一个将属性映射为群元素的哈希函数;
其中,选定的乘法循环群和双线性映射满足以下三个条件:
①双线性:对于任意的群元素:,,有和或;
②非退化性:设是的生成元,有;
③可计算性:对于任意的群元素:,存在有效的方法计算一个双线性映射;
S102、各个属性管理机构分别从群中选择两个随机数,作为属性管理私钥,并计算属性管理公钥;
其中,是两个随机数,用于构成属性管理私钥,属性管理公钥根据属性管理私钥和群的生成元计算得来;
S103、数据所有者和数据使用者分别从群中选择随机数,分别作为数据所有者和数据使用者的私钥,并分别计算数据所有者和数据使用者的公钥;
其中,数据所有者和数据使用者各自的公钥是根据私钥和群的生成元计算;表示数据所有者的私钥;表示数据使用者的私钥;表示数据所有者的公钥;表示数据使用者的公钥;
S2、物联网数据上传:数据所有者根据预定义的数据访问结构将物联网数据加密生成物联网数据密文并从物联网数据中抽取一组能够描述对应数据的关键字生成数据索引;数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链;
S3、物联网数据检索:数据使用者根据自己感兴趣的关键字集合生成搜索陷门并将搜索陷门发送到区块链,区块链智能合约根据数据索引和搜索陷门执行搜索操作;当搜索成功时,返回物联网数据密文的云上存储地址;具体如下:
S301、数据使用者根据自身感兴趣的关键字集合并从群中选择一个随机数计算搜索陷门的各个组件如下:
;
;
;
根据搜索陷门的各个组件、和,数据使用者将搜索陷门组织为:;
其中,表示数据使用者感兴趣的关键字集合;表示关键字;表示数据使用者感兴趣的关键字集合中关键字的个数;
S302、数据使用者将搜索陷门上传到区块链上,部署在区块链上的智能合约验证数据索引和搜索陷门是否匹配,验证公式如下:
;
若成立,则表明数据索引和搜索陷门匹配成功,区块链将物联网数据密文的云上存储地址返回给数据使用者;
其中,验证数据索引和搜索陷门是否匹配的过程在区块链上利用智能合约执行;
S4、物联网数据解密:各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥,云计算中心根据数据使用者的属性解密密钥为数据使用者提供预解密操作生成中间密文,数据使用者利用自己的私钥解密中间密文最终获得数据使用者感兴趣的物联网数据;其中,云计算中心执行预解密和数据使用者解密中间密文具体如下:
S401、各个属性管理机构根据数据使用者的属性集合为数据使用者生成属性解密密钥;对于数据使用者的属性集合中的一个属性,属性管理机构从群中选择一个随机数并结合数据使用者的公钥计算属性解密密钥的各个组件,具体如下:
;
;
根据属性解密密钥的各个组件和,属性管理机构将数据使用者的属性解密密钥组织为:;
其中,是由任一个属性管理机构具体管理的属性集合,任一个属性管理机构具体管理的属性集合和数据使用者的属性集合的关系是:;
S402、云计算中心利用数据使用者的属性解密密钥为数据使用者提供物联网数据密文预解密操作;云计算中心定义满足数据访问结构的属性集合为,对于集合中的每个元素,云计算中心计算一组中间变量、、及,公式如下:
;
;
;
;
云计算中心根据中间变量、、及计算中间密文变量,公式如下:
;
云计算中心计算一组常数,使得等式和等式成立,即利用常数恢复出和;
结合常数,云计算中心执行如下的计算获取中间密文的组件:
;
根据中间密文的组件云计算中心将中间密文组织为:;其中,是物联网数据密文的一个组件;
S403、数据使用者解密中间密文:数据使用者利用数据使用者私钥 执行如下计算解密中间密文获得物联网数据:
。
2.根据权利要求1所述的区块链协助搜索的物联网数据共享方法,其特征在于,步骤S2中的数据所有者将物联网数据密文上传到云计算中心,将数据索引上传到区块链具体如下:
S201、数据所有者将物联网数据加密,具体为:
数据所有者定义一个数据访问结构并从群中选择一组随机数;其中,表示一个行列的矩阵;表示一个将矩阵的行映射到属性的函数;
数据所有者构造两个向量并计算,;其中,表示矩阵的一行;表示的第个秘密分片,表示0的第个秘密分片;
数据所有者从群中选择一个随机数并计算物联网数据密文的各个组件如下:
;
;
;
;
;
根据物联网数据密文的各个组件、、、和,数据所有者将物联网数据密文组织为:;
S202、数据所有者从物联网数据中抽取一组关键字,再加密该组关键字生成数据索引;数据所有者从群中选择两个随机数及并计算数据索引的各个组件如下:
;
;
;
;
根据数据索引的各个组件、、和,数据所有者将物联网数据索引组织为:;
其中,表示关键字集合;表示关键字;表示关键字集合中关键字的个数;
S203、数据所有者将物联网数据密文上传到云计算中心,上传的形式为:;物联网数据索引上传到区块链,上传的形式为:;云计算中心将物联网数据密文的存储地址上传到区块链,上传的形式为:;其中,是一个抗碰撞的哈希函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410004222.4A CN117494221B (zh) | 2024-01-03 | 2024-01-03 | 一种区块链协助搜索的物联网数据共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410004222.4A CN117494221B (zh) | 2024-01-03 | 2024-01-03 | 一种区块链协助搜索的物联网数据共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117494221A CN117494221A (zh) | 2024-02-02 |
CN117494221B true CN117494221B (zh) | 2024-04-02 |
Family
ID=89674783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410004222.4A Active CN117494221B (zh) | 2024-01-03 | 2024-01-03 | 一种区块链协助搜索的物联网数据共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117494221B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147652A (zh) * | 2017-05-18 | 2017-09-08 | 电子科技大学 | 一种基于区块链的用户多形态身份的安全融合认证方法 |
CN111431898A (zh) * | 2020-03-23 | 2020-07-17 | 齐鲁工业大学 | 用于云协助物联网的带搜索的多属性机构属性基加密方法 |
CN115694974A (zh) * | 2022-10-28 | 2023-02-03 | 贵州大学 | 一种基于协同可搜索的密文数据共享方法及系统 |
CN116611083A (zh) * | 2023-04-13 | 2023-08-18 | 南京邮电大学 | 一种医疗数据共享方法及系统 |
CN116827670A (zh) * | 2023-08-02 | 2023-09-29 | 西北工业大学 | 一种基于国密算法的智能医疗数据安全共享方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835500B (zh) * | 2020-07-08 | 2022-07-26 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
CN113014563B (zh) * | 2021-02-10 | 2022-03-25 | 华中科技大学 | 一种保障可搜索公钥加密检索完备性的方法及系统 |
-
2024
- 2024-01-03 CN CN202410004222.4A patent/CN117494221B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147652A (zh) * | 2017-05-18 | 2017-09-08 | 电子科技大学 | 一种基于区块链的用户多形态身份的安全融合认证方法 |
CN111431898A (zh) * | 2020-03-23 | 2020-07-17 | 齐鲁工业大学 | 用于云协助物联网的带搜索的多属性机构属性基加密方法 |
CN115694974A (zh) * | 2022-10-28 | 2023-02-03 | 贵州大学 | 一种基于协同可搜索的密文数据共享方法及系统 |
CN116611083A (zh) * | 2023-04-13 | 2023-08-18 | 南京邮电大学 | 一种医疗数据共享方法及系统 |
CN116827670A (zh) * | 2023-08-02 | 2023-09-29 | 西北工业大学 | 一种基于国密算法的智能医疗数据安全共享方法 |
Non-Patent Citations (2)
Title |
---|
基于细粒度授权的物联网搜索数据隐私保护方案;王佳慧;刘川意;方滨兴;;网络与信息安全学报;20170115(01);全文 * |
无配对公钥认证可搜索加密方案;杨宁滨;周权;许舒美;;计算机研究与发展;20201009(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117494221A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11973889B2 (en) | Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption | |
Tong et al. | Cloud-assisted mobile-access of health data with privacy and auditability | |
CN112365945B (zh) | 基于区块链的电子病历细粒度访问控制和密文可搜索方法 | |
US8995655B2 (en) | Method for creating asymmetrical cryptographic key pairs | |
Wang et al. | Ciphertext-policy attribute-based encryption supporting policy-hiding and cloud auditing in smart health | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
Liu et al. | Verifiable ranked search over dynamic encrypted data in cloud computing | |
CN115603934A (zh) | 基于区块链的多用户可搜索加密方法和装置 | |
Yang et al. | Publicly verifiable data transfer and deletion scheme for cloud storage | |
CN112543099B (zh) | 一种基于边缘计算的无证书可搜索加密方法 | |
Lai et al. | Secure medical data sharing scheme based on traceable ring signature and blockchain | |
WO2018070932A1 (en) | System and method for querying an encrypted database for documents satisfying an expressive keyword access structure | |
Sun et al. | Research on logistics information blockchain data query algorithm based on searchable encryption | |
Ma et al. | CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud | |
Miao et al. | VKSE-MO: Verifiable keyword search over encrypted data in multi-owner settings | |
Li et al. | Secure and temporary access delegation with equality test for cloud-assisted IoV | |
Chen et al. | Verifiable dynamic ranked search with forward privacy over encrypted cloud data | |
Gao et al. | Blockchain-enabled fine-grained searchable encryption with cloud–edge computing for electronic health records sharing | |
Niu et al. | Attribute-based keyword search encryption scheme with verifiable ciphertext via blockchains | |
Yagoub et al. | An adaptive and efficient fully homomorphic encryption technique | |
Chen et al. | Double rainbows: A promising distributed data sharing in augmented intelligence of things | |
Cao et al. | A Lightweight Fine‐Grained Search Scheme over Encrypted Data in Cloud‐Assisted Wireless Body Area Networks | |
CN117494221B (zh) | 一种区块链协助搜索的物联网数据共享方法 | |
Ding et al. | Secure Multi‐Keyword Search and Access Control over Electronic Health Records in Wireless Body Area Networks | |
Yao et al. | Online/offline attribute-based boolean keyword search for internet of things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |