Nothing Special   »   [go: up one dir, main page]

CN115599773B - 分布式资源转移方法、装置、系统与计算机设备 - Google Patents

分布式资源转移方法、装置、系统与计算机设备 Download PDF

Info

Publication number
CN115599773B
CN115599773B CN202211575950.8A CN202211575950A CN115599773B CN 115599773 B CN115599773 B CN 115599773B CN 202211575950 A CN202211575950 A CN 202211575950A CN 115599773 B CN115599773 B CN 115599773B
Authority
CN
China
Prior art keywords
resource transfer
request
signature
private key
party
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
CN202211575950.8A
Other languages
English (en)
Other versions
CN115599773A (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.)
China Southern Power Grid Artificial Intelligence Technology Co ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute 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 Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN202211575950.8A priority Critical patent/CN115599773B/zh
Publication of CN115599773A publication Critical patent/CN115599773A/zh
Application granted granted Critical
Publication of CN115599773B publication Critical patent/CN115599773B/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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种分布式资源转移方法、装置、系统、计算机设备和存储介质。方法包括:下发初始公私钥对至已注册的请求方;接收资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法资源转移申报请求至区块链;接收资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法资源转移确认请求至区块链;进行资源转移供需匹配;生成资源转移合同,下发资源转移合同至对应的请求方;生成资源转移合同的多重签名;广播资源转移合同以及多重签名至区块链。采用本方法能够实现分布式资源转移过程中的隐私保护。

Description

分布式资源转移方法、装置、系统与计算机设备
技术领域
本申请涉及区块链技术领域,特别是涉及一种分布式资源转移交易方法、装置、系统、计算机设备、存储介质和计算机程序产品。
背景技术
随着科学技术的发展,分布式的资源转移已经成为了一个热点话题,为此,一些资源转移系统被建立起来,以实现需要资源转移的双方间的数据交互。
目前资源转移系统通常采用的基于区块链的分布式资源转移方法,它是一种点对点的分布式技术,节点与节点之间无需相互信任就可以完成交易,降低了资源转移成本,且不像集中式资源转移系统那样,基于区块链的分布式资源转移方法能够有效抵抗单点故障给整个系统带来的影响。
但是,由于区块链上传输和存储的资源数据是公开的,攻击者可以利用数据挖掘技术提取资源数据的关联信息,推测资源转移过程中资源转移主体的身份,因此,目前的传统技术中存在资源转移主体隐私泄露的隐患,亟需实现分布式资源转移过程中的隐私保护。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现分布式资源转移过程中隐私保护的分布式资源转移方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种分布式资源转移方法。所述方法包括:
下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
对区块链上所述合法资源转移申报请求以及所述合法资源转移确认请求进行资源转移供需匹配;
根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
广播所述资源转移合同以及所述多重签名至所述区块链。
在其中一个实施例中,在所述下发初始公私钥对至已注册的请求方之前,还包括:
接收请求方上传的注册请求;
根据所述注册请求对请求方进行审核;
当审核通过时,生成已注册请求方的初始SFPK公私钥对,所述SFPK为具有灵活公钥的签名方案。
在其中一个实施例中,所述当审核通过时,生成已注册请求方的初始SFPK公私钥对包括:
当审核通过时,调用带陷门的密钥生成算法生成请求方的初始SFPK公私钥对以及请求方的陷门,所述请求方的陷门用于核查所述资源转移申报请求的合法性以及所述资源转移确认请求的合法性。
在其中一个实施例中,在所述接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上之前,还包括:
建立资源转移规则,所述资源转移规则用于核查所述资源转移申报请求的合法性以及资源转移确认请求的合法性;
广播所述资源转移规则至区块链。
在其中一个实施例中,所述接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上包括:
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名;
根据所述资源转移规则以及基于所述资源转移申报方的陷门调用的SFPK公钥验证算法,判断所述资源转移申报请求的合法性;
基于所述资源转移申报请求,调用SFPK签名验证算法,判断所述资源转移申报请求的签名的合法性;
当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上。
在其中一个实施例中,所述接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名包括:
接收所述资源转移申报方上传的所述资源转移合同的签名以及所述资源转移确认方上传的所述资源转移合同的签名;
根据所述资源转移申报方上传的所述资源转移合同的签名以及所述资源转移确认方上传的所述资源转移合同的签名,调用MS签名聚合算法,生成所述资源转移合同的多重签名,所述MS签名聚合算法为将多个签名聚合成一个的多重签名聚合算法。
第二方面,本申请还提供了一种分布式资源转移装置。所述装置包括:
公私钥对下发模块,下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
申报请求上链模块,用于接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
确认请求上链模块,用于接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
供需匹配模块,用于对区块链上所述合法资源转移申报请求以及所述合法资源转移确认请求进行资源转移供需匹配;
资源转移合同下发模块,用于根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
多重签名生成模块,用于接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
资源转移结果广播模块,用于广播所述资源转移合同以及所述多重签名至所述区块链。
第三方面,本申请还提供了一种分布式资源转移系统,所述系统包括:资源转移中心、资源转移申报方以及资源转移确认方,所述资源转移中心、所述资源转移申报方以及所述资源转移确认方基于同一区块链组网;
所述资源转移中心下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
所述资源转移中心接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
所述资源转移中心接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
所述资源转移中心对区块链上所述合法资源转移申报请求以及所述合法资源转移确认请求进行资源转移供需匹配;
所述资源转移中心根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
所述资源转移中心接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
所述资源转移中心广播所述资源转移合同以及所述多重签名至所述区块链。
第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
对区块链上所述合法资源转移申报请求以及所述合法资源转移确认请求进行资源转移供需匹配;
根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
广播所述资源转移合同以及所述多重签名至所述区块链。
第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
对区块链上所述合法资源转移申报请求以及所述合法资源转移确认请求进行资源转移供需匹配;
根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
广播所述资源转移合同以及所述多重签名至所述区块链。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
对区块链上所述合法资源转移申报请求以及所述合法资源转移确认请求进行资源转移供需匹配;
根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
广播所述资源转移合同以及所述多重签名至所述区块链。
上述分布式资源转移方法、装置、系统、计算机设备、存储介质和计算机程序产品,首先,下发初始公私钥对至已注册的请求方,请求方包括资源转移申报方和资源转移确认方;接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上;接收资源转移确认方上传的资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法的资源转移确认请求至区块链上;对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;由于合法资源转移申报请求和合法资源转移确认请求都是基于相应请求方对初始公私钥对更新来获取的,区块链上的其他不参与此次资源转移的用户只知道原始的公私钥对,不知道更新后的公钥会属于哪个用户;根据资源转移供需匹配结果生成资源转移合同,下发资源转移合同至对应的请求方;接收请求方上传的资源转移合同的签名,根据资源转移合同的签名生成资源转移合同的多重签名;广播资源转移合同以及多重签名至区块链。本申请通过更新生成的公私钥对,利用更新后的公钥来生成请求、利用更新后的私钥对请求以及资源转移合同进行签名,其他用户无法通过更新后的公钥识别请求的发起用户,充分保护分布式资源转移过程中双方的隐私。
附图说明
图1为一个实施例中分布式资源转移方法的应用环境图;
图2为一个实施例中分布式资源转移方法的流程示意图;
图3为另一个实施例中分布式资源转移方法的流程示意图;
图4为一个实施例中分布式资源转移装置的结构框图;
图5为一个实施例中电力分布式资源转移系统的结构框图;
图6为一个实施例中计算机设备的内部结构图。
实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的分布式资源转移方法,可以应用于如图1所示的应用环境中。其中,通信的三方服务器包括资源转移中心102、资源转移申报方104以及资源转移确认方106。资源转移中心102与资源转移申报方104进行双向通信,资源转移中心102与资源转移确认方106进行双向通信,数据存储系统可以存储资源转移中心102需要处理的数据。数据存储系统可以集成在资源转移中心102上,也可以放在云上或其他网络服务器上。资源转移中心102响应初始公私钥对下发请求,下发初始公私钥对至已注册的请求方,请求方包括资源转移申报方104和资源转移确认方106;资源转移中心102接收资源转移申报方104上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上,其中,资源转移申报请求由资源转移申报方104根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移申报请求的签名由根据更新后的初始公私钥对中私钥生成;接收资源转移确认方106上传的资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法的资源转移确认请求至区块链上,其中,资源转移确认请求由资源转移确认方106根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移确认请求的签名由根据更新后的初始公私钥对中私钥生成;对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;根据资源转移供需匹配结果生成资源转移合同,下发资源转移合同至对应的请求方;接收请求方上传的资源转移合同的签名,根据资源转移合同的签名生成资源转移合同的多重签名,资源转移合同的签名包括第一签名和第二签名,第一签名由资源转移申报方104根据更新后的资源转移申报方104的私钥对资源转移合同进行签名生成;第二签名由资源转移确认方106根据更新后的资源转移确认方106的私钥对资源转移合同进行签名生成;广播资源转移合同以及多重签名至区块链。其中,资源转移中心102、资源转移申报方104以及资源转移确认方106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种分布式资源转移方法,以该方法应用于图1中的资源转移中心102为例进行说明,包括以下步骤:
S100,下发初始公私钥对至已注册的请求方,请求方包括资源转移申报方和资源转移确认方。
其中,在非对称加密技术中,公私钥对是指通过一种算法得到的一个密钥对,分别为公钥和私钥;公钥对外界公开,用来给数据加密,用公钥加密的数据只能使用私钥解密;私钥自己保留,用来解密公钥加密的数据。
具体地,资源转移中心102与资源转移申报方104进行双向通信,资源转移中心102与资源转移确认方106进行双向通信,资源转移中心102响应初始公私钥对下发请求,通过安全信道将初始公私钥对分别下发至已注册的请求方,请求方包括资源转移申报方104和资源转移确认方106。
S200,接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上,其中,资源转移申报请求由资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移申报请求的签名由根据更新后的初始公私钥对中私钥生成,SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法。
其中,签名是一种通过可鉴别的数字信息验证身份的方式,只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明;区块链是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式,允许在网络中透明地共享信息。
具体地,资源转移申报方104调用公钥更新算法以及私钥更新算法更新初始公私钥对,生成更新后的公私钥对,根据更新后的初始公私钥对中的公钥可以生成资源转移申报请求,资源转移申报方104调用签名算法,根据更新后的初始公私钥对中的私钥生成资源转移申报请求的签名,通过资源转移门户将资源转移申报请求以及资源转移申报请求的签名上传至资源转移中心102,其中,资源转移门户可以是一个面向所有用户的网站;资源转移中心102接收到资源转移申报方104上传的资源转移申报请求以及资源转移申报请求的签名后,对资源转移申报请求的合法性以及资源转移申报请求的签名的合法性进行核查,当资源转移申报请求以及资源转移申报请求的签名均合法时,得到合法的资源转移申报请求,广播合法的资源转移申报请求至区块链上,使区块链上所有已注册请求方节点都能够查看这一合法的资源转移申报请求。
结合电力分布式资源转移系统中的资源转移过程为例来描述资源转移申报方104通过更新后的公私钥对来生成资源转移申报请求以及资源转移申报请求的签名的过程,此时,资源转移申报方104包括售电用户或购电用户,当购电用户为资源转移申报方104时,购电用户调用公钥更新算法以及私钥更新算法更新初始公私钥对,生成更新后的公私钥对,根据更新后的初始公私钥对中公钥可以生成资源转移申报请求,即购电请求,购电请求中包括请求的标识、所需购买的电量、所能提供的价格、发出购电请求的时刻以及更新后的初始公私钥对中公钥;购电用户调用签名算法,根据更新后的初始公私钥对中私钥生成购电请求的签名,最后可以将生成的购电请求以及购电请求的签名上传至资源转移中心102。
更进一步地,公钥更新算法以及私钥更新算法可以是SFPK(Signatures withFlexible Public Key,具有灵活公钥的签名方案)的算法,SFPK通过将密钥空间划分为满足关系R的等价类,允许已注册请求方将公私钥对转换为同一等价类的不同表示,除了已注册请求方自身,其他已注册请求方难以区分转换前后两个公钥是否相关,保护已注册请求方的隐私;公钥更新算法是指当输入满足关系R的公钥的等价类[pk]R中的公钥pk、随机数r时,可以输出更新后的公钥pk';私钥更新算法是指当输入私钥sk、随机数r时,可以输出更新后的私钥sk';根据更新后的初始公私钥对中私钥来使用签名算法是指当输入私钥sk'、消息m时,可以输出签名σ。
S300,接收资源转移确认方上传的资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法的资源转移确认请求至区块链上,其中,资源转移确认请求由资源转移确认方根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移确认请求的签名由根据更新后的初始公私钥对中私钥生成。
具体地,区块链上存在合法的资源转移申报请求,资源转移确认方106查看区块链上的资源转移申报请求,确认所需要的资源转移申报请求;确认好后,资源转移确认方106调用公钥更新算法以及私钥更新算法更新初始公私钥对,生成更新后的公私钥对,根据更新后的初始公私钥对中公钥可以生成资源转移确认请求,资源转移确认方106调用签名算法,根据更新后的初始公私钥对中私钥生成资源转移确认请求的签名,通过资源转移门户将资源转移确认请求以及资源转移确认请求的签名上传至资源转移中心102,其中,资源转移门户可以是一个面向所有用户的网站;资源转移中心102接收到资源转移确认方106上传的资源转移确认请求以及资源转移确认请求的签名后,对资源转移确认请求的合法性以及资源转移确认请求的签名的合法性进行核查,当资源转移确认请求以及资源转移确认请求的签名均合法时,得到合法的资源转移确认请求,广播合法的资源转移确认请求至区块链上。
结合电力分布式资源转移系统中的资源转移过程为例来描述资源转移确认方106通过更新后的公私钥对来生成资源转移确认请求以及资源转移确认请求的签名的过程,当购电用户为资源转移申报方104时,售电用户即为资源转移确认方106,售电用户调用公钥更新算法以及私钥更新算法更新初始公私钥对,生成更新后的公私钥对,根据更新后的初始公私钥对中公钥可以生成资源转移确认请求,即售电请求,售电请求中包括请求的标识、可以售出的电量、所接受的价格、发出售电请求的时刻以及更新后的初始公私钥对中公钥;售电用户调用签名算法,根据更新后的初始公私钥对中私钥生成售电请求的签名,最后可以将生成的售电请求以及售电请求的签名上传至资源转移中心102。
S400,对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配。
其中,本申请中,资源转移供需匹配是指将区块链上合法资源转移申报请求以及合法资源转移确认请求进行匹配。
具体地,由于区块链上存在不止一个的合法资源转移申报请求以及合法资源转移确认请求,需要将资源转移确认请求与资源转移确认方106所确认的合法资源转移申报请求进行配对,即资源转移中心102需要对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配,得到资源转移供需匹配结果。
S500,根据资源转移供需匹配结果生成资源转移合同,下发资源转移合同至对应的请求方。
其中,资源转移合同是指由于资源转移申报方以及资源转移确认方双方签订的资源转移协议。
具体地,将区块链上合法资源转移申报请求以及合法资源转移确认请求匹配,得到资源转移供需匹配结果后,资源转移中心102可以根据资源转移供需匹配结果生成资源转移合同,通过安全信道下发资源转移合同至资源转移申报方104以及资源转移确认方106。
示例性地,在电力分布式资源转移系统中,根据资源转移供需匹配结果生成资源转移合同,此时,资源转移中心102可以通过资源转移供需匹配结果来确定此次资源转移的电量以及此次资源转移的价格,从而来生成资源转移合同,资源转移合同可以包括资源转移申报请求标识、资源转移确认请求标识、资源转移申报方104更新后的公私钥对中的公钥、资源转移确认方106更新后的公私钥对中的公钥、资源转移的电量、资源转移的价格。
S600,接收请求方上传的资源转移合同的签名,根据资源转移合同的签名生成资源转移合同的多重签名,资源转移合同的签名包括第一签名和第二签名,第一签名由资源转移申报方根据更新后的资源转移申报方的私钥对资源转移合同进行签名生成;第二签名由资源转移确认方106根据更新后的资源转移确认方106的私钥对资源转移合同进行签名生成。
其中,多重签名是指将多个用户对同一文件的签名聚合成的签名。
具体地,资源转移申报方104将第一签名通过资源转移门户上传至资源转移中心102,资源转移确认方106将第二签名过资源转移门户上传至资源转移中心102;资源转移中心102接收资源转移申报方104上传的第一签名以及资源转移确认方106上传的第二签名,根据第一签名以及第二签名聚合生成资源转移合同的多重签名。其中,资源转移门户可以是一个面向所有用户的网站。
更进一步地,第一签名是通过资源转移申报方104基于更新后的公私钥对中私钥调用签名算法对交易合同进行签名得到的;第二签名是通过资源转移确认方106基于更新后的公私钥对中私钥调用签名算法对交易合同进行签名得到的;签名算法可以是SFPK签名算法。
S700,广播资源转移合同以及多重签名至区块链。
上述分布式资源转移方法中,首先,下发初始公私钥对至已注册的请求方,请求方包括资源转移申报方和资源转移确认方;接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上;接收资源转移确认方上传的资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法的资源转移确认请求至区块链上;对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;由于合法资源转移申报请求和合法资源转移确认请求都是基于相应请求方对初始公私钥对更新来获取的,区块链上的其他不参与此次资源转移的用户只知道原始的公私钥对,不知道更新后的公钥会属于哪个用户;根据资源转移供需匹配结果生成资源转移合同,下发资源转移合同至对应的请求方;接收请求方上传的资源转移合同的签名,根据资源转移合同的签名生成资源转移合同的多重签名;广播资源转移合同以及多重签名至区块链。本申请通过更新生成的公私钥对,利用更新后的公钥来生成请求、利用更新后的私钥对请求以及资源转移合同进行签名,其他用户无法通过更新后的公钥识别请求的发起用户,充分保护分布式资源转移过程中双方的隐私。
在一个实施例中,在下发初始公私钥对至已注册的请求方之前,还包括:
接收请求方上传的注册请求;根据注册请求对请求方进行审核;当审核通过时,生成已注册请求方的初始SFPK公私钥对,SFPK为具有灵活公钥的签名方案。
具体地,首先需要获取分布式资源转移系统初始时的公共参数,公共参数可以用于生成请求方的公私钥对;资源转移中心102接收资源转移申报方104以及资源转移确认方106上传的注册请求;根据注册请求对资源转移申报方104以及资源转移确认方106分别进行审核;当审核通过时,资源转移申报方104以及资源转移确认方106就注册好了信息,此时,资源转移中心102会生成已注册请求方的初始SFPK公私钥对。
更进一步地,注册请求可以包括身份信息以及用户类型。
本实施例中,通过对有资源转移需求的请求方进行注册,能够生成已注册请求方的初始SFPK公私钥对,作为后续已注册请求方更新公私钥对来实现隐私保护的基础。
在一个实施例中,当审核通过时,生成已注册请求方的初始SFPK公私钥对包括:
当审核通过时,调用带陷门的密钥生成算法生成请求方的初始SFPK公私钥对以及请求方的陷门,请求方的陷门用于核查资源转移申报请求的合法性以及资源转移确认请求的合法性。
其中,陷门是指进入程序的秘密人口,它使得知道陷门的人可以不经过通常的安全检查访问过程而获得访问,在本申请中被用来对更新后的公私钥对中的公钥进行有效性的验证;带陷门的密钥生成算法是指当输入安全参数为1λ,可以输出私钥sk、公钥pk以及陷门τ。
具体地,当根据注册请求对资源转移申报方104以及资源转移确认方106分别进行的审核通过时,需要为已注册请求方生成SFPK初始公私钥对,此时调用带陷门的密钥生成算法,当输入获取的分布式资源转移系统的安全参数时,可以得到已注册请求方对应的初始SFPK公私钥对,同时,还会生成资源转移申报方104以及资源转移确认方106分别对应的陷门,生成的陷门可以用于后续核查资源转移申报请求中存在的更新后的公钥的合法性以及资源转移确认请求中存在的更新后的公钥的合法性。
本实施例中,通过生成已注册请求方对应的陷门,能够对已注册请求方后续上传的资源转移申报请求里更新后的公钥以及资源转移确认请求里更新后的公钥进行合法性的验证。
在一个实施例中,在接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上之前,还包括:
建立资源转移规则,资源转移规则用于核查资源转移申报请求的合法性以及资源转移确认请求的合法性;广播资源转移规则至区块链。
其中,本申请中,资源转移规则是指对资源转移进行限定,可以通过建立的资源转移规则来核查已注册请求方上传的资源转移申报请求的合法性以及资源转移确认请求的合法性。
具体地,资源转移中心102建立一个资源转移规则,并将资源转移规则上传至区块链,广播给所有区块链节点上的所有已注册请求方;此时,资源转移规则可以是资源转移可以进行的时段、资源转移限制条件等,可以用于后续核查资源转移申报请求的合法性以及资源转移确认请求的合法性。
本实施例中,通过建立一个资源转移规则,能够有效对资源转移过程中已注册请求方发送的请求进行合法性的核查。
在一个实施例中,如图3所示,S200包括:
S220,接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名。
S240,根据资源转移规则以及基于资源转移申报方的陷门调用的SFPK公钥验证算法,判断资源转移申报请求的合法性。
具体地,在一般情况下,SFPK公钥验证算法是指输入公钥等价类[pk]R的陷门τR以及公钥pk,若pk∈[pk]R,输出1,否则输出0。本申请中,由于资源转移申报请求中存在的是更新后的公钥,所以是基于资源转移中心102之前生成的资源转移申报方104的陷门以及资源转移申报方104上传的资源转移申报请求中更新后的公钥来确认资源转移申报请求中更新后的公钥的有效性;另外,除了对资源转移申报请求中更新后的公钥进行有效性的判断,还需根据资源转移中心102建立的资源转移规则来核查资源转移申报请求是否在资源转移规则规定的时间段内;通过资源转移规则以及基于资源转移申报方的陷门调用的SFPK公钥验证算法,来对资源转移申报请求的合法性进行综合判断。
S260,基于资源转移申报请求,调用SFPK签名验证算法,判断资源转移申报请求的签名的合法性。
其中,SFPK签名验证算法是指输入公钥pk、消息m、签名σ,若签名有效输出1,否则输出0。
具体地,资源转移申报请求中存在更新后的公钥,调用SFPK签名验证算法,输入资源转移申报请求中更新后的公钥以及资源转移申报请求的签名,来判断资源转移申报请求的签名的是否合法。
S280,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上。
具体地,当资源转移申报请求以及资源转移申报请求的签名均合法时,获取自身请求以及签名均合法的资源转移申报请求,资源转移中心102将合法的资源转移申报请求上传至区块链上,广播给区块链上所有节点的已注册请求方。
本实施例中,通过对资源转移申报请求以及资源转移申报请求的签名进行核查,能够检查是否存在恶意用户伪造身份或非法请求。
在一个实施例中,接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名包括:
接收资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名;根据资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名,调用MS签名聚合算法,生成资源转移合同的多重签名,MS签名聚合算法为将多个签名聚合成一个的多重签名聚合算法。
其中,MS(Multi-Signature,多重签名)签名聚合算法是指当输入n组公钥-签名对以及消息m时,可以输出聚合签名σ ̃,用于将多个签名聚合成一个。
具体地,接收资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名;根据资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名,调用签名聚合算法,将资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名聚合成一个签名,即生成资源转移合同的多重签名。
本实施例中,通过调用签名聚合算法,能够将资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名聚合成一个多重签名,保护了资源转移过程中双方的隐私。
在一个实施例中,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上可以包括:
具体地,首先检验资源转移确认方106所需确认的资源转移申报请求是否在区块链上存在,且区块链上没有包含资源转移申报请求的资源转移合同;根据资源转移中心102建立的资源转移规则来核查资源转移确认请求是否在资源转移规则规定的时间段内;基于资源转移中心102之前生成的资源转移确认方106的陷门以及资源转移确认方106上传的资源转移确认请求中更新后的公钥,调用公钥验证算法,确认资源转移确认请求中更新后的公钥的有效性;通过资源转移规则以及基于资源转移确认方的陷门调用的公钥验证算法,来对资源转移确认请求的合法性进行综合判断;调用签名验证算法,输入资源转移确认请求中更新后的公钥以及资源转移确认请求的签名,来判断资源转移确认请求的签名的是否合法;当资源转移确认请求以及资源转移确认请求的签名均合法时,获取自身请求以及签名均合法的资源转移确认请求,资源转移中心102将合法的资源转移确认请求上传至区块链上,广播给区块链上所有节点的已注册请求方。
更进一步地,还可以对资源转移申报请求以及资源转移确认请求中对应的条件进行核查,如以电力分布式资源转移系统为例,资源转移申报方104可以是购电用户,资源转移确认方106可以是售电用户,资源转移中心102可以检验购电用户请求中的所需购买的电量不多于售电用户请求中的可以售出的电量,且购电用户请求中的所能提供的价格不低于售电用户请求中的所接受的价格。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的分布式资源转移方法的分布式资源转移装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个分布式资源转移装置实施例中的具体限定可以参见上文中对于分布式资源转移方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种分布式资源转移装置,包括:公私钥对下发模块100、申报请求上链模块200、确认请求上链模块300、供需匹配模块400、资源转移合同下发模块500、多重签名生成模块600和资源转移结果广播模块700,其中:
公私钥对下发模块100,下发初始公私钥对至已注册的请求方,请求方包括资源转移申报方和资源转移确认方。
申报请求上链模块200,用于接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上,其中,资源转移申报请求由资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移申报请求的签名由根据更新后的初始公私钥对中私钥生成,SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法。
确认请求上链模块300,用于接收资源转移确认方上传的资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法的资源转移确认请求至区块链上,其中,资源转移确认请求由资源转移确认方根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移确认请求的签名由根据更新后的初始公私钥对中私钥生成。
供需匹配模块400,用于对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配。
资源转移合同下发模块500,用于根据资源转移供需匹配结果生成资源转移合同,下发资源转移合同至对应的请求方。
多重签名生成模块600,用于接收请求方上传的资源转移合同的签名,根据资源转移合同的签名生成资源转移合同的多重签名,资源转移合同的签名包括第一签名和第二签名,第一签名由资源转移申报方根据更新后的资源转移申报方的私钥对资源转移合同进行签名生成;第二签名由资源转移确认方根据更新后的资源转移确认方的私钥对资源转移合同进行签名生成。
资源转移结果广播模块700,用于广播资源转移合同以及多重签名至区块链。
在一个实施例中,还包括请求方注册模块,请求方注册模块具体用于:接收请求方上传的注册请求;根据注册请求对请求方进行审核;当审核通过时,生成已注册请求方的初始SFPK公私钥对,SFPK为具有灵活公钥的签名方案。
在一个实施例中,请求方注册模块还用于:当审核通过时,调用带陷门的密钥生成算法生成请求方的初始SFPK公私钥对以及请求方的陷门,请求方的陷门用于核查资源转移申报请求的合法性以及资源转移确认请求的合法性。
在一个实施例中,还包括资源转移规则生成模块,资源转移规则生成模块具体用于:建立资源转移规则,资源转移规则用于核查资源转移申报请求的合法性以及资源转移确认请求的合法性;广播资源转移规则至区块链。
在一个实施例中,申报请求上链模块200还用于:接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名;根据资源转移规则以及基于资源转移申报方的陷门调用的SFPK公钥验证算法,判断资源转移申报请求的合法性;基于资源转移申报请求,调用SFPK签名验证算法,判断资源转移申报请求的签名的合法性;当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上。
在一个实施例中,多重签名生成模块600还用于:接收资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名;根据资源转移申报方上传的资源转移合同的签名以及资源转移确认方上传的资源转移合同的签名,调用MS签名聚合算法,生成资源转移合同的多重签名,MS签名聚合算法为将多个签名聚合成一个的多重签名聚合算法。
上述分布式资源转移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了分布式资源转移系统,系统包括:资源转移中心、资源转移申报方以及资源转移确认方,资源转移中心、资源转移申报方以及资源转移确认方基于同一区块链组网;
资源转移中心下发初始公私钥对至已注册的请求方,请求方包括资源转移申报方和资源转移确认方;资源转移中心接收资源转移申报方上传的资源转移申报请求以及资源转移申报请求的签名,当资源转移申报请求以及资源转移申报请求的签名均合法时,广播合法的资源转移申报请求至区块链上,其中,资源转移申报请求由资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移申报请求的签名由根据更新后的初始公私钥对中私钥生成;资源转移中心接收资源转移确认方上传的资源转移确认请求以及资源转移确认请求的签名,当资源转移确认请求以及资源转移确认请求的签名均合法时,广播合法的资源转移确认请求至区块链上,其中,资源转移确认请求由资源转移确认方根据SFPK公钥更新算法以及SFPK私钥更新算法更新初始公私钥对,根据更新后的初始公私钥对中公钥生成,资源转移确认请求的签名由根据更新后的初始公私钥对中私钥生成;资源转移中心对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;资源转移中心根据资源转移供需匹配结果生成资源转移合同,下发资源转移合同至对应的请求方;资源转移中心接收请求方上传的资源转移合同的签名,根据资源转移合同的签名生成资源转移合同的多重签名,资源转移合同的签名包括第一签名和第二签名,第一签名由资源转移申报方根据更新后的资源转移申报方的私钥对资源转移合同进行签名生成;第二签名由资源转移确认方根据更新后的资源转移确认方的私钥对资源转移合同进行签名生成;资源转移中心广播资源转移合同以及多重签名至区块链。
具体地,分布式资源转移系统包括资源转移中心、资源转移申报方1、资源转移申报方2、资源转移申报方3、资源转移确认方1、资源转移确认方2以及资源转移确认方3;资源转移中心、所有资源转移申报方以及所有资源转移确认方基于同一区块链组网;
以电力分布式资源转移系统中资源转移申报方1与资源转移确认方1进行资源转移为例,如图5所示,此时,资源转移过程进行的是电力资源的转移,资源转移中心为交易中心,资源转移申报方1为购电用户,资源转移确认方为售电用户,此时购电用户与售电用户进行资源转移的过程如下:
1、交易中心下发对应的初始公私钥对至已注册的购电用户和售电用户;
2、购电用户和售电用户接收到对应的初始公私钥对,购电用户需要发起购电请求,更新接收到的初始公私钥对,根据更新后的初始公私钥对中的公钥生成购电请求,根据更新后的初始公私钥对中的私钥生成购电请求的签名,将购电请求以及购电请求的签名发送至交易中心;
3、交易中心接收购电用户上传的购电请求以及购电请求的签名,当购电请求以及购电请求的签名均合法时,广播合法的购电请求至区块链上;
4、售电用户从区块链上查看购电请求,将购电用户的购电请求作为自己确认的请求,更新接收到的初始公私钥对,根据更新后的初始公私钥对中的公钥生成售电请求,根据更新后的初始公私钥对中的私钥生成售电请求的签名,将售电请求以及售电请求的签名发送至交易中心;
5、交易中心接收售电用户上传的售电请求以及售电请求的签名,当售电请求以及售电请求的签名均合法时,广播合法的售电请求至区块链上;
6、交易中心对区块链上合法购电请求以及合法售电请求进行购电请求与售电请求的供需匹配;交易中心根据购电请求与售电请求的供需匹配结果生成交易合同,下发交易合同至购电用户以及售电用户;
7、购电用户根据更新后的购电用户的私钥对交易合同进行签名生成,售电用户根据更新后的售电用户的私钥对交易合同进行签名生成,将购电用户生成的对交易合同的签名以及售电用户生成的对交易合同的签名发送至交易中心;
8、交易中心接收购电用户以及售电用户上传的交易合同的签名,生成交易合同的多重签名,交易中心广播交易合同以及多重签名至区块链。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储资源转移合同以及多重签名数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式资源转移方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种分布式资源转移方法,其特征在于,所述方法包括:
下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;
根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
广播所述资源转移合同以及所述多重签名至所述区块链。
2.根据权利要求1所述的方法,其特征在于,在所述下发初始公私钥对至已注册的请求方之前,还包括:
接收请求方上传的注册请求;
根据所述注册请求对请求方进行审核;
当审核通过时,生成已注册请求方的初始SFPK公私钥对,所述SFPK为具有灵活公钥的签名方案。
3.根据权利要求2所述的方法,其特征在于,所述当审核通过时,生成已注册请求方的初始SFPK公私钥对包括:
当审核通过时,调用带陷门的密钥生成算法生成请求方的初始SFPK公私钥对以及请求方的陷门,所述请求方的陷门用于核查所述资源转移申报请求的合法性以及所述资源转移确认请求的合法性。
4.根据权利要求3所述的方法,其特征在于,在所述接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上之前,还包括:
建立资源转移规则,所述资源转移规则用于核查所述资源转移申报请求的合法性以及资源转移确认请求的合法性;
广播所述资源转移规则至区块链。
5.根据权利要求4所述的方法,其特征在于,所述接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上包括:
接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名;
根据所述资源转移规则以及基于所述资源转移申报方的陷门调用的SFPK公钥验证算法,判断所述资源转移申报请求的合法性;
基于所述资源转移申报请求,调用SFPK签名验证算法,判断所述资源转移申报请求的签名的合法性;
当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上。
6.根据权利要求1所述的方法,其特征在于,所述接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名包括:
接收所述资源转移申报方上传的所述资源转移合同的签名以及所述资源转移确认方上传的所述资源转移合同的签名;
根据所述资源转移申报方上传的所述资源转移合同的签名以及所述资源转移确认方上传的所述资源转移合同的签名,调用MS签名聚合算法,生成所述资源转移合同的多重签名,所述MS签名聚合算法为将多个签名聚合成一个的多重签名聚合算法。
7.一种分布式资源转移装置,其特征在于,所述装置包括:
公私钥对下发模块,下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
申报请求上链模块,用于接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
确认请求上链模块,用于接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
供需匹配模块,用于对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;
资源转移合同下发模块,用于根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
多重签名生成模块,用于接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
资源转移结果广播模块,用于广播所述资源转移合同以及所述多重签名至所述区块链。
8.一种分布式资源转移系统,其特征在于,所述系统包括:资源转移中心、资源转移申报方以及资源转移确认方,所述资源转移中心、所述资源转移申报方以及所述资源转移确认方基于同一区块链组网;
所述资源转移中心下发初始公私钥对至已注册的请求方,所述请求方包括资源转移申报方和资源转移确认方;
所述资源转移中心接收所述资源转移申报方上传的资源转移申报请求以及所述资源转移申报请求的签名,当所述资源转移申报请求以及所述资源转移申报请求的签名均合法时,广播合法的所述资源转移申报请求至区块链上,其中,所述资源转移申报请求由所述资源转移申报方根据SFPK公钥更新算法以及SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移申报请求的签名由根据所述更新后的所述初始公私钥对中私钥生成,所述SFPK公钥更新算法以及SFPK私钥更新算法均为具有灵活公钥的签名方案的算法;
所述资源转移中心接收所述资源转移确认方上传的资源转移确认请求以及所述资源转移确认请求的签名,当所述资源转移确认请求以及所述资源转移确认请求的签名均合法时,广播合法的所述资源转移确认请求至区块链上,其中,所述资源转移确认请求由所述资源转移确认方根据所述SFPK公钥更新算法以及所述SFPK私钥更新算法更新所述初始公私钥对,根据更新后的所述初始公私钥对中公钥生成,所述资源转移确认请求的签名由根据所述更新后的所述初始公私钥对中私钥生成;
所述资源转移中心对区块链上合法资源转移申报请求以及合法资源转移确认请求进行资源转移供需匹配;
所述资源转移中心根据资源转移供需匹配结果生成资源转移合同,下发所述资源转移合同至对应的请求方;
所述资源转移中心接收所述请求方上传的所述资源转移合同的签名,根据所述资源转移合同的签名生成资源转移合同的多重签名,所述资源转移合同的签名包括第一签名和第二签名,所述第一签名由所述资源转移申报方根据更新后的所述资源转移申报方的私钥对所述资源转移合同进行签名生成;所述第二签名由所述资源转移确认方根据更新后的所述资源转移确认方的私钥对所述资源转移合同进行签名生成;
所述资源转移中心广播所述资源转移合同以及所述多重签名至所述区块链。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202211575950.8A 2022-12-09 2022-12-09 分布式资源转移方法、装置、系统与计算机设备 Active CN115599773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211575950.8A CN115599773B (zh) 2022-12-09 2022-12-09 分布式资源转移方法、装置、系统与计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211575950.8A CN115599773B (zh) 2022-12-09 2022-12-09 分布式资源转移方法、装置、系统与计算机设备

Publications (2)

Publication Number Publication Date
CN115599773A CN115599773A (zh) 2023-01-13
CN115599773B true CN115599773B (zh) 2023-03-31

Family

ID=84853374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211575950.8A Active CN115599773B (zh) 2022-12-09 2022-12-09 分布式资源转移方法、装置、系统与计算机设备

Country Status (1)

Country Link
CN (1) CN115599773B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006705A (zh) * 2021-12-28 2022-02-01 深圳市名竹科技有限公司 数字签名处理方法、装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107911216B (zh) * 2017-10-26 2020-07-14 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
US12045805B2 (en) * 2020-10-14 2024-07-23 Blockchains, Inc. Multisignature key custody, key customization, and privacy service
CN114266681A (zh) * 2021-12-23 2022-04-01 杭州时戳信息科技有限公司 电子合同签署方法、系统、存储介质及计算设备
CN114022150B (zh) * 2022-01-07 2022-04-22 北京笔新互联网科技有限公司 资源转移方法、装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006705A (zh) * 2021-12-28 2022-02-01 深圳市名竹科技有限公司 数字签名处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN115599773A (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
US20240113877A1 (en) Blockchain-implemented method and system
CN111737724B (zh) 一种数据处理方法、装置、智能设备及存储介质
Yavari et al. An Improved Blockchain‐Based Authentication Protocol for IoT Network Management
WO2021000337A1 (en) System and method for mapping decentralized identifiers to real-world entities
EP3732856A2 (en) System and method for decentralized-identifier authentication
CN111797159A (zh) 数据库中的信息管理和访问控制
CN111131336B (zh) 多方授权场景下的资源访问方法、装置、设备及存储介质
CN113328997A (zh) 联盟链跨链系统及方法
CN110910110B (zh) 一种数据处理方法、装置及计算机存储介质
CN113409154A (zh) 一种基于可信存储的安责险处理方法和系统
CN113255014A (zh) 一种基于区块链的数据处理方法以及相关设备
CN114710370B (zh) 基于雾区块链和属性加密的细粒度访问控制方法及系统
CN112231731A (zh) 松散耦合的区块链交易方法和区块链节点
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
Zhang et al. Efficient auditing scheme for secure data storage in fog-to-cloud computing
CN114666064A (zh) 基于区块链的数字资产管理方法、装置、存储介质及设备
CN111552950B (zh) 一种软件授权方法、装置及计算机可读存储介质
CN112948789A (zh) 身份认证方法及装置、存储介质及电子设备
CN115580415B (zh) 区块链中数据交互认证方法、装置与系统
CN115599773B (zh) 分布式资源转移方法、装置、系统与计算机设备
CN115409511B (zh) 一种基于区块链的个人信息保护系统
JP7539170B2 (ja) ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末
CN115022039B (zh) 信息处理方法、装置、设备和存储介质
CN117040765A (zh) 智能电网终端认证方法、装置、存储介质及计算机设备
Li et al. A noninteractive multireplica provable data possession scheme based on smart contract

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230727

Address after: Room 822, Room 406, No. 1, Yichang Street, Zhongxin Ciudad del Saber, Huangpu District, Guangzhou, Guangdong 510000

Patentee after: China Southern Power Grid Artificial Intelligence Technology Co.,Ltd.

Address before: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.