本发明涉及项目设计,尤其涉及一种基于区块链的分布式授权管理系统及方法。
背景技术:
1、认证与授权是保证当前互联网活动安全性的最重要的两个方面。认证是证明你是谁的过程。例如,通过提供正确的用户名/密码,对用户的身份进行身份验证。授权则是在认证后根据权限策略,决定你可以做的什么。现有的授权管理机制,均通过中心化的决策手段进行,如通过一个具有最大权限的账号去对其他人进行授权操作,且授权项目的实施也基于中心化的服务器,容易出现的问题是通过管理员去授权,管理员的个人权限过大,可以对整个系统在内所有人的权限进行不受限制的随意修改和查看,对系统数据的安全性造成很大威胁。且中心化的服务器在遭受网络攻击或物理攻击下,难以保证服务器数据的安全性。
技术实现思路
1、本发明提出了一种基于区块链的分布式授权管理系统及方法,通过区块链技术提升现有授权机制安全性与授权过程公正性。
2、第一方面,一种基于区块链的分布式授权管理系统,包括前端页面模块、区块链模块和存储模块,所述前端页面模块连接区块链模块,区块链模块与存储模块连接,存储模块最后连接回前端页面模块实现数据的传输。
3、进一步,所述前端页面模块包括嵌入在前端页面中的web3.js子模块和truffle框架,所述web3.js子模块和truffle框架与区块链模块后端程序进行交互。
4、进一步,所述区块链模块包括联盟链和后端程序代码,区块链模块还设置有共识机制;所述后端程序代码使用solidity语言编写后端授权部分代码。
5、进一步,所述存储模块包括mysql数据库,还设置有hash加密子模块。
6、另一方面,一种基于区块链的分布式授权管理方法,基于一种基于区块链的分布式授权管理系统实现,包括以下步骤:
7、步骤s1:在区块链上发布授权信息,利用区块链上设置的共识算法对授权信息进行共识验证;
8、步骤s2:验证完毕后,将最后产生的授权结果存储在数据库中;
9、步骤s3:将数据库中的授权记录以hash加密方式存储在区块链上。
10、进一步,所述步骤s1授权信息的共识验证还包括:将代码部署在区块链上,授权流程在区块链上运行,授权过程为区块链多节点共识过程,结果为打包出一个区块,区块中记录整个验证过程及结果。
11、进一步,所述步骤s2还包括:在数据库中将记录中的关键字段进行hash加密,存储在区块链上;当未经过区块链共识而修改数据库中记录时,根据区块链上存储的记录hash值,判断是否有违规操作数据库。
12、本发明的有益效果:本发明提出了一种基于区块链的分布式授权管理系统及方法,利用区块链技术,解决现有授权体系以中心化角色为导向,授权过度中心化,无法保证每次授权的公正与正确的问题。利用区块链技术,授权流程记录在区块链上,信息公开透明且不可篡改,且授权过程需要经过区块链中节点共识,保证授权的公平性。且基于分布式服务器与中心化服务器相比,其安全性显著提高,数据损坏或丢失的可能性显著降低。
1.一种基于区块链的分布式授权管理系统,其特征在于,包括前端页面模块、区块链模块和存储模块,所述前端页面模块连接区块链模块,区块链模块与存储模块连接,存储模块最后连接回前端页面模块实现数据的传输。
2.根据权利要求1所述的一种基于区块链的分布式授权管理系统,其特征在于,所述前端页面模块包括嵌入在前端页面中的web3.js子模块和truffle框架,所述web3.js子模块和truffle框架与区块链模块后端程序进行交互。
3.根据权利要求1所述的一种基于区块链的分布式授权管理系统,其特征在于,所述区块链模块包括联盟链和后端程序代码,区块链模块还设置有共识机制;所述后端程序代码使用solidity语言编写后端授权部分代码。
4.根据权利要求1所述的一种基于区块链的分布式授权管理系统,其特征在于,所述存储模块包括mysql数据库,还设置有hash加密子模块。
5.一种基于区块链的分布式授权管理方法,基于权利要求1~4任意一项所述的一种基于区块链的分布式授权管理系统实现,其特征在于,包括以下步骤:
6.根据权利要求5所述的一种基于区块链的分布式授权管理方法,其特征在于,所述步骤s1授权信息的共识验证还包括:将代码部署在区块链上,授权流程在区块链上运行,授权过程为区块链多节点共识过程,结果为打包出一个区块,区块中记录整个验证过程及结果。
7.根据权利要求6所述的一种基于区块链的分布式授权管理方法,其特征在于,所述步骤s2还包括:在数据库中将记录中的关键字段进行hash加密,存储在区块链上;当未经过区块链共识而修改数据库中记录时,根据区块链上存储的记录hash值,判断是否有违规操作数据库。