抗密钥泄漏的私钥存储与使用方法、系统、装置制造方法及图纸

技术编号:37369192 阅读:26 留言:0更新日期:2023-04-27 07:14
本发明专利技术公开了一种抗密钥泄漏的私钥存储与使用方法、系统、装置,涉及互联网加密领域,包括将用户私钥x通过(2,2)门限秘密共享的方法分成两个私钥份额x1,x2,并将两个私钥份额分别存储在两个不同的设备中,同时销毁私钥x;然后将消息M输入到第一设备中,使用x1和M参与计算A

【技术实现步骤摘要】
抗密钥泄漏的私钥存储与使用方法、系统、装置


[0001]本专利技术涉及互联网加密领域,更具体地说,涉及一种抗密钥泄漏的私钥存储与使用方法、系统、装置。

技术介绍

[0002]下一代互联网Web3强调用户拥有并能够完全控制自己的数据,即用户对自己的账号和在平台上互动产生的数据信息、数字资产等有控制权。实现这一目的的主要工具是公钥密码学,在Web3中,每个用户将拥有若干个属于自己的公钥私钥对。其中,私钥的安全至关重要,直接决定着用户的账号和数据安全。
[0003]然而,在实际应用中,绝大多数互联网用户并不知道如何安全存储和使用自己的私钥,甚至不知道自己的私钥是什么、存储在哪里。因此,私钥泄漏的情况时有发生,给用户造成了严重损失。例如,2022年8月3日,用于Web3和加密货币的可编程区块链Solana生态系统被持续攻击,有9200多个钱包被破解,即私钥泄漏,损失超400万美元。据Solana官方调查,其原因是用户私钥信息被错误地传输到服务监控应用程序里。不止普通用户面临私钥泄漏的风险,甚至加密货币圈的专业人士,也曾因私钥保存不当,导致价值八位数的比特币被盗。其原因是他将用于获取比特币钱包(即私钥)的助记词存储在了云笔记中。
[0004]针对私钥泄漏问题,目前的主流解决方案有以下三种:
[0005]第一种方案是将私钥存储在离线设备中,当需要私钥参与运算(如计算数字签名)时,将消息输入到该离线设备,用私钥对其签名后,将签名输出。常见的例子有加密货币的硬件钱包,以及银行使用的U盾。该方案的主要问题是,当攻击者攻破该离线设备后,将直接获得用户完整的私钥。其次,该方案中一个离线设备往往只用于一个应用场景,而无法同时保护和管理用户的多对公私钥。在Web3时代,一个用户拥有多个公私钥对的情况下,采用该方法的话,将需要使用和维护多个这样的离线设备,极不方便。
[0006]第二种方案是将私钥进行加密存储,在使用中与方案一有重合之处。例如,存储在离线设备中的私钥可以经加密后存储。其问题也和方案一类似,当攻击者破解该私钥的密文后,将获得用户完整的私钥。
[0007]第三种方案是将私钥分成若干段私钥片段,分别存储在不同的地方,例如不同的邮箱。当需要使用私钥参与计算时,将这些片段有序复制粘贴到输入框。这种方案也不适用于管理多个公私钥对的情况,且使用时需要从私钥片段恢复得到完整的私钥,因此在使用过程中存在泄漏完整的私钥的风险。
[0008]因此,如何为普通用户提供更安全的私钥保护和使用方案,是当前互联网以及未来Web3时代的一个重要问题。

技术实现思路

[0009]本专利技术要解决的技术问题是提供一种抗密钥泄漏的私钥存储与使用方法、系统、装置,以解决
技术介绍
中提到的问题。
[0010]为了达到上述目的,本专利技术采取以下技术方案:
[0011]一种抗密钥泄漏的私钥存储方法,包括如下步骤:将用户私钥χ通过(2,2)门限秘密共享的方法分成两个私钥份额χ1,χ2,并将两个私钥份额分别存储在两个不同的设备中,同时销毁私钥χ。
[0012]两个不同的所述设备分别为便携设备和云服务器。
[0013]采用客户端执行所述步骤,所述客户端连接于两个不同的所述设备。
[0014]一种抗私钥泄漏计算算法,当需要使用用户私钥χ和消息M作为输入参与计算A时,采取如下步骤:
[0015]将M输入到第一设备中,使用χ1和M参与计算A

,得到结果O1,然后将O1返回客户端;
[0016]将M输入到第二设备中,使用χ2和M参与计算A

,得到结果O2,然后将O2返回客户端;
[0017]客户端根据O1和O2通过同态聚合计算得到O;O等于直接用χ和M作为输入参与计算A的结果。
[0018]进一步的,客户端根据O1和O2计算得到O后,所述客户端、所述第一设备、所述第二设备协同执行私钥份额更新算法更新χ1,χ2。
[0019]进一步的,所述私钥份额更新算法包括:客户端生成随机数r,并发送到所述第一设备和第二设备;所述第一设备根据r更新χ1的存储,所述第二设备根据r更新χ2的存储;更新完成后,新的χ1,χ2仍为原始私钥χ经(2,2)门限秘密共享的两个私钥份额。
[0020]进一步的,所述第一设备为便携设备,所述第二设备为云服务器。
[0021]一种抗密钥泄漏的私钥存储与使用系统,包括:
[0022]便携设备:不直接接入互联网、用于存储其中一个安全存储私钥份额;
[0023]云服务器:连接互联网、用于存储另一个安全存储私钥份额;
[0024]客户端:用于执行抗密钥泄漏算法;用于连接所述便携设备和所述云服务器。
[0025]进一步的,所述便携设备为即插式便携设备或支持蓝牙近距离通信的可穿戴或植入式设备,其中所述即插式便携设备包括U盘,所述可穿戴或植入式设备包括智能手环。
[0026]进一步的,所述便携设备采用用户身份认证方法来认证用户的身份,包括指纹、口令。
[0027]进一步的,所述客户端为以下任意一种:手机应用程序APP、微信小程序、基于Web浏览器的客户端。
[0028]一种用于抗密钥泄漏的私钥存储与使用系统的客户端设备,包括:
[0029]输入模块和输出模块,分别用于接收输入值和输出值;
[0030]随机数生成模块,用于生成随机数;
[0031]私钥份额计算模块,用于在初始化阶段计算私钥份额;两个私钥份额通过输出模块和通信模块发送到便携设备和云服务器;
[0032]公钥密码算法计算模块,用于将便携设备和云服务器发送来的O1,O2通过计算得到O;
[0033]用户认证模块,用于认证用户身份;
[0034]通信模块,用于客户端设备与便携设备和云服务器的通信。
[0035]进一步的,所述通信模块包括有线或短距离无线通信模块;所述有线或短距离无线通信模块用于与便携设备通信;所述通信模块还包括远距离通信模块,所述远距离通信
模块用于与云服务器通信。
[0036]一种用于抗密钥泄漏的私钥存储与使用系统的便携设备和云服务器,包括:
[0037]输入模块和输出模块,分别用于接收输入值和输出值;
[0038]私钥份额更新模块,用于更新私钥份额,更新后的份额存储到私钥份额存储模块;
[0039]私钥份额存储模块,用于存储私钥份额;
[0040]公钥密码算法计算模块,在便携设备中用于计算O1,在云服务器中用于计算O2,计算结果通过输出模块和通信模块发送到客户端;
[0041]用户认证模块,用于认证用户身份;
[0042]通信模块,在便携设备中为有线通信模块或短距离无线通信模块,用于便携设备与客户端设备的通信;在云服务器中为远距离通信模块,用于云服务器与客户端设备的通信。
[0043]本专利技术相对于现有技术的优点在于:
[0044]1、私钥更加安全。攻击者只有同时拿到便携本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种抗密钥泄漏的私钥存储方法,其特征在于,包括如下步骤:将用户私钥χ通过(2,2)门限秘密共享的方法分成两个私钥份额χ1,χ2,并将两个私钥份额分别存储在均与客户端连接的便携设备和服务器中,同时销毁私钥χ。2.一种基于权利要求1的抗私钥泄漏计算算法,其特征在于,当需要使用用户私钥χ和消息M作为输入参与计算A时,采取如下步骤:将M输入到便携设备中,使用χ1和M参与计算A

,得到结果O1,然后将O1返回客户端;将M输入到云服务器中,使用χ2和M参与计算A

,得到结果O2,然后将O2返回客户端;客户端根据O1和O2计算得到O;O等于直接用χ和M作为输入参与计算A的结果。3.根据权利要求2所述抗私钥泄漏计算算法,其特征在于,客户端根据O1和O2计算得到O后,所述客户端、所述便携设备、所述云服务器协同执行私钥份额更新算法更新χ1,χ2。4.根据权利要求3所述抗私钥泄漏计算算法,其特征在于,所述私钥份额更新算法包括:客户端生成随机数r,并发送到所述便携设备和云服务器;所述便携设备根据r更新χ1的存储,所述云服务器根据r更新χ2的存储;更新完成后,新的χ1,χ2仍为原始私钥χ经(2,2)门限秘密共享的两个私钥份额。5.一种基于权利要求1的抗密钥泄漏的私钥存储与使用系统,其特征在于,包括:便携设备:不直接接入互联网、用于存储其中一个安全存储私钥份额;云服务器:连接互联网、用于存储另一个安全存储私钥份额;客户端:用于执行抗密钥泄漏算法;用于连接所述便携设备和所述云服务器。6.根据权利要求5所述抗密钥泄漏的私钥存储与使用系统,其特征在于,所述便携设备为即插式便携设备或支持蓝牙近距离通信的可穿戴或植入式设备,其中所述即插式便携设备包括...

【专利技术属性】
技术研发人员:张杰董彧佶朱晓辉马洁明
申请(专利权)人:西交利物浦大学
类型:发明
国别省市:

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

1