掌桥专利:专业的专利平台
掌桥专利
首页

一种基于区块链的授权方法和系统

文献发布时间:2023-06-19 12:07:15


一种基于区块链的授权方法和系统

技术领域

本发明属于通信授权技术领域,具体涉及一种基于区块链的授权方法和系统。

背景技术

用户授权凭证(签订协议)的传统处理方式,企业将所有用户的签约信息存储在企业自有数据库。随着互联网时代的发展,企业应用的云化部署,以及支持高并发的集群部署模式,企业会将应用迁移到云主机上,数据存放在集群数据库中,并且可能存放了多个副本,甚至考虑到灾备,将数据存放在异地机房。这种方式表面上解决了数据的安全性、稳定性。但本质上,数据还是存放在企业自己管控的服务器上,如果发生篡改,用户和第三方机构仍然无法验证数据的真实性,难以让人信服。

发明内容

为了解决现有技术存在的易篡改、可靠性低的问题,本发明提供了一种基于区块链的授权方法和系统,其具有不易篡改,可靠性更高,安全性更高等特点。

根据本发明的具体实施方式的一种基于区块链的授权方法,包括:

获取企业与用户签约的凭证信息;

将所述凭证信息生成相应哈希,并同步请求区块链引擎获取用户秘钥,使用所述用户秘钥对所述相应哈希生进行签名生成新哈希并上传至区块链的对应节点;

将所述新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询。

进一步地,在所述获取企业与用户签约的凭证信息之前还包括:

将企业与用户签约的凭证信息存储到指定地址。

进一步地,所述将所述新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询包括:

基于所述区块链引擎将所述新哈希数据同步广播至区块链中其他友节点和主节点中。

进一步地,所述将所述新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询还包括:

所述主节点基于数据中台服务拉取各个友节点的Kakfa服务内的链上数据。

进一步地,所述将所述新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询还包括:

所述主节点还基于数据中台服务将拉取的链上数据写入主节点的数据持久化层MYSQL和REDIS。

进一步地,用户或企业通过主节点或友节点提供的业务网关服务进行链上数据的高速查询。

根据本发明具体实施方式提供的一种基于区块链的授权系统,包括:

业务平台,用于获取企业与用户签约的凭证信息;并将所述凭证信息生成相应哈希,并同步请求区块链引擎获取用户秘钥,使用所述用户秘钥对所述相应哈希生进行签名生成新哈希并上传至区块链的对应节点;以及

区块链平台,用于将所述新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询。

进一步地,所述业务平台和所述区块链平台之间基于所述区块链平台提供的API接口进行数据的交互。

本发明的有益效果为:通过引入区块链技术,为企业提供用户凭证记录到区块链。利用区块链分布式、不可篡改等特性,确保用户凭证的安全、真实、有效。包含签约信息的用户授权凭证,通过用户自有私钥加密签名后,签名文件通过加密存储到区块链上,无用户公钥和权限将无法读取。授权凭证是通过用户密钥签名,将授权合同在区块链上加密存储,具有唯一性,可信度高,并易判断数据的真实有效性。

附图说明

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

图1是根据一示例性实施例提供的基于区块链的授权方法的流程图;

图2是根据一示例性实施例提供的基于区块链的授权系统的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

参照图1所示,本发明的实施例提供了一种基于区块链的授权方法,具体包括:

101、获取企业与用户签约的凭证信息;用户与企业签订的协议可作为相应的凭证。

102、将凭证信息生成相应哈希,并同步请求区块链引擎获取用户秘钥,使用用户秘钥对相应哈希生进行签名生成新哈希并上传至区块链的对应节点;

凭证信息生成哈希,同步请求区块链引擎获得用户秘钥,使用用户秘钥对凭证哈希签名后生成新的哈希请求上链。区块链平台收到请求响应返回相应的,并将签约数据上链。

103、将新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询。

上链后的数据通过Kakfa同步到盟友节点的数据持久化层MYSQL和REDIS。

具体的,分布式授权凭证存储服务,通过区块链安全地存储个人和企业用户的身份信息、凭证信息,并在保护隐私的情况下为用户、用户信息提供方、用户信息使用方提供身份标识、授权凭证和信息交互,使得企业和机构可以更合规的使用和管理用户身份信息及数据授权。Kakfa是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。Kakfa通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。它具有高吞吐量性能,即使是非常普通的硬件Kakfa也可以支持每秒数百万的消息处理。Redis是NoSql四大分类中的键值型存储数据库。它是一个开源的,先进的key-value,通常被称为数据结构服务器。因为它支持存储的value类型可以包含(string)字符串、(list)链表、(hash)哈希、(set)集合、(zset)有序集合等多种数据结构。

MYSQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MYSQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MYSQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一,具有更好的管理效率。Hash一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

这样通过提供上链相应的接口,企业通过上链接口进行用户授权签约和取消授权,区块链上保存用户授权详细记录信息(哈希值、有效期、是否同意授权、签约时间、签约人等)和授权信息的所有变更历史记录。从而使身份信息和凭证信息的真实性得到了极大的保障。

在本发明的另一具体实施例中,在获取企业与用户签约的凭证信息之前还包括:

将企业与用户签约的凭证信息存储到指定地址。

将新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询包括:

基于区块链引擎将新哈希数据同步广播至区块链中其他友节点和主节点中。

将新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询还包括:

主节点基于数据中台服务拉取各个友节点的Kakfa服务内的链上数据。

将新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询还包括:

主节点还基于数据中台服务将拉取的链上数据写入主节点的数据持久化层MYSQL和REDIS。

用户或企业通过主节点或友节点提供的业务网关服务进行链上数据的高速查询。

具体的,在具体实施时可采用联盟链组成区块链平台,联盟链就是区块链关系链的一种,联盟链介于公有链与私有链之间,是多个组织或机构参与的区块链。即,联盟链是由多个私有链组成的集群,由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送,其具备低成本运行和维护,高交易速度及良好的扩展性等特点,而且联盟链对交易的确认时间、每秒交易数都与公有链有较大的区别,对安全和性能的要求也比公有链高。

用户与企业签订的协议,企业将用户签约原始凭证存储到指定地址;

企业将用户签约的相关信息、原始凭证名称通过接口提交到盟友的业务平台;

盟友的业务平台将凭证信息生成哈希,同步请求区块链引擎获得用户秘钥,使用用户秘钥对凭证哈希签名后生成新的哈希请求上链;

区块链平台收到请求响应返回给业务平台,并将签约数据上链;

上链后的数据通过Kakfa同步到盟友节点的数据持久化层MYSQL和REDIS;

盟友节点的区块链引擎将数据同步广播至其他盟友节点以及盟主节点;

盟主节点的数据中台服务拉取各个盟友节点的Kakfa服务内的上链数据;

盟主节点的数据中台服务将拉取的上链数据写入盟主节点的数据持久化层MYSQL和REDIS;

企业和话务平台查询用户授权协议通过盟主或盟友节点提供的业务网关服务进行高速查询。通过分布式授权凭证存储服务,通过区块链安全地存储个人和企业用户的身份信息、凭证信息,并在保护隐私的情况下为用户、用户信息提供方、用户信息使用方提供身份标识、授权凭证和信息交互,使得企业和机构可以更合规的使用和管理用户身份信息及数据授权。本方法提供上链API接口,企业通过上链接口进行用户授权签约和取消授权,区块链上保存用户授权详细记录信息(哈希值、有效期、是否同意授权、签约时间、签约人等)和授权信息的所有变更历史记录。从而使身份信息和凭证信息的真实性得到了极大的保障。同时优化了区块链的读写能力,使其具有高并发的读写能力。

可以理解的是,本领域技术人员还可采用其他的区块链进行授权信息的验证,本发明在此不做限制。

基于同样的设计思路,参照图2所示本发明的实施例还提供了一种基于区块链的授权系统其特征在于,包括:

业务平台,用于获取企业与用户签约的凭证信息;并将凭证信息生成相应哈希,并同步请求区块链引擎获取用户秘钥,使用用户秘钥对相应哈希生进行签名生成新哈希并上传至区块链的对应节点;以及

区块链平台,用于将新哈希数据通过Kakfa同步到区块链其他节点的数据持久化层MYSQL和REDIS,以使对应节点通过业务网关服务进行高速查询。

业务平台和区块链平台之间基于区块链平台提供的API接口进行数据的交互。

具体的,业务平台可面向监管部门、运营商、语音平台等面向B端企业开放API接口对接,商家企业面向C端用户进行签约授权的企业,每个联盟链采用多节点主从模式容灾,对应的联盟链具有三种接口:上链相关API:与B端企业进行对接,接收B端企业与C端用户的签约记录数据;查询C端用户授权状态API:与话务平台方对接,可支持高并发的查询C端用户最终被呼叫的意愿情况;查询C端用户授权记录API:与支撑方对接进行数据包装展示给监管部门或运营商查询。

通过提供上链API接口,企业通过上链接口进行用户授权签约和取消授权,区块链上保存用户授权详细记录信息(哈希值、有效期、是否同意授权、签约时间、签约人等)和授权信息的所有变更历史记录。从而使身份信息和凭证信息的真实性得到了极大的保障。

本发明上述实施例所提供的基于区块链的授权方法和系统,通过引入区块链技术,为企业提供用户凭证记录到区块链。利用区块链分布式、不可篡改等特性,确保用户凭证的安全、真实、有效。包含签约信息的用户授权凭证,通过用户自有私钥加密签名后,签名文件通过加密存储到区块链上,无用户公钥和权限将无法读取。授权凭证是通过用户密钥签名,将授权合同在区块链上加密存储,具有唯一性,可信度高。若企业若对数据进行篡改,将导致加密后的数据与区块链上的数据不一致,从而容易判断数据的真实有效性。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 基于区块链的软件授权方法、激励方法和授权交易方法
  • 一种基于区块链的患者家属远程确认系统和授权方法
技术分类

06120113177580