本发明属于遥感影像数据共享领域,具体涉及一种基于联盟链的遥感元数据上链方法。
背景技术:
随着航天科技的发展与应用需求的驱动,越来越多的卫星被部署在地球轨道上,我国截止2019年年底,已经发射了7颗民用高分遥感卫星,涵盖了光学、微波、红外等常用的传感器数据,另根据公开信息显示,我国三大民用卫星应用中心之一的中国资源卫星应用中心所存储的数据将在2020年年底达到110pb,预计在2025年将达到1400pb,还有如吉林长光卫星技术有限公司的“吉林一号”卫星遥感数据、北京二十一世纪空间技术应用股份有限公司的“北京二号”卫星遥感数据等商业遥感数据供应商,因此多数据集协同应用具有重大意义。
单个遥感影像数据文件开始变为gb级别,数据规模越来越庞大,遥感影像数据量正在以每天数级的速度增长,数据规模越来越庞大。而为了分析、研究的需要,对于中高分辨率的遥感影像的需求量越来越高。所以,遥感影像的数据量增长非常快。对于如此大量的数据必须考虑采用更有效的手段进行数据的生产、管理和存储。这些海量的遥感影像数据,给当前的遥感数据管理系统带来了巨大的挑战。
近年来,大规模的多格式、多类型、多尺度、跨地域、海量的遥感观测数据形成了
一个分布式的、异构的、跨部门的、分布式、资源类型多样的遥感影像库群,针对如何实现各部门间遥感数据的信息共享、数据收集,如何存储、管理和利用,将采用将遥感元数据编目和遥感影像数据分开存放的策略来储存,将元数据编目进行上链,并用数据地址的形式关联遥感元数据实体数据的方式。
技术实现要素:
针对现有技术存在的不足,本发明提供了一种基于联盟链的遥感元数据上链方法,采用存在准入机制的联盟链技术,并将待上传数据进行加密并拆分存储,既能保证数据的不可篡改性,并让去中心化更彻底,显著提升检索数据的效率和使用体验。
本发明的实现方法如下:
一种基于联盟链的遥感元数据上链方法,包括如下步骤:
1)身份验证:对提交申请数据上传的节点用户进行身份真实性验证,并返回数字证书;
2)上传数据:将待上传的遥感元数据进行独立的编号mid,并对用对称加密算法进行加密,生成解密密钥;
3)数据分块存储:通过ipfs服务将待上传的遥感元数据拆分成若干个数据块,把数据块存储到ipfs网络中不同的节点,然后将数据块打包成一个集合,再进行一次哈希计算得到最终的数据地址;
4)验证数据:对接收到的加密数据进行计算,对比加密前数据,验证数据完整性;
5)数据上链:将数字签名、mid、解密密钥和数据地址打包成区块进行上链。
步骤1)所述身份验证过程如下:
2.1)对申请数据上传的用户节点进行身份的验证;
2.2)身份认证通过之后,返回其相应的数字签名。
步骤2)所述上传数据过程如下:
3.1)通过提取遥感元数据里面的通用信息包括卫星名称、传感器、分辨率、采集时间、云量进行重新进行独立的编号mid;
3.2)mid编号规则:影像分辨率代码 卫星名称 传感器名称 采集时间 文件编号,其中影像分辨率代码用1位英文字母表示,高分辨率为h,中分辨率为m,低分辨率为l;卫星名称和传感器名称将不限制长度,全部取全称;采集时间用6位数字表示,采用yymmdd格式;文件编号将采取随机的4位数;
3.3)对遥感元数据进行对称加密算法进行加密,并生成解密密钥。
步骤3)所述对数据分块存储过程如下:
4.1)通过ipfs服务将要上传的遥感元数据拆分成若干个数据块;
4.2)通过基于内容的哈希算法计算每一个数据块的hash值;
4.3)将数据块分布式的存储到ipfs网络中不同的节点;
4.4)将所有的数据块打包成一个集合,再进行一次哈希计算得到最终的数据地址。
步骤4)所述对验证数据的过程如下:
5.1)接收到申请数据上传的节点用户的数字签名,并验证节点用户的身份合法性;
5.2)身份验证通过之后,接收目标联盟节点返回同意进行数据上传的指令;
5.3)接收到上传的指令之后,利用数字证书和解密密钥得到解密后遥感元数据,并判断解密后数据和原始数据是否一致。
步骤5)所述数据上链的过程如下:
6.1)在通过身份认证和数据性校验后借由联盟链节点将数字签名、mid、解密密钥和数据地址打包成数据区块上链;
6.2)利用共识机制,将数据区块广播给所有共识节点。
基于上述技术方案,本发明具有以下有益效果:
本发明使用了一种基于联盟链的遥感元数据上链方法,采用存在准入机制的联盟链技术,并将待上传数据进行加密并拆分存储,既能保证数据的不可篡改性,并让去中心化更彻底,显著提升检索数据的效率和使用体验。
附图说明
图1为本发明遥感元数据完整上链图。
图2为本发明数据加密存储图。
图3为本发明验证数据完整性图。
图4为本发明打包区块上链图。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述。此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,本发明提出的一种基于联盟链的遥感元数据上链方法里面的数据完整上链方法,包括如下步骤:
1)对提交申请数据上传的节点用户进行身份真实性验证,并返回数字证书。
1.1验证身份:对提交申请数据上传的节点用户进行身份信息认证。
1.2返回证书:在用户认证通过后,接收返回的数字证书。
2)如图2所示将待上传的遥感元数据进行独立的编号mid,并对用对称加密算法进行加密,生成解密密钥:
2.1mid编号:针对遥感元数据多源异构的特性,将从元数据自带xml文件里面提取卫星名称、传感器、分辨率、采集时间、云量信息,进行重新的独立编号mid。
编号规则:影像分辨率代码 卫星名称 传感器名称 采集时间 文件编号,其中影像分辨率代码用1位英文字母表示,高分辨率为h,中分辨率为m,低分辨率为l;卫星名称和传感器名称将不限制长度,全部取全称;采集时间用6位数字表示,采用yymmdd格式;文件编号将采取随机的4位数。
2.3数据加密:对遥感元数据进行非对称加密算法进行加密,并生成解密密钥,且加密每份待上传数据的加密密钥都是不同的,也就是解密每份密文数据都需要对应的解密密钥,然后将遥感元数据(mid)对应的时间戳和解密所需的解密密钥记录下来,得到密钥记录表。
3)将待上传的遥感元数据拆分成若干个数据块,把数据块存储到ipfs网络中不同的节点,然后将数据块打包成一个集合,再进行一次哈希计算得到最终的数据地址。
3.1拆分数据:通过ipfs服务根据遥感元数据的基本属性里面的数值、图片、文本进行拆分成数据块。
3.2数据块存储:通过基于内容的哈希算法计算每一个数据块的hash值,将数据块发布式的存储到ipfs网络中不同的节点。
3.3数据地址:将所有的数据块重新打包成一个集合,针对数据块的信息再进行一次哈希计算得到最终的数据地址。
4)如图3所示,当接收节点用户上传数据的指令时,验证其身份的完整性并返回同意上传的指令,然后对接收到的加密数据进行计算,对比加密前数据,验证数据完整性:
4.1验证身份:接收到申请数据上传节点用户的数字签名,并验证节点用户的身份合法性。
4.2返回指令:接身份验证通过,联盟链节点返回同意上传数据指令。
4.3验证数据:通过解密密钥和身份签名获取解密后数据,判断加密前后的数据是否一致,若相同则通过数据完整性校验。
5)如图4所示,以区块的形式将数字签名、mid、解密密钥和数据地址上链:
5.1打包区块:区块包含前一区块的地址、时间戳、数字签名、mid、数据地址。
5.2数据广播:利用共识机制,将数据广播给联盟链上其他的节点用户进行存储。
以上所述的具体实施方式对本发明的技术方案进行了详细说明,应理解的是以上所述的实例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
1.一种基于联盟链的遥感元数据上链方法,其特征在于:包括如下步骤:
1)身份验证:对提交申请数据上传的节点用户进行身份真实性验证,并返回数字证书;
2)上传数据:将待上传的遥感元数据进行独立的编号mid,并对用对称加密算法进行加密,生成解密密钥;
3)数据分块存储:通过ipfs服务将待上传的遥感元数据拆分成若干个数据块,把数据块存储到ipfs网络中不同的节点,然后将数据块打包成一个集合,再进行一次哈希计算得到最终的数据地址;
4)验证数据:对接收到的加密数据进行计算,对比加密前数据,验证数据完整性;
5)数据上链:将数字签名、mid、解密密钥和数据地址打包成区块进行上链。
2.根据权利要求1所述的遥感元数据上链方法,其特征在于:步骤1)所述身份验证过程如下:
2.1)对申请数据上传的用户节点进行身份的验证;
2.2)身份认证通过之后,返回其相应的数字签名。
3.根据权利要求1所述的遥感元数据上链方法,其特征在于:步骤2)所述上传数据过程如下:
3.1)通过提取遥感元数据里面的通用信息包括卫星名称、传感器、分辨率、采集时间、云量进行重新进行独立的编号mid;
3.2)mid编号规则:影像分辨率代码 卫星名称 传感器名称 采集时间 文件编号,其中影像分辨率代码用1位英文字母表示,高分辨率为h,中分辨率为m,低分辨率为l;卫星名称和传感器名称将不限制长度,全部取全称;采集时间用6位数字表示,采用yymmdd格式;文件编号将采取随机的4位数;
3.3)对遥感元数据进行对称加密算法进行加密,并生成解密密钥。
4.根据权利要求1所述的遥感元数据上链方法,其特征在于:步骤3)所述对数据分块存储过程如下:
4.1)通过ipfs服务将要上传的遥感元数据拆分成若干个数据块;
4.2)通过基于内容的哈希算法计算每一个数据块的hash值;
4.3)将数据块分布式的存储到ipfs网络中不同的节点;
4.4)将所有的数据块打包成一个集合,再进行一次哈希计算得到最终的数据地址。
5.根据权利要求1所述的遥感元数据上链方法,其特征在于:步骤4)所述对验证数据的过程如下:
5.1)接收到申请数据上传的节点用户的数字签名,并验证节点用户的身份合法性;
5.2)身份验证通过之后,接收目标联盟节点返回同意进行数据上传的指令;
5.3)接收到上传的指令之后,利用数字证书和解密密钥得到解密后遥感元数据,并判断解密后数据和原始数据是否一致。
6.根据权利要求1所述的遥感元数据上链方法,其特征在于:步骤5)所述数据上链的过程如下:
6.1)在通过身份认证和数据性校验后借由联盟链节点将数字签名、mid、解密密钥和数据地址打包成数据区块上链;
6.2)利用共识机制,将数据区块广播给所有共识节点。
技术总结