请求信息的处理方法及装置、存储介质、电子装置
文献发布时间:2023-06-19 09:35:27
技术领域
本发明涉及通信领域,具体而言,涉及一种请求信息的处理方法及装置、存储介质、电子装置。
背景技术
近年来,随着越来越多的家电设备具接入了互联网、物联网,众多家电厂商的智能云平台从私有走向开放共享,不同厂商的云平台之间实现了互联互通。
厂商A云平台与厂商B云平台实现互联互通后,厂商B通过云云互联互通向厂商A发送针对厂商A设备的查询、控制、更改等指令,同时还可以获取厂商A设备用户信息等。厂商A可以将上述厂商B的指令以及发送给厂商B的信息存储起来已被后续出现安全事件或商业纠纷时作为针对厂商B的举证信息。但是如果厂商B不承认所述举证信息,则厂商A无法证明所述举证信息是由厂商B产生或发送给厂商B的。
针对相关技术中,两个云平台进行交互的过程中,无法将两者交互的信息保存,进而供后续取证等过程的问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种请求信息的处理方法及装置、存储介质、电子装置,解决两个云平台进行交互的过程中,无法将两者交互的信息保存,进而供后续取证等过程的问题。
根据本发明的一个可选实施例,提供了一种请求信息的处理方法,包括:区块链节点接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。
可选地,在所述第一目标数据包括:对所述请求信息进行加密后得到的第一加密数据,所述第一签名数据,用于对所述第一加密数据进行标识的第一标识信息的情况下,区块链节点接收第一云平台发送的第一目标数据之后,所述方法还包括:所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二签名数据,对第一云平台发送至所述第二云平台的请求信息进行加密后的第二加密数据,用于对所述第二加密数据进行标识的第二标识信息;所述区块链节点根据所述第一签名数据,所述第一加密数据,所述第一标识信息,所述第二签名数据,所述第二加密数据以及所述第二标识信息确定是否将所述请求信息保存在所述区块链节点中。
可选的,所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中,包括:所述区块链节点对所述第一签名数据进行解密,得到第一请求信息;在所述第一目标数据中的请求信息与所述第一请求信息一致的情况下,确定所述第一云平台发送了所述请求信息;所述区块链节点对所述第二签名数据进行解密,得到第二请求信息;在所述第二目标数据中的请求信息与所述第二请求信息一致的情况下,确定所述第二云平台发送了所述请求信息;在确定所述第一云平台发送了请求信息,以及所述第二云平台发送了请求信息的情况下,确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息是否一致,以确定是否将所述请求信息保存在所述区块链节点中。
可选的,确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息是否一致,以确定是否将所述请求信息保存在所述区块链节点中,包括:在确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致的情况下,将所述请求信息保存在所述区块链节点中;在确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致的情况下,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致。
可选的,所述区块链节点根据所述第一签名数据,所述第一加密数据,所述第一标识信息,所述第二签名数据,所述第二加密数据以及所述第二标识信息确定是否将所述请求信息保存在所述区块链节点中,包括:所述区块链节点对所述第一签名数据进行解密,得到第三加密数据;在所述第三加密数据与所述第一加密数据一致的情况下,确定所述第一云平台发送了所述第一加密数据;所述区块链节点对所述第二签名数据进行解密,得到第四加密数据;在所述第四加密数据与所述第二加密数据一致的情况下,确定所述第二云平台发送了所述第二加密数据;在确定所述第一云平台发送了所述第一加密数据,以及所述第二云平台发送了所述第二加密数据的情况下,确定所述第一加密数据以及所述第二加密数据是否一致,以确定是否将所述请求信息保存在所述区块链节点中。
可选的,确定所述第一加密数据以及所述第二加密数据是否一致,包括:确定所述第一标识信息与所述第二标识信息是否相同;在相同的情况下,确定所述第一加密数据以及所述第二加密数据是否一致。
可选的,确定所述第一加密数据以及所述第二加密数据是否一致,以确定是否将所述请求信息保存在所述区块链节点中,包括:在确定所述第一加密数据以及所述第二加密数据一致的情况下,将所述请求信息保存在所述区块链节点中;在确定所述第一加密数据以及所述第二加密数据不一致的情况下,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示所述第一加密数据以及所述第二加密数据不一致。
根据本发明的又一个实施例,还提供了一种请求信息的处理装置,应用于区块链节点,包括:第一接收模块,用于接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;第二接收模块,用于在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;确定模块,用于根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,区块链节点接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。即在两个云平台的交互过程中引入区块链节点,进而根据第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将两个云平台交互的信息保存在区块链节点上,为后续取证提供了依据,采用上述技术方案,解决了两个云平台进行交互的过程中,无法将两者交互的信息保存,进而供后续取证等过程的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种请求信息的处理方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种请求信息的处理方法的流程图;
图3为根据本发明可选实施例的一种请求信息的处理方法的流程示意图(一);
图4是根据本发明实施例的一种请求信息的处理方法的流程示意图(二);
图5是根据本发明实施例的一种请求信息的处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在计算机终端,或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种请求信息的处理方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种请求信息的处理的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种请求信息的处理方法,应用于上述计算机终端,图2是根据本发明实施例的一种请求信息的处理方法的流程图,该流程包括如下步骤:
步骤S202,区块链节点接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;
步骤S204,在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;
步骤S206,区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。
通过本发明,区块链节点接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。即在两个云平台的交互过程中引入区块链节点,进而根据第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将两个云平台交互的信息保存在区块链节点上,为后续取证提供了依据,采用上述技术方案,解决了两个云平台进行交互的过程中,无法将两者交互的信息保存,进而供后续取证等过程的问题。
在实际操作过程中,考虑到云平台会在发送请求信息之前,会对请求信息进行加密处理,在这种场景下,本发明实施例还提供了另一种请求信息的处理方法,在所述第一目标数据包括:对所述请求信息进行加密后得到的第一加密数据,所述第一签名数据,用于对所述第一加密数据进行标识的第一标识信息的情况下,区块链节点接收第一云平台发送的第一目标数据之后,包括以下步骤:
步骤1:所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二签名数据,对第一云平台发送至所述第二云平台的请求信息进行加密后的第二加密数据,用于对所述第二加密数据进行标识的第二标识信息;
步骤2:所述区块链节点根据所述第一签名数据,所述第一加密数据,所述第一标识信息,所述第二签名数据,所述第二加密数据以及所述第二标识信息确定是否将所述请求信息保存在所述区块链节点中。
需要说明的是,在本发明实施例中,上述加密方式使用了安全散列算法(SecureHash Algorithm,简称为SHA)对请求信息加密,这样其他厂商便不能看见信息,从而达到了商业保密的效果。
具体来说:厂商A云平台(相当于上述第一云平台)收到发送给厂商B云平台(相当于上述实施例的第二云平台)的请求信息后,使用安全散列算法对所述请求信息进行散列运算,得到第一加密数据。然后第一云平台向第二云平台发送请求信息,同时向区块链系统(相当于上述实施例的区块链节点)发送所述第一加密数据+所述第一签名数据+标识信息,区块链系统使用厂商A公钥解密所述第一签名数据,确认所述第一加密数据是由厂商A发送。进一步地,区块链系统还需从第二云平台接收第二加密数据+所述第二签名数据+标识信息,其中,第二加密数据是第二云平台采用相同的安全散列算法对请求信息进行加密后所得到的,第二签名数据,也即为对请求信息进行签名后得到的第二签名数据,两个标识信息一般情况下会设置为同一值,之后根据标识信息在区块链系统中找到所述第一加密数据,如果所述第一加密数据与第二加密数据相同,则区块链系统保存信息,如果不同,则向厂商A和厂商B发送加密信息不匹配的消息。
也就是说,当所述第一加密数据与第二加密数据相同时,则区块链系统保存信息;当所述第一加密数据与第二加密数据不同时,区块链系统向厂商A和厂商B发送加密信息不匹配的消息。
由于区块链技术能安全地存储数字货币交易或其他数据(本发明实施例中可以是两个云平台之间交互的请求信息),存储在区块链上的信息不可伪造和篡改,如此厂商A可以将上述厂商B的指令以及发送给厂商B的信息存储起来以备后续出现安全事件或商业纠纷时作为针对厂商B的举证信息。同理厂商B也可以这样举证厂商A。而且此可选实施例使用了安全散列算法对信息加密,这样其他厂商便不能看见信息,从而达到了商业保密的效果。商业秘密对于商业竞争越来越重要,本发明实施例通过这样的技术不但可以安全地存储厂商数据,而且也实现了信息保密。
上述步骤S206的实现方式有多种,在一个可选实施例中,所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中,可以通过以下技术方案实现:所述区块链节点对所述第一签名数据进行解密,得到第一请求信息;在所述第一目标数据中的请求信息与所述第一请求信息一致的情况下,确定所述第一云平台发送了所述请求信息;所述区块链节点对所述第二签名数据进行解密,得到第二请求信息;在所述第二目标数据中的请求信息与所述第二请求信息一致的情况下,确定所述第二云平台发送了所述请求信息;在确定所述第一云平台发送了请求信息,以及所述第二云平台发送了请求信息的情况下,确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息是否一致,以确定是否将所述请求信息保存在所述区块链节点中。
需要说明的是,第一目标数据中包括:用于与第二云平台交互的请求信息和根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据。其中根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据是含有用于与第二云平台交互的请求信息的。基于上述方案,所述区块链节点对所述第一签名数据进行解密,得到第一请求信息,在所述第一目标数据中的请求信息与所述第一请求信息一致的情况下,确定所述第一云平台发送了所述请求信息。本发明实施例需要用在所述第一目标数据中的请求信息与所述第一请求信息是否一致来确定所述第一云平台发送了所述请求信息。同理,第二目标数据中的请求信息也会用于相似的判断过程。
确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息是否一致,以确定是否将所述请求信息保存在所述区块链节点中,可以通过以下方式实现:在确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致的情况下,将所述请求信息保存在所述区块链节点中;在确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致的情况下,向所述第一云平台以及所述第二云平台发送加密信息不匹配的消息。
需要说明的是,本发明实施例的请求信息可以包括针对厂商B设备的查询指令、控制指令、更改基本信息等指令,或者获取厂商B云平台信息、设备用户信息等,本发明实施例对此不进行进一步的限定。
也就是说,当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致时,将所述请求信息保存在所述区块链节点中。如此第一云平台可以将上述第二云平台的指令以及发送给第二云平台的信息存储起来以备后续出现安全事件或商业纠纷时作为针对第二云平台的举证信息。当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致时,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致。如果发送的请求信息不一致,则此次发送信息失败,第一云平台和第二云平台可以丢弃这次通信。
在另一个可选实施例中,所述区块链节点根据所述第一签名数据,所述第一加密数据,所述第一标识信息,所述第二签名数据,所述第二加密数据以及所述第二标识信息确定是否将所述请求信息保存在所述区块链节点中,包括:
所述区块链节点对所述第一签名数据进行解密,得到第三加密数据;在所述第三加密数据与所述第一加密数据一致的情况下,确定所述第一云平台发送了所述第一加密数据;所述区块链节点对所述第二签名数据进行解密,得到第四加密数据;在所述第四加密数据与所述第二加密数据一致的情况下,确定所述第二云平台发送了所述第二加密数据;在确定所述第一云平台发送了所述第一加密数据,以及所述第二云平台发送了所述第二加密数据的情况下,确定所述第一加密数据以及所述第二加密数据是否一致,以确定是否将所述请求信息保存在所述区块链节点中。
需要说明的是,第一目标数据中的请求信息包括:在所述第一目标数据包括:对所述请求信息进行加密后得到的第一加密数据,所述第一签名数据,用于对所述第一加密数据进行标识的第一标识信息。其中所述第一签名数据含有对所述请求信息进行加密后得到的第一加密数据。基于上述方案,所述区块链节点对所述第一签名数据进行解密,得到对所述请求信息进行加密后得到的第一加密数据,在从第一签名数据中解密出的第一加密数据与对所述请求信息进行加密后得到的第一加密数据一致的情况下,确定所述第一云平台发送了所述第一加密数据。同理,第二目标数据中的请求信息也会执行相似的处理流程。
确定所述第一加密数据以及所述第二加密数据是否一致,包括:确定所述第一标识信息与所述第二标识信息是否相同;在相同的情况下,确定所述第一加密数据以及所述第二加密数据是否一致。
需要说明的是,如果是所述第一云平台与所述第二云平台互通消息,那么所述第一云平台与所述第二云平台发送给区块链系统的第一标识信息与所述第二标识信息是相同,就可以根据标识信息(即上述第一标识信息或第二标识信息)分别确定信息是不是第一云平台与所述第二云平台所发送的,之后再确定所述第一加密数据以及所述第二加密数据是否一致。
确定所述第一加密数据以及所述第二加密数据是否一致,以确定是否将所述请求信息保存在所述区块链节点中,包括:在确定所述第一加密数据以及所述第二加密数据一致的情况下,将所述请求信息保存在所述区块链节点中;在确定所述第一加密数据以及所述第二加密数据不一致的情况下,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示所述第一加密数据以及所述第二加密数据不一致。
也就是说,当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致时,将所述请求信息保存在所述区块链节点中。如此第一云平台可以将上述第二云平台的指令以及发送给第二云平台的信息存储起来以备后续出现安全事件或商业纠纷时作为针对第二云平台的举证信息。当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致时,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致。如果发送的请求信息不一致,则此次发送信息失败,第一云平台和第二云平台可以丢弃这次通信。
为了更好的理解上述技术方案,本发明可选实施例还提供了两种可选实施例,用于解释说明上述技术方案。
在一个可选实施例中,图3为根据本发明可选实施例的一种请求信息的处理的流程示意图(一),如图3所示,包括以下步骤:
步骤S302:厂商A云平台收到发送给厂商B云平台的请求信息。所述请求信息可以是针对厂商B设备的查询指令、控制指令、更改基本信息指令,或者获取厂商B云平台信息、设备用户信息等;所述请求信息包括:厂商A标识、厂商A云平台标识、厂商A云平台地址、时间戳,以及厂商B标识、厂商B云平台标识、厂商B云平台地址。
步骤S304:厂商A使用厂商A私钥对所述请求信息进行签名,得到第一签名数据;
步骤S306:厂商A云平台将所述请求信息发送给厂商B云平台;
步骤S308:厂商B使用厂商B私钥对所述请求信息进行签名,得到第二签名数据;
步骤S310:厂商B云平台将所述第二签名数据发布给区块链系统;
步骤S312:该步骤与第S306同时进行。厂商A云平台将所述请求信息、所述第一签名数据发布给区块链系统;
步骤S314:区块链系统使用厂商A公钥解密所述第一签名数据,将解密内容与所述请求信息对比,如果相同则确认厂商A发送了所述请求信息;数字签名保证不可抵赖性。
步骤S316:区块链系统使用厂商B公钥解密所述第二签名数据,将解密内容与所述请求信息对比,如果相同则确认厂商B发送了所述请求信息;
步骤S318:区块链系统厂商A发送的请求信息与厂商B发送的请求信息进行对比。如果两者相同则执行步骤S320,否则执行步骤S322;
步骤S320:在区块链系统中存储所述第一请求信息;
步骤S322:向厂商A云平台和厂商B云平台发送请求信息匹配失败信息。
需要说明的是,上述步骤的执行顺序并不是方案的实际操作流程,在实际操作过程中,很多步骤都可以是并行操作的,部分步骤的执行顺序也可以调换,本发明实施例对此不进行限定。
在另一个可选实施例中,图4为根据本发明可选实施例的一种请求信息的处理的流程示意图(二),如图4所示,包括以下步骤:
步骤S402:厂商A云平台收到发送给厂商B云平台的请求信息。所述请求信息可以是针对厂商B设备的查询指令、控制指令、更改基本信息指令,或者获取厂商B云平台信息、设备用户信息等;所述请求:厂商A标识、厂商A云平台标识、厂商A云平台地址、时间戳,以及厂商B标识、厂商B云平台标识、厂商B云平台地址。
步骤S404:厂商A使用算法1对所述请求进行散列运算,得到第一加密数据;算法1应是FIPS推荐的安全散列算法,如SHA-256、SHA-384,和SHA-512等。
步骤S406:厂商A使用厂商A私钥对所述第一加密数据进行签名,得到第一签名数据;
步骤S408:厂商A云平台将所述请求信息发送给厂商B云平台;
步骤S410:厂商B使用算法1对所述请求进行散列运算,得到第二加密数据;所述第一加密数据和第二加密数据内容相同。
步骤S412:厂商B使用厂商B私钥对所述第二加密数据进行签名,得到第二签名数据;
步骤S414:厂商B云平台将所述第二加密数据、所述第二签名数据发布给区块链系统;
步骤S416:该步骤与步骤S408同时进行。厂商A云平台将所述第一加密数据、所述第一签名数据发布给区块链系统;
步骤S418:区块链系统使用厂商A公钥解密所述第一签名数据,将解密内容与所述第一加密数据对比,如果相同则确认所述第一加密数据是由厂商A发送的;数字签名保证不可抵赖性。
步骤S420:区块链系统使用厂商B公钥解密所述第二签名数据,将解密内容与所述第二加密数据对比,如果相同则确认所述第二加密数据是由厂商B发送的;
步骤S422:区块链系统若先得到第一加密数据,则根据第一加密数据内容在特定时限内查找第二加密数据,反之若先得到第二加密内容则查找第一加密内容。
步骤S424:如果找到另一个加密内容,则执行步骤S426,否则执行步骤S428;
步骤S426:在区块链系统中存储所述第一加密信息(与第二加密信息内容相同);
步骤S428:向厂商A云平台和厂商B云平台发送加密信息匹配失败信息。
需要说明的是,上述步骤的执行顺序并不是方案的实际操作流程,在实际操作过程中,很多步骤都可以是并行操作的,部分步骤的执行顺序也可以调换,本发明实施例对此不进行限定。
通过本发明,区块链节点接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。即在两个云平台的交互过程中引入区块链节点,进而根据第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将两个云平台交互的信息保存在区块链节点上,为后续取证提供了依据,采用上述技术方案,解决了两个云平台进行交互的过程中,无法将两者交互的信息保存,进而供后续取证等过程的问题。
在本实施例中还提供了一种请求信息的处理方法装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的一种请求信息的处理方法装置的结构框图;如图5所示,包括:
第一接收模块50:接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;
第二接收模块52:在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;
确定模块54:根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。
通过上述技术方案,区块链节点接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,所述区块链节点接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;所述区块链节点根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。采用上述技术方案,解决了两个云平台进行交互的过程中,无法将两者交互的信息保存,进而供后续取证等过程的问题。
在另一个可选实施例中,在所述第一目标数据包括:对所述请求信息进行加密后得到的第一加密数据,所述第一签名数据,用于对所述第一加密数据进行标识的第一标识信息的情况下,所述第一接收模块,还用于接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二签名数据,对第一云平台发送至所述第二云平台的请求信息进行加密后的第二加密数据,用于对所述第二加密数据进行标识的第二标识信息;所述确定模块,还用于根据所述第一签名数据,所述第一加密数据,所述第一标识信息,所述第二签名数据,所述第二加密数据以及所述第二标识信息确定是否将所述请求信息保存在所述区块链节点中。
需要说明的是,在本发明实施例中,上述加密方式使用了安全散列算法对信息加密,这样其他厂商便不能看见信息,从而达到了商业保密的效果。具体来说:厂商A云平台收到发送给B云平台的第一请求信息后,使用安全散列算法对所述第一请求信息进行散列运算,得到第一加密数据。然后向区块链系统发送所述第一加密数据+所述第一签名数据+标识信息,区块链系统使用厂商A公钥解密所述第一签名数据,确认所述第一加密数据是由厂商A发送。进一步地,区块链系统还需从第二云平台接收第二加密数据+所述第二签名数据+标识信息,其中,第二加密数据是第二云平台采用相同的安全散列算法对请求信息进行加密后所得到的,第二签名数据,也即为对请求信息进行签名后得到的第二签名数据,两个标识信息一般情况下会设置为同一值,之后根据标识信息找到所述第一加密数据,如果所述第一加密数据与第二加密数据相同,则区块链系统保存信息,如果不同向厂商A和厂商B发送加密信息不匹配的消息。
也就是说,当所述第一加密数据与第二加密数据相同时,则区块链系统保存信息;当所述第一加密数据与第二加密数据不同时,区块链系统向厂商A和厂商B发送加密信息不匹配的消息。
可选的,确定模块54还用于对所述第一签名数据进行解密,得到第一请求信息;在所述第一目标数据中的请求信息与所述第一请求信息一致的情况下,确定所述第一云平台发送了所述请求信息;所述区块链节点对所述第二签名数据进行解密,得到第二请求信息;在所述第二目标数据中的请求信息与所述第二请求信息一致的情况下,确定所述第二云平台发送了所述请求信息;在确定所述第一云平台发送了请求信息,以及所述第二云平台发送了请求信息的情况下,确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息是否一致,以确定是否将所述请求信息保存在所述区块链节点中。
需要说明的是,第一目标数据中的请求信息包括:用于与第二云平台交互的请求信息和根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据。其中根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据是含有用于与第二云平台交互的请求信息的。基于上述方案,所述区块链节点对所述第一签名数据进行解密,得到第一请求信息,在所述第一目标数据中的请求信息与所述第一请求信息一致的情况下,确定所述第一云平台发送了所述请求信息。本发明需要用在所述第一目标数据中的请求信息与所述第一请求信息是否一致来确定所述第一云平台发送了所述请求信息。同理,第二目标数据中的请求信息会用于相似的判断过程。
可选的,确定模块54还用于在确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致的情况下,将所述请求信息保存在所述区块链节点中;在确定所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致的情况下,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致。
需要说明的是,本发明实施例的请求信息可以包括针对厂商B设备的查询指令、控制指令、更改基本信息等指令,或者获取厂商B云平台信息、设备用户信息等,本发明实施例对此不进行进一步的限定。
也就是说,当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致时,将所述请求信息保存在所述区块链节点中。如此第一云平台可以将上述第二云平台的指令以及发送给第二云平台的信息存储起来以备后续出现安全事件或商业纠纷时作为针对第二云平台的举证信息。当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致时,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致。如果发送的请求信息不一致,则此次发送信息失败,第一云平台和第二云平台可以丢弃这次通信。
可选的,确定模块54还用于对所述第一签名数据进行解密,得到第三加密数据;在所述第三加密数据与所述第一加密数据一致的情况下,确定所述第一云平台发送了所述第一加密数据;所述区块链节点对所述第二签名数据进行解密,得到第四加密数据;在所述第四加密数据与所述第二加密数据一致的情况下,确定所述第二云平台发送了所述第二加密数据;在确定所述第一云平台发送了所述第一加密数据,以及所述第二云平台发送了所述第二加密数据的情况下,确定所述第一加密数据以及所述第二加密数据是否一致,以确定是否将所述请求信息保存在所述区块链节点中。
需要说明的是第一目标数据中的请求信息包括:在所述第一目标数据包括:对所述请求信息进行加密后得到的第一加密数据,所述第一签名数据,用于对所述第一加密数据进行标识的第一标识信息。其中所述第一签名数据含有对所述请求信息进行加密后得到的第一加密数据。基于上述技术方案,所述区块链节点对所述第一签名数据进行解密,得到对所述请求信息进行加密后得到的第一加密数据,其与对所述请求信息进行加密后得到的第一加密数据一致的情况下,确定所述第一云平台发送了所述第一加密数据。同理,第二目标数据中的请求信息也是这样的。
可选的,确定模块54还用于确定所述第一标识信息与所述第二标识信息是否相同;在相同的情况下,确定所述第一加密数据以及所述第二加密数据是否一致。
需要说明的是如果是所述第一云平台与所述第二云平台互通消息,那么所述第一云平台与所述第二云平台发送给区块链系统的第一标识信息与所述第二标识信息是相同,就可以根据标识信息分别确定信息是不是第一云平台与所述第二云平台所发送的。之后再确定所述第一加密数据以及所述第二加密数据是否一致。
可选的,确定模块54还用于在确定所述第一加密数据以及所述第二加密数据一致的情况下,将所述请求信息保存在所述区块链节点中;在确定所述第一加密数据以及所述第二加密数据不一致的情况下,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示所述第一加密数据以及所述第二加密数据不一致。
也就是说,当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息一致时,将所述请求信息保存在所述区块链节点中。如此第一云平台可以将上述第二云平台的指令以及发送给第二云平台的信息存储起来以备后续出现安全事件或商业纠纷时作为针对第二云平台的举证信息。当所述第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致时,向所述第一云平台以及所述第二云平台发送指示信息,其中,所述指示信息用于指示第一云平台发送的请求信息以及所述第二云平台发送的请求信息不一致。如果发送的请求信息不一致,则此次发送信息失败,第一云平台和第二云平台可以丢弃这次通信。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;
S2,在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;
S3,根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收第一云平台发送的第一目标数据,其中,所述第一目标数据中包括以下至少之一:用于与第二云平台交互的请求信息,根据所述第一云平台的第一私钥对所述请求信息进行签名后得到的第一签名数据;
S2,在所述第一目标数据包括所述请求信息以及所述第一签名数据的情况下,接收所述第二云平台发送的第二目标数据,其中,所述第二目标数据包括以下至少之一:所述第二云平台转发所述第一云平台发送的请求信息,根据所述第二云平台的第二私钥对所述请求信息进行签名后得到的第二签名数据;
S3,根据所述第一目标数据中的请求信息,所述第一签名数据,所述第二目标数据中的请求信息以及所述第二签名数据确定是否将所述请求信息保存在所述区块链节点中。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 请求信息的处理方法及装置、存储介质、电子装置
- 数据请求的处理方法和装置、存储介质及电子装置