基于金融管理中区块链的设备安全通信方法及系统
- 国知局
- 2024-08-02 14:08:41
本发明属于计算机技术安全,具体涉及一种区块链的设备安全通信方法及系统。
背景技术:
1、区块链技术具有安全、分布式存储、不可篡改等诸多优良特性,被越来越广泛地应用到金融、经济管理、工业生产等领域。同时,随着物联网、5g通信等越来越多的智能应用场景的出现和发展,对计算过程的安全性、可靠性提出了越来越高的要求。区块链技术的安全、可靠、稳定的计算等特点可以很好的满足这些场景的需求,越来越多的学者和研究人员针对这些场景的需求,有针对性的利用和改进区块链技术的应用形式。
2、近年来,区块链技术快速发展,越来越多的研究者利用密码学技术不断完善区块链。其最主要的就是确认基于区块链技术的通信安全性,这对于金融领域至关重要,在非对称算法中,典型的代表有rsa、eigamal、ecc(椭圆曲线)、sm2系统等。虽然区块链的分布式账本的特点使得交易本身和交易数据具有安全性高的特点,但网络黑客可以通过窃取用户私钥的方式威胁用户的账户安全;此外,在在账户管理方面,针对一些场景需求,往往需要多人对账户进行管理和监控,因此一些方案通过多重签名技术来解决此问题。
3、多重签名(multisig)通过使用多个私钥来解决现有方法中的漏洞。在此方案中,除非提供所有必需的私钥,否则通信中的事务不能继续。多重签名有多种形式,具体形式一般通过m-of-n进行定义,其中m是事务处理所需的签名或键数,n是涉及的签名总数。虽然rsa是目前最有影响力的加密算法而被广泛应用,但是普遍其都是针对m=n的多重签名,这种方式存在单节点设备在私钥泄漏、丢失等情况的发生时,或者缺少个别节点签名的情况下使得节点设备之间的通信交易无法进行。
技术实现思路
1、本发明是为了解决现有的rsa加密方式存在单节点设备在私钥泄漏、丢失等情况的发生时,或者缺少个别节点签名的情况下使得节点设备之间的通信交易无法进行的问题。
2、一种基于金融管理中区块链的设备安全通信方法,包括以下步骤:
3、s1、针对金融管理中交易参与的一方用户,产生公钥和账户地址,同时将私钥通过私钥秘密共享给参与者,包括:
4、s101、基于rsa算法生成用户的密钥对(p,s),公钥为p:(e,n),私钥为s:(d,n),其中e、d、n分别为公钥指数、私钥指数和模数,参数{e,n}公开,d保密;p、q为大素数,n=pq;
5、s102、基于公钥生成账户地址;
6、s103、生成子密钥并进行私钥秘密分发:
7、将私钥为s:(d,n)进行分割得到n个子密钥si:(di,n),将子密钥对应的私钥si对应分配给n个初始签名参与者;
8、针对每个参与者,基于shamir门限进行表示,当前参与者根据门限值k确定一个k-1次多项式:
9、
10、其中,ak∈gf(q)为多项式系数,设置系数a0为当前参与者的私钥si中的私钥指数di,x为多项式中的自变量,xk为自变量x的k次方;
11、然后选取n-1个不同的非零元素{x1,x2…,xn-1}并带入多项式求得{f(x1),f(x2)…,f(xn-1)};将{(x1,f(x1)),(x2,f(x2)),…(xn-1,f(xn-1))}作为恢复当前参与者私钥秘密分别发送给其他n-1个参与者;
12、针对每一个参与者,均按照相同的方式将自己的私钥秘密分别发送给其他n-1个参与者;
13、s2、将交易一方记为用户a,用户a进行交易时需要有n个参与者中的t个参与者进行签名;
14、当用户a一方的某个参与者am需要转账时,该节点作为转账发起者开始征集用户a一方的其他参与者,当征集了t个参与者时,k≤t≤n,开始恢复n个私钥:
15、首先am根据征集到的t个参与者确定没有被征集到的n-t个参与者;针没有被征集到的n-t个参与者中的某一个未被征集到的参与者aα,参与者am向t-1个参与者(即t个参与者中除am以外的参与者)收集参与者aα发送给t-1个参与者的私钥秘密{(x1,f(x1)),(x2,f(x2)),…(xt-1,f(xt-1))},并结合aα发送给自己的私钥秘密,得到{(x1,f(x1)),(x2,f(x2)),…(xt,f(xt))};
16、然后基于shamir门限方案,根据{(x1,f(x1)),(x2,f(x2)),…(xt,f(xt))}中的任意k个私钥秘密带入恢复公式其中xi、xj是第i、j个参与者自己随机选择的非零元素;得到唯一多项式f(x)后,将x=0带入多项式中,即可得到aα的私钥,也就是公式中的系数a0;
17、针对每一个没有被征集到的n-t个参与者中的每一个未被征集到的参与者,都采用上述方法过得对应的私钥,至此得到n个私钥,即s1至sn;
18、用户a一方获取时间戳t,生成随机消息m=hash(t),利用子密钥si对m进行签名得到秘钥签名ci;然后用户a一方将公钥p、账户地址及ci发出,向全网广播;
19、s3、验证者b接收到信息后,首先b使用a的公钥p来解密账户地址;同时验证b收到的是a传出来的信息是否被篡改过,如果没有,此次交易安全,完成一次基于金融管理中区块链的设备的安全通信。
20、一种基于金融管理中区块链的设备安全通信系统,包括:
21、用户秘钥生成及管理模块:针对金融管理中交易参与的一方用户,产生公钥和账户地址,同时将私钥通过私钥秘密共享给参与者;用户秘钥生成及管理模块包括:
22、密钥对生成单元:基于rsa算法生成用户的密钥对(p,s),公钥为p:(e,n),私钥为s:(d,n),其中e、d、n分别为公钥指数、私钥指数和模数,参数{e,n}公开,d保密;p、q为大素数,n=pq;并基于公钥生成账户地址;
23、生成子密钥并进行私钥秘密分发单元:将私钥为s:(d,n)进行分割得到n个子密钥si:(di,n),将子密钥对应的私钥si对应分配给n个初始签名参与者;
24、针对每个参与者,基于shamir门限进行表示,当前参与者根据门限值k确定一个k-1次多项式:
25、
26、其中,ak∈gf(q)为多项式系数,设置系数a0为当前参与者的私钥si中的私钥指数di,x为多项式中的自变量,xk为自变量x的k次方;
27、然后选取n-1个不同的非零元素{x1,x2…,xn-1}并带入多项式求得{f(x1),f(x2)…,f(xn-1)};将{(x1,f(x1)),(x2,f(x2)),…(xn-1,f(xn-1))}作为恢复当前参与者私钥秘密分别发送给其他n-1个参与者;
28、针对每一个参与者,均按照相同的方式将自己的私钥秘密分别发送给其他n-1个参与者;
29、用户签名模块:为用户的多个节点提供签名服务;签名过程中,将交易一方记为用户a,用户a进行交易时需要有n个参与者中的t个参与者进行签名;
30、当用户a一方的某个参与者am需要转账时,该节点作为转账发起者开始征集用户a一方的其他参与者,当征集了t个参与者时,k≤t≤n,开始恢复n个私钥:
31、首先am根据征集到的t个参与者确定没有被征集到的n-t个参与者;针没有被征集到的n-t个参与者中的某一个未被征集到的参与者aα,参与者am向t-1个参与者(即t个参与者中除am以外的参与者)收集参与者aα发送给t-1个参与者的私钥秘密{(x1,f(x1)),(x2,f(x2)),…(xt-1,f(xt-1))},并结合aα发送给自己的私钥秘密,得到{(x1,f(x1)),(x2,f(x2)),…(xt,f(xt))};
32、然后基于shamir门限方案,根据{(x1,f(x1)),(x2,f(x2)),…(xt,f(xt))}中的任意k个私钥秘密带入恢复公式其中xi、xj是第i、j个参与者自己随机选择的非零元素;得到唯一多项式f(x)后,将x=0带入多项式中,即可得到aα的私钥,也就是公式中的系数a0;
33、针对每一个没有被征集到的n-t个参与者中的每一个未被征集到的参与者,都采用上述方法过得对应的私钥,至此得到n个私钥,即s1至sn;
34、用户a一方获取时间戳t,生成随机消息m=hash(t),利用子密钥si对m进行签名得到秘钥签名ci;然后用户a一方将公钥p、账户地址,以及ci发出,向全网广播;
35、用户信息解密及验证模块:验证者b接收到信息后,首先b使用a的公钥p来解密账户地址;同时验证b收到的是a传出来的信息是否被篡改过,如果没有此次交易安全,完成一次基于金融管理中区块链的设备的安全通信。
36、有益效果:
37、本发明在rsa加密方式的基础上,基于shamir门限原理对秘钥的分配方式和持有方式进行了改进,保证了每个参与者只知道私钥的一部分且都不知道完整的私钥。在账户需要进行交易时,无需通过所有人进行门限签名,只需要去除私钥泄漏单节点、私钥丢失丢失单节点设备,以及无法参加签名的单节点设备外的节点设备大于门限值,依然可以在不知道完整的私钥的前提下完成通信交易,因此本发明可以有效的解决单节点私钥泄漏、丢失等情况的发生是,或者缺少个别节点签名的情况下,依然可以完成通信交易,而且在整个通信交易的过程中,由于每个参与者依然都不知道完整的私钥,所以也保证了金融管理中的安全性。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241716.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。