CN118523911A - 一种基于物联网的航材数据共享方法及系统 - Google Patents

一种基于物联网的航材数据共享方法及系统 Download PDF

Info

Publication number
CN118523911A
CN118523911A CN202410977236.4A CN202410977236A CN118523911A CN 118523911 A CN118523911 A CN 118523911A CN 202410977236 A CN202410977236 A CN 202410977236A CN 118523911 A CN118523911 A CN 118523911A
Authority
CN
China
Prior art keywords
encryption
attribute
node
value
parameter
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.)
Pending
Application number
CN202410977236.4A
Other languages
English (en)
Inventor
孙宇平
司友春
王炯
张小龙
赵聪聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aviation Materials Liton Aviation Technology Co ltd
Original Assignee
China Aviation Materials Liton Aviation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Aviation Materials Liton Aviation Technology Co ltd filed Critical China Aviation Materials Liton Aviation Technology Co ltd
Priority to CN202410977236.4A priority Critical patent/CN118523911A/zh
Publication of CN118523911A publication Critical patent/CN118523911A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明属于数据共享技术领域,用于解决现有技术无法保证航空材料信息共享过程中的用户信任,以及数据真实性和安全性的问题,公开了一种基于物联网的航材数据共享方法及系统,本发明使用联盟链+可信机构,并结合密码学技术,来实现了各航空公司之间的信任共享关系的建立,以及数据共享过程的安全性和真实性的保障;基于此,只有经过联盟链认证后的用户,才能加入至数据共享过程,由此,能够为航材数据共享过程提供用户真实性、数据安全性及真实性的技术支撑,从而可以真实、客观、安全、共信作为基础,来构建出航材数据共享新生态,因此,非常适用于大规模应用与推广。

Description

一种基于物联网的航材数据共享方法及系统
技术领域
本发明属于数据共享技术领域,具体涉及一种基于物联网的航材数据共享方法及系统。
背景技术
航空材料是制造航空器、航空发动机和机载设备等所用各类材料的总称,其是研制生产航空产品的物质保障,也是使航空产品达到人们期望的性能、使用寿命与可靠性的技术基础;在实际应用过程中,航空材料的管理大多是采用各大航空公司自主建设航空材料储备库的管理模式,其中,国内航空领域参与方众多,且各航空公司均独立运营,航空市场覆盖面积大,航空器材品类众多,而采用当前的管理思路,则存在单一航空公司无法实现航空器材资源的全面覆盖的问题,因此,对航空材料共享生态的建设需求是十分迫切的。
目前,基于现有的数据平台、数据管理技术所建设的航空材料信息共享方法无法解决信息共享过程中的信任问题、数据真实性和安全性问题,其中,航空器材涉及到航空公司的资源保障以及严格的安全质量控制,任何航空器材的信息泄露都可能造成航空公司的经济损失,且数据失真可能会造成严重的安全事故,因此,信任关系以及数据真实性和安全性是建设航空材料信息共享生态的瓶颈;基于此,如何提供一种能够保障航材数据共享过程中的数据真实性、安全性以及用户信任的数据共享方法,已成为一个亟待解决的问题。
发明内容
本发明的目的是提供一种基于物联网的航材数据共享方法及系统,用以解决现有技术无法保证航空材料信息共享过程中的用户信任,以及数据真实性和安全性的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,提供了一种基于物联网的航材数据共享方法,包括:
向航材监管中心发送数据共享请求,以使所述航材监管中心在接收到所述数据共享请求后,为数据共享端生成用户属性集合和加密公共参数;
接收所述航材监管中心发送的用户属性集合,并基于所述用户属性集合,构建出用于进行数据加密的属性树,其中,所述属性树包括若干叶子节点,所述属性树中的叶子节点的数量与所述用户属性集合中的用户属性数量相同,且任一叶子节点存储有所述用户属性集合中的一个用户属性对应的第一属性值、第二属性值和加密值;
采用第一密钥对航材共享数据进行加密处理,得到加密航材共享数据;
获取所述航材共享数据的标签信息和初始加密参数,并利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数;
利用所述第三密文、所述第一加密验证参数和所述第二加密验证参数,构建出数据共享凭证,以及利用所述第一密文、所述第二密文和所述加密航材共享数据,构建出密文集;
将所述数据共享凭证、所述属性树和所述密文集共识至联盟链中,以在共识后,完成所述航材共享数据在所述联盟链中的数据共享,其中,所述联盟链中包含有若干联盟节点,任一联盟节点对应一个数据使用端或一个数据共享端,所述数据共享凭证和所述属性树,用于对所述联盟链中发起数据查看请求的联盟节点进行身份验证,且在身份验证通过后,所述发起数据查看请求的联盟节点对密文集进行解密得到所述航材共享数据。
基于上述公开的内容,本发明所提供的航材数据的共享方法,基于航材监控中心以及联盟链来实现,其中,航材监管中心作为可信机构,来实现整个数据共享过程中的加密公共参数和用户属性集合的下发,而各个数据共享端和数据使用端则构成了联盟链;因此,在实际数据共享过程中,数据共享端则先依据航材监管中心下发的用户属性集合来构建出属性树;然后,使用第一密钥对航材共享数据进行加密,得到加密航材共享数据;而后,再利用属性树、航材监管中心下发的加密公共参数以及航材共享数据的初始加密参数,来对航材共享数据的标签信息和第一密钥进行加密处理,从而得到多个密文和多个加密验证参数;接着,本发明将多个密文中的两个密文和加密航材共享数据作为密文集,而将剩余的密文和前述加密验证参数作为数据共享凭证,并将该数据共享凭证,联合密文集以及属性树共识至联盟链中;如此,前述操作相当于利用区块链中数据不可篡改的特性,来保证数据真实性和用户之间的可信度,且利用数据共享凭证,来实现节点间的身份验证;因此,当数据使用者需要进行共享数据的查看时,则需要先向联盟链进行身份验证(即联盟链通过数据共享凭证和属性树来完成身份验证),而在通过验证通过后,联盟链才会将加密数据发送至数据使用者,且数据使用者还需使用特定密钥对该加密数据进行解密,才能最终还原出航材共享数据。
通过上述设计,本发明应用联盟链+可信机构的技术实现了各航空公司之间的信任共享关系的建立,以及利用区块链赋予了数据不可篡改的特性,并在数据共享过程中,对航材共享数据进行了多次加密,其中,一次加密为数据本身的加密,而二次加密则是使用密钥和数据标签的加密;接着,将二次加密得到的密文与加密后的航材数据组成密文集,以及将二次加密得到的加密验证参数作为数据共享凭证,并联合属性树一起共识至联盟链中;如此,利用前述多次加密技术保证了共享过程中的数据安全;基于此,本发明利用联盟链、可信机构以及密码学技术,为航材数据共享过程提供了用户真实性、数据安全性及真实性的技术支撑,能够以真实、客观、安全、共信作为基础,来构建出航材数据共享新生态,因此,非常适用于大规模应用与推广。
在一个可能的设计中,基于所述用户属性集合,构建出用于进行数据加密的属性树,包括:
获取初始属性树,其中,所述初始属性树包括根节点、若干叶子节点和若干非叶子节点,所述初始属性树为树形数据结构,所述初始属性树的起点为所述根节点,且所述初始属性树中任一层上的节点作为上一层节点的子节点和/或下一层节点的父节点;
将所述用户属性集合中的各个用户属性,随机分配至所述初始属性树中的各个叶子节点中,以在分配完成后,得到第一分配属性树,其中,一个用户属性对应一个叶子节点;
为各个用户属性生成对应的第一属性值和第二属性值,并将各个用户属性的第一属性值和第二属性值,添加至各个用户属性对应的叶子节点中,以在添加完毕后,得到第二分配属性树;
将所述初始加密参数作为所述第二分配属性树中的根节点的初始加密值;
基于所述根节点的初始加密值,并按照树形数据结构,从上至下为所述第二分配属性树中的各个叶子节点添加加密值,以在添加后,得到用于进行数据加密的属性树。
在一个可能的设计中,为各个用户属性生成对应的第一属性值和第二属性值,包括:
生成若干符合第一预设条件的正整数,其中,所述第一预设条件为生成的若干正整数中,任意两正整数互为质数;
利用若干正整数,组成正整数序列,其中,所述正整数序列中的正整数的数量,与所述用户属性集合中的用户属性的数量相同,且排序顺序为正整数的生成顺序;
对于所述用户属性集合中的第k个用户属性,将所述正整数序列中的第k个正整数,作为所述第k个用户属性的第一属性值;
获取大素数库,并从大素数库中随机选取一个符合第二预设条件的大素数,以作为所述第k个用户属性的第二属性值,其中,所述第二预设条件为选取的大素数大于所述初始加密值;
将k自加1,并重新将所述正整数序列中的第k个正整数,作为所述第k个用户属性的第一属性值,直至k等于n时,得到每个用户属性的第一属性值和第二属性值,其中,k的初始值为1,且n为用户属性的总数量。
在一个可能的设计中,基于所述根节点的初始加密值,并按照树形数据结构,从上至下为所述第二分配属性树中的各个叶子节点添加加密值,以在添加后,得到用于进行数据加密的属性树,包括:
对于所述第二分配属性树中的任一节点,判断所述任一节点是否为叶子节点;
若否,则基于所述任一节点对应的第二属性值,确定出随机数端点值,并利用所述随机数端点值,确定出随机数取值区间;
从所述随机数取值区间中,选择出第一随机数;
获取所述任一节点的父节点下发的加密值,并利用所述第一随机数、所述第二属性值以及所述任一节点的父节点下发的加密值,生成预处理加密值,其中,当所述任一节点的父节点为根节点时,所述任一节点的父节点下发的加密值为所述初始加密值,当所述任一节点的父节点为非叶子节点时,所述任一节点的父节点下发的加密值为该任一节点的父节点的加密参数;
利用所述任一节点的第一属性值,对所述预处理加密值进行加密处理,得到所述任一节点对应的加密参数,并向所述任一节点对应的子节点下发所述加密参数,以使任一节点对应的子节点在接收到所述加密参数后,计算出对应的加密值进行添加或计算出对应的加密参数进行下发,直至将所述第二分配属性树中的所有节点均轮询完毕后,得到用于进行数据加密的属性树。
在一个可能的设计中,基于所述任一节点对应的第二属性值,确定出随机数端点值,包括:
获取所述任一节点的门限结构参数,其中,所述门限结构参数包括所述任一节点对应的子节点的个数,以及所述任一节点的节点门限值;
生成若干符合第一预设条件的正整数,并利用若干正整数,组成正整数序列,其中,所述第一预设条件为生成的若干正整数中,任意两正整数互为质数,所述正整数序列中的正整数的数量,与所述用户属性集合中的用户属性的数量相同,且排序顺序为正整数的生成顺序;
基于所述第二属性值、所述门限结构参数以及所述正整数序列,并按照如下公式(1),计算出中间参数;
(1)
上述公式(1)中,表示所述中间参数,表示所述第二属性值,表示所述任一节点对应的子节点的个数,表示所述节点门限值,表示所述正整数序列中的第个正整数;
利用所述中间参数,并按照如下公式(2),计算出所述随机数端点值;
(2)
上述公式(2)中,表示所述随机数端点值;
相应的,利用所述随机数端点值,确定出随机数取值区间,则包括:
将所述随机数端点值作为左端点,将0作为右端点,以基于所述左端点和所述右端点,确定出所述随机数取值区间。
在一个可能的设计中,获取所述任一节点的父节点下发的加密值,并利用所述第一随机数、所述第二属性值以及所述任一节点的父节点下发的加密值,生成预处理加密值,包括:
按照如下公式(3),生成预处理加密值;
(3)
上述公式(3)中,表示所述预处理加密值,表示所述第一随机数,表示任一节点的父节点下发的加密值,表示所述第二属性值;
相应的,利用所述任一节点的第一属性值,对所述预处理加密值进行加密处理,得到所述任一节点对应的加密参数,则包括:
按照如下公式(4),计算出所述任一节点对应的加密参数;
(4)
上述公式(4)中,表示所述任一节点对应的加密参数,表示所述任一节点对应的第一属性值,表示取余运算。
在一个可能的设计中,利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数,包括:
基于所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,构建出加密矩阵,其中,所述加密矩阵中的每一个行向量分别对应一个叶子节点,且每个行向量中包含有对应叶子节点内的第一属性值、第二属性值和加密值;
根据所述初始加密参数和所述加密矩阵,构建出加密向量;
利用所述加密公共参数和所述初始加密参数,对第一密钥进行加密处理,得到第一密文;
基于初始加密参数和加密公共参数,生成第二密文,并利用第二密文,生成第三密文;
根据所述加密公共参数、所述加密向量和所述加密矩阵,生成所述第一加密验证参数;
利用所述加密公共参数、所述加密向量以及所述加密矩阵,对所述标签信息进行加密处理,以在加密处理后,得到第二加密验证参数,并完成对所述标签信息和所述第一密钥的加密处理。
在一个可能的设计中,所述加密公共参数包括:第二随机数、第三随机数、第四随机数、两个乘法循环群G1与G2之间的映射函数以及乘法循环群G1的生成元;
其中,利用所述加密公共参数和所述初始加密参数,对第一密钥进行加密处理,得到第一密文,包括:
按照如下公式(5),对第一密钥进行加密处理,得到第一密文;
(5)
上述公式(5)中,表示所述第一密文,表示所述映射函数,表示生成元,表示所述第二随机数,表示所述初始加密参数,表示所述第一密钥;
基于初始加密参数和加密公共参数,生成第二密文,包括:
按照如下公式(6),生成所述第二密文;
(6)
上述公式(6)中,表示所述第二密文,表示所述第四随机数,表示第三随机数;
相应的,利用第二密文,生成第三密文,则包括:
按照如下公式(7),生成所述第三密文;
(7)
上述公式(7)中,表示所述第三密文。
在一个可能的设计中,所述加密公共参数包括:第四随机数、第一单向哈希函数、第二单向哈希函数以及两个乘法循环群G1和G2中的乘法循环群G1的生成元;
根据所述初始加密参数和所述加密矩阵,构建出加密向量,包括:
从所述加密矩阵中随机选择一个列向量,作为初始加密向量;
将所述初始加密参数添加至所述初始加密向量中,以在添加后,得到所述加密向量,其中,所述加密向量中的第一个元素为所述初始加密参数;
其中,根据所述加密公共参数、所述加密向量和所述加密矩阵,生成所述第一加密验证参数,包括:
计算出加密矩阵中每一个行向量与所述加密向量之间的乘积,得到若干加密中间向量;
基于若干加密中间向量、所述生成元和所述第四随机数,计算出每个加密中间向量对应的第一加密验证子参数;
利用每个加密中间向量对应的第一加密验证子参数,组成所述第一加密验证参数;
相应的,利用所述加密公共参数、所述加密向量以及所述加密矩阵,对所述标签信息进行加密处理,以在加密处理后,得到第二加密验证参数,则包括:
获取所述属性树中每个叶子节点对应的属性映射函数;
基于所述属性映射函数、所述第一单向哈希函数、所述第二单向哈希函数以及若干加密中间向量,计算出每个加密中间向量对应的第二加密验证子参数;
利用每个加密中间向量对应的第二加密验证子参数,组成所述第二加密验证参数。
第二方面,提供了一种基于物联网的航材数据共享系统,以系统为数据共享端为例,包括:
发送单元,用于向航材监管中心发送数据共享请求,以使所述航材监管中心在接收到所述数据共享请求后,为数据共享端生成用户属性集合和加密公共参数;
属性树构建单元,用于接收所述航材监管中心发送的用户属性集合,并基于所述用户属性集合,构建出用于进行数据加密的属性树,其中,所述属性树包括若干叶子节点,所述属性树中的叶子节点的数量与所述用户属性集合中的用户属性数量相同,且任一叶子节点存储有所述用户属性集合中的一个用户属性对应的第一属性值、第二属性值和加密值;
加密单元,用于采用第一密钥对航材共享数据进行加密处理,得到加密航材共享数据;
用于获取所述航材共享数据的标签信息和初始加密参数,并利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数;以及
用于利用所述第三密文、所述第一加密验证参数和所述第二加密验证参数,构建出数据共享凭证,并利用所述第一密文、所述第二密文和所述加密航材共享数据,构建出密文集;
数据共享单元,用于将所述数据共享凭证、所述属性树和所述密文集共识至联盟链中,以在共识后,完成所述航材共享数据在所述联盟链中的数据共享,其中,所述联盟链中包含有若干联盟节点,任一联盟节点对应一个数据使用端或一个数据共享端,所述数据共享凭证和所述属性树,用于对所述联盟链中发起数据查看请求的联盟节点进行身份验证,且在身份验证通过后,所述发起数据查看请求的联盟节点对密文集进行解密得到所述航材共享数据。
第三方面,提供了一种基于物联网的航材数据共享装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述基于物联网的航材数据共享方法。
第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述基于物联网的航材数据共享方法。
第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述基于物联网的航材数据共享方法。
有益效果:
(1)本发明应用联盟链+可信机构的技术实现了各航空公司之间的信任共享关系的建立,以及利用区块链赋予了数据不可篡改的特性,并在数据共享过程中,对航材共享数据进行了多次加密,其中,一次加密为数据本身的加密,而二次加密则是使用密钥和数据标签的加密;接着,将二次加密得到的密文与加密后的航材数据组成密文集,以及将二次加密得到的加密验证参数作为数据共享凭证,并联合属性树一起共识至联盟链中;如此,利用前述多次加密技术保证了共享过程中的数据安全;基于此,本发明利用联盟链、可信机构以及密码学技术,为航材数据共享过程提供了用户真实性、数据安全性及真实性的技术支撑,能够以真实、客观、安全、共信作为基础,来构建出航材数据共享新生态,因此,非常适用于大规模应用与推广。
附图说明
图1为本发明实施例提供的基于物联网的航材数据共享系统的架构示意图;
图2为本发明实施例提供的基于物联网的航材数据共享方法的步骤流程示意图;
图3为本发明实施例提供的数据共享端的结构示意图;
图4为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
实施例:
参见图1所示,在阐述本实施例所提供的航材数据共享方法前,先提供一种系统架构,该系统可以但不限于包括:航材监管中心和联盟链,其中,联盟链包含共享节点(可以为联盟链中的管理节点)和若干联盟节点(可设置为N个),且任一联盟节点对应一个数据使用端或一个数据共享端(二者可为各个航空公司,也可为航空工作人员),如此,即可利用联盟链来实现各节点之间的可信关系的建立,以及加密数据的存储(本实施例中,存储在联盟链中的分布式账本中);同时,本实施例还利用航材监管中心作为整个系统的可信机构(其可为航空管理局等国家部门监管创建),来为各个数据共享端下发用户属性集合、共享数据所使用的加密公共参数以及各个联盟节点的私钥;因此,整个航材数据共享过程则是联动了航材监管中心和联盟链。
具体的,数据共享端先利用航材监管中心下发的用户属性集合和加密公共参数来对航材共享数据进行多次加密,得到加密后的航材共享数据、多个密文和多个加密验证参数;而后,将加密后的航材共享数据和多个密文中的两个密文,作为密文集,以及将剩余的数据作为数据共享凭证;最后,将前述数据以及数据共享端的属性树一起共识至联盟链中,即可完成航材数据的共享;如此,将前述数据共识至联盟链的分布式账本中,可利用区块链特性,保证数据不可篡改;如此,在进行数据共享查看时,联盟链则可依据属性树和数据共享凭证,对发起查看请求的用户进行身份验证,并在身份验证通过后,利用自身的私钥(即下述第二密钥)进行密文集的解密,然后将解密后的密文发送至发起查看请求的用户;而该用户则可利用航材监管中心下发的私钥(即下述第三密钥),来对解密后的密文进行二次解密,得到第一密钥(其为对称密钥);最后,利用第一密钥对加密后的航材共享数据进行解密,则可得到航材共享数据。
基于此,本系统使用联盟链+可信机构,并结合密码学技术,来实现了各航空公司之间的信任共享关系的建立,以及数据共享过程的安全性和真实性的保障;基于此,只有经过系统中联盟链认证后的用户,才能加入至数据共享过程,由此,能够为航材数据共享过程提供用户真实性、数据安全性及真实性的技术支撑,从而可以真实、客观、安全、共信作为基础,来构建出航材数据共享新生态,因此,非常适用于大规模应用与推广。
参见图2所示,本实施例所提供的基于物联网的航材数据共享方法,可以但不限于在航材监管中心、数据共享端和联盟链侧运行,其中,本实施例以数据共享端为例,来进行阐述,且举例数据共享端可以但不限于为个人电脑(personal computer,PC)、平板电脑或智能手机,可以理解的,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤S1~S6所示。
S1. 向航材监管中心发送数据共享请求,以使所述航材监管中心在接收到所述数据共享请求后,为数据共享端生成用户属性集合和加密公共参数;在本实施例中,举例数据共享请求中可以但不限于包含有数据共享端的身份信息(如设备标识,对应的用户信息等等),因此,航材监管中心在接收到数据共享请求后,即可根据内部的身份信息,来为数据共享请求生成若干用户属性,从而组成用户属性集合;具体的,身份信息中的一种信息,可作用一个用户属性,如设备标识作为一个用户属性,又如,用户信息中的用户名称作为一个用户属性,用户所在公司的社会统一信用代码也作为一个用户属性等;如此,基于数据共享请求中的身份信息,则可构建出用户属性集合。
进一步的,举例加密公共参数可以但不限于包括:第二随机数、第三随机数、第四随机数、第一单向哈希函数、第二单向哈希函数、两个乘法循环群G1与G2之间的映射函数以及乘法循环群G1的生成元;其中,下述公共航材监管中心生成加密公共参数的其中一种具体过程:
在本实施例中,航材监管中心先选择两个阶为大素数的乘法循环群G1与G2,其中,是G1的生成元,而前述两个乘法循环群均为双线性群,因此,二者之间符合双线性映射(即二者间的映射函数),即:G1×G1G2;接着,航材监管中心再选择两个单向哈希函数,然后,随机生成三个为整数的随机数(即前述第二随机数、第三随机数和第四随机数);最后,即可利用前述各个参数,组成加密公共参数;可选的,整个系统中所有的联盟节点,共同使用前述加密公共参数。
同时,航材监管中心还会利用前述加密公共参数,来为联盟链中的共享节点和发起数据查看请求的联盟节点生成私钥,以便后续基于私钥来进行共享数据的解密;可选的,对于共享节点,其对应的第二密钥(即对应的私钥)的生成过程为:航材监管中心先生成第五随机数和第六随机数,其中,第二随机数、第五随机数和第六随机数之间满足:,该式中,依次表示第二随机数、第五随机数和第六随机数;而后,利用前述第五随机数,以及加密公共参数的生成元、第二随机数和第三随机数,并按照如下公式(8),计算出前述第二密钥。
(8)
上述公式(8)中,表示第二密钥。
同理,航材监管中心还可利用如下公式(9),构建出第三密钥,其中,第三密钥为发起数据查看请求的联盟节点的私钥。
(9)
上述公式(9)中,表示第三密钥,表示第三随机数。
如此,通过前述阐述,航材监管中心则可为数据共享端生成用户属性集合、加密公共参数,以及为共享节点生成第二密钥,以及为发送数据查看请求的联盟节点,生成第三密钥;而后,数据共享端则可利用航材监管中心下发的用户属性集合和加密公共参数,来进行数据共享,即:进行航材共享数据的加密,以及生成相应的数据共享凭证,以便后续各个联盟节点进行该航材共享数据的查看时,联盟链基于数据共享凭证,来进行身份验证,从而保证数据共享过程中的用户的真实性。
可选的,前述数据共享过程可以但便于如下述步骤S2~S6所示。
S2. 接收所述航材监管中心发送的用户属性集合,并基于所述用户属性集合,构建出用于进行数据加密的属性树,其中,所述属性树包括若干叶子节点,所述属性树中的叶子节点的数量与所述用户属性集合中的用户属性数量相同,且任一叶子节点存储有所述用户属性集合中的一个用户属性对应的第一属性值、第二属性值和加密值;在具体应用时,属性树一方面用于隐藏后续加密过程所使用的初始加密参数,另一方面,用于作为发起数据查看请求的联盟节点的初始身份认证;其原理为:其为树形数据结构,内部的各个叶子节点存储有数据拥有者设定的属性、属性值以及加密值(该加密值由父节点传输,并在本节点进行加密,而最初的加密值则是根节点上的初始加密参数);因此,只有拥有对应属性的联盟节点才能解密出此节点的加密值;同时,属性树中还包括非叶子节点,对于非叶子节点,其为门限节点,拥有门限值,因此,需要发起数据查看请求的联盟节点满足门限值才可解密该节点的加密值;如此,通过构建出前述属性树,则可利用属性树中各个叶子节点中的加密值和各个属性值,来完成数据共享过程中的二次加密。
可选的,下述公开前述属性树的其中一种构建方法,其过程可以但不限于如下述步骤S21~S25所示。
S21. 获取初始属性树,其中,所述初始属性树包括根节点、若干叶子节点和若干非叶子节点,所述初始属性树为树形数据结构,所述初始属性树的起点为所述根节点,且所述初始属性树中任一层上的节点作为上一层节点的子节点和/或下一层节点的父节点;在本实施例中,初始属性树的起点为根节点,根节点下连接有叶子节点和/或非叶子节点,而每个节点又作为父节点,依次向下连接有叶子节点和/或非叶子节点(当然,也可能不连接有节点),基于此,以前述原理,即可构建得到初始属性树;而在得到初始属性树后,则可进行用户属性的分配,其过程如下述步骤S22所示。
S22. 将所述用户属性集合中的各个用户属性,随机分配至所述初始属性树中的各个叶子节点中,以在分配完成后,得到第一分配属性树,其中,一个用户属性对应一个叶子节点。
在完成用户属性集合中各个用户属性的分配后,则可确定出各个用户属性的第一属性值和第二属性值,其过程如下述步骤S23所示。
S23. 为各个用户属性生成对应的第一属性值和第二属性值,并将各个用户属性的第一属性值和第二属性值,添加至各个用户属性对应的叶子节点中,以在添加完毕后,得到第二分配属性树;在本实施例中,举例可以但不限于采用如下步骤S23a~S23e,来为每个用户属性生成对应的第一属性值和第二属性值。
S23a. 生成若干符合第一预设条件的正整数,其中,所述第一预设条件为生成的若干正整数中,任意两正整数互为质数;在具体应用时,本实施例先生成与用户属性数量相同的若干正整数,且生成的正整数满足两两互为质数;而后,则可利用生成的若干正整数,来构建出正整数序列,最后,即可基于正整数序列,来确定出各个用户属性的第一属性值;可选的,正整数序列的构建过程可以但不限于如下述步骤S23b和步骤S23c所示。
S23b. 利用若干正整数,组成正整数序列,其中,所述正整数序列中的正整数的数量,与所述用户属性集合中的用户属性的数量相同,且排序顺序为正整数的生成顺序;在基于该步骤得出正整数序列后,即可确定出第k个用户属性的第一属性值,其过程如下述步骤S23c所示。
S23c. 对于所述用户属性集合中的第k个用户属性,将所述正整数序列中的第k个正整数,作为所述第k个用户属性的第一属性值;在本实施例中,假设k为1,那么,正整数序列中的第一个正整数,则为第一个用户属性的第一属性值;当然,k为其余值时,其对应的第一属性值的确定过程与前述举例相同,于此不再赘述。
在得到第k个用户属性的第一属性值后,则可确定出其对应的第二属性值,其过程可以但不限于如下述步骤S23d所示。
S23d. 获取大素数库,并从大素数库中随机选取一个符合第二预设条件的大素数,以作为所述第k个用户属性的第二属性值,其中,所述第二预设条件为选取的大素数大于所述初始加密值;在本实施例中,则是随机获取一个大于初始加密值(即初始加密参数)的大素数,从而将其作为第k个用户属性的第二属性值;而后,即可以相同原理,来确定出其余各个用户属性对应的第一属性值和第二属性值;可选的,循环确定过程如下述步骤S23e所示。
S23e. 将k自加1,并重新将所述正整数序列中的第k个正整数,作为所述第k个用户属性的第一属性值,直至k等于n时,得到每个用户属性的第一属性值和第二属性值,其中,k的初始值为1,且n为用户属性的总数量。
由此通过前述步骤S23a~S23e,即可为每个用户属性生成第一属性值和第二属性值,而后,则可将各个用户属性对应的两个属性值,添加至对应的叶子节点中,从而完成属性值的分配;而在完成属性值的分配后,则可进行各个叶子节点的加密值的下发,其过程可以但不限于如下述步骤S24和步骤S25所示。
S24. 将初始加密参数作为所述第二分配属性树中的根节点的初始加密值;在本实施例中,初始加密参数由数据共享端设定,在此不作具体限定。
S25. 基于所述根节点的初始加密值,并按照树形数据结构,从上至下为所述第二分配属性树中的各个叶子节点添加加密值,以在添加后,得到用于进行数据加密的属性树;在本实施例中,实质是将初始加密值作为最开始的参数,而后,在每个节点处进行加密处理(叶子节点和非叶子节点的加密过程不同),并向下进行传播,直至传播至最后一个叶子节点为止;如此,即可完成初始加密值的下发,从而为每个叶子节点生成对应的加密值。
在具体实施时,本实施例以第二分配属性树中的任一节点为例,来阐述前述初始加密值的传播过程(即每个叶子节点的加密值的添加过程),其过程如下述步骤S25a~S25e所示。
S25a. 对于所述第二分配属性树中的任一节点,判断所述任一节点是否为叶子节点;在本实施例中,如果任一节点为叶子节点,那么可直接使用该任一节点对应的第一属性值或第二属性值,对该任一节点的父节点所传输的加密值进行加密处理,从而得到该任一节点的加密值;而后,再将其对应的加密值传输至该任一节点的子节点;当然,该任一节点的子节点的加密值的添加过程,与该任一节点相同,都是先判断是否为叶子节点,然后采取不同的方式加密得到。
同时,若该任一节点不是叶子节点(即其为非叶子节点),那么,则需要采用下述步骤S25b~S25e所示的方法,来计算出加密参数,并向其对应的子节点传播;也就是说,若任一节点为非叶子节点,则不进行加密值的添加,而是采用下述加密算法,对其父节点传输的加密值进行加密,然后将加密结果向其对应的子节点传播,其过程如下述步骤S25b~S25e所示。
S25b. 若否,则基于所述任一节点对应的第二属性值,确定出随机数端点值,并利用所述随机数端点值,确定出随机数取值区间;在本实施例中,前述就已说明,非叶子节点为门限节点,其对应有门限值,因此,本实施例则先获取所述任一节点的门限结构参数(该门限结构参数包括所述任一节点对应的子节点的个数,以及所述任一节点的节点门限值);然后,再生成若干符合第一预设条件的正整数,并利用若干正整数,组成正整数序列(在本实施例中,该正整数序列与前述步骤S23b中的正整数序列相同,于此不再赘述);接着,本实施例基于所述第二属性值、所述门限结构参数以及所述正整数序列,计算出中间参数;最后,利用所述中间参数,来计算出所述随机数端点值。
可选的,举例可以但不限于按照如下公式(1),来计算出中间参数。
(1)
上述公式(1)中,表示所述中间参数,表示所述第二属性值,表示所述任一节点对应的子节点的个数,表示所述节点门限值,表示所述正整数序列中的第个正整数;在具体应用时,表示累乘符号;其中,假设子节点的个数为5,节点门限值为3,那么,则从正整数序列中的第4个正整数开始,一直累乘到第五个正整数,然后,再使用累乘结果乘以第二属性值,即可得到中间参数;当然,当节点门限值和子节点个数为其余值时,中间参数的计算过程与前述举例相同,于此不再赘述。
同理,举例可以但不限于采用如下(2),来计算出所述随机数端点值。
(2)
上述公式(2)中,表示所述随机数端点值。
如此,基于前述公式(1)和(2),计算出随机数端点值后,则可将所述随机数端点值作为左端点,将0作为右端点,然后基于所述左端点和所述右端点,来确定出所述随机数取值区间;基于此,本实施例中的随机数取值区间则为
在通过前述步骤S25b确定出随机数取值区间后,则可进行第一随机数的选取,以便后续基于第一随机数以及该任一节点的父节点下发的加密值,来生成预处理加密值;其中,前述处理过程如下述步骤 S25c和步骤S25d所示。
S25c. 从所述随机数取值区间中,选择出第一随机数。
S25d. 获取所述任一节点的父节点下发的加密值,并利用所述第一随机数、所述第二属性值以及所述任一节点的父节点下发的加密值,生成预处理加密值,其中,当所述任一节点的父节点为根节点时,所述任一节点的父节点下发的加密值为所述初始加密值,当所述任一节点的父节点为非叶子节点时,所述任一节点的父节点下发的加密值为该任一节点的父节点的加密参数;在具体实施时,举例可以但不限于按照如下公式(3),来生成预处理加密值。
(3)
上述公式(3)中,表示所述预处理加密值,表示所述第一随机数,表示任一节点的父节点下发的加密值,表示所述第二属性值。
如此,通过前述步骤S25d,得到预处理加密值后,即可利用该任一节点的第一属性值,来对预处理加密值进行加密处理,从而得到该任一节点的加密参数;其中,前述过程如下述步骤S25e所示。
S25e. 利用所述任一节点的第一属性值,对所述预处理加密值进行加密处理,得到所述任一节点对应的加密参数,并向所述任一节点对应的子节点下发所述加密参数,以使任一节点对应的子节点在接收到所述加密参数后,计算出对应的加密值进行添加或计算出对应的加密参数进行下发,直至将所述第二分配属性树中的所有节点均轮询完毕后,得到用于进行数据加密的属性树;在具体实施时,举例可以但不限于按照如下公式(4),来计算出所述任一节点对应的加密参数。
(4)
上述公式(4)中,表示所述任一节点对应的加密参数,表示所述任一节点对应的第一属性值,表示取余运算。
可选的,下述以一个实例来阐述前述步骤S25a~S25d。
首先,假设第二分配属性树的结构为:根节点,根节点连接有第一叶子节点、第二叶子节点和第一非叶子节点,第一叶子节点连接有第三叶子节点,第二叶子节点连接有第二非叶子节点,第一非叶子节点连接有第四叶子节点,而第二非叶子节点则连接有第五叶子节点。
那么,根节点首先将初始加密值传输至第一叶子节点、第二叶子节点和第一非叶子节点,其中,第一叶子节点和第二叶子节点则直接利用对应的第一属性值或第二属性值对接收到的初始加密值进行加密处理,得到各自对应的加密值(加密方法可为第一属性值或第二属性值,对初始加密值的取余运算),而后,第一叶子节点和第二叶子节点将各自的加密值进行存储,并传输至各自的子节点(即第一叶子节点将其对应的加密值,传输至第三叶子节点,而第二叶子节点则将其对应的加密值,传输至第二非叶子节点);而对于第一非叶子节点,则基于初始加密值,并采用前述步骤S25a~S25d所提供的方法,来生成对应的加密参数,然后,将该加密参数传输至第四叶子节点。
接着,第三叶子节点接收到第一叶子节点传输的加密值后,继续使用其对应的第一属性值或第二属性值直接对第一叶子节点传输的加密值进行加密,从而来得到自身的加密值;同理,第四叶子节点接收到第一非叶子节点传输的加密值(即加密参数)后,也直接使用其对应的第一属性值或第二属性值对该加密值进行加密处理,得到第四叶子节点对应的加密值;而第二非叶子节点则继续使用前述S25a~S25d所提供的方法,来生成对应的加密参数,并将其传输至第五叶子节点;最后,第五叶子节点则直接使用其对应的第一属性值或第二属性值,来对第二非叶子节点传输的加密参数进行加密,从而得到对应的加密值;如此,则可完成各个叶子节点的加密值的添加,从而生成用户进行数据加密的属性树。
基于前述步骤S21~S25及其子步骤构建出属性树后,则可进入数据共享过程,其过程包括数据加密过程和数据上传过程;在具体实施时,数据加密分为一次加密和二次加密,其中,一次加密为航材共享数据本身的加密;而二次加密则是对一次加密过程中所使用密钥和航材共享数据的标签信息的加密;可选的,一次加密过程可以但不限于如下述步骤S3所示。
S3. 采用第一密钥对航材共享数据进行加密处理,得到加密航材共享数据;在本实施例中,举例第一密钥为对称密钥,即发送和接收数据的双方必使用相同的密钥对明文进行加密和解密运算;在本实施例中,举例可以但不限于采用DES、3DES、IDEA、RC5或RC6加密算法,来进行航材共享数据的加密,从而得到加密航材共享数据;当然,前述加密算法为常用加密算法,其原理和过程则不再赘述。
在完成航材共享数据的加密后,则可进行二次加密,其过程如下述步骤S4所示。
S4. 获取所述航材共享数据的标签信息和初始加密参数,并利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数;在具体实施时,举例所述航材共享数据的标签信息可以但不限于航材共享数据的数据概要,且举例可以但不限于采用如下步骤S41~S46,来完成对所述标签信息和初始加密参数的加密处理。
S41. 基于所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,构建出加密矩阵,其中,所述加密矩阵中的每一个行向量分别对应一个叶子节点,且每个行向量中包含有对应叶子节点内的第一属性值、第二属性值和加密值;在本实施例中,举例可以但不限于采用Lewko-Waters算法(一种将树结构数据转换为线性秘密共享方案矩阵的算法)或Liu-Cao-Wong算法(也是一种树结构数据转换为线性秘密共享方案矩阵的算法),来构建出加密矩阵,并生成将加密矩阵中的每行向量,映射至属性树中对应用户属性的属性映射函数。
在基于属性树构建出加密矩阵后,则可基于加密矩阵,构建出加密向量,其过程如下述步骤S42所示。
S42. 根据所述初始加密参数和所述加密矩阵,构建出加密向量;在具体实施时,可以但不限于先从所述加密矩阵中随机选择一个列向量,作为初始加密向量;然后,将所述初始加密参数添加至所述初始加密向量中,以在添加后,得到所述加密向量;在本实施例中,所述加密向量中的第一个元素为所述初始加密参数;如此,基于前述步骤S42,构建出加密向量后,则可进行后续的二次加密处理流程,其过程如下述步骤S43~S46所示。
S43. 利用所述加密公共参数和所述初始加密参数,对第一密钥进行加密处理,得到第一密文;在具体实施时,举例可以但不限于利用加密公共参数中的映射函数、乘法循环群G1的生成元、第二随机数,来结合初始加密参数,对第一密钥进行加密处理;其中,可以但不限于采用如下公式(5),来得到第一密文。
(5)
上述公式(5)中,表示所述第一密文,表示所述映射函数,表示生成元,表示所述第二随机数,表示所述初始加密参数,表示所述第一密钥。
在基于前述公式(5),得到完成第一密钥的加密后,则可利用初始加密参数和加密公共参数,来生成第二密文,并基于第二密文,得到第三密文,其过程如下述步骤S44所示。
S44. 基于初始加密参数和加密公共参数,生成第二密文,并利用第二密文,生成第三密文;在本实施例中,举例可以但不限于基于初始加密参数中的第三随机数和第四随机数,以及初始加密参数,并按照如下公式(6),来生成第二密文。
(6)
上述公式(6)中,表示所述第二密文,表示所述第四随机数,表示第三随机数。
同理,举例可以但不限于采用如下公式(7),来生成所述第三密文。
(7)
上述公式(7)中,表示所述第三密文。
由此通过前述公式(6)和公式(7),则可得到第二密文和第三密文;而后,则可基于加密向量、加密矩阵以及前述加密公共参数,来生成相应第一加密验证参数,并同时对标签信息进行加密处理,得到第二加密验证参数;其中,前述过程如下述步骤S45和步骤S46所示。
S45. 根据所述加密公共参数、所述加密向量和所述加密矩阵,生成所述第一加密验证参数;在具体实施时,可以但不限于先计算出加密矩阵中每一个行向量与所述加密向量之间的乘积,得到若干加密中间向量;然后,基于若干加密中间向量、所述生成元和所述第四随机数,计算出每个加密中间向量对应的第一加密验证子参数;最后,则可利用每个加密中间向量对应的第一加密验证子参数,组成所述第一加密验证参数。
具体的,举例可以但不限于采用如下公式(10),来计算出每个加密中间向量对应的第一加密验证子参数。
(10)
上述公式(10)中,表示若干加密中间向量中第个加密中间向量对应的第一加密验证子参数,表示所述第四随机数,表示生成元,表示第个加密中间向量,表示加密中间向量的总个数。
在得到第一加密验证参数后,则可对标签信息进行加密处理,其过程如下述步骤S46所示。
S46. 利用所述加密公共参数、所述加密向量以及所述加密矩阵,对所述标签信息进行加密处理,以在加密处理后,得到第二加密验证参数,并完成对所述标签信息和所述第一密钥的加密处理;在具体应用时,可以但不限于先获取所述属性树中每个叶子节点对应的属性映射函数(即在前述步骤S41中,利用Lewko-Waters算法或Liu-Cao-Wong算法构建加密矩阵时得出的属性映射函数);然后,基于所述属性映射函数、所述第一单向哈希函数、所述第二单向哈希函数以及若干加密中间向量,计算出每个加密中间向量对应的第二加密验证子参数;最后,则可利用每个加密中间向量对应的第二加密验证子参数,组成所述第二加密验证参数。
同理,举例可以但不限于采用如下公式(11),来计算出每个加密中间向量对应的第二加密验证子参数。
(11)
上述公式(11)中,表示第个加密中间向量对应的第二加密验证子参数,表示第一单向哈希函数,表示第二单向哈希函数,表示所述标签信息,表述属性映射函数,表示加密矩阵中的第行向量。
如此,基于前述公式(11),则可计算出每个加密中间向量对应的第二加密验证子参数;而后,利用各个第二加密验证子参数,则可组成第二加密验证参数。
由此通过前述步骤S41~S46,则可完成对第一密钥和标签信息的加密,而后,则可结合前述加密航材共享数据,来进行数据的上传,其过程如下述步骤S5和步骤S6所示。
S5. 利用所述第三密文、所述第一加密验证参数和所述第二加密验证参数,构建出数据共享凭证,以及利用所述第一密文、所述第二密文和所述加密航材共享数据,构建出密文集。
S6. 将所述数据共享凭证、所述属性树和所述密文集共识至联盟链中,以在共识后,完成所述航材共享数据在所述联盟链中的数据共享,其中,所述联盟链中包含有若干联盟节点,任一联盟节点对应一个数据使用端或一个数据共享端,所述数据共享凭证和所述属性树,用于对所述联盟链中发起数据查看请求的联盟节点进行身份验证,且在身份验证通过后,所述发起数据查看请求的联盟节点对密文集进行解密得到所述航材共享数据;在本实施例中,举例可使用实用拜占庭容错共识算法来进行前述数据在联盟链中的共识;当然,前述共识算法为区块链的常用技术,其原理不再赘述。
在本实施例中,相当于是利用区块链中数据不可篡改的特性,来保证数据真实性和用户之间的可信度,且利用数据共享凭证,来实现节点间的身份验证;因此,当数据使用者需要进行共享数据的查看时,则需要先向联盟链进行身份验证(即联盟链中的共享节点通过数据共享凭证和属性树来完成身份验证),而在通过验证通过后,共享节点利用前述航材监管中心下发的第二密钥对第三密文进行解密,得到解密密文,并将所述解密密文和所述密文集发送至发起数据查看请求的联盟节点,以便使发起数据查看请求的联盟节点利用航材监管中心下发的第三密钥,对解密密文和密文集进行解密处理,从而得到航材共享数据。
由此通过前述步骤S1~S6所详细描述的基于物联网的航材数据共享方法,本发明使用联盟链+可信机构,并结合密码学技术,来实现了各航空公司之间的信任共享关系的建立,以及数据共享过程的安全性和真实性的保障;基于此,只有经过联盟链认证后的用户,才能加入至数据共享过程,由此,能够为航材数据共享过程提供用户真实性、数据安全性及真实性的技术支撑,从而可以真实、客观、安全、共信作为基础,来构建出航材数据共享新生态,因此,非常适用于大规模应用与推广。
在一个可能的设计中,本实施例第二方面提供基于实施例第一方面所述方法的数据查看流程,其过程如下所示。
在本实施例中,发起数据查看请求的联盟节点(下述称为访问节点)发起的数据查看请求有访问标签信息和其对应的用户属性集合(下述称为访问属性集合);此时,联盟链中的共享节点(即作为数据访问者的验证节点)先利用属性树,验证用户属性集合是否满足访问要求,即是否符合属性树中的访问结构(其为访问控制策略的常用验证技术,其原理不再赘述);若满足属性树的访问结构,则会进行初始加密参数的解密,即解密叶子节点,其过程为:从访问属性集合中找出与此节点属性值相同的属性,利用该属性解密此节点的加密值;而后,解密非叶子节点;其中,解密出叶子节点后可得到多对值(即各个属性值和加密值),而后,则可根据叶子节点的值解密出父节点的秘密值,并依次向上递推,直至解密出根节点的初始加密值时为止;因此,如果知道加密值分发过程中所产生的任意组数据(即个用户属性对应的各个属性值和加密值)则可利用余数定理求出剩余的加密值,并依次向上递推,从而得到根节点上的初始加密参数;当然,前述属性树解密过程则不再一一赘述。
同时,共享节点还会基于访问用户属性集合中的各个访问用户属性,计算出各个访问用户属性对应的访问参数,以便后续基于访问参数和前述数据共享凭证,进行访问节点的身份验证;具体的,举例访问参数可以但不限于包括第一访问参数和第二访问参数,且可采用如下公式(12)和(13),来计算得出。
(12)
(13)
上述公式(12)中,表示第一访问参数,表示访问标签信息,表示访问用户属性集合中的第个访问用户属性,表示第个访问用户属性的第七随机数。
上述公式(13)中,表示第二访问参数,且为访问用户属性的总个数,当然,访问用户属性与前述数据共享端的用户属性个数相同,且也与加密中间向量的个数相同。
在得到前述第一访问参数和第二访问参数后,共享节点即可进行身份验证,其验证公式如下述公式(14)所示。
(14)
上述公式(14)则表示如果能够在多项式时间内找出一个常数集(由,组成),使得上述等式(14)成立,那么,则判定访问节点的身份验证通过。
而在验证通过后,共享节点则依据第二密钥,对第三密文进行解密,得到解密密文;其中,解密公式如下述公式(15)所示。
(15)
上述公式(15)中,表示解密密文,当然,公式(15)中其余各个参数在前述就已解释说明,于此不再赘述。
而后,共享节点将解密密文和加密航材共享数据发送至访问节点,而访问节点则先依据航材监管中心下发的第三密钥,对解密密文进行解密,其中,解密公式为(16) ,如此,基于公式(16)则可得到第一密钥,然后再利用第一密钥对加密航材共享数据进行解密,得到航材共享数据。
由此通过前述步骤,即可完成航材共享数据的查看。
如图3所示,本实施例第三方面提供了一种实现实施例第一方面中所述的基于物联网的航材数据共享方法的硬件系统,以系统为数据共享端为例,包括:
发送单元,用于向航材监管中心发送数据共享请求,以使所述航材监管中心在接收到所述数据共享请求后,为数据共享端生成用户属性集合和加密公共参数。
属性树构建单元,用于接收所述航材监管中心发送的用户属性集合,并基于所述用户属性集合,构建出用于进行数据加密的属性树,其中,所述属性树包括若干叶子节点,所述属性树中的叶子节点的数量与所述用户属性集合中的用户属性数量相同,且任一叶子节点存储有所述用户属性集合中的一个用户属性对应的第一属性值、第二属性值和加密值。
加密单元,用于采用第一密钥对航材共享数据进行加密处理,得到加密航材共享数据;
用于获取所述航材共享数据的标签信息和初始加密参数,并利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数;以及
用于利用所述第三密文、所述第一加密验证参数和所述第二加密验证参数,构建出数据共享凭证,并利用所述第一密文、所述第二密文和所述加密航材共享数据,构建出密文集。
数据共享单元,用于将所述数据共享凭证、所述属性树和所述密文集共识至联盟链中,以在共识后,完成所述航材共享数据在所述联盟链中的数据共享,其中,所述联盟链中包含有若干联盟节点,任一联盟节点对应一个数据使用端或一个数据共享端,所述数据共享凭证和所述属性树,用于对所述联盟链中发起数据查看请求的联盟节点进行身份验证,且在身份验证通过后,所述发起数据查看请求的联盟节点对密文集进行解密得到所述航材共享数据。
本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图4所示,本实施例第四方面提供了一种基于物联网的航材数据共享装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面和第二方面所述的基于物联网的航材数据共享方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory ,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第五方面提供了一种存储包含有实施例第一方面和第二方面所述的基于物联网的航材数据共享方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如实施例第一方面和第二方面所述的基于物联网的航材数据共享方法。
其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面和第二方面所述的基于物联网的航材数据共享方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于物联网的航材数据共享方法,其特征在于,包括:
向航材监管中心发送数据共享请求,以使所述航材监管中心在接收到所述数据共享请求后,为数据共享端生成用户属性集合和加密公共参数;
接收所述航材监管中心发送的用户属性集合,并基于所述用户属性集合,构建出用于进行数据加密的属性树,其中,所述属性树包括若干叶子节点,所述属性树中的叶子节点的数量与所述用户属性集合中的用户属性数量相同,且任一叶子节点存储有所述用户属性集合中的一个用户属性对应的第一属性值、第二属性值和加密值;
采用第一密钥对航材共享数据进行加密处理,得到加密航材共享数据;
获取所述航材共享数据的标签信息和初始加密参数,并利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数;
利用所述第三密文、所述第一加密验证参数和所述第二加密验证参数,构建出数据共享凭证,以及利用所述第一密文、所述第二密文和所述加密航材共享数据,构建出密文集;
将所述数据共享凭证、所述属性树和所述密文集共识至联盟链中,以在共识后,完成所述航材共享数据在所述联盟链中的数据共享,其中,所述联盟链中包含有若干联盟节点,任一联盟节点对应一个数据使用端或一个数据共享端,所述数据共享凭证和所述属性树,用于对所述联盟链中发起数据查看请求的联盟节点进行身份验证,且在身份验证通过后,所述发起数据查看请求的联盟节点对密文集进行解密得到所述航材共享数据。
2.根据权利要求1所述的方法,其特征在于,基于所述用户属性集合,构建出用于进行数据加密的属性树,包括:
获取初始属性树,其中,所述初始属性树包括根节点、若干叶子节点和若干非叶子节点,所述初始属性树为树形数据结构,所述初始属性树的起点为所述根节点,且所述初始属性树中任一层上的节点作为上一层节点的子节点和/或下一层节点的父节点;
将所述用户属性集合中的各个用户属性,随机分配至所述初始属性树中的各个叶子节点中,以在分配完成后,得到第一分配属性树,其中,一个用户属性对应一个叶子节点;
为各个用户属性生成对应的第一属性值和第二属性值,并将各个用户属性的第一属性值和第二属性值,添加至各个用户属性对应的叶子节点中,以在添加完毕后,得到第二分配属性树;
将所述初始加密参数作为所述第二分配属性树中的根节点的初始加密值;
基于所述根节点的初始加密值,并按照树形数据结构,从上至下为所述第二分配属性树中的各个叶子节点添加加密值,以在添加后,得到用于进行数据加密的属性树。
3.根据权利要求2所述的方法,其特征在于,为各个用户属性生成对应的第一属性值和第二属性值,包括:
生成若干符合第一预设条件的正整数,其中,所述第一预设条件为生成的若干正整数中,任意两正整数互为质数;
利用若干正整数,组成正整数序列,其中,所述正整数序列中的正整数的数量,与所述用户属性集合中的用户属性的数量相同,且排序顺序为正整数的生成顺序;
对于所述用户属性集合中的第k个用户属性,将所述正整数序列中的第k个正整数,作为所述第k个用户属性的第一属性值;
获取大素数库,并从大素数库中随机选取一个符合第二预设条件的大素数,以作为所述第k个用户属性的第二属性值,其中,所述第二预设条件为选取的大素数大于所述初始加密值;
将k自加1,并重新将所述正整数序列中的第k个正整数,作为所述第k个用户属性的第一属性值,直至k等于n时,得到每个用户属性的第一属性值和第二属性值,其中,k的初始值为1,且n为用户属性的总数量。
4.根据权利要求2所述的方法,其特征在于,基于所述根节点的初始加密值,并按照树形数据结构,从上至下为所述第二分配属性树中的各个叶子节点添加加密值,以在添加后,得到用于进行数据加密的属性树,包括:
对于所述第二分配属性树中的任一节点,判断所述任一节点是否为叶子节点;
若否,则基于所述任一节点对应的第二属性值,确定出随机数端点值,并利用所述随机数端点值,确定出随机数取值区间;
从所述随机数取值区间中,选择出第一随机数;
获取所述任一节点的父节点下发的加密值,并利用所述第一随机数、所述第二属性值以及所述任一节点的父节点下发的加密值,生成预处理加密值,其中,当所述任一节点的父节点为根节点时,所述任一节点的父节点下发的加密值为所述初始加密值,当所述任一节点的父节点为非叶子节点时,所述任一节点的父节点下发的加密值为该任一节点的父节点的加密参数;
利用所述任一节点的第一属性值,对所述预处理加密值进行加密处理,得到所述任一节点对应的加密参数,并向所述任一节点对应的子节点下发所述加密参数,以使任一节点对应的子节点在接收到所述加密参数后,计算出对应的加密值进行添加或计算出对应的加密参数进行下发,直至将所述第二分配属性树中的所有节点均轮询完毕后,得到用于进行数据加密的属性树。
5.根据权利要求4所述的方法,其特征在于,基于所述任一节点对应的第二属性值,确定出随机数端点值,包括:
获取所述任一节点的门限结构参数,其中,所述门限结构参数包括所述任一节点对应的子节点的个数,以及所述任一节点的节点门限值;
生成若干符合第一预设条件的正整数,并利用若干正整数,组成正整数序列,其中,所述第一预设条件为生成的若干正整数中,任意两正整数互为质数,所述正整数序列中的正整数的数量,与所述用户属性集合中的用户属性的数量相同,且排序顺序为正整数的生成顺序;
基于所述第二属性值、所述门限结构参数以及所述正整数序列,并按照如下公式(1),计算出中间参数;
(1)
上述公式(1)中,表示所述中间参数,表示所述第二属性值,表示所述任一节点对应的子节点的个数,表示所述节点门限值,表示所述正整数序列中的第个正整数;
利用所述中间参数,并按照如下公式(2),计算出所述随机数端点值;
(2)
上述公式(2)中,表示所述随机数端点值;
相应的,利用所述随机数端点值,确定出随机数取值区间,则包括:
将所述随机数端点值作为左端点,将0作为右端点,以基于所述左端点和所述右端点,确定出所述随机数取值区间。
6.根据权利要求4所述的方法,其特征在于,获取所述任一节点的父节点下发的加密值,并利用所述第一随机数、所述第二属性值以及所述任一节点的父节点下发的加密值,生成预处理加密值,包括:
按照如下公式(3),生成预处理加密值;
(3)
上述公式(3)中,表示所述预处理加密值,表示所述第一随机数,表示任一节点的父节点下发的加密值,表示所述第二属性值;
相应的,利用所述任一节点的第一属性值,对所述预处理加密值进行加密处理,得到所述任一节点对应的加密参数,则包括:
按照如下公式(4),计算出所述任一节点对应的加密参数;
(4)
上述公式(4)中,表示所述任一节点对应的加密参数,表示所述任一节点对应的第一属性值,表示取余运算。
7.根据权利要求1所述的方法,其特征在于,利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数,包括:
基于所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,构建出加密矩阵,其中,所述加密矩阵中的每一个行向量分别对应一个叶子节点,且每个行向量中包含有对应叶子节点内的第一属性值、第二属性值和加密值;
根据所述初始加密参数和所述加密矩阵,构建出加密向量;
利用所述加密公共参数和所述初始加密参数,对第一密钥进行加密处理,得到第一密文;
基于初始加密参数和加密公共参数,生成第二密文,并利用第二密文,生成第三密文;
根据所述加密公共参数、所述加密向量和所述加密矩阵,生成所述第一加密验证参数;
利用所述加密公共参数、所述加密向量以及所述加密矩阵,对所述标签信息进行加密处理,以在加密处理后,得到第二加密验证参数,并完成对所述标签信息和所述第一密钥的加密处理。
8.根据权利要求7所述的方法,其特征在于,所述加密公共参数包括:第二随机数、第三随机数、第四随机数、两个乘法循环群G1与G2之间的映射函数以及乘法循环群G1的生成元;
其中,利用所述加密公共参数和所述初始加密参数,对第一密钥进行加密处理,得到第一密文,包括:
按照如下公式(5),对第一密钥进行加密处理,得到第一密文;
(5)
上述公式(5)中,表示所述第一密文,表示所述映射函数,表示生成元,表示所述第二随机数,表示所述初始加密参数,表示所述第一密钥;
基于初始加密参数和加密公共参数,生成第二密文,包括:
按照如下公式(6),生成所述第二密文;
(6)
上述公式(6)中,表示所述第二密文,表示所述第四随机数,表示第三随机数;
相应的,利用第二密文,生成第三密文,则包括:
按照如下公式(7),生成所述第三密文;
(7)
上述公式(7)中,表示所述第三密文。
9.根据权利要求7所述的方法,其特征在于,所述加密公共参数包括:第四随机数、第一单向哈希函数、第二单向哈希函数以及两个乘法循环群G1和G2中的乘法循环群G1的生成元;
根据所述初始加密参数和所述加密矩阵,构建出加密向量,包括:
从所述加密矩阵中随机选择一个列向量,作为初始加密向量;
将所述初始加密参数添加至所述初始加密向量中,以在添加后,得到所述加密向量,其中,所述加密向量中的第一个元素为所述初始加密参数;
其中,根据所述加密公共参数、所述加密向量和所述加密矩阵,生成所述第一加密验证参数,包括:
计算出加密矩阵中每一个行向量与所述加密向量之间的乘积,得到若干加密中间向量;
基于若干加密中间向量、所述生成元和所述第四随机数,计算出每个加密中间向量对应的第一加密验证子参数;
利用每个加密中间向量对应的第一加密验证子参数,组成所述第一加密验证参数;
相应的,利用所述加密公共参数、所述加密向量以及所述加密矩阵,对所述标签信息进行加密处理,以在加密处理后,得到第二加密验证参数,则包括:
获取所述属性树中每个叶子节点对应的属性映射函数;
基于所述属性映射函数、所述第一单向哈希函数、所述第二单向哈希函数以及若干加密中间向量,计算出每个加密中间向量对应的第二加密验证子参数;
利用每个加密中间向量对应的第二加密验证子参数,组成所述第二加密验证参数。
10.一种基于物联网的航材数据共享系统,其特征在于,包括:
发送单元,用于向航材监管中心发送数据共享请求,以使所述航材监管中心在接收到所述数据共享请求后,为数据共享端生成用户属性集合和加密公共参数;
属性树构建单元,用于接收所述航材监管中心发送的用户属性集合,并基于所述用户属性集合,构建出用于进行数据加密的属性树,其中,所述属性树包括若干叶子节点,所述属性树中的叶子节点的数量与所述用户属性集合中的用户属性数量相同,且任一叶子节点存储有所述用户属性集合中的一个用户属性对应的第一属性值、第二属性值和加密值;
加密单元,用于采用第一密钥对航材共享数据进行加密处理,得到加密航材共享数据;
用于获取所述航材共享数据的标签信息和初始加密参数,并利用所述初始加密参数、所述加密公共参数以及所述属性树中各个叶子节点内存储的第一属性值、第二属性值和加密值,对所述标签信息和所述第一密钥进行加密处理,以得到第一密文、第二密文、第三密文、第一加密验证参数和第二加密验证参数;以及
用于利用所述第三密文、所述第一加密验证参数和所述第二加密验证参数,构建出数据共享凭证,并利用所述第一密文、所述第二密文和所述加密航材共享数据,构建出密文集;
数据共享单元,用于将所述数据共享凭证、所述属性树和所述密文集共识至联盟链中,以在共识后,完成所述航材共享数据在所述联盟链中的数据共享,其中,所述联盟链中包含有若干联盟节点,任一联盟节点对应一个数据使用端或一个数据共享端,所述数据共享凭证和所述属性树,用于对所述联盟链中发起数据查看请求的联盟节点进行身份验证,且在身份验证通过后,所述发起数据查看请求的联盟节点对密文集进行解密得到所述航材共享数据。
CN202410977236.4A 2024-07-22 2024-07-22 一种基于物联网的航材数据共享方法及系统 Pending CN118523911A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410977236.4A CN118523911A (zh) 2024-07-22 2024-07-22 一种基于物联网的航材数据共享方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410977236.4A CN118523911A (zh) 2024-07-22 2024-07-22 一种基于物联网的航材数据共享方法及系统

Publications (1)

Publication Number Publication Date
CN118523911A true CN118523911A (zh) 2024-08-20

Family

ID=92281194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410977236.4A Pending CN118523911A (zh) 2024-07-22 2024-07-22 一种基于物联网的航材数据共享方法及系统

Country Status (1)

Country Link
CN (1) CN118523911A (zh)

Similar Documents

Publication Publication Date Title
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
US20230108682A1 (en) Data processing method and apparatus, device, and computer-readable storage medium
Huang et al. Starfl: Hybrid federated learning architecture for smart urban computing
CN109314705A (zh) 使用组加密密钥的用于大规模可伸缩动态多点虚拟私有网络的系统、装置和方法
Asfia et al. Energy trading of electric vehicles using blockchain and smart contracts
CN109040063A (zh) 车辆ecu密钥的确定方法、装置、设备及存储介质
CN109728906A (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN110912897A (zh) 基于密文属性认证和门限函数的图书资源访问控制方法
CN110505067A (zh) 区块链的处理方法、装置、设备及可读存储介质
CN109800588A (zh) 条码动态加密方法及装置、条码动态解密方法及装置
CN105897784A (zh) 物联网终端设备加密通信方法和装置
CN115828302B (zh) 一种基于可信隐私计算的微网并网控制隐私保护方法
CN110380845A (zh) 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备
CN116308776A (zh) 基于区块链的交易监管方法、装置、电子设备和存储介质
CN112749812A (zh) 一种联合学习系统、训练结果聚合的方法及设备
Xu et al. An efficient blockchain‐based privacy‐preserving scheme with attribute and homomorphic encryption
WO2021098152A1 (zh) 基于区块链的数据处理方法、装置及计算机设备
CN117614707B (zh) 基于智能合约的区块链交易方法、系统、电子设备及介质
CN116527279A (zh) 工控网络中安全数据聚合的可验证联邦学习装置及方法
CN115953244A (zh) 基于区块链的交易监管方法、装置、电子设备和存储介质
Xie et al. Verifiable federated learning with privacy-preserving data aggregation for consumer electronics
CN109687961A (zh) 基于对称密钥池路由装置的抗量子计算区块链交易方法和系统
CN109660344A (zh) 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统
CN111447058A (zh) 基于中国剩余定理的图书资源访问控制方法
CN110519214A (zh) 基于在线离线签名和辅助验证签名的应用系统近距离节能通信方法、系统、设备

Legal Events

Date Code Title Description
PB01 Publication