基于区块链的智慧城市信息安全使用方法及系统与流程

文档序号:15963429发布日期:2018-11-16 23:02阅读:180来源:国知局

本发明涉及一种基于区块链的智慧城市数据安全使用方法及系统。

背景技术

随着人类社会的不断发展,未来城市将承载越来越多的人口。目前,我国正处于城镇化加速发展的时期,部分地区“城市病”问题日益严峻。为解决城市发展难题,实现城市可持续发展,建设智慧城市已成为当今世界城市发展不可逆转的历史潮流。

而随着智慧城市建设稳步推进,各地都建设用于跨部委及社会机构的信息共享交换的大数据共享交换平台,以打通各组织部门之间的数据壁垒。由于数据被广泛使用能够创造巨大的价值,故各政府部门也在积极鼓励社会企业及研究机构利用政府数据做出创新性的业务或应用。其中,传统智慧城市实现数据共享的方式一般是通过建设一套数据共享交换平台,该平台从各个组织部门抽取相关数据,并按照统一的数据模型进行处理,处理后提供给各组织单位使用。但是,该传统智慧城市实现数据共享的方法虽然使得数据的获取更加便利,但却放弃了数据所有权与隐私权的保护,也即,数据输送到该数据共享交换平台后,涉及用户隐私或国家安全的政府机构数据及企业数据很容易被泄露、被二次传播,甚至会被非法使用,存在着巨大的安全隐患。并且,所述数据共享交换平台的数据时效性较差,也即,其数据与各组织单位内的数据可能不同步或不一致。另外,由于数据安全性较差的问题,该数据共享交换平台只能由数据管控方主导建设,由数据管控方决定数据的使用者和可被使用的数据,数据透明性较低,无法实现真正意义上的数据共享。

而为了较好地解决数据共享存在的安全问题,现有利用区块链实现数据共享,以下为现有提出的两种基于区块链的数据共享方法:

1)第一种基于区块链的数据共享方法中,区块链系统中的各个对等节点都能够看到链上的所有数据交易内容,故仍然存在较大的数据安全隐患。虽然区块链系统中的加密和密钥机制能够解决部分问题,但由于信息分享及使用关系复杂且动态变化多,简单地使用密钥无法管理复杂的动态分享映射关系。

2)第二种基于区块链的数据共享方法中,是将数据与元数据分离,通过区块链仅共享开放且不涉密的元数据信息,对涉密信息则进行本地保存,且涉密信息的获取由统一集中的鉴权系统进行管控。从而实现在接收到访问涉密信息的请求时,由统一集中的鉴权系统判定是否同意请求方获取涉密信息。虽然能够在一定程度上提高了数据共享的安全性,但仍然无法保证请求方获取数据后,不会进一步扩散给第三方,或将数据应用于非授权场景。

因此,现有数据共享方法,在将数据使用权提供给请求方时,相当连带提供了数据所有权。而数据所有权的提供,也必然存在损害数据隐私安全的问题。



技术实现要素:

为解决上述现有技术的缺点和不足,本发明提供了一种基于区块链的智慧城市数据安全使用的方法及系统,通过利用区块链建立一个仅拥有可信安全的数据交换执行环境的数据执行平台,利用数据执行平台实现数据所有端和数据请求端之间的数据传输,实现了数据所有端可以在不放弃数据所有权的情况下,将数据的使用权让渡给第三方且不损害数据隐私安全,有助于安全共享并使用于多个不互信组织间的数据,有效地防止敏感信息的非法授权获取、使用、泄露和篡改,同时保证数据真实可靠地被使用,实现智慧城市内多个实体组织间有效的信息共享处理及敏感信息隐私保护。

本发明时通过如下方法实现的:

一种基于区块链的智慧城市信息安全使用方法,其特征在于,包括如下步骤:

接收用户执行智能合约请求;

根据智能合约请求查找区块链上数据目录,获取被请求数据地址;

从被请求数据地址中获取加密后的数据,并解密,解密后,使用相应沙箱的密钥进行加密,然后发送至相应沙箱;

使用解密后的数据进行智能合约运算,将运算结果与其他区块链节点沙箱的运算结果进行共识计算;

共识计算通过后,将结果发送至发出执行智能合约请求的用户。

本发明所述的一种基于区块链的智慧城市信息安全使用方法,实现了数据所有端可以在不放弃数据所有权的情况下,将数据的使用权让渡给第三方且不损害数据隐私安全,有助于安全共享并使用于多个不互信组织间的数据,有效地防止敏感信息的非法授权获取、使用、泄露和篡改,同时保证数据真实可靠地被使用,实现智慧城市内多个实体组织间有效的信息共享处理及敏感信息隐私保护。

进一步地,所述智能合约存储于区块链内,各区块链节点均可获取。

进一步地,各区块链节点合约执行沙箱加载所述智能合约后,按合约约定进行状态变更。

进一步地,从被请求数据地址中获取加密后的数据,并解密,包括:

通过接口服务向相应节点数据接口发起请求;

获取相应节点发送的以本沙箱公钥进行加密的数据;

使用本沙箱私钥对加密后的数据进行解密。

进一步地,使用解密后的数据进行智能合约运算,将运算结果与其他沙箱的运算结果进行共识计算,包括:

对各沙箱的智能合约运算结果取哈希值;

使用区块链共识机制对结果哈希值进行共识投票;

如果投票结果超过一半节点一致,则共识通过。

进一步地,所述智能合约执行包括输入节点、决策节点、计算节点和输出节点,所述智能合约执行输入节点、决策节点、计算节点和输出节点时均进行共识计算。

进一步地,还包括如下步骤:

废除共识失败节点沙箱内当前状态和中间数据,并从其他共识成功节点获取状态和中间数据继续参与计算。

进一步地,所述计算节点为用户输入的计算模型。

进一步地,还包括如下步骤:

完成合约运行后,销毁合约沙箱及沙箱内数据。

进一步地,本发明还提供一种基于区块链的智慧城市信息安全系统,包括若干区块链节点,每个区块链节点包括数据接口模块,其特征在于:在每个区块链节点上包括一个执行智能合约的沙箱;

所述沙箱接收用户执行智能合约请求,根据智能合约请求查找区块链上数据目录,获取被请求数据地址;所述沙箱从被请求数据地址中获取加密后的数据,并解密,解密后,使用其他区块链节点相应沙箱的密钥进行加密,然后发送至其他区块链节点相应的沙箱;所述沙箱还使用解密后的数据进行智能合约运算,将运算结果与其他区块链节点沙箱的运算结果进行共识计算;在共识计算通过后,将结果发送至发出执行智能合约请求的用户。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为一种实施例中基于区块链的智慧城市信息安全系统结构示意图;

图2为一种实施例中基于区块链的智慧城市信息安全使用方法步骤框图;

图3为种实施例中基于区块链的智慧城市信息安全系统结构示意图。

具体实施方式

如图1所示,图1为本发明一种基于区块链的智慧城市信息安全系统,包括区块链节点a、区块链节点b和区块链节点c,区块链节点a、区块链节点b和区块链节点c上各设有一个用于执行智能合约的安全沙箱,每个安全沙箱还包括于本地数据进行数据访问的数据接口模块。

每个区块链节点上分别保存三类数据,其一为数据目录,即元数据信息,其中,数据目录为公开内容,其他组织可以通过数据目录获知私有数据的保存位置。其二为智能合约,智能合约为所有各方共同认可的操作流程代码,智能合约实体为保存在区块链节点上独立于沙箱的一段代码,智能合约的执行被加载在沙箱内执行,智能合约在多个区块链节点使用相同输入进行运行,运行状态经过共识后,存储于区块链节点内。其三为动态的合约操作运行状态记录,在安全沙箱获取加密数据以及执行智能合约时,获取加密数据的动作以及智能合约的执行记录,智能合约的中间状态等同时记录在区块链上。

安全沙箱内包括执行器,用于加载存储与区块链之上的智能合约并执行,在执行的过程中,中间数据对于外部观察者不可见。每段智能合约被安全沙箱调用后,将产生一个智能合约的实例,这个实例运行在沙箱内,但状态保存在区块链中,安全沙箱包括用于与本地数据对接的本地数据接口,各区块链节点间通过共享交换网络实现沙箱间数据加密共享。

当业务需要调用智能合约时,服务器沙箱通知多个核心节点服务器加载对应智能合约代码,并使用业务输入进行运行。智能合约在多个节点同时执行,执行过程改变对应智能合约的状态机,单个智能合约实例的状态机同样存储在区块链节点上,当多个节点的状态机状态不同时,使用共识机制保证只有大多数节点认可的状态才能够写入区块链节点。

与本地数据进行对接的数据接口模块包括原始数据请求接口、用户信息输入接口和运行结果交付接口,其中,原始数据请求接口用于获取本地的经过加密后的原始数据,并进行解密,用户信息输入接口用于获取各用户的用户信息,运行结果交付接口用于将计算结果加密,并发送至请求的用户。数据接口模块在各区块链节点本地运行,形成安全沙箱与本地服务的通讯通道,其中,本地服务进行安全限制仅容许本地沙箱ip进行访问,并使用本地沙箱的内置密钥对原始数据进行加密。

基于上述基于区块链的智慧城市信息安全系统,如图2所示,本发明基于区块链的智慧城市信息安全使用方法包括如下步骤:

s10:接收用户执行智能合约请求。

其中,智能合约为参与各方共同拟定,并通过合约编辑工具生成智能合约代码,智能合约代码被生成后,保存在区块链节点内,存储方式可以是key,合约名称可以是value,智能合约明文存储,区块链各节点均可直接获取。

s20:根据智能合约请求查找区块链上数据目录,获取被请求数据地址。

当前被执行的智能合约查找区块链节点上的数据目录,即元数据,可获取被请求数据位于的服务器地址。

s30:从被请求数据地址中获取加密后的数据,并解密,解密后,使用相应沙箱的密钥进行加密,然后发送至相应沙箱。

获取被请求数据位于的服务器地址后,该服务器地址对应的区块链节点的沙箱从该服务器地址获取加密后的数据,并进行解密,将数据解密后,分别使用其他不同区块链节点的沙箱密钥进行加密,并将加密后的数据发送至对应的沙箱。

s40:使用解密后的数据进行智能合约运算,将运算结果与其他区块链节点沙箱的运算结果进行共识计算。

其他区块链节点的沙箱从该服务器对应的沙箱接收到加密后的数据后,分别使用各自私钥进行解密,解密后,各区块链节点的沙箱都获取了完整的输入数据,各区块链节点的沙箱分别使用该输入数据进行只能合约的运算,并将运算结果进行共识投票。

s50:共识计算通过后,将结果发送至发出执行智能合约请求的用户。

计算结果输出时,输出方位于的区块链节点沙箱使用该节点私钥对输出结果进行加密,输出方收到加密后的计算结果后,通过该节点私钥对输出结果进行解密。

在一种实施例中,步骤s30中,从被请求数据地址中获取加密后的数据,并解密,具体包括如下步骤:

s31:通过接口服务向相应节点数据接口发起请求。

s32:获取相应节点发送的以本沙箱公钥进行加密的数据。

s33:使用本沙箱私钥对加密后的数据进行解密。

在一种实施例中,使用解密后的数据进行智能合约运算,将运算结果与其他沙箱的运算结果进行共识计算,包括:

对各沙箱的智能合约运算结果取哈希值。

使用区块链共识机制对结果哈希值进行共识投票。

如果投票结果超过一半节点一致,则共识通过,如某节点合约运行结果少于半数则该结果作废。

在一种实施例中,智能合约执行包括输入节点、决策节点、计算节点和输出节点,智能合约执行输入节点、决策节点、计算节点和输出节点时均需要进行共识计算,遇到决策节点时,合约决定状态机是否满足相关分支条件,并进行分支状态跳转,计算节点为用户输入的计算模型,可以不限制为数学计算,ai模型运算,分类计算,统计计算等,在模型编辑时,以外部动态库方式加载。

在一种实施例中,还包括如下步骤:

废除共识失败节点沙箱内当前状态和中间数据,并从其他共识成功节点获取状态和中间数据继续参与计算。

在一种实施例中,完成合约运行后,销毁合约沙箱及沙箱内数据。

在一种实施例中,各区块链节点合约执行沙箱加载智能合约后,按合约约定进行状态变更。

下面以一个完整的实施例来介绍本发明基于区块链的智慧城市信息安全使用方法,如图3所示,包括用户orga和用户orgb,用户orgb通过当前区块链节点,请求获取用户orga中的数据。假定图中的区块链节点为区块链节点b,同时,系统还包括区块链节点a和区块链节点c,orgb用户申请执行智能合约m,智能合约m通过查找区块链节点上的数据目录,获知相关数据存储于orga内,此时,区块链节点a、区块链节点b和区块链节点c均执行智能合约m,并按合约约定进行状态变更,区块链节点a连接a节点的接口模块,区块链节点b连接b节点的接口模块,区块链节点c连接c节点的接口模块,b节点沙箱内合约申请获取区块链节点b数据,通过b节点接口服务向b节点本地数据库orga发起请求,同样c节点沙箱内合约获取c节点数据,b节点接口服务获取数据后,分别使用沙箱b的公钥进行加密,传输给沙箱b,沙箱b在区块链上记录动作:请求orga数据,沙箱b内使用私钥对数据进行解密,明文数据保存在沙箱b内存中,外部无法访问,沙箱b分别使用沙箱a和沙箱c的公钥对数据进行再次加密,并将数据通过网络传输给沙箱a和沙箱c,沙箱a和沙箱c使用各自私钥解密数据,这样区块链节点a,b,c三个沙箱都有了完整输入数据。

沙箱a,b,c分别使用输入数据进行智能合约运算,对智能合约运算结果取哈希值,然后使用区块链共识机制对结果哈希值进行共识投票,如运算结果超过50%节点一致,则共识通过,合约执行状态记录进区块链内,如某节点合约运行结果少于半数,则该结果作废。

计算结果输出时,首先查询存储在区块链上元数据,获取输出方的公钥,本实施例中,需要输出给区块链节点b,各节点分别对合约共识结果计算哈希值,区块链节点a,b,c对合约输出结果进行共识计算,共识计算通过后,在区块链记录输出合约共识结果,节点b沙箱使用区块链节点b私钥加密,获取结果集,区块链节点b接口服务将结果集传输到节点orgb用户,orgb用户收到输出结果后,使用区块链节点b私钥进行解密。完成合约运行后,合约沙箱随同里面的数据均销毁,下次申请重新创建新的合约沙箱。

本实施例中,合约所有的计算均在沙箱内完成,合约执行最终状态为输出节点,将最终结果输出给orgb用户。

本发明基于区块链的智慧城市信息安全使用方法,可应用于智慧城市中各种应用场景,例如企业信用报告的生成与查询,企业信用是很多数据综合的结果,如纳税情况,销售情况,社保缴纳情况,水电煤气消费情况,多家银行账户信息,存贷记录,诉讼信息等等。这些信息都涉及到企业隐私,而且都没有任何一家机构包括政府部门能够获取全部完整数据。因此我们规划了一套区块链体系,让相关方能够通过各自向执行器提供一部分数据,而生成完整的信用报告。

在这套体系内,工商部门可以发起企业信用生成请求,激活智能合约流程,信用结果统一交给工商征信部门存档。其他机构需要查询企业信用时,同样通过智能合约流程,经过相关部门审批后可以获取信用报告。

该系统在银行,水电气,房地产局,税务局,法院,民政等均部署对应的区块链节点,经各部门联合审议形成纸质合约,然后通过工具编程形成智能合约。

本发明基于区块链的智慧城市信息安全使用方法,通过多方共识计算保证所有参与方的信息能够在沙箱内进行安全的处理,并输出处理后结果对外提供服务。这一设计在保证数据隐私的前提下,实现了对数据的安全共享处理,满足了互不可信的多方,即希望能够对方使用数据进行业务运算,又不希望丧失数据控制权的需要。

这一方法不仅仅可以用于智慧城市场景,在其他各种既需要数据共享访问,有需要保护用户隐私的场景下都可以利用,如医疗信息共享交换,金融信息共享交换等等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

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