1.本发明涉及数据存储技术领域,具体涉及一种基于区块链的飞机制造数据存储方法。
背景技术:2.在飞机制造产业中,制造数据对飞机质量的监管和航空安全具有重要的作用。随着飞机产业逐渐兴起,其相关产业链从原材料供应、零部件制造、分系统集成,到整机总装,还包括研制过程中和售后的维修检测等。一架飞机主要由300-500万个零部件组成,这些零部件需要数千个供应商生产。每架飞机由多个部件组成,零部件种类繁多,且零部件在全球范围内设计和制造,多阶段供应链复杂。飞机零部件的制造数据中存在数据易丢失、占用空间大、利用率低、真实性难保障等挑战性问题。
3.当前区块链技术的安全性主要依靠区块链自身的去中心化、开放性以及防篡改性,利用该特性可以解决很多项目中的安全和信任问题,并大大保护数据及产品的隐私,对军工产业提供强有力的保障,而对比目前仍在使用旧系统的飞机制造厂商,将本项目应用到飞机制造产业当中,利用区块链中的去中心化、账本不可篡改、可追溯性的特点,可以有效解决当前飞机制造产业的数据易丢失、利用率低、真实性难保障等问题。
4.飞机制造数据传统的存储方法存在数据易丢失、数据不可信、真实性难以保障的问题,每个设计团队、生产团队都需要跟踪每架飞机上的每一个零件、每一道工序、每一张设计图等,为了以稳定、安全和可追溯的方式对飞机数据进行管理迫切需要解决的问题,基于区块链技术的数据管理,可以在技术上保证数据的不可篡改性,提供面向飞机数据档案可信内网存储和访问控制管理方案,具备可验证一致性交付能力。为此,本发明提出了一种基于区块链的飞机制造数据存储方法来解决问题。
技术实现要素:5.本发明的目的在于提供一种基于区块链的飞机制造数据存储方法,以解决上述背景技术中所提出的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.一种基于区块链的飞机制造数据存储方法,包括以下步骤:
8.步骤1:用户向飞机数据管理系统发起增加飞机制造数据的请求:
9.用户在飞机管理系统上发起增加飞机制造数据的请求后,用户节点将向星际文件系统(ipfs)发起增加数据请求;
10.步骤2:超级账本(hyperledger fabric)为发起上传数据请求的节点分配密钥:
11.超级账本集群接收到用户节点发起的上传数据的请求后,随机生成密钥,发送给请求节点;
12.步骤3:将步骤1中上传的数据使用步骤2生成的密钥进行加密;
13.步骤4:将步骤3加密后的数据存储到ipfs中;
14.步骤4.1:将步骤3加密后的数据文件存储到块中;若数据文件大小小于256kb时,直接将这个文件存储到一个块内,若数据文件大小大于256kb,将文件分割成多个256kb文件,然后放入块中,之后,ipfs创建一个空块,该块将链接该文件的所有子块;
15.步骤4.2:将步骤4.1生成的块以及块的索引结构存储到ipfs中;
16.步骤4.3:将步骤4.2上传的数据文件和索引结构存储到merkle dag中,将步骤4.2上传的文件和索引机构添加到ipfs中。
17.优选的,采用sm4加密算法对步骤1中上传的数据进行加密。。
18.优选的,步骤1上传的数据分成多组,每组长度为4字,其中1字代表4字节。
19.优选的,ipfs会将步骤4.1生成的每一个块计算一次哈希值a,所有块的哈希值a计算完毕后,将一个文件所有的哈希值a组成一个数组b,计算数组b的哈希值c,将加密后的数据文件和哈希值c组成一个索引结构d,最后将数据文件和索引结构上传到ipfs上。
20.优选的,步骤4.3中采用默克尔有向无环图(merkle dag)存储结构,使用默克尔有向无环图(merkle dag)存储结构,可以进行内容寻址,使用多种哈希来唯一识别一个数据块的内容。可以通过检查哈希值来确认数据是否被篡改。当相同内容的数据块有相同哈希值,可去掉重复的数据,节省存储空间。
21.本发明提供的基于区块链的飞机制造数据存储方法,具备以下有益效果:
22.1、本发明通过对数据采用国密sm4加密算法进行加密,保障了数据的安全性,进一步加强了飞机制造数据的隐私性。
23.2、本发明存储飞机制造数据采用区块链技术,利用区块链存储不可篡改的特性,保障飞机制造数据的可信性和安全性。
24.3、本发明采用了ipfs存储飞机制造数据,不仅提高了数据的处理速度,同时分布式的存储形式让数据存储在多个节点上,数据不易丢失或破坏,保障了数据的可靠性。
附图说明
25.图1为本发明实施例数据存储方法的流程示意图;
26.图2为本发明实实施例采用的数据加密算法结构的示意图。
具体实施方式
27.为使本发明的技术方案得到充分了解,下面对本发明的具体实施方式进行详细说明。需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分,其他相关部分可参考现有通常设计。
28.实施例
29.参见图1-2,本发明提供的基于区块链的飞机制造数据存储方法,包括以下步骤:
30.步骤1:用户向飞机数据管理系统发起增加飞机制造数据的请求:
31.用户在飞机管理系统上发起增加飞机制造数据的请求后,用户节点将向星际文件系统(ipfs)发起增加数据请求;
32.步骤2:超级账本(hyperledger fabric)为发起上传数据请求的节点分配密钥:
33.超级账本集群接收到用户节点发起的上传数据的请求后,随机生成密钥,发送给请求节点;
34.步骤3:将步骤1中上传的数据使用步骤2生成的密钥进行加密;
35.本发明采用sm4加密算法对步骤1中上传的数据进行加密,首先,将步骤1中上传的数据进行分组,每组长度为4字,其中1字代表4字节,例如输入是4字的明文(x0,x1,x2,x3),接下来需要对这个4字明文进行32次轮迭代。每一轮轮迭代都需要一个1字的轮密钥,总共需要32个轮密钥,记为(rk0,rk1,...,rk31),其中,rk0为步骤2中生成的随机密钥,其余(rk1,...,rk31)是根据rk0偏移得到;其中,迭代的过程就是不断地使用轮函数f,往后计算下一个字。
36.例如:我们现在给了4字明文(x0,x1,x2,x3),第一轮迭代就是使用前4字明文和第一轮的轮密钥计算:x4=f(x0,x1,x2,x3,rk0),第二轮迭代就是计算第6个字:x5=f(x1,x2,x3,x4,rk1),....以此类推。x
4+i
=f(xi,x
i+1
,x
i+2
,x
i+3
,rki),i∈[0,31],执行32轮,最后得到的四个字(x
32
,x
33
,x
34
,x
35
),接下来进行反序,得到最终的密文(y0,y1,y2,y3)=(x
35
,x
34
,x
33
,x
32
)。
[0037]
步骤4:将步骤3加密后的数据存储到ipfs中;
[0038]
步骤4.1:将步骤3加密后的数据文件存储到块中;
[0039]
若数据文件大小小于256kb时,直接将这个文件存储到一个块内,若数据文件大小大于256kb,将文件分割成多个256kb文件,然后放入块中,之后,ipfs创建一个空块,该块将链接该文件的所有子块;
[0040]
步骤4.2:将步骤4.1生成的块以及块的索引结构存储到ipfs中;
[0041]
ipfs会将步骤4.1生成的每一个块计算一次哈希值a,所有块的哈希值a计算完毕后,将一个文件所有的哈希值a组成一个数组b,计算数组b的哈希值c,将加密后的数据文件和哈希值c组成一个索引结构d,最后将数据文件和索引结构上传到ipfs上;
[0042]
步骤4.3:将步骤4.2上传的数据文件和索引结构存储到merkle dag中;
[0043]
将步骤4.2上传的文件和索引机构添加到ipfs中,采用默克尔有向无环图(merkle dag)存储结构,使用merkle dag存储结构,可以进行内容寻址,使用多种哈希来唯一识别一个数据块的内容。可以通过检查哈希值来确认数据是否被篡改。当相同内容的数据块有相同哈希值,可去掉重复的数据,节省存储空间。
[0044]
本发明的重点是通过对数据采用国密sm4加密算法进行加密,保障了数据的安全性,进一步加强了飞机制造数据的隐私性。
[0045]
该基于区块链的飞机制造数据存储方法在使用时,将飞机制造数据采用国密sm4加密算法进行加密,保护明文数据的安全性,通过将密文数据存储在ipfs数据库中,不仅采用区块链技术对密文数据进行存储,保护数据的不可篡改性和可信性,同时分布式存储保障了数据的可靠性,不易丢失或破坏。
[0046]
至此,已结合附图所示的优选实施方案对本发明的技术方案进行了详细阐述,应当指出,本部分中对具体结构的描述及描述顺序仅是对具体实施例的说明,不应视为对本发明的保护范围有任何限制作用。此外,在不偏离本发明的原理的前提下,本领域的技术人员可以对相关技术特征做出等同的更改、变形,拼接及相互组合,都在本发明的保护范围之内。
[0047]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对实施例进行多种变化、修改、替换和变
型,本发明的范围由所附权利要求及其等同物限定。