CN110851870B - 基于可信执行环境的区块链隐私保护方法、系统及介质 - Google Patents
基于可信执行环境的区块链隐私保护方法、系统及介质 Download PDFInfo
- Publication number
- CN110851870B CN110851870B CN201911114704.0A CN201911114704A CN110851870B CN 110851870 B CN110851870 B CN 110851870B CN 201911114704 A CN201911114704 A CN 201911114704A CN 110851870 B CN110851870 B CN 110851870B
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- execution environment
- trusted execution
- message
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于可信执行环境的区块链隐私保护方法、系统及介质,本发明利用可信执行环境(TEE)来实现区块链中用户账户的隐私保护,真正的交易内容只有交易的相关方NodeA和NodeB可知,实现了合法交易生成机制、手续费自动扣除机制以及可信转账收款机制,合法交易生成机制体现在步骤2)和3),手续费自动扣除机制也体现在步骤2)和3),可信转账收款机制体现在步骤11)和12)。本发明提出了基于TEE的区块链分布式账本管理机制、合法交易生成机制以及手续费自动扣除机制,利用可信执行环境(TEE)来实现区块链中用户账户的隐私保护,具有隐私保护效果好、交易安全可靠的优点。
Description
技术领域
本发明涉及区块链隐私保护技术,具体涉及一种基于可信执行环境的区块链隐私保护方法、系统及介质。
背景技术
如今区块链的应用十分广泛,比较常见的有信息存证和数字货币。对于信息存证来说,非对称加密可以很好的解决隐私问题,然而对于数字货币来说,隐私问题和去中心化是一个悖论:一方面用户的账户余额需要隐私,不希望被其他人看到,另一方面,在无中心的前提下,要想验证一笔交易的合法性,其他用户必须知道每个人的账户余额。因此区块链分布式账本中的隐私保护一直是一个非常棘手的问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于可信执行环境的区块链隐私保护方法、系统及介质,本发明提出了一种基于TEE的区块链分布式账本管理机制,包括合法交易生成机制以及手续费自动扣除机制,利用可信执行环境(TEE)来实现区块链中用户账户的隐私保护,具有隐私保护效果好、交易安全可靠的优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于可信执行环境的区块链隐私保护方法,包括向节点NodeB发起交易的节点NodeA基于可信执行环境发布交易报文T3的步骤,详细实施步骤包括:
1)节点NodeA生成一笔交易T0并发送给安装在本地的可信执行环境TEEA;
2)可信执行环境TEEA对交易T0进行验证,根据本地的可信执行环境TEEA内保存的节点NodeA的账户余额判断交易是否合法,若不合法则直接丢弃并退出;若合法则用节点NodeB中的可信执行环境TEEB的公钥对交易T0进行加密,生成报文T1;
3)可信执行环境TEEA通过自身的私钥对报文T1、本地的交易计数器counterA进行签名生成报文T2,且根据交易T0减少节点NodeA的余额,并根据报文T2所占存储容量的大小扣取相应的手续费,并将本地的交易计数器counterA加1;
4)可信执行环境TEEA将报文T2返回给节点NodeA;
5)节点NodeA对报文T2用自己的私钥签名生成报文T3;
6)将报文T3发布全网。
优选地,步骤5)之后还包括记账节点进行区块共识的步骤7),步骤7)的详细步骤包括:
7.1)在全网中收集搜集交易,打包区块并进行共识;
7.2)在完成共识后生成合法区块,将报文T3成功上链。
优选地,步骤7)之后还包括节点NodeB进行交易信息获取的步骤,详细步骤包括:
8)节点NodeB收到区块并验证其合法性,并遍历其中每一笔交易取出报文T3;
9)节点NodeB用节点NodeA的公钥进行解密得到报文T2;
10)节点NodeB将报文T2发送给本地的可信执行环境TEEB;
11)可信执行环境TEEB用节点NodeA的可信执行环境TEEA的公钥对报文T2进行解密,得到节点NodeA的可信执行环境TEEA的交易计数器counterA和报文T1,其中交易计数器counterA用于判断该交易是否被重复处理,如果交易计数器counterA不合法,则直接丢弃报文T1并退出;如果交易计数器counterA合法则跳转执行下一步;
12)可信执行环境TEEB用自身的私钥对报文T1进行解密,如果解密成功则得到交易T0,解析交易T0,并根据交易T0更新自身账户;如果解密不成功,则说明节点NodeB不是交易T0的接收方,节点NodeB不能获得交易T0的信息;结束并退出。
此外,本发明还提供一种基于可信执行环境的区块链隐私保护系统,包括用于向节点NodeB发起交易的节点NodeA基于可信执行环境发布交易报文T3的程序单元,所述程序单元包括:
交易生成程序单元,位于节点NodeA中,用于生成一笔交易T0并发送给安装在本地的可信执行环境TEEA;
交易验证程序单元,位于可信执行环境TEEA中,用于对交易T0进行验证,根据本地的可信执行环境TEEA内保存的节点NodeA的账户余额判断交易是否合法,若不合法则直接丢弃并退出;若合法则用节点NodeB中的可信执行环境TEEB的公钥对交易T0进行加密,生成报文T1;
交易计数程序单元,位于可信执行环境TEEA中,用于通过自身的私钥对报文T1、本地的交易计数器counterA进行签名生成报文T2,且根据交易T0减少节点NodeA的余额,并根据所占容量的大小扣取相应的手续费,并将本地的交易计数器counterA加1;
交易回传程序单元,位于可信执行环境TEEA中,用于将报文T2返回给节点NodeA;
交易签名程序单元,位于节点NodeA中,用于对报文T2用自己的私钥签名生成报文T3;
交易发布程序单元,位于节点NodeA中,用于将报文T3发布全网。
优选地,本发明还包括用于进行区块共识的程序单元,该程序单元包括:
打包共识程序单元,用于全网中收集搜集交易,打包区块并进行共识;
合法区块生成程序单元,用于在完成共识后生成合法区块,将报文T3成功上链。
优选地,本发明还包括用于进行交易信息获取的程序单元,该程序单元包括:
区块验证程序单元,位于节点NodeB中,用于收到区块并验证其合法性,并遍历其中每一笔交易取出报文T3;
区块解密程序单元,位于节点NodeB中,用于节点NodeB用节点NodeA的公钥进行解密得到报文T2;
解密区块下发程序单元,位于节点NodeB中,用于点NodeB将报文T2发送给本地的可信执行环境TEEB;
交易解析程序单元,位于可信执行环境TEEB中,用于用节点NodeA的可信执行环境TEEA的公钥对报文T2进行解密,得到节点NodeA的可信执行环境TEEA的交易计数器counterA和报文T1,其中交易计数器counterA用于判断该交易是否被重复处理,如果交易计数器counterA不合法,则直接丢弃报文T1并退出;如果交易计数器counterA合法则跳转执行交易处理程序单元;
交易处理程序单元,位于可信执行环境TEEB中,用于用自身的私钥对报文T1进行解密,如果解密成功则得到交易T0,解析交易T0,并根据交易T0更新自身账户;如果解密不成功,则说明节点NodeB不是交易T0的接收方,节点NodeB不能获得交易T0的信息;结束并退出。
此外,本发明还提供一种所述的基于可信执行环境的区块链隐私保护系统,包括计算机设备,所述计算机设备作为区块链中的节点拥有公私钥对Node.public、Node.private以用于对交易进行签名等操作,且其中Node.private仅对节点本身可知,Node.public对所有节点可知,且所述计算机设备作为区块链中的节点安装有可信执行环境TEE,所述可信执行环境TEE具有自身的公私钥对TEE.public、TEE.private以用于对交易进行加密和验证等操作,其中TEE.private对任意节点不可知,TEE.public对所有节点可知,所述计算机设备被编程或配置以执行所述基于可信执行环境的区块链隐私保护方法的步骤。
此外,本发明还提供一种所述的基于可信执行环境的区块链隐私保护系统,包括计算机设备,所述计算机设备作为区块链中的节点拥有公私钥对Node.public、Node.private以用于对交易进行签名等操作,且其中Node.private仅对节点本身可知,Node.public对所有节点可知,且所述计算机设备作为区块链中的节点安装有可信执行环境TEE,所述可信执行环境TEE具有自身的公私钥对TEE.public、TEE.private以用于对交易进行加密和验证等操作,其中TEE.private对任意节点不可知,TEE.public对所有节点可知,所述计算机设备的存储介质上存储有被编程或配置以执行所述基于可信执行环境的区块链隐私保护方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有被编程或配置以执行所述基于可信执行环境的区块链隐私保护方法的计算机程序。
和现有技术相比,本发明具有下述优点:
1、本发明提出了一种基于TEE的区块链分布式账本管理机制,利用可信执行环境(TEE)来实现区块链中用户账户的隐私保护,真正的交易内容只有交易的相关方NodeA和NodeB可知,很好的保护了用户的隐私。
2、本发明包括合法交易生成机制以及手续费自动扣除机制,合法交易生成机制体现在以上步骤中2)和3),每个节点上安装的可信执行环境TEE都保存有节点自身的账户余额,以及账户操作(增加或减少余额)的代码,可信执行环境TEE的内部代码没有任何人能够修改。当TEE收到节点的转账请求信息时,可以通过账户余额信息判断交易支出金额是否足够,只有金额足够才对其进行签名,因此被可信执行环境TEE签名后的交易能够保证其合法性。
3、本发明包括合法交易生成机制以及手续费自动扣除机制,手续费自动扣除机制也体现在以上步骤2)和3),可信执行环境TEE根据交易所占容量的大小进行手续费计算,然后看余额中是否有足够的金额支付手续费,如果足够才会对交易进行签名,签名后自动对账户余额进行相应的手续费扣除。
4、本发明还进一步实现了可信转账收款机制,可信转账收款机制体现在以上步骤中的11)和12),用交易发送者的可信执行环境TEE的公钥对交易进行第一次解密,的到密文交易和发送者交易计数器,同一个计数器值只能被处理一次,避免了同一笔转账交易被对多次接收,同时,该密文交易只能通过交易接收者的可信执行环境的TEE私钥进行解密,同时可信执行环境TEE会对解密出来的转账交易具体金额对账户进行修改。
综上所述,本发明具有隐私保护效果好、交易安全可靠的优点。
附图说明
图1为本发明实施例方法的基本流程示意图。
具体实施方式
如图1所示,本实施例基于可信执行环境的区块链隐私保护方法包括向节点NodeB发起交易的节点NodeA基于可信执行环境发布交易报文T3的步骤(节点Node A和Node B以及各节点上安装的可信执行环境TEE),详细实施步骤包括:
1)节点NodeA生成一笔交易T0并发送给安装在本地的可信执行环境TEEA;交易T0一般包含了交易类型,交易接受者,和交易内容,例如交易T0(转账,NodeB,100)表示,NodeA向NodeB转账100个数字货币。
2)可信执行环境TEEA对交易T0进行验证,根据本地的可信执行环境TEEA内保存的节点NodeA的账户余额判断交易是否合法,若不合法则直接丢弃并退出;若合法则用交易接收方TEE的公钥对其签名,可表示为:T1=Rev.TEE.public(T0)。这里假设节点NodeB为交易接收方,则用节点NodeB中的可信执行环境TEEB的公钥对交易T0进行加密,生成报文T1;
3)可信执行环境TEEA通过自身的私钥对报文T1、本地的交易计数器counterA进行签名生成报文T2,可表示为:T2=Sen.TEE.private(T1+counterA),且根据交易T0减少节点NodeA的余额,并根据报文T2所占的存储容量的大小扣取相应的手续费(比如规定手续费的收取标准为1token/M,也就是说,如果一笔交易的大小为n 兆,则收取n个token的手续费),并将本地的交易计数器counterA加1;完成这一步之后,可信执行环境TEE会根据交易的内容,减少节点NodeA的余额,本案例中余额减少100,同时,根据所占容量的大小,扣取相应的手续费,TEEA的交易计数器加1。
4)可信执行环境TEEA将报文T2返回给节点NodeA;
5)节点NodeA对报文T2用自己的私钥签名生成报文T3,可表示为:T3=NodeA.private (T2);
6)将报文T3发布全网。
如图1所示,步骤5)之后还包括记账节点进行区块共识的步骤7),步骤7)的详细步骤包括:
7.1)在全网中收集搜集交易,打包区块并进行共识;
7.2)在完成共识后生成合法区块,将报文T3成功上链。
如图1所示,步骤7)之后还包括节点NodeB进行交易信息获取的步骤,详细步骤包括:
8)节点NodeB收到区块并验证其合法性,并遍历其中每一笔交易取出报文T3;
9)节点NodeB用节点NodeA的公钥进行解密得到报文T2,可表示为:T2=NodeA.public(T3);
10)点NodeB将报文T2发送给本地的可信执行环境TEEB;
11)可信执行环境TEEB用节点NodeA的可信执行环境TEEA的公钥对报文T2进行解密,得到节点NodeA的可信执行环境TEEA的交易计数器counterA和报文T1,可表示为:(T1+counterA)=Sen.TEE.public(T2),其中交易计数器counterA用于判断该交易是否被重复处理,如果交易计数器counterA不合法,则直接丢弃报文T1并退出;如果交易计数器counterA合法则跳转执行下一步;
12)可信执行环境TEEB用自身的私钥对报文T1进行解密,如果解密成功则得到交易T0,解析交易T0,可表示为:T0=B.TEE.private(T1),并根据交易T0更新自身账户;如果解密不成功,则说明节点NodeB不是交易T0的接收方,节点NodeB不能获得交易T0的信息;结束并退出。本实施例中解析交易发现该交易的是NodeA向NodeB转账100,于是可信执行环境TEEB将自身账户增加100。
需要说明的是,本实施例中假定可信执行环境TEE足够可信,可信执行环境TEE内部的执行代码不可更改,加密算法和哈希算法不会被攻破。
此外和前述方法完全对应地,本实施例还提供一种基于可信执行环境的区块链隐私保护系统,包括用于向节点NodeB发起交易的节点NodeA基于可信执行环境发布交易报文T3的程序单元,所述程序单元包括:
交易生成程序单元,位于节点NodeA中,用于生成一笔交易T0并发送给安装在本地的可信执行环境TEEA;
交易验证程序单元,位于可信执行环境TEEA中,用于对交易T0进行验证,根据本地的可信执行环境TEEA内保存的节点NodeA的账户余额判断交易是否合法,若不合法则直接丢弃并退出;若合法则用节点NodeB中的可信执行环境TEEB的公钥对交易T0进行加密,生成报文T1;
交易计数程序单元,位于可信执行环境TEEA中,用于通过自身的私钥对报文T1、本地的交易计数器counterA进行签名生成报文T2,且根据交易T0减少节点NodeA的余额,并根据所占容量的大小扣取相应的手续费,并将本地的交易计数器counterA加1;
交易回传程序单元,位于可信执行环境TEEA中,用于将报文T2返回给节点NodeA;
交易签名程序单元,位于节点NodeA中,用于对报文T2用自己的私钥签名生成报文T3;
交易发布程序单元,位于节点NodeA中,用于将报文T3发布全网。
本实施例还包括用于进行区块共识的程序单元,该程序单元包括:
打包共识程序单元,用于全网中收集搜集交易,打包区块并进行共识;
合法区块生成程序单元,用于在完成共识后生成合法区块,将报文T3成功上链。
本实施例还包括用于进行交易信息获取的程序单元,该程序单元包括:
区块验证程序单元,位于节点NodeB中,用于收到区块并验证其合法性,并遍历其中每一笔交易取出报文T3;
区块解密程序单元,位于节点NodeB中,用于节点NodeB用节点NodeA的公钥进行解密得到报文T2;
解密区块下发程序单元,位于节点NodeB中,用于点NodeB将报文T2发送给本地的可信执行环境TEEB;
交易解析程序单元,位于可信执行环境TEEB中,用于用节点NodeA的可信执行环境TEEA的公钥对报文T2进行解密,得到节点NodeA的可信执行环境TEEA的交易计数器counterA和报文T1,其中交易计数器counterA用于判断该交易是否被重复处理,如果交易计数器counterA不合法,则直接丢弃报文T1并退出;如果交易计数器counterA合法则跳转执行交易处理程序单元;
交易处理程序单元,位于可信执行环境TEEB中,用于用自身的私钥对报文T1进行解密,如果解密成功则得到交易T0,解析交易T0,并根据交易T0更新自身账户;如果解密不成功,则说明节点NodeB不是交易T0的接收方,节点NodeB不能获得交易T0的信息;结束并退出。
此外,本实施例还提供一种所述的基于可信执行环境的区块链隐私保护系统,包括计算机设备,所述计算机设备作为区块链中的节点拥有公私钥对Node.public、Node.private以用于对交易进行签名等操作,且其中Node.private仅对节点本身可知,Node.public对所有节点可知,且所述计算机设备作为区块链中的节点安装有可信执行环境TEE,所述可信执行环境TEE具有自身的公私钥对TEE.public、TEE.private以用于对交易进行加密和验证等操作,其中TEE.private对任意节点不可知,TEE.public对所有节点可知,所述计算机设备被编程或配置以执行前述基于可信执行环境的区块链隐私保护方法的步骤。
此外,本实施例还提供一种所述的基于可信执行环境的区块链隐私保护系统,包括计算机设备,所述计算机设备作为区块链中的节点拥有公私钥对Node.public、Node.private以用于对交易进行签名等操作,且其中Node.private仅对节点本身可知,Node.public对所有节点可知,且所述计算机设备作为区块链中的节点安装有可信执行环境TEE,所述可信执行环境TEE具有自身的公私钥对TEE.public、TEE.private以用于对交易进行加密和验证等操作,其中TEE.private对任意节点不可知,TEE.public对所有节点可知,所述计算机设备的存储介质上存储有被编程或配置以执行前述基于可信执行环境的区块链隐私保护方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有被编程或配置以执行前述基于可信执行环境的区块链隐私保护方法的计算机程序。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于可信执行环境的区块链隐私保护方法,其特征在于,包括向节点NodeB发起交易的节点NodeA基于可信执行环境发布交易报文T3的步骤,详细实施步骤包括:
1)节点NodeA生成一笔交易T0并发送给安装在本地的可信执行环境TEEA;
2)可信执行环境TEEA对交易T0进行验证,根据本地的可信执行环境TEEA内保存的节点NodeA的账户余额判断交易是否合法,若不合法则直接丢弃并退出;若合法则用节点NodeB中的可信执行环境TEEB的公钥对交易T0进行加密,生成报文T1;
3)可信执行环境TEEA通过自身的私钥对报文T1、本地的交易计数器counterA进行签名生成报文T2,且根据交易T0减少节点NodeA的余额,并根据报文T2所占存储容量的大小扣取相应的手续费,并将本地的交易计数器counterA加1;
4)可信执行环境TEEA将报文T2返回给节点NodeA;
5)节点NodeA对报文T2用自己的私钥签名生成报文T3;
6)将报文T3发布全网;
步骤5)之后还包括记账节点进行区块共识的步骤7),步骤7)的详细步骤包括:
7.1)在全网中搜集交易,打包区块并进行共识;
7.2)在完成共识后生成合法区块,将报文T3上链;
步骤7)之后还包括节点NodeB进行交易信息获取的步骤,详细步骤包括:
8)节点NodeB收到区块并验证其合法性,并遍历其中每一笔交易取出报文T3;
9)节点NodeB用节点NodeA的公钥进行解密得到报文T2;
10)节点NodeB将报文T2发送给本地的可信执行环境TEEB;
11)可信执行环境TEEB用节点NodeA的可信执行环境TEEA的公钥对报文T2进行解密,得到节点NodeA的可信执行环境TEEA的交易计数器counterA和报文T1,其中交易计数器counterA用于判断该交易是否被重复处理,如果交易计数器counterA不合法,则直接丢弃报文T1并退出;如果交易计数器counterA合法则跳转执行下一步;
12)可信执行环境TEEB用自身的私钥对报文T1进行解密,如果解密成功则得到交易T0,解析交易T0,并根据交易T0更新自身账户;如果解密不成功,则说明节点NodeB不是交易T0的接收方,节点NodeB不能获得交易T0的信息;结束并退出。
2.一种基于可信执行环境的区块链隐私保护系统,其特征在于,包括用于向节点NodeB发起交易的节点NodeA基于可信执行环境发布交易报文T3的程序单元,所述程序单元包括:
交易生成程序单元,位于节点NodeA中,用于生成一笔交易T0并发送给安装在本地的可信执行环境TEEA;
交易验证程序单元,位于可信执行环境TEEA中,用于对交易T0进行验证,根据本地的可信执行环境TEEA内保存的节点NodeA的账户余额判断交易是否合法,若不合法则直接丢弃并退出;若合法则用节点NodeB中的可信执行环境TEEB的公钥对交易T0进行加密,生成报文T1;
交易计数程序单元,位于可信执行环境TEEA中,用于通过可信执行环境TEEA的私钥对报文T1、本地的交易计数器counterA进行签名生成报文T2,且根据交易T0减少节点NodeA的余额,并根据报文T2所占存储容量的大小扣取相应的手续费,并将本地的交易计数器counterA加1;
交易回传程序单元,位于可信执行环境TEEA中,用于将报文T2返回给节点NodeA;
交易签名程序单元,位于节点NodeA中,用于对报文T2用节点NodeA的私钥签名生成报文T3;
交易发布程序单元,位于节点NodeA中,用于将报文T3发布全网;
还包括用于进行区块共识的程序单元,该程序单元包括:
打包共识程序单元,用于全网中搜集交易,打包区块并进行共识;
合法区块生成程序单元,用于在完成共识后生成合法区块,将报文T3上链;
还包括用于进行交易信息获取的程序单元,该程序单元包括:
区块验证程序单元,位于节点NodeB中,用于收到区块并验证其合法性,并遍历其中每一笔交易取出报文T3;
区块解密程序单元,位于节点NodeB中,用于节点NodeB用节点NodeA的公钥进行解密得到报文T2;
解密区块下发程序单元,位于节点NodeB中,用于节点NodeB将报文T2发送给本地的可信执行环境TEEB;
交易解析程序单元,位于可信执行环境TEEB中,用于用节点NodeA的可信执行环境TEEA的公钥对报文T2进行解密,得到节点NodeA的可信执行环境TEEA的交易计数器counterA和报文T1,其中交易计数器counterA用于判断该交易是否被重复处理,如果交易计数器counterA不合法,则直接丢弃报文T1并退出;如果交易计数器counterA合法则跳转执行交易处理程序单元;
交易处理程序单元,位于可信执行环境TEEB中,用于用可信执行环境TEEB的私钥对报文T1进行解密,如果解密成功则得到交易T0,解析交易T0,并根据交易T0更新自身账户;如果解密不成功,则说明节点NodeB不是交易T0的接收方,节点NodeB不能获得交易T0的信息;结束并退出。
3.一种基于可信执行环境的区块链隐私保护系统,包括计算机设备,其特征在于,所述计算机设备作为区块链中的节点拥有公私密钥对Node.public、Node.private以用于对交易进行签名操作,且其中Node.private仅对节点本身可知,Node.public对所有节点可知,且所述计算机设备作为区块链中的节点安装有可信执行环境TEE,所述可信执行环境TEE具有自身的公私密钥对TEE.public、TEE.private以用于对交易进行加密和验证操作,其中TEE.private对任意节点不可知,TEE.public对所有节点可知,所述计算机设备被编程或配置以执行权利要求1所述基于可信执行环境的区块链隐私保护方法的步骤。
4.一种基于可信执行环境的区块链隐私保护系统,包括计算机设备,其特征在于,所述计算机设备作为区块链中的节点拥有公私密钥对Node.public、Node.private以用于对交易进行签名操作,且其中Node.private仅对节点本身可知,Node.public对所有节点可知,且所述计算机设备作为区块链中的节点安装有可信执行环境TEE,所述可信执行环境TEE具有自身的公私密钥对TEE.public、TEE.private以用于对交易进行加密和验证操作,其中TEE.private对任意节点不可知,TEE.public对所有节点可知,所述计算机设备的存储介质上存储有被编程或配置以执行权利要求1所述基于可信执行环境的区块链隐私保护方法的计算机程序。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有被编程或配置以执行权利要求1所述基于可信执行环境的区块链隐私保护方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114704.0A CN110851870B (zh) | 2019-11-14 | 2019-11-14 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114704.0A CN110851870B (zh) | 2019-11-14 | 2019-11-14 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851870A CN110851870A (zh) | 2020-02-28 |
CN110851870B true CN110851870B (zh) | 2021-10-01 |
Family
ID=69600895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911114704.0A Active CN110851870B (zh) | 2019-11-14 | 2019-11-14 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851870B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047450A (zh) * | 2020-03-18 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 链上数据的链下隐私计算方法及装置 |
CN111431707B (zh) * | 2020-03-19 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 业务数据信息处理方法、装置、设备以及可读存储介质 |
CN111400723A (zh) * | 2020-04-01 | 2020-07-10 | 中国人民解放军国防科技大学 | 基于tee扩展的操作系统内核强制访问控制方法及系统 |
CN111476573B (zh) * | 2020-04-13 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 一种账户数据处理方法、装置、设备及存储介质 |
CN111339536B (zh) * | 2020-05-15 | 2020-11-24 | 支付宝(杭州)信息技术有限公司 | 一种基于安全执行环境的数据验证方法及装置 |
CN111737256A (zh) * | 2020-06-12 | 2020-10-02 | 北京众享比特科技有限公司 | 一种基于可信执行环境和区块链的数据库表操作方法和系统 |
CN112507369B (zh) * | 2021-01-29 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 基于区块链的业务处理方法、装置、可读介质及电子设备 |
CN112446050B (zh) * | 2021-02-01 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 应用于区块链系统的业务数据处理方法及装置 |
CN113159769B (zh) * | 2021-04-21 | 2022-07-19 | 中国人民解放军国防科技大学 | 一种基于区块链的数据流通智能合约实现方法及系统 |
CN116170440B (zh) * | 2023-04-26 | 2023-08-15 | 南方科技大学 | 一种基于可信执行环境的隐私交易保护方法及区块链系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN109559223A (zh) * | 2018-10-10 | 2019-04-02 | 远光软件股份有限公司 | 一种基于区块链技术的交易方法、装置及区块链网络 |
WO2019075234A1 (en) * | 2017-10-12 | 2019-04-18 | Rivetz Corp. | CERTIFICATE COMPRISING INTEGRATED ENCRYPTION KEYS |
CN110008715A (zh) * | 2019-01-31 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法及节点、存储介质 |
CN110300973A (zh) * | 2017-02-07 | 2019-10-01 | 微软技术许可有限责任公司 | 联盟区块链网络的建立 |
EP3564884A1 (en) * | 2018-03-28 | 2019-11-06 | NEC Laboratories Europe GmbH | Method and system for verifying policy compliance of transactions in a blockchain executing smart contracts |
-
2019
- 2019-11-14 CN CN201911114704.0A patent/CN110851870B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN110300973A (zh) * | 2017-02-07 | 2019-10-01 | 微软技术许可有限责任公司 | 联盟区块链网络的建立 |
WO2019075234A1 (en) * | 2017-10-12 | 2019-04-18 | Rivetz Corp. | CERTIFICATE COMPRISING INTEGRATED ENCRYPTION KEYS |
EP3564884A1 (en) * | 2018-03-28 | 2019-11-06 | NEC Laboratories Europe GmbH | Method and system for verifying policy compliance of transactions in a blockchain executing smart contracts |
CN109559223A (zh) * | 2018-10-10 | 2019-04-02 | 远光软件股份有限公司 | 一种基于区块链技术的交易方法、装置及区块链网络 |
CN110008715A (zh) * | 2019-01-31 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法及节点、存储介质 |
Non-Patent Citations (2)
Title |
---|
A Privacy-Protecting Data-Exchange Wallet with Ownership- and Monetization Capabilities;Alex Norta;《2018 International joint Conference on Neural Networks(IJCNN)》;IEEE;20181015;第1-8页 * |
基于区块链的智能合约研究与实现;杨茜;《中国优秀硕士论文全文数据库信息科技楫》;中国学术期刊(光盘版)电子杂志社;20181031;I138-447 * |
Also Published As
Publication number | Publication date |
---|---|
CN110851870A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851870B (zh) | 基于可信执行环境的区块链隐私保护方法、系统及介质 | |
RU2710897C2 (ru) | Способы безопасного генерирования криптограмм | |
CN108604344B (zh) | 用于使用数字签名创建可信数字资产转移的方法和系统 | |
JP3570114B2 (ja) | データ検証方法およびデータ検証システム | |
CN111815322B (zh) | 一种基于以太坊的具备可选隐私服务的分布式支付方法 | |
US6553351B1 (en) | System with and method of cryptographically protecting communications | |
CN108510252B (zh) | 一种基于区块链的智能电动汽车电网安全支付方法 | |
CN108898475A (zh) | 基于属性加密的联盟区块链实现信贷方法及系统 | |
CN112288434B (zh) | 隐私交易方法、装置、零知识证明系统和隐私交易架构模型 | |
US6567913B1 (en) | Selective security level certificate meter | |
JP2007049708A (ja) | 公開鍵暗号方式に使用する鍵を更新するシステムおよび方法 | |
KR101976027B1 (ko) | 암호 화폐의 전자 지갑 생성 및 백업 방법 및 이를 이용한 단말 장치와 서버 | |
Tamrakar et al. | Identity verification schemes for public transport ticketing with NFC phones | |
WO2017162164A1 (zh) | 电子签名设备的交易方法 | |
CN109978533A (zh) | 一种抗二维码盗用的离线安全支付系统及方法 | |
US7853991B2 (en) | Data communications system and data communications method | |
CN113052599A (zh) | 交易凭证的生成、验证及存储方法、装置、设备和系统 | |
CN111062717B (zh) | 一种数据转移处理方法、装置和计算机可读存储介质 | |
KR20140127206A (ko) | 전자 메일 배달의 인증을 위한 방법 | |
Dang et al. | Pricing data tampering in automated fare collection with NFC-equipped smartphones | |
KR102159431B1 (ko) | 블록체인 기반의 계약 서비스 제공 방법 및 장치 | |
KR20110124088A (ko) | 클라우드 컴퓨팅 과금 공증장치, 과금 시스템 및 과금방법 | |
Kisore et al. | A secure SMS protocol for implementing digital cash system | |
CN112150281A (zh) | 一种数字货币的交易方法、装置及系统 | |
CN113746645B (zh) | 基于可计费数字证书的公共场景匿名通信计费系统和方法 |
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 |