一种包括作为发出方的区块链节点的装置的制作方法

文档序号:15624595发布日期:2018-10-09 22:40阅读:153来源:国知局

本发明涉及互联网技术领域,尤其涉及一种包括作为发出方的区块链节点的装置。



背景技术:

物联网是通过互联网、传统电信网等信息承载体,让能够行使独立功能的多个普通物体实现互联互通的网络。物联网将现实世界数位化,拉近分散的信息,统整物与物的数字信息,物联网的应用领域包括:运输和物流领域、健康医疗领域、智能环境(家庭、办公、工厂)领域、个人和社会领域等,具有十分广阔的应用前景。

在实现本发明构思的过程中,发明人发现现有技术中至少存在如下问题:物联网系统中的安全数据很容易被恶意篡改,使得安全数据不可信,进而无法基于物联网系统的安全数据对物联网系统进行相应的操作。



技术实现要素:

本发明解决的技术问题是提升物联网系统的安全的效果。

为解决上述技术问题,本发明提供了一种包括作为发出方的区块链节点的装置,包括:发送模块,用于将物联网系统的安全数据发送至其他区块链节点,以使各区块链节点将所述安全数据保存至各自对应的区块链数据库中;安全模块,用于从本区块链节点对应的区块链数据库中获取所述物联网系统的一条或多条安全数据,基于所获取的安全数据对所述物联网系统执行相应操作。

可选的,物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志;

所述发送模块,用于当物联网系统的网关设备的安全规则被设置时,将设置得到的安全规则发送至其他区块链节点,所述安全规则中包括一条或多条子规则;并且/或者,当物联网系统的网关设备中生成操作日志时,将生成的操作日志发送至其他区块链节点。

可选的,上述装置还包括:加密模块。所述加密模块,用于按照预设加密规则对所述安全数据进行加密,得到加密安全数据;所述发送模块,用于将所述加密安全数据发送至其他区块链节点,以使各区块链节点将所述加密安全数据保存至各自对应的区块链数据库中。

可选的,上述装置还包括:签名模块。所述签名模块,用于生成公钥和私钥;在将物联网系统的安全数据发送至其他区块链节点之前,基于所述安全数据和所述私钥,生成数字签名;所述发送模块,用于将所述安全数据、所述安全数据对应的数字签名以及所述公钥一同发送至其他区块链节点,以使各区块链节点基于所述数字签名和所述公钥验证所述安全数据,将通过验证的安全数据保存至各自对应的区块链数据库中。

可选的,签名模块,用于对由所述安全数据和所述私钥组成的字符串进行哈希计算,得到数字签名。

可选的,安全模块,用于从本区块链节点对应的区块链数据库中获取所述网关设备初始设置的安全规则;判断所述网关设备本地的安全规则与所获取的安全规则是否一致;是则确定所述网关设备本地的安全规则未被篡改,以使所述网关设备依据本地的安全规则对所述物联网系统执行相应操作;否则确定所述网关设备本地的安全规则被篡改,以使所述网关设备依据所获取的安全规则对所述物联网系统执行相应操作。

可选的,安全模块,用于从本区块链节点对应的区块链数据库中获取所述网关设备在前预设时间段内的操作日志;判断所述网关设备本地的前预设时间段内的操作日志与所获取的操作日志是否一致;是则确定所述网关设备本地的前预设时间段内的操作日志未被篡改,以使所述网关设备依据本地的操作日志对物联网系统执行相应操作;否则确定所述网关设备本地前预设时间段内的操作日志被篡改,以使所述网关设备依据所获取的操作日志对物联网系统执行相应操作。

可选的,网关设备的操作日志为:对安全规则进行修改、添加、删除中至少一项操作的操作日志。所述安全模块,用于从本区块链节点对应的区块链数据库中获取所述网关设备的操作日志;判断所述网关设备本地的操作日志与所获取的操作日志是否一致;是则确定所述网关设备本地的安全规则和操作日志未被篡改,以使所述网关设备依据本地的安全规则对物联网系统执行相应操作;否则确定所述网关设备本地的安全规则和操作日志被篡改,根据本地的操作日志与所获取的操作日志的差异得到篡改前的安全规则,以使所述网关设备依据该篡改前的安全规则对物联网系统执行相应操作。

可选的,发送模块,还用于将所述安全数据和所述网关设备的标识信息一同发送至其他区块链节点,以使各区块链节点将所述安全数据和所述网关设备的标识信息对应保存至各自对应的区块链数据库中;所述安全模块,用于根据所述网关设备的标识信息从本区块链节点对应的区块链数据库中查找并读取相应的一条或多条安全数据。

可选的,本区块链节点包括:物联网系统的网关设备。

可选的,物联网系统的网关设备用于如下至少一项:对物联网系统进行本地监测,对物联网系统进行网络协议转换,对物联网系统进行边缘计算。

本发明的有益效果:

(1)利用区块链数据库中的数据不可篡改的特性,将物联网系统产生的安全数据保存在区块链数据库中,使得物联网系统产生的安全数据能够被如实地记录下来以反映物联网系统的实际运行状态,在需要时从区块链数据库中获取相应的安全数据,基于所获取的安全数据能够对物联网系统执行与物联网系统的实际运行状态相符的操作。本方案实现了对物联网系统的实际运行情况的可回溯,能够更有效地保护物联网系统的安全。

(2)在利用区块链数据库的多方监督特性保证物联网系统的安全数据不被篡改的同时,还利用对物联网系统的安全数据进行加密的方式保证了存入区块链数据库中的物联网系统的安全数据的隐私性。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本发明实施例的可以应用用于区块链节点的方法和装置的示例性系统架构;

图2示意性示出了根据本发明实施例的作为发出方的区块链节点的方法的流程图;

图3示意性示出了根据本发明另一实施例的作为接收方的区块链节点的方法的流程图;

图4a示意性示出了根据本发明实施例的包括作为发出方的区块链节点的装置的框图;

图4b示意性示出了根据本发明另一实施例的包括作为发出方的区块链节点的装置的框图;

图4c示意性示出了根据本发明另一实施例的包括作为接收方的区块链节点的装置的框图;

图5示意性示出了根据本发明实施例的适于实现用于区块链节点的方法的计算机设备内的系统方框图。

具体实施方式

以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“a或b”应当被理解为包括“a”或“b”、或“a和b”的可能性。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1示意性示出了根据本发明实施例的可以应用用于区块链节点的方法和装置的示例性系统架构。需要注意的是,图1所示仅为可以应用本发明实施例的系统架构的示例,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施例不可以用于其他设备、系统、环境或场景。

如图1所示,该实施例的系统架构示出了一个物联网系统,物联网系统是通过互联网、传统电信网等信息承载体,让能够行使独立功能的多个普通物体实现互联互通的网络,其中的每个节点对应于一个连入物联网中的设备,如图1中所示,该设备可以是移动终端、汽车、家庭设备等多种。通过物联网系统可以对机器、设备进行集中管理、控制,也可以对家庭设备、汽车进行遥控,以及搜索位置、防止误判被盗等,实现类似自动化操控系统,同时通过收集物联网系统中各节点的数据可以聚集成大数据,基于大数据可以进行相应的设计、更新、预测、控制等,实现物与物相联。

应该理解,图1示出的物联网系统中节点的数目仅仅是示意性的。根据实现需要,本发明实施例可以应用于任意规模的、具有数目的节点的物联网系统。

图2示意性示出了根据本发明实施例的作为发出方的区块链节点的方法的流程图,从发送物联网系统的安全数据的区块链节点的角度来说明该方法,具体可以包括如下步骤:

步骤s201,将物联网系统的安全数据发送至其他区块链节点,以使各区块链节点将物联网系统的安全数据保存至各自对应的区块链数据库中。

步骤s202,从本区块链节点对应的区块链数据库中获取物联网系统的一条或多条安全数据,基于所获取的安全数据对物联网系统执行相应操作。

可见,图2所示的方法利用区块链数据库中的数据不可篡改的特性,将物联网系统产生的安全数据保存在区块链数据库中,使得物联网系统产生的安全数据能够被如实地记录下来以反映物联网系统的实际运行状态,在需要时从区块链数据库中获取相应的安全数据,基于所获取的安全数据能够对物联网系统执行与物联网系统的实际运行状态相符的操作。本方案实现了对物联网系统的实际运行情况的可回溯,能够更有效地保护物联网系统的安全。

在本发明的一个实施例中,图2所示的方法还包括:在将物联网系统的安全数据发送至其他区块链节点之前,按照预设加密规则对所述安全数据进行加密,得到加密安全数据。步骤s201将物联网系统的安全数据发送至其他区块链节点包括:将加密安全数据发送至其他区块链节点,以使各区块链节点将该加密安全数据保存至各自对应的区块链数据库中。

本实施例可以通过如下方式执行:例如,在物联网系统产生安全数据a后,本地保存有一份该安全数据a,对该安全数据a进行加密,按照预设加密规则生成加密密钥和解密密钥,利用加密密钥对该安全数据a进行加密得到加密安全数据a,将该加密安全数据a和标识信息a发送至其他区块链节点,由各区块链节点将该加密安全数据a和标识信息a存入各自对应的区块链数据库中。当需要使用安全数据a时,根据标识信息a从本区块链节点对应的区块链数据库中获取加密安全数据a,利用解密密钥对加密安全数据a进行解密得到安全数据a,该解密得到的安全数据a肯定是未经过篡改的,通过该解密得到的安全数据a可以验证本地保存的安全数据a是否被篡改以及基于该解密得到的安全数据a可以对物联网系统执行相应操作。

或者,再例如,在物联网系统产生安全数据a后,本地保存有一份该安全数据a,对该安全数据a进行加密,预设加密规则为哈希算法,如md5算法、sha256算法、国密算法等,利用哈希算法计算安全数据a的哈希值,将安全数据a的哈希值和标识信息a发送至其他区块链节点,由各区块链节点将安全数据a的哈希值和标识信息a存入各自对应的区块链数据库中。当需要使用安全数据a时,根据标识信息a从本区块链节点对应的区块链数据库中获取安全数据a的哈希值,通过所获取的安全数据a的哈希值验证本地保存的安全数据是否被篡改,当确定本地保存的安全数据a未被篡改时,基于本地保存的安全数据a可以对物联网系统执行相应的操作。

通过上述实施例,在利用区块链数据库的多方监督特性保证物联网系统的安全数据不被篡改的同时,还利用对物联网系统的安全数据进行加密的方式保证了存入区块链数据库中的物联网系统的安全数据的隐私性。

为了进一步保证存入区块链数据库中的安全数据的真实性,在本发明的一个实施例中,通过不对称加密方法在安全数据中增加数字签名,具体地,图2所示的方法还包括:生成本区块链节点的公钥和私钥;在将物联网系统的安全数据发送至其他区块链节点之前,基于所述安全数据和所述私钥,生成数字签名。步骤s201将物联网系统的安全数据发送至其他区块链节点包括:将所述安全数据、所述安全数据对应的数字签名以及所述公钥一同发送至其他区块链节点,以使各区块链节点基于所述数字签名和所述公钥验证所述安全数据,将通过验证的安全数据保存至各自对应的区块链数据库中。

具体地,上述基于所述安全数据和所述私钥,生成数字签名包括:对由所述安全数据和所述私钥组成的字符串进行哈希计算,得到数字签名;然后将数字签名、公钥和安全数据对应发送至各区块链节点,由各区块链节点利用相应的公钥和数字签名判断安全数据的来源是否可靠、中途是否被篡改,如果没问题才可以被存入区块链数据库中。也可以是,计算安全数据的哈希值,对安全数据的哈希值和私钥组成的字符串再次进行哈希计算,得到数字签名;然后将数字签名、公钥和安全数据的哈希值对应发送至各区块链节点,由各区块链节点利用相应的公钥和数字签名判断安全数据的哈希值的来源是否可靠、中途是否被篡改,如果没问题才可以被存入区块链数据库中。也可以是,对安全数据进行加密得到加密安全数据,对加密安全数据和私钥组成的字符串再次进行哈希计算,得到数字签名;然后将数字签名、公钥和加密安全数据对应发送至各区块链节点,由各区块链节点利用相应的公钥和数字签名判断加密安全数据的来源是否可靠、中途是否被篡改,如果没问题才可以被存入区块链数据库中。

在当前的物联网系统中,网关设备扮演非常重要的角色,作为物联网系统的网关设备,它可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联,此外物联网系统的网关设备还可以具备设备管理功能,通过网关设备可以管理底层的各感知物联网节点,了解各物联网节点的相关信息,并实现远程控制,进一步地,物联网系统的网关设备可以具备特有的物联网边缘计算能力,实现物联网中更为快速、精准的数据采集及传输。因此,在本发明的一个实施例中,可以将物联网系统的网关设备作为本区块链节点执行上述步骤s201-s202,或者,本区块链节点与物联网系统的网关设备进行交互,从物联网系统的网关设备获取物联网系统的安全数据进而执行上述步骤s201-s202,则上述物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志。步骤s201将物联网系统的安全数据发送至其他区块链节点包括:当物联网系统的网关设备的安全规则被设置时,将设置得到的安全规则发送至其他区块链节点,由各区块链节点将该设置得到的安全规则存入各自对应的区块链数据库中;并且/或者,当物联网系统的网关设备中生成操作日志时,将生成的操作日志发送至其他区块链节点,由各区块链节点将该操作日志存入各自对应的区块链数据库中。

具体地,物联网系统的网关设备的安全规则是指物联网系统的网关设备中所存储的安全规则整体,安全规则是由一条或多条子规则构成的。物联网系统的网关设备的安全规则被设置可以包括如下一种或多种情况:在已有的安全规则中增加一条或多条新的子规则,从已有的安全规则中删除一条或多条子规则,对已有的安全规则中的一条或多条子规则进行修改。在对物联网系统的网关设备的安全规则进行设置结束后,得到设置后的一条或多条子规则,这一条或多条子规则构成设置得到的安全规则。每当物联网系统的网关设备的安全规则发生变化时,就将该网关设备中的安全规则作为一个整体存入到区块链数据库中。物联网系统的网关设备在执行操作时会生成相应的操作日志,每当物联网系统的网关设备产生一条操作日志,便将该操作日志存入到区块链数据库中。可见,通过本实施例,区块链数据库中记录有物联网系统的网关设备中历史每次设置得到的安全规则以及历史每次产生的操作日志。

其中,物联网系统的网关设备具有如下至少一项功能:对物联网系统进行本地监测的功能,对物联网系统进行网络协议转换的功能,对物联网系统进行边缘计算的功能。

在当前的物联网系统中,一个本地的物联网系统通过网关设备连接到互联网。整个物联网系统的安全由网关设备进行监控,通常的安全监控方式为:网关设备本地设置有安全规则,网关设备本地记录物联网系统中发生的操作对应的操作日志,当物联网系统中发生某操作时,通过安全规则判断该操作是否合法,如果否,向物联网系统的运营人员报警,运营人员通过查看操作日志定位物联网系统中所发生的不合法的操作,进而做出相应的处理。例如,一个网关设备对物联网系统中运行应用的操作、物联网系统中接入设备的操作等进行监控,网关设备本地预存有物联网系统的运营人员预先定义的白名单或黑名单作为安全规则,当网关设备发现不在白名单中定义的应用要在物联网系统中运行、或者不在白名单中定义的设备要连入物联网系统时,及时向运营人员预警,或是当网关设备发现黑名单中定义的应用要在物联网系统中运行、或者黑名单中定义的设备想要运行或接入物联网系统时,按照预设的规则,网关设备对其进行禁止或是发出警报,使得运营人员根据操作日志中出现的事件,针对不同情况及时做出相应的处理。此种方案所面临的问题是:网关设备本地存储的安全规则可以被恶意地重新设置,网关设备本地记录的操作日志也可以被恶意地增加、删除或修改,在安全规则和/或操作规则都不可信的情况下,对物联网系统的安全监控也变得毫无意义。

而本发明所提供的方案能够有效解决上述问题,本发明的实施例中将物联网系统的网关设备中的安全规则和操作日志存储于区块链数据库中,且对于安全规则的每次设置,无论是运营人员的设置还是恶意地设置,均将设置得到的安全规则存储于区块链数据库中,对于操作日志的每次产生,无论是合法操作的操作日志还是不合法操作的操作日志,均将产生的操作日志存储于区块链数据库中,由于区块链数据库中的数据的不可篡改特性,区块链数据库中所记录的网关设备的历史各个安全规则能够反映安全规则所经历的所有设置,区块链数据库中所记录的操作日志能够反映物联网系统所经历的所有操作,进而基于区块链数据库中记录的物联网系统的安全数据可以对物联网系统做出正确的操作。

具体地,在本发明的一个实施例中,当物联网系统的运营人员初始设置网关设备的安全规则时,将该初始设置的安全规则发送至其他区块链节点,由其他区块链节点通过共识验证将该初始设置的安全规则存入各自对应的区块链数据库中。上述步骤s202从本区块链节点对应的区块链数据库中获取所述物联网系统的一条或多条安全数据,基于所获取的安全数据对所述物联网系统执行相应操作包括:从本区块链节点对应的区块链数据库中获取所述网关设备初始设置的安全规则;判断所述网关设备本地的安全规则与所获取的安全规则是否一致;是则确定所述网关设备本地的安全规则未被篡改,以使所述网关设备依据本地的安全规则对所述物联网系统执行相应操作;否则确定所述网关设备本地的安全规则被篡改,以使所述网关设备依据所获取的安全规则对所述物联网系统执行相应操作。

本实施例适用于物联网系统在正常运行情况下网关设备的安全规则保持初始设置的安全规则不变的情境,对于一个网关设备a,正常情况下,区块链数据库中仅记录该网关设备a对应的一个初始设置的安全规则,当网关设备a本地保存的安全规则与区块链数据库中记录的网关设备a对应的初始设置的安全规则不相同时,说明网关设备a本地保存的安全规则不再是运营人员初始设置的安全规则,即网关设备a本地的安全规则遭到了恶意篡改,进一步地,比较网关设备a本地保存的安全规则与区块链数据库中记录的网关设备a对应的初始设置的安全规则之间的差异,通过二者的差异可知恶意篡改具体篡改了哪些部分,即可以得出恶意篡改所对应的恶意行为,对这些恶意行为可以进行禁止和防范。

在本发明的另一个实施例中,当物联网系统的网关设备每生成一条操作日志时,便将生成的操作日志发给其他区块链节点,使得其他区块链将该操作日志存入各自对应的区块链数据库中,其中每条操作日志中记录了时间信息、操作方式以及操作对象。上述步骤s202从本区块链节点对应的区块链数据库中获取所述物联网系统的一条或多条安全数据,基于所获取的安全数据对所述物联网系统执行相应操作包括:根据操作日志的时间信息从本区块链节点对应的区块链数据库中获取所述网关设备在前预设时间段内的操作日志;判断所述网关设备本地的前预设时间段内的操作日志与所获取的操作日志是否一致;是则确定所述网关设备本地的前预设时间段内的操作日志未被篡改,以使所述网关设备依据本地的操作日志对物联网系统执行相应操作;否则确定所述网关设备本地前预设时间段内的操作日志被篡改,以使所述网关设备依据所获取的操作日志对物联网系统执行相应操作。

更为具体地,网关设备的操作日志为:对安全规则进行修改、添加、删除中至少一项操作的操作日志。每条操作日志包括:操作时间,操作方式和操作对象,其中操作时间是指操作对应的时间,操作方式包括修改、添加和/或删除,操作对象是指操作对应的安全规则内容。每当网关设备中的安全规则被修改、添加和/或删除时,无论该操作是合法还是恶意的,均将该操作对应的操作日志通过多个区块链节点存入区块链数据库中。上述步骤s202从本区块链节点对应的区块链数据库中获取所述物联网系统的一条或多条安全数据,基于所获取的安全数据对所述物联网系统执行相应操作包括:从本区块链节点对应的区块链数据库中获取所述网关设备的操作日志;判断所述网关设备本地的操作日志与所获取的操作日志是否一致;是则确定所述网关设备本地的安全规则和操作日志未被篡改,以使所述网关设备依据本地的安全规则对物联网系统执行相应操作;否则确定所述网关设备本地的安全规则和操作日志被篡改,根据本地的操作日志与所获取的操作日志的差异得到篡改前的安全规则,以使所述网关设备依据该篡改前的安全规则对物联网系统执行相应操作。

在上述各实施例中,将物联网系统的安全数据发送至其他区块链节点,以使各区块链节点将所述安全数据保存至各自对应的区块链数据库中包括:将所述安全数据和所述网关设备的标识信息一同发送至其他区块链节点,以使各区块链节点将所述安全数据和所述网关设备的标识信息对应保存至各自对应的区块链数据库中;从本区块链节点对应的区块链数据库中获取所述物联网系统的一条或多条安全数据,包括:根据所述网关设备的标识信息从本区块链节点对应的区块链数据库中查找并读取相应的一条或多条安全数据。

图3示意性示出了根据本发明另一实施例的作为接收方的区块链节点的方法的流程图,从接收物联网系统的安全数据的区块链节点的角度来说明该方法,具体可以包括如下步骤:

步骤s301,接收其他区块链节点发出的物联网系统的安全数据。

步骤s302,与其他各区块链节点对安全数据进行验证,将通过验证的安全数据保存至各自对应的区块链数据库中。

由于区块链技术(blockchain)采用分布式账本记录所有数据,其最大的特点是历史记录不可篡改,即数据一旦记录到链上,将永久保存。区块链技术使用去中心化的分布式系统。其中每一个运行区块链的设备都是一个独立的服务器,保存了一份独立的账本。账本中的数据使用区块链结构来确保历史数据不可被篡改。可见,图3所示的方法利用区块链数据库中的数据不可篡改的特性,将物联网系统产生的安全数据保存在区块链数据库中,使得物联网系统产生的安全数据能够被如实地记录下来以反映物联网系统的实际运行状态,在需要时从区块链数据库中获取相应的安全数据。通过本方案实现了对物联网系统的实际运行情况的可回溯,能够更有效地保护物联网系统的安全。

在当前的物联网系统中,网关设备扮演非常重要的角色,作为物联网系统的网关设备,它可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联,此外物联网系统的网关设备还可以具备设备管理功能,通过网关设备可以管理底层的各感知物联网节点,了解各物联网节点的相关信息,并实现远程控制,进一步地,物联网系统的网关设备可以具备特有的物联网边缘计算能力,实现物联网中更为快速、精准的数据采集及传输。因此,在本发明的一个实施例中,所接收的来自其他区块链节点的物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志。当物联网系统的网关设备的安全规则被设置时,接收相应的区块链节点发送的设置得到的安全规则,与其他各区块链节点对安全数据进行验证,将通过验证的安全数据保存至各自对应的区块链数据库中;并且/或者,当物联网系统的网关设备中生成操作日志时,将生成的操作日志发送至其他区块链节点,由各区块链节点将该操作日志存入各自对应的区块链数据库中。

可见,本发明的实施例中将物联网系统的网关设备中的安全规则和操作日志存储于区块链数据库中,且对于安全规则的每次设置,无论是运营人员的设置还是恶意地设置,均将设置得到的安全规则存储于区块链数据库中,对于操作日志的每次产生,无论是合法操作的操作日志还是不合法操作的操作日志,均将产生的操作日志存储于区块链数据库中,由于区块链数据库中的数据的不可篡改特性,区块链数据库中所记录的网关设备的历史各个安全规则能够反映安全规则所经历的所有设置,区块链数据库中所记录的操作日志能够反映物联网系统所经历的所有操作,进而基于区块链数据库中记录的物联网系统的安全数据可以对物联网系统做出正确的操作。

在本发明的一个实施例中,当所接收的来自其他区块链节点的物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志时,上述步骤s301接收其他区块链节点发送的物联网系统的安全数据还包括:接收所述安全数据对应的所述网关设备的标识信息。上述步骤s302与其他各区块链节点对所述安全数据进行验证,将通过验证的所述安全数据保存至各自对应的区块链数据库中包括:与其他各区块链节点对所述安全数据进行验证,将通过验证的安全数据和该安全设备对应的网关设备的标识信息保存至各自对应的区块链数据库中。这样在需要从区块链数据库中获取安全数据时,可以根据网关设备的标识信息来找到相应的安全数据。

在本发明的一个实施例中,当所接收的来自其他区块链节点的物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志时,本区块链节点也可以是物联网系统的网关设备。也就是说,本实施例中区块链网络中的一个或多个区块链节点均可以是物联网系统的网关设备,用以通过区块链技术维护一个或多个物联网系统的安全。且当多个区块链节点是物联网系统的网关设备时,相当于多个网关设备共同维护了区块链网络,依据网关设备的共同的物联网系统安全监控的需求而达成多个区块链节点的共识,共同维护各物联网系统的安全。或者,当区块链节点不是物联网系统的网关设备时,也可以是该区块链节点可以与网关设备进行交互,同样也可以利用区块链技术维护物联网系统的安全。

其中,物联网系统的网关设备用于如下至少一项:对物联网系统进行本地监测,对物联网系统进行网络协议转换,对物联网系统进行边缘计算。

在本发明的一个实施例中,所接收的安全数据为按照预设加密规则加密后的安全数据。本实施例可以通过如下方式执行:例如,在物联网系统产生安全数据a后,本地保存有一份该安全数据a,对该安全数据a进行加密,按照预设加密规则生成加密密钥和解密密钥,利用加密密钥对该安全数据a进行加密得到加密安全数据a。接收相应的区块链节点发送的该加密安全数据a和标识信息a,通过共识验证后,由各区块链节点将该加密安全数据a和标识信息a存入各自对应的区块链数据库中。当相应的区块链节点需要使用安全数据a时,根据标识信息a从其对应的区块链数据库中获取加密安全数据a,利用解密密钥对加密安全数据a进行解密得到安全数据a,该解密得到的安全数据a肯定是未经过篡改的,通过该解密得到的安全数据a可以验证本地保存的安全数据a是否被篡改以及基于该解密得到的安全数据a可以对物联网系统执行相应操作。

或者,再例如,在物联网系统产生安全数据a后,本地保存有一份该安全数据a,对该安全数据a进行加密,预设加密规则为哈希算法,如md5算法、sha256算法、国密算法等,利用哈希算法计算安全数据a的哈希值。接收相应的区块链节点发送的安全数据a的哈希值和标识信息a,由各区块链节点将安全数据a的哈希值和标识信息a存入各自对应的区块链数据库中。当相应的区块链节点需要使用安全数据a时,根据标识信息a从其对应的区块链数据库中获取安全数据a的哈希值,通过所获取的安全数据a的哈希值验证本地保存的安全数据是否被篡改,当确定本地保存的安全数据a未被篡改时,基于本地保存的安全数据a可以对物联网系统执行相应的操作。

通过上述实施例,在利用区块链数据库的多方监督特性保证物联网系统的安全数据不被篡改的同时,还利用对物联网系统的安全数据进行加密的方式保证了存入区块链数据库中的物联网系统的安全数据的隐私性。

在本发明的一个实施例中,上述步骤s301接收其他区块链节点发出的物联网系统的安全数据还包括:接收所述安全数据对应的数字签名和发出所述安全数据的区块链节点的公钥;其中所述安全数据对应的数字签名是基于所述安全数据和发出所述安全数据的区块链节点的私钥生成的。上述步骤s302与其他各区块链节点对所述安全数据进行验证,将通过验证的所述安全数据保存至各自对应的区块链数据库中包括:基于所述安全数据的数字签名和发出所述安全数据的公钥验证所述安全数据,将通过验证的安全数据保存至各自对应的区块链数据库中。

具体地,上述基于所述安全数据和所述私钥生成数字签名的过程可以是对由所述安全数据和所述私钥组成的字符串进行哈希计算得到数字签名。在接收到将数字签名、公钥和安全数据后,基于相应的公钥和数字签名来判断安全数据的来源是否可靠、中途是否被篡改,如果没有问题即验证通过。也可以是,计算安全数据的哈希值,对安全数据的哈希值和私钥组成的字符串再次进行哈希计算得到数字签名。在接收到数字签名、公钥和安全数据的哈希值后,基于相应的公钥和数字签名来判断安全数据的来源是否可靠、中途是否被篡改,如果没有问题即验证通过。。也可以是,对安全数据进行加密得到加密安全数据,对加密安全数据和私钥组成的字符串再次进行哈希计算得到数字签名。在接收到数字签名、公钥和加密安全数据后,基于相应的公钥和数字签名来判断安全数据的来源是否可靠、中途是否被篡改,如果没有问题即验证通过。

图4a示意性示出了根据本发明实施例的包括作为发出方的区块链节点的装置的框图。

如图4a所示,该用于区块链节点的装置400包括:发送模块401和安全模块402。

发送模块401,用于将物联网系统的安全数据发送至其他区块链节点,以使各区块链节点将所述安全数据保存至各自对应的区块链数据库中。

安全模块402,用于从本区块链节点对应的区块链数据库中获取所述物联网系统的一条或多条安全数据,基于所获取的安全数据对所述物联网系统执行相应操作。

在本发明的一个实施例中,物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志。发送模块401,用于当物联网系统的网关设备的安全规则被设置时,将设置得到的安全规则发送至其他区块链节点,所述安全规则中包括一条或多条子规则;并且/或者,当物联网系统的网关设备中生成操作日志时,将生成的操作日志发送至其他区块链节点。

在本发明的一个实施例中,安全模块402,用于从本区块链节点对应的区块链数据库中获取所述网关设备初始设置的安全规则;判断所述网关设备本地的安全规则与所获取的安全规则是否一致;是则确定所述网关设备本地的安全规则未被篡改,以使所述网关设备依据本地的安全规则对所述物联网系统执行相应操作;否则确定所述网关设备本地的安全规则被篡改,以使所述网关设备依据所获取的安全规则对所述物联网系统执行相应操作。

在本发明的一个实施例中,安全模块402,用于从本区块链节点对应的区块链数据库中获取所述网关设备在前预设时间段内的操作日志;判断所述网关设备本地的前预设时间段内的操作日志与所获取的操作日志是否一致;是则确定所述网关设备本地的前预设时间段内的操作日志未被篡改,以使所述网关设备依据本地的操作日志对物联网系统执行相应操作;否则确定所述网关设备本地前预设时间段内的操作日志被篡改,以使所述网关设备依据所获取的操作日志对物联网系统执行相应操作。

在本发明的一个实施例中,网关设备的操作日志为:对安全规则进行修改、添加、删除中至少一项操作的操作日志。安全模块402,用于从本区块链节点对应的区块链数据库中获取所述网关设备的操作日志;判断所述网关设备本地的操作日志与所获取的操作日志是否一致;是则确定所述网关设备本地的安全规则和操作日志未被篡改,以使所述网关设备依据本地的安全规则对物联网系统执行相应操作;否则确定所述网关设备本地的安全规则和操作日志被篡改,根据本地的操作日志与所获取的操作日志的差异得到篡改前的安全规则,以使所述网关设备依据该篡改前的安全规则对物联网系统执行相应操作。

在本发明的一个实施例中,发送模块401,还用于将所述安全数据和所述网关设备的标识信息一同发送至其他区块链节点,以使各区块链节点将所述安全数据和所述网关设备的标识信息对应保存至各自对应的区块链数据库中。安全模块402,用于根据所述网关设备的标识信息从本区块链节点对应的区块链数据库中查找并读取相应的一条或多条安全数据。

在本发明的一个实施例中,本区块链节点包括:物联网系统的网关设备。

在本发明的一个实施例中,物联网系统的网关设备用于如下至少一项:对物联网系统进行本地监测,对物联网系统进行网络协议转换,对物联网系统进行边缘计算。

图4b示意性示出了根据本发明另一实施例的包括作为发出方的区块链节点的装置的框图。

如图4b所示,该用于区块链节点的装置410包括:发送模块401、安全模块402、加密模块403和签名模块404。

上文中已经对发送模块401和安全模块402进行过说明,重复的部分不再赘述。

加密模块403,用于按照预设加密规则对所述安全数据进行加密,得到加密安全数据。

发送模块401,用于将所述加密安全数据发送至其他区块链节点,以使各区块链节点将所述加密安全数据保存至各自对应的区块链数据库中。

签名模块404,用于生成公钥和私钥;在将物联网系统的安全数据发送至其他区块链节点之前,基于所述安全数据和所述私钥,生成数字签名。

发送模块401,用于将所述安全数据、所述安全数据对应的数字签名以及所述公钥一同发送至其他区块链节点,以使各区块链节点基于所述数字签名和所述公钥验证所述安全数据,将通过验证的安全数据保存至各自对应的区块链数据库中。

在本发明的一个实施例中,签名模块404,用于对由安全数据和私钥组成的字符串进行哈希计算,得到数字签名。

在本发明的其他实施例中,用于区块链节点的装置可以仅包括发送模块401、安全模块402和加密模块403,或者,用于区块链节点的装置可以仅包括发送模块401、安全模块402和签名模块404,相应的功能在上文中已经介绍,不再赘述。

图4c示意性示出了根据本发明另一实施例的包括作为接收方的区块链节点的装置的框图。如图4c所示,该用于区块链节点的装置420包括:接收模块405、验证模块406和存储模块407。

接收模块405,用于接收其他区块链节点发出的物联网系统的安全数据。

验证模块406,用于与其他各区块链节点对所述安全数据进行验证。

存储模块407,用于将通过验证的所述安全数据保存至各自对应的区块链数据库中。

在本发明的一个实施例中,物联网系统的安全数据包括:物联网系统的网关设备的安全规则和/或操作日志。

在本发明的一个实施例中,所接收的安全数据为按照预设加密规则加密后的安全数据。

在本发明的一个实施例中,接收模块405,还用于一同接收所述安全数据对应的数字签名和发出所述安全数据的区块链节点的公钥;其中所述安全数据对应的数字签名是基于所述安全数据和发出所述安全数据的区块链节点的私钥生成的。验证模块406,用于基于所述数字签名和所述公钥验证所述安全数据。

在本发明的一个实施例中,接收模块405,还用于一同接收所述安全数据对应的所述网关设备的标识信息;存储模块407,用于将通过验证的所述安全数据和所述安全数据对应的网关设备的标识信息保存至各自对应的区块链数据库中。

在本发明的一个实施例中,本区块链节点包括:物联网系统的网关设备。

在本发明的一个实施例中,物联网系统的网关设备用于如下至少一项:对物联网系统进行本地监测,对物联网系统进行网络协议转换,对物联网系统进行边缘计算。

需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。

根据本发明的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本发明实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本发明实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本发明实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,发送模块401、安全模块402、加密模块403和签名模块404中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,发送模块401、安全模块402、加密模块403和签名模块404中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,发送模块401、安全模块402、加密模块403和签名模块404中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

再例如,接收模块405、验证模块406和存储模块407中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,接收模块405、验证模块406和存储模块407中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块405、验证模块406和存储模块407中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图5示意性示出了根据本发明实施例的适于实现用于区块链节点的方法的计算机设备内的系统方框图。图5示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,根据本发明实施例的计算机系统500包括处理器501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在ram503中,存储有系统500操作所需的各种程序和数据。处理器501、rom502以及ram503通过总线504彼此相连。处理器501通过执行rom502和/或ram503中的程序来执行根据本发明实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom502和ram503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本发明实施例的方法流程的各种操作。

根据本发明的实施例,系统500还可以包括输入/输出(i/o)接口505,输入/输出(i/o)接口505也连接至总线504。系统500还可以包括连接至i/o接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

根据本发明的实施例,根据本发明实施例的方法流程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本发明实施例的系统中限定的上述功能。根据本发明的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现:上文各实施例所描述的区块链共识达成方法。

根据本发明的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

例如,根据本发明的实施例,计算机可读介质可以包括上文描述的rom502和/或ram503和/或rom502和ram503以外的一个或多个存储器。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。

以上对本发明的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本发明的范围由所附权利要求及其等同物限定。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1