一种基于区块链技术的安全发布订阅系统及发布订阅方法技术方案

技术编号:21552334 阅读:28 留言:0更新日期:2019-07-07 00:20
本发明专利技术实施例提供了一种基于区块链技术的安全发布订阅系统及发布订阅方法,系统包括:密钥服务器,消息订阅客户端,消息发布服务器,包括多个区块链节点的区块链;方法包括:接收由消息发布服务器发送的密文和加密标签;接收由订阅客户端发送的属性值,陷门值,预解密密钥;验证密文是否与属性值匹配;如果匹配则验证加密标签是否与陷门值匹配;如果匹配则利用预解密密钥对密文进行预解密处理得到预解密密文;将预解密密文发送至消息订阅客户端,以使消息订阅客户端解密得到订阅消息。本发明专利技术实施例能够提高发布订阅系统中所保存数据的安全性。

A Secure Publish-Subscribe System and Publish-Subscribe Method Based on Block Chain Technology

【技术实现步骤摘要】
一种基于区块链技术的安全发布订阅系统及发布订阅方法
本专利技术涉及物联网
,特别是涉及一种基于区块链技术的安全发布订阅系统及发布订阅方法。
技术介绍
发布订阅系统是一种中间件系统,其具有异步传输,多方通信,松耦合的特点,它能够使通信双方在时间、空间与控制流程上实现完全解耦,而实体间则以松散的方式进行数据传输,与此同时消息发布服务器与订阅者彼此之间并不知道对方的存在。订阅者只需将自己感兴趣的请求提交给中间件,只要有发布者向中间件发布消息,中间件就可以向所有感兴趣的订阅者发送该消息。受益于无线传感技术的发展,物联网实现了在智慧城市、智慧医疗以及自动驾驶领域的长足发展。物联网的一个显著特点是分布式,由于发布订阅系统固有的实现传感器间交互信息去耦合的特点,使得其更加适合应用于物联网场景。但是,正是由于发布订阅系统去耦合的特点,使得针对该系统的中所保存数据的攻击层出不穷,也就是说,现有的发布订阅系统中所保存数据的安全性仍有待提高。
技术实现思路
本专利技术实施例的目的在于提供一种基于区块链技术的安全发布订阅系统及发布订阅方法,以进一步提高发布订阅系统中所保存数据的安全性。具体技术方案如下:第一方面,本专利技术实施例提供了一种基于区块链技术的安全发布订阅系统,所述系统包括:密钥服务器,消息订阅客户端,消息发布服务器,以及区块链,所述区块链包括多个区块链节点,其中:所述密钥服务器用于基于所述消息发布服务器的授权发布时间,向该消息发布服务器分配密钥,以及,基于所述消息订阅客户端的属性值和授权访问时间,向该消息订阅客户端分配密钥;所述密钥包括:主私钥,系统公钥,第一私钥,第二私钥;其中,所述第一私钥用于消息发布服务器,所述第二私钥用于消息订阅客户端;所述消息订阅客户端用于基于订阅关键字生成与该订阅关键字对应的陷门值,基于自身的属性值生成预解密密钥,并将所述陷门值和所述预解密密钥发送至所述区块链节点;以及,基于所述第二私钥生成解密密钥;所述消息发布服务器用于基于所述第一私钥对消息以及该消息对应的关键字集合进行加密处理,分别生成与所述消息对应的密文以及与所述关键字集合对应的加密标签,并将所述密文和所述加密标签发送至所述区块链节点;其中,所述密文中携带有与该密文相关联的访问控制策略;所述区块链节点用于验证所述消息订阅客户端的属性值是否满足所述消息发布服务器的访问控制策略,以及验证所述加密标签是否与所述陷门值匹配,并在验证通过后将预解密密文发送至所述消息订阅客户端;所述预解密密文通过对所述密文进行预解密处理后得到。可选的,所述区块链节点具体用于:判断消息发布服务器的所述密文是否与消息订阅客户端的所述属性值匹配。可选的,所述区块链节点具体用于:如果消息发布服务器的所述密文与消息订阅客户端的所述属性值匹配,则验证所述加密标签是否与所述陷门值匹配。可选的,所述区块链节点具体用于:如果所述加密标签与所述陷门值匹配,则将所述预解密密文发送至所述消息订阅客户端。可选的,所述区块链节点具体用于:如果所述加密标签与所述陷门值匹配,则将所述预解密密文发送至所述消息订阅客户端。可选的,所述消息订阅客户端还用于:利用所述解密密钥解密所述预解密密文,得到订阅消息。第二方面,本专利技术实施例提供了一种基于区块链技术的安全发布订阅方法,应用于如第一方面所述的基于区块链技术的安全发布订阅系统中的所述区块链节点,所述方法包括:接收由所述消息发布服务器发送的密文和加密标签;所述密文中携带有与该密文相关联的访问控制策略;接收由所述订阅客户端发送的属性值,陷门值,以及预解密密钥;验证所述密文是否与所述属性值匹配;如果所述密文与所述属性值匹配,则验证所述加密标签是否与所述陷门值匹配;如果所述加密标签与所述陷门值匹配,则利用所述预解密密钥对所述密文进行预解密处理,得到预解密密文;将所述预解密密文发送至所述消息订阅客户端,以使所述消息订阅客户端解密所述预解密密文,得到订阅消息。可选的,所述验证所述加密标签是否与所述陷门值匹配的步骤,具体包括:判断所述加密标签与所述陷门值是否对应相同的关键字。第三方面,本专利技术实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本专利技术实施例第二方面提供的基于区块链技术的安全发布订阅方法的方法步骤。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行本专利技术实施例第二方面提供的基于区块链技术的安全发布订阅方法的方法步骤。本专利技术实施例提供的一种基于区块链技术的安全发布订阅系统及发布订阅方法,区块链节点通过验证消息订阅客户端的属性值是否满足消息发布服务器的访问控制策略,进一步再验证加密标签是否与陷门值匹配,能够在验证通过后将预解密密文发送至消息订阅客户端,从而使消息订阅客户端解密该预解密密文,得到预订消息。由于本专利技术实施例通过区块链节点的两层验证策略验证消息发布服务器和消息订阅客户端的数据传输安全性,并且,利用区块链节点中存储的数据具有难以被篡改的特性,因此一方面能够防止消息发布服务器发布的订阅消息和消息订阅客户端接收的订阅消息被恶意篡改,达到提高发布订阅系统中所保存数据的安全性的技术效果,另一方面实现对用户的细粒度的访问权限控制的目的。当然,实施本专利技术的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的基于区块链技术的安全发布订阅系统的一种架构示意图;图2为本专利技术实施例提供的基于区块链技术的安全发布订阅方法的一种流程示意图;图3为本专利技术实施例提供的基于区块链技术的安全发布订阅装置的一种结构示意图;图4为本专利技术实施例提供的电子设备的一种结构示意图;图5为本专利技术实施例中订阅者密钥生成时长与订阅者自身属性值数量的关系示意图;图6为本专利技术实施例中订阅者订阅陷门的生成时间与关键字数量及属性值数量的关系示意图;图7为本专利技术实施例中发布者加密时间与关键字数量及属性值数量的关系示意图;图8为本专利技术实施例中策略匹配时间与关键字数量及属性值数量的关系示意图;图9为本专利技术实施例中的预解密阶段,加密时长与关键字数量及属性值数量的关系示意图;图10为本专利技术实施例中解密时长与关键字数量及属性值数量的关系示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例提供了一种基于区块链技术的安全发布订阅系统,该系统包括:密钥服务器,消息订阅客户端,消息发布服务器,以及区块链,其中区块链可以包括多本文档来自技高网...

【技术保护点】
1.一种基于区块链技术的安全发布订阅系统,其特征在于,所述系统包括:密钥服务器,消息订阅客户端,消息发布服务器,以及区块链,所述区块链包括多个区块链节点,其中:所述密钥服务器用于基于所述消息发布服务器的授权发布时间,向该消息发布服务器分配密钥,以及,基于所述消息订阅客户端的属性值和授权访问时间,向该消息订阅客户端分配密钥;所述密钥包括:主私钥,系统公钥,第一私钥,第二私钥;其中,所述第一私钥用于消息发布服务器,所述第二私钥用于消息订阅客户端;所述消息订阅客户端用于基于订阅关键字生成与该订阅关键字对应的陷门值,基于自身的属性值生成预解密密钥,并将所述陷门值和所述预解密密钥发送至所述区块链节点;以及,基于所述第二私钥生成解密密钥;所述消息发布服务器用于基于所述第一私钥对消息以及该消息对应的关键字集合进行加密处理,分别生成与所述消息对应的密文以及与所述关键字集合对应的加密标签,并将所述密文和所述加密标签发送至所述区块链节点;其中,所述密文中携带有与该密文相关联的访问控制策略;所述区块链节点用于验证所述消息订阅客户端的属性值是否满足所述消息发布服务器的访问控制策略,以及验证所述加密标签是否与所述陷门值匹配,并在验证通过后将预解密密文发送至所述消息订阅客户端;所述预解密密文通过对所述密文进行预解密处理后得到。...

【技术特征摘要】
1.一种基于区块链技术的安全发布订阅系统,其特征在于,所述系统包括:密钥服务器,消息订阅客户端,消息发布服务器,以及区块链,所述区块链包括多个区块链节点,其中:所述密钥服务器用于基于所述消息发布服务器的授权发布时间,向该消息发布服务器分配密钥,以及,基于所述消息订阅客户端的属性值和授权访问时间,向该消息订阅客户端分配密钥;所述密钥包括:主私钥,系统公钥,第一私钥,第二私钥;其中,所述第一私钥用于消息发布服务器,所述第二私钥用于消息订阅客户端;所述消息订阅客户端用于基于订阅关键字生成与该订阅关键字对应的陷门值,基于自身的属性值生成预解密密钥,并将所述陷门值和所述预解密密钥发送至所述区块链节点;以及,基于所述第二私钥生成解密密钥;所述消息发布服务器用于基于所述第一私钥对消息以及该消息对应的关键字集合进行加密处理,分别生成与所述消息对应的密文以及与所述关键字集合对应的加密标签,并将所述密文和所述加密标签发送至所述区块链节点;其中,所述密文中携带有与该密文相关联的访问控制策略;所述区块链节点用于验证所述消息订阅客户端的属性值是否满足所述消息发布服务器的访问控制策略,以及验证所述加密标签是否与所述陷门值匹配,并在验证通过后将预解密密文发送至所述消息订阅客户端;所述预解密密文通过对所述密文进行预解密处理后得到。2.根据权利要求1所述的系统,其特征在于,所述区块链节点具体用于:判断消息发布服务器的所述密文是否与消息订阅客户端的所述属性值匹配。3.根据权利要求2所述的系统,其特征在于,所述区块链节点具体用于:如果消息发布服务器的所述密文与消息订阅客户端的所述属性值匹配,则验证所述加密标签是否与所述陷门值匹配。4.根据权利要求3所述的系统,其特征在于,所述区块链节点具体...

【专利技术属性】
技术研发人员:吕品王励成李丽香
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1