CN112613057A - 基于可信执行环境的私钥保存方法 - Google Patents
基于可信执行环境的私钥保存方法 Download PDFInfo
- Publication number
- CN112613057A CN112613057A CN202011601473.9A CN202011601473A CN112613057A CN 112613057 A CN112613057 A CN 112613057A CN 202011601473 A CN202011601473 A CN 202011601473A CN 112613057 A CN112613057 A CN 112613057A
- Authority
- CN
- China
- Prior art keywords
- private key
- user
- execution environment
- trusted execution
- key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013475 authorization Methods 0.000 claims abstract description 4
- 238000012795 verification Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 59
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004321 preservation Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/602—Providing cryptographic facilities or services
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or 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/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)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于可信执行环境的私钥保存方法,该方法包括:基于云端服务器的可信执行环境和可信计算函数库的合法性验证通过后,认证服务端获取随机生成用户秘钥匹配元素,在相应授权范围内根据每个用户秘钥生成数据运算任务得到用户组私钥的目标函数,并发送给计算终端;计算终端根据每个用户私钥数据运算任务的目标函数,运用拉格朗日插值多项式计算得到该多项式的插值,经过认证服务端取得恢复组私钥的目标函数,并发送给云端服务器的可信执行环境进行组私钥的使用;在云端服务器的可信执行环境中添加新用户,运用拉格朗日插值多项式计算得到该多项式的组私钥插值的目标函数,并发送给可信执行环境作为新用户私钥签名私钥。
Description
技术领域
本发明涉及安全智能、安全支付技术领域,具体来说,涉及一种基于可信执行环境的私钥保存方法。
背景技术
可信执行环境(TEE)是CPU内的一个安全区域,它运行在一个独立的环境中且与操作系统并行运行,CPU确保TEE中代码和数据的机密性和完整性都得到保护,通过同时使用硬件和软件来保护数据和代码,TEE比操作系统更加安全,在TEE中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作系统中运行的用户安装应用程序的影响,运行在TEE中的代码和数据,是保密且不可篡改。
目前,区块链智能合约设置多签权限,然而,智能合约能够控制的只能是合约账户,而合约账户在使用上往往受限,例如不能直接参与挖矿,BLS门限签名技术能够实现多签功能,其达成的目标为,只要n个群体中的t个人根据各自保存的私钥对待签名的信息给出了签名,则根据这些签名计算出组私钥对该信息的签名,但是,该技术需求独特的加密体系,不能和以太坊的加密体系兼容,并且,该方法和智能合约方法都不能扩展到任意私密信息的场景,另外,一些方案将私钥分拆成若干部分,群体中的每个用户持有其中的一部分或几部分,保证任何t个人能够直接拼接出组私钥。然而该方法的问题是安全级别很低,扩容极受限制,实现满足场景需求的(n,t)多签功能需要将原始私钥分拆成份,其中,
为组合数计算公式,随着n和t的增长每一份的长度指数级降低,意味着容易遭受暴力破解。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于可信执行环境的私钥保存方法,利用可信执行环境与多项式插值技术,能够保证程序在受保护的环境下运行,实现代码无法被篡改,中间变量无法被获取两个基本目标。
为实现上述技术目的,本发明的技术方案是这样实现的:一种基于可信执行环境的私钥保存方法,该方法包括以下步骤:
S1基于云端服务器的可信执行环境和可信计算函数库的合法性验证通过后,认证服务端获取随机生成用户秘钥匹配元素,在相应授权范围内根据每个用户秘钥生成数据运算任务得到用户组私钥的目标函数,并发送给计算终端;
S2计算终端根据每个用户私钥数据运算任务的目标函数,运用拉格朗日插值多项式计算得到该多项式的插值,经过认证服务端取得恢复组私钥的目标函数,并发送给云端服务器的可信执行环境进行组私钥的使用;
S3在云端服务器的可信执行环境中添加新用户,经过认证服务端运用拉格朗日插值多项式计算得到该多项式的组私钥插值的目标函数,并发送给云端服务器的可信执行环境作为新用户私钥签名私钥。
根据本发明的另一方面,所述S1中用户秘钥进一步包含:
S1.1在可信执行环境中,随机生成用户秘钥,并约定随机数为组私钥m,将m作为一个t-1次多项式的常数值,根据每个用户数据运算任务,生成每个用户组私钥目标函数;
S1.2生成目标函数后,在可信执行环境中,立即注销随机生成的用户秘钥的匹配元素。
根据本发明的另一方面,所述S2中组私钥恢复进一步包含:
S2.1获取用户组私钥运算任务的目标函数,根据以下公式1计算出组私钥多项式0点的插值,
其中,m代表组私钥,L(j)代表拉格朗日插值,F(ij)代表每个用户秘钥,t代表签名门限数。
根据本发明的另一方面,所述S2.1中拉格朗日插值计算进一步包含:
S2.1.1在可信执行环境中,根据公式2计算出拉格朗日插值方式,
其中,L(j)代表拉格朗日插值,k约束条件,j代表变量,得到多元函数的极值。
根据本发明的另一方面,所述S3中创建新用户进一步包含:
S3.1在云端服务器的可信执行环境中,创建新用户秘钥编号为i0;
S3.2基于新用户秘钥编号i0,根据公式3计算出新用户组私钥目标函数:
其中,m代表组私钥,L(j)代表拉格朗日插值,F(ij)代表每个用户秘钥,t代表签名门限数。
根据本发明的另一方面,所述S3.2中拉格朗日插值计算进一步包含:
S3.2.1根据拉格朗日算法得到多元函数的极值,生成新用户i0的秘钥函数,具体公式4为:
其中,L(j)代表拉格朗日插值,k约束条件,j代表变量,得到多元函数的极值。
根据本发明的另一方面,所述S3.2.1中生成新用户的秘钥函数进一步包含:
S3.2.1.1生成新用户i0的秘钥后,删除用户或修改签名门限数,重新建立秘钥分发过程,结束加密操作。
本发明的有益效果:鉴于现有技术中存在的不足,本申请具备以下有益效果:
1)私钥意味着区块链账户的所有权,具有重大价值,生活中存在全体用户共同管理一个区块链账户的场景,因此,私钥需要一个良好的保存与管理环境;
2)本设计将可信执行环境TEE结合多项式插值技术,采用多项式插值技术,根据任何t个点可以确定唯一一个t-1次多项式,利用多项式的点作为n个群体用户各自的私钥;
3)通过格拉朗日插值法还原出组私钥,实现了对区块链账户地址私钥的多签管理功能;
4)本申请在CPU电路层加入了对受保护内存访问的权限判断;
5)本申请的应用场景要求不需要将私钥直接或间接保存在一个或多个硬件设备中,同样能够保证程序在受保护的环境下运行,实现代码无法被篡改,中间变量无法被获取这两个基本目标;
6)本设计不局限于对区块链账户私钥的保存与管理,同样适用于其他场景机密数据的保存和管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的基于可信执行环境的私钥保存方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的基于可信执行环境的私钥保存方法,该方法包括以下步骤:
步骤一,秘钥分发:基于云端服务器的可信执行环境和可信计算函数库的合法性验证通过后,认证服务端获取随机生成用户秘钥匹配元素,在相应授权范围内根据每个用户秘钥生成数据运算任务得到用户组私钥的目标函数,并发送给计算终端,进一步包含:
在可信执行环境中,随机生成用户秘钥,并约定随机数为组私钥m,将m作为一个t-1次多项式的常数值,根据每个用户数据运算任务,生成每个用户组私钥目标函数,生成目标函数后,在可信执行环境中,立即注销随机生成的用户秘钥的匹配元素。
在本发明的一个具体实施例中,
步骤二,计算终端根据每个用户私钥数据运算任务的目标函数,运用拉格朗日插值多项式计算得到该多项式的插值,经过认证服务端取得恢复组私钥的目标函数,并发送给云端服务器的可信执行环境进行组私钥的使用,进一步包含:
获取用户组私钥运算任务的目标函数,根据以下公式1计算出组私钥多项式0点的插值,
其中,m代表组私钥,L(j)代表拉格朗日插值,F(ij)代表每个用户秘钥,t代表签名门限数。
然后,在可信执行环境中,根据公式2计算出拉格朗日插值方式,
其中,L(j)代表拉格朗日插值,k约束条件,j代表变量,得到多元函数的极值。
在本发明的一个具体实施例中,
步骤三,在云端服务器的可信执行环境中添加新用户,经过认证服务端运用拉格朗日插值多项式计算得到该多项式的组私钥插值的目标函数,并发送给云端服务器的可信执行环境作为新用户私钥签名私钥,进一步包含:
在云端服务器的可信执行环境中,创建新用户秘钥编号为i0;
基于新用户秘钥编号i0,根据公式3计算出新用户组私钥目标函数:
其中,m代表组私钥,L(j)代表拉格朗日插值,F(ij)代表每个用户秘钥,t代表签名门限数。
然后,根据拉格朗日算法得到多元函数的极值,生成新用户i0的秘钥函数,具体公式4为:
其中,L(j)代表拉格朗日插值,k约束条件,j代表变量,得到多元函数的极值。
最后,生成新用户i0的秘钥后,删除用户或修改签名门限数,重新建立秘钥分发过程,结束加密操作。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
在具体使用时,根据本发明所述的基于可信执行环境的私钥保存方法,具体实施举例说明:
首先,设m为组私钥,n、t分别为用户数和多签名门限数,以下所有运算都在域FP(p)={0,1,…,p-1}下进行,即所有操作对p取模,其中p为一个大质数,假设其中涉及网络传输的安全性和隐私性,以下所有程序都运行在可行执行环境中;
然后,秘钥分发,若每个用户为i,输出用户i的秘钥过程为:在云端服务器的可信执行环境中,随机生成a0,a1,a2,...,at-1,约定a0=m,根据i=1,2,...n,计算F(i)=a0+a1·i+a2·i2+…+at-1·it-1的目标函数,得到输出私钥(i,F(i)),作为用户i的秘钥,再立即销毁a0,a1,a2,...,at-1;上述算法把m作为一个t-1次多项式的常数项的值,而把(i,F(i))作为这个多项式经过的点,任何t个点能确定唯一一个t-1次多项式,根据目标函数(i,F(i))|i=1,2,...n中的t个元素即可恢复出m;
其次,组私钥恢复,输入多元函数(i1,i2,...,it),(F(i1),F(i2),...,F(it)),根据公式1中,给定t-1次多项式经过t个点的多元函数(i1,F(i1)),...,(it,F(it)),通过拉格朗日插值多项式计算出该多项式在0点的值,在可信执行环境中继续进行对组私钥m的使用,给定信息签名后销毁组秘钥m;
最后,添加新用户,根据多元函数(i1,i2,...,it),(F(i1),F(i2),...,F(it)),输出新用户i0的秘钥,给定多项式经过t个点的目标函数(i1,F(i1)),...,(it,F(it)),通过拉格朗日插值多项式计算出该多项式新用户i0点的值,即可得到用户i0的秘钥,生成新用户i0的秘钥后,删除用户或修改签名门限数,重新建立秘钥分发过程,结束加密操作。
综上所述,借助于本发明的上述技术方案,本申请没有将组私钥保存在任意硬件设备上,通过n个用户中任意t个持有的私钥,能够恢复出组私钥,上述过程都在可信执行环境中运行,其中,可信执行环境TEE包括intel的SGX、AMD的SEV等,本设计将可信执行环境TEE结合多项式插值技术,保证程序在受保护的环境下运行,实现代码无法被篡改,中间变量无法被获取这两个基本目标;相比于各用户直接持有组私钥片段的方式,本申请具有更高的安全级别,在人数没有达到门限t的情况下,通过破解多项式插值算法获取组私钥的难度和直接暴力破解原始组私钥的难度相同;本申请多项式插值与可信执行环境想结合的思想,包括但不限于用其对任何隐私数据的进行共同管理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于可信执行环境的私钥保存方法,其特征在于,该方法包括以下步骤:
S1基于云端服务器的可信执行环境和可信计算函数库的合法性验证通过后,认证服务端获取随机生成用户秘钥匹配元素,在相应授权范围内根据每个用户秘钥生成数据运算任务得到用户组私钥的目标函数,并发送给计算终端;
S2计算终端根据每个用户私钥数据运算任务的目标函数,运用拉格朗日插值多项式计算得到该多项式的插值,经过认证服务端取得恢复组私钥的目标函数,并发送给云端服务器的可信执行环境进行组私钥的使用;
S3在云端服务器的可信执行环境中添加新用户,经过认证服务端运用拉格朗日插值多项式计算得到该多项式的组私钥插值的目标函数,并发送给云端服务器的可信执行环境作为新用户私钥签名私钥。
2.根据权利要求1所述的基于可信执行环境的私钥保存方法,其特征在于,所述S1中用户秘钥进一步包含:
S1.1在可信执行环境中,随机生成用户秘钥,并约定随机数为组私钥m,将m作为一个t-1次多项式的常数值,根据每个用户数据运算任务,生成每个用户组私钥目标函数;
S1.2生成目标函数后,在可信执行环境中,立即注销随机生成的用户秘钥的匹配元素。
7.根据权利要求6所述的基于可信执行环境的私钥保存方法,其特征在于,所述S3.2.1中生成新用户的秘钥函数进一步包含:
S3.2.1.1生成新用户i0的秘钥后,删除用户或修改签名门限数,重新建立秘钥分发过程,结束加密操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011601473.9A CN112613057A (zh) | 2020-12-29 | 2020-12-29 | 基于可信执行环境的私钥保存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011601473.9A CN112613057A (zh) | 2020-12-29 | 2020-12-29 | 基于可信执行环境的私钥保存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112613057A true CN112613057A (zh) | 2021-04-06 |
Family
ID=75249051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011601473.9A Pending CN112613057A (zh) | 2020-12-29 | 2020-12-29 | 基于可信执行环境的私钥保存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613057A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463849A (zh) * | 2017-07-21 | 2017-12-12 | 西安电子科技大学 | 基于单服务器的隐私信息恢复方法 |
CN107819571A (zh) * | 2017-09-29 | 2018-03-20 | 广东中科南海岸车联网技术有限公司 | 私钥的生成方法及装置 |
CN110855671A (zh) * | 2019-11-15 | 2020-02-28 | 三星电子(中国)研发中心 | 一种可信计算方法和系统 |
CN111639361A (zh) * | 2020-05-15 | 2020-09-08 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
CN112054898A (zh) * | 2020-08-27 | 2020-12-08 | 中信银行股份有限公司 | 用户私钥的备份与恢复方法、装置及电子设备 |
-
2020
- 2020-12-29 CN CN202011601473.9A patent/CN112613057A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463849A (zh) * | 2017-07-21 | 2017-12-12 | 西安电子科技大学 | 基于单服务器的隐私信息恢复方法 |
CN107819571A (zh) * | 2017-09-29 | 2018-03-20 | 广东中科南海岸车联网技术有限公司 | 私钥的生成方法及装置 |
CN110855671A (zh) * | 2019-11-15 | 2020-02-28 | 三星电子(中国)研发中心 | 一种可信计算方法和系统 |
CN111639361A (zh) * | 2020-05-15 | 2020-09-08 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
CN112054898A (zh) * | 2020-08-27 | 2020-12-08 | 中信银行股份有限公司 | 用户私钥的备份与恢复方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
朱建东;祝智庭;: "一种高安全性的私钥保护方案", 计算机工程与科学, no. 11, 15 November 2010 (2010-11-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220247572A1 (en) | Secure dynamic threshold signature scheme employing trusted hardware | |
CN111639361B (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
KR102467596B1 (ko) | 블록 체인 구현 방법 및 시스템 | |
Ullah et al. | Towards blockchain-based secure storage and trusted data sharing scheme for IoT environment | |
US20220337399A1 (en) | Controlled cryptographic private key release | |
Liu et al. | Public auditing for big data storage in cloud computing--a survey | |
WO2020147489A1 (zh) | 区块链交易的生成方法和装置 | |
CN110580262A (zh) | 基于智能合约的隐私数据查询方法及装置 | |
Cheng et al. | Polynomial-based modifiable blockchain structure for removing fraud transactions | |
US20220374544A1 (en) | Secure aggregation of information using federated learning | |
CN111310214A (zh) | 一种可防密钥滥用的属性基加密方法及系统 | |
CN105721156A (zh) | 用于模幂加密方案的通用编码函数 | |
Kulkarni et al. | Addressing mobile Cloud Computing security issues: A survey | |
CN113393225A (zh) | 数字货币加密支付方法及系统 | |
Han et al. | Access control mechanism for the Internet of Things based on blockchain and inner product encryption | |
Liu et al. | A blockchain-based privacy preservation scheme in multimedia network | |
Lahiri et al. | A trustworthy blockchain based framework for impregnable IoV in edge computing | |
Yang et al. | An efficient blockchain-based bidirectional friends matching scheme in social networks | |
JP2023551458A (ja) | Oprfを介したブロックチェーンネットワークにおける鍵再生 | |
CN112583598A (zh) | 一种复杂物联网联盟链系统通信机制 | |
CN116263834A (zh) | 许可区块链的多发布者匿名证书 | |
CN112613057A (zh) | 基于可信执行环境的私钥保存方法 | |
Li et al. | A noninteractive multireplica provable data possession scheme based on smart contract | |
AbdulKader et al. | A privacy-preserving data transfer in a blockchain-based commercial real estate platform using random address generation mechanism | |
CN110943846B (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 |