本发明专利技术公开了一种基于区块链的数据安全存储系统,包括区块链平台、业务平台和用户终端;业务平台用于实现维修记录的发布和保存;数据上传模块用于接收下载者的维修数据共享请求信息;代理重加密模块用于获取维修数据共享请求信息并根据预设代理重加密算法对第一私钥和第二公钥进行代理重加密密钥生成运算,得到重加密密钥;区块链平台用于获取重加密密钥并根据重加密密钥对第一密文进行重加密得到第二密文;保证了上传者在不泄露自己私钥、解密密钥的情况下,让下载者从区块链上获取到密文后,能够通过自己的私钥进行解密;实现数据一次加密、多次授权的操作,有效提高数据共享过程的安全性。
【技术实现步骤摘要】
一种基于区块链的数据安全存储系统
本专利技术涉及信息安全领域,特别涉及一种基于区块链的数据安全存储系统。
技术介绍
车辆维修数据是一种重要的维修信息记录,是维修人员在各种维修活动中直接形成的具有保存价值的原始信息。车辆维修数据的本质属性是原始记录,能够还原真实的维修过程的历史情况。因而,车辆维修数据具有重要的保存和参考价值。公开号CN108920111A的文件提供一种数据共享方法及分布式数据共享系统,涉及通信
,用于解决现有数据共享系统中存在的共享方式不能定制和数据共享效率较低的问题。其中,分布式数据共享系统还包括共享处理集群、数据传输集群和数据存储区。该方法包括:共享处理集群接收请求方发送的第一共享任务;其中,第一共享任务携带有多种共享方式;然后,共享处理集群为可用共享方式分配系统资源,并指示数据传输集群使用为可用共享方式分配的系统资源,向请求方发送数据存储集群中存储的数据。其中,可用共享方式为第一共享任务携带的,且系统资源占用率小于预设资源阈值的共享方式。车辆维修时,有时是在不同的修理厂进行,其维修数据通常存储在不同的业务平台上,当用户需要调阅车辆的维修数据时,往往需要分别在每个修理厂各自对应的业务平台上进行认证,而这些业务平台都分别由各自所属的企业进行管理,业务平台之间相互独立、数据不一致、信息共享程度不高,用户的认证和身份管理较为麻烦;且各个业务平台数据独立存储管理要保证其安全性,其硬件和软件的投入巨大,即便如此在实际应用中也很难防止外部或者内部因素对已有数据的篡改。
技术实现思路
针对现有技术存在的不足,本专利技术目的是提供一种基于区块链的数据安全存储系统。本专利技术通过上传者将第一密文发送至区块链平台,第一密文是上传者根据第一公钥加密维修数据明文得到;数据上传模块接收下载者的维修数据共享请求信息,所述维修数据共享请求信息携带有第二公钥;根据预设代理重加密算法对第一私钥和所述第二公钥进行代理重加密密钥生成运算,得到重加密密钥;将所述重加密密钥发送至所述区块链平台,以使得所述区块链平台根据所述重加密密钥对所述第一密文进行重加密得到第二密文,所述第二密文用于所述下载者根据第二私钥解密得到所述维修数据明文;有效提高数据共享过程的安全性;本专利技术中用户通过信息验证模块进行身份验证进入业务平台;结合区块链技术的去中心化、防篡改、共享等特点,业务平台接入区块链平台后将用户及用户终端相关的认证信息脱敏之后添加到区块链上,其他的业务平台只需要接入区块链平台中的节点,即可从区块链上读取到与用户有关的所有业务及各个业务内的相关信息,实现了各业务平台之间的信息共享,使得各业务平台之间可以更好的贴心的为用户提供服务,同时由于区块链中的记录都不可被篡改,身份验证交易也无法抵赖和破坏,因此在信息共享的同时可以保证信息的隐私和安全。本专利技术的目的可以通过以下技术方案实现:一种基于区块链的数据安全存储系统,包括区块链平台、业务平台和用户终端,区块链平台中包括至少三个节点,至少三个节点互相建立通讯连接,业务平台是为用户终端提供服务的业务平台,用户终端连接业务平台,业务平台连接区块链平台中的一个节点;业务平台用于实现维修记录的发布和保存;业务平台,具体包括:步骤一:维修记录的发布:用户在修理厂进行车辆维修,进行检查之后维修员会生成车辆的检查结果及车辆状况的维修数据m,对维修数据生成哈希数据H(m),并生成信息摘要digest;将哈希数据和信息摘要用修理厂的私钥进行签名发布;同时将维修数据用用户的公钥进行加密并将加密后的维修数据传送给业务平台;步骤二:维修记录的存储:具体分为用户对得到的维修数据的解密及将维修数据进行加密传输至区块链平台;包括:S21:用户通过信息验证模块进行身份验证后,成功进入业务平台;S22:用户在业务平台上接收到来自修理厂加密过的维修数据后,用自己的私钥进行解密,解密出原始维修数据,信息摘要和哈希数据,再利用修理厂的公钥进行解密;S23:对于来自修理厂加密后的维修数据,首先进行签名验证,再进行解密,将解密出的维修数据根据维修数据的车辆型号进行分类;S24:用户将第一密文发送至区块链平台,第一密文是用户根据第一公钥加密维修数据明文得到;并将此时的用户标记为上传者;第一密文用于上传者根据第一私钥进行解密得到维修数据明文;维修数据明文的加密过程包括如下步骤:X1:对维修数据明文进行序列化操作,得到字节流数据;X2:将字节流数据进行大数进制转换;X3:判断维修数据明文序列化长度是否为32的倍数,若是,执行步骤X4;若不是,对明文编码进行补零后,执行步骤X4;X4:对数据明文进行拆分,其中拆分单位为32位长度;X5:分别使用第一公钥对拆分后的片段进行bls12-381加密,对加密结果进行拼接;X6:对拼接后的加密结果进行base64编码,得到第一密文;数据上传模块用于接收下载者的维修数据共享请求信息并将维修数据共享请求信息发送至区块链平台,维修数据共享请求信息携带有第二公钥;代理重加密模块用于获取维修数据共享请求信息并根据预设代理重加密算法对第一私钥和第二公钥进行代理重加密密钥生成运算,得到重加密密钥;代理重加密模块用于将重加密密钥发送至区块链平台;区块链平台用于获取重加密密钥并根据重加密密钥对第一密文进行重加密得到第二密文;第二密文用于下载者根据第二私钥解密得到维修数据明文。进一步地,预设代理重加密算法为bls12-381算法。进一步地,第二密文的解密过程包括如下步骤:XX1:对第二密文进行base64解码,得到拼接结果;XX2:对拼接结果进行拆分,其中拆分的单位为32位长度;XX3:分别使用第二私钥对拆分结果进行解密,并对解密结果进行拼接,得到数据明文;XX4:对数据明文进行解析,得到序列化明文;XX5:对序列化明文进行反序列化操作,得到维修数据明文。进一步地,信息验证模块的具体工作步骤包括:S1:用户终端向业务平台发送认证请求;包括:S11:用户终端生成与业务平台对应的一对密钥,一对密钥包括终端私钥和终端公钥,用户终端存储有终端私钥;S12:用户终端将用户终端标识和终端公钥的公钥地址发送给业务平台;S13:业务平台确定公钥地址为身份验证交易的目的地址;S2:业务平台接收认证请求并根据认证请求发起身份验证交易;S3:业务平台使用存储的交易私钥对身份验证交易的验证信息进行签名得到签名结果;S4:业务平台将身份验证交易的验证数据向区块链平台广播,验证数据包括验证信息、签名结果以及交易公钥,交易公钥与交易私钥为一对密钥;S5:区块链平台中的各个节点根据验证数据验证身份验证交易是否合法;包括:S51:区块链平台中的各个节点检测验证数据中包括的交易公钥是否具有身份验证交易权限;S52:区块链平台中的各个节点通过验证数据中包括的交易公钥验证本文档来自技高网...
【技术保护点】
1.一种基于区块链的数据安全存储系统,其特征在于,包括区块链平台、业务平台和用户终端,区块链平台中包括至少三个节点,至少三个节点互相建立通讯连接,业务平台是为用户终端提供服务的业务平台,用户终端连接业务平台,业务平台连接区块链平台中的一个节点;/n所述业务平台用于实现维修记录的发布和保存;/n所述业务平台,具体包括:/n步骤一:维修记录的发布:用户在修理厂进行车辆维修,进行检查之后维修员会生成车辆的检查结果及车辆状况的维修数据m,对维修数据生成哈希数据H(m),并生成信息摘要digest;将哈希数据和信息摘要用修理厂的私钥进行签名发布;同时将维修数据用用户的公钥进行加密并将加密后的维修数据传送给业务平台;/n步骤二:维修记录的存储:具体分为用户对得到的维修数据的解密及将维修数据进行加密传输至区块链平台;包括:/nS21:用户通过信息验证模块进行身份验证后,成功进入业务平台;/nS22:用户在业务平台上接收到来自修理厂加密过的维修数据后,用自己的私钥进行解密,解密出维修数据、信息摘要和哈希数据,再利用修理厂的公钥进行解密;/nS23:对于来自修理厂加密后的维修数据,首先进行签名验证,再进行解密,将解密出的维修数据根据维修数据的车辆型号进行分类;/nS24:用户将第一密文发送至区块链平台,所述第一密文是用户根据第一公钥加密维修数据明文得到;并将此时的用户标记为上传者;/n所述第一密文用于上传者根据第一私钥进行解密得到维修数据明文;/n所述维修数据明文的加密过程包括如下步骤:/nX1:对所述维修数据明文进行序列化操作,得到字节流数据;/nX2:将所述字节流数据进行大数进制转换;/nX3:判断维修数据明文序列化长度是否为32的倍数,若是,执行步骤X4;若不是,对明文编码进行补零后,执行步骤X4;/nX4:对数据明文进行拆分,其中拆分单位为32位长度;/nX5:分别使用所述第一公钥对拆分后的片段进行bls12-381加密,对加密结果进行拼接;/nX6:对拼接后的加密结果进行base64编码,得到所述第一密文;/n数据上传模块用于接收下载者的维修数据共享请求信息并将维修数据共享请求信息发送至区块链平台,所述维修数据共享请求信息携带有第二公钥;/n代理重加密模块用于获取维修数据共享请求信息并根据预设代理重加密算法对第一私钥和第二公钥进行代理重加密密钥生成运算,得到重加密密钥;所述代理重加密模块用于将重加密密钥发送至区块链平台;/n所述区块链平台用于获取重加密密钥并根据重加密密钥对第一密文进行重加密得到第二密文;/n所述第二密文用于下载者根据第二私钥解密得到维修数据明文。/n...
【技术特征摘要】
1.一种基于区块链的数据安全存储系统,其特征在于,包括区块链平台、业务平台和用户终端,区块链平台中包括至少三个节点,至少三个节点互相建立通讯连接,业务平台是为用户终端提供服务的业务平台,用户终端连接业务平台,业务平台连接区块链平台中的一个节点;
所述业务平台用于实现维修记录的发布和保存;
所述业务平台,具体包括:
步骤一:维修记录的发布:用户在修理厂进行车辆维修,进行检查之后维修员会生成车辆的检查结果及车辆状况的维修数据m,对维修数据生成哈希数据H(m),并生成信息摘要digest;将哈希数据和信息摘要用修理厂的私钥进行签名发布;同时将维修数据用用户的公钥进行加密并将加密后的维修数据传送给业务平台;
步骤二:维修记录的存储:具体分为用户对得到的维修数据的解密及将维修数据进行加密传输至区块链平台;包括:
S21:用户通过信息验证模块进行身份验证后,成功进入业务平台;
S22:用户在业务平台上接收到来自修理厂加密过的维修数据后,用自己的私钥进行解密,解密出维修数据、信息摘要和哈希数据,再利用修理厂的公钥进行解密;
S23:对于来自修理厂加密后的维修数据,首先进行签名验证,再进行解密,将解密出的维修数据根据维修数据的车辆型号进行分类;
S24:用户将第一密文发送至区块链平台,所述第一密文是用户根据第一公钥加密维修数据明文得到;并将此时的用户标记为上传者;
所述第一密文用于上传者根据第一私钥进行解密得到维修数据明文;
所述维修数据明文的加密过程包括如下步骤:
X1:对所述维修数据明文进行序列化操作,得到字节流数据;
X2:将所述字节流数据进行大数进制转换;
X3:判断维修数据明文序列化长度是否为32的倍数,若是,执行步骤X4;若不是,对明文编码进行补零后,执行步骤X4;
X4:对数据明文进行拆分,其中拆分单位为32位长度;
X5:分别使用所述第一公钥对拆分后的片段进行bls12-381加密,对加密结果进行拼接;
X6:对拼接后的加密结果进行base64编码,得到所述第一密文;
数据上传模块用于接收下载者的维修数据共享请求信息并将维修数据共享请求信息发送至区块链平台,所述维修数据共享请求信息携带有第二公钥;
代理重加密模块用于获取维修数据共享请求信息并根据预设代理重加密算法对第一私钥和第二公钥进行代理重加密密钥生成运算,得到重加密密钥;所述代理重加密模块用于将重加密密钥发送至区块链平台;
所述区块链平台用于获取重加密密钥并根据重加密密钥对第一密文进行重加密得到第二密文;
所述第二密文用于下载者根据第二私钥解密得到维修数据明文。
2.根据权利要求1所述的一种基于区块链的数据安全存储系统,其特征在于,所述预设代理重加密算法为bls12-381算法。
...
【专利技术属性】
技术研发人员:杨孟勇,宣健,
申请(专利权)人:安徽省吉翔信息科技有限公司,
类型:发明
国别省市:安徽;34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。