CN112784306B - 一种基于密钥分片多签的跨链托管方法及系统 - Google Patents
一种基于密钥分片多签的跨链托管方法及系统 Download PDFInfo
- Publication number
- CN112784306B CN112784306B CN202110138457.9A CN202110138457A CN112784306B CN 112784306 B CN112784306 B CN 112784306B CN 202110138457 A CN202110138457 A CN 202110138457A CN 112784306 B CN112784306 B CN 112784306B
- Authority
- CN
- China
- Prior art keywords
- key
- escrow
- chain
- asset
- signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于密钥分片多签的跨链托管方法及系统,具体实现步骤包括:搭建资产托管链,设置托管节点,部署密钥管理模块;同一周期内,密钥管理模块生成初始密钥,分解多个密文碎片分发至各托管节点;托管节点利用密文碎片生成签名份额,当签名份额超过预设值时,集合所持有的签名份额发送至密钥管理模块;密钥管理模块进行重组密钥,当重组密钥与初始密钥一致时,发送密钥认证码至托管节点,托管节点利用密钥认证码对托管资产验证确认签名;托管资产成功验证签名后利用合成资产进行资产跨链操作,利用该方法,在多签托管的基础上,进行分片密钥管理,并结合镜像资产映射最终实现不同链之间的安全高效的跨链流通。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种基于密钥分片多签的跨链托管方法及系统。
背景技术
区块链作为一种分布式账本技术,可以被应用诸多领域,但是受吞吐量、网络孤立性、监管、伸缩性等因素的制约,目前的区块链项目并不能很好的服务于商业应用,通过跨链实现链链互通几乎成为阻碍区块链发展的最大问题。目前多数资产跨链通过中心化网关跨链、多签托管跨链、镜像跨链、轻节点跨链等方式实现。
中心化网关跨链:由权威机构外部语言机Oracle模式输入的一种跨链办法,即由中心化组织从链的两端输入,经过引进外部力气接入跨链,相当于凭借第三方安排来完结跨链动作,与转账凭借银行一致,使用中心化操作虽然效率比较高,但存在安全隐患;
镜像跨链:通过最大资产镜像合成其他小额资产,来完结经济学上的虚拟跨链,利用经济学合成资产的概念;例如Synthetix利用其数字资产SNX,以超量兑换价值SNX(最大资产)来组成小额的其他财务,比如:大资产能抵押合成小资产,A链上的大资产可以合成B链的小资产,进而实现A到B的资产跨链。镜像跨链虽通过虚拟资产合成实现跨链,但需要统一安全的兑换和抵押规则来形成资产映射;
轻节点跨链:完全由代码来托管数据的交互,不需要任何中间人,定制多条链通用的跨链协议接口和通用的轻节点协议,块头Header跨链、交易transaction跨链和共识跨链。目前轻节点跨链协议其通用性技术尚未完结,适用性比较弱。
多签托管跨链:在单个中心化的根底上增加一组权威机构投票来承担跨链数据的交互,与议会准则相同,多方持有私钥来控制一个账户,从而达到多方安全托管的作用,但由于权威机构的不一致性,操作效率同时也大打折扣;
多重数字签名的概念首先被Okamoto和Takura等人发表并同时设计出一个具体的算法方案,多重签名可以将一个账户的权力分散在多个密钥上,防止一个密钥丢失导致整个账户失控的情况。一个账户的资产操作交易需要多个相对独立的私钥对一个消息明文进行签名,当签名数量足够多时交易才生效。因为在区块链系统的账户体现中直接支持多重签名算法需要更改整个区块链的架构设计,所以该方法的具体实现多用于智能合约中,事先规定好签名和需要的签名数量阈值。那么多重签名方法的安全性取决于智能合约的设计和实现,而且灵活性不高,因为智能合约一旦部署之后就很难更改。多重签名方法在一定的场景下能发挥其安全性,但是较低的灵活性很难得到广泛使用。
可见,目前的跨链技术不能解决日益增长的区块链对跨链共识的需求,亟待提出更有效的解决方案,现有技术中有相关安全多方计算的区块链隐私保护技术、密钥管理技术,利用安全多方计算进行跨链资产抵押签名并进一步实现资产跨链技术有待进一步研究。
发明内容
本发明基于上述背景和现有技术所存在的问题,拟设计一种基于密钥分片多签的跨链托管方法及系统。
一种基于密钥分片多签的跨链托管方法,在多签托管的基础上,利用安全多方计算进行分片密钥管理,增加资产跨链的隐私安全,由托管节点组成多签托管网络,为系统提供算力,维护系统正常运行,并结合镜像跨链生成合成资产进行跨链流通,具体实现步骤包括:
在资产托管链上部署托管节点,多个托管节点形成多签网络,在多签网络中部署密钥管理模块;
部署托管节点形成多签网络是为了为本发明中的镜像跨链提供安全多方托管密钥的环境及通信途径;设置密钥管理模块,该模块是密钥托管的核心,相当于为镜像跨链中资产托管提供一个自动密钥管理装置,无需人为控制,实现去中心化密钥管理;
设置密钥托管执行周期,在同一周期内,响应资产托管请求,密钥管理模块生成初始密钥,并将密钥加密分片生成多个密文碎片分发至各托管节点;
设置密钥托管执行周期,让密钥管理模块在响应每一次资产托管请求时均进行密钥管理,循环更新,提高密钥托管执行的安全性;
托管节点利用其持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,集合其所持有的签名份额发送至密钥管理模块;预设值是预先设置的签名份额阈值,此阈值就是为签名份额而设置的,去判断托管节点收到的签名份额是否达到发送至密钥管理模块的条件范围;
利用密文碎片生成的签名份额不是真正的验证签名,生成签名份额代表该托管节点参与本次密钥托管,并有可能最终进行资产托管的验证签名从而获得签名激励;签名份额是包含密文碎片和托管节点id的数集;
密钥管理模块收到集合的签名份额生成重组密钥,当重组密钥与初始密钥一致时,生成密钥认证码并发送至相应托管节点,托管节点接收密钥认证码对托管资产验证签名;
该过程通过重组密钥验证进一步防止某些托管节点发送恶意签名份额,并获取重组密钥密文进行验证签名,比如,当某一托管节点收到m个签名份额,m大于签名份额阈值,而自己进行恶意签名,此时便可集合(m+1)个签名份额,发送至密钥管理模块获取重组密钥密文。增加重组密钥验证,由于其提供恶意签名份额导致重组密钥与初始密钥不一致,便可阻止该托管节点获取重组密钥密文;
关联密钥关联模块部署智能合约,托管资产成功验证签名并广播后调用智能合约镜像映射目标链的合成资产,利用合成资产进行资产跨链操作。
资产托管就是将跨链用户的原始资产通过托管节点的多方安全签名验证,托管在资产托管链上,相当于抵押了原始资产,进而镜像映射合成资产,进行不同链之间的跨链资产价值流转。
进一步地,所述资产托管链用于托管跨链原始资产并生成合成资产的中继链;在资产托管链上部署托管节点,所述托管节点是其他节点通过抵押资产产生,其他节点可以是原始链和目标链上的参与节点,也可以是交易权威机构专门设计的多签节点,类似于多签跨链中的多签节点,增加具有密钥托管和托管资产交易验证权限;托管节点之间通过TLS加密安全通道进行通信,形成密钥多签网络;所述密钥管理模块基于多方计算协议执行密钥管理,并且密钥管理模块不可被调用,只响应执行操作。
其中,密钥管理模块是执行密钥管理的核心模块,该模块不允许用户或节点以任何形式调用,只自动响应外部条件,保证其内部生成密钥的安全,也就是说在密钥管理模块中生成的密钥是不被任何人可见或可预知的。
另外,TLS是安全传输层协议。安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。较低的层为TLS记录协议,位于某个可靠的传输协议上面。TLS加密安全通道必须配置客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协议通信端口(例如:用于HTTPS的端口443)。另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接。
特别地,所述基于多方计算协议(MPC)执行密钥管理包括密钥生成、密钥分片、重组密钥、密钥验证识别、重组密钥加密返回,具体如下:
密钥生成:利用随机密钥生成器生成初始密钥;随机密钥生成器比如urandom函数属于真随机函数,相比于伪随机函数,urandom是内核态的随机数生成器,内核有权访问设备的熵,内核可以确保,不在应用程序间,共享相同的状态。
密钥分片:利用Shamir密钥共享算法将初始密钥加密成n个密文碎片,其中n由托管节点数量决定,也就说初始密钥加密成的密文碎片个数与本次执行密钥管理周期内的托管节点数量一致;
密钥重组:承接密钥分片,设置解密阈值,当接收到密文碎片达到解密阈值时,由矩阵乘法或Lagrange插值法解密重组密钥;若接收到的密文碎片未达到解密阈值时,拒绝重组密钥,所述的解密阈值遵循拜占庭规则要大于碎片个数的一半以上;
密钥验证识别:验证重组密钥与初始密钥是否一致;以此来判断是否有恶意托管节点进行提供恶意签名份额;
密钥认证码(MAC):重组密钥与初始密钥一致时,生成密钥认证码并返回至托管节点。密钥认证码用于确认密钥是由密钥管理模块创建,并准许托管节点进行确认签名的证书或凭证。
进一步地,根据资产托管链区块时间戳记录单次跨链资产托管执行时间作为密钥托管执行周期,密钥管理模块根据密钥托管执行周期循环更新密钥管理,包括密钥生成、加密密钥分片、密钥验证识别及生成密钥认证码;也就是说将每次跨链资产托管执行流程所用的时间作为一个密钥托管执行周期,每一次执行密钥托管均是独立没有关联的,进一步保证密钥托管执行的安全性,在某一个执行周期内密钥管理模块的具体操作如下:
所述密钥管理模块关联托管节点,实时记录托管节点id及数量,生成托管节点列表;托管节点列表实时记录托管节点的数量和id,为密钥管理模块进行密钥分片和密文碎片分配至托管节点提供依据;
密钥管理模块响应资产托管方请求调用多方计算协议生成初始密钥,根据托管节点列表中托管节点的数量,将初始密钥分成多个密文碎片,其中密文碎片个数与参与托管节点数量一致;
调取托管节点列表中的托管节点id,利用随机函数(比如去中心化随机函数DRF及基于秘密共享的伪随机函数Secret sharing based-pseudorandom)将密文碎片随机发送至各托管节点进行存储。
进一步地,托管节点利用其持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,集合其所持有的签名份额发送至密钥管理模块包括如下:
响应资产托管链上广播的跨链资产托管交易,托管节点进行交易验证,利用所持密文碎片签名生成其签名份额,并将签名份额广播至其他托管节点;设置签名份额阈值,当托管节点收到的签名份额大于阈值时,集合其持有的所有签名份额发送至密钥管理模块;其中签名份额阈值大于2/3托管节点数量,等于或大于解密阈值;
限定签名份额预设值大于2/3托管节点数量,等于或大于解密阈值;即保证大多数托管节点参与资产托管的监督验证,又可以快速响应密钥管理模块进行密钥重组和识别验证。
进一步地,密钥管理模块收到集合的签名份额生成重组密钥,当重组密钥与初始密钥一致时,生成密钥认证码并发送至相应托管节点,托管节点接收密钥认证码对托管资产验证签名包括如下:
安全计算模块将收到的签名份额进行安全多方计算获取重组密钥密文,并进行同态解密生成重组密钥,验证重组密钥是否与初始密钥一致;
重组密钥是与初始密钥一致,安全计算模块发送密钥认证码到相应托管节点,所述托管节点利用收到的密钥认证码和签名份额再次对跨链资产托管交易进行确认签名,完成跨链资产托管;
重组密钥是与初始密钥不一致,安全计算模块拒绝发送密钥认证码到相应托管节点,验证签名失败。
在资产托管验证签名过程中,密钥始终没有以明文的形式出现,是以模块程序计算的形式自动执行,解决了多重签名的安全性和镜像资产托管抵押一致性。
进一步地,还包括:在所述密钥托管执行周期内,托管节点包括跨链资产托管方,所述跨链资产托管方所持有的密文碎片生成的签名份额被标注执行标识,所述密钥管理模块响应收到签名份额集合进行执行标识验证,签名份额集合包含执行标识时执行密钥重组验证。
也就是说跨链资产托管方作为其中一个托管节点加入本次资产托管验证,并且其所生成的签名份额具有一票否决权,在跨链资产托管方本身没有提供签名份额的情况下,密钥管理模块是不被响应调用安全多方计算协议进行密钥管理,原始资产是不可能被移动托管的,从而提高了资产托管的安全,大幅度降低对托管节点抵押资产数量要求,甚至可以低于跨链的价值。
进一步地,关联密钥关联模块部署智能合约,托管资产成功验证签名并广播后调用智能合约镜像映射目标链的合成资产,利用合成资产进行资产跨链操作,具体如下:
关联密钥管理模块在资产托管链上部署跨链合约,该智能合约负责托管资产的锁定和释放以及合成资产的生成与销毁,托管节点利用签名份额和密钥认证码对托管资产进行验证签名,成功签名后发布广播,当托管资产经超过2/3的托管节点验证签名后,密钥管理模块响应广播调用跨链合约锁定托管资产,并对目标链资产进行镜像模拟,发行合成资产,其中所述合成资产是通过预言机复制目标链资产价格,在跨链生成相应的虚拟资产;
响应跨链资产托管方调用智能合约在所述合成资产之间进行价值转换,实现资产跨链操作。
通过抵押原始资产获得跨链资产,再使用跨链资产来交易其他链的合成资产,实现所有资产的同链交易场景;合成资产就是对目标资产的镜像模拟,如同传统金融市场上的衍生品,可以锚定目标资产的交易对象,创建一类虚拟资产,可以直接在区块链上标识这些传统的交易市场,通过预言机去复制他们的价格,从而实现链上交易。合成资产所做到的只是复制了锚定物的价格,让用户可以直接在链上进行这些虚拟资产的交易。
进一步地,所述托管节点通过抵押资产获取托管许可,通过托管密文碎片并进行签名获取经济回报,同时设计惩罚制度,惩罚恶意签名的托管节点,并且惩罚力度超过其预期回报。通过设置经济激励和惩罚制度管理托管节点有序进行密钥托管和托管资产的验证签名。
进一步地,设计一种基于密钥分片多签的跨链托管系统,包括部署在资产托管链上的若干个托管节点并形成多签网络和部署在多签网络中的密钥管理模块以及关联密钥管理模块部署在资产托管链上的智能合约:
所述多签网络,用于设置密钥托管执行周期,在每个周期内,响应资产托管的请求,密钥管理模块发送的请求生成初始密钥,并将密钥加密分片生成多个密文碎片分发至每个托管节点;
所述托管节点基于持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,将所持有的签名份额进行汇总并发送至密钥管理模块;
所述密钥管理模块基于接收到汇总的签名份额生成重组密钥,判断重组密钥与初始密钥是否一致,若一致则发送密钥认证码至相应托管节点,托管节点接收密钥认证码对托管资产验证确认签名;
所述智能合约用于托管资产的锁定和释放以及合成资产的生成与销毁;
关联密钥管理模块部署智能合约,托管资产成功验证签名并广播后响应签名验证广播调用智能合约进行镜像映射目标链的合成资产,利用合成资产进行资产跨链操作。
本发明设计一种基于密钥分片多签的跨链托管方法,再多重签名的基础上,增加利用多方安全计算获得的密钥分片管理,在去中心化的前提下进一步保证跨链资产托管的安全性,并且再进一步通过镜像跨链进行资产的虚拟映射,实现不同链之间的安全高效的跨链流通。
附图说明
图1为本发明整体结构示意图;
图2为本发明密钥管理模块示意图;
图3为本发明同一周期内密钥管理模块操作流程图;
图4为本发明中对跨链托管资产进行签名验证的示意图;
图5为本发明基于密钥分片多签的跨链托管系统示意图。
具体实施方式
为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施,其具体实现的交互过程可用常见的资产交易过程为例来描述,以方便本领域技术人员的理解。
具体实施例1:
一种基于密钥分片多签的跨链托管方法,如图1为其整体结构示意图,具体实现步骤包括:
(1)在资产托管链上部署托管节点,多个托管节点形成多签网络,在多签网络中部署密钥管理模块;
(2)设置密钥托管执行周期,在同一周期内,响应资产托管请求,密钥管理模块生成初始密钥,并将密钥加密分片生成多个密文碎片分发至各托管节点;
(3)托管节点利用其持有的密文碎片生成签名份额并广播至其他托管节点,设置签名份额阈值,当托管节点收到的签名份额超过阈值时,集合其所持有的签名份额发送至密钥管理模块;
(4)密钥管理模块收到集合的签名份额生成重组密钥,当重组密钥与初始密钥一致时,发送密钥认证码至相应托管节点,托管节点接收密钥认证码对托管资产验证确认签名;
(5)托管资产成功验证签名后镜像映射目标链的合成资产,利用合成资产进行资产跨链操作。
在本实施例中,在某一个密钥托管执行周期内,参与托管的节点共有n个,这些托管节点分别抵押其持有的资产M在资产托管链上,获取资产托管签名验证和密钥存储的权限,托管节点的id地址为:multisig_addr(1…n),托管节点之间通过TLS加密安全通道进行通信,关联托管节点设计密钥管理模块执行密钥管理,该模块内置MPC协议,用于资产托管验证签名的密钥管理,不被任一节点调用,只响应执行操作。
如图2为本发明密钥管理模块示意图,基于多方计算协议(MPC)执行密钥管理包括密钥生成、密钥分片、重组密钥、密钥验证识别、重组密钥加密返回,其实现逻辑具体如下:
密钥生成:利用os.urandom函数随机产生m个字节(0-255)的字符串,结合binascii库,生成m*2位的随机private_key=0x3a4d…;
密钥分片:利用Shamir密钥共享算法将初始密钥加密成n个密文碎片,具体如下:
Shamir密钥共享算法由一个二元数(k,n)表示,其中n表示将明文private_key加密为n个密文碎片Shadow(1…n),k表示必须至少同时拥有k个Shadow才能解密获得成密钥private_key。
对于待加密的private_key∈Zps∈Zp(为大素数),在有限群GF(p)任取(k-1)个随机数a1,a2,…,ak-1,并令a0=private_key,从而构造如下的多项式:
f(x)=a0+a1x+a2x2+a3x3+...+ak-1xk-1mod(p) (1)
对于这个多项式,任取n个数x1,x2,x3,…,xn分别带入多项式得到n个密钥对:
y=f(xi)=a0+a1xi+a2xi 2+a3xi 3+...+ak-1xi k-1mod(p);i=(1...n) (2)
密钥重组:承接密钥分片,设置解密阈值即k(k>1/2n),当接收到密文碎片达到解密阈值k时,由矩阵乘法或Lagrange插值法解密重组密钥;若接收到的密文碎片未达到解密阈值时,拒绝重组密钥:
假设得到了k个密钥对{x1,y1}{x2,y2}…{xk,yk},可以得到如下方程(运算均在GF(p)):
a0+a1x1+a2x1 2+a3x1 3+...+ak-1x1 k-1=y1
a0+a1x2+a2x2 2+a3x2 3+...+ak-1x2 k-1=y2
a0+a1x3+a2x3 2+a3x3 3+...+ak-1x3 k-1=y3
…………………………………
a0+a1xk+a2xk 2+a3xk 3+...+ak-1xk k-1=yk (3)
由矩阵乘法或者Lagrange插值法均可求的a0即为重组密钥private_key’.
密钥验证识别:若k个密钥对{x1,y1}{x2,y2}…{xk,yk}均为真实密钥碎片,则private_key’=private_key,若有任一密钥对不是由公式(1)计算得来的,则private_key’≠private_key;
密钥认证码(MAC):基于信息论生成MAC检查程序,针对密钥某一密钥对yt,private_key’=private_key时,输出密钥认证码(MAC),当private_key’≠private_key时,输出φ,即失败。
相应资产托管执行一次作为一个密钥托管执行周期T,每执行一次资产托管验证后均会进行密钥刷新,也就是托管节点持有的密文碎片也会刷新,托管节点不可以用上一周期的密文碎片去验证签名当次资产托管,如图3所示,在一个执行周期T内密钥管理模块的具体操作如下:
Step1:所述密钥管理模块关联托管节点,实时记录托管节点id及数量,生成托管节点列表;
Step2:密钥管理模块响应资产托管方请求调用多方计算协议生成初始密钥private_key,根据托管节点列表中托管节点的数量,将初始密钥分成n个密文碎片Shadow(1…n);
Step3:调取托管节点列表中的托管节点id,利用随机函数(比如去中心化随机函数DRF及基于秘密共享的伪随机函数Secret sharing based-pseudorandom)将密文碎片随机发送至各托管节点进行存储。
同样,响应资产托管链上广播的跨链资产托管交易tx,托管节点进行交易验证,托管节点生成一个多签地址(账户)Account(multisig_id),这个多签地址实际上是没有私钥,存储密钥管理模块分配的密文碎片Shadowi(i=1…n)的资产托管链账户,多签节点i利用其存储的Shadowi生成签名份额{Shadowi,multisig_idi},将其生成的{Shadowi,multisig_idi}发送至其他节点,当多签节点i收到的签名份额集合:
在该过程中,跨链资产托管方user设置所属托管节点,并获取Shadowuser,生成签名份额{Shadowuser,multisig_iduser},利用其multisig_iduser作为其执行标识;
Step6:验证private_key’与初始密钥private_key是否相同;
Step7:若相同,则发送MAC密钥认证码至托管节点A,若不相同则反馈失败,并启动惩罚制度对A做出惩罚;
在该过程中,若跨链资产托管方user想终止交易,仅需不生成所属的签名份额,密钥管理模块将不进行密钥管理,则交易回滚。
托管节点A在收到MAC密钥认证码后,利用{Shadowuser,multisig_iduser,MAC}对托管资产进行签名验证;
如图4所示,为本发明中对跨链托管资产进行签名验证的示意图,经过密钥管理模块完全封闭的密钥生成进而分解为多个密文碎片后分配给托管节点,托管节点生成所属签名份额后发送密钥管理模块进行重组密钥验证,验证成功后,利用签名份额和签名认证码完成验证签名;
关联密钥管理模块在托管链上部署智能合约,该智能合约负责托管资产的锁定和释放以及合成资产的生成与销毁,跨链资产托管验证签名并广播,超过2/3的托管节点验证签名则验证成功,验证成功后托管资产存被锁定在跨链合约中,通过预言机复制目标链资产价格,生成合成资产;通过合成资产与托管资产的价值转换实现资产跨链的操作,比如,托管资产价值为a,在资产托管链上托管,目标链资产b根据其经济价值在资产托管链上生成合成资产b’,如此,在资产托管链上a和b’进行同链间的价值转换,进一步实现资产a与目标链上资产b的跨链转换。
在托管期间,由于托管节点可以是权威机构,也可以是参与机构,也可以是运维机构控制的服务器网关节点等,故设置经济激励制度和惩罚制度,若出现恶意签名或恶意托管,给予惩罚,若成功验证签名则给予奖励,以此来维持托管节点的正常运行。
结合本发明方法设计一种基于密钥分片多签的跨链托管系统,如图5所示,包括部署在资产托管链上的若干个托管节点并形成多签网络和部署在多签网络中的密钥管理模块以及关联密钥管理模块部署在资产托管链上的智能合约:
多签网络,用于设置密钥托管执行周期,在每个周期内,响应资产托管的请求,密钥管理模块发送的请求生成初始密钥,并将密钥加密分片生成多个密文碎片分发至每个托管节点;
托管节点基于持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,将所持有的签名份额进行汇总并发送至密钥管理模块;
密钥管理模块基于接收到汇总的签名份额生成重组密钥,判断重组密钥与初始密钥是否一致,若一致则发送密钥认证码至相应托管节点,托管节点接收密钥认证码对托管资产验证确认签名;
所述智能合约用于托管资产的锁定和释放以及合成资产的生成与销毁;关联密钥管理模块部署智能合约,托管资产成功验证签名并广播后响应签名验证广播调用智能合约进行镜像映射目标链的合成资产,利用合成资产进行资产跨链操作。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (10)
1.一种基于密钥分片多签的跨链托管方法,其特征在于,在资产托管链上部署若干个托管节点并形成多签网络,在多签网络中部署密钥管理模块,所述跨链托管方法包括以下步骤:
设置密钥托管执行周期,在每个周期内,响应资产托管的请求, 密钥管理模块生成初始密钥,并将所述初始密钥加密分片生成多个密文碎片分发至每个托管节点;
托管节点基于持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,将所持有的签名份额进行汇总并发送至密钥管理模块;
密钥管理模块基于接收到汇总的签名份额生成重组密钥,判断重组密钥与初始密钥是否一致,若一致则发送密钥认证码至相应托管节点,托管节点接收密钥认证码对托管资产验证确认签名;
关联密钥管理模块部署智能合约,托管资产成功验证签名并广播后进行镜像映射目标链的合成资产,利用合成资产进行资产跨链操作。
2.根据权利要求1所述的基于密钥分片多签的跨链托管方法,其特征在于,所述资产托管链为基于托管跨链原始资产并生成合成资产的中继链,所述托管节点是多签节点通过抵押资产产生,具有密钥托管和托管资产交易验证权限;托管节点之间通过TLS加密安全通道进行通信,形成密钥多签网络;其中所述TLS为安全传输协议;所述密钥管理模块基于多方计算协议执行密钥管理。
3.根据权利要求2所述的基于密钥分片多签的跨链托管方法,其特征在于,所述密钥管理包括步骤:密钥生成、密钥分片、重组密钥、密钥验证识别及密钥认证码,具体如下:
密钥生成:利用随机密钥生成器生成初始密钥;
密钥分片: 利用Shamir密钥共享算法将初始密钥加密成多个密文碎片,其中,所述密文碎片的个数由托管节点数量决定;
密钥重组:设置解密阈值,当接收到密文碎片达到解密阈值时,由矩阵乘法或Lagrange插值法解密重组密钥;
密钥验证识别:验证重组密钥与初始密钥是否一致;
密钥认证码:验证重组密钥与初始密钥一致时,生成密钥认证码并返回至相应托管节点。
4.根据权利要求1所述的基于密钥分片多签的跨链托管方法,其特征在于,所述执行周期为根据资产托管链区块时间戳记录单次跨链资产托管执行时间确定的,密钥管理模块根据密钥托管执行周期循环更新密钥管理;所述根据密钥托管执行周期循环更新密钥管理,具体步骤如下:
将所述密钥管理模块托管节点进行关联,实时记录托管节点id及数量,生成托管节点列表;
密钥管理模块响应资产托管方请求调用多方计算协议生成初始密钥,基于托管节点列表中记录的托管节点数量将初始密钥分配成多个密文碎片,其中,密文碎片个数与参与托管节点数量一致;
根据托管节点id将密文碎片随机发送至各托管节点进行存储。
5.根据权利要求1所述的基于密钥分片多签的跨链托管方法,其特征在于,所述托管节点基于持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,将所持有的签名份额进行汇总并发送至密钥管理模块,具体步骤为:
响应资产托管链上广播的跨链资产托管交易,托管节点进行交易验证,利用所持密文碎片签名生成其签名份额,并将签名份额广播至其他托管节点;
预先设置签名份额阈值,当托管节点收到的签名份额大于阈值时,汇总其持有的所有签名份额发送至密钥管理模块。
6.根据权利要求4所述的基于密钥分片多签的跨链托管方法,其特征在于,所述判断重组密钥与初始密钥是否一致,若一致则发送密钥认证码至相应托管节点,托管节点接收密钥认证码对托管资产验证确认签名,具体步骤如下:
密钥管理模块将收到的签名份额进行安全多方计算获得重组密钥,并进行密钥验证识别,验证重组密钥是否与初始密钥一致;
重组密钥是与初始密钥一致,安全计算模块生成密钥认证码返回到相应托管节点,所述托管节点利用收到的生成密钥认证码和签名份额再次对跨链资产托管交易进行确认签名,完成跨链资产托管;
重组密钥是与初始密钥不一致,安全计算模块拒绝生成密钥认证码操作,验证签名失败。
7.根据权利要求1或6所述的基于密钥分片多签的跨链托管方法,其特征在于,还包括以下步骤:
在所述密钥托管执行周期内,托管节点包括跨链资产托管方,所述跨链资产托管方所持有的密文碎片生成的签名份额标注执行标识,所述密钥管理模块响应收到签名份额汇总,对签名份额进行验证是否包含执行标识,若包含执行标识则进行执行密钥重组验证。
8.根据权利要求1所述的基于密钥分片多签的跨链托管方法,其特征在于,关联密钥管理模块部署智能合约,托管资产成功验证签名并广播后进行镜像映射目标链的合成资产,利用合成资产进行资产跨链操作,具体步骤如下:
关联密钥管理模块在资产托管链上部署跨链合约,所述托管资产经超过2/3的托管节点确认签名并广播后,响应确认签名广播密钥管理模块调用跨链合约锁定托管资产,并对目标链资产进行镜像模拟,发行合成资产,其中,所述合成资产通过预言机复制目标链资产价格,在跨链生成相应的虚拟资产;
响应跨链资产托管方调用智能合约在所述合成资产之间进行价值转换,实现资产跨链操作。
9.根据权利要求1所述的基于密钥分片多签的跨链托管方法,其特征在于,所述托管节点通过抵押资产获取托管许可,通过托管密文碎片并进行签名获取经济回报,同时设计惩罚制度,惩罚恶意签名的托管节点,并且惩罚力度超过其预期回报。
10.一种基于密钥分片多签的跨链托管系统,其特征在于,包括部署在资产托管链上的若干个托管节点并形成多签网络和部署在多签网络中的密钥管理模块以及关联密钥管理模块部署在资产托管链上的智能合约:
所述多签网络,用于设置密钥托管执行周期,在每个周期内,响应资产托管的请求,密钥管理模块发送的请求生成初始密钥,并将所述初始密钥加密分片生成多个密文碎片分发至每个托管节点;
所述托管节点基于持有的密文碎片生成签名份额并广播至其他托管节点,当托管节点收到的签名份额超过预设值时,将所持有的签名份额进行汇总并发送至密钥管理模块;
所述密钥管理模块基于接收到汇总的签名份额生成重组密钥,判断重组密钥与初始密钥是否一致,若一致则发送密钥认证码至相应托管节点,托管节点接收密钥认证码对托管资产验证确认签名;
所述智能合约用于托管资产的锁定和释放以及合成资产的生成与销毁;
关联密钥管理模块部署智能合约,托管资产成功验证签名并广播后响应签名验证广播调用智能合约进行镜像映射目标链的合成资产,利用合成资产进行资产跨链操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110138457.9A CN112784306B (zh) | 2021-02-01 | 2021-02-01 | 一种基于密钥分片多签的跨链托管方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110138457.9A CN112784306B (zh) | 2021-02-01 | 2021-02-01 | 一种基于密钥分片多签的跨链托管方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112784306A CN112784306A (zh) | 2021-05-11 |
CN112784306B true CN112784306B (zh) | 2023-01-31 |
Family
ID=75760340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110138457.9A Active CN112784306B (zh) | 2021-02-01 | 2021-02-01 | 一种基于密钥分片多签的跨链托管方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112784306B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469809A (zh) * | 2021-06-18 | 2021-10-01 | 巨建华 | 一种数字资产跨链交易方法及系统 |
CN114172661B (zh) * | 2021-12-03 | 2023-12-08 | 杭州链网科技有限公司 | 一种数字资产的双向跨链方法、系统及装置 |
CN114978514B (zh) * | 2022-07-27 | 2022-11-01 | 杭州友恭科技有限公司 | 密钥管理方法、系统、装置、电子装置和存储介质 |
CN115499175B (zh) * | 2022-08-31 | 2023-08-15 | 临沂大学 | 一种基于私钥存储的数字产品授权方法及系统 |
CN115809459B (zh) * | 2023-01-18 | 2023-08-15 | 成都卫士通信息产业股份有限公司 | 软件密码模块的数据保护及解密方法、系统、设备及介质 |
CN117811735A (zh) * | 2024-03-01 | 2024-04-02 | 云筑信息科技(成都)有限公司 | 一种基于社会关系图谱的密钥托管方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629583A (zh) * | 2018-04-16 | 2018-10-09 | 上海分赋信息科技有限公司 | 基于分布式技术实现数字资产在映射链上的映射系统及相应方法 |
CN111130808A (zh) * | 2020-03-26 | 2020-05-08 | 杭州智块网络科技有限公司 | 一种用于区块链的跨链资产映射方法及系统 |
CN111327597A (zh) * | 2020-01-21 | 2020-06-23 | 暨南大学 | 基于区块链隐私保护和细粒度访问控制的数字取证方法 |
CN111639361A (zh) * | 2020-05-15 | 2020-09-08 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
US10903991B1 (en) * | 2019-08-01 | 2021-01-26 | Coinbase, Inc. | Systems and methods for generating signatures |
-
2021
- 2021-02-01 CN CN202110138457.9A patent/CN112784306B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629583A (zh) * | 2018-04-16 | 2018-10-09 | 上海分赋信息科技有限公司 | 基于分布式技术实现数字资产在映射链上的映射系统及相应方法 |
WO2019200765A1 (zh) * | 2018-04-16 | 2019-10-24 | 上海分赋信息科技有限公司 | 基于分布式技术实现数字资产在映射链上的映射系统及相应方法 |
US10903991B1 (en) * | 2019-08-01 | 2021-01-26 | Coinbase, Inc. | Systems and methods for generating signatures |
CN111327597A (zh) * | 2020-01-21 | 2020-06-23 | 暨南大学 | 基于区块链隐私保护和细粒度访问控制的数字取证方法 |
CN111130808A (zh) * | 2020-03-26 | 2020-05-08 | 杭州智块网络科技有限公司 | 一种用于区块链的跨链资产映射方法及系统 |
CN111639361A (zh) * | 2020-05-15 | 2020-09-08 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112784306A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784306B (zh) | 一种基于密钥分片多签的跨链托管方法及系统 | |
CN108600227B (zh) | 一种基于区块链的医疗数据共享方法及装置 | |
CN113256290B (zh) | 去中心化加密通讯与交易系统 | |
Fan et al. | TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability | |
CN101807991A (zh) | 密文政策属性基加密系统和方法 | |
JP2023500570A (ja) | コールドウォレットを用いたデジタルシグニチャ生成 | |
CN110111102A (zh) | 一种基于区块链技术的虚拟交通卡系统及发行交易方法 | |
CN113360925A (zh) | 电力信息物理系统中可信数据的存储和访问方法及系统 | |
CN112187450A (zh) | 密钥管理通信的方法、装置、设备及存储介质 | |
CN117201132A (zh) | 一种完全去中心化的多委员会属性基加密方法及其应用 | |
CN113643134A (zh) | 基于多密钥同态加密的物联网区块链交易方法及系统 | |
Xu et al. | Accountable and fine-grained controllable rewriting in blockchains | |
Liu et al. | Multiauthority Attribute‐Based Access Control for Supply Chain Information Sharing in Blockchain | |
CN112654972A (zh) | 具有受限交易的区块链设置 | |
CN117200966A (zh) | 一种基于分布式身份和联盟链的可信授权数据共享方法 | |
WO2000019652A1 (en) | Distributed shared key generation and management using fractional keys | |
CN110717760A (zh) | 基于区块链的一站式高效pki认证服务方法 | |
Rana et al. | A comprehensive survey of cryptography key management systems | |
CN102624748B (zh) | 一种对等网络的访问控制方法 | |
Zhu et al. | A one-round quantum mutual authenticated key agreement protocol with semi-honest server using three-particle entangled states | |
CN115086337A (zh) | 文件处理方法、装置、存储介质以及电子设备 | |
Kavitha et al. | A completely distributed blockchain period authentication framework | |
Tabassum et al. | Securely Transfer Information with RSA and Digital Signature by using the concept of Fog Computing and Blockchain | |
Jeong et al. | Key agreement for key hypergraph | |
CN116155619B (zh) | 数据处理方法、数据请求端、数据拥有端及数据处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |