一种基于区块链的安全应用方法及系统与流程

文档序号:17588883发布日期:2019-05-03 21:35阅读:200来源:国知局
一种基于区块链的安全应用方法及系统与流程

本发明涉及区块链技术领域,尤其涉及一种基于区块链的安全应用方法及系统。



背景技术:

在传统的移动应用市场中,普通用户习惯于从移动应用市场下载应用。首先应用开发者发布应用,然后应用市场将其上架,用户可以在移动市场中下载到需要的应用程序。与此同时,监管部门能够对恶意行为进行监管。客观的讲,要求普通用户具备对恶意应用的鉴别能力是困难的。

困难在于,普通用户的移动终端通常只有一个应用市场,用户无法确保应用市场完全可信,无法确认应用程序是否来自于合法的厂商,无法快速鉴别下载的应用是否未经篡改。假设某应用市场曾经上架过恶意应用,那么可以认为该应用市场存在恶意行为。但是当恶意应用下架以后,普通用户无法对这一过程进行追溯。



技术实现要素:

为解决上述技术问题,本发明提供一种基于区块链的安全应用方法及系统。

本发明提供的一种基于区块链的安全应用方法,所述区块链包括领导节点,所述方法包括:

接收发布的智能合约,所述智能合约包括待发布的应用程序、所述待发布的应用程序的描述信息、完整性信息和第一哈希值,所述描述信息包括所述待发布的应用程序的链接地址和标识;

运行共识机制,由领导节点将所述待发布的应用程序的描述信息、完整性信息和第一哈希值打包形成第一区块,将所述第一区块写入区块链中;

更新所述区块链账本;

通知应用市场将所述待发布的应用程序上架。

进一步地,所述方法还包括:

检测所述待发布的应用程序的尺寸;

当所述待发布的应用程序的尺寸小于预设尺寸阈值时,将所述待发布的应用程序也打包进入第一区块。

进一步地,所述方法还包括:

接收移动终端的查询请求,所述查询请求携带应用程序的标识和所述移动终端计算所述应用程序得到的第二哈希值;

根据所述第一哈希值、所述第二哈希值,投票确定应用程序是否可信,并将投票的结果发送给用户。

进一步地,所述方法还包括:

接收移动终端发布的智能合约,所述智能合约包括已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值;

运行共识机制,由领导节点将所述已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值打包形成第二区块,将所述第二区块写入区块链中;

更新区块链账本。

本发明提供的一种基于区块链的安全应用系统,所述区块链包括领导节点,所述系统包括:

第一接收单元,用于接收发布的智能合约,所述智能合约包括待发布的应用程序、所述待发布的应用程序的描述信息、完整性信息和第一哈希值,所述描述信息包括所述待发布的应用程序的链接地址和标识;

封装单元,用于运行共识机制,由领导节点将所述待发布的应用程序的描述信息、完整性信息和第一哈希值打包形成第一区块,将所述第一区块写入区块链中;

更新单元,用于更新所述区块链账本;

通知单元,用于通知应用市场将所述待发布的应用程序上架。

进一步地,所述系统还包括检测单元,用于检测所述待发布的应用程序的尺寸;

所述封装单元还用于当所述待发布的应用程序的尺寸小于预设尺寸阈值时,将所述待发布的应用程序也打包进入第一区块。

进一步地,所述系统还包括第二接收单元,所述第二接收单元用于接收移动终端的查询请求,所述查询请求携带应用程序的标识和所述移动终端计算所述应用程序得到的第二哈希值;

投票单元,用于根据所述第一哈希值、所述第二哈希值,投票确定应用程序是否可信,并将投票的结果发送给用户。

进一步地,所述第一接收单元还用于接收移动终端发布的智能合约,所述智能合约包括已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值;

所述封装单元,还用于运行共识机制,由领导节点将所述已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值打包形成第二区块,将所述第二区块写入区块链中;

所述更新单元还用于在第二区块写入区块链中后,更新所述区块链账本。

实施本发明,具有如下有益效果:

本发明通过应用程序发布时的第一哈希值和用户移动终端下载的应用程序计算出来的第二哈希值进行比较,确定应用程序是否是恶意程序,而且还可以通过其他用户反馈信息来判断应用程序是否恶意程序,解决了现有应用市场下,具有安全问题的应用程序识别困难的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的基于区块链的安全应用方法的流程图。

图2是本发明实施例提供的基于区块链的安全应用系统的结构图。

图3是本发明实施例提供的基于区块链的安全应用系统的工作场景示意图。

具体实施方式

本专利核心内容为利用区块链各节点数据不容易攥改的属性,比较应用程序发布时第一哈希值和应用程序下载时计算第二哈希值,可以判断出应用程序是否恶意应用程序,以下结合附图和实施例对该方法具体实施方式做进一步说明。

下面将详细描述本发明提供的基于区块链的安全应用方法及系统的实施例。

如图1所示,本发明实施例提供一种基于区块链的安全应用方法,所述方法包括:

步骤s11、接收发布的智能合约,所述智能合约包括待发布的应用程序、所述待发布的应用程序的描述信息、完整性信息和第一哈希值,所述描述信息包括所述待发布的应用程序的链接地址和标识。

需要说明的是,步骤s11执行主体是基于区块链的安全应用系统,也是一个区块链系统,其接收的智能合约,可以是由移动应用开发者发布;第一哈希值中的第一并不是作为序号使用,仅用于区别不同哈希值;描述信息可以包括程序描述、程序大小和发布厂商以及待发布的应用程序的链接地址,待发布的应用程序的链接地址用于用户的移动终端下载应用程序时使用。

步骤s12、运行共识机制,由领导节点将所述待发布的应用程序的描述信息、完整性信息和第一哈希值打包形成第一区块,将所述第一区块写入区块链中。

需要说明的是,运行共识机制的执行主体是基于区块链的安全应用系统;区块链包括领导节点,领导节点用来生成区块并用于记账,在不同的算法中也可以称为是记账节点或者主节点。

步骤s13、更新所述区块链账本。

需要说明的是,步骤s13的执行主体是基于区块链的安全应用系统的所有节点,更新区块链账本后,各个节点的信息统一后,很难被篡改。

步骤s14、通知应用市场将所述待发布的应用程序上架。

需要说明的是,步骤s14的执行主体是基于区块链的安全应用系统,上架也指上传到应用市场,使得用户的移动终端可以访问和下载。

在本发明实施例中,应用程序上架前将应用程序相关信息写入区块链系统,目的是为了用户移动终端可以对应用程序进行安全性的验证并对应用程序进行评价。

进一步地,所述方法还包括:

检测所述待发布的应用程序的尺寸;

当所述待发布的应用程序的尺寸小于预设尺寸阈值时,将所述待发布的应用程序也打包进入第一区块。

在本发明实施例中,预设尺寸阈值一般较小,如果对于应用程序比较小可以把应用程序也一起打包放进第一区块,从而放入区块链中;当然如果应用程序稍大,就没有必要放进区块链,毕竟区块链各个节点会同步,在区块内放入应用程序会占用过多的空间。

需要说明的是,在将待发布的应用程序上架之前应用市场可能还包括检查所述待发布的应用程序的安全性的程序,目的是保证用户的移动终端能下载到安全可靠的应用程序;当然有些恶意应用市场也不做这个工作。

进一步地,所述方法还包括:

接收移动终端的查询请求,所述查询请求携带应用程序的标识和所述移动终端计算所述应用程序得到的第二哈希值;

根据所述第一哈希值、所述第二哈希值,投票确定应用程序是否可信,并将投票的结果发送给用户。

需要说明的是,第一哈希值和第二哈希值中的第一、第二并不代表顺序,仅仅用于区分两个哈希值,接收移动终端的查询请求的执行主体是基于区块链的安全应用系统,移动终端下载应用程序,根据应用程序的标识可以查询到第一哈希值,根据第一哈希值、第二哈希值,投票确定应用程序是否可信的执行主体是基于区块链的安全应用系统的各个节点,投票采用少数服从多数的原则,当然不同的节点采用不同原则或者算法来确定应用程序是否可信,例如有的节点仅在第一哈希值和第二哈希值相等时,投票应用程序可信,有点节点在第一哈希值和第二哈希值在前三位相等时,投票应用程序可信。

进一步地,所述方法还包括:

接收移动终端发布的智能合约,所述智能合约包括已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值;

运行共识机制,由领导节点将所述已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值打包形成第二区块,将所述第二区块写入区块链中;

更新区块链账本。

需要说明的是,可信度信息是指应用程序是否可信这一信息,将可信度信息写入区块链,并通过更新区块链账本将更新所有节点上的数据;如果应用程序不可信,那其他用户可以通过查询了解到该应用市场的应用程序可能存在恶意软件,同样监管部门也可以借助区块链系统快速地发现应用市场存在的问题;应用程序发布者也可以借助下载数据给予应用市场支付一定报酬,并且可以获取应用下载的信息,统计应用发布后的下载情况,并能够发现对自身的篡改行为。

如图2所示,本发明实施例提供一种基于区块链的安全应用系统,所述系统包括:

第一接收单元21,用于接收发布的智能合约,所述智能合约包括待发布的应用程序、所述待发布的应用程序的描述信息、完整性信息和第一哈希值,所述描述信息包括所述待发布的应用程序的链接地址和标识;

封装单元22,用于运行共识机制,由领导节点将所述待发布的应用程序的描述信息、完整性信息和第一哈希值打包形成第一区块,将所述第一区块写入区块链中;

更新单元23,用于更新所述区块链账本;

通知单元24,用于通知应用市场将所述待发布的应用程序上架。

进一步地,所述系统还包括检测单元,用于检测所述待发布的应用程序的尺寸;

所述封装单元还用于当所述待发布的应用程序的尺寸小于预设尺寸阈值时,将所述待发布的应用程序也打包进入第一区块。

进一步地,所述系统还包括第二接收单元,所述第二接收单元用于接收移动终端的查询请求,所述查询请求携带应用程序的标识和所述移动终端计算所述应用程序得到的第二哈希值;

投票单元,用于根据所述第一哈希值、所述第二哈希值,投票确定应用程序是否可信,并将投票的结果发送给用户。

进一步地,所述第一接收单元还用于接收移动终端发布的智能合约,所述智能合约包括已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值;

所述封装单元,还用于运行共识机制,由领导节点将所述已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值打包形成第二区块,将所述第二区块写入区块链中;

所述更新单元还用于在第二区块写入区块链中后,更新所述区块链账本。

如图3所示,本发明实施例提供了基于区块链的安全应用系统的工作场景,

应用开发者在步骤s31中向区块链系统,即本实施例中的基于区块链的安全应用系统发布智能合约,目的是将待发布的应用程序的描述信息、完整性信息和第一哈希值发送给区块链系统,描述信息包括待发布的应用程序的链接地址和标识;区块链系统在接收智能合约后运行共识机制,由领导节点将待发布的应用程序的描述信息、完整性信息和第一哈希值打包形成第一区块,将第一区块写入区块链中;区块链系统的所有节点更新区块链账本完成相当于待发布的应用程序已经发布。

在步骤s32中,区块链系统分别通知应用市场a和应用市场b上架待发布的应用程序。

需要说明的是,在本实施例中,应用市场a为良性应用市场,应用市场b为恶意应用市场;良性应用市场会对待发布的应用程序先检查后上架;但是恶意应用市场则不对待发布的应用程序检查安全性而直接上架。

在步骤s33中,用户的移动终端在应用市场搜索应用并下载。

需要说明的是,移动终端会在下载应用程序后,计算应用程序得到第二哈希值。

在步骤s34中,用户的移动终端向区块链系统发送查询请求,查询请求携带应用程序的标识和第二哈希值。

在步骤s35中,根据所述第一哈希值、所述第二哈希值,投票确定应用程序是否可信,并将投票的结果发送给用户。

在步骤s36中,移动终端向区块链系统发布智能合约,所述智能合约包括已下载的应用程序的描述信息、完整性信息、可信度信息和第二哈希值。

在步骤s37中,应用开发者从区块链系统获取应用下载的信息,通过统计数据能够发现对自身篡改的行为。

在步骤s38中,应用开发者获得良性应用市场支付的报酬。

在步骤s39中,监管部门对恶意应用市场发送整改和管制指令。

实施本发明,具有如下有益效果:

本发明通过应用程序发布时的第一哈希值和用户移动终端下载的应用程序计算出来的第二哈希值进行比较,确定应用程序是否是恶意程序,而且还可以通过其他用户反馈信息来判断应用程序是否恶意程序,解决了现有应用市场下,具有安全问题的应用程序识别困难的技术问题。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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