CN111444273B - 一种基于区块链的数据授权方法以及装置 - Google Patents

一种基于区块链的数据授权方法以及装置 Download PDF

Info

Publication number
CN111444273B
CN111444273B CN202010214919.6A CN202010214919A CN111444273B CN 111444273 B CN111444273 B CN 111444273B CN 202010214919 A CN202010214919 A CN 202010214919A CN 111444273 B CN111444273 B CN 111444273B
Authority
CN
China
Prior art keywords
account
signature
data
public key
block chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010214919.6A
Other languages
English (en)
Other versions
CN111444273A (zh
Inventor
李茂材
蓝虎
王宗友
刘攀
周开班
朱耿良
时一防
刘区城
黄焕坤
杨常青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010214919.6A priority Critical patent/CN111444273B/zh
Publication of CN111444273A publication Critical patent/CN111444273A/zh
Application granted granted Critical
Publication of CN111444273B publication Critical patent/CN111444273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/10Tax strategies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Technology Law (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例公开了一种基于区块链的数据授权方法以及装置,其中方法包括:接收第一账户发送的授权信息和第一签名,将授权信息、第一签名以及第一账户的公钥发送给区块链网络中的各个共识节点,当各个共识节点返回的第一签名的验证结果满足预设共识策略时,获取第一账户的资产数据,并获取资产数据在第一时间周期内与第一数据字段匹配的目标资产数据,利用第二账户的公钥对目标资产数据进行加密,并将加密后的目标资产数据推送给第二账户标识所标识的第二账户。采用本申请实施例,可以避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。

Description

一种基于区块链的数据授权方法以及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数据授权方法以及装置。
背景技术
企业的纳税数据可以在一定程度上反映企业的经营情况,在获得企业同意的情况下,银行从税务局获得企业的纳税数据去评估企业贷款的风险,从而帮助企业解决融资难的问题。
目前,银行与税务局之间通过专线直连,银行在获得企业的授权后,银行可以通过专线直接到税务局的服务器中查该企业的纳税数据,税务局无条件相信该银行已经获得该企业的授权。但是,税务局无条件相信该银行已经获得授权的机制,必须基于税务局、银行以及企业之间相互信任。一旦银行欺骗税务局已获得企业的授权,实际上该企业是否授权给该银行,税务局不能监控,则可能造成企业的纳税数据泄露或银行盗取权限外的纳税数据。
发明内容
本申请实施例提供一种基于区块链的数据授权方法以及装置,可以避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。
第一方面,本申请实施例提供了一种基于区块链的数据授权方法,包括:
区块链节点接收第一账户发送的授权信息和第一签名,该授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,该第一签名为该授权信息经过该第一账户的私钥加密运算后得到的签名;
该区块链节点将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果;
若该各个共识节点返回的该第一签名的验证结果满足预设共识策略,则该区块链节点获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据;
该区块链节点利用该第二账户的公钥对该目标资产数据进行加密,并将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。
结合第一方面,在一种可能的实施方式中,该区块链节点获取该第一账户的资产数据之前,该方法还包括:
该区块链节点将该授权信息和该第一签名上链,该区块链节点和该各个共识节点均属于该区块链网络;
该区块链节点接收该第二账户发送的数据请求信息和第二签名,该数据请求信息包括该第一账户的公钥,该第二签名为该数据请求信息经过该第二账户的私钥加密运算后得到的签名;
该区块链节点利用该第一账户的公钥对区块链上的签名进行解密运算;
若利用该第一账户的公钥对该区块链上的第一签名进行解密运算后的结果与该第一签名对应的授权信息相同,则区块链节点检测该第一签名对应的授权信息中的账户标识是否为该第二账户的账户标识;
若该第一签名对应的授权信息中的账户标识为该第二账户的账户标识,则该区块链节点将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点,以使该各个共识节点基于该第二账户的公钥和该数据请求信息对该第二签名进行验证,并返回该第二签名的验证结果;
若该各个共识节点返回的该第二签名的验证结果满足该预设共识策略,则触发该区块链节点执行获取该第一账户的资产数据的步骤。
结合第一方面,在一种可能的实施方式中,上述数据请求信息还包括第二时间周期和第二数据字段。获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据,包括:
将该第一时间周期与该第二时间周期之间的交集确定为第三时间周期,并将该第一数据字段与该第二数据字段之间的交集确定为第三数据字段;若该第三时间周期和该第三数据字段均不为空集,则将该资产数据在该第三时间周期内与该第三数据字段匹配的数据确定为目标资产数据。
结合第一方面,在一种可能的实施方式中,将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户,包括:
将该第二账户的公钥加密后的目标资产数据上链,以使该第二账户标识对应的简单支付验证SPV节点从区块链上获取该第二账户的公钥加密后的目标资产数据,并将该第二账户的公钥加密后的目标资产数据发送给该第二账户标识所标识的第二账户。
结合第一方面,在一种可能的实施方式中,该方法还包括:
若该第一签名对应的授权信息中的账户标识不为该第二账户的账户标识,则该区块链节点向该第二账户发送未授权信息,该未授权信息用于指示该第二账户未获得查看该第一账户的资产数据的权限。
结合第一方面,在一种可能的实施方式中,上述授权信息还包括授权时间。该区块链节点将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点之前,该方法还包括:
该区块链节点检测该数据请求信息和该第二签名的发送时间是否在该第一签名对应的授权信息包括的授权时间内;若该发送时间在该第一签名对应的授权信息包括的授权时间内,则触发该区块链节点执行将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点的步骤;若该发送时间在该第一签名对应的授权信息包括的授权时间外,则该区块链节点向该第二账户返回超时信息,该超时信息用于指示该数据请求信息的发送时间超过该授权时间。
结合第一方面,在一种可能的实施方式中,上述第一账户为企业账户,上述第二账户为银行账户,上述资产数据为该企业账户的纳税数据。
第二方面,本申请实施例提供了一种数据授权装置,该装置包括:
收发模块,用于接收第一账户发送的授权信息和第一签名,该授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,该第一签名为该授权信息经过该第一账户的私钥加密运算后得到的签名;
该收发模块,还用于将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果;
获取模块,用于当该各个共识节点返回的该第一签名的验证结果满足预设共识策略时,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据;
加解密模块,用于利用该第二账户的公钥对该目标资产数据进行加密;
推送模块,用于将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。
结合第二方面,在一种可能的实施方式中,该装置还包括上链模块,用于将该授权信息和该第一签名上链,该区块链节点和该各个共识节点均属于该区块链网络;上述收发模块,还用于接收该第二账户发送的数据请求信息和第二签名,该数据请求信息包括该第一账户的公钥,该第二签名为该数据请求信息经过该第二账户的私钥加密运算后得到的签名;上述加解密模块,还用于利用该第一账户的公钥对区块链上的签名进行解密运算;该装置还包括检测模块,用于当利用该第一账户的公钥对该区块链上的第一签名进行解密运算后的结果与该第一签名对应的授权信息相同时,检测该第一签名对应的授权信息中的账户标识是否为该第二账户的账户标识;上述收发模块,还用于当该第一签名对应的授权信息中的账户标识为该第二账户的账户标识时,将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点,以使该各个共识节点基于该第二账户的公钥和该数据请求信息对该第二签名进行验证,并返回该第二签名的验证结果;上述获取模块,具体用于当该各个共识节点返回的该第二签名的验证结果满足该预设共识策略时,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据。
结合第二方面,在一种可能的实施方式中,上述数据请求信息还包括第二时间周期和第二数据字段。上述获取模块,具体用于:
获取该第一账户的资产数据;将该第一时间周期与该第二时间周期之间的交集确定为第三时间周期,并将该第一数据字段与该第二数据字段之间的交集确定为第三数据字段;当该第三时间周期和该第三数据字段均不为空集时,将该资产数据在该第三时间周期内与该第三数据字段匹配的数据确定为目标资产数据。
结合第二方面,在一种可能的实施方式中,上述推送模块具体用于:将该第二账户的公钥加密后的目标资产数据上链,以使该第二账户标识对应的简单支付验证SPV节点从区块链上获取该第二账户的公钥加密后的目标资产数据,并将该第二账户的公钥加密后的目标资产数据发送给该第二账户标识所标识的第二账户。
结合第二方面,在一种可能的实施方式中,上述收发模块,还用于当该第一签名对应的授权信息中的账户标识不为该第二账户的账户标识时,向该第二账户发送未授权信息,该未授权信息用于指示该第二账户未获得查看该第一账户的资产数据的权限。
结合第二方面,在一种可能的实施方式中,上述授权信息还包括授权时间。上述检测模块,还用于检测该数据请求信息和该第二签名的发送时间是否在该第一签名对应的授权信息包括的授权时间内;上述收发模块具体用于当该发送时间在该第一签名对应的授权信息包括的授权时间内时,将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点;上述收发模块,还用于当该发送时间在该第一签名对应的授权信息包括的授权时间外时,向该第二账户返回超时信息,该超时信息用于指示该数据请求信息的发送时间超过该授权时间。
结合第二方面,在一种可能的实施方式中,上述第一账户为企业账户,上述第二账户为银行账户,上述资产数据为该企业账户的纳税数据。
第三方面,本申请实施例提供了一种区块链节点,包括:处理器、存储器以及收发器;
该处理器分别与存储器、收发器相连,其中,该存储器用于存储程序代码,该收发器用于与区块链网络中的各个共识节点进行通信或用于收发信息/数据,该收发器具体用于:
接收第一账户发送的授权信息和第一签名,该授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,该第一签名为该授权信息经过该第一账户的私钥加密运算后得到的签名;
将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果;
该处理器用于调用该程序代码,以执行以下操作:
若该各个共识节点返回的该第一签名的验证结果满足预设共识策略,则获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据;
利用该第二账户的公钥对该目标资产数据进行加密,并将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,当该处理器执行该程序指令时执行本申请实施例第一方面中的基于区块链的数据授权方法。
本申请实施例通过接收第一账户发送的授权信息和第一签名,将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果,当该各个共识节点返回的该第一签名的验证结果满足预设共识策略时,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据,利用该第二账户的公钥对该目标资产数据进行加密,并将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。可以避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的分布式系统的结构示意图;
图1B是本申请实施例提供的区块结构(Block Structure)的示意图;
图2是本申请实施例提供的一种基于区块链的数据授权方法的流程示意图;
图3是本申请实施例提供的另一种基于区块链的数据授权方法的流程示意图;
图4是本申请实施例提供的一种数据授权装置的结构示意图;
图5是本申请实施例提供的区块链节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1A,图1A是本申请实施例提供的分布式系统的结构示意图。该分布式系统100由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成点对点(P2P,Peer To Peer)网络。P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1A示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图1B,图1B是本申请实施例提供的区块结构(Block Structure)的示意图。如图1B所示,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
下面将结合附图2-附图3对本申请所提供的基于区块链的数据授权方法进行说明。
在一些可行的实施方式中,本申请实施例所提及的区块链节点可以为图1A所示分布式系统100中的任一节点,该区块链节点可以为部署在税务局的节点,该区块链节点可以与客户端进行通信。本申请实施例所提及的第一账户和第二账户可以通过客户端与分布式系统100中的节点进行通信。
请参见图2,图2是本申请实施例提供的一种基于区块链的数据授权方法的流程示意图。如图2所示,该基于区块链的数据授权方法可以包括但不限于以下步骤:
S201,区块链节点接收第一账户发送的授权信息和第一签名。
在一些可行的实施方式中,上述授权信息可以包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,该第二账户标识用于标识该第二账户。上述第一签名可以为该授权信息经过第一账户的私钥加密运算后得到的签名。本申请实施例的区块链节点可以为部署在税务局的节点,上述第一账户可以为企业账户,该第二账户可以为银行账户。
在一些可行的实施方式中,当企业用户需要向银行用户授权,以使该银行用户获得查看企业纳税数据的权限时,企业用户可以利用自己的第一账户登录企业客户端。该企业客户端可以接收该企业用户在该企业客户端上输入的第二账户标识、第一时间周期以及第一数据字段。该企业客户端可以基于该第二账户标识获取该第二账户的公钥,并生成授权信息,该授权信息包括该第二账户的公钥、该第一时间周期、该第一数据字段以及该第二账户标识。该企业客户端可以利用该第一账户的私钥对该授权信息进行加密运算后得到第一签名。该第一账户通过该企业客户端向区块链节点发送该授权信息和该第一签名,相应地,区块链节点接收该第一账户发送的该授权信息和该第一签名。其中,该授权信息和该第一签名可以在一个数据包中发送。
在一些可行的实施方式中,上述第一账户通过上述企业客户端向区块链节点发送该授权信息和该第一签名之前,该第一账户通过该企业客户端向区块链节点发送注册请求,该注册请求中包括注册信息和该注册信息经过该第一账户的私钥加密运算后的签名A,该注册信息包括该第一账户标识和该第一账户的公钥。该第一账户标识可以用于标识第一账户。区块链节点接收到该注册请求之后,可以利用该第一账户的公钥对该签名A进行解密运算。当该解密运算后得到的结果与该注册信息相同时,区块链节点将该注册信息存储在本地。可选的,区块链节点也可以将该注册信息上链。
S202,区块链节点将授权信息、第一签名以及第一账户的公钥发送给区块链网络中的各个共识节点。
在一些可行的实施方式中,区块链节点接收到该授权信息和该第一签名之后,可以从本地获取该第一账户的公钥,并可以将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点。各个共识节点接收到该授权信息、该第一签名以及该第一账户的公钥之后,可以利用该第一账户的公钥对该第一签名进行解密运算,并判断该解密运算后的结果是否与该授权信息相同。如果某个共识节点利用该第一账户的公钥对该第一签名进行解密运算后的结果与该授权信息相同,则这个共识节点对该第一签名的验证结果为通过。如果某个共识节点利用该第一账户的公钥对该第一签名进行解密运算后的结果与该授权信息不相同,则这个共识节点对该第一签名的验证结果为未通过。各个共识节点向区块链节点返回各自对该第一签名的验证结果。其中,本申请实施例的区块链节点和各个共识节点属于同一区块链网络。
S203,若各个共识节点返回的第一签名的验证结果满足预设共识策略,则区块链节点获取第一账户的资产数据,并获取资产数据在第一时间周期内与第一数据字段匹配的目标资产数据。
在一些可行的实施方式中,上述资产数据为企业的纳税数据。
在一些可行的实施方式中,区块链节点接收上述各个共识节点返回的该第一签名的验证结果,并统计接收到的该第一签名的验证结果为通过的个数。区块链节点获取上述区块链网络中共识节点的总数量,并可以比较该第一签名的验证结果为通过的个数是否超过该区块链网络中共识节点的总数量的一半(即二分之一)。如果该第一签名的验证结果为通过的个数超过该区块链网络中共识节点的总数量的一半,则区块链节点确定该各个共识节点返回的该第一签名的验证结果满足预设共识策略。在各个共识节点返回的该第一签名的验证结果满足预设共识策略的情况下,区块链节点可以从本地获取上述第一账户的资产数据,并可以获取该资产数据在上述第一时间周期内与上述第一数据字段匹配的目标资产数据。例如,第一时间周期可以为2019年的第3季度(即7月-9月),第一数据字段可以为“税收”。可选的,各个共识节点返回的该第一签名的验证结果满足预设共识策略的情况下,区块链节点可以将该授权信息和该第一签名生成一个区块,并将生成的该区块上链。
可选的,如果该第一签名的验证结果为通过的个数未超过该区块链网络中共识节点的总数量的一半,则区块链节点确定该各个共识节点返回的该第一签名的验证结果不满足预设共识策略,区块链节点向上述第一账户返回上链失败信息,该上链失败信息用于提示共识失败。
例如,假设第一签名的验证结果为通过的个数为10个,区块链网络中共识节点的总数量19个。由于第一签名的验证结果为通过的个数10超过区块链网络中共识节点的总数量19的一半(即9.5),所以各个共识节点返回的第一签名的验证结果满足预设共识策略。
在一些可行的实施方式中,上述区块链网络中的各个共识节点拥有不同的权重。区块链节点接收上述各个共识节点返回的该第一签名的验证结果,并可以将返回该第一签名的验证结果为通过的共识节点确定为目标共识节点。区块链节点可以统计各个目标共识节点的权重之和,并可以统计区块链网络中各个共识节点的权重之和。区块链节点比较该各个目标共识节点的权重之和是否超过区块链网络中各个共识节点的权重之和的一半。若该各个目标共识节点的权重之和超过区块链网络中各个共识节点的权重之和的一半,则区块链节点确定该各个共识节点返回的该第一签名的验证结果满足预设共识策略。在各个共识节点返回的该第一签名的验证结果满足预设共识策略的情况下,区块链节点可以将该授权信息和该第一签名生成一个区块,并将生成的该区块上链。可选的,若该各个目标共识节点的权重之和未超过区块链网络中各个共识节点的权重之和的一半,则区块链节点确定该各个共识节点返回的该第一签名的验证结果不满足预设共识策略,区块链节点向上述第一账户返回上链失败信息,该上链失败信息用于提示共识失败。
例如,假设区块链网络中共有10个共识节点p1~p10,p1~p10的权重分别为:1.2、0.7、1、1.5、0.8、1.4、1.8、0.5、0.2、1;这10个共识节点(即共识节点p1~p10)的权重之和为10。假设共识节点p1、p4、p5、p7以及p10返回的第一签名的验证结果均为通过,则共识节点p1、p4、p5、p7以及p10均为目标共识节点。其中目标共识节点p1的权重为1.2、目标共识节点p4的权重为1.5、目标共识节点p5的权重为0.8、目标共识节点p7的权重为1.8、以及目标共识节点p10的权重为1。目标共识节点p1、p4、p5、p7以及p10的权重之和为1.2+1.5+0.8+1.8+1=6.3。因为各个目标共识节点的权重之和6.3超过区块链网络中各个共识节点的权重之和10的一半5,所以各个共识节点返回的第一签名的验证结果满足预设共识策略的情况。
S204,区块链节点利用第二账户的公钥对目标资产数据进行加密,并将第二账户的公钥加密后的目标资产数据推送给第二账户标识所标识的第二账户。
在一些可行的实施方式中,区块链节点在获取到上述目标资产数据之后,可以利用上述第二账户的公钥对该目标资产数据进行加密,以便于只有采用第二账户的私钥才能对加密后的目标资产数据解密,从而保护数据的安全性,避免数据在网络传输过程中的泄露。区块链节点可以将该第二账户的公钥加密后的目标资产数据上链,并指定该目标资产数据的可见方包括该第二账户。区块链网络中上述第二账户标识对应的简单支付验证(Simplified Payment Verification,SPV)节点可以在区块链上拉取自己的数据,过滤其他节点的数据。即SPV节点从该区块链上获取该第二账户的公钥加密后的目标资产数据,并可以将该第二账户的公钥加密后的目标资产数据下发给该第二账户标识所标识的第二账户。本申请实施例通过将授权信息上链,防止授权信息被篡改,并将企业已授权银行查看的纳税数据(即目标纳税数据)上链,从而避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。
本申请实施例中,区块链节点接收第一账户发送的授权信息和第一签名,将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果,当该各个共识节点返回的该第一签名的验证结果满足预设共识策略时,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据,利用该第二账户的公钥对该目标资产数据进行加密,并将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。可以避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。
请参见图3,图3是本申请实施例提供的另一种基于区块链的数据授权方法的流程示意图。如图3所示,该基于区块链的数据授权方法可以包括但不限于以下步骤:
S301,区块链节点接收第一账户发送的授权信息和第一签名。
S302,区块链节点将授权信息、第一签名以及第一账户的公钥发送给区块链网络中的各个共识节点。
S303,若各个共识节点返回的第一签名的验证结果满足预设共识策略,则区块链节点将授权信息和第一签名上链。
在一些可行的实施方式中,本申请实施例的步骤S301-步骤S303的实现方式可参考图2所示实施例中步骤S201-步骤S203的实现方式,在此不再赘述。
S304,区块链节点接收第二账户发送的数据请求信息和第二签名。
在一些可行的实施方式中,上述第一账户可以为企业账户,上述第二账户可以为银行账户。上述数据请求信息包括该第一账户的公钥。上述第二签名为该数据请求信息经过该第二账户的私钥加密运算后得到的签名。
在一些可行的实施方式中,当银行用户想要查看企业的纳税数据时,可以利用第二账户登录银行客户端。该银行客户端可以获取上述第一账户的公钥,并生成数据请求信息,该数据请求信息包括该第一账户的公钥。该银行客户端可以利用该第一账户的公钥对该数据请求信息进行加密运算后得到第二签名。该第二账户通过该银行客户端向区块链节点发送该数据请求信息和该第二签名,相应地,区块链节点接收该第二账户发送的该数据请求信息和该第二签名。其中,该数据请求信息和该第二签名可以在一个数据包中发送。
在一些可行的实施方式中,上述第二账户通过上述银行客户端向区块链节点发送该数据请求信息和该第二签名之前,该第二账户通过该银行客户端向区块链节点发送注册请求,该注册请求中包括注册信息和该注册信息经过该第二账户的私钥加密运算后的签名B,该注册信息包括该第二账户标识和该第二账户的公钥。该第二账户标识可以用于标识第二账户。区块链节点接收到该注册请求之后,可以利用该第二账户的公钥对该签名B进行解密运算。当该解密运算后得到的结果与该注册信息相同时,区块链节点将该注册信息存储在本地。可选的,区块链节点也可以将该注册信息上链。
S305,区块链节点利用第一账户的公钥对区块链上的签名进行解密运算。
S306,若利用第一账户的公钥对区块链上的第一签名进行解密运算后的结果与第一签名对应的授权信息相同,则区块链节点检测第一签名对应的授权信息中的账户标识是否为第二账户的账户标识。
在一些可行的实施方式中,区块链节点可以从本地获取上述第一账户的公钥,并可以利用该第一账户的公钥对区块链上的各个签名进行解密运算。如果利用该第一账户的公钥对该区块链上的第一签名进行解密运算后的结果与该第一签名对应的授权信息相同,说明在区块链上有第一账户的授权信息,则区块链节点可以检测该第一签名对应的授权信息中的账户标识是否为该第二账户的账户标识,即检测这个授权信息是否有授权给第二账户。
可选的,如果利用该第一账户的公钥对该区块链上的各个签名进行解密运算后的结果与该各个签名对应的授权信息均不相同,说明在区块链上没有第一账户的授权信息,则区块链节点向该第二账户返回数据请求失败信息,该数据请求失败信息用于提示该第二账户未获得该第一账户的授权。
S307,若第一签名对应的授权信息中的账户标识为第二账户的账户标识,则区块链节点将数据请求信息、第二签名以及第二账户的公钥发送给区块链网络中的各个共识节点。
在一些可行的实施方式中,如果上述第一签名对应的授权信息中的账户标识为上述第二账户的账户标识,说明第一账户已经授权给第二账户,即企业已经授权给银行,则区块链节点可以获取该第二账户的公钥,并可以将上述数据请求信息、上述第二签名以及该第二账户的公钥发送给区块链网络中的各个共识节点。各个共识节点接收到该数据请求信息、该第二签名以及该第二账户的公钥之后,可以利用该第二账户的公钥对该第二签名进行解密运算,并判断该解密运算后的结果是否与该数据请求信息相同。如果某个共识节点利用该第二账户的公钥对该第二签名进行解密运算后的结果与该数据请求信息相同,则这个共识节点对该第二签名的验证结果为通过。如果某个共识节点利用该第二账户的公钥对该第二签名进行解密运算后的结果与该数据请求信息不相同,则这个共识节点对该第二签名的验证结果为未通过。各个共识节点向区块链节点返回各自对该第二签名的验证结果。其中,本申请实施例的区块链节点和各个共识节点属于同一区块链网络。
在一些可行的实施方式中,上述授权信息还可以包括授权时间。区块链节点将上述数据请求信息、上述第二签名以及该第二账户的公钥发送给区块链网络中的各个共识节点之前,区块链节点可以检测该数据请求信息和该第二签名的发送时间是否在该第一签名对应的授权信息包括的授权时间内。如果该发送时间在该第一签名对应的授权信息包括的授权时间内,说明此时第一签名对应的授权信息是有效的,则区块链节点将该数据请求信息、该第二签名以及该第二账户的公钥发送给区块链网络中的各个共识节点。如果该发送时间在该第一签名对应的授权信息包括的授权时间外,说明此时第一签名对应的授权信息已失效,则区块链节点可以向该第二账户返回超时信息,该超时信息可以用于指示该数据请求信息的发送时间超过该授权时间。
S308,若各个共识节点返回的第二签名的验证结果满足预设共识策略,则区块链节点获取第一账户的资产数据,并获取资产数据在第一时间周期内与第一数据字段匹配的目标资产数据。
在一些可行的实施方式中,上述资产数据为企业的纳税数据。区块链节点可以接收上述各个共识节点返回的该第二签名的验证结果,并统计接收到的该第二签名的验证结果为通过的个数。区块链节点获取上述区块链网络中共识节点的总数量,并可以比较该第二签名的验证结果为通过的个数是否超过该区块链网络中共识节点的总数量的一半(即二分之一)。如果该第二签名的验证结果为通过的个数超过该区块链网络中共识节点的总数量的一半,则区块链节点确定该各个共识节点返回的该第二签名的验证结果满足该预设共识策略。
在各个共识节点返回的该第二签名的验证结果满足预设共识策略的情况下,区块链节点在可以从本地获取上述第一账户的资产数据,并可以获取该资产数据在上述第一时间周期内与上述第一数据字段匹配的目标资产数据。
在一些可行的实施方式中,上述数据请求信息中还可以包括第二时间周期和第二数据字段。在各个共识节点返回的该第二签名的验证结果满足预设共识策略的情况下,区块链节点在可以从本地获取上述第一账户的资产数据,并可以将上述第一时间周期与该第二时间周期之间的交集确定为第三时间周期,还可以将上述第一数据字段与该第二数据字段之间的交集确定为第三数据字段。如果该第三时间周期和该第三时间字段均不为空集,则区块链节点可以将该资产数据在该第三时间周期内与该第三数据字段匹配的数据确定为目标资产数据。如果该第三时间周期为空集或该第三数据字段为空集,则区块链节点可以将该资产数据在该第一时间周期内与该第一数据字段匹配的数据确定为目标资产数据。
例如,假设第一时间周期为2019年的7月至9月,第二时间周期为2019年的9月至10月;第一数据字段为“税收”,第二数据字段为“营业收入”和“税收”;则第三时间周期为2019年9月,第三数据字段为“税收”。区块链节点可以将第一账户的资产数据在第三时间周期内与第三数据字段匹配的数据确定为目标资产数据。
S309,区块链节点利用第二账户的公钥对目标资产数据进行加密,并将第二账户的公钥加密后的目标资产数据推送给第二账户标识所标识的第二账户。
在一些可行的实施方式中,区块链节点在获得上述目标资产数据之后,可以利用该第二账户的公钥对该目标资产数据进行加密,并可以将该第二账户的公钥加密后的目标资产数据发送给该第二账户标识所标识的第二账户。本申请实施例的区块链节点利用银行的公钥(即第二账户的公钥)对目标资产数据进行加密,以保证加密后的这份目标资产数据只能这个银行才能拿到,减少了资产数据泄露的风险。
S310,若第一签名对应的授权信息中的账户标识不为第二账户的账户标识,则区块链节点向第二账户发送未授权信息。
在一些可行的实施方式中,如果上述第一签名对应的授权信息中的账户标识不是上述第二账户的账户标识,说明第一账户没有授权给第二账户,即企业没有授权给这个银行,则区块链节点可以向该第二账户发送未授权信息。其中,该未授权信息可以用于指示该第二账户未获得查看该第一账户的资产数据的权限。
本申请实施例中,部署在税务局的区块链节点接收企业(即第一账户)发送的授权信息和第一签名,并将该授权信息、该第一签名以及企业的公钥发送给区块链网络中的各个共识节点去做共识。当各个共识节点返回的共识结果满足预设共识策略时,区块链节点就将该授权信息和该第一签名上链。区块链节点接收银行(即第二账户)发送的数据请求信息和第二签名,并去区块链上查询企业是否授权给这个银行。如果企业授权给这个银行,则区块链节点将该数据请求信息、该第二签名以及银行的公钥发送给区块链网络中的各个共识节点去做共识。当各个共识节点返回的共识结果满足预设共识策略时,区块链节点就从本地获取企业已授权查看的纳税数据(即目标资产数据),并向这个银行返回企业已授权查看的纳税数据。可以避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。
上述内容详细阐述了本申请提供的基于区块链的数据授权方法,为更好地理解本申请的方案,本申请还提供了相关装置和设备。
请参见图4,图4是本申请实施例提供的一种数据授权装置的结构示意图。该数据授权装置1可以应用在如图1A所示的任一节点中,该数据授权装置1可以包括:收发模块10、获取模块20、加解密模块30以及推送模块40。其中,
收发模块10,用于接收第一账户发送的授权信息和第一签名,该授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,该第一签名为该授权信息经过该第一账户的私钥加密运算后得到的签名;
该收发模块10,还用于将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果;
获取模块20,用于当该各个共识节点返回的该第一签名的验证结果满足预设共识策略时,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据;
加解密模块30,用于利用该第二账户的公钥对该目标资产数据进行加密;
推送模块40,用于将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。
在一些可行的实施方式中,该数据授权装置1还包括上链模块50和检测模块60。上链模块50,用于将该授权信息和该第一签名上链,该区块链节点和该各个共识节点均属于该区块链网络;上述收发模块10,还用于接收该第二账户发送的数据请求信息和第二签名,该数据请求信息包括该第一账户的公钥,该第二签名为该数据请求信息经过该第二账户的私钥加密运算后得到的签名;上述加解密模块30,还用于利用该第一账户的公钥对区块链上的签名进行解密运算;该检测模块60,用于当利用该第一账户的公钥对该区块链上的第一签名进行解密运算后的结果与该第一签名对应的授权信息相同时,检测该第一签名对应的授权信息中的账户标识是否为该第二账户的账户标识;上述收发模块10,还用于当该第一签名对应的授权信息中的账户标识为该第二账户的账户标识时,将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点,以使该各个共识节点基于该第二账户的公钥和该数据请求信息对该第二签名进行验证,并返回该第二签名的验证结果;上述获取模块20,具体用于当该各个共识节点返回的该第二签名的验证结果满足该预设共识策略时,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据。
在一些可行的实施方式中,上述数据请求信息还包括第二时间周期和第二数据字段。上述获取模块20,具体用于:
获取该第一账户的资产数据;将该第一时间周期与该第二时间周期之间的交集确定为第三时间周期,并将该第一数据字段与该第二数据字段之间的交集确定为第三数据字段;当该第三时间周期和该第三数据字段均不为空集时,将该资产数据在该第三时间周期内与该第三数据字段匹配的数据确定为目标资产数据。
在一些可行的实施方式中,上述推送模块40具体用于:将该第二账户的公钥加密后的目标资产数据上链,以使该第二账户标识对应的简单支付验证SPV节点从区块链上获取该第二账户的公钥加密后的目标资产数据,并将该第二账户的公钥加密后的目标资产数据发送给该第二账户标识所标识的第二账户。
在一些可行的实施方式中,上述收发模块10,还用于当该第一签名对应的授权信息中的账户标识不为该第二账户的账户标识时,向该第二账户发送未授权信息,该未授权信息用于指示该第二账户未获得查看该第一账户的资产数据的权限。
在一些可行的实施方式中,上述授权信息还包括授权时间。上述检测模块60,还用于检测该数据请求信息和该第二签名的发送时间是否在该第一签名对应的授权信息包括的授权时间内;上述收发模块10具体用于当该发送时间在该第一签名对应的授权信息包括的授权时间内时,将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点;上述收发模块10,还用于当该发送时间在该第一签名对应的授权信息包括的授权时间外时,向该第二账户返回超时信息,该超时信息用于指示该数据请求信息的发送时间超过该授权时间。
在一些可行的实施方式中,上述第一账户为企业账户,上述第二账户为银行账户,上述资产数据为该企业账户的纳税数据。
其中,上述获取模块20、上述加解密模块30、上述推送模块40、上链模块50以及上述检测模块60可以为一个模块:处理模块。
具体实现中,各个模块或单元的实现还可以对应参照图2或图3所示的实施例中区块链节点的相应描述,执行上述实施例中区块链节点所执行的方法和功能。
本申请实施例的数据授权装置1接收第一账户发送的授权信息和第一签名,将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果,当该各个共识节点返回的该第一签名的验证结果满足预设共识策略时,将该授权信息和该第一签名上链,获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据,利用该第二账户的公钥对该目标资产数据进行加密,并将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。可以避免企业的纳税数据泄露并防止银行盗取权限外的纳税数据。
请参见图5,图5是本申请实施例提供的区块链节点的结构示意图。如图5所示,区块链节点1000可以包括:处理器1001、存储器1002、收发器1003。此外,该区块链节点1000还可以包括至少一个通信总线1004。其中,通信总线1004用于实现这些组件之间的连接通信。存储器1002可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1002可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图5所示,作为一种计算机可读存储介质的存储器1002中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图5所示的区块链节点1000中,该收发器1003用于与区块链系统中的各个节点进行通信,该收发器1003具体用于:接收第一账户发送的授权信息和第一签名,该授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,该第一签名为该授权信息经过该第一账户的私钥加密运算后得到的签名;将该授权信息、该第一签名以及该第一账户的公钥发送给区块链网络中的各个共识节点,以使该各个共识节点基于该第一账户的公钥和该授权信息对该第一签名进行验证,并返回该第一签名的验证结果。而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:若该各个共识节点返回的该第一签名的验证结果满足预设共识策略,则获取该第一账户的资产数据,并获取该资产数据在该第一时间周期内与该第一数据字段匹配的目标资产数据;利用该第二账户的公钥对该目标资产数据进行加密,并将该第二账户的公钥加密后的目标资产数据推送给该第二账户标识所标识的第二账户。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的数据授权装置1所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图2或图3所对应实施例中对基于区块链的数据授权方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (9)

1.一种基于区块链的数据授权方法,其特征在于,包括:
区块链节点接收第一账户发送的授权信息和第一签名,所述授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,所述第一签名为所述授权信息经过所述第一账户的私钥加密运算后得到的签名;
所述区块链节点将所述授权信息、所述第一签名以及所述第一账户的公钥发送给区块链网络中的各个共识节点,以使所述各个共识节点基于所述第一账户的公钥和所述授权信息对所述第一签名进行验证,并返回所述第一签名的验证结果;
若所述各个共识节点返回的所述第一签名的验证结果满足预设共识策略,所述区块链节点将所述授权信息和所述第一签名上链,所述区块链节点和所述各个共识节点均属于所述区块链网络;
所述区块链节点接收所述第二账户发送的数据请求信息和第二签名,所述数据请求信息包括所述第一账户的公钥,所述第二签名为所述数据请求信息经过所述第二账户的私钥加密运算后得到的签名;
所述区块链节点利用所述第一账户的公钥对区块链上的签名进行解密运算;
若利用所述第一账户的公钥对所述区块链上的第一签名进行解密运算后的结果与所述第一签名对应的授权信息相同,则区块链节点检测所述第一签名对应的授权信息中的账户标识是否为所述第二账户的账户标识;
若所述第一签名对应的授权信息中的账户标识为所述第二账户的账户标识,则所述区块链节点将所述数据请求信息、所述第二签名以及所述第二账户的公钥发送给所述区块链网络中的所述各个共识节点,以使所述各个共识节点基于所述第二账户的公钥和所述数据请求信息对所述第二签名进行验证,并返回所述第二签名的验证结果;
若所述各个共识节点返回的所述第二签名的验证结果满足所述预设共识策略,则所述区块链节点获取所述第一账户的资产数据,并获取所述资产数据在所述第一时间周期内与所述第一数据字段匹配的目标资产数据;
所述区块链节点利用所述第二账户的公钥对所述目标资产数据进行加密,并将所述第二账户的公钥加密后的目标资产数据推送给所述第二账户标识所标识的第二账户。
2.如权利要求1所述的方法,其特征在于,所述数据请求信息还包括第二时间周期和第二数据字段;
所述获取所述资产数据在所述第一时间周期内与所述第一数据字段匹配的目标资产数据,包括:
将所述第一时间周期与所述第二时间周期之间的交集确定为第三时间周期,并将所述第一数据字段与所述第二数据字段之间的交集确定为第三数据字段;
若所述第三时间周期和所述第三数据字段均不为空集,则将所述资产数据在所述第三时间周期内与所述第三数据字段匹配的数据确定为目标资产数据。
3.如权利要求1所述的方法,其特征在于,所述将所述第二账户的公钥加密后的目标资产数据推送给所述第二账户标识所标识的第二账户,包括:
将所述第二账户的公钥加密后的目标资产数据上链,以使所述第二账户标识对应的简单支付验证SPV节点从区块链上获取所述第二账户的公钥加密后的目标资产数据,并将所述第二账户的公钥加密后的目标资产数据发送给所述第二账户标识所标识的第二账户。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一签名对应的授权信息中的账户标识不为所述第二账户的账户标识,则所述区块链节点向所述第二账户发送未授权信息,所述未授权信息用于指示所述第二账户未获得查看所述第一账户的资产数据的权限。
5.如权利要求1所述的方法,其特征在于,所述授权信息还包括授权时间;
所述区块链节点将所述数据请求信息、所述第二签名以及所述第二账户的公钥发送给所述区块链网络中的所述各个共识节点之前,所述方法还包括:
所述区块链节点检测所述数据请求信息和所述第二签名的发送时间是否在所述第一签名对应的授权信息包括的授权时间内;
若所述发送时间在所述第一签名对应的授权信息包括的授权时间内,则触发所述区块链节点执行将所述数据请求信息、所述第二签名以及所述第二账户的公钥发送给所述区块链网络中的所述各个共识节点的步骤;
若所述发送时间在所述第一签名对应的授权信息包括的授权时间外,则所述区块链节点向所述第二账户返回超时信息,所述超时信息用于指示所述数据请求信息的发送时间超过所述授权时间。
6.如权利要求1-5任一项所述的方法,其特征在于,所述第一账户为企业账户,所述第二账户为银行账户,所述资产数据为所述企业账户的纳税数据。
7.一种数据授权装置,其特征在于,包括:
收发模块,用于接收第一账户发送的授权信息和第一签名,所述授权信息包括第二账户的公钥、第一时间周期、第一数据字段以及第二账户标识,所述第一签名为所述授权信息经过所述第一账户的私钥加密运算后得到的签名;
所述收发模块,还用于将所述授权信息、所述第一签名以及所述第一账户的公钥发送给区块链网络中的各个共识节点,以使所述各个共识节点基于所述第一账户的公钥和所述授权信息对所述第一签名进行验证,并返回所述第一签名的验证结果;
上链模块,用于当所述各个共识节点返回的所述第一签名的验证结果满足预设共识策略时,将该授权信息和该第一签名上链,该区块链节点和该各个共识节点均属于该区块链网络;
所述收发模块,还用于接收该第二账户发送的数据请求信息和第二签名,该数据请求信息包括该第一账户的公钥,该第二签名为该数据请求信息经过该第二账户的私钥加密运算后得到的签名;
加解密模块,用于利用该第一账户的公钥对区块链上的签名进行解密运算;
检测模块,用于当利用该第一账户的公钥对该区块链上的第一签名进行解密运算后的结果与该第一签名对应的授权信息相同时,检测该第一签名对应的授权信息中的账户标识是否为该第二账户的账户标识;
所述收发模块,还用于当该第一签名对应的授权信息中的账户标识为该第二账户的账户标识时,将该数据请求信息、该第二签名以及该第二账户的公钥发送给该区块链网络中的该各个共识节点,以使该各个共识节点基于该第二账户的公钥和该数据请求信息对该第二签名进行验证,并返回该第二签名的验证结果;
获取模块,用于当该各个共识节点返回的该第二签名的验证结果满足该预设共识策略时,获取所述第一账户的资产数据,并获取所述资产数据在所述第一时间周期内与所述第一数据字段匹配的目标资产数据;
加解密模块,用于利用所述第二账户的公钥对所述目标资产数据进行加密;
所述收发模块,还用于将所述第二账户的公钥加密后的目标资产数据推送给所述第二账户标识所标识的第二账户。
8.一种区块链节点,其特征在于,包括:处理器、存储器以及收发器;
所述处理器分别与存储器、收发器相连,其中,所述存储器用于存储程序代码,所述收发器用于与区块链网络中的各个共识节点进行通信或用于收发信息/数据;
所述处理器用于调用所述程序代码,以执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时执行如权利要求1-6任一项所述的方法。
CN202010214919.6A 2020-03-24 2020-03-24 一种基于区块链的数据授权方法以及装置 Active CN111444273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010214919.6A CN111444273B (zh) 2020-03-24 2020-03-24 一种基于区块链的数据授权方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010214919.6A CN111444273B (zh) 2020-03-24 2020-03-24 一种基于区块链的数据授权方法以及装置

Publications (2)

Publication Number Publication Date
CN111444273A CN111444273A (zh) 2020-07-24
CN111444273B true CN111444273B (zh) 2021-09-10

Family

ID=71650626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010214919.6A Active CN111444273B (zh) 2020-03-24 2020-03-24 一种基于区块链的数据授权方法以及装置

Country Status (1)

Country Link
CN (1) CN111444273B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015964B (zh) * 2020-08-22 2021-06-04 上海大象金泰科技有限公司 基于区块链和数字金融的业务数据处理方法及系统
CN112150146B (zh) * 2020-09-22 2023-11-03 京东科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
CN112187826A (zh) * 2020-10-14 2021-01-05 深圳壹账通智能科技有限公司 区块链网络中数据授权及数据访问方法及系统
CN112241518A (zh) * 2020-10-22 2021-01-19 广州市金其利信息科技有限公司 一种基于区块链的软件权限管理方法及系统
CN113342900B (zh) * 2021-08-02 2021-10-29 成都天府市民云服务有限公司 一种基于区块链的个人信息授权方法及系统
CN114329368A (zh) * 2021-12-15 2022-04-12 富途网络科技(深圳)有限公司 交易账户的管理方法、装置、计算机可读介质及电子设备
CN114638697B (zh) * 2022-05-18 2022-11-15 浙江数秦科技有限公司 基于区块链的小额贷款管理系统
CN114820175B (zh) * 2022-06-27 2022-09-23 浙江数秦科技有限公司 一种基于区块链的贷款用途监督方法
CN115396209B (zh) * 2022-08-26 2024-03-08 中国联合网络通信集团有限公司 访问授权方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954330A (zh) * 2014-03-27 2015-09-30 华为软件技术有限公司 一种对数据资源进行访问的方法、装置和系统
CN108471350A (zh) * 2018-03-28 2018-08-31 电子科技大学成都研究院 基于区块链的可信数据计算方法
CN109104396A (zh) * 2017-06-21 2018-12-28 上海钜真金融信息服务有限公司 一种基于代理签名的区块链代理授权方法、介质
CN110598480A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种数据确权方法以及装置
CN110839029A (zh) * 2019-11-14 2020-02-25 腾讯科技(深圳)有限公司 一种微服务注册方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200027169A1 (en) * 2018-07-21 2020-01-23 Renato Valencia Blockchain-enabled double entry recordkeeping system and method of implementing the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954330A (zh) * 2014-03-27 2015-09-30 华为软件技术有限公司 一种对数据资源进行访问的方法、装置和系统
CN109104396A (zh) * 2017-06-21 2018-12-28 上海钜真金融信息服务有限公司 一种基于代理签名的区块链代理授权方法、介质
CN108471350A (zh) * 2018-03-28 2018-08-31 电子科技大学成都研究院 基于区块链的可信数据计算方法
CN110598480A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种数据确权方法以及装置
CN110839029A (zh) * 2019-11-14 2020-02-25 腾讯科技(深圳)有限公司 一种微服务注册方法和装置

Also Published As

Publication number Publication date
CN111444273A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN111444273B (zh) 一种基于区块链的数据授权方法以及装置
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
CN111062716B (zh) 生成区块链签名数据的方法及装置、区块链交易发起系统
US10885501B2 (en) Accredited certificate issuance system based on block chain and accredited certificate issuance method based on block chain using same, and accredited certificate authentication system based on block chain and accredited certificate authentication method based on block chain using same
CN110839029B (zh) 一种微服务注册方法和装置
JP6524347B2 (ja) 情報共有システム
CN109886026B (zh) 数据保存查询方法、装置、计算机系统及可读存储介质
CN110633963B (zh) 电子票据处理方法、装置、计算机可读存储介质和设备
WO2019007396A1 (zh) 基于智能合约进行加密交易的方法和装置以及区块链
CN111507839B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CZ197896A3 (en) Encryption method with safekeeping of a key in a third person and a cryptographic system for making the same
US11356258B2 (en) Methods and systems for distributed cryptographically secured data validation
CN114329529A (zh) 一种基于区块链的资产数据管理方法及系统
CN110601855B (zh) 一种根证书管理方法、装置及电子设备、存储介质
US20230259899A1 (en) Method, participant unit, transaction register and payment system for managing transaction data sets
CN110708162B (zh) 资源的获取方法、装置、计算机可读介质及电子设备
CN111460457A (zh) 不动产权登记监管方法、装置、电子设备及存储介质
US11405188B2 (en) Method for secure transferring of information through a network between an origin virtual asset service provider and a destination virtual asset service provider
CN115409511B (zh) 一种基于区块链的个人信息保护系统
CN114896616B (zh) 基于区块链的保单处理方法及系统
CN112418850A (zh) 一种基于区块链的交易方法、装置及电子设备
US20230267426A1 (en) Payment system, coin register, participant unit, transaction register, monitoring register and method for payment with electronic coin data sets
US20230222509A1 (en) Method, terminal, and coin register for transmitting electronic coin data sets
CN111507818A (zh) 一种基于区块链的信息共享方法、装置及存储介质
Iqbal et al. Bridging Two Worlds: Framework for Secure Implementation of Blockchain Oracles

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant