一种区块链密钥管理方法、多人共同签名方法及电子装置制造方法及图纸

技术编号:25550977 阅读:91 留言:0更新日期:2020-09-08 18:50
本发明专利技术提供一种区块链密钥管理方法、多人共同签名方法及电子装置,由链上和链下两部分组成,链上完成合约的执行和货币结算,链下完成密钥生成、数据加密和解密操作;对用户密钥和文件进行链上链下协同存储;对链上用户密钥和文件的检索和存储;对用户私钥进行存储和恢复;针对区块链中多方签名场景,利用多方安全计算完成协同私钥存储和签名;对用户的文件和密钥进行验证;对用户的密钥进行撤销和更新。本发明专利技术显著提高了区块链密钥的安全性,时间开销会非常低,空间开销也极为优秀,从而能为用户提供更加优质的服务。

【技术实现步骤摘要】
一种区块链密钥管理方法、多人共同签名方法及电子装置
本专利技术涉及信息安全技术和数据的加密管理方法
,尤其涉及一种区块链密钥管理方法、多人共同签名方法及电子装置。
技术介绍
区块链最初是在比特币中引用的,它是比特币的核心支持技术,具有去中心化,不可否认和可追踪性的特征。这确保了比特币等货币可以在不受信任的网络中进行价值转移。同时通过设计基于区块链的各种智能合约,人们可以使区块链适用于医疗,金融技术等各个领域。随着应用场景数量的增加,作为一种开发技术的区块链涉及多个交易的操作。这使得区块链的应用结构复杂且规模巨大。不仅如此,这使区块链面临更多问题。例如智能合约漏洞和密钥安全问题。用户密钥(包括公私钥和文件加密密钥等)是区块链的核心,其安全性问题是公众最关注的问题。人们愿意将其数据存储在区块链中,以使数据难以篡改并易于与他人共享。由于区块链上的区块是公开的,并由所有参与者共享。当这些块涉及私人数据时,当区块链的许多应用都涉及隐私数据时,有必要使用用户的密钥对数据进行加密,以保护用户的隐私和数据完整性。这个问题的核心是如何为区块链建立可行的密钥管理方案。现有的区块链密钥管理方法包括本地存储,离线存储和钱包存储。在本地存储中,密钥直接存储或加密存储在本地设备中。它很容易被攻击者读取和篡改,并且在物理设备损坏时无法恢复。在离线存储中,密钥存储在离线物理存储介质中,并且仍然需要网络,因此无法完全避免恶意软件入侵。钱包的类型分为冷钱包,本地钱包,在线钱包,多签名钱包和脱链钱包。但是,这些在安全性,易用性和成本方面存在一些不足之处。例如,在多签名钱包中,复杂的过程提高了安全性,但是极大地影响了易用性,并且相应的成本要高得多。同时,360信息安全部审计了钱包的安全风险。例如,不对核心代码进行强化,并记录用户的操作。它还总结了当前常见的钱包漏洞:托管钱包不仅破坏了区块链的去中心化,而且还恶意窃取了用户的密钥;受管钱包中存在后门攻击和单点故障的问题;门槛钱包使用门槛加密技术在多个设备中分配密钥,因此,需要多个设备来参与密钥的使用。这种方案在设计上存在一定的困难,并且算法高度复杂,无法扩展。Lei等提出了一种基于区块链的异构智能交通系统动态密钥管理方案(LeiA,CruickshankH,CaoY,etal.Blockchain-baseddynamickeymanagementforheterogeneousintelligenttransportationsystems[J].IEEEInternetofThingsJournal,2017,4(6):1832-1843.),该方案包括两个异构网络之间的密钥传递和动态密钥管理。他们发现,将区块链结构引入密钥管理方案可以提高密钥管理的效率和健壮性。但是此密钥管理方案的通用性受到限制,并且该密钥只能在特定环境中使用。Mingxin等提出了一种基于隐私的基于区块链的IoT分布式密钥管理方案(MaM,ShiG,LiF.Privacy-orientedblockchain-baseddistributedkeymanagementarchitectureforhierarchicalaccesscontrolintheIoTscenario[J].IEEEAccess,2019,7:34045-34059.),以实现分层访问控制。仿真结果表明,多区块链结构大大提高了系统性能,并且随着网络的发展,可扩展性非常好,但是这种方案的成本相对较大。中国专利申请CN106548345A提出了一种使用阈值算法对区块链私钥进行分区的方法,以实现多方参与密钥的保存,从而在一定程度上提高了私钥保存的安全性。但是,一旦用户的移动设备证书和密码丢失,该用户的密钥将无法恢复或泄露。Huawei等提出了一种用于健康区块链的高效密钥管理方案(ZhaoH,BaiP,PengY,etal.Efficientkeymanagementschemeforhealthblockchain[J].CAAITransactionsonIntelligenceTechnology,2018,3(2):114-118.)。他们将区块链服务网络(BSN)与健康区块链合并,并使用BSN中的生物传感器节点来备份和还原健康区块链的密钥。但是在这种情况下,生物传感器节点容易受到篡改,从而可能导致用户密钥丢失。夏冬等提出了一种基于图像信息隐藏的能量区块链私钥存储算法(夏冬,韦早裕,徐科,等.基于图像信息隐藏的能源区块链私钥存储算法[J].电力系统及其自动化学报,2019,31(1):7-11.)。它们在水印信息中隐藏了能源区块链的私钥。由于其解决方案的复杂性,总体效率相对较差。Kai等提出了一种密钥分层管理方法来保护大数据网络云中的密钥安全。但是在他的方案中,攻击者可以篡改用户的密钥(FanK,LouS,SuR,etal.Secureandprivatekeymanagementschemeinbigdatanetworking[J].Peer-to-PeerNetworkingandApplications,2018,11(5):992-999.)。丢失密钥后就无法恢复密钥,也无法更新。一旦忘记了用户名和密码或泄露了用户名和密码,将对用户造成无法弥补的损失。Junjun等提出了一种区块链命名数据网络密钥管理方案(LouJ,ZhangQ,QiZ,etal.Ablockchain-basedkeymanagementschemefornameddatanetworking[C]//20181stIEEEInternationalConferenceonHotInformation-CentricNetworking(HotICN).IEEE,2018:141-146.)。他们使用区块链技术来管理命名数据网络(NDN)密钥,从而解决了站点之间的相互信任问题。但是,该解决方案没有考虑用户私钥的安全性,也没有说明用户私钥的存储方式。一旦攻击者获得了用户的私钥,攻击者便可以使用被盗的私钥来冒充合法用户进行签名或解密,并且危害可能是灾难性的。刘敬浩等提出了一种用于区块链的分布式公钥管理方案(刘敬浩,平鉴川,付晓梅.一种基于区块链的分布式公钥管理方案研究[J].信息网络安全,2018,18(8):25-33.)。在此方案中描述了密钥生成,查询,更新和注销过程。但是,由于忽略了用户私钥的管理,因此解决方案仍然不够全面。Albakri等提出了一种基于二进制多项式的密钥管理方案(AlbakriA,HarnL,MaddumalaM.Polynomial-basedLightweightKeyManagementinaPermissionedBlockchain[C]//2019IEEEConferenceonCommunicationsandNetworkSecurity(CNS).IEEE,2019:1-9.)。尽管此方案在某些情况下减少了事务开销,但是加密文件时的加密时间大于对称加密开销。Huawei等设计了使用人类传感器网络的备份和健康区块链密钥恢复方案(Zhang本文档来自技高网...

【技术保护点】
1.一种区块链密钥存储方法,其步骤包括:/n1)生成公私钥对及基于生物特征的身份公私钥对,将公钥及身份公钥文件存储到区块链网络,并依据公私钥对进行用户认证;/n2)使用身份公钥对私钥加密得到私钥密文;/n3)选取n个已认证用户对私钥密文进行多方安全计算,将得到的n个子私钥密文存储在区块链节点上,并使用身份公钥对子私钥密文存储在区块链节点的文件进行加密。/n

【技术特征摘要】
1.一种区块链密钥存储方法,其步骤包括:
1)生成公私钥对及基于生物特征的身份公私钥对,将公钥及身份公钥文件存储到区块链网络,并依据公私钥对进行用户认证;
2)使用身份公钥对私钥加密得到私钥密文;
3)选取n个已认证用户对私钥密文进行多方安全计算,将得到的n个子私钥密文存储在区块链节点上,并使用身份公钥对子私钥密文存储在区块链节点的文件进行加密。


2.如权利要求1所述的方法,其特征在于,使用椭圆曲线算法生成公私钥对;通过以下步骤生成身份公私钥对及身份公钥文件:
1)利用特征提取设备提取存储用户生物特征;
2)使用模糊提取器生成公开参数与秘密参数;
3)将秘密参数的哈希值作为身份私钥;
4)通过秘密参数的哈希值与椭圆曲线中的基点,得到身份公钥;
5)通过身份公钥与公开参数,得到身份公钥文件。


3.如权利要求1所述的方法,其特征在于,通过挑战-响应协议进行用户认证,其步骤包括:
1)区块链各节点按照共识投票选出一个可靠协调者;
2)可靠协调者向存储用户发送一个挑战;
3)存储用户对挑战进行签名,并向可靠协调者发送一个响应;
4)可靠协调者使用公钥对收到的响应进行认证,以判断存储用户身份。


4.如权利要求1所述的方法,其特征在于,通过以下步骤对用户公钥、身份公钥文件、子私钥密文及子私钥密文进行存储:
1)将用户公钥、身份公钥文件、子私钥密文及子私钥密文存储在数据所有者的链下数据库中;
2)将存储的各地址值返回至链上,并结合数据哈希、数据所有者一起存储在链上索引表中。
其中,链上索引表采用红黑树形式的文件存储树存储每一类数据;通过以下步骤检索数据:
1)通过哈希映射的文件检索类别,使用分区方法定位子分类账-文件存储树;
2)通过文件存储树查找数据的链下数据库地址、数据哈希和数据所有者;
3)从文件存储节点中读取数据所有者,验证访问者的身份;读取链下数据库地址,访问链下数据库中的相应数据;读取数据哈希,验证从链下数据库获取的数据是否被篡改。


5.如权利要求1所述的方法,其特征在于,通过以下步骤得到各区块链节点是否正确获取子私钥密文:
1)将乘法群的一个p阶生成元为g=h(p-1)/qmodp,其中h为(1,p-1)中的随机数,p|(q-1),g>1),获得循环子群<g&g...

【专利技术属性】
技术研发人员:李兆轩章睿孙优苏倩倩
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

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

1