轻量级支持隐形地址的分层确定性钱包模型及方法
未命名
07-12
阅读:147
评论:0
1.本发明涉及商业领域,特别是轻量级支持隐形地址的分层确定性钱包模型及方法。
背景技术:
2.自2008年比特币首次被提出,加密货币受到了极大的关注。加密货币通过实施数字签名系统与区块链技术相结合,允许交易可以在没有可信第三方的情况下进行。数字签名作为数字资产管理系统的核心,保证了数字资产的所有权,允许用户持有和消费他们的硬币。具体来说,每个硬币都被分配了一个公钥(称为硬币地址),当用户花费一个硬币时,必须用该公钥生成一个签名,以确保交易的有效性。同时,为了实现交易的匿名性,每个密钥只使用一次,并且必须进行备份,以防止资产的损失。因此,这存在一个固有的密钥管理问题。作为管理硬币的有效机制,"钱包"被广泛使用,因为它不仅保留了加密货币的特点,如存储和更新硬币的能力,而且还保护了用户的隐私。然而,传统钱包无法避免频繁的密钥备份问题。
3.为了避免上述问题,bip32标准中提出了分层确定性钱包(hdw)。在hdw中,由种子生成的主密钥可以扩展所有的子密钥,因此只需要在创建时对种子进行备份。由此可见,hdw有三个内在特征:确定性的生成属性、主公钥属性和层次性属性。具体来说,确定性生成属性是指钱包中的所有钥匙都是由一个种子确定性生成的,其中原始种子足以恢复所有私钥和公钥。主公钥属性是指钱包所有者可以从钱包的主公钥中生成一个派生公钥,该公钥被用作接收硬币的地址,不包含任何秘密,而相应的派生秘钥被用作秘密签名密钥。层次属性是指一个派生密钥可以作为主密钥来生成更多派生密钥。由于这三个特性,hdw提供了极具吸引力的好处,这使得它在比特币社区很受欢迎。同时,加密货币的安全性正受到越来越多的关注。钱包采用"一币一地址"技术来提高加密货币的安全性和保护用户隐私,其中公钥被视为"冷地址",然而,一旦其进入热存储就会有安全风险。对于hdw来说,主公钥被存储在热存储中,钱包所有者仍然可以在没有任何秘密的情况下生成派生公钥,这些派生公钥仍然是冷地址,直到被用于生成子密钥或在热存储中作为硬币使用。因此,hdw可以很容易地从主公钥生成派生公钥,从而实现"一币一冷地址"。
4.尽管使用hdw有很多好处,但如果主密钥被泄露,用户会面临失去资产的风险。隐形地址(sa)是一种在货币转移过程中保护用户隐私的有效方法。具体来说,受款人在不与任何人(包括付款人)交互的情况下获取硬币,在此期间,主公钥从未在加密货币的任何交易或区块链中显示。因此,主公钥对公众来说是"隐形"的。总之,通过sa机制,每个硬币的地址都是新鲜和独特的,"一币一冷地址"是sa的一个固有属性。
5.上述特点促进了hdw和sa的普及,但安全问题依然存在。一方面,hdw的主公钥属性可能导致攻击者在硬币地址和钱包所有者之间建立关联。另一方面,bip32中的原始hdw算法会受到权限升级攻击,这意味着一旦攻击者获得主公钥和相应的派生秘钥,就可以找到主秘钥,从而导致整个钱包的泄露。随后,人们投入了大量的工作来解决这些安全问题,然
而,我们发现现有的hdw方案存在潜在的安全威胁或缺乏基本的功能特征。特别是,yin等人首次建立了支持隐形地址的层次确定性钱包(hdwsa)的具体结构,它可以轻松实现密钥管理和硬币地址派生。然而,他们的方案是基于配对的,不能直接在通用区块链架构中实现,而且它具有高延迟和高计算成本,因此不适合当前资源有限的物联网环境。
6.针对上述问题,本发明的目的是设计一种轻量级安全的支持隐形地址的分层确定性钱包方案,它不仅提供所有标准的钱包功能,而且还保证了用户身份的隐私。本发明基于通用的椭圆曲线密码(ecc)系统,避免了耗时的配对操作,使得其可以直接应用于当前的区块链结构中,更适用于资源有限的物联网中。
7.现有技术一的技术方案
8.当前分层确定性钱包方案主要包括:可以容忍密钥泄漏的hdw方案,该方案采用了m个主公钥来派生子密钥,可以容忍最多m个私钥的泄漏;基于阈值签名的hdw方案,该方案极大的提升数字签名系统的安全性和隐私性;具有前向不可链接性的hdw方案,该方案可以减少由于代理签名密钥暴露所带来的危害。
9.现有技术一的缺点
10.尽管hdw方案可以容忍密钥泄漏,但失去了生成子密钥的灵活性;参与执行阈值签名的hdw方案的参与者之间存在串通,如果参与者的数量超过了阈值,他们可以利用阈值策略协作重建主私钥;具有前向不可链接性的hdw方案只考虑在钱包被破坏前的密钥前向不可链接性,无法抵抗特权升级攻击。
11.现有技术二的技术方案
12.另外还有基于隐形地址的钱包方案,具有可证明的安全结构,通过要求发件人为每笔交易形成一个随机的、一次性的地址,保证了交易的匿名性和不可追踪性。
13.现有技术二的缺点
14.基于隐形地址的钱包方案缺少对钱包的一般属性的考虑,使得区块链难以追踪使用隐形地址的恶意用户,会导致用户数字资产的损失。
技术实现要素:
15.为解决现有技术中存在的问题,本发明提供了轻量级支持隐形地址的分层确定性钱包模型及方法;本发明不仅提供所有标准的钱包功能,而且还保证了用户身份的隐私,使得其可以直接应用于当前的区块链结构中,避免了耗时的配对操作,更适用于资源有限的物联网。
16.具体的技术方案如下:
17.轻量级支持隐形地址的分层确定性钱包模型,包括,根管理者、直系下属和普通用户;
18.根管理者分别连接直系下属和普通用户,直系下属连接下一级直系下属。
19.优选地,轻量级支持隐形地址的分层确定性钱包方法,包括以下步骤:
20.步骤s1:系统初始化;
21.步骤s2:生成钱包密钥;
22.步骤s3:根据密钥派生密钥;
23.步骤s4:根据派生密钥进行签名;
24.步骤s5:对签名进行验证。
25.优选地,步骤s2具体包括以下子步骤:
26.子步骤s21:每个组织的钱包拥有者根据自己的标识符id;
27.子步骤s22:选择两个随机数α
id
,β
id
并计算根钱包密钥对(wpk
id
,wsk
id
),
28.其中,钱包私钥wsk
id
=(wssk
id
,wsvk
id
)包括一个钱包消费私钥wssk
id
和一个钱包查看私钥wsvk
id
;
29.子步骤s23:根据自己的标识符id={id0,...,id
t
},t≥1和它父实体的钱包密钥对(wpk
id|(t-1)
,wsk
id|(t-1)
),为其直系下属生成钱包密钥对wsk
id
=(wssk
id
,wsvk
id
)。
30.优选地,步骤s2包括以下子步骤:
31.子步骤s21:钱包中任意实体根据其标识符id={id0,...,id
t
},t≥0和它的钱包公钥wpk
id
,获得一个派生的验证密钥dvk;
32.子步骤s22:该实体检查该验证密钥是否属于自己,如果dvk是有效的且属于该实体,利用自己的钱包密钥对(wpk
id
,wsk
id
),获得一个派生的签名密钥dsk;否则,获得
⊥
,
⊥
意味着dvk是无效的且不属于(id,wpk
id
)。
33.优选地,步骤s4包括以下子步骤:
34.子步骤s41:当发生货币转移交易时,钱包中的实体使用派生密钥对(dvk,dsk)对交易消息m进行签名;
35.子步骤s42:将交易签名σ和自己的派生验证密钥dvk一起发送给接收者。
36.优选地,所述步骤s5具体操作如下:
37.接收者收到“消息-签名”对(m,σ)和派生验证密钥dvk后,验证该签名σ是否有效,如果σ是一个有效的签名,证明交易确实属于支付者;否则,σ是无效的,交易失败。
38.本发明轻量级支持隐形地址的分层确定性钱包模型及方法的有益效果如下:
39.1.本发明不同于传统钱包的频繁备份,只需要存储一个种子,所有密钥都可以从中派生出来。
40.2.本发明通过隐形地址机制,不仅实现了“一币一地址”,还使得钱包公钥在区块链中是“隐形”的,以保护用户隐私。
41.3.本发明基于椭圆曲线加密系统,可以直接应用在目前的区块链结构中。相比于基于配对的分层确定性钱包方案。
42.4.本发明避免了耗时的配对操作,极大降低了计算和通信成本,更适用于资源有限的物联网中。
附图说明
43.图1为本发明的系统模型。
44.图2为本发明的系统流程图。
具体实施方式
45.下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易
见的,一切利用本发明构思的发明创造均在保护之列。
46.如图1所示,轻量级支持隐形地址的分层确定性钱包模型,,主要包含以下三类实体:钱包所有者(根管理员)、直接下属和普通用户。
47.钱包所有者(根管理者):在本系统模型中,钱包所有者生成并公布系统参数。对于任何组织,它设置一个唯一的标识符id=(id0)并生成该组织的根钱包密钥对(wpk
id
,wsk
id
),同时,它为其直系下属生成钱包密钥对。
48.直系下属:它是根管理员的唯一直接下属,拥有根管理者为其生成的钱包密钥对,这使得它成为次级管理者,可以继续为下一级的直系下属生成钱包密钥对。
49.普通用户:在分层确定性钱包中,普通用户可以持有并花费硬币,但是不能生成任何钱包密钥对。
50.请注意,我们使用分层标识符来标识钱包中的实体,每个实体都有一个唯一的标识符id={id0,id1,...,id
t
},其中t≥0和idi∈{0,1}
*
。
51.对于任意标识符id={id0,id1,...,id
t
},t≥0,我们定义id
|i
={id0,...,idi},i=0,...,t。
52.1)id
|0
是该分层组织的根实体。
53.2)id
|t
是id。
54.3)id
|(t-1)
是id父实体的标识符。
55.4)id
|i
,i=0,...,t-1是id祖先实体的标识符。
56.安全模型
57.恶意用户可能会伪造硬币的合法签名以盗取硬币,或者发现硬币与钱包所有者之间的关联,从而破坏整个钱包。
58.任何概率多项式时间内的敌手都可以串通除目标硬币以外的全部钱包密钥和派生签名密钥。
59.其他安全问题超出了我们方案研究的范围。
60.设计目标
61.在上述系统模型和安全模型下,设计目标是提出一种轻量级安全的支持隐形地址的分层确定性钱包方案。应实现以下五个目标:
62.一、轻量级:基于通用椭圆曲线密码系统,避免耗时的配对操作,可以直接应用到现有的区块链结构中,更适用于资源有限的物联网。
63.二、支持隐形地址:收款人以非交互的形式进行货币交易,在此期间,主公钥从未出现在加密货币的任何交易中或区块链上,因此,主公钥对公众来说是"隐形"的。
64.三、不可伪造性:没有攻击者可以在没有目标硬币的派生签名密钥情况下伪造其合法签名,即使攻击者破坏了组织中所有其他钱包密钥和派生签名密钥。
65.四、钱包的不可链接性:敌手无法在生成目标衍生验证密钥的两个钱包中识别出目标钱包,无论它们是否隶属于同一个组织。
66.五、效率:建议的方案应有效。为了实现可实用的分层确定性钱包方案,应同时考虑安全性和效率性问题,以找到一个权衡解决方案。
67.本发明设计了一种轻量级支持隐形地址的分层确定性钱包方案,主要包括:系统初始化、钱包密钥生成、派生密钥生成、签名和验证。
68.如图2所示,步骤1:系统初始化
69.钱包拥有者选择一个安全参数κ,另选择一个阶为p>2
κ
的循环群g,p是群g的生成器,然后选择六个安全哈希函数h1:s
id
→g*
,h2:h3:h4:h5:h6:其中g
*
=g\{0},群m={0,1}
*
,以及最后,输出系统公共参数pp=(g,p,p,h1~h6),其中m和s
id
分别为消息空间和标识符空间。钱包拥有者公布该系统参数pp,并作为以下所有算法中的隐性参数。
70.步骤2:根钱包密钥生成
71.钱包拥有者利用其根标识符id,选择两个随机数α
id
,并计算根钱包公钥wpk
id
和根钱包私钥wsk
id
72.wpk
id
:=(a
id
,b
id
)=(α
id
p,β
id
p),
73.wsk
id
:=(wssk
id
,wsvk
id
)=(α
id
,β
id
),
74.然后生成根钱包密钥对(wpk
id
,wsk
id
),其中wssk
id
是一个钱包的花费私钥,wsvk
id
是一个钱包的查看私钥。
75.步骤3:委托的钱包密钥生成
76.对于钱包中任意的层次管理者,包括根管理者,输入自己的标识符id={id0,id1...,id
t
},t≥1和其父实体的钱包密钥对(wpk
id|(t-1)
,wsk
id|(t-1)
),wpk
id|(t-1)
是父实体的钱包公钥,wsk
id|(t-1)
是父实体的钱包私钥,其中wsk
id|(t-1)
=(wssk
id|(t-1)
,wsvk
id|(t-1)
),该算法运行如下:
77.1)计算标识符id的哈希值q
id
=h1(id)。
78.2)利用标识符id父实体的钱包私钥(α
id|(t-1)
,β
id|(t-1)
),计算两个关于标识符id的钱包私钥α
id
=h2(q
id
,α
id|(t-1)qid
)和β
id
=h3(q
id
,β
id|(t-1)qid
)。
79.3)输出id的钱包密钥对(wpk
id
,wsk
id
),wpk
id
是id的钱包公钥,wsk
id
是id的钱包私钥。
80.wpk
id
:=(a
id
,b
id
)=(α
id
p,β
id
p)
81.wsk
id
:=(wssk
id
,wsvk
id
)=(α
id
,β
id
)
82.其中,wssk
id
是钱包的花费私钥,wsvk
id
是钱包的查看私钥。
83.步骤4:验证密钥派生
84.对于钱包中任意实体,包括管理者和普通用户,输入该实体的标识符id={id0,id1...,id
t
},t≥0和它的钱包公钥wpk
id
=(a
id
,b
id
),该算法运行如下:
85.1)选择一个随机数并计算q=rp。
86.2)计算哈希值k=h4(b
id
,rp,rb
id
),哈希值l=h6(a
id
,b
id
,rp)和参与验证派生验证密钥的参数e=k
·aid
+r(b
id
+lp)。
87.3)输出一个派生的验证密钥dvk=(q,e)。
88.步骤5:检查派生的验证密钥
89.钱包中每个实体都可以使用这个算法来检查一个验证密钥dvk是否属于它(即,是否来自于它的标识符和钱包公钥)。输入一个派生的验证密钥dvk=(q,e),一个实体的标识
符id={id0,id1...,id
t
},t≥0以及它的钱包公钥wpk
id
=(a
id
,b
id
)和钱包查看私钥wsvk
id
=β
id
,该算法运行如下:
90.1)计算哈希值k'=h4(b
id
,q,β
id
q),哈希值l'=h6(a
id
,b
id
,q)和参与验证派生验证密钥的参数e'=k'
·aid
+q(β
id
+l')。
91.2)检查e=e'是否成立。如果该方程成立,算法输出1,否则输出0。
92.步骤6:签名密钥派生
93.输入一个派生的验证密钥dvk=(q,e),一个实体的标识符id={id0,id1...,id
t
},t≥0和它的钱包密钥对(wpk
id
,wsk
id
),其中钱包公钥wpk
id
=(a
id
,b
id
)和钱包私钥wsk
id
=(α
id
,β
id
),该算法检查e=e'是否成立。如果该方程不成立,输出
⊥
;否则输出一个派生的签名密钥
94.dsk=α
id
k+q(β
id
+l)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
95.步骤7:签名
96.输入一个消息空间m中的消息m,一个派生的验证密钥dvk,和一个派生的签名密钥dsk,该算法运行如下:
97.1)选择一个随机数用以计算参与生成签名的参数x=xp。
98.2)计算哈希值h=h5(dvk,m,x)和v=h
·
dsk+x。
99.3)输出σ=(h,v)作为消息m的签名。
100.步骤8:验证
101.输入一个消息m,一个签名σ和一个派生的验证密钥dvk,该算法检查以下方程是否成立σp=h(ka
id
+q(b
id
++lp))+x
ꢀꢀꢀꢀꢀꢀ
(2)
102.验证正确性:
103.σp=(h
·
dsk+x)p
104.=h(α
id
k+q(β
id
+l))p+xp
105.=h(kα
id
p+q(β
id
p+lp))+x
106.=h(ka
id
+q(b
id
++lp))+x
107.由于提出的方案基于通用椭圆曲线密码系统,避免了耗时的配对操作,这使得其可以直接应用于目前的区块链结构中。并且为保护用户身份的隐私安全,在分层确定性钱包中引入隐形地址,将钱包公钥进行“隐形”处理,任何人不能将一个硬币地址关联到钱包中。
108.此外,任何钱包中的实体可以通过自己身份的标识符和钱包公钥获得派生的验证密钥,并可以借助检查派生的验证密钥算法查看该密钥是否有效且属于身份id,然后获取派生的签名密钥对消息进行签名,与其他实体完成交易。
109.欲保护点:支持隐形地址分层确定性钱包方案的构建方式。
技术特征:
1.轻量级支持隐形地址的分层确定性钱包模型,其特征在于,包括,根管理者、直系下属和普通用户;所述根管理者分别连接直系下属和普通用户,所述直系下属连接下一级直系下属。2.轻量级支持隐形地址的分层确定性钱包方法,其特征在于,包括以下步骤:步骤s1:系统初始化;步骤s2:生成钱包密钥;步骤s3:根据密钥派生密钥;步骤s4:根据派生密钥进行签名;步骤s5:对签名进行验证。3.根据权利要求1所述的轻量级支持隐形地址的分层确定性钱包方法,其特征在于,所述步骤s2具体包括以下子步骤:子步骤s21:每个组织的钱包拥有者根据自己的标识符id;子步骤s22:选择两个随机数α
id
,β
id
并计算根钱包密钥对(wpk
id
,wsk
id
),其中,钱包私钥wsk
id
=(wssk
id
,wsvk
id
)包括一个钱包消费私钥wssk
id
和一个钱包查看私钥wsvk
id
;子步骤s23:根据自己的标识符id={id0,...,id
t
},t≥1和它父实体的钱包密钥对(wpk
id|(t-1)
,wsk
id|(t-1)
),为其直系下属生成钱包密钥对wsk
id
=(wssk
id
,wsvk
id
)。4.根据权利要求1所述的轻量级支持隐形地址的分层确定性钱包方法,其特征在于,所述步骤s2包括以下子步骤:子步骤s21:钱包中任意实体根据其标识符id={id0,...,id
t
},t≥0和它的钱包公钥wpk
id
,获得一个派生的验证密钥dvk;子步骤s22:该实体检查该验证密钥是否属于自己,如果dvk是有效的且属于该实体,利用自己的钱包密钥对(wpk
id
,wsk
id
),获得一个派生的签名密钥dsk;否则,获得
⊥
,
⊥
意味着dvk是无效的且不属于(id,wpk
id
)。5.根据权利要求1所述的轻量级支持隐形地址的分层确定性钱包方法,其特征在于,所述步骤s4包括以下子步骤:子步骤s41:当发生货币转移交易时,钱包中的实体使用派生密钥对(dvk,dsk)对交易消息m进行签名;子步骤s42:将交易签名σ和自己的派生验证密钥dvk一起发送给接收者。6.根据权利要求1所述的轻量级支持隐形地址的分层确定性钱包方法,其特征在于,所述步骤s5具体操作如下:接收者收到“消息-签名”对(m,σ)和派生验证密钥dvk后,验证该签名σ是否有效,如果σ是一个有效的签名,证明交易确实属于支付者;否则,σ是无效的,交易失败。
技术总结
本发明公开了轻量级支持隐形地址的分层确定性钱包模型及方法,包括,根管理者、直系下属和普通用户;根管理者分别连接直系下属和普通用户,直系下属连接下一级直系下属;本发明不仅提供所有标准的钱包功能,而且还保证了用户身份的隐私,使得其可以直接应用于当前的区块链结构中,避免了耗时的配对操作,更适用于资源有限的物联网。资源有限的物联网。资源有限的物联网。
技术研发人员:张键红 董成鹤 张佳楠
受保护的技术使用者:北方工业大学
技术研发日:2023.04.19
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
