基于区块链的数据加密方法、装置及存储介质与流程

文档序号:29787980发布日期:2022-04-23 15:27阅读:240来源:国知局
基于区块链的数据加密方法、装置及存储介质与流程

1.本技术涉及区块链技术领域,特别是涉及一种基于区块链的数据加密方法、装置及存储介质。


背景技术:

2.随着区块链技术快速发展,越来越多的企业或者用户开始使用区块链技术与其他企业进行交易或传递信息。尤其是在跨境贸易过程中,会涉及与跨境贸易相关的多个参与方,由于区块链拥有公开透明的特性,而跨境贸易区块链中存储的信息是各参与方的核心跨境贸易数据,各参与方并不愿意将这些隐私数据以明文方式公布出来,从而对于隐私数据各参与方需要进行加密处理来实现数据保护。在跨境贸易的实际应用场景中,不同国家、地区、机构所认可的加密标准不同,例如一部分国家、地区、机构认可的是中国国家加密标准,而其他国家、地区、机构则认可的是国际商用密码加密标准。从而,各参与方需要根据实际需求选择不同的加密标准,然后使用符合所选择的加密标准的加密算法来对这些隐私数据进行加密处理。因此如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准是跨境贸易区块链中需要解决的核心问题。
3.针对上述的现有技术中存在的基于区块链的跨境贸易过程中,如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本公开的实施例提供了一种基于区块链的数据加密方法、装置及存储介质,以至少解决现有技术中存在的基于区块链的跨境贸易过程中,如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准的技术问题。
5.根据本公开实施例的一个方面,提供了一种基于区块链的数据加密方法,应用于跨境贸易的区块链系统,其中区块链系统的用户节点预先存储有第一加密算法和第二加密算法,包括:用户节点接收与跨境贸易业务相关的跨境贸易数据;用户节点利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息;用户节点对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息;以及用户节点将拼接加密信息在区块链系统中进行广播。
6.根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
7.根据本公开实施例的另一个方面,还提供了一种基于区块链的数据加密装置,应用于跨境贸易的区块链系统,其中区块链系统的用户节点预先存储有第一加密算法和第二加密算法,包括:接收模块,用于接收与跨境贸易业务相关的跨境贸易数据;加密模块,用于利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息;拼接模块,用于对第一加密信息和第二加密信息进行拼接,得到拼接后的拼
接加密信息;以及广播模块,用于将拼接加密信息在区块链系统中进行广播。
8.根据本公开实施例的另一个方面,还提供了一种基于区块链的数据加密装置,应用于跨境贸易的区块链系统,其中区块链系统的用户节点预先存储有第一加密算法和第二加密算法,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:接收与跨境贸易业务相关的跨境贸易数据;利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息;对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息;以及将拼接加密信息在区块链系统中进行广播。
9.在本公开实施例中,用户节点首先接收与跨境贸易业务相关的跨境贸易数据,然后利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息。其中第一加密算法和第二加密算法分别为符合不同加密标准的加密算法。然后,对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息,最后将拼接加密信息在区块链系统中进行广播。使得区块链系统中的其他用户节点可以从区块链获取拼接加密信息,然后根据各自所采用的加密标准,从该拼接加密信息中获取到对应的使用符合各自采用的加密标准的加密算法进行加密后得到的加密信息,并对所获取到的加密信息进行解密之后得到相应的跨境贸易数据。从而,通过这种方式,在基于区块链的跨境贸易过程中,跨境贸易的各个参与方在保持跨境贸易数据隐私性的同时,还能够根据实际需求选择不同的加密标准。进而解决了现有技术中存在的基于区块链的跨境贸易过程中,如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准的技术问题。
附图说明
10.此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
11.图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
12.图2是根据本公开实施例1所述的应用于跨境贸易的区块链系统的示意图;
13.图3是根据本公开实施例1的第一个方面所述的基于区块链的数据加密方法的流程示意图;
14.图4是根据本公开实施例1的第一个方面所述的多套拼接算法中的部分拼接算法的示意图;
15.图5是根据本公开实施例2所述的基于区块链的数据加密装置的示意图;以及
16.图6是根据本公开实施例3所述的基于区块链的数据加密装置的示意图。
具体实施方式
17.为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
18.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
19.实施例1
20.根据本实施例,提供了一种基于区块链的数据加密方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
21.本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现基于区块链的数据加密方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
22.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
23.存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的基于区块链的数据加密方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的基于区块链的数据加密方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
24.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
25.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与
计算设备的用户界面进行交互。
26.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
27.图2是根据本实施例所述的应用于跨境贸易的区块链系统200的示意图。参照图2所示,该系统200包括:区块链、多个计算设备以及多个用户节点202a~202n。其中,跨境贸易中的各个参与方分别运维跨境贸易区块链中的相应的用户节点,例如:多个用户节点202a~202n分别为金融服务方节点202a、供应方节点202b、采购方节点202c、通关方节点202d、运输方节点202e、仓储方节点202f、海外检验方节点202g、承运方节点202h、进出口服务方202i、保险服务方节点202j、监管方节点202k、货代方节点202h以及其他节点等。其中,每一用户节点202a~202n均运行有区块链,该区块链存储有每个业务角色相关方上链的跨境贸易数据。多个计算设备对应于不用参与方的计算设备并且与各自的用户节点相关联,例如包括计算设备100a、100b、100c、100d....等,金融服务方的用户节点202a关联有计算设备100a、供应方的用户节点202b关联有计算设备100b、采购方的用户节点202c关联有计算设备100c、通关方的用户节点202d关联有计算设备100d。每个计算设备可以与对应的用户节点通信,例如:计算设备100a可以是金融服务方(例如:银行)的计算设备(例如:银行柜台的电脑),并且银行的计算设备可以是多个,用户节点202a例如是银行对应的用户节点,银行的计算设备100a可以与银行对应的用户节点202a通信,进而计算设备100a可以通过用户节点202a进行区块链相关的操作。其中。计算设备以及用户节点例如但不限于是服务器、终端设备、台式电脑等相关的电子设备,此处不做具体限定。需要说明的是,系统中的多个计算设备100a~100d和多个用户节点202a~202n均可适用上面所述的硬件结构。
28.在上述运行环境下,根据本实施例的第一个方面,提供了一种基于区块链的数据加密方法,应用于跨境贸易的区块链系统,其中区块链系统的用户节点预先存储有第一加密算法和第二加密算法,该方法由图2中所示的多个用户节点202a~202n中的任意一个用户节点实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
29.s302:用户节点接收与跨境贸易业务相关的跨境贸易数据;
30.s304:用户节点利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息;
31.s306:用户节点对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息;以及
32.s308:用户节点将拼接加密信息在区块链系统中进行广播。
33.正如背景技术中所述的,在跨境贸易过程中,会涉及与跨境贸易相关的多个参与方,由于区块链拥有公开透明的特性,而跨境贸易区块链中存储的信息是各参与方的核心跨境贸易数据,各参与方并不愿意将这些隐私数据以明文方式公布出来,从而对于隐私数据各参与方需要进行加密处理来实现数据保护。在跨境贸易的实际应用场景中,不同国家、地区、机构所认可的加密标准不同,例如一部分国家、地区、机构认可的是中国国家加密标准,而其他国家、地区、机构则认可的是国际商用密码加密标准。从而,各参与方需要根据实际需求选择不同的加密标准,然后使用符合所选择的加密标准的加密算法来对这些隐私数
据进行加密处理。因此如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准是跨境贸易区块链中需要解决的核心问题。
34.针对背景技术中存在的技术问题,在本实施例中,跨境贸易的某一参与方(例如,供应方)在具有将与跨境贸易业务相关的跨境贸易数据存储至区块链的需求的情况下,可以通过计算设备100a与供应方节点202a(即,用户节点)通信连接,实现供应方与区块链系统200的对接,并通过计算设备100a将跨境贸易数据发送至供应方节点202a。此时,区块链节点202a从计算设备100a接收与跨境贸易业务相关的跨境贸易数据。(对应于图3中的步骤s302)
35.进一步地,供应方节点202a预先存储有第一加密算法和第二加密算法,其中第一加密算法例如可以为符合中国国家加密标准的加密算法,第二加密算法例如可以为符合国际商用密码加密标准的加密算法。此时,为了保持该跨境贸易数据隐私性,供应方节点202a利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息。然后,供应方节点202a对所生成的第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息。最后,供应方节点202a将得到的拼接加密信息在区块链系统200中进行广播。在将拼接加密信息在区块链系统200中进行广播之后,区块链系统200进行拼接加密信息的上链操作,即将拼接加密信息写入区块链。
36.从而,区块链系统200中的其他用户节点可以从区块链获取拼接加密信息,然后根据各自所采用的加密标准,从该拼接加密信息中获取到对应的使用符合各自采用的加密标准的加密算法进行加密后得到的加密信息,并对所获取到的加密信息进行解密之后得到相应的跨境贸易数据。例如但不限于,区块链系统200中的采购方节点202c采用的是中国国家加密标准,因此采购方节点202c在从区块链获取到拼接加密信息后,从该拼接加密信息中获取到使用符合中国国家加密标准的加密算法(对应于第一加密算法)进行加密后得到的第一加密信息,然后利用与该第一加密算法对应的解密算法对第一加密信息进行解密后得到跨境贸易数据。同样的,区块链系统200中的通关方节点202d采用的是国际商用密码加密标准,因此通关方节点202d在从区块链获取到拼接加密信息后,从该拼接加密信息中获取到使用符合国际商用密码加密标准的加密算法(对应于第二加密算法)进行加密后得到的第二加密信息,然后利用与该第二加密算法对应的解密算法对第一加密信息进行解密后得到跨境贸易数据。从而,通过这种方式,在基于区块链的跨境贸易过程中,跨境贸易的各个参与方在保持跨境贸易数据隐私性的同时,还能够根据实际需求选择不同的加密标准。进而解决了现有技术中存在的基于区块链的跨境贸易过程中,如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准的技术问题。
37.可选地,第一加密算法包括第一公钥和第一私钥,第二加密算法包括第二公钥和第二私钥,并且利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息的操作,包括:分别使用第一公钥和第二公钥对跨境贸易数据进行加密,生成第一加密信息和第二加密信息,使得拥有第一私钥的节点能够使用第一私钥对第一加密信息进行解密,或者拥有第二私钥的节点能够使用第二私钥对第二加密信息进行解密。
38.具体地,第一加密算法例如可以为符合中国国家加密标准的加密算法,第二加密算法例如可以为符合国际商用密码加密标准的加密算法,并且第一加密算法包括第一公钥
和第一私钥,第二加密算法包括第二公钥和第二私钥。供应方节点202a利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息的操作过程中,使用第一公钥对跨境贸易数据进行加密,生成第一加密信息,并且使用第二公钥对跨境贸易数据进行加密,生成第二加密信息。由于区块链系统200中的各个用户节点全都预先存储有第一加密算法和第二加密算法,因此其他用户节点可以根据自身所采用的加密标准,获取使用与符合该加密标准的加密算法加密后得到加密信息,然后使用所拥有的私钥对加密信息进行解密后得到跨境贸易数据。通过这种方式,使得其他用户节点如果是采用国际商用密码加密标准的,则可以利用符合国际商用密码加密标准的加密算法的私钥进行解密,如果其他用户节点是采用中国国家加密标准的,则可以利用符合中国国家加密标准的加密算法的私钥进行解密。
39.可选地,用户节点对第一加密信息和第二加密信息进行拼接的操作,包括:用户节点访问设置于区块链系统中的区块链的指定数据区块;用户节点从指定数据区块中获取拼接算法标识信息;以及用户节点根据与拼接算法标识信息对应的拼接算法,对第一加密信息和第二加密信息进行拼接。
40.具体地,为了进一步提高存储于区块链上的跨境贸易数据的安全性,在本实施例中,可以配置多套拼接算法,并且在区块链的区块达到一定数量后,赋予具有生成该区块的出块节点切换拼接算法的权力。例如但不限于为:区块链系统200预先配置有拼接算法a、拼接算法b、拼接算法c以及拼接算法d。区块链系统200预先配置预定数量的节点具备出块资格,并且具备出块资格的节点上分别存储有上述拼接算法中的至少一个拼接算法。例如:具备出块资格的节点为采购方节点202c、运输方节点202e、承运方节点202h以及监管方节点202k,采购方节点202c上存储有拼接算法a的拼接算法标识信息,运输方节点202e上存储有拼接算法b的拼接算法标识信息,承运方节点202h上存储有拼接算法c的拼接算法标识信息,监管方节点202k上存储有拼接算法d的拼接算法标识信息。
41.进一步地,在区块链的区块数量达到一万或者一万的整数倍的情况下,负责出对应区块的出块节点可以对拼接算法进行切换。例如目前区块链中区块数量为9999块,由采购方节点202c生成第一万个区块,并且各个用户节点在本次出块之前采用的拼接算法是拼接算法c。因此,在采购方节点202c生成第一万个区块时,需要切换拼接算法,例如采购方节点202c可以将自身存储的拼接算法标识信息所对应的拼接算法a作为后续拼接算法。并在第一万个区块中存储与拼接算法a对应的拼接算法标识信息,使得其他用户节点后续可以从第一万个区块中获取该拼接算法标识信息,并采用与拼接算法标识信息对应的拼接算法对加密信息进行拼接。此外,在区块链的区块数量达到两万个的情况下,负责生成第两万个区块的出块节点依据上述的原理,由该区块的出块节点所存储的拼接算法标识信息所对应的拼接算法作为后续的拼接算法。例如,第两万个区块是由监管方节点202k生成的,从而监管方节点202k将所存储的拼接算法标识信息(即拼接算法d的拼接算法标识信息)写入第两万个区块,从而在区块链系统中实现拼接算法的切换。
42.在上述运行环境下,用户节点(例如,供应方节点202a)在执行加密并且对第一加密信息和第二加密信息进行拼接的操作过程中,首先从指定数据区块中获取拼接算法标识信息。其中,假设区块链的区块数量为一万五千个,则供应方节点202a需要从第一万个区块(对应于指定数据区块)中获取拼接算法标识信息(即拼接算法a的拼接算法标识信息),然
后根据与拼接算法标识信息对应的拼接算法,对第一加密信息和第二加密信息进行拼接。当供应方节点202a在区块数量大于两万之后(例如,区块数量为两万五千块)的时刻,再次执行加密并且对生成的第一加密信息和第二加密信息进行拼接时,会从第两万个区块中获取拼接算法d的拼接算法标识信息,从而利用拼接算法d进行拼接。
43.其中,参照图4所述,第一加密信息例如可以为由a
1 a
2 a
3 a4组成的字符串信息,第二加密信息例如可以为由b
1 b
2 b
3 b4组成的字符串信息。在本实施例中,示例性的示出了多套拼接算法中的部分拼接算法(例如拼接算法a、拼接算法b、拼接算法c以及拼接算法d)的具体拼接方式。参照图4所示,拼接算法a的拼接方式可以为直接将第二加密信息拼接在第一加密信息之后,则使用拼接算法a对第一加密信息和第二加密信息进行拼接之后得到的拼接信息为由a
1 a
2 a
3 a
4 b
1 b
2 b
3 b4组成的字符串信息。
44.其中,拼接算法b的拼接方式可以为先取第一加密信息中的第一个字符串(即,a1),再取第二加密信息中的第一个字符串(即,b1),然后按照字符串的排序顺序依次间隔取出第一加密信息和第二加密信息中的各个字符串,并按照各个字符串取出的先后顺序重新进行排序。参照图4所示,使用拼接算法b对第一加密信息和第二加密信息进行拼接之后得到的拼接信息为由a
1 b
1 a
2 b
2 a
3 b
3 a
4 b4组成的字符串信息。
45.其中,拼接算法c的拼接方式可以为先使用一个随机数对第一加密信息中的各个字符串进行随机排序,同样也使用另一个随机数对第二加密信息中的各个字符串进行随机排序。然后,再将随机排序后的第二加密信息直接拼接在随机排序后的第二加密信息。参照图4所示,使用拼接算法c对第一加密信息和第二加密信息进行拼接之后得到的拼接信息为由a
1 a
3 a
4 a
2 b
4 b
2 b
3 b1组成的字符串信息。此外,在将与拼接算法c对应的拼接算法标识信息存储至指定数据区块的过程中,可以将所使用的上述两个随机数一同存储至指定数据区块,使得用户可以根据这两个随机数分别还原出原始的第一加密信息和第二加密信息。
46.其中,拼接算法d的拼接方式可以为先将第二加密信息直接拼接在第一加密信息之后,得到一个初始拼接信息,然后使用一个随机数将该初始拼接信息所包含的全部字符串进行随机排序,生成一个随机排序后的拼接信息。参照图4所示,使用拼接算法d对第一加密信息和第二加密信息进行拼接之后得到的拼接信息为由a
1 b
4 b
1 a
3 a
4 b
2 b
3 a2组成的字符串信息。此外,在将与拼接算法d对应的拼接算法标识信息存储至指定数据区块的过程中,可以将所使用的随机数一同存储至指定数据区块,使得用户可以根据该随机数分别还原出原始的第一加密信息和第二加密信息。
47.从而,通过这种方式,只有区块链系统200中的节点才能知晓具体的拼接算法,即使黑客拦截到加密信息和公钥,在不知晓所使用的拼接算法的情况下,仍然无法获取到具体的跨境贸易数据,提高了链上的跨境贸易数据的安全性。并且,在区块链的区块到达一定数量后,可以随机切换拼接算法,提高了链上的跨境贸易数据的安全性。
48.可选地,该方法还包括:区块链系统从预先设置的多个具备出块资格的节点中确定当前出块节点,由当前出块节点将拼接加密信息和拼接算法标识信息写入区块链系统中的区块链。
49.具体地,参照上述的,区块链系统200预先设置有多个具备出块资格的节点,例如包括采购方节点202c、运输方节点202e、承运方节点202h以及监管方节点202k。在供应方节点202a将拼接加密信息在区块链系统200中进行广播之后,区块链系统200需要从个具备出
块资格的节点中确定当前出块节点,即需要从采购方节点202c、运输方节点202e、承运方节点202h以及监管方节点202k中确定当前出块节点(例如,运输方节点202e)。由运输方节点202e将拼接加密信息和拼接算法标识信息写入新生成的区块中并在区块链系统中广播新生成的区块。使得其他用户节点可以从区块链的对应区块中获取拼接加密信息和拼接算法标识信息,然后根据与该拼接算法标识信息对应的拼接算法,对拼接加密信息进行解拼接操作,从而得到对应的加密信息,并根据加密信息获得最终的跨境贸易数据。通过这种方式,进一步提高了链上的跨境贸易数据的安全性。
50.此外,可选地,拼接算法不仅仅局限于以上所述的拼接算法a至拼接算法d。例如还可以包括其他已知的拼接算法,例如可以简称为拼接算法e至拼接算法h。从而,每个出块节点例如可以设置有多个拼接算法的拼接算法标识信息。例如,采购方节点202c上存储有拼接算法a和拼接算法b的拼接算法标识信息,运输方节点202e上存储有拼接算法c和拼接算法d的拼接算法标识信息,承运方节点202h上存储有拼接算法e和拼接算法f的拼接算法标识信息,监管方节点202k上存储有拼接算法g和拼接算法h的拼接算法标识信息。从而,当某个出块节点需要生成一万的整数倍个区块时,例如可以从设置的多个拼接算法标识信息中,根据预设规则选择一个拼接算法写入到生成的区块中。从而通过这种方式,进一步降低了拼接算法被破解的可能性,增强了加密的安全性。
51.可选地,该方法还包括通过以下操作生成指定数据区块:区块链系统根据预设的共识机制,从预先设置的多个具备出块资格的节点中确定与指定数据区块对应的出块节点,通过出块节点生成指定数据区块以及相关数据的写入操作。
52.具体地,参照上述的,区块链上的指定数据区块例如为区块链上的第三万个区块,在本实施例中,通过以下操作生成第三万个区块:首先由区块链系统200根据预设的共识机制,从预先设置的多个具备出块资格的节点中确定与第三万个区块对应的出块节点(例如承运方节点202h),然后通过承运方节点202h生成第三万个区块和相关数据的写入操作。
53.在一个优选实施例中,承运方节点202h通过以下操作将相关数据写入指定数据区块:承运方节点202h首先确定指定数据区块的区块号,即确定该指定数据区块的区块号是否为三万。然后承运方节点202h根据区块号,从预设的多个候选拼接算法标识信息中选取出一个候选拼接算法标识信息作为拼接算法标识信息。假设承运方节点202h上预先存储有拼接算法e和拼接算法f,并且存储有与拼接算法e和拼接算法f对应的拼接算法标识信息,此时承运方节点202h首先确定切换后的拼接算法(例如拼接算法f),然后将与拼接算法f对应的拼接算法标识信息存储至该指定数据区块(即,第三万个区块)中。通过这种方式,使得其他用户节点后续可以从该指定数据区块中获取该拼接算法标识信息,并采用与拼接算法标识信息对应的拼接算法对加密信息进行拼接。
54.此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
55.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
56.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
57.实施例2
58.图5示出了根据本实施例所述的基于区块链的数据加密装置500,应用于跨境贸易的区块链系统,其中区块链系统的用户节点预先存储有第一加密算法和第二加密算法,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:接收模块510,用于接收与跨境贸易业务相关的跨境贸易数据;加密模块520,用于利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息;拼接模块530,用于对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息;以及广播模块540,用于将拼接加密信息在区块链系统中进行广播。
59.可选地,第一加密算法包括第一公钥和第一私钥,第二加密算法包括第二公钥和第二私钥,并且加密模块520,包括:加密子模块,用于分别使用第一公钥和第二公钥对跨境贸易数据进行加密,生成第一加密信息和第二加密信息,使得拥有第一私钥的节点能够使用第一私钥对第一加密信息进行解密,或者拥有第二私钥的节点能够使用第二私钥对第二加密信息进行解密。
60.可选地,拼接模块530包括:访问子模块,用于访问设置于区块链系统中的区块链的指定数据区块;获取子模块,用于从指定数据区块中获取拼接算法标识信息;以及拼接子模块,用于根据与拼接算法标识信息对应的拼接算法,对第一加密信息和第二加密信息进行拼接。
61.可选地,装置500还包括:确定模块,用于从预先设置的多个具备出块资格的节点中确定当前出块节点,由当前出块节点将拼接加密信息和拼接算法标识信息写入区块链系统中的区块链。
62.可选地,装置500还包括生成模块,用于生成指定数据区块,并且生成模块包括确定子模块,用于根据预设的共识机制,从预先设置的多个具备出块资格的节点中确定与指定数据区块对应的出块节点,通过出块节点生成指定数据区块以及相关数据的写入操作。
63.可选地,装置500还包括写入模块,用于通过以下操作将相关数据写入指定数据区块:确定指定数据区块的区块号;根据区块号,从预设的多个候选拼接算法标识信息中选取出一个候选拼接算法标识信息作为拼接算法标识信息;以及将拼接算法标识信息写入指定数据区块。
64.从而根据本实施例,装置500首先接收与跨境贸易业务相关的跨境贸易数据,然后利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息。其中第一加密算法和第二加密算法分别为符合不同加密标准的加密算法。然后,对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息,最后将拼接加密信息在区块链系统中进行广播。使得区块链系统中的其他用户节点可以从区块链获取拼接加密信息,然后根据各自所采用的加密标准,从该拼接加密信息中获取到对应的使用
符合各自采用的加密标准的加密算法进行加密后得到的加密信息,并对所获取到的加密信息进行解密之后得到相应的跨境贸易数据。从而,通过这种方式,在基于区块链的跨境贸易过程中,跨境贸易的各个参与方在保持跨境贸易数据隐私性的同时,还能够根据实际需求选择不同的加密标准。进而解决了现有技术中存在的基于区块链的跨境贸易过程中,如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准的技术问题。
65.实施例3
66.图6示出了根据本实施例所述的基于区块链的数据加密装置600,应用于跨境贸易的区块链系统,其中区块链系统的用户节点预先存储有第一加密算法和第二加密算法,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:处理器610;以及存储器620,与处理器610连接,用于为处理器610提供处理以下处理步骤的指令:接收与跨境贸易业务相关的跨境贸易数据;利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息;对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息;以及将拼接加密信息在区块链系统中进行广播。
67.可选地,第一加密算法包括第一公钥和第一私钥,第二加密算法包括第二公钥和第二私钥,并且利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息的操作,包括:分别使用第一公钥和第二公钥对跨境贸易数据进行加密,生成第一加密信息和第二加密信息,使得拥有第一私钥的节点能够使用第一私钥对第一加密信息进行解密,或者拥有第二私钥的节点能够使用第二私钥对第二加密信息进行解密。
68.可选地,对第一加密信息和第二加密信息进行拼接的操作,包括:访问设置于区块链系统中的区块链的指定数据区块;从指定数据区块中获取拼接算法标识信息;以及根据与拼接算法标识信息对应的拼接算法,对第一加密信息和第二加密信息进行拼接。
69.可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:从预先设置的多个具备出块资格的节点中确定当前出块节点,由当前出块节点将拼接加密信息和拼接算法标识信息写入区块链系统中的区块链。
70.可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:通过以下操作生成指定数据区块:根据预设的共识机制,从预先设置的多个具备出块资格的节点中确定与指定数据区块对应的出块节点,通过出块节点生成指定数据区块以及相关数据的写入操作。
71.可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:通过以下操作将相关数据写入指定数据区块:确定指定数据区块的区块号;根据区块号,从预设的多个候选拼接算法标识信息中选取出一个候选拼接算法标识信息作为拼接算法标识信息;以及将拼接算法标识信息写入指定数据区块。
72.从而根据本实施例,装置600首先接收与跨境贸易业务相关的跨境贸易数据,然后利用第一加密算法和第二加密算法,分别对跨境贸易数据进行加密,生成第一加密信息和第二加密信息。其中第一加密算法和第二加密算法分别为符合不同加密标准的加密算法。然后,对第一加密信息和第二加密信息进行拼接,得到拼接后的拼接加密信息,最后将拼接
加密信息在区块链系统中进行广播。使得区块链系统中的其他用户节点可以从区块链获取拼接加密信息,然后根据各自所采用的加密标准,从该拼接加密信息中获取到对应的使用符合各自采用的加密标准的加密算法进行加密后得到的加密信息,并对所获取到的加密信息进行解密之后得到相应的跨境贸易数据。从而,通过这种方式,在基于区块链的跨境贸易过程中,跨境贸易的各个参与方在保持跨境贸易数据隐私性的同时,还能够根据实际需求选择不同的加密标准。进而解决了现有技术中存在的基于区块链的跨境贸易过程中,如何在保持跨境贸易数据隐私性的同时能够保障各参与方能够根据实际需求选择不同的加密标准的技术问题。
73.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
74.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
75.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
76.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
77.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
78.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
79.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1