CN111814191A - 区块链隐私数据保护方法、装置及系统 - Google Patents

区块链隐私数据保护方法、装置及系统 Download PDF

Info

Publication number
CN111814191A
CN111814191A CN202010854334.0A CN202010854334A CN111814191A CN 111814191 A CN111814191 A CN 111814191A CN 202010854334 A CN202010854334 A CN 202010854334A CN 111814191 A CN111814191 A CN 111814191A
Authority
CN
China
Prior art keywords
transaction
user
group
node
mixed
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.)
Granted
Application number
CN202010854334.0A
Other languages
English (en)
Other versions
CN111814191B (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.)
Beijing Tengxin Everbright Technology Co ltd
Beijing University of Posts and Telecommunications
Original Assignee
Beijing Tengxin Everbright Technology Co ltd
Beijing University of Posts and Telecommunications
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 Beijing Tengxin Everbright Technology Co ltd, Beijing University of Posts and Telecommunications filed Critical Beijing Tengxin Everbright Technology Co ltd
Priority to CN202010854334.0A priority Critical patent/CN111814191B/zh
Publication of CN111814191A publication Critical patent/CN111814191A/zh
Application granted granted Critical
Publication of CN111814191B publication Critical patent/CN111814191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供了一种区块链隐私数据保护方法、装置及系统,该方法包括:由交易用户将其转账金额和剩余金额用可信第三方机构全网同态公钥分别加密而生成第一加密转账金额和加密剩余金额,将转账金额用接收方的公钥加密生成第二加密转账金额;交易用户全网广播隐私数据保护请求,基于该请求形成混合交易群;确定群管理员,以由群管理员基于加密算法生成群公钥和私钥;交易用户向混合节点发送交易混合请求,接收到混合节点返回的凭证后向混合节点发送交易信息及利用用户公钥签名的输入和输出地址的地址信息;交易用户接收混合节点返回的交易单,对其中的交易信息验证后返回交易签名,以使混合节点将群内所有交易用户的交易签名聚合,并生成混合交易单。

Description

区块链隐私数据保护方法、装置及系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链隐私数据保护方法、装置、系统及存储介质。
背景技术
区块链技术是以密码学算法为基础,基于特定的共识机制,通过构建以块为单位的时序化的链式数据结构,采用P2P网络进行数据同步的一种多结点、自组织、不可篡改、安全可信的分布式账本系统。区块链具有去中心化、集体维护、不可篡改和安全可信等特点,区块链网络中通常没有中心服务器,因此在区块链系统中的每个节点都需要备份完整的账本,共同维护账本的完整性,以降低中心化、集中式服务器面临的单点崩溃和数据泄露的风险。
然而,随着区块链技术的不断发展和深入研究,区块链技术的数据泄漏问题变得日益突出。为了实现分散账本,区块链技术使用多个分布式节点来维护区块链账本的形式。其中,为了在多个分散的节点之间达成协议,必须向指定节点中的所有节点公开其交易记录,即记录每笔交易的接收方地址,发送方地址和交易金额的信息,这将大大增加区块链隐私数据泄露的风险。
区块链的隐私数据主要分为交易隐私数据和身份隐私数据。交易隐私数据指包含交易详情的一些信息,包括特定账户的资金余额、交易详情、关联账户、资金流向等。身份隐私数字主要是指交易者身份。身份隐私和交易隐私是用户在使用区块链技术时需要重点保护的内容,这些信息一旦泄露有可能对个人,机构和国家造成危害和无法弥补的后果,而且由于存储在区块链全局账本中的数据无法删除和篡改,即使用户发现部分地址或者交易数据已经曝光,也不能采取挽救措施。因此,区块链的隐私保护成为目前人们研究的重点。
目前,区块链的隐私保护,无论是交易隐私保护还是身份隐私保护,目前面临着比较大的威胁。
交易隐私保护面临的威胁:区块链中每一笔交易都是可追溯的,交易的输入地址来源于之前一笔交易的输出,交易的输出地址又会在其他交易中作为输入。根据交易之间的链式关系,分析人员可以获得:任何一笔资金的使用情况以及任何一个交易地址的相关交易。基于上述信息,分析人员通过对具有关联性的区块链地址进行聚类分析,就能够得到许多有价值的信息,如:(1)发现不同地址之间的资金关系;(2)跟踪特殊交易;(3)发现交易规律。针对交易隐私面临的威胁,可以看出攻击者可通过分析公开的区块链交易数据获得交易隐私信息。
身份隐私面临的威胁:在区块链网络中交易时,用户交易的地址往往是其公钥的哈希值,也可被称为假名,以区别于用户自己的真实IP地址,利用假名与区块链网络中的节点进行交易可避免自己的真实地址被泄露。但目前,区块链网络中的全局账本的整个交易历史都是公开的,区块链网络中的每一个节点都能看到交易资金的流向,即从一个假名到另一个假名的流转过程。恶意的攻击方利用某些技术有能力将同一个用户生成的不同的假名链接在一起,以此窃取区块链网络中合法节点的真实信息。例如,攻击者使用聚类分析和时间分析构建交易拓扑及用户拓扑来估计输入地址和输出地址之间的关系,从而将假名映射到用户真实身份。
现有的区块链隐私数据保护侧重于对交易隐私数据的保护而难以兼顾交易隐私和身份隐私的保护,在安全性和拓展性上还存在诸多不足,从而难以有效保护交易用户的隐私数据。
随着区块链技术广泛地应用到金融、安全等各个领域中,急需一种能够有效避免隐私数据泄露的方案。
发明内容
有鉴于此,本发明的目的在于提供一种区块链隐私数据保护方法、装置及系统,以有效地保证交易信息和身份信息的高安全性。
一方面,本发明提供一种区块链隐私数据保护方法,该方法包括以下步骤:
由交易用户将自己的账户金额分为转账金额和剩余金额,将转账金额和剩余金额基于可信第三方机构利用同态加密算法生成并广播的全网同态公钥分别加密而生成第一加密转账金额和加密剩余金额,并将转账金额用接收方广播的公钥进行加密生成第二加密转账金额;
由交易用户在区块链网络全网广播隐私数据保护请求,并基于各交易用户广播的隐私数据保护请求形成混合交易群,所述混合交易群中包括在全网广播隐私数据保护请求的多个交易用户;
确定混合交易群的群管理员,以由所述群管理员基于特定加密算法生成群公钥和群私钥,并验证混合交易群内的交易用户;
交易用户向确定的混合节点发送交易混合请求,在接收到混合节点的带签名的凭证后向所述混合节点发送交易信息及利用自己公钥签名的地址信息,所述交易信息包含所述第一加密转账金额、所述加密剩余金额以及所述第二加密转账金额,地址信息包括交易的输入地址和输出地址;
交易用户接收混合节点返回的交易单,并对交易单中的交易信息及地址信息验证后向混合节点返回交易签名,以使得混合节点将混合交易群内所有交易用户的交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单。
在一实施例中,所述方法还包括以下步骤:由接收方接收混合交易单中的交易信息,以基于交易信息更新自己的账户余额。
在一实施例中,所述方法还包括以下步骤:由交易用户检验混合交易单中的相应交易信息和地址信息,并在检验成功后进行签名,以使得群管理员基于交易用户签名的结果确定交易用户的合法性;在群管理员确定交易用户不合法的情况下,从混合交易群除去不合法交易用户。
在一实施例中,所述同态加密算法为Paillier同态加密算法;所述特定加密算法为椭圆曲线加密算法。
在一实施例中,所述方法还包括以下步骤:由区块链网络中的验证节点对混合交易单中对交易签名进行验证,并在验证成功后修改交易用户的账户真实余额。
在一实施例中,所述混合交易群中包括在设定长度的时间段内在全网广播隐私数据保护请求的多个交易用户;所述确定混合交易群的群管理员的步骤包括:由所述时间段内发出隐私数据保护请求的第一个交易用户作为群管理员,或者基于共识算法从混合交易群内的交易用户中选举出群管理员;所述混合节点通过以下方式确定:由混合交易群中所有节点对全网节点进行随机选取,获得票数最多的节点为被选中作为混合节点。
在另一方面,本发明还提供一种区块链隐私数据保护方法,该方法包括以下步骤:
接收混合交易群内各交易用户发送的交易混合请求,并向各交易用户返回带混合节点签名的凭证;
接收来自混合交易群内各交易用户的交易信息及利用各交易用户公钥签名的地址信息,所述交易信息包含第一加密转账金额、加密剩余金额以及第二加密转账金额,地址信息包括交易的输入地址和输出地址,其中,所述第一加密转账金额和所述加密剩余金额分别为各交易用户将其转账金额和剩余金额基于可信第三方机构利用同态加密算法生成并广播的全网同态公钥加密而生成加密转账金额和加密剩余金额,所述第二加密转账金额为将各交易用户的转账金额用接收方广播的公钥进行加密生成的加密转账金额;
对接收的交易信息和地址信息中的签名进行验证并检查交易内容,在验证成功并检查无误后向交易用户接返回交易单;
接收各交易用户对交易单中的交易信息验证后向混合节点返回交易签名,并将混合交易群内所有交易用户的有效交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单,以便由验证节点分别对混合交易单中对混合签名和交易信息进行验证,以在验证成功后修改交易用户的账户真实余额。
另一方面,本发明还提供一种区块链隐私数据保护系统,其特征在于,该系统包括:第三方可信任机构、交易用户和混合节点;
其中,所述第三方可信任机构用于利用同态加密算法生成全网同态密钥,所述全网同态密钥包括同态私钥和同态公钥;
所述交易用户用于在区块链全网广播隐私数据保护请求,并基于在全网广播的隐私数据保护请求形成混合交易群,所述混合交易群中包括在全网广播隐私数据保护请求的多个交易用户,所述多个交易用户中的一个交易用户被确定为群管理员;
所述群管理员用于基于特定加密算法生成群公钥和群私钥,并验证混合交易群内的交易用户;
所述混合交易群内的各交易用户将自己的账户金额分为转账金额和剩余金额,将转账金额和剩余金额基于同态公钥分别加密而生成第一加密转账金额和加密剩余金额,并将转账金额用接收方广播的公钥进行加密生成第二加密转账金额;
所述混合交易群内的各交易用户向所述混合节点发送交易混合请求,混合节点向交易用户返回带签名的凭证,交易用户向所述混合节点发送交易信息及利用自己公钥签名的地址信息,所述交易信息包含所述第一加密转账金额、所述加密剩余金额以及所述第二加密转账金额,地址信息包括交易的输入地址和输出地址;
交易用户接收混合节点返回的交易单,并对交易单中的交易信息及地址信息验证后向混合节点返回交易签名,以使得混合节点将混合交易群内所有交易用户的交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单。
在另一方面,本发明还提供一种区块链隐私数据保护装置,该装置包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实如前所述的方法。
在另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述方法的步骤。
本发明提供的区块链隐私数据保护方法、装置和系统,能够有效地保证交易信息和身份信息的高安全性,为区块链数据信息隐私保护的应用保驾护航。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1为本发明一实施例中基于同态加密的区块链隐私数据保护方法流程示意图。
图2为本发明另一实施例中基于同态加密的区块链隐私数据保护方法流程示意图。
图3为本发明一实施例中交易用户对账户金额进行加密并发起交易的示意图。
图4为本发明另一实施例中混合交易群的操作示意图。
图5为本发明一实施例中混合节点处理的过程图。
图6为本发明另一实施例中接收方接收交易信息后更新余额过程图。
图7为本发明一实施例中基于同态加密的区块链隐私数据保护方法的时序示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含/具有”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
针对目前区块链隐私保护技术难以兼顾交易隐私和身份隐私保护的问题,本发明提供了一种基于同态加密技术的区块链隐私数据保护方案。
本发明意在解决交易用户和地址之间存在关联性的问题,通过混淆地址和交易用户之间的联系,使得其他节点无法将地址与用户的真实身份相关联,同时解决区块链网络中交易数据信息在链上公开的问题,在保护账本中记录的隐私信息的同时保证账本正确性的可验证。
本发明中所涉及的角色主要包括以下四类节点:可信第三方机构、交易用户、交易接收方以及选取的混合节点,其中,每个节点承担如下任务:
(1)可信第三方机构:用来生成加密交易信息的全网同态密钥,并且存储区块链网络中的所有用户的公钥地址,便于交易用户查询接收方的接收地址。在本发明实施例中,可信第三方机构可以是信誉度符合预定级别的交易机构、银行、法院等机构,但并不限于此。
(2)交易用户:可以是区块链系统中的任意一个节点,每个节点运行一个钱包软件,以此来和其它用户进行交易和信息交换。在本发明实施例中,希望对交易信息进行隐私保护的用户可使用钱包软件将混合交易请求向全网广播,同一时段具有相同需求的交易用户将形成一个混合交易群,并对交易签名后发送给混合节点。
(3)接收方:是区块链网络中接收交易的实体,其公钥地址是全网公开的,交易用户可通过可信第三方机构查询,此外交易用户可通过其地址向接收方的地址转入一定数额的资金,接收方可根据自己的私钥更新自己的账户余额。
(4)混合节点:是由混合交易群中所有节点(交易用户)从全网节点中进行选取得到的,混合节点用于混合交易用户的交易,并将混合得到的交易单发送给交易用户进行验证。交易用户从全网节点中进行选取时,可以基于用户交易群中用户的数量选定一个或多个混合节点,各混合阶段对接和不同的用户节点进行交互。用户对交易单验证并签名后发送给对应的混合节点,混合节点将收到的签名聚合成一个签名,并将所有的交易混合成一笔交易。最终将交易向全网广播,经过区块链网络中的验证节点验证后被添加到区块链上。当具有混合交易需求的用户较多时,可选取多个混合节点实现交易的混合,混合节点的选取可以是任意的,可以是交易所,也可以是拥有客户端的任意交易用户。
图1是本发明实施例中通过交易用户和混合节点等的交互实现的区块链隐私数据保护方法的流程示意图,如图1所示,该方法包括步骤S110- S150。
步骤S110,账户信息加密步骤。
该步骤中,交易用户发起交易前,将自己的账户金额分为转账金额和剩余金额,将转账金额和剩余金额基于可信第三方机构利用同态加密算法生成并在全网广播的全网同态公钥分别加密而生成第一加密转账金额和加密剩余金额,并将转账金额用接收方广播的公钥进行加密生成第二加密转账金额。
图3所示是本发明实施例中交易用户对账户金额进行加密并发起交易的示意图。如图3所示,各交易用户的账户金额被分成两部分:转账金额(即要转给接收方的交易金额)和账户余额,同时保证转账金额和账户余额这两项都必须不小于0且两项相加等于用户总的账户余额。交易用户将账户金额分成转账金额和账户余额两部分后,可将转账金额分别利用可信第三方机构用同态加密算法生成的全网同态公钥和接收方生成的公钥进行加密,分别生成密文M1(即第一加密转账金额)和N(第二加密转账金额);而可对账户余额利用由可信第三方机构利用同态加密算法生成的全网同态公钥进行加密,得到密文M2,即第二加密转账金额。如后面对步骤将要描述的,生成的包含M1、M2和N的交易信息用于传递给混合节点,以由混合节点对交易信息进行混合以生成混合交易单。
可信第三方机构利用同态加密算法生成全网同态密钥(包括公钥和私钥)的过程可在步骤S110之前的区块链系统的初始化步骤中实现,在区块链系统的初始化步骤中,可信第三方机构会运行同态加密算法的初始算法,生成全网同态公钥和私钥,并将同态公钥向全网广播,同时将同态私钥存储在本地,以备后续接收方进行查询等。用户总的账户余额可利用全网同态公钥加密后被存储在区块链账本上。
本发明实施例中,可信第三方机构运行的同态加密算法可以是Paillier同态加密算法,但本发明并不限于此,也可能采用其他的同态加密算法。
步骤S120,混合交易群生成步骤。
该步骤中,由交易用户在区块链网络全网广播隐私数据保护请求(或简称保护请求),并基于各交易用户广播的隐私数据保护请求形成混合交易群。形成的混合交易群中包括在全网广播隐私数据保护请求的多个交易用户。
更具体地,具有隐私保护需求的交易用户通过广播方式向区块链网络全网发出隐私数据保护请求,每隔一段时间(时段长度可以预先设定),具有同样需求的交易用户可自动形成混合交易群。
在本发明一些实施例中,可事先设定(如在系统初始化时设定)一个混合交易群中允许的交易用户数量最大值,当同一时段具有混合交易需求的交易用户较多而超过该交易用户数量最大值时,可基于发出保护请求的交易用户数和发出请求的时间自动生成多个混合交易群,使得每个混合交易群的数量不超过交易用户数量最大值。该交易用户数量最大值可根据用户数量的一定比例及每秒交易量计算得到。
在本发明另一实施例中,可仅生成一个混合交易群,而不设置该混合交易群中允许的交易用户数量最大值限制。
步骤S130,群管理员确定步骤。
本步骤中,确定混合交易群的群管理员,以由群管理员基于特定加密算法生成群公钥和群私钥,并验证混合交易群内的交易用户。
作为示例,在形成混合交易群后,可由该群内发出隐私数据保护请求的第一个交易用户作为群管理员。另选地,也可以基于共识算法从混合交易群内的交易用户中选举出群管理员,即选择票数最多的交易用户作为群管理员。还可以从混合交易群中随机生成群管理员。
生成群管理员后,由群管理员利用加密算法生成公钥和私钥,并将公钥公开,群管理员生成的公钥和私钥分别称为群公钥和群私钥。如图4的混合交易群的操作示例所示,群管理员利用群公钥对交易群中用户验证其身份的真实性,生成用户证书发给每个用户。区块链网络中的验证者可以利用群管理员生成的公钥对群成员进行验证。群管理员还可生成一个保存用户公钥和身份对应关系的备份,当出现争议时,可对用户去匿名化。由于基于公钥和私钥如何对用户进行身份验证的步骤利用现有技术就可以实现,不属于本发明的发明点,因此在此不作赘述。
管理员利用的加密算法例如可以是椭圆曲线加密(ECC,Elliptic CurvesCryptography)算法,但本发明并不限于此。
步骤S140,混合交易请求步骤。
在本步骤中,交易用户向确定的混合节点发送交易混合请求,在接收到混合节点的带签名的凭证后向混合节点发送交易信息及利用用户自己公钥签名的地址信息,该交易信息包含第一加密转账金额、加密剩余金额以及第二加密转账金额,该地址信息包括交易的输入地址和输出地址。
如前所述,确定的混合节点可以是由交易用户从全网节点中选择的。
交易用户向选中的混合节点发送交易混合请求之后,混合节点如果接受交易用户的请求则对其请求进行签名并将签名的消息返回给交易用户,以此作为凭证。交易用户接收到该凭证后,将经过同态加密的转账金额(第一加密转账金额)和剩余金额(加密剩余金额)以及利用接收方公钥加密后的转账金额(第二加密转账金额)形成交易信息,并对连交易输入地址和输出地址形成的地址信息进行群签名发送给混合节点。此处,本步骤中群签名是将地址信息利用用户公钥进行签名。
本发明实施例中,由于交易用户提交的地址信息被进行了群签名,群签名难以破解,这有效的保护了交易用户的真实身份,避免了交易用户身份信息被泄露。
混合节点接收到经群签名的地址信息后,首先检验该群签名,如果验证成功,则下一步检查地址信息内交易地址是否存在,交易信息中转账金额与剩余金额两项是否都不小于0,且转账金额与剩余金额的同态加法和与公共账本余额是否一致。如果以上所有信息无误,则混合节点将交易整理成交易单发送给每个用户。
步骤S150,交易验证步骤。
在本步骤中,交易用户接收混合节点返回的交易单,并对交易单中的交易信息和地址信息验证后向混合节点返回交易签名,以使得混合节点收到混合交易群内所有交易用户的交易签名后聚合为一个签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单。
更具体地,交易用户收到混合节点返回的交易单后,检查交易单内交易地址和交易的金额是否正确,若无误,交易用户将交易单发送给混合节点并附上其对交易的签名,混合节点在收到混合交易群内所有交易用户的有效签名后将所有签名聚合为一个签名,组合形成最终的一笔混合交易单,将其广播到全网。如果交易用户检查交易单内交易地址和/或交易的金额有误,则拒绝签名,一旦拒绝签名则可判定该用户不合法,可通知群管理员,由群管理员将该用户作为暴露的恶意用户从交易群中移除。该步骤作为问责机制提高了区块链数据抗DoS攻击的能力。
在本发明实施例中,通过将所有用户的交易签名聚合为一个签名,并将聚合的签名混合为一个交易单,混淆了交易输入和输出的关联性,从而混淆了交易与用户之间的关联性,从而保护了用户的交易和身份隐私,实现了交易隐私和身份隐私的不可链接性。
在混合交易单广播到全网后,区块链网络中的验证节点就可以进行交易验证。首先,验证节点对聚合签名进行验证,验证通过则对混合交易单中的各交易信息进行验证,检验交易用户转账金额与剩余金额两项是否都不小于0,且其同态加法和与公共账本余额是否一致。验证成功,则验证节点对公共账本上的交易用户真实余额进行修改。如果验证失败,则向混合节点返回交易失败提示。本发明实施例中,验证节点可以是全网节点中的一个或多个。由于全网节点可以对交易信息进行验证,从而可以共同维护公共账本。
对于接收方,本发明实施例提出两种接收方更新自己余额的方法,使得接收方可基于交易信息更新余额。如图6所示,第一种更新余额的方式是接收方上线接收用接收方的公钥加密的交易信息后,利用自己的私钥解密交易信息进而获得其中的转账金额,然后更新自己的余额。第二种是接收方接收交易信息并验证后,向可信第三方机构申请查账以更新自己的账户余额。
更进一步地,在本发明实施例中,还可在验证节点的验证步骤后添加问责机制,在这种情况下,在混合节点生成最终交易单并广播到全网之后,交易用户可进一步检验混合节点生成的混合交易中金额的转账是否正确,包括转账金额和转账地址的正确性,如果正确,则用自己的私钥对混合交易签名,一旦其拒绝签名则判定该用户不合法,进而协议终止。群管理员可验证聚合签名,若验证成功则返回群列表中成员的公钥,并将其中暴露的恶意用户除去,重新开始。
在本发明实施例中,由于交易用户在发起交易前首先将自己的账户余额分为两类:转账金额和剩余金额,并利用全网同态公钥对其进行加密,使得交易过程中区块链网络上的金额都是加密后的数值,由此保证了链上数据不被泄露;同时交易用户利用接收方的公钥对转账金额进行加密,方便接收方上线接收交易信息后解密更新自己的账户余额。
此外,由于交易用户转账金额和剩余金额利用全网同态公钥被加密后存储在区块链账本上,全网节点无法获得交易用户的真实转账金额和剩余金额,全网节点也无法获取交易用户总的账户金额从而无法掌握交易用户真正的资金情况,而只能对其交易信息进行验证,由此保证了交易信息的保密性和安全性,避免其直接公开在交易过程中。
在本发明实施例中,由于混合节点是随机选择的,可以是交易所,也可以是拥有客户端的任意用户,因而除非攻击者控制了很多节点,否则不可能对混合交易单中的指定交易进行关联。由于混合节点接收到的交易信息是经过同态加密后的信息,因而混合节点也无法得知交易用户和接收方之间的交易金额,只能对其进行验证,降低了交易之间的关联性,避免交易隐私泄露给混合节点。
此外,在本发明实施例中,由于在步骤S140中对请求混合的交易信息进行群签名,群签名的匿名性难以破解,混合节点只能知道该请求来自于交易群而无法确定其真实身份,进而保证了用户身份的隐私性;同时在此基础上进一步利用聚合签名打乱了交易之间的链接关系,混淆了输入和输出之间的联系,有效保障了交易隐私性,同时提高了验证签名的效率。
如上所述的基于同态加密的区块链隐私数据保护方法,采用同态加密技术加密用户账户余额、转账金额以及剩余金额的数值,相比传统的在区块链上交易信息公开的方式,该本发明的方法保证了区块链上信息的不可伪造和篡改性,同时保证验证节点在不知道具体交易金额数值的情况下,仍然能够验证交易的正确性。也即,利用同态加密技术保证另区块链上的交易数据信息的保密性,避免泄露交易中的隐私信息。
同时,通过选取混合节点,并结合群签名和聚合签名混淆了交易输入和输出的关联性,从而混淆了交易与用户之间的关联性,从而保护了用户的交易和身份隐私,实现了交易隐私和身份隐私的不可链接性、匿名性以及抗DoS攻击,可有效增强区块链的隐私保护能力。
进一步地,如图4所示,本发明对于企图破坏交易的恶意交易用户,能够通过验证签名追踪到其身份,识别不合法用户(恶意用户),同时将混合交易中的恶意用户除去,进而保证交易能够顺利进行。
总的来说,本发明实施例融合同态加密、群签名以及聚合签名,能够有效地保证交易信息和身份信息的高安全性,为区块链数据信息隐私保护的应用保驾护航。
图1的流程中示出的是交易用户侧执行的操作,从混合节点的角度,其执行的操作如图2中步骤S210至步骤S240所示。由于混合节点的操作结合图1所示的交易用户的流程图也进行了描述,在此不再赘述。
下面结合着具体算法公式来对本发明的方法步骤进行更详细地说明。
步骤S100,系统初始化步骤。
可信第三方机构运行Paillier同态加密算法的初始算法,生成全网同态公钥和私钥,将同态公钥向全网广播,同时将同态私钥存储在本地。同时将用户总的账户余额利用全网同态公钥加密后存储在区块链账本上。生成同态密钥的算法为Paillier加法同态加密算法,具体生成同态密钥的过程如下:
1)选择两个随机的大素数p、q,使其满足
Figure 455205DEST_PATH_IMAGE001
(1)
其中,gcd()表示求括号内两参数的最大公约数的函数,公式(1)所表达的属性可保证两个质数长度相等。
2)分别通过以下公式计算n和λ的值,其中函数lcm(a,b)表示两个参数a和b的最小公倍数。
Figure 910457DEST_PATH_IMAGE002
(2)
Figure 810280DEST_PATH_IMAGE003
(3)
其中,n和λ分别表示p与q的公共模数和p-1与q-1的最小公倍数。
3)选择一个随机整数
Figure 173129DEST_PATH_IMAGE004
,其中,
Figure 209218DEST_PATH_IMAGE005
是不包含0的阶为
Figure 835371DEST_PATH_IMAGE006
的群。
4)构建全网同态公钥
Figure 222490DEST_PATH_IMAGE007
和全网同态私钥
Figure 326712DEST_PATH_IMAGE008
,其中k的计算如下公式:
Figure 482887DEST_PATH_IMAGE009
(4)
其中,mod表示模运算。
可信第三方机构将生成的全网同态公钥广播到全网,将全网同态私钥存储在本地。
步骤S110,账户信息加密步骤。
本步骤中,要加密的账户信息m必须满足
Figure 379078DEST_PATH_IMAGE010
Figure 987914DEST_PATH_IMAGE011
是包括0在内的阶为n的群;任意选择随机数
Figure 161407DEST_PATH_IMAGE012
,其中
Figure 172088DEST_PATH_IMAGE013
是不包含0的阶为n的群,按照如下公式生成密文c:
Figure 140044DEST_PATH_IMAGE014
(5)
如图3所示,交易用户首先将自己的账户余额划分为两部分:转账金额和剩余金额,同时保证这两项都必须不小于0且两项相加等于用户总的账户余额。随后交易用户使用基于Paillier同态加密算法得到的全网同态公钥对转账金额和剩余金额进行加密生成对应的密文M1和M2,并利用接收方的公钥通过椭圆曲线加密(ECC)算法对交易金额进行加密生成密文N,下一步则发送给混合节点请求进行混合。
步骤S120-步骤S130,混合交易群生成步骤和群管理员确定步骤。
步骤S120中,如图4和图5所示,具有相同需求的交易用户将形成一个混合交易群,交易群生成管理员,由管理员利用椭圆曲线加密算法生成私钥和公钥,并将公钥公开。
本实施例中,可用
Figure 298493DEST_PATH_IMAGE015
是表示混合交易群中所有s个用户构成的匿名用户集合,
Figure 744518DEST_PATH_IMAGE016
表示交易用户的公钥集合,
Figure 875285DEST_PATH_IMAGE017
表示地址集合,
Figure 14142DEST_PATH_IMAGE018
表示交易用户签名列表,
Figure 597570DEST_PATH_IMAGE019
表示交易列表。
群管理员选择一个大素数t,满足椭圆曲线
Figure 394756DEST_PATH_IMAGE020
(在此给出的椭圆曲线公式仅为示例,还可以是其他椭圆曲线公式)的随机数
Figure 380029DEST_PATH_IMAGE021
,来构造椭圆曲线
Figure 689788DEST_PATH_IMAGE022
,其中
Figure 760512DEST_PATH_IMAGE023
表示t个元素的有限域。选择椭圆曲线上的阶为素数t的循环加法群
Figure 813919DEST_PATH_IMAGE024
和循环加法群
Figure 981595DEST_PATH_IMAGE025
以及双线性映射
Figure 462255DEST_PATH_IMAGE026
,执行以下操作:
1)选择任意生成元
Figure 754696DEST_PATH_IMAGE027
2)选择两个安全的哈希函数:
Figure 611794DEST_PATH_IMAGE028
,其中
Figure 306080DEST_PATH_IMAGE029
是阶为的t的整数集合(除0之外)。
3)随机选择并秘密保存群管理员私钥
Figure 770691DEST_PATH_IMAGE030
,计算其公钥为
Figure 816007DEST_PATH_IMAGE031
并公开参数
Figure 211216DEST_PATH_IMAGE032
,其中,
Figure 760009DEST_PATH_IMAGE029
是不包含0的阶为t的群。
4)交易群中身份为
Figure 848051DEST_PATH_IMAGE033
的交易用户随机选择秘密值
Figure 177401DEST_PATH_IMAGE034
,计算其公钥为
Figure 110722DEST_PATH_IMAGE035
,其中
Figure 779601DEST_PATH_IMAGE036
Figure 38544DEST_PATH_IMAGE037
分别为交易用户的公钥和私钥,i为用户标号。用户通过安全信道把
Figure 527294DEST_PATH_IMAGE038
Figure 529885DEST_PATH_IMAGE039
发送给群管理员。群管理员验证
Figure 866320DEST_PATH_IMAGE038
的真实性后计算哈希值
Figure 30585DEST_PATH_IMAGE040
,并进一步计算
Figure 272210DEST_PATH_IMAGE042
,将
Figure 812913DEST_PATH_IMAGE044
作为证书发送给用户并执行以下操作:群管理员生成一个保存用户公钥和身份一一对应关系的备份(Backup)以便在出现争议时对追究用户,计算
Figure 190805DEST_PATH_IMAGE046
将其作为用户
Figure 588288DEST_PATH_IMAGE038
的群关系凭证,下标
Figure 51630DEST_PATH_IMAGE047
,i整体表示第i个用户。
5)群管理员检查
Figure 396024DEST_PATH_IMAGE048
是否存在于备份中,若不存在则将其作为新记录加入其中。
如图5所示,交易用户向区块链全网通过广播需要进行隐私保护的需求(图5中的步骤
Figure 894001DEST_PATH_IMAGE049
)而自动生成交易群(图5中的步骤
Figure 400069DEST_PATH_IMAGE050
),生成交易群后继续进行后面的步骤,即:
步骤S140,交易群中的用户向选中的混合节点发送交易混合请求,如果接受交易用户的请求则对其请求进行签名并将签名的消息返回给交易用户,以此作为凭证。交易用户收到来自混合节点的该凭证后,将经过同态加密的转账金额、剩余金额、利用接收方公钥加密后的转账金额形成交易信息,并对交易输入地址(输入地址列表
Figure 616287DEST_PATH_IMAGE051
)和交易输出地址(输出地址列表
Figure 574491DEST_PATH_IMAGE052
)形成的地址信息进行签名发送给混合节点。
用户收到来自混合节点的同意混合的消息后,选择随机数
Figure 926975DEST_PATH_IMAGE053
,计算
Figure 603944DEST_PATH_IMAGE054
(6)
Figure 41879DEST_PATH_IMAGE055
(7)
Figure 728075DEST_PATH_IMAGE056
(8)
其中,
Figure 997382DEST_PATH_IMAGE057
Figure 110832DEST_PATH_IMAGE058
表示群签名的签名值;
Figure 36062DEST_PATH_IMAGE059
表示对地址信息计算的哈希值;
Figure 260370DEST_PATH_IMAGE060
Figure 587446DEST_PATH_IMAGE061
分别表示交易输入地址和交易输出地址。
最后将包含交易输入地址
Figure 419267DEST_PATH_IMAGE062
和交易输出地址
Figure 566215DEST_PATH_IMAGE061
的群签名
Figure 594214DEST_PATH_IMAGE063
发送给混合节点。对于用户发送的群签名
Figure 775796DEST_PATH_IMAGE064
,混合节点根据用户公钥
Figure 231048DEST_PATH_IMAGE065
和群管理员的公钥
Figure 130871DEST_PATH_IMAGE066
,首先计算:
Figure 24878DEST_PATH_IMAGE067
(9)
Figure 60967DEST_PATH_IMAGE068
(10)
然后验证等式
Figure 687121DEST_PATH_IMAGE069
(11)
其中,函数形式
Figure 808660DEST_PATH_IMAGE070
表示双线性映射
Figure 178462DEST_PATH_IMAGE071
如果等式成立则混合节点接受该签名,否则拒绝该签名。如果验证成功,则下一步检查交易单内交易地址是否存在,交易信息中转账金额与剩余金额两项是否都不小于0,且其同态加法和与公共账本余额是否一致。
验证加法同态性:
对于转账金额和账户余额,对其进行加密运算得到密文
Figure 147686DEST_PATH_IMAGE072
Figure 944741DEST_PATH_IMAGE073
,要证明如下公式:
Figure 553577DEST_PATH_IMAGE074
(12)
其中,decryption()表示解密算法。
此外,根据以上右边
Figure 461490DEST_PATH_IMAGE075
加密可以得到
Figure 472171DEST_PATH_IMAGE076
,从而验证了该算法的加法同态属性,其中
Figure 502444DEST_PATH_IMAGE077
为随机整数。上式结合公式(5)可得到:
Figure 598576DEST_PATH_IMAGE078
(13)
如果以上所有信息无误,则混合节点将交易整理成交易单
Figure 310180DEST_PATH_IMAGE079
发送给每个用户。
步骤S150,交易验证步骤。
如图4和图5所示,交易用户收到交易单后检查交易单内交易地址和交易的金额是否正确,若无误,交易用户将交易单发送给混合节点并附上其对交易的签名
Figure 440947DEST_PATH_IMAGE080
,混合节点在收到所有有效签名后将所有签名聚合为一个签名,将交易单组合形成最终的一个交易单
Figure 579804DEST_PATH_IMAGE081
,将其广播到全网。算法执行的具体过程如下:
用户计算:
Figure 897653DEST_PATH_IMAGE082
(14)
Figure 225997DEST_PATH_IMAGE083
(15)
其中,
Figure 211271DEST_PATH_IMAGE085
表示对交易单信息计算的哈希值;
Figure 521030DEST_PATH_IMAGE086
Figure 326175DEST_PATH_IMAGE087
表示签名值。
交易用户将签名
Figure 379581DEST_PATH_IMAGE088
发送给混合节点。混合节点验证签名的有效性,如果通过验证,混合节点将收到的签名
Figure 16099DEST_PATH_IMAGE089
聚合为一个混合签名:
Figure 496759DEST_PATH_IMAGE090
(16)
并将多个交易单混合形成最终的一个混合交易单
Figure 54779DEST_PATH_IMAGE091
进一步,如图5所示,进行验证节点验证步骤。区块链网络中的验证节点首先对聚合签名进行验证,验证通过则对交易单中的交易信息进行验证,检验转账金额与剩余金额两项是否都不小于0,且其同态加法和与公共账本余额是否一致。验证成功,则验证节点对公共账本上的用户真实余额进行修改。
验证节点对于聚合了n个交易签名的聚合签名进行验证,如果正确则接受该签名,否则拒绝。对于聚合n个交易签名的聚合签名
Figure 646297DEST_PATH_IMAGE092
,给定交易列表
Figure 606163DEST_PATH_IMAGE093
,用户公钥列表
Figure 333423DEST_PATH_IMAGE094
,群管理员的公钥
Figure 113160DEST_PATH_IMAGE095
,验证节点计算:
Figure 508370DEST_PATH_IMAGE096
(17)
Figure 322742DEST_PATH_IMAGE097
(18)
验证以下等式是否成立。如果等式成立则接受该签名,否则拒绝该签名。
Figure 145204DEST_PATH_IMAGE098
(19)
如图6所示,对于接收方,其操作如下:
接收方上线接收交易信息,或者,由可信第三方机构利用全网同态私钥解密更新后的账本信息,当接收方向可信第三方机构申请查账时,在验证接收方信息后,可将余额信息通知给接收方。
若通过第三方机构查询时,对于密文c,对c进行解密,生成明文m,如下公式:
Figure 412238DEST_PATH_IMAGE099
(20)
其中,L函数如下所示:
Figure 673455DEST_PATH_IMAGE100
(21)
本发明实施例的区块链隐私数据保护方法利用同态加密技术保证区块链上的交易数据信息的保密性,避免泄露交易中的隐私信息,同时选取混合节点,结合群签名和聚合签名混淆交易与用户之间的关联性,保护用户的身份隐私,实现交易隐私和身份隐私的不可链接性、匿名性以及抗DoS攻击,能够有效地保证交易信息和身份信息的高安全性,为区块链数据信息隐私保护的应用保驾护航。
相应地,本发明还提供了一种基于同态加密算法的区块链隐私数据保护装置,该装置可以分别以交易节点和混合节点的形式作为本发明的一部分来实现本发明的技术方案。
相应地,本发明还提供了一种基于同态加密算法的区块链隐私数据保护系统,如图7所示,该系统包括:第三方可信任机构、交易用户、混合节点和接收方;其中,
第三方可信任机构用于利用同态加密算法生成全网同态密钥(包括同态公钥和同态私钥),并向全网广播同态公钥(参见图7中的步骤1和2);
交易用户用于在区块链全网广播隐私数据保护请求,并基于在全网广播的隐私数据保护请求形成混合交易群,该混合交易群中的一个交易用户被确定为群管理员(参见图7中的步骤4)。群管理员用于基于特定加密算法生成群公钥和群私钥,并验证混合交易群内的交易用户;混合交易群内的各交易用户将自己的账户金额分为转账金额和剩余金额,将转账金额和剩余金额基于同态公钥分别加密而生成第一加密转账金额和加密剩余金额,并将转账金额用接收方广播的公钥进行加密生成第二加密转账金额(参见图7中的步骤3,其可以在步骤4之前或之后);随后,混合交易群内的各交易用户向混合节点发送交易混合请求(参见图7中的步骤5)。
混合节点向交易用户返回带签名的凭证(参见图7中的步骤6),交易用户向混合节点发送利用自己的公钥签名的交易信息(参见图7中的步骤7)。混合节点接收到经群签名的交易信息后验证签名并检查账单(参见图7中的步骤8),即首先检验该群签名,如果验证成功,则下一步检查交易信息内交易地址是否存在,交易信息中转账金额与剩余金额两项是否都不小于0,且转账金额与剩余金额的同态加法和与公共账本余额是否一致。如果以上所有信息无误,则混合节点将交易整理成交易单发送给每个用户(参见图7中的步骤9)。
交易用户接收混合节点返回的交易单,并对交易单中的交易信息验证后向混合节点返回交易签名(参见图7中的步骤10)。
混合节点将混合交易群内所有交易用户的交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单(参见图7中的步骤11)。
对于接收方,如图7中的步骤12或13所示,其接收方上线接收交易信息,或者,由可信第三方机构利用全网同态私钥解密更新后的账本信息。
与前述方法相应地,本发明还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述的方法。
本发明提供的区块链隐私数据保护方法、装置、系统和存储介质,采用同态加密技术加密用户账户余额、转账金额以及剩余金额的数值,相比传统的在区块链上交易信息公开的方式,该本发明的方法保证了区块链上信息的不可伪造和篡改性,同时保证验证节点在不知道具体交易金额数值的情况下,仍然能够验证交易的正确性。同时,通过选取混合节点,并结合群签名和聚合签名混淆了交易输入和输出的关联性,从而混淆了交易与用户之间的关联性,从而保护了用户的身份隐私,实现了交易隐私和身份隐私的不可链接性、匿名性以及抗DoS攻击,可有效增强区块链的隐私保护能力。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种区块链隐私数据保护方法,其特征在于,该方法包括以下步骤:
由交易用户将自己的账户金额分为转账金额和剩余金额,将转账金额和剩余金额基于可信第三方机构利用同态加密算法生成并广播的全网同态公钥分别加密而生成第一加密转账金额和加密剩余金额,并将转账金额用接收方的公钥进行加密生成第二加密转账金额;
由交易用户在区块链网络全网广播隐私数据保护请求,并基于各交易用户广播的隐私数据保护请求形成混合交易群,所述混合交易群中包括在全网广播隐私数据保护请求的多个交易用户;
确定混合交易群的群管理员,以由所述群管理员基于特定加密算法生成群公钥和群私钥,并验证混合交易群内的交易用户;
交易用户向确定的混合节点发送交易混合请求,在接收到混合节点的带签名的凭证后向所述混合节点发送交易信息及利用自己公钥签名的地址信息,所述交易信息包含所述第一加密转账金额、所述加密剩余金额以及所述第二加密转账金额,所述地址信息包括交易的输入地址和输出地址;
交易用户接收混合节点返回的交易单,并对交易单中的交易信息验证后向混合节点返回交易签名,以使得混合节点将混合交易群内所有交易用户的交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
由接收方接收混合交易单中的交易信息,以基于交易信息更新自己的账户余额。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
由交易用户检验混合交易单中的相应交易信息和地址信息,并在检验成功后进行签名,以使得群管理员基于交易用户签名的结果确定交易用户的合法性;
在群管理员确定交易用户不合法的情况下,从混合交易群除去不合法交易用户。
4.根据权利要求1所述的方法,其特征在于,
所述同态加密算法为Paillier同态加密算法;
所述特定加密算法为椭圆曲线加密算法。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括以下步骤:
由区块链网络中的验证节点对混合交易单中的交易签名进行验证,并在验证成功后修改交易用户的账户真实余额。
6.根据权利要求5所述的方法,其特征在于,
所述混合交易群中包括在设定长度的时间段内在全网广播隐私数据保护请求的多个交易用户;
所述确定混合交易群的群管理员的步骤包括:由所述时间段内发出隐私数据保护请求的第一个交易用户作为群管理员,或者基于共识算法从混合交易群内的交易用户中选举出群管理员;
所述混合节点通过以下方式确定:由混合交易群中所有节点对全网节点进行随机选取,获得票数最多的节点为被选中作为混合节点。
7.一种区块链隐私数据保护方法,其特征在于,该方法包括以下步骤:
接收混合交易群内各交易用户发送的交易混合请求,并向各交易用户返回带混合节点签名的凭证;
接收来自混合交易群内各交易用户的交易信息及利用各交易用户公钥签名的地址信息,所述交易信息包含第一加密转账金额、加密剩余金额以及第二加密转账金额,所述地址信息包括交易的输入地址和输出地址,其中,所述第一加密转账金额和所述加密剩余金额分别为各交易用户将其转账金额和剩余金额基于可信第三方机构利用同态加密算法生成并广播的全网同态公钥加密而生成加密转账金额和加密剩余金额,所述第二加密转账金额为将各交易用户的转账金额用接收方广播的公钥进行加密生成的加密转账金额;
对接收的交易信息和地址信息中对签名进行验证并检查交易内容,在验证成功并检查无误后向交易用户返回交易单;
接收各交易用户对交易单中的交易信息验证后向混合节点返回的交易签名,并将混合交易群内所有交易用户的交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单,以便由验证节点分别对混合交易单中对混合签名和交易信息进行验证,以在验证成功后修改交易用户的账户真实余额。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
由交易用户检验混合交易单中的相应交易信息,并在检验成功后进行签名,以使得群管理员基于交易用户签名的结果确定用户的合法性。
9.一种区块链隐私数据保护系统,其特征在于,该系统包括:第三方可信任机构、交易用户和混合节点;
其中,所述第三方可信任机构用于利用同态加密算法生成全网同态密钥,所述全网同态密钥包括同态私钥和同态公钥;
所述交易用户用于在区块链的全网广播隐私数据保护请求,并基于在全网广播的隐私数据保护请求形成混合交易群,所述混合交易群中包括在全网广播隐私数据保护请求的多个交易用户,所述多个交易用户中的一个交易用户被确定为群管理员;
所述群管理员用于基于特定加密算法生成群公钥和群私钥,并验证混合交易群内的交易用户;
所述混合交易群内的各交易用户将自己的账户金额分为转账金额和剩余金额,将转账金额和剩余金额基于同态公钥分别加密生成第一加密转账金额和加密剩余金额,并将转账金额用接收方广播的公钥进行加密生成第二加密转账金额;
所述混合交易群内的各交易用户向所述混合节点发送交易混合请求,混合节点向交易用户返回带所述混合节点签名的凭证,交易用户向所述混合节点发送交易信息及利用自己公钥签名的地址信息,所述交易信息包含所述第一加密转账金额、所述加密剩余金额以及所述第二加密转账金额,地址信息包括交易的输入地址和输出地址;
交易用户接收混合节点返回的交易单,并对交易单中的交易信息验证后向混合节点返回交易签名,以使得混合节点将混合交易群内所有交易用户的交易签名聚合为聚合签名,生成具有聚合签名的混合交易单并在全网广播生成的混合交易单。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任意一项所述的方法。
CN202010854334.0A 2020-08-24 2020-08-24 区块链隐私数据保护方法、装置及系统 Active CN111814191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010854334.0A CN111814191B (zh) 2020-08-24 2020-08-24 区块链隐私数据保护方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010854334.0A CN111814191B (zh) 2020-08-24 2020-08-24 区块链隐私数据保护方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111814191A true CN111814191A (zh) 2020-10-23
CN111814191B CN111814191B (zh) 2020-12-25

Family

ID=72860306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010854334.0A Active CN111814191B (zh) 2020-08-24 2020-08-24 区块链隐私数据保护方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111814191B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446052A (zh) * 2021-01-29 2021-03-05 东方微电科技(武汉)有限公司 一种适用于涉密信息系统的聚合签名方法及系统
CN112733179A (zh) * 2021-04-01 2021-04-30 武汉大学 一种轻量级非交互隐私保护数据聚合方法
CN112862616A (zh) * 2021-04-23 2021-05-28 北京中科金财科技股份有限公司 支持区块链的安全多方计算方法、设备及存储介质
CN113127917A (zh) * 2021-06-17 2021-07-16 四川新龟科技有限公司 供应链金融体系下区块链数据的隐私保护方法
CN113159766A (zh) * 2021-04-13 2021-07-23 浙江数链科技有限公司 数据保护方法、装置、系统、电子装置和存储介质
CN113536358A (zh) * 2021-08-02 2021-10-22 浙江数秦科技有限公司 一种基于区块链的隐私数据安全存储方法
CN113935407A (zh) * 2021-09-29 2022-01-14 光大科技有限公司 一种异常行为识别模型确定方法及装置
CN114338027A (zh) * 2021-12-29 2022-04-12 浙江吉利控股集团有限公司 区块链的隐私处理方法、请求终端及存储介质
CN115396115A (zh) * 2022-08-22 2022-11-25 国网浙江省电力有限公司物资分公司 区块链数据隐私保护方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036480A1 (en) * 1998-02-19 2006-02-16 Goldschlag David M System and method for electronic transactions
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN110061829A (zh) * 2019-04-26 2019-07-26 上海点融信息科技有限责任公司 基于区块链网络的安全多方计算方法、装置及存储介质
CN110691066A (zh) * 2018-07-06 2020-01-14 埃森哲环球解决方案有限公司 用于匿名交易管理的分布式分类账系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036480A1 (en) * 1998-02-19 2006-02-16 Goldschlag David M System and method for electronic transactions
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN110691066A (zh) * 2018-07-06 2020-01-14 埃森哲环球解决方案有限公司 用于匿名交易管理的分布式分类账系统
CN110061829A (zh) * 2019-04-26 2019-07-26 上海点融信息科技有限责任公司 基于区块链网络的安全多方计算方法、装置及存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446052A (zh) * 2021-01-29 2021-03-05 东方微电科技(武汉)有限公司 一种适用于涉密信息系统的聚合签名方法及系统
CN112446052B (zh) * 2021-01-29 2021-06-04 东方微电科技(武汉)有限公司 一种适用于涉密信息系统的聚合签名方法及系统
CN112733179B (zh) * 2021-04-01 2021-06-25 武汉大学 一种轻量级非交互隐私保护数据聚合方法
CN112733179A (zh) * 2021-04-01 2021-04-30 武汉大学 一种轻量级非交互隐私保护数据聚合方法
CN113159766A (zh) * 2021-04-13 2021-07-23 浙江数链科技有限公司 数据保护方法、装置、系统、电子装置和存储介质
CN112862616A (zh) * 2021-04-23 2021-05-28 北京中科金财科技股份有限公司 支持区块链的安全多方计算方法、设备及存储介质
CN113127917A (zh) * 2021-06-17 2021-07-16 四川新龟科技有限公司 供应链金融体系下区块链数据的隐私保护方法
CN113536358A (zh) * 2021-08-02 2021-10-22 浙江数秦科技有限公司 一种基于区块链的隐私数据安全存储方法
CN113536358B (zh) * 2021-08-02 2023-10-10 浙江数秦科技有限公司 一种基于区块链的隐私数据安全存储方法
CN113935407A (zh) * 2021-09-29 2022-01-14 光大科技有限公司 一种异常行为识别模型确定方法及装置
CN114338027A (zh) * 2021-12-29 2022-04-12 浙江吉利控股集团有限公司 区块链的隐私处理方法、请求终端及存储介质
CN114338027B (zh) * 2021-12-29 2024-05-28 浙江吉利控股集团有限公司 区块链的隐私处理方法、请求终端及存储介质
CN115396115A (zh) * 2022-08-22 2022-11-25 国网浙江省电力有限公司物资分公司 区块链数据隐私保护方法、装置、设备及可读存储介质
CN115396115B (zh) * 2022-08-22 2024-02-09 国网浙江省电力有限公司物资分公司 区块链数据隐私保护方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN111814191B (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN111814191B (zh) 区块链隐私数据保护方法、装置及系统
US10652026B2 (en) Implicitly certified digital signatures
US7590850B2 (en) Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members
US9967239B2 (en) Method and apparatus for verifiable generation of public keys
KR100962399B1 (ko) 익명 공개 키 기반구조 제공 방법 및 이를 이용한 서비스제공 방법
EP3681093B1 (en) Secure implicit certificate chaining
CN108833373B (zh) 面向关系隐私保护社交网络的即时通信与匿名访问方法
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
CN116502266A (zh) 基于同态加密的区块链可监管零知识证明的验证方法
WO2008020991A2 (en) Notarized federated identity management
WO2019174404A1 (zh) 一种群组数字签名、验证方法及其设备和装置
Cho et al. Big data cloud deduplication based on verifiable hash convergent group signcryption
CN114978622A (zh) 一种基于区块链和零知识证明的匿名凭证验证方法及系统
Shang et al. Efficient and privacy-preserving enforcement of attribute-based access control
Persiano et al. A secure and private system for subscription-based remote services
CN114066449A (zh) 多中心协同监管的区块链用户身份匿名和追踪方法及系统
Dewangan et al. Certificateless aggregate message authentication for hierarchical trusted authority based vanet
Chen et al. An efficient electronic cash scheme with multiple banks using group signature
Zaw et al. User authentication in SSL handshake protocol with zero-knowledge proof
Kwon et al. Privacy protection in PKIs: A separation-of-authority approach
Arun Kumar et al. Noble authentication protocol with privacy preservation policy for public auditing on shared data
Ng et al. ECDSA-compatible Delegable Undeniable Signature.
US20230143356A1 (en) Method and system for performing cryptocurrency asset transaction
Elfadul et al. SCCT-DARS: Secure and Compliant Cryptocurrency Transactions in a Decentralized Anonymous Regulated System
Chen et al. Public key authentication schemes for local area networks

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