1、 2023 年第 10 期19计算机应用信息技术与信息化基于中国剩余定理的区块链用户私钥托管方法研究汪 洋1 孟小艳1 王 轶2,3 葛 翔4 张容祯1WANG Yang MENG Xiaoyan WANG Yi GE Xiang ZHANG Rongzhen 摘要 针对区块链用户私钥丢失恢复的安全问题,提出一种基于中国剩余定理的门限秘密共享的区块链私钥托管、挂失及恢复的方案。私钥托管阶段,使用门限密码学共享技术将处理后的私钥进行秘密分割得到秘密碎片,再将秘密碎片使用参与托管组成员的公钥非对称加密,调用智能合约写入区块链分布式账本中;挂失阶段,创建临时用户向区块链平台发起私钥挂失请求;恢复阶段
2、,临时用户与托管组成员协作恢复出用户私钥;更新阶段,根据用户活跃度进行托管更新操作。通过安全性和效率方面进行分析,所提出的方案相较于传统方案具有可恢复性、匿名性、无需额外管理秘密碎片等优势,且方案的计算效率较高,可以实现区块链用户私钥的安全托管,解决区块链用户私钥丢失后恢复的难题。关键词 区块链;私钥管理;门限密码学;智能合约 doi:10.3969/j.issn.1672-9528.2023.10.0041.新疆农业大学计算机与信息工程学院 乌鲁木齐 8300522.中国科学院新疆理化技术研究所 乌鲁木齐 8300113.新疆民族语音语言信息处理实验室 乌鲁木齐 8300114.国网新疆电力
3、公司营销服务中心(资金集约中心、计量中心)乌鲁木齐 830011 基金项目 新疆网信科创课题“区块链技术促进政务数据共享的应用研究”(12221604);新疆维吾尔自治区重点研发计划 基于社会公共服务的数据资源开发利用及安全保障关键技术研发(2022B01005);新疆维吾尔自治区“两区”科技发展项目“文旅兴疆数智平台关键技术研究与应用”(2022LQ03003);新疆维吾尔自治区天山创新团队“可信数据智能分析处理创新团队”(2022D14019)0 引言在中国网络强国战略的时代背景下,发展区块链技术已经作为国家级战略,中央政治局提出把区块链技术作为“核心技术自主创新的重要突破口,加快推动区块
4、链技术和产业创新发展”1。区块链技术被广泛应用于金融2、物联网3、医疗4-5、供应链6等领域。随着区块链的应用市场规模的稳步增长,区块链作为底层去中心化的平台和应用,其账户管理的安全性也面临着巨大挑战。区块链的私钥是唯一证明用户身份的数据,用户的核心资产也仅有私钥控制,一旦丢失则无法恢复,所以关于区块链用户私钥的保护显得至关重要。目前,针对于区块链账户安全管理,学术界主要研究重点是用户私钥生成、存储以及使用三个阶段的安全性和便利性7。在私钥生成阶段,Ruilin 等人8提出用本地设备的随机种子和口令结合起来生成私钥,在本地存储上保留随机种子列表,而不是完整的私钥,从而增加了攻击者盗取私钥的难度
5、。在私钥存储阶段,有本地存储、离线存储9、账户托管10、云存储等多种方式。在私钥使用阶段,学术界主要研究门限签名和多重签名方案。王丽鹏等人11提出了一种适用于区块链投票场景的门限签名方案,通过成员之间的协作,生成签名份额,并合成签名,攻击难度等价于求解离散对数问题。Goldfeder 等人12提出门限签名技术实现比特币用户密钥多方控制功能,利用门限密码学技术实现密钥的可信管理。Dikshit13提出了一种高效且最佳的加权阈值的椭圆曲线数字签名方案,并且可以重建签名。综上所述,可以看出学术界对于区块链个人用户密钥的管理方案研究甚少,重点在用户密钥的生成、存储、使用阶段。对于门限签名方案,管理每一
6、位参与者的按权重持有的密钥又是一个难题。本研究在以上基础上进行优化,提出了一种基于中国剩余定理14的门限密码学,多用户协同参与管理区块链用户私钥的方法。1 Asmuth-Bloom 算法 门限密码学是结合秘密共享15与密码算法后产生的。基本思想是,秘密分发者将秘密 s 以适当的算法拆分为 N 份,并分配给 N 个参与者,在秘密恢复时,需要参与方的个数至少达到某个门限值 T 才能恢复出秘密 s,而任意 T-1 个或更少参与者无法恢复秘密 s。经典的秘密共享算法有基于中国剩余定理的 Asmuth-Bloom 算法16。对于 n 个成员的集合选取一个大素数,n 个正整数,且满足如下条件。2023 年
7、第 10 期20计算机应用信息技术与信息化(1)严格单调递增。(2)。(3)。(4)。在中随机选取一个整数 A,计算 产生秘密份额。(1)作为Pi的秘密份额si。秘密恢复,已知t个成员(适用于 t 个以上参与者)提交秘密份额为 si,根据中国剩余定理可以求得同余方程组。(2)由中国剩余定理可知,该方程组在内存在唯一解 z。(3)式中:。满足如下公式:(4)则秘密 s 为:(5)2 本文方案本文采用基于中国剩余定理的 Asmuth-Bloom 算法提出了一种区块链上所有用户共同参与私钥托管、挂失及恢复的方法。本方案分为三种参与角色,被托管用户、托管用户和临时用户,各参与方和任务流程如图 1 所示
8、。图 1 区块链私钥管理模型2.1 托管阶段2.1.1 初始化设区块链的用户规模为 M,每个用户都拥有自己的一个公私钥对i=1,2,3,m,公钥是密钥中对外公开的部分,私钥是非公开的部分。用户首次登录,将个人相关信息记录至区块链中。用户信息账本如表 1 所示,其主要信息为用身份 id、用户名、公钥。智能合约中用户信息账本设置的操作权限是,允许区块链上所有用户对用户信息账本进行读取,但仅可以修改自己身份 id 对应的那一条记录。表 1 用户信息账本键/值变量含义KeyUiuserIdUi的用户 IdValueUinickNameUi的用户名pki公钥2.1.2 私钥处理区块链用户私钥文件较大,为
9、了提高效率,首先对其进行处理再进行数值运算。本方案使用算法将私钥分割成两部分,主秘密和副秘密,再执行托管操作。处理过程中,用户先设置一个用户口令,口令的作用有两个:(1)分割和恢复秘密碎片过程中作为算法参数使用,为防止合谋攻击,当攻击者收集超过门限值的秘密碎片,即使恢复出秘密,没有秘密口令也不能恢复出私钥;(2)临时用户向区块链系统挂失私钥的时候,提供口令作为被托管用户与临时用户关系的证明。被托管用户Ui将自己的私钥pki,按照图2流程进行处理。首先编码转换成可以进行数值运算的大数 C。设置一个口令i,通过预设算法,拓展其位数得到 i。通过除法运算,拆分得到主秘密 s 和副秘密 s,其中 s
10、位数较短,s 位数较长,计算方法为,当同时拥有主秘密 s 和副秘密 s 再结合秘密口令 i才能恢复出原私钥。图 2 私钥处理流程2.1.3 执行托管(1)托管主秘密 s被托管用户 Ui从区块链用户中的活跃用户中随机选取 n个用户,作为私钥的托管用户组。设置门限值为 t,根据基于中国剩余定理的 Asmuth-Bloom 算法要求,选取满足条件的大素数 p,n 个正整数,计算 kj。(6)得到 n 个初始秘密碎片。将初始秘密碎片使用所选取的托管组用户的公钥pkj进行加密,得到加密后的秘密碎片。将秘密碎片通过智能合约逐条保存至秘密碎片账本。账本储存信息如表 2 所示。表 2 秘密碎片账本键/值变量含
11、义Key用户 Uj负责托管用户 Ui的碎片Value秘密碎片口令哈希值 2023 年第 10 期21计算机应用信息技术与信息化其中,Key 值表示托管用户 Uj负责托管 Ui的秘密碎片,并且将记录口令的哈希值。智能合约中秘密碎片账本设置的操作权限是根据用户的 userId进行访问控制,被托管用户 Ui对这条记录具有读取和修改的权限,托管用户 Uj通过对比对口令哈希值,在相等时才对这条记录仅有读取的权限,其他用户没有权限访问该条记录,这样就完成了主秘密的托管。(2)托管副秘密 s当完成了主秘密s的托管,用户Ui需要记录托管位置(托管用户组的 userId)、副秘密及口令的哈希值,将这些信息通过智
12、能合约上传区块链托管记录账本上,账本存储信息如表 3 所示。智能合约中设置托管记录账本的操作权限是用户 Ui拥有读取和修改的权限,临时用户Ui通过提供正确口令,验证身份通过后才具有读取的权限,其他用户没有权限访问该条记录。至此,完成了用户私钥托管任务。表 3 托管记录账本键/值变量含义KeyUiuserId用户Value托管组成员用户 id副秘密口令哈希值2.2 挂失阶段2.2.1 发起挂失请求用户申请创建临时用户 Ui,临时用户调用智能合约查询托管记录账本,然后向区块链发起挂失请求,如图 3 所示。图 3 挂失请求流程步骤 1:临时用户 Ui通过调用区块链智能合约查询托管记录账本。临时用户
13、Ui使用的丢失用户的 userId 和口令 i作为传递参数,通过智能合约函数验证与是否相等,若相等,则证明临时用户 Ui合法,是被托管用户 Ui的临时用户,请求获取副秘密 s 以及托管位置,即。步骤 2:当通过步骤 1 的操作,临时用户 Ui向区块链请求池账本逐条发起挂失请求。请求池账本信息如表 4 所示,包括提供给托管用户在恢复流程中用作验证身份以及秘密碎片传递给临时用户 Ui的基本信息。其中 UiuserId 为托管用户的 userId,为验证身份使用,可以验证临时用户身份,UiuserId 和 pki为临时用户的 userId 和公钥。该账本的访问权限为临时用户通过验证后对该账本有读取和
14、修改的权限,其他用户有读取自己 userId 对应记录的权限。通过以上两个步骤,临时用户向区块链完成了私钥挂失请求。表 4 请求池账本键/值变量含义KeyUjuserId用户 Uj的用户 idValueUiuserId用户 Ui的用户 id提供的口令i的哈希值临时用户 Ui的用户 id临时用户的公钥2.2.2 响应挂失请求查询与响应临时用户向当区块链成功发起挂失请求,就需要托管用户组的用户响应该请求,托管用户首先查询托管账本是否存在关于自己的挂失请求,当查询到存在挂失请求后响应该请求,将自己名下托管的秘密碎片传递给临时用户。查询响应挂失请求如图 4 所示,具体执行步骤如下。图 4 挂失请求查询
15、与响应流程步骤 1:区块链上用户 Uj上线时,先使用自己 userId 作为参数调用智能合约查询请求池账本是否有挂失请求。若有,则继续执行步骤 2。步骤 2:用户 Uj通过上一步查询请求池账本信息,将UiuserId 与 UjuserId 自己拼接成 Key 值,调用智能合约作为请求参数请求秘密碎片账本。智能合约中的函数判断与秘密碎片账本中储存是否相等,若相等,则证明临时用户 Ui碎片收集请求合法,获得秘密碎片信息。步骤 3:用户 Uj将秘密碎片账本查询到的秘密碎片,并使用自己的私钥进行解密操作得到初始秘密碎片,再使用临时用户公钥进行加密得到秘密碎片,将该秘密碎片通过智能合约上传至临时用户碎片
16、账本,此账本与秘密碎片账本所存储的信息设计相似,如表 4 所示。但是设置的访问权限不相同,托管用户Uj对这条记录具有读取和修改的权限,临时用户 Ui对这条记录仅有读取的权限。托管组的成员每个用户登录的时候都会向请求池查询有无关于自己的托管请求,如果有则都会执行步骤 1 3,这样就完成了托管响应的操作。2023 年第 10 期22计算机应用信息技术与信息化2.3 恢复阶段临时用户 Ui通过查询临时用户秘密碎片账本,当查询到门限值数量的秘密碎片时就可以进行用户私钥恢复操作。如图 5 所示,具体步骤如下。图 5 私钥恢复流程步骤 1:临时用户使用自己的 userId 与托管组的用户UjuserId
17、拼接成 Key 值使用智能合约依次查询区块链临时用户秘密碎片账本。若查询到超过门限值 t 数量的秘密碎片,即可进入步骤 2。步骤2:临时用户使用自己的私钥进行解密,j=1,2,t 获得初始秘密碎片,根据基于中国剩余定理的 Asmuth-Bloom 算法构造同余方程组。(7)方程组在 0,d1,d2,dn 内有唯一解 x,秘密 s 为 s=x-Aq,即。若仅有 t-1 个秘密份额,解得的 x 在模p 的所有同余类上均匀分布,因此无法确定 x,也就无法确定秘密 s。将口令 i,按处理私钥时的算法拓展其长度得到 i。计算,将大数 C 进行反编码即可恢复被托管用户 Ui私钥 pki。至此,完成了整个区
18、块链用户私钥的托管、挂失和恢复整个流程。2.4 更新阶段区块链上的用户规模和活跃度每时每刻都会发生变化,为了提高用户私钥托管功能的可靠性,需要对用户活跃度进行分析。当用户需要进行托管任务时,从活跃用户中随机选取 n 个用户作为托管用户组。用户 Ui登录时会检查自己托管用户组内用户活跃用户数量变化,若托管组活跃用户少于执行托管任务设定的门限值时,表示托管可靠性下降,将之前托管记录清除,重新选取一组活跃用户作为托管用户,执行托管流程,这样就完成托管更新操作。3 实验分析3.1 安全性分析3.1.1 密钥可恢复性当用户私钥丢失后,用户从区块链平台申请获取临时用户身份,使用临时用户向区块链查询托管信息
19、,获取副秘密,再发起挂失请求,在一定的时间内,当托管用户响应挂失请求后,只要用户收集到超过门限值的秘密碎片,通过门限算法就能合成主秘密。将主秘密、副秘密结合秘密口令计算恢复出原来用户私钥。由于门限方案,若未收集到超过门限值的秘密碎片,则无法恢复私钥。区块链系统中设置有严格的访问控制,对于存储到区块链上的秘密碎片很难被篡改,所以秘密托管至区块链本身是安全的。3.1.2 匿名性分析托管用户响应挂失请求过程是调用智能合约将秘密碎片传递给临时用户,智能合约有严格的权限控制,处理过程对托管用户不可见,托管用户无法获取秘密碎片的内容。托管用户组用户之间也是不可见的。由于区块链上对数据有严格的访问控制,攻击
20、者很难获取托管用户组,即托管的位置,托管用户组成员之间也是匿名的状态,所以攻击者很难收集到秘密碎片。若发生管理员作恶,获得秘密碎片,没有托管组用户的私钥无法解析出主秘密,不知道用户口令,更无法恢复私钥。3.1.3 管理秘密碎片问题对比类似的共享管理密钥方案,如文献 7 中,秘密碎片需要客户端节点进行保存,这就又出现了秘密碎片的安全性问题,本方案将秘密碎片托管至区块链分布式账本上,不会出现管理秘密碎片问题。3.1.4 安全性对比本方案与现有传统方案,本地存储、离线存储、三方托管进行安全性对比,结果如表 5 所示,相对于传统方案存在诸多安全性问题,本方案具有可恢复、抗合谋攻击、匿名性等特点,对于类
21、似托管方案,本方案的秘密碎片都存储至区块链上,所以不存在每位参与者管理秘密份额的物理安全性问题。表 5 安全性对比安全指标本文方案 本地存储 离线存储 三方托管 文献 7可恢复性是否否是是抗合谋攻击是否否否是匿名性是否是否是管理秘密份额问题无有有有有3.2 效率分析实验采用的平台为 MacBook Pro,IntelCPU i5-6267U,2.9 GHz。操 作 系 统 为 macOS 12.6.3,开 发 软 件 为 IntelliJ IDEA 2021.2.3。方案执行耗时部分主要是主秘密的拆分与合成,将本方案与文献 7 的 Shamir 门限方案执行效率进行对比,统计拆分和合成主秘密耗
22、时总和,时间单位为 ms,成员数 n=50,门限值分别取 20、25、30、35、40 考察耗时与门限值的关系,实验结果如图 5 所示。从图 6 可知,文献 7 耗时较多,并且随着门限值 t 增加,耗时也在增加,本方案耗时较少,且波动平稳。由此可知,本方案执行效率较高,并且有很好的鲁棒性。2023 年第 10 期23计算机应用信息技术与信息化图 6 耗时与门限值 t 关系图4 结束语针对当前区块链上用户私钥的托管、挂失和恢复的安全性问题,设计利用中国剩余定理的门限方案管理区块链私钥,将秘密碎片托管至区块链上,区块链所有用户共同参与维护。通过分析表明,该方案具有可恢复性、匿名性和抗合谋攻击等优势
23、。相较于传统的私钥管理方案也具有很大的优势,使用基于中国剩余定理的门限秘密共享方案计算开销远小于文献 7 方案的 Shamir 门限方法。下一步研究中,将对更新方案进行优化,使其适用于区块链用户规模和活跃度变化复杂的大规模区块链网络。参考文献:1 中华人民共和国中央人民政府.习近平主持中央政治局第十八次集体学习并讲话 EB/OL.(2019-10-25)2022-12-13.https:/ TSAI W T,BLOWER R,YAN Z,et al.A system view of fi-nancial blockchainsC/Service-Oriented System Engineer
24、ing(SOSE).Piscataway:IEEE,2016.3 SINGH R P,JAVAID M,HALEEM A,et al.Internet of things(IoT)applications to fight against COVID-19 pandem-icJ.Diabetes and metabolic syndrome clinical research and reviews,2020,14(4):521-524.4 GARCIA R D,RAMACHANDRAN G,UEYAMA J.Exploit-ing smart contracts in PBFT-based
25、blockchains:A case study in medical prescription systemJ.Computer networks,2022,211:109.5 ZHENG X K,ZHAO Y Q,LI H L,et al.Blockchain-based verifiable privacy-preserving data classification protocol for medical dataJ.Computer standards&interfaces,2022:82:1-9.6 朱兴雄,何清素,郭善琪.区块链技术在供应链金融中的应用 J.中国流通经济,201
26、8,32(3):111-119.7 周健,屈冉.一种抗合谋攻击的区块链私钥管理方案 J.计算机工程,2020,46(11):23-28.8 LIU Y,LI R,LIU X,et al.An efficient method to enhance Bit-coin wallet securityC/2017 11th IEEE International Confer.Piscataway:IEEE,2017:26-29.9 ESKANDARI S,CLARK J,BATTERA D,et al.A first look at the usability of bitcoin key mana
27、gementC/The 2015 Net-work and Distributed System Security(NDSS)Symposium.San Diego:s.n.,2015:1-10.10 LUSETTI M,SALSI L,DALLATANA A.A blockchain based solution for the custody of digital files in forensic medicineJ.Forensic science international:digital investigation,2020(12):35.11 王利朋,胡明生,贾志娟,等.基于中国
28、剩余定理的区块链投票场景签名方案 J.计算机应用研究,2020,37(2):538-543.12 GOLDFEDER S,GENNARO R,KALODNER H.Securing bitcoin wallets via a new DSA/ECDSA threshold signature scheme EB/OL.2020-07-23.https:/www.cs.princeton.edu/stevenag/threshold_sigs.pdf.13 GENNARO R,GOLDFEDER S,NARAYANAN A.Threshold-optimal DSA/ECDSA signatur
29、es and an applica-tion to bitcoin wallet securityC/International Conference on Applied Cryptography and Network Security.Cham:Spring-er,2016:156-174.14 HOU Z,TAN M.A CRT-based(t,n)Threshold Signature Scheme Without a DealerJ.Journal of computational infor-mation systems,2015,11(3):975-986.15 SHAMIR
30、A.How to share a secretJ.Communications of the ACM,1979,22(11):612-613.16 ASMUTH C,BLOOM J.A modular approach to key safe-guarding J.IEEE transactions on information theory,1983,29(2):208-210.【作者简介】汪洋(1992),男,安徽六安人,硕士研究生,研究方向:区块链技术。孟小艳(1978),女,新疆阜康人,博士,副教授,研究方向:知识图谱、人工智能。王轶(1986),男,山东滨州人,博士,副研究员,研究方向:数据治理、区块链应用。葛翔(1979),女,新疆塔城人,本科,高级工程师,研究方向:大数据、区块链。张容祯(1998),男,河南林州人,硕士研究生,研究方向:知识图谱、实体关系抽取。(收稿日期:2023-05-11 修回日期:2023-05-26)
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100