当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于两方签名的区块链钱包客户端私钥保护方法技术

技术编号:24251810 阅读:43 留言:0更新日期:2020-05-22 23:42
本发明专利技术公开了一种基于两方签名的区块链钱包客户端私钥保护方法,涉及用户区块链钱包和私钥服务器,包括用户区块链钱包和私钥服务器初始化的过程,通过该过程用户区块链钱包获得私钥服务器的部分公钥,私钥服务器获得用户区块链钱包的初始部分公钥和初始链码;之后用户区块链钱包根据私钥服务器的部分公钥和本地部分私钥生成用户的第i个区块链地址,其中0≤i<2

A private key protection method of blockchain wallet client based on two party signature

【技术实现步骤摘要】
一种基于两方签名的区块链钱包客户端私钥保护方法
本专利技术涉及信息安全领域,尤其是区块链技术,特别涉及基于两方签名的区块链钱包客户端私钥保护方法。
技术介绍
两方签名协议是特殊的门限签名协议。门限签名协议是基于门限秘密共享和数字签名构造的签名协议。门限签名协议中存在两个重要的参数:门限值t和由主密钥分成的子密钥的数目k。在(k,t)门限群签名中,k方共享密钥,任意大于等于t的共享方都可以对消息进行有效签名,小于t个共享方就无法生成有效签名。在这个意义上,两方签名可以看成(2,2)门限签名。两方签名协议能够实现将密钥分散存储在不同设备中,降低了私钥被攻击的风险,提升了私钥的安全性。区块链交易中双方的地址来自于密钥对中的公钥,交易签名则通过密钥对中私钥生成,一个区块链钱包中可以保存多个密钥对。对于攻击者来说,只要得到相应钱包中的私钥就能盗取钱包中的钱。如果密钥对都保存在区块链钱包中,那么区块链钱包就成为安全攻击的焦点。例如,Lipovsky指出,在线银行的木乃伊病毒同样也能对区块链钱包进行盗取。基于以上
技术介绍
,本专利技术基于两方签名协议设计了一种区块链钱包客户端私钥保护方法,将两方签名应用于区块链钱包客户端中,区块链钱包仅存储部分私钥,其他的私钥部分存储在私钥服务器中,在整个交易过程中,不会出现完整的私钥,因此能够降低钱包客户端私钥被攻击的风险,有效保护私钥。
技术实现思路
:本专利技术公开了一种基于两方签名的区块链钱包客户端私钥保护方法,涉及用户区块链钱包和私钥服务器两个实体,包括以下步骤:A)用户区块链钱包和私钥服务器初始化,用户区块链钱包获得私钥服务器的部分公钥pkBA,私钥服务器获得用户区块链钱包的初始部分公钥和初始链码B)用户区块链钱包根据私钥服务器的部分公钥pkBA和本地部分私钥生成用户的第i个区块链地址,其中0≤i<231;C)用户区块链钱包和私钥服务器根据两方签名协议,生成关于第i个区块链地址的数字签名;所述步骤A)包括以下子步骤:A1)用户区块链钱包与私钥服务器通过TLS协议建立一个认证的安全通道;A2)用户区块链钱包遵循BIP0044规范,生成一个初始部分私钥和初始链码并使用初始部分私钥计算初始部分公钥A3)用户区块链钱包通过认证的安全通道发送和给私钥服务器;A4)私钥服务器根据两方签名协议计算私钥服务器的部分公钥pkBA;A5)私钥服务器通过认证的安全通道发送pkBA给用户区块链钱包;A6)用户区块链钱包存储pkBA,私钥服务器存储和所述步骤B)包括以下子步骤:B1)用户区块链钱包根据BIP0044规范计算第i个本地部分私钥其中0≤i<231;B2)用户区块链钱包输入本地部分私钥和私钥服务器公钥pkBA,根据两方签名协议,计算第i个区块链地址对应的公钥,并使用该公钥计算区块链地址;所述步骤C)包括以下子步骤:C1)用户区块链钱包生成交易数据M做为待签名数据;C2)用户区块链钱包确定需要解锁的区块链地址的序号i;C3)用户区块链钱包与私钥服务器根据两方签名协议的需要建立认证的安全通道;C4)用户区块链钱包根据两方签名协议的需要向私钥服务器发送序号i,之后私钥服务器根据BIP0044标准,基于和计算第i个部分公钥C5)用户区块链钱包与私钥服务器交换两方签名协议的消息,生成针对第i个区块链地址的数字签名。当i≥231时,用户区块链钱包向私钥服务器发送更新的部分公钥和链码,包括以下子步骤:D1)用户区块链钱包检查到i≥231时,按照BIP0044规范,生成更新的部分公钥和链码;D2)用户区块链钱包与私钥服务器建立认证的安全通道;D3)用户区块链钱包向私钥服务器发送更新的部分公钥和链码,并设置i为0;D4)私钥服务器存储部分公钥和链码,替换和通过本专利技术,区块链钱包客户端可以执行业界规范BIP0044,同时可以进行两方签名,解决了当前缺少两种技术具体融合方法的现状,可以充分发挥两方签名协议的优势,降低区块链钱包被攻击的风险,提升区块链钱包的安全性。附图说明:图1为本专利技术的主要步骤框架图。具体实施方式:为了便于清楚理解本专利技术的目的、技术方案及优点,下面将参照附图及实施例对专利技术进行更详尽的描述。应当了解,本专利技术可以以许多不同的形式来实现,并不限定于本文提出的实施例,本专利技术的实施例的目的是使本专利技术的公开内容更加透彻全面便于理解。实施例一:本专利技术提出了一种基于两方签名的区块链客户端私钥保护方法,设定区块链钱包客户端为Alice,私钥服务器为Bob,设定两方签名协议为潘金昌等人的专利技术专利中所陈述的两方签名协议,该专利名称为“SM2算法协同签名及解密方法、装置及系统”。A)Alice和Bob初始化,Alice获得Bob的部分公钥pkBA,Bob获得Alice的初始部分公钥和初始链码A1)Alice与Bob通过TLS协议建立一个认证的安全通道;A2)Alice遵循BIP0044规范,生成路径“m/44/0/0/0/0”对应的初始部分私钥和初始链码并使用初始部分私钥计算初始部分公钥其中其中P是所述专利中椭圆曲线E上n阶的基点,n为整数;A3)Alice通过认证的安全通道发送和给Bob;A4)根据所述专利中的两方签名协议,Bob从整数集合{1,…,n-1}中随机选择一个数做为skBA,计算Bob的部分公钥pkBA=skBAP;A5)Bob通过认证的安全通道发送pkBA给Alice;A6)Alice存储pkBA,Bob存储B)Alice根据Bob的部分公钥pkBA和本地部分私钥生成第i个区块链地址,其中0≤i<231;B1)Alice根据BIP0044规范计算路径“m/44/0/0/0/i”所对应的第i个本地部分私钥其中0≤i<231;B2)Alice输入本地部分私钥和私钥服务器公钥pkBA,计算第i个区块链地址对应的公钥并使用该公钥计算区块链地址,例如在比特币区块链中计算为区块链地址;C)Alice和Bob根据两方签名协议,生成关于第i个区块链地址的数字签名;这一操作发生在Alice希望花费第i个区块链地址锁定的金额时发生。在没有两方签名时,Alice使用本地对应私钥直接生成数字签名。在使用两方签名时,需要与Bob执行两方签名协议,生成数字签名。根据上述专利中的两方签名协议,该过程实施如下:C1)Alice生成交易数据M做为待签名数据;C2)Alice确定需要解锁的区块链地址的序号i;C3)按照所述专利文件的两方签名协议,Alice选择一个随机数kA,随机数的范围为{1,…,n-1},并计算临时参数RA=kAP和RA′kApkBA,其中pkBA是本地存储的Bob的公钥分量,计算完成后发送序号i,RA和RA′给Bob;C4)Bob根据BIP00本文档来自技高网...

【技术保护点】
1.一种基于两方签名的区块链钱包客户端私钥保护方法,涉及用户区块链钱包和私钥服务器两个实体,其特征在于包括以下步骤:/nA)用户区块链钱包和私钥服务器初始化,用户区块链钱包获得私钥服务器的部分公钥pk

【技术特征摘要】
1.一种基于两方签名的区块链钱包客户端私钥保护方法,涉及用户区块链钱包和私钥服务器两个实体,其特征在于包括以下步骤:
A)用户区块链钱包和私钥服务器初始化,用户区块链钱包获得私钥服务器的部分公钥pkBA,私钥服务器获得用户区块链钱包的初始部分公钥和初始链码
B)用户区块链钱包根据私钥服务器的部分公钥pkBA和本地部分私钥生成用户的第i个区块链地址,其中0≤i<231;
C)用户区块链钱包和私钥服务器根据两方签名协议,生成关于第i个区块链地址的数字签名。


2.根据权利要求1所述一种基于两方签名的区块链钱包客户端私钥保护方法,其特征在于,所述步骤A)包括以下子步骤:
A1)用户区块链钱包与私钥服务器通过TLS协议建立一个认证的安全通道;
A2)用户区块链钱包遵循BIP0044规范,生成一个初始部分私钥和初始链码并使用初始部分私钥计算初始部分公钥
A3)用户区块链钱包通过认证的安全通道发送和给私钥服务器;
A4)私钥服务器根据两方签名协议计算私钥服务器的部分公钥pkBA;
A5)私钥服务器通过认证的安全通道发送pkBA给用户区块链...

【专利技术属性】
技术研发人员:田海博苏吟雪林会智
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1