CN110545190B - 一种签名处理的方法、相关装置以及设备 - Google Patents

一种签名处理的方法、相关装置以及设备 Download PDF

Info

Publication number
CN110545190B
CN110545190B CN201910843355.XA CN201910843355A CN110545190B CN 110545190 B CN110545190 B CN 110545190B CN 201910843355 A CN201910843355 A CN 201910843355A CN 110545190 B CN110545190 B CN 110545190B
Authority
CN
China
Prior art keywords
signature
information
management server
key management
block chain
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
Application number
CN201910843355.XA
Other languages
English (en)
Other versions
CN110545190A (zh
Inventor
温伟力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910843355.XA priority Critical patent/CN110545190B/zh
Publication of CN110545190A publication Critical patent/CN110545190A/zh
Application granted granted Critical
Publication of CN110545190B publication Critical patent/CN110545190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Abstract

本申请公开了一种签名处理的方法,包括:获取第一区块链节点的第一待处理数据,第一待处理数据中包括第一目标数据;向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;接收签名服务器发送的签名信息;向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。本申请还公开了一种签名处理的装置以及设备。整个签名处理的过程都在签名服务器中进行,将私钥保存在签名服务器侧,可以防止由于区块链节点被攻破而导致私钥泄露的隐患,将签名处理的工作从区块链节点中剥离出来,减轻区块链节点的工作负荷。

Description

一种签名处理的方法、相关装置以及设备
技术领域
本申请涉及信息安全技术领域,尤其涉及一种签名处理的方法、相关装置以及设备。
背景技术
区块链提供信任机制,具备改变金融基础架构的潜力,各类金融资产都可以被整合到区块链账本中,成为链上的数字资产,在区块链上进行存储、转移和交易。区块链技术的去中心化能够降低金融企业交易成本,使交易更加便捷、直观且安全。
目前,区块链节点的私钥都是存储在本地的配置文件中,区块链节点利用本地的私钥实现签名处理,比如加签或验签处理。
然而,一旦区块链节点被攻击,就很可能造成私钥泄露,进而导致更严重的损失,比如数字资产或隐私数据被窃取。与此同时,区块链节点往往需要处理大量数据,签名处理的操作会给区块链节点带来较大的工作负荷。
发明内容
本申请实施例提供了一种签名处理的方法、相关装置以及设备,由于整个签名处理的过程都在签名服务器中进行,一方面将私钥保存在签名服务器侧,可以防止由于区块链节点被攻破而导致私钥泄露的隐患,另一方面,将签名处理的工作从区块链节点中剥离出来,从而减轻区块链节点的工作负荷。
有鉴于此,本申请第一方面提供一种签名处理的方法,包括:
密钥管理服务器获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据;
密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;
密钥管理服务器接收签名服务器发送的签名信息;
密钥管理服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。
本申请第二方面提供一种签名处理的方法,包括:
在密钥管理服务器获取第一区块链节点的第一待处理数据之后,第二区块链节点接收密钥管理服务器发送的签名信息,其中,签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,第一目标数据包含于第一待处理数据中;
第二区块链节点根据签名信息生成签名验证结果;
第二区块链节点将签名验证结果记录至区块链账本。
本申请第三方面提供一种签名处理装置,包括:
获取单元,用于获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据;
发送单元,用于向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;
接收单元,用于接收签名服务器发送的签名信息;
发送单元,还用于向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。
在一种可能的设计中,在本申请实施例的第三方面的第一种实现方式中,获取单元具体用于:
接收第一区块链节点发送的第一待处理数据;
或,
通过第一区块链节点获取第一待处理数据。
在一种可能的设计中,在本申请实施例的第三方面的第二种实现方式中,
接收单元,还用于收第二区块链节点发送的连接请求,其中,连接请求中携带第二区块链节点的身份验证信息;
签名处理装置还包括:验证单元,用于根据连接请求,对第二区块链节点进行身份验证,得到身份验证结果;
发送单元,具体用于在身份验证结果为验证成功的情况下,密钥管理服务器向第二区块链节点发送证书,其中,证书携带公钥。
在一种可能的设计中,在本申请实施例的第三方面的第三种实现方式中,
验证单元具体用于:
从连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,待验证TOKEN以及待验证MSPID属于身份验证信息;
根据信息映射关系查找待验证TOKEN所对应的目标MSPID,其中,信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若目标MSPID与待验证MSPID一致,则确定身份验证结果为验证成功;
若目标MSPID与待验证MSPID不一致,则确定身份验证结果为验证失败。
在一种可能的设计中,在本申请实施例的第三方面的第四种实现方式中,
发送单元,具体用于:
向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器根据第一目标数据生成摘要信息,签名服务器采用私钥对摘要信息进行加密处理,得到签名信息;
向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息生成签名验证结果,将签名验证结果记录至区块链账本。
在一种可能的设计中,在本申请实施例的第三方面的第五种实现方式中,
接收单元,还用于接收第二区块链节点发送的第二待处理数据,其中,第二待处理数据中包括第二目标数据;
发送单元,还用于向签名服务器发送第二目标数据,以使签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,第一摘要信息为签名服务器采用第一区块链节点的公钥对签名信息进行解密后得到的,第二摘要信息为签名服务器采用目标加密算法对第二目标数据进行计算后得到的;
接收单元,还用于接收签名服务器发送的签名验证结果;
发送单元,还用于向第二区块链节点发送签名验证结果,以使第二区块链节点根据签名验证结果更新区块链账本。
在一种可能的设计中,在本申请实施例的第三方面的第六种实现方式中,签名处理装置还包括:建立单元,具体用于:
通过资源表现层状态转化RESTful接口与第一区块链节点建立通信连接;
通过RESTful接口与第二区块链节点建立通信连接。
本申请第四方面提供一种签名处理装置,包括:
接收单元,用于在密钥管理服务器获取第一区块链节点的第一待处理数据之后,接收密钥管理服务器发送的签名信息,其中,签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,第一目标数据包含于第一待处理数据中;
生成单元,用于根据签名信息生成签名验证结果;
记录单元,用于将签名验证结果记录至区块链账本。
在一种可能的设计中,在本申请实施例的第四方面的第一种实现方式中,
签名处理装置还包括:发送单元,用于向密钥管理服务器发送的连接请求,以使密钥管理服务器根据连接请求对第二区块链节点进行身份验证,得到身份验证结果,其中,连接请求中携带第二区块链节点的身份验证信息;
接收单元,还用于在身份验证结果为验证成功的情况下,接收密钥管理服务器发送的证书,其中,证书携带公钥。
在一种可能的设计中,在本申请实施例的第四方面的第二种实现方式中,
生成单元,具体用于:
采用公钥对签名信息进行解密,得到第一摘要信息,其中,第一摘要信息为签名服务器采用目标加密算法计算得到的;
获取第二待处理数据;
采用目标加密算法根据待处理数据第二待处理数据生成第二摘要信息;
若第二摘要信息与第一摘要信息一致,则确定签名验证结果为第一结果,其中,第一结果确定第二待处理数据是由第一区块链节点发送的;
若第二摘要信息与第一摘要信息不一致,则确定签名验证结果为第二结果,其中,第二结果表示第二待处理数据不是由第一区块链节点发送的。
在一种可能的设计中,在本申请实施例的第四方面的第三种实现方式中,签名处理装置还包括:更新单元,用于在签名验证结果为第一结果的情况下,根据第二待处理数据更新状态数据库,其中,状态数据库用于存储区块链账本中的交易数据,交易数据包括交易对象、交易对象的剩余数值、交易数值以及交易时间戳。
本申请第五方面提供了一种密钥管理服务器,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,包括如下步骤:
获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据;
向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;
接收签名服务器发送的签名信息;
向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请第六方面提供了一种区块链节点,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,包括如下步骤:
在密钥管理服务器获取第一区块链节点的第一待处理数据之后,接收密钥管理服务器发送的签名信息,其中,签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,第一目标数据包含于第一待处理数据中;
根据签名信息生成签名验证结果;
将签名验证结果记录至区块链账本;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的第七方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,密钥管理服务器获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据,密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息,密钥管理服务器接收签名服务器发送的签名信息,向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。通过上述方式,整个签名处理的过程都在签名服务器中进行,一方面将私钥保存在签名服务器侧,可以防止由于区块链节点被攻破而导致私钥泄露的隐患,另一方面,将签名处理的工作从区块链节点中剥离出来,从而减轻区块链节点的工作负荷。
附图说明
图1为本申请实施例中去中心化的分布式数据记录一个示意图;
图2为本申请实施例中区块链的一个示意图;
图3a为本申请实施例中签名处理系统的一个架构示意图;
图3b为本申请实施例中签名处理系统的另一个架构示意图;
图4为本申请实施例中签名处理的方法一个实施例示意图;
图5为本申请实施例中签名处理方法的一个流程示意图;
图6为本申请实施例中签名处理方法的另一个流程示意图;
图7为本申请实施例中签名处理的方法的另一个实施例示意图;
图8为本申请实施例中签名处理系统的又一个架构示意图;
图9为本申请实施例中签名处理装置一个实施例示意图;
图10为本申请实施例中签名处理装置另一个实施例示意图;
图11为本申请实施例中签名处理装置又一个实施例示意图;
图12为本申请实施例中签名处理装置再一个实施例示意图;
图13为本申请实施例中提供的服务器的一个结构示意图;
图14为本申请实施例中提供的终端设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种签名处理的方法、相关装置以及设备,由于整个签名处理的过程都在签名服务器中进行,一方面将私钥保存在签名服务器侧,可以防止由于区块链节点被攻破而导致私钥泄露的隐患,另一方面,将签名处理的工作从区块链节点中剥离出来,从而减轻区块链节点的工作负荷。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的签名处理方法可以应用于需要使用到私钥进行加密的场景中,作为示例,例如用户甲通过A银行向B银行的用户乙发起一笔金额为1万元的转账,则A银行需要告知B银行,本银行的用户甲向乙银行的用户乙转账1万元,由于前述金融信息具有私密性,则在A银行向B银行发送转账信息之前,需要利用私钥对根据前述信息生成的摘要进行加密;作为另一示例,例如A银行是区块链上的一个节点,用户并通过A银行购买了一笔价值2万元的理财产品,A银行需要将这笔交易的相关信息发送到区块链的其他节点上,则在发送之前,需要对根据交易数据生成的摘要进行加密等;作为再一示例,例如用户通过官网下载的文本(例如word,txt等)应用程序的文件包之后,需要通过秘钥对下载的文件包进行解密,则例如word的官网在将前述文件包发送出来之前,可以利用私钥对文件包进行加密;当然,在发送其他具有加密需求的信息之前,也可以通过私钥对相关信息进行加密,此处不再对其他场景进行穷举。基于上述场景,本申请利用区块链的机制来实现一个可信且可靠的数据处理系统。
为了便于理解,本申请实施例中先对区块链机制进行介绍,请参阅图1,图1为本申请实施例中去中心化的分布式数据记录一个示意图,如图所示,区块链(BlockChain)可以认为是一个分布式的数据记录账,具有去中心化的分布式数据记录方式,通过维护数据块的链式结构,可以维持持续增长的、可共享的及不可篡改的数据记录。无论是终端设备、服务器还是云服务器,都可以参与数据的记录,且记录在区块链上的数据不能被删除和篡改。区块链技术主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块(block),每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接(chain)下一个数据块。虽然图1示出的区块链上包括了5个节点,但应当理解,实际应用中的节点数量可以为大于5个或小于5个。
基于上述介绍,请参阅图2,图2为本申请实施例中区块链的一个示意图,如图所示,区块T、区块T+1和区块T+2在同一条链(Chian)上,并按照发生顺序串联而成,是整个账本状态变化的日志记录。区块记录一段时间内所有交易和状态结果,是对当前账本状态的一次共识。区块中的前导区块哈希值用于关联前一个区块,比如区块T+1的前导区块哈希值用于关联区块T。区块中的交易表示一次对账本的操作,导致账本状态的一次改变,比如添加一条转账记录。元数据用于记录具体的交易内容,比如交易时间戳、交易的密文信息以及区块长度等。
在实现上,首先假设存在一个分布式的数据记录账本,这个账本只允许添加、不允许删除。账本底层的基本结构是一个线性的链表,链表由一个个区块串联组成,如图2所示,后继区块记录前导区块的哈希值。新的数据要加入,必须放到一个新的区块中。而这个块(以及块里的交易)是否合法,可以通过计算哈希值的方式快速检验出来。任意维护节点都拥有全部区块的记录,且可以提议一个新的合法区块,然而必须经过一定的共识机制来对最终选择的区块达成一致。
本申请中,可以在区块的交易中记录金融交易数据,并且利用区块链的机制来实现一个可信且可靠的金融数据系统。
结合上述描述,本申请提出了一种签名处理的方法,用于降低私钥泄露的可能性,且可以减轻区块链节点的工作负荷,由于后续会对私钥等密码学用语进行介绍,此处先不展开描述。该方法应用于图3a和图3b所示的签名处理系统,请参阅图3a和图3b,图3a和图3b为本申请实施例中签名处理系统的两个架构示意图,签名处理系统中包括第一区块链节点、密钥管理服务器、签名服务器以及第二区块链节点,图3a中密钥管理服务器为区块链节点设备之外的独立服务器;图3b中密钥管理服务器是集成于区块链节点设备中的。在图3a和图3b中,密钥管理服务器用于获取第一区块链节点的第一待处理数据,从中提取出第一目标数据,之后将第一目标数据发送给签名服务器;签名服务器用于采用第一区块链节点的私钥对第一目标数据进行签名处理,得到签名信息后发送给密钥管理服务器;密钥管理服务器还用于向第二区块链节点发送签名信息;第二区块链节点用于根据签名信息更新区块链节点,从而由签名服务器负责利用私钥执行加签操作,防止由于区块链节点被攻破而导致私钥泄露的隐患,也减轻区块链节点的工作负荷。
其中,第一区块链节点和第二区块链节点均可以表现为终端设备或服务器,终端设备包含但不仅限于平板电脑、笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personal computer,PC),此处不做限定。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
下面将对本申请中签名处理的方法进行详细介绍,请参阅图4,本申请实施例中签名处理的方法一个实施例包括:
101、密钥管理服务器获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据。
本实施例中,第一区块链节点在将第一待处理数据记录至区块链账本之后,密钥管理服务器可以获取到第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据。具体的,第一待处理数据指的是第一区块链节点发送的数据,具体可以表现为交易数据,第一目标数据具体可以表现为交易数据中的部分信息,前述部分信息可以为第一待处理数据中的重要数据,第一目标数据用于供签名服务器根据第一目标数据生成第一摘要(digest)信息。进一步的,与第一区块链节点对应的实体可以为银行、银行的商户、银行的商户的交易对象等,银行中又可以分为具有普通交易功能的银行、具有监督功能的银行等等。作为示例,例如商户甲通过A银行XX分行向商户乙支付货款10万元,A银行的总行具有监督功能,则A银行可以为与第一区块链节点对应的实体,第一待处理数据中的交易数据可以对应于商户甲向商户乙支付货款10万元这一交易事件,具体的,第一待处理数据中可以包括商户甲的银行账号、商户乙的银行账号、商户甲给商户乙的转账金额、A银行XX分行的名称、A银行XX分行的注册地点、接收商户甲录入的转账请求的终端设备的设备标识、商户甲发起转账请求的时间、A银行XX分行开始处理转账交易的处理时间与本次交易时间相关的数据等等,而第一目标数据可以为第一待处理数据中的部分重要数据,作为示例,例如第一目标数据中可以只包括商户甲的银行账号、商户乙的银行账号、商户甲给商户乙的转账金额,从而签名服务器可以利用Hash函数对第一目标数据进行处理得到固定长度的摘要,应理解,上述举例均仅为方便理解本方案,第一区块链节点、第一待处理数据、第一目标数据的具体展现形式可以参考实际场景中的需要,此处不做限定。
102、密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息。
本实施例中,密钥管理服务器在获取到第一待处理数据之后,可以从第一待处理数据中提取出第一目标数据,之后向签名服务器发送第一待处理数据中的第一目标数据,由于签名服务器上可以存储有不止一个区块链节点的私钥,则密钥管理服务器在向签名服务器发送第一目标数据时可以加入第一区块链节点的标识,以使签名服务器采用第一区块链节点的私钥对第一目标数据进行签名处理,得到签名信息(signature),其中,签名服务器也可以称为加密机,签名信息具体可以表现为签名服务器采用第一区块链节点私钥对第一目标数据进行加密处理后得到的密文,区块链节点的标识具体可以表现为成员关系服务提供者标识(membership service provider identity,MSPID)、令牌(TOKEN)或其他类型的标识等等。进一步的,与私钥对应的是公钥,第一区块链节点的私钥和第一区块链节点的公钥可以组成一个密钥对,是一种非对称加密技术。其中,私钥是与密钥对所有者(也即第一区块链节点)对应的签名服务器持有的,私钥具有不可公布的性质,只可以有签名服务器持有且保存;公钥具有可公布性质,也即至少一个区块链节点上存储有第一区块链节点的公钥。进一步的,私钥用于对第一目标数据进行加密,得到签名信息;公钥用于对加密后的签名信息进行解密。
103、密钥管理服务器接收签名服务器发送的签名信息。
本实施例中,在签名服务器生成签名信息之后,会将生成的签名信息发送给密钥管理服务器,则密钥管理服务器可以接收签名服务器发送的签名信息。
104、密钥管理服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。
本实施例中,密钥管理服务器在接收到签名服务器发送的签名信息之后,可以向第二区块链节点发送签名信息,从而第二区块链节点根据签名信息更新区块链账本。具体的,第二区块链节点需要将签名信息记录至区块链账本中,进一步的,第二区块链节点需要将签名信息以及签名验证结果记录区块链账本中,签名验证结果为签名服务器或第二区块链节点对第二待处理数据进行验证后得到的验证结果,其中,第二待处理数据指的是第二区块链节点从区块链账本中获取到的数据,具体可以为交易数据。由于区块链具有共享性,则第二区块链节点可以通过区块链账本获取到第一区块链节点记录至区块链账本中的第一待处理数据,但第二区块链节点获取的第二待处理数据不一定是第一区块链节点发送的,因此需要签名服务器或第二区块链节点对第二区块链节点获取的第二待处理数据进行验证。若确定第二区块链节点获取的第二待处理数据是第一区块链节点发送的,则第二待处理数据和第一待处理数据对应的可以为相同的数据;若确定第二区块链节点获取的第二待处理数据不是第一区块链节点发送的,则第二待处理数据和第一待处理数据对应的可以为不同的数据。
在一种实现方式中,由签名服务器执行对第二待处理数据的验证操作,则第二区块链节点是与第一区块链节点不同的区块链节点,可以具体表现为第一区块链节点的交易相对方,也可以为表现为对第一区块链节点具有监督功能的区块链节点等等,作为示例,例如某一条区块链上有9个节点,分别为商户甲、A银行XX支行、A银行YY支行、A银行ZZ支行、A银行总行、A银行的合作银行B银行的TT支行、B银行UU支行、B银行总行以及商户甲的交易对象乙,商户甲通过A银行XX支行向交易对象乙在B银行UU支行进行了一次转账,则可以只将交易对象乙所对应的节点设备视为第二区块链节点设备,也可以将A银行总行以及B银行总行均视为第二区块链节点设备等。
在另一种实现方式中,由第二区块链节点执行对第二待处理数据的验证操作,则第二区块链节点可以理解为区块链上的任意节点,第二区块链节点中可以包括一个区块链节点或至少两个区块链节点,部分第二区块链节点具有利用签名信息对第一区块链节点发出的第一待处理数据进行验证的功能,至少一个第二区块链节点中可以包括第一区块链节点,也可以为不包括第一区块链节点,具体第二区块链节点中包括哪些区块链节点要根据区块链中采用的共识规则来决定。作为示例,例如某一条区块链上有9个节点,分别为商户甲、A银行XX支行、A银行YY支行、A银行ZZ支行、A银行总行、A银行的合作银行B银行的TT支行、B银行UU支行、B银行总行以及商户甲的交易对象乙,商户甲通过A银行XX支行向交易对象乙在B银行UU支行进行了一次转账(也即交易数据),商户甲所对应的节点设备为第一区块链节点,可以将商户甲、A银行XX支行、A银行总行、B银行UU支行、B银行总行以及商户甲的交易对象乙所对应的节点设备视为第二区块链节点,用于根据签名信息对第二区块链节点获取的交易数据进行验证,上述举例均仅用于方便理解本方案。
进一步的,在一种实现方式中,可以将区块链中的所有区块链节点均确定为第二区块链节点,也即需要区块链中所有的区块链节点对第二待处理数据进行验证。在另一种实现方式中,可以为将区块链中过半数的区块链节点确定为第二区块链节点,所述过半数的区块链节点可以为从所有区块链节点中任意选取的,也可以为按照一定规律选取的,例如沿着区块链从前往后的顺序,选取过半数的区块链节点,再例如沿着区块链从后往前的顺序,选取过半数的区块链节点。在再一种实现方式中,还可以从所有区块链节点中选取可信度较高或者权重较大的的N个区块链节点作为第二区块链节点,其中N的取值为正整数,作为示例,例如某一条区块链上有9个节点,分别为商户甲、A银行XX支行、A银行YY支行、A银行ZZ支行、A银行总行、A银行的合作银行B银行的TT支行、B银行UU支行、B银行总行以及商户甲的交易对象乙,则可以将A银行总行和B银行总行视为可信度较高或者权重较大的第二区块链节点。应当理解,上述示例均仅为方便理解本方案,不用于限定本方案。
更具体的,在一种实现方式中,若密钥管理服务器与第一区块链节点设置在一起,则密钥管理服务器可以通过第一区块链节点直接将签名信息记录至区块链账本上,由于区块链账本中的数据具有共享性,从而区块链上的至少一个第二区块链节点中所有第二区块链节点可以获取到签名信息;在另一种实现方式中,若密钥管理服务器与第一区块链节点分别为两个独立的设备,则密钥管理服务器可以向至少一个第二区块链节点中任一第二区块链节点发送签名信息,从而通过第二区块链节点将签名信息记录至区块链账本上,从而区块链上的至少一个第二区块链节点中所有第二区块链节点可以获取到签名信息;在另一种实现方式中,密钥管理服务器可以从第一区块链节点所在的区块链包括的所有区块链节点中确定需要发送签名信息的第二区块链节点,进而分别将签名信息发送给确定出来的至少一个第二区块链节点。进而第二区块链节点可以根据签名信息验证对第二待处理数据进行验证,以确定第二待处理数据是否为第一区块链节点发送出来的,具体的,可以为至少一个第二区块链节点利用第一区块链节点的公钥对第一区块链节点的签名信息进行解密,进而根据解密后的信息对第二待处理数据进行验证,在第二待处理数据经过至少一个第二区块链节点中的所有第二区块链节点的验证之后,也即至少一个第二区块链节点达成共识之后,可以将通过至少一个第二区块链节点得到的验证结果记录至区块链账本中。
本申请实施例中,密钥管理服务器获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据,密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息,密钥管理服务器接收签名服务器发送的签名信息,向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本。通过上述方式,整个签名处理的过程都在签名服务器中进行,一方面将私钥保存在签名服务器侧,可以防止由于区块链节点被攻破而导致私钥泄露的隐患,另一方面,将签名处理的工作从区块链节点中剥离出来,从而减轻区块链节点的工作负荷。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,密钥管理服务器获取第一区块链节点的第一待处理数据,包括:
密钥管理服务器接收第一区块链节点发送的第一待处理数据;
或,
密钥管理服务器通过第一区块链节点获取第一待处理数据。
本实施例中,由于密钥管理服务器可以为与第一区块链节点设置在一起的服务器,也可以为和第一区块链节点相互独立设置的服务器,也即密钥管理服务器和第一区块链节点为物理位置上相互隔离的两个服务器。若密钥管理服务器与第一区块链节点为互相独立设置的服务器,则密钥管理服务器获取第一区块链节点的第一待处理数据的方式可以为密钥管理服务器通过外部通讯接口接收第一区块链节点发送的第一待处理数据;若密钥管理服务器与第一区块链节点设置在一起,则密钥管理服务器获取第一区块链节点的第一待处理数据的方式可以为密钥管理服务器通过第一区块链节点获取第一待处理数据,具体的,可以为密钥管理服务器通过内部接口获取第一区块链节点生成的第一待处理数据。
本申请实施例中,密钥管理服务器可以接收第一区块链节点发送的第一待处理数据,或者通过第一区块链节点获取第一待处理数据,也即提供了密钥管理服务器和第一区块链节点的两种不同的配置方式,扩展了本方案的应用场景,提高了本方案的全面性。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,密钥管理服务器获取第一区块链节点的第一待处理数据之前,方法还包括:
密钥管理服务器接收第二区块链节点发送的连接请求,其中,连接请求中携带第二区块链节点的身份验证信息;
密钥管理服务器根据连接请求,对第二区块链节点进行身份验证,得到身份验证结果;
若身份验证结果为验证成功,则密钥管理服务器向第二区块链节点发送证书,其中,证书携带公钥。
本实施例中,密钥管理服务器在获取第一区块链节点的第一待处理数据之前,还可以接收第二区块链节点发送的连接请求,其中,连接请求可以为第二区块链节点初次与密钥管理服务器建立通信连接时发送的连接请求,或者说,连接请求可以为在对第二区块链节点进行初始化的过程中发送的连接请求;连接请求中携带第二区块链节点的身份验证信息,身份验证信息中可以包括第二区块链节点的MSPID与第二区块链节点的令牌(TOKEN)。密钥管理服务器在接收到连接请求之后,可以根据其中携带的第二区块链节点的身份验证信息对第二区块链节点进行身份验证,具体的,由于密钥管理服务器上会预先存储有多个区块链节点的身份验证信息,则密钥管理服务器可以将第二区块链节点发送的身份验证信息和预先存储的多个区块链节点的身份验证信息进行对比,以对第二区块链节点进行身份验证,进而得到身份验证结果。
若身份验证结果为验证成功,则密钥管理服务器向第二区块链节点发送证书,其中,证书中携带有公钥,所述公钥中可以包括至少一个公钥,至少一个公钥中包括第一区块链节点的公钥,参阅上述实施例中描述,第一区块链节点的公钥用于供第二区块链节点利用第一区块链节点的公钥对获取到的签名信息进行解密。进一步的,证书具体可以表现为安全传输层协议(transport layer security,TLS)证书、安全套接字层(secure socketlayer,SSL)证书或其他类型的证书等等。
本申请实施例中,密钥管理服务器接收第二区块链节点发送的连接请求,根据连接请求中携带第二区块链节点的身份验证信息,对第二区块链节点进行身份验证,若身份验证结果为验证成功,则密钥管理服务器向第二区块链节点发送证书,其中,证书携带公钥。通过上述方式,提供了第二区块链节点获取公钥的具体实现方式,提高了本方案的完整性,且第二区块链节点只有在通过密钥管理服务器的身份验证之后,才可以接收到密钥管理服务器发送的公钥,从而保证能够接收到公钥的节点都是安全系数较高的节点,从而保证本方案的安全性和可靠性。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,密钥管理服务器根据连接请求,对第二区块链节点进行身份验证,得到身份验证结果,包括:
密钥管理服务器从连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,待验证TOKEN以及待验证MSPID属于身份验证信息;
密钥管理服务器根据信息映射关系查找待验证TOKEN所对应的目标MSPID,其中,信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若目标MSPID与待验证MSPID一致,则密钥管理服务器确定身份验证结果为验证成功;
若目标MSPID与待验证MSPID不一致,则密钥管理服务器确定身份验证结果为验证失败。
本实施例中,密钥管理服务器上可以预先存储有多个TOKEN和多个MSPID,以及多个TOKEN和多个MSPID之间的信息映射关系,其中,TOKEN和MSPID具有一对一的映射关系。密钥管理服务器在接收到连接请求之后,可以从其中携带的第二区块链节点的身份验证信息中获取第二区块链节点的验证TOKEN和待验证MSPID,其中,TOKEN可以视为一种通行证,或者理解为一种暗号,密钥管理服务器在获取到身份验证信息中的待验证TOKEN之后,可以先对待验证TOKEN进行核对,也即在预先存储的多个TOKEN中查找是否有与待验证TOKEN匹配的目标TOKEN,若存在与待验证TOKEN匹配的目标TOKEN,则根据多个TOKEN和多个MSPID之间的一一对应关系获取与目标TOKEN所对应的目标MSPID,也即获取到了与待验证TOKEN所对应的目标MSPID。进而密钥管理服务器可以判断目标MSPID与待验证MSPID是否一致,若目标MSPID与待验证MSPID一致,则密钥管理服务器确定针对第二区块链节点的身份验证结果为验证成功,进而可以向第二区块链节点发送携带有至少一个公钥的证书;若目标MSPID与待验证MSPID不一致,则密钥管理服务器确定针对第二区块链节点的身份验证结果为验证失败,进一步的,密钥管理服务器可以向验证失败的第二区块链节点发送验证失败的验证结果信息,以指示验证失败的第二区块链节点重新发起连接请求,重新发起的连接请求中包括新的身份验证信息,以利用新的身份验证信息对第二区块链节点进行二次验证;密钥管理服务器也可以将验证失败的第二区块链节点确定为不具有验证功能的区块链节点。
进一步的,TOKEN具体可以表现为数字串、字符串或其他形式,TOKEN的生成过程可以具有一定的随机性,作为示例,例如TOKEN具体可以为XYERTU342ZA、TYYERGH21NL9等等;MSPID可以作为一个成员关系服务提供者(membership service provider,MSP)的唯一标识,具体也可以表现为数字串、字符串或其他形式,MSPID的生成过程可以具有一定的规律性,作为示例,例如MSPID具体可以表现为BK000000001、BK000000002、BK000000003、SH000000538等等,此处举例仅为方便理解本方案,不用于限定本方案。
为了进一步理解本方案,以下以通过映射关系表的形式存储多个TOKEN和多个MSPID之间的信息映射关系,请参阅如下表1。
表1
Figure GDA0002234426080000111
Figure GDA0002234426080000121
参阅如上表1,表1中示出了映射关系表中的五个TOKEN与五个MSPID之间的信息映射关系,应理解,一个映射关系表中包括不限于五个TOKEN与五个MSPID之间信息映射关系,上述表1中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,密钥管理服务器从连接请求中的身份验证信息中获取待验证TOKEN以及待验证MSPID,根据预存的多个TOKEN与多个MSPID之间的对应关系信息映射关系查找待验证TOKEN所对应的目标MSPID,若目标MSPID与待验证MSPID一致,则确定身份验证结果为验证成功;若目标MSPID与待验证MSPID不一致,则确定身份验证结果为验证失败。通过上述方式,提供了对第二区块链节点进行身份信息验证的具体实现方式,提高了本方案的可实现性。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息,包括:
密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器根据第一目标数据生成摘要信息,签名服务器采用私钥对摘要信息进行加密处理,得到签名信息;
密钥管理服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息更新区块链账本,包括:
密钥管理服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息生成签名验证结果,将签名验证结果记录至区块链账本。
本实施例中,密钥管理服务器在获取到第一区块链节点的第一待处理数据之后,可以对第一待处理数据进行一定的处理,以从第一待处理数据中获取第一目标数据,进而可以向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器根据第一目标数据生成第一摘要信息(digest),进而签名服务器可以采用私钥对第一摘要信息进行加密处理,从而得到签名信息,由于上述实施例中已经对第一待处理数据和第一目标数据作了详细介绍,此处不再赘述。其中,第一摘要信息可以为签名服务器根据第一目标数据利用目标加密算法生成的,具体的,可以为签名服务器利用哈希函数对第一目标数据进行处理得到固定长度的第一摘要信息,哈希函数具体可以表现为安全散列算法(secure hashalgorithm,SHA)或其他哈希函数等。
密钥管理服务器向第二区块链节点发送签名信息之后,第二区块链节点可以利用第一区块链节点的公钥对签名信息进行解密,由于区块链账本中的数据具有共享性,则第二区块链节点可以从区块链账本中获取第一区块链节点的第二待处理数据,对第二待处理数据做一定的处理,以从第二待处理数据中获取到第二目标数据,进而利用哈希(Hash)函数对第二目标数据进行处理得到固定长度的第二摘要信息,第二区块链节点将第一摘要信息和第二摘要信息进行对比,以生成验证结果。具体的,若第一摘要信息和第二摘要信息一致,则可以证明第二区块链节点获取到的第二待处理数据是第一区块链节点发送的(也即签名验证结果的一种示例);若第一摘要信息和第二摘要信息不一致,则可以证明区块链上的第一待处理数据不是第一区块链节点发送的(也即签名验证结果的另一种示例)。进而第二区块链节点可以将签名验证结果记录至区块链账本。
更具体的,在密钥管理服务器将签名信息记录至区块链账本之后,可以向至少一个第二区块链节点发送验证请求,在一种实现方式中,若将区块链中的所有区块链节点均确定为第二区块链节点,则密钥管理服务器需要向所有区块链节点发送验证请求,验证请求中可以携带第一区块链节点的标识,从而告知每个第二区块链节点利用第一区块链节点的签名信息对第二待处理数据进行验证,进而根据每个第二区块链节点生成的签名验证结果得到第二待处理数据的签名验证结果;在另一种实现方式中,对应的,若将区块链中过半数的区块链节点确定为第二区块链节点,则需要向过半数的第二区块链节点发送验证请求;在再一种实现方式中,若从所有区块链节点中选取可信度较高或者权重较大的的N个区块链节点作为第二区块链节点,则需要向N个第二区块链节点发送验证请求。
进一步的,在一种情况下,可以在所有的第二区块链节点的签名验证结果均为获取的第二待处理数据是第一区块链节点发送的情况下,才将签名验证结果确定为第二待处理数据是第一区块链节点发送的只要有一个第二区块链节点的签名验证结果为第二待处理数据不是第一区块链节点发送的,均将签名验证结果确定为第二待处理数据不是第一区块链节点发送的。在另一种情况下,可以预先设定好第一概率值,只要签名验证结果为第二待处理数据是第一区块链节点发送的且未被篡改过的第二区块链节点在所有执行验证操作的第二区块链节点中的概率值大于或者等于第一概率值,就可以将签名验证结果确定为第二待处理数据是第一区块链节点发送的,其中,第一概率值的取值可以为百分之九十八、百分之九十五或者其他取值等等。在另一种情况下,可以预先设定好第一阈值,只要签名验证结果为第二待处理数据是第一区块链节点发送的且未被篡改过的第二区块链节点的个数大于或等于第一阈值,就可以将签名验证结果确定为第二待处理数据是第一区块链节点发送的,其中,第一阈值的取值可以为结合执行验证操作的第二区块链节点的数量确定,或者,也可以结合区块链上所有的区块链节点的数量决定等等,具体此处均不做限定。
为进一步理解本方案,请参阅图5,图5为本申请实施例中签名处理方法的一个流程示意图,如图所示,在步骤A1中,密钥管理服务器接收第二区块链节点发送的初始化连接请求(也即连接请求的一个示例);在步骤A2中,密钥管理服务器根据连接请求中的身份验证信息对第二区块链节点进行身份验证;在步骤A3中,在验证结果为验证成功的情况下,密钥管理服务器向第二区块链节点发送安全传输层协议TLS证书;在步骤A4中,密钥管理服务器接收第一区块链节点发送的第一待处理数据;在步骤A5中,密钥管理服务器从第一待处理数据中获取第一目标数据;在步骤A6中,密钥管理服务器将第一目标数据发送给签名服务器;在步骤A7中,签名服务器利用第一区块链节点的私钥,对第一目标数据进行加签操作,得到与第一目标数据对应的签名信息;在步骤A8中,密钥管理服务器接收签名服务器发送的签名信息;在步骤A9中,密钥管理服务器将签名信息发送给第二区块链节点;在步骤A10中,第二区块链节点根据签名信息对第二待处理数据进行验证,生成签名验证结果,将签名验证结果记录至区块链账本。应当理解,图5中仅以密钥管理服务器和第一区块链节点与一个第二区块链节点之间的交互过程为例进行说明,不代表实际情况中第二区块链节点的个数只有一个,图5中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,密钥管理服务器在获取到第一区块链节点的第一待处理数据之后,向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器根据第一目标数据生成摘要信息,签名服务器采用私钥对摘要信息进行加密处理,得到签名信息,密钥管理服务器向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息生成签名验证结果,将签名验证结果记录至区块链账本。通过上述方式,提供了通过密钥管理服务器和签名服务器实现对第一目标数据进行签名处理的具体实现方式,以及,确定由第二区块链节点根据签名信息生成签名验证结果,提高了本方案的可实现性。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,密钥管理服务器向第二区块链节点发送签名信息之后,方法还包括:
密钥管理服务器接收第二区块链节点发送的第二待处理数据,其中,第二待处理数据中包括第二目标数据;
密钥管理服务器向签名服务器发送第二目标数据,以使签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,第一摘要信息为签名服务器采用第一区块链节点的公钥对签名信息进行解密后得到的,第二摘要信息为签名服务器采用目标加密算法对第二目标数据进行计算后得到的;
密钥管理服务器接收签名服务器发送的签名验证结果;
密钥管理服务器向第二区块链节点发送签名验证结果,以使第二区块链节点根据签名验证结果更新区块链账本。
本实施例中,至少一个第二区块链节点从区块链账本中获取到第二待处理数据之后,密钥管理服务器还可以接收到至少一个第二区块链节点发送的第二待处理数据,其中,第二待处理数据中包括第二目标数据,第二目标数据是第二待处理数据中的部分信息,具体可以表现为第二待处理数据中的重要数据,第二目标数据用于供签名服务器根据第二目标数据生成第二摘要信息。密钥管理服务器获取到第二待处理数据之后,可以从第二待处理数据中提取出第二目标数据,之后向签名服务器发送第二待处理数据中的第二目标数据,由于签名服务器上可以存储有不止一个区块链节点的签名信息,则密钥管理服务器在向签名服务器发送第二目标数据时可以加入第一区块链节点的标识,以使签名服务器采用第一区块链节点的公钥对第一区块链节点的签名信息进行解密后得到第一摘要信息,签名服务器采用目标加密算法对第二目标数据进行计算后得到第二摘要信息,进而可以将第一摘要信息与第二摘要信息进行对比,以生成针对第二待处理数据的签名验证结果,其中,目标加密算法的具体表现形式以及将第一摘要信息与第二摘要信息进行对比,以生成针对第二待处理数据的签名验证结果的具体实现方式均可以参阅图5对应实施例中的描述,区别在于图5中的执行主体是第二区块链节点,本实施例中的执行主体是前面服务器。
在签名服务器生成签名验证结果之后,密钥管理服务器接收签名服务器发送的签名验证结果,则密钥管理服务器可以向至少一个第二区块链节点发送签名验证结果,以使第二区块链节点根据签名验证结果更新区块链账本。具体的,可以为向所有第二区块链节点发送签名验证结果,也可以向至少一个第二区块链节点中任意一个第二区块链节点发送签名验证结果。为进一步理解本方案,请参阅图6,图6为本申请实施例中签名处理方法的一个流程示意图,如图所示,在步骤B1中,密钥管理服务器接收第二区块链节点发送的初始化连接请求(也即连接请求的一个示例);在步骤B2中,密钥管理服务器根据连接请求中的身份验证信息对第二区块链节点进行身份验证;在步骤B3中,在验证结果为验证成功的情况下,密钥管理服务器向第二区块链节点发送安全传输层协议TLS证书;在步骤B4中,密钥管理服务器接收第一区块链节点发送的第一待处理数据;在步骤B5中,密钥管理服务器从第一待处理数据中获取第一目标数据;在步骤B6中,密钥管理服务器将第一目标数据发送给签名服务器;在步骤B7中,签名服务器利用第一区块链节点的私钥,对第一目标数据进行加签操作,得到与第一目标数据对应的签名信息;在步骤B8中,密钥管理服务器接收签名服务器发送的签名信息;在步骤B9中,密钥管理服务器将签名信息发送给第二区块链节点;在步骤B10中,密钥管理服务器接收第二区块链节点发送的第二待处理数据,其中,第二待处理数据中包括第二目标数据;在步骤B11中,密钥管理服务器向签名服务器发送第二待处理数据中的第二目标数据;在步骤B12中,签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,第一摘要信息为签名服务器采用第一区块链节点的公钥对签名信息进行解密后得到的,第二摘要信息为签名服务器采用目标加密算法对第二目标数据进行计算后得到的;在步骤B13中,密钥管理服务器接收签名服务器发送的签名验证结果;在步骤B14中,密钥管理服务器向第二区块链节点发送签名验证结果;在步骤B15中,第二区块链节点根据签名验证结果更新区块链账本。应当理解,图6中仅以密钥管理服务器和第一区块链节点与一个第二区块链节点之间的交互过程为例进行说明,不代表实际情况中第二区块链节点的个数只有一个,图6中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,密钥管理服务器还会接收到第二区块链节点发送的第二待处理数据,向签名服务器发送第二目标数据,以使签名服务器生成针对第二待处理数据的签名验证结果,进而接收签名服务器发送的签名验证结果,向第二区块链节点发送签名验证结果,以使第二区块链节点根据签名验证结果更新区块链账本。通过上述方式,提供了签名服务器生成签名验证结果的具体实现方式,扩展了本方案的实现场景,且将验签操作也从区块链节点中分离出来,进一步减轻了区块链节点的工作负荷。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,密钥管理服务器获取第一区块链节点的第一待处理数据之前,方法还包括:
密钥管理服务器通过资源表现层状态转化RESTful接口与第一区块链节点建立通信连接;
密钥管理服务器通过RESTful接口与第二区块链节点建立通信连接。
本实施例中,密钥管理服务器还会通过资源表现层状态转化(representationalstate transfer,RESTful)接口与第一区块链节点建立通信连接,通过RESTful接口与第二区块链节点建立通信连接,从而在上述各个实施例中,密钥管理服务器与第一区块链节点之间进行通信的各个步骤均通过RESTful接口实现,密钥管理服务器与第二区块链节点之间进行通信的各个步骤也是均通过RESTful接口实现的,其中,RESTful是一种软件架构的设计风格,指示提供了一组设计原则和约束条件,而不是标准。可选地,密钥管理服务器与第一区块链节点以及密钥管理服务器与第二区块链节点之间进行通信所采用的通信协议可以为GRPC,其中,GRPC是一种开源的高性能的远程过程调用(remote procedure call,RPC)框架,RPC框架提供了一套机制,使得应用程序之间可以进行通信,而且也遵从服务器/客户端模型,客户端调用服务器提供的接口就想是调用本地函数一样,通过上述方式,有利于提高本方案的运行速率。
本申请实施例中,密钥管理服务器通过RESTful接口与第一区块链节点建立通信连接,密钥管理服务器通过RESTful接口与第二区块链节点建立通信连接,也即密钥管理服务器与第一区块链节点以及第二区块链节点之间进行通信的过程,均为通过RESTful接口实现的,从而方便新的区块链接口通过RESTful接口快速接入密钥管理服务器,有利于提高本方案的可扩展性。
基于上述各个实施例中的描述,本申请实施例还提供一种签名处理的方法,请参阅图7,图7为本申请实施例中签名处理的方法的一个实施例示意图,本申请实施例中签名处理的方法一个实施例包括:
201、在密钥管理服务器获取第一区块链节点的第一待处理数据之后,第二区块链节点接收密钥管理服务器发送的签名信息,其中,签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,第一目标数据包含于第一待处理数据中。
本实施例中,由于在密钥管理服务器获取第一区块链节点的第一待处理数据之后,可以从第一待处理数据中获取到第一目标数据,将第一目标数据发送给签名服务器,由签名服务器利用第一区块链节点的私钥生成与第一目标数据对应的签名信息,进而签名服务器会将签名信息发送给密钥管理服务器,之后密钥管理服务器会将向至少一个第二区块链节点发送签名信息,对应的,至少一个第二区块链节点可以接收密钥管理服务器发送的签名信息,其中,签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,第一目标数据包含于第一待处理数据中,由于在上述实施例中已经存在对第二区块链节点的详细介绍,此处不再赘述。具体的,第二区块链节点可以直接接收密钥管理服务器发送的签名信息;也可以为从区块链账本中获取签名信息,其中,签名信息是由密钥管理服务器记录至区块链账本中的;还可以为至少一个第二区块链节点中的任一个目标第二区块链节点接收密钥管理服务器发送的签名信息,由目标第二区块链节点将签名信息记录至区块链账本中,进而至少一个第二区块链节点中除目标第二区块链节点的其他第二区块链节点从区块链账本中获取签名信息等等,具体此处不做限定。
202、第二区块链节点根据签名信息生成签名验证结果。
本实施例中,第二区块链节点在获取到签名信息之后,可以根据签名信息执行对第二待处理数据的验签过程,以生成针对第二待处理数据的签名验证结果,也即第二区块链节点根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,第一摘要信息为第二区块链节点采用第一区块链节点的公钥对签名信息进行解密后得到的,第二摘要信息为第二区块链节点采用目标加密算法对第二目标数据进行计算后得到的,第二目标数据包含于第二待处理数据中;由于上述实施例中已经对第二待处理数据以及第二目标数据做了详细介绍,此处不再赘述。
203、第二区块链节点将签名验证结果记录至区块链账本。
本实施例中,第二区块链节点在获取到签名验证结果之后,可以将签名验证结果记录至区块链账本中。具体的,由于第二区块链节点可以为至少两个,则需要将每个第二区块链节点生成的初级签名验证结果进行二次处理之后,得到针对第二待处理数据的最终签名验证结果,再将最终签名验证结果记录至区块链账本中,生成签名验证结果的规则可以参考上述图4对应实施例中“由第二区块链节点执行对第二待处理数据的验证操作”这一部分的描述,此处不再进行赘述。其中,区块链账本中还存储有第二待处理数据,第二待处理数据与签名验证结果之间可以具有一一对应的关系,签名验证结果具体可以表现为第一结果和第二结果,第一结果确定第二待处理数据为第一区块链节点发送的,或者,第二结果确定第二待处理数据不是第一区块链节点生成的。
为进一步理解本方案,本申请实施例还公开了签名验证结果和第二待处理数据在区块链账本中的具体表现形式,以下通过表格的形式进行展示,请参阅如下表2。
表2
第二待处理数据 签名信息 签名验证结果
交易A 签名A 第一结果
交易B 签名B 第一结果
交易C 签名C 第一结果
交易D 签名D 第二结果
交易F 签名F 第一结果
参阅上述表2,表2中展示了5个第二待处理数据和对应的签名验证结果之间的对应关系,其中,在实际产品中,表2中的交易A至交易F均可以表现为具体的交易数据,例如交易A具体可以表现为商户甲的XXXXX账户通过A银行XX分行的2号自动取款机(automaticteller machine,ATM)机器在2019年8月20日向商户乙的YYYYY账户支付货款10万元,其中,XXXXX账户和YYYYY账户均为A银行中的账户,商户甲选择的是2小时到账业务;表2中的签名A至签名F均可以表现为密文信息,上述表1中的举例仅为方便理解本方案,不用于限定本方案。进一步的,在实际产品中,可以为通过不同的编码或字符串来分别指代第一结果和第二结果,作为示例,例如通过编码“1”指代第一结果,通过编码“0”指代第二结果等等,此处不做穷举。
本申请实施例中,在密钥管理服务器获取第一区块链节点的第一待处理数据之后,第二区块链节点能够接收到密钥管理服务器发送的签名信息,其中,签名信息为签名采用私钥对包含于第一待处理数据中的第一目标数据进行签名处理后得到的,第二区块链节点根据签名信息生成签名验证结果,进而将签名验证结果记录至区块链账本中。通过上述方式,将私钥保存在签名服务器侧,可以防止由于区块链节点被攻破而导致私钥泄露的隐患;由签名服务器实现对第一目标数据的签名处理,也即将签名处理的工作从区块链节点中剥离出来,从而减轻区块链节点的工作负荷。
可选地,在上述图7对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,第二区块链节点接收密钥管理服务器发送的签名信息之前,方法还包括:
第二区块链节点向密钥管理服务器发送连接请求,以使密钥管理服务器根据连接请求对第二区块链节点进行身份验证,得到身份验证结果,其中,连接请求中携带第二区块链节点的身份验证信息;
若身份验证结果为验证成功,则第二区块链节点接收密钥管理服务器发送的证书,其中,证书携带公钥。
本实施例中,第二区块链节点接收密钥管理服务器发送的签名信息之前,还需要向密钥管理服务器发送连接请求,连接请求中携带有第二区块链节点的身份验证信息,从而密钥管理服务器根据身份验证信息对第二区块链节点进行身份验证,得到身份验证结果;在身份验证结果为验证成功的情况下,第二区块链节点会接收密钥管理服务器发送的证书,其中,证书携带公钥,对于证书和公钥的描述可以参阅上述实施例。
本申请实施例中,第二区块链节点向密钥管理服务器发送连接请求,以使密钥管理服务器根据连接请求中的身份验证信息对第二区块链节点进行身份验证,得到身份验证结果,若身份验证结果为验证成功,则第二区块链节点接收密钥管理服务器发送的证书,其中,证书携带公钥。第二区块链节点只有在通过密钥管理服务器的身份验证之后,才可以接收到密钥管理服务器发送的公钥,从而保证能够接收到公钥的节点都是安全系数较高的节点,从而保证本方案的安全性和可靠性。
可选地,在上述图7对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,第二区块链节点根据签名信息生成签名验证结果,包括:
第二区块链节点采用公钥对签名信息进行解密,得到第一摘要信息,其中,第一摘要信息为签名服务器采用目标加密算法计算得到的;
第二区块链节点获取第二待处理数据;
第二区块链节点采用目标加密算法根据第二待处理数据生成第二摘要信息;
若第二摘要信息与第一摘要信息一致,则第二区块链节点确定签名验证结果为第一结果,其中,第一结果确定第二待处理数据是由第一区块链节点发送的;
若第二摘要信息与第一摘要信息不一致,则第二区块链节点确定签名验证结果为第二结果,其中,第二结果表示第二待处理数据不是由第一区块链节点发送的。
本实施例中,第二区块链节点在获取到签名信息之后,可以采用第一区块链节点的公钥对签名信息进行解密,得到第一摘要信息,其中,第一摘要信息为签名服务器采用目标加密算法对第一目标数据进行计算得到的。由于区块链账本具有共享性,则第二区块链节点可以从区块链账本中获取到第二待处理数据,其中,第二待处理数据和第一待处理数据具有对应性,第二待处理数据和第一待处理数据均指向第一区块链节点,其中可以携带有第一区块链节点的标识等信息,但第二待处理数据可能是其他设备冒充第一区块链节点记录到区块链账本中的,因此需要验证第二待处理数据是不是由第一区块链节点发送的。
第二区块链节点在获取到第二待处理数据之后,可以从第二待处理数据中提取出第二目标数据,进而采用目标加密算法对第二待处理数据中的第二目标数据进行计算,以生成第二摘要信息。若第二摘要信息与第一摘要信息一致,则第二区块链节点确定签名验证结果为第一结果,其中,第一结果确定第二待处理数据是由第一区块链节点发送的;若第二摘要信息与第一摘要信息不一致,则第二区块链节点确定签名验证结果为第二结果,其中,第二结果表示第二待处理数据不是由第一区块链节点发送的。
为进一步理解本方案,请参阅图8,图8为本申请实施例中签名处理系统的一个架构示意图,图8中以密钥管理服务器和第一区块链节点分别为两个独立的设备,且第二区块链节点中不包括第一区块链节点为例进行说明,其中,在步骤C1中,第二区块链节点向密钥管理服务器发送连接请求;在步骤C2中,密钥管理服务器从连接请求中提取第二区块链节点的身份验证信息,对第二区块链节点进行身份验证,得到验证成功的验证结果;在步骤C3中,密钥管理服务器向第二区块链节点发送携带有公钥的证书;在步骤C4中,密钥管理服务器接收第一区块链节点发送的第一待处理数据,之后从第一待处理数据中提取第一目标数据;在步骤C5中,密钥管理服务器向签名服务器发送第一待处理数据中的第一目标数据,发送第一目标数据的数据包中携带有第一区块链节点的标识;在步骤C6中,签名服务器采用第一区块链节点的私钥对第一目标数据进行签名处理,得到签名信息;在步骤C7中,密钥管理服务器接收签名服务器发送的签名信息;在步骤C8中,密钥管理服务器向第二区块链节点发送签名信息;在步骤C9中,第二区块链节点利用第一区块链节点的公钥对签名信息进行解密,得到第一摘要信息,第二区块链节点从区块链账本中获取第二待处理数据,采用哈希算法对第二待处理数据中的第二目标数据进行处理,得到第二摘要信息,由于第一摘要信息和第二摘要信息一致,第二区块链节点确定验证结果为第一结果,也即第二待处理数据是第一区块链节点发送的,则第二区块链节点将第一结果记录至区块链账本中,应当理解,图8中仅以一个第二区块链节点与密钥管理服务器和第一区块链节点之间的交互过程为例进行说明,不代表实际情况中第二区块链节点的个数只有一个,图8中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,第二区块链节点采用公钥对签名信息进行解密,得到第一摘要信息,第二区块链节点获取第二待处理数据,采用目标加密算法根据第二待处理数据生成第二摘要信息;若第二摘要信息与第一摘要信息一致,则确定第二待处理数据是由第一区块链节点发送的,若第二摘要信息与第一摘要信息不一致,则确定第二待处理数据不是由第一区块链节点发送的。通过上述方式,公开了第二区块链节点对第二待处理数据进行验证的具体实现方式,由于只有安全系数较高的节点才能够接收到公钥,也即只有安全系数较高的节点才有对第二待处理数据验证的功能,从而保证了验证结果的可靠性。
可选地,在上述图7对应的实施例的基础上,本申请实施例提供的签名处理的方法一个可选实施例中,第二区块链节点根据签名信息生成签名验证结果之后,方法还包括:
若签名验证结果为第一结果,则第二区块链节点根据第二待处理数据更新状态数据库,其中,状态数据库用于存储区块链账本中的交易数据,交易数据包括交易对象、交易对象的剩余数值、交易数值以及交易时间戳。
本实施例中,若签名验证结果为第一结果,也即第二待处理数据确定为第一区块链节点发送的,则第二区块链节点可以根据第二待处理数据更新状态数据库,其中,状态数据库可以为位于区块链节点处的本地数据库,用于存储区块链账本中的交易数据,交易数据包括交易对象、交易对象的剩余数值、交易数值以及交易时间戳(timestamp)。进一步的,交易对象指的可以为交易发起方和/或交易接收方,具体可以表现为交易发起方和/或交易接收方的唯一标识,作为示例,例如交易发起方和/或交易接收方的交易账号,交易发起方和/或交易接收方的身份证号等等。交易对象的剩余数值可以具体表现为交易发起方的剩余数值和/或交易接收方的剩余数值,作为示例,例如交易发起方和/或交易接收方交易账户中的剩余金额等。时间戳通常具体表现为一个字符序列,用于唯一标识一个时间点,交易时间戳用于唯一标识一个交易时间,具体可以用于标识交易接收方的剩余数值更新的时间,也可以用于标识交易发起方发起交易的时间等等,具体此处均不做限定。
本申请实施例中,若签名验证结果为第一结果,则根据第二待处理数据更新状态数据库,也即在确定第二待处理数据为第一区块链节点发送的之后,才会更新状态数据库,从而保证了状态数据库中的数据的可靠性。
下面对本申请中的签名处理装置进行详细描述,请参阅图9,图9为本申请实施例中签名处理装置一个实施例示意图,签名处理装置30包括:
获取单元301,用于获取第一区块链节点的第一待处理数据,其中,第一待处理数据中包括第一目标数据;
发送单元302,用于向签名服务器发送获取单元301获取的第一待处理数据中的第一目标数据,以使签名服务器采用私钥对第一目标数据进行签名处理,得到签名信息;
接收单元303,用于接收签名服务器发送的签名信息;
发送单元302,还用于向第二区块链节点发送接收单元303接收的签名信息,以使第二区块链节点根据签名信息更新区块链账本。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的签名处理装置30的另一实施例中,获取单元301具体用于:
接收第一区块链节点发送的第一待处理数据;
或,
通过第一区块链节点获取第一待处理数据。
可选地,在上述图9所对应的实施例的基础上,请参阅图10,图10为本申请实施例中签名处理装置一个实施例示意图,本申请实施例提供的签名处理装置30的另一实施例中,接收单元303,还用于收第二区块链节点发送的连接请求,其中,连接请求中携带第二区块链节点的身份验证信息;
签名处理装置30还包括:验证单元304,用于根据接收单元303接收的连接请求,对第二区块链节点进行身份验证,得到身份验证结果;
发送单元302,具体用于在身份验证结果为验证成功的情况下,向第二区块链节点发送证书,其中,证书携带公钥。
可选地,在上述图9以及图10所对应的实施例的基础上,本申请实施例提供的签名处理装置30的另一实施例中,验证单元304具体用于:
从连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,待验证TOKEN以及待验证MSPID属于身份验证信息;
根据信息映射关系查找待验证TOKEN所对应的目标MSPID,其中,信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若目标MSPID与待验证MSPID一致,则确定身份验证结果为验证成功;
若目标MSPID与待验证MSPID不一致,则确定身份验证结果为验证失败。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的签名处理装置30的另一实施例中,发送单元302,具体用于:
向签名服务器发送第一待处理数据中的第一目标数据,以使签名服务器根据第一目标数据生成摘要信息,签名服务器采用私钥对摘要信息进行加密处理,得到签名信息;
向第二区块链节点发送签名信息,以使第二区块链节点根据签名信息生成签名验证结果,将签名验证结果记录至区块链账本。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的签名处理装置30的另一实施例中,接收单元303,还用于接收第二区块链节点发送的第二待处理数据,其中,第二待处理数据中包括第二目标数据;
发送单元302,还用于向签名服务器发送第二目标数据,以使签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,第一摘要信息为签名服务器采用第一区块链节点的公钥对签名信息进行解密后得到的,第二摘要信息为签名服务器采用目标加密算法对第二目标数据进行计算后得到的;
接收单元303,还用于接收签名服务器发送的签名验证结果;
发送单元302,还用于向第二区块链节点发送签名验证结果,以使第二区块链节点根据签名验证结果更新区块链账本。
可选地,在上述图9以及图10所对应的实施例的基础上,本申请实施例提供的签名处理装置30的另一实施例中,签名处理装置30还包括:建立单元305,具体用于:
通过资源表现层状态转化RESTful接口与第一区块链节点建立通信连接;
通过RESTful接口与第二区块链节点建立通信连接。
本申请实施例还提供了一种签名处理装置,请参阅图11,图11为本申请实施例中签名处理装置一个实施例示意图,签名处理装置40包括:
接收单元401,用于在密钥管理服务器获取第一区块链节点的第一待处理数据之后,接收密钥管理服务器发送的签名信息,其中,签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,第一目标数据包含于第一待处理数据中;
生成单元402,用于根据接收单元401接收的签名信息生成签名验证结果;
记录单元403,用于将生成单元402生成的签名验证结果记录至区块链账本。
可选地,在上述图11所对应的实施例的基础上,请参阅图12,图12为本申请实施例中签名处理装置一个实施例示意图,本申请实施例提供的签名处理装置40的另一实施例中,签名处理装置40还包括:发送单元404,用于向密钥管理服务器发送的连接请求,以使密钥管理服务器根据连接请求对第二区块链节点进行身份验证,得到身份验证结果,其中,连接请求中携带第二区块链节点的身份验证信息;
接收单元401,还用于在身份验证结果为验证成功的情况下,接收密钥管理服务器发送的证书,其中,证书携带公钥。
可选地,在上述图10所对应的实施例的基础上,本申请实施例提供的签名处理装置40的另一实施例中,生成单元402,具体用于:
采用公钥对签名信息进行解密,得到第一摘要信息,其中,第一摘要信息为签名服务器采用目标加密算法计算得到的;
获取第二待处理数据;
采用目标加密算法第二待处理数据生成第二摘要信息;
若第二摘要信息与第一摘要信息一致,则确定签名验证结果为第一结果,其中,第一结果确定第二待处理数据是由第一区块链节点发送的;
若第二摘要信息与第一摘要信息不一致,则确定签名验证结果为第二结果,其中,第二结果表示第二待处理数据不是由第一区块链节点发送的。
可选地,在上述图11以及图12所对应的实施例的基础上,本申请实施例提供的签名处理装置40的另一实施例中,签名处理装置40还包括:更新单元405,用于在生成单元402生成的签名验证结果为第一结果的情况下,根据第二待处理数据更新状态数据库,其中,状态数据库用于存储区块链账本中的交易数据,交易数据包括交易对象、交易对象的剩余数值、交易数值以及交易时间戳。
本申请实施例还提供了一种服务器,请参阅图13,图13为本申请实施例中提供的服务器的一个结构示意图。所述服务器500上可以部署有上述图9或图10对应的实施例中提供的签名处理装置,用于执行图4至图6对应的实施例中密钥管理服务器执行的步骤;或者,所述服务器上可以部署有上述图11或图12对应的实施例中提供的签名处理装置,用于执行图7至图8对应的实施例中第二区块链节点执行的步骤;该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图13所示的服务器结构。
在本申请实施例中,在服务器用于执行图4至图6对应的实施例中密钥管理服务器执行的步骤的情况下,该服务器所包括的CPU 522还具有以下功能:
获取第一区块链节点的第一待处理数据,其中,所述第一待处理数据中包括第一目标数据;
向签名服务器发送所述第一待处理数据中的第一目标数据,以使所述签名服务器采用私钥对所述第一目标数据进行签名处理,得到签名信息;
接收所述签名服务器发送的所述签名信息;
向第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息更新区块链账本。
可选地,CPU 522具体用于:
接收所述第一区块链节点发送的所述第一待处理数据;
或,
通过所述第一区块链节点获取所述第一待处理数据。
可选地,CPU 522还用于:
接收所述第二区块链节点发送的连接请求,其中,所述连接请求中携带所述第二区块链节点的身份验证信息;
根据所述连接请求,对所述第二区块链节点进行身份验证,得到身份验证结果;
若所述身份验证结果为验证成功,则向所述第二区块链节点发送证书,其中,所述证书携带公钥。
可选地,CPU 522具体用于:
从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证TOKEN以及所述待验证MSPID属于所述身份验证信息;
根据信息映射关系查找所述待验证TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若所述目标MSPID与所述待验证MSPID一致,则确定所述身份验证结果为验证成功;
若所述目标MSPID与所述待验证MSPID不一致,则确定所述身份验证结果为验证失败。
可选地,CPU 522具体用于:
向所述签名服务器发送所述第一待处理数据中的所述第一目标数据,以使所述签名服务器根据所述第一目标数据生成摘要信息,所述签名服务器采用所述私钥对所述摘要信息进行加密处理,得到所述签名信息;
向第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息更新区块链账本,包括:
向所述第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息生成签名验证结果,将所述签名验证结果记录至所述区块链账本。
可选地,CPU 522还用于:
接收所述第二区块链节点发送的第二待处理数据,其中,所述第二待处理数据中包括第二目标数据;
向签名服务器发送所述第二目标数据,以使所述签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,所述第一摘要信息为所述签名服务器采用所述第一区块链节点的公钥对所述签名信息进行解密后得到的,所述第二摘要信息所述签名服务器为采用目标加密算法对所述第二目标数据进行计算后得到的;
接收所述签名服务器发送的所述签名验证结果;
向所述第二区块链节点发送所述签名验证结果,以使所述第二区块链节点根据所述签名验证结果更新区块链账本。
可选地,CPU 522还用于:
所述密钥管理服务器通过资源表现层状态转化RESTful接口与所述第一区块链节点建立通信连接;
所述密钥管理服务器通过所述RESTful接口与所述第二区块链节点建立通信连接。
在本申请实施例中,在服务器用于执行图7至图8对应的实施例中第二区块链节点执行的步骤的情况下,该服务器所包括的CPU 522还具有以下功能:
在密钥管理服务器获取第一区块链节点的第一待处理数据之后,接收所述密钥管理服务器发送的签名信息,其中,所述签名信息为所述签名服务器采用私钥对第一目标数据进行签名处理后得到的,所述第一目标数据包含于第一待处理数据中;
根据所述签名信息生成签名验证结果;
将所述签名验证结果记录至所述区块链账本。
可选地,CPU 522还用于:
向所述密钥管理服务器发送的连接请求,以使所述密钥管理服务器根据所述连接请求对所述第二区块链节点进行身份验证,得到身份验证结果,其中,所述连接请求中携带所述第二区块链节点的身份验证信息;
若所述身份验证结果为验证成功,则接收所述密钥管理服务器发送的证书,其中,所述证书携带公钥。
可选地,CPU 522具体用于:
采用公钥对所述签名信息进行解密,得到第一摘要信息,其中,所述第一摘要信息为所述签名服务器采用目标加密算法计算得到的;
获取所述第二待处理数据;
采用所述目标加密算法所述第二待处理数据生成第二摘要信息;
若所述第二摘要信息与所述第一摘要信息一致,则确定所述签名验证结果为第一结果,其中,所述第一结果确定所述第二待处理数据是由所述第一区块链节点发送的;
若所述第二摘要信息与所述第一摘要信息不一致,则确定所述签名验证结果为第二结果,其中,所述第二结果表示所述第二待处理数据不是由所述第一区块链节点发送的。
可选地,CPU 522还用于:若所述签名验证结果为所述第一结果,则根据所述第二待处理数据更新状态数据库,其中,所述状态数据库用于存储所述区块链账本中的交易数据,所述交易数据包括交易对象、所述交易对象的剩余数值、交易数值以及交易时间戳。
需要说明的是,在部分实现方式中,第二区块链节点还可以表现为终端设备,也即终端设备上也可以部署有上述图11或图12对应的实施例中提供的签名处理装置,用于执行图7至图8对应的实施例中第二区块链节点执行的步骤。请参阅图14,图14为本申请实施例中提供的终端设备的一个结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端设备(point ofsales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:
图14示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图14,手机包括:射频(radio frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块660、处理器680、以及电源690等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图14中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块660可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了WiFi模块660,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;可选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),可选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端设备所包括的处理器680还具有以下功能:
在密钥管理服务器获取第一区块链节点的第一待处理数据之后,第二区块链节点接收所述密钥管理服务器发送的签名信息,其中,所述签名信息为所述签名服务器采用私钥对第一目标数据进行签名处理后得到的,所述第一目标数据包含于第一待处理数据中;
所述第二区块链节点根据所述签名信息生成签名验证结果;
所述第二区块链节点将所述签名验证结果记录至所述区块链账本。
可选地,处理器680还用于执行图7至图8对应的实施例中第二区块链节点执行的其他步骤,此处不再一一赘述。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述图4至图6所示实施例描述的方法中密钥管理服务器所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述图7至图8所示实施例描述的方法中第二区块链节点所执行的步骤。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图4至图6所示实施例描述的方法中密钥管理服务器所执行的步骤。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图7至图8所示实施例描述的方法中第二区块链节点所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种签名处理的方法,其特征在于,包括:
密钥管理服务器接收第二区块链节点发送的连接请求,其中,所述连接请求中携带所述第二区块链节点的身份验证信息;
所述密钥管理服务器从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证令牌TOKEN以及所述待验证成员关系服务提供者标识MSPID属于所述身份验证信息;
所述密钥管理服务器根据信息映射关系查找所述待验证令牌TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若所述目标MSPID与所述待验证MSPID一致,则所述密钥管理服务器确定所述身份验证结果为验证成功;
若所述目标MSPID与所述待验证MSPID不一致,则所述密钥管理服务器确定所述身份验证结果为验证失败;
若所述身份验证结果为验证成功,则所述密钥管理服务器向所述第二区块链节点发送证书,其中,所述证书携带公钥;
所述密钥管理服务器获取第一区块链节点的第一待处理数据,其中,所述第一待处理数据中包括第一目标数据;
所述密钥管理服务器向签名服务器发送所述第一待处理数据中的所述第一目标数据,以使所述签名服务器采用私钥对所述第一目标数据进行签名处理,得到签名信息;
所述密钥管理服务器接收所述签名服务器发送的所述签名信息;
所述密钥管理服务器向第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息更新区块链账本。
2.根据权利要求1所述的方法,其特征在于,所述密钥管理服务器获取第一区块链节点的第一待处理数据,包括:
所述密钥管理服务器接收所述第一区块链节点发送的所述第一待处理数据;
或,
所述密钥管理服务器通过所述第一区块链节点获取所述第一待处理数据。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述密钥管理服务器向签名服务器发送所述第一待处理数据中的第一目标数据,以使所述签名服务器采用私钥对所述第一目标数据进行签名处理,得到签名信息,包括:
所述密钥管理服务器向所述签名服务器发送所述第一待处理数据中的所述第一目标数据,以使所述签名服务器根据所述第一目标数据生成摘要信息,所述签名服务器采用所述私钥对所述摘要信息进行加密处理,得到所述签名信息;
所述密钥管理服务器向第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息更新区块链账本,包括:
所述密钥管理服务器向所述第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息生成签名验证结果,将所述签名验证结果记录至所述区块链账本。
4.根据权利要求1所述的方法,其特征在于,所述密钥管理服务器向第二区块链节点发送所述签名信息之后,所述方法还包括:
所述密钥管理服务器接收所述第二区块链节点发送的第二待处理数据,其中,所述第二待处理数据中包括第二目标数据;
所述密钥管理服务器向签名服务器发送所述第二目标数据,以使所述签名服务器根据第一摘要信息以及第二摘要信息确定签名验证结果,其中,所述第一摘要信息为所述签名服务器采用所述第一区块链节点的公钥对所述签名信息进行解密后得到的,所述第二摘要信息所述签名服务器为采用目标加密算法对所述第二目标数据进行计算后得到的;
所述密钥管理服务器接收所述签名服务器发送的所述签名验证结果;
所述密钥管理服务器向所述第二区块链节点发送所述签名验证结果,以使所述第二区块链节点根据所述签名验证结果更新区块链账本。
5.根据权利要求1所述的方法,其特征在于,所述密钥管理服务器获取第一区块链节点的第一待处理数据之前,所述方法还包括:
所述密钥管理服务器通过资源表现层状态转化RESTful接口与所述第一区块链节点建立通信连接;
所述密钥管理服务器通过所述RESTful接口与所述第二区块链节点建立通信连接。
6.一种签名处理的方法,其特征在于,包括:
第二区块链节点向密钥管理服务器发送连接请求,以使所述密钥管理服务器根据所述连接请求对所述第二区块链节点进行身份验证,得到身份验证结果,所述连接请求中携带所述第二区块链节点的身份验证信息,其中,所述密钥管理服务器根据所述连接请求对所述第二区块链节点进行身份验证,得到身份验证结果包括:所述密钥管理服务器从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证令牌TOKEN以及所述待验证成员关系服务提供者标识MSPID属于所述身份验证信息;所述密钥管理服务器根据信息映射关系查找所述待验证令牌TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;若所述目标MSPID与所述待验证MSPID一致,则所述密钥管理服务器确定所述身份验证结果为验证成功;若所述目标MSPID与所述待验证MSPID不一致,则所述密钥管理服务器确定所述身份验证结果为验证失败;
若所述身份验证结果为验证成功,则所述第二区块链节点接收所述密钥管理服务器发送的证书,其中,所述证书携带公钥;在所述密钥管理服务器获取第一区块链节点的第一待处理数据之后,所述第二区块链节点接收所述密钥管理服务器发送的签名信息,其中,所述签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,所述第一目标数据包含于所述第一待处理数据中;
所述第二区块链节点根据所述签名信息生成签名验证结果;
所述第二区块链节点将所述签名验证结果记录至所述区块链账本。
7.根据权利要求6所述的方法,其特征在于,所述第二区块链节点根据所述签名信息生成签名验证结果,包括:
所述第二区块链节点采用公钥对所述签名信息进行解密,得到第一摘要信息,其中,所述第一摘要信息为所述签名服务器采用目标加密算法计算得到的;
所述第二区块链节点获取第二待处理数据;
所述第二区块链节点采用所述目标加密算法根据所述第二待处理数据生成第二摘要信息;
若所述第二摘要信息与所述第一摘要信息一致,则所述第二区块链节点确定所述签名验证结果为第一结果,其中,所述第一结果确定所述第二待处理数据是由所述第一区块链节点发送的;
若所述第二摘要信息与所述第一摘要信息不一致,则所述第二区块链节点确定所述签名验证结果为第二结果,其中,所述第二结果表示所述第二待处理数据不是由所述第一区块链节点发送的。
8.根据权利要求7所述的方法,其特征在于,所述第二区块链节点根据所述签名信息生成签名验证结果之后,所述方法还包括:
若所述签名验证结果为所述第一结果,则所述第二区块链节点根据所述第二待处理数据更新状态数据库,其中,所述状态数据库用于存储所述区块链账本中的交易数据,所述交易数据包括交易对象、所述交易对象的剩余数值、交易数值以及交易时间戳。
9.一种签名处理装置,其特征在于,包括:
接收单元,用于接收第二区块链节点发送的连接请求,其中,所述连接请求中携带所述第二区块链节点的身份验证信息;
验证单元,用于从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证令牌TOKEN以及所述待验证成员关系服务提供者标识MSPID属于所述身份验证信息;根据信息映射关系查找所述待验证令牌TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;若所述目标MSPID与所述待验证MSPID一致,确定所述身份验证结果为验证成功;若所述目标MSPID与所述待验证MSPID不一致,确定所述身份验证结果为验证失败;
发送单元,用于在所述身份验证结果为验证成功时,向所述第二区块链节点发送证书,其中,所述证书携带公钥;
获取单元,用于获取第一区块链节点的第一待处理数据,其中,所述第一待处理数据中包括第一目标数据;
所述发送单元,还用于向签名服务器发送所述第一待处理数据中的第一目标数据,以使所述签名服务器采用私钥对所述第一目标数据进行签名处理,得到签名信息;
所述接收单元,还用于接收所述签名服务器发送的所述签名信息;
所述发送单元,还用于向第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息更新区块链账本。
10.一种签名处理装置,其特征在于,包括:
发送单元,用于向密钥管理服务器发送连接请求,以使所述密钥管理服务器根据所述连接请求对第二区块链节点进行身份验证,得到身份验证结果,所述连接请求中携带所述第二区块链节点的身份验证信息,其中,所述密钥管理服务器根据所述连接请求对所述第二区块链节点进行身份验证,得到身份验证结果包括:所述密钥管理服务器从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证令牌TOKEN以及所述待验证成员关系服务提供者标识MSPID属于所述身份验证信息;所述密钥管理服务器根据信息映射关系查找所述待验证令牌TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;若所述目标MSPID与所述待验证MSPID一致,则所述密钥管理服务器确定所述身份验证结果为验证成功;若所述目标MSPID与所述待验证MSPID不一致,则所述密钥管理服务器确定所述身份验证结果为验证失败;
接收单元,用于在所述身份验证结果为验证成功时,接收所述密钥管理服务器发送的证书,其中,所述证书携带公钥;
接收单元,还用于在密钥管理服务器获取第一区块链节点的第一待处理数据之后,接收所述密钥管理服务器发送的签名信息,其中,所述签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,所述第一目标数据包含于第一待处理数据中;
生成单元,用于根据所述签名信息生成签名验证结果;
记录单元,用于将所述签名验证结果记录至所述区块链账本。
11.一种密钥管理服务器,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
接收第二区块链节点发送的连接请求,其中,所述连接请求中携带所述第二区块链节点的身份验证信息;
从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证令牌TOKEN以及所述待验证成员关系服务提供者标识MSPID属于所述身份验证信息;
根据信息映射关系查找所述待验证令牌TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;
若所述目标MSPID与所述待验证MSPID一致,确定所述身份验证结果为验证成功;
若所述目标MSPID与所述待验证MSPID不一致,确定所述身份验证结果为验证失败;
若所述身份验证结果为验证成功,向所述第二区块链节点发送证书,其中,所述证书携带公钥;
获取第一区块链节点的第一待处理数据,其中,所述第一待处理数据中包括第一目标数据;
向签名服务器发送所述第一待处理数据中的第一目标数据,以使所述签名服务器采用私钥对所述第一目标数据进行签名处理,得到签名信息;
接收所述签名服务器发送的所述签名信息;
向第二区块链节点发送所述签名信息,以使所述第二区块链节点根据所述签名信息更新区块链账本;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
12.一种区块链节点,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
向密钥管理服务器发送连接请求,以使所述密钥管理服务器根据所述连接请求对第二区块链节点进行身份验证,得到身份验证结果,所述连接请求中携带所述第二区块链节点的身份验证信息,其中,所述密钥管理服务器根据所述连接请求对所述第二区块链节点进行身份验证,得到身份验证结果包括:所述密钥管理服务器从所述连接请求中获取待验证令牌TOKEN以及待验证成员关系服务提供者标识MSPID,其中,所述待验证令牌TOKEN以及所述待验证成员关系服务提供者标识MSPID属于所述身份验证信息;所述密钥管理服务器根据信息映射关系查找所述待验证令牌TOKEN所对应的目标MSPID,其中,所述信息映射关系用于表示TOKEN与MSPID之间的对应关系;若所述目标MSPID与所述待验证MSPID一致,则所述密钥管理服务器确定所述身份验证结果为验证成功;若所述目标MSPID与所述待验证MSPID不一致,则所述密钥管理服务器确定所述身份验证结果为验证失败;
若所述身份验证结果为验证成功,接收所述密钥管理服务器发送的证书,其中,所述证书携带公钥;
在所述密钥管理服务器获取第一区块链节点的第一待处理数据之后,接收所述密钥管理服务器发送的签名信息,其中,所述签名信息为签名服务器采用私钥对第一目标数据进行签名处理后得到的,所述第一目标数据包含于第一待处理数据中;
根据所述签名信息生成签名验证结果;
将所述签名验证结果记录至所述区块链账本;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
CN201910843355.XA 2019-09-06 2019-09-06 一种签名处理的方法、相关装置以及设备 Active CN110545190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910843355.XA CN110545190B (zh) 2019-09-06 2019-09-06 一种签名处理的方法、相关装置以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910843355.XA CN110545190B (zh) 2019-09-06 2019-09-06 一种签名处理的方法、相关装置以及设备

Publications (2)

Publication Number Publication Date
CN110545190A CN110545190A (zh) 2019-12-06
CN110545190B true CN110545190B (zh) 2021-08-13

Family

ID=68713056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910843355.XA Active CN110545190B (zh) 2019-09-06 2019-09-06 一种签名处理的方法、相关装置以及设备

Country Status (1)

Country Link
CN (1) CN110545190B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083164A (zh) * 2019-12-30 2020-04-28 宁波和利时信息安全研究院有限公司 工业控制系统的安全防护方法和相关设备
CN112861180B (zh) * 2020-03-06 2022-07-12 西南交通大学 一种区块链与工作流相结合的供应链信息共享系统及方法
CN111581667B (zh) * 2020-05-15 2023-05-16 重庆帮帮链智能科技有限公司 一种养老服务时间结算系统
CN111510306B (zh) * 2020-06-30 2021-02-19 吕晟珉 一种基于区块链的离线签名方法及装置
CN111885026B (zh) * 2020-07-10 2023-01-31 海尔优家智能科技(北京)有限公司 基于区块链的互联互通方法和装置、存储介质及电子装置
CN112163034B (zh) * 2020-09-03 2023-06-16 中国联合网络通信集团有限公司 一种模型共享方法、节点及区块链系统
CN112884467A (zh) * 2020-09-23 2021-06-01 周海婷 基于区块链支付的区块链节点验证方法及可读存储介质
CN112581110A (zh) * 2021-02-22 2021-03-30 支付宝(杭州)信息技术有限公司 燃料代扣方法及装置、电子设备、存储介质
CN113570368A (zh) * 2021-07-29 2021-10-29 成都质数斯达克科技有限公司 一种区块链混合验签方法及系统
CN113570465B (zh) * 2021-09-18 2022-01-07 杭州远境互联科技有限公司 基于pos共识机制的区块链签名处理方法
CN113839947B (zh) * 2021-09-24 2023-09-05 深圳前海微众银行股份有限公司 基于区块链的数据处理方法、设备及系统

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107453862A (zh) * 2017-05-15 2017-12-08 杭州复杂美科技有限公司 私钥生成存储及使用的方案
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
CN107623569A (zh) * 2017-09-30 2018-01-23 矩阵元技术(深圳)有限公司 基于秘密共享技术的区块链密钥托管和恢复方法、装置
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN108305072A (zh) * 2018-01-04 2018-07-20 上海点融信息科技有限责任公司 部署区块链网络的方法、设备和计算机存储介质
CN108615154A (zh) * 2018-05-01 2018-10-02 王锐 一种基于硬件加密保护的区块链数字签名系统及使用流程
WO2018177235A1 (zh) * 2017-03-28 2018-10-04 阿里巴巴集团控股有限公司 一种区块链共识方法及装置
CN108900464A (zh) * 2018-04-26 2018-11-27 平安科技(深圳)有限公司 电子装置、基于区块链的数据处理方法和计算机存储介质
CN108932410A (zh) * 2018-08-17 2018-12-04 腾讯科技(深圳)有限公司 一种数字资源版权鉴权方法、装置、系统和存储介质
CN109308658A (zh) * 2018-09-11 2019-02-05 北京永恒纪元科技有限公司 一种高效安全的去中心化资产托管清算平台系统
WO2019032089A1 (en) * 2017-08-07 2019-02-14 Visa International Service Association BLOCK CHAIN ARCHITECTURE WITH SECURITY RECORDING
CN109743321A (zh) * 2019-01-04 2019-05-10 中国联合网络通信集团有限公司 区块链、应用程序、应用程序的用户认证方法及系统
CN109840771A (zh) * 2019-04-01 2019-06-04 西安电子科技大学 一种基于同态加密的区块链隐私保护系统及其方法
CN109902074A (zh) * 2019-04-17 2019-06-18 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382485B2 (en) * 2016-12-23 2019-08-13 Vmware, Inc. Blockchain-assisted public key infrastructure for internet of things applications
CN106888087B (zh) * 2017-03-15 2018-09-04 腾讯科技(深圳)有限公司 一种管理证书的方法和装置
KR101974452B1 (ko) * 2017-05-24 2019-05-03 라온시큐어(주) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
US10924466B2 (en) * 2017-07-28 2021-02-16 SmartAxiom, Inc. System and method for IOT security
CN108494557B (zh) * 2018-02-07 2020-03-20 平安科技(深圳)有限公司 社保数字证书管理方法、计算机可读存储介质及终端设备
CN108614878B (zh) * 2018-04-27 2023-01-10 腾讯科技(深圳)有限公司 协议数据管理方法、装置、存储介质及系统
CN108564353B (zh) * 2018-04-27 2022-01-25 数字钱包(北京)科技有限公司 基于区块链的支付系统及方法
CN109150539A (zh) * 2018-07-24 2019-01-04 深圳前海益链网络科技有限公司 一种基于区块链的分布式ca认证系统、方法及装置
CN108880823A (zh) * 2018-08-07 2018-11-23 佛山市苔藓云链科技有限公司 一种生成快速导航的区块链的方法及系统
CN109165944B (zh) * 2018-08-21 2021-01-26 京东数字科技控股有限公司 基于区块链的多方签名认证方法、装置、设备及存储介质
CN109257342B (zh) * 2018-09-04 2020-05-26 阿里巴巴集团控股有限公司 区块链跨链的认证方法、系统、服务器及可读存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018177235A1 (zh) * 2017-03-28 2018-10-04 阿里巴巴集团控股有限公司 一种区块链共识方法及装置
CN107453862A (zh) * 2017-05-15 2017-12-08 杭州复杂美科技有限公司 私钥生成存储及使用的方案
WO2019032089A1 (en) * 2017-08-07 2019-02-14 Visa International Service Association BLOCK CHAIN ARCHITECTURE WITH SECURITY RECORDING
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
CN107623569A (zh) * 2017-09-30 2018-01-23 矩阵元技术(深圳)有限公司 基于秘密共享技术的区块链密钥托管和恢复方法、装置
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN108305072A (zh) * 2018-01-04 2018-07-20 上海点融信息科技有限责任公司 部署区块链网络的方法、设备和计算机存储介质
CN108900464A (zh) * 2018-04-26 2018-11-27 平安科技(深圳)有限公司 电子装置、基于区块链的数据处理方法和计算机存储介质
CN108615154A (zh) * 2018-05-01 2018-10-02 王锐 一种基于硬件加密保护的区块链数字签名系统及使用流程
CN108932410A (zh) * 2018-08-17 2018-12-04 腾讯科技(深圳)有限公司 一种数字资源版权鉴权方法、装置、系统和存储介质
CN109308658A (zh) * 2018-09-11 2019-02-05 北京永恒纪元科技有限公司 一种高效安全的去中心化资产托管清算平台系统
CN109743321A (zh) * 2019-01-04 2019-05-10 中国联合网络通信集团有限公司 区块链、应用程序、应用程序的用户认证方法及系统
CN109840771A (zh) * 2019-04-01 2019-06-04 西安电子科技大学 一种基于同态加密的区块链隐私保护系统及其方法
CN109902074A (zh) * 2019-04-17 2019-06-18 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙媛媛." 基于信任链的P2P可信身份认证模型的研究与设计".《中国优秀硕士学位论文全文数据库》.2016, *

Also Published As

Publication number Publication date
CN110545190A (zh) 2019-12-06

Similar Documents

Publication Publication Date Title
CN110545190B (zh) 一种签名处理的方法、相关装置以及设备
CN112733107B (zh) 一种信息验证的方法、相关装置、设备以及存储介质
CN109472166B (zh) 一种电子签章方法、装置、设备及介质
TWI713855B (zh) 憑證管理方法及系統
CN110163004B (zh) 一种区块链生成的方法、相关设备及系统
EP3308522B1 (en) System, apparatus and method for multi-owner transfer of ownership of a device
WO2018177124A1 (zh) 业务处理方法、装置、数据共享系统及存储介质
CN106686008B (zh) 信息存储方法及装置
CN111475841B (zh) 一种访问控制的方法、相关装置、设备、系统及存储介质
US9647836B2 (en) Secure storage for shared documents
CN110598482B (zh) 基于区块链的数字证书管理方法、装置、设备及存储介质
US11488234B2 (en) Method, apparatus, and system for processing order information
CN109768977B (zh) 流媒体数据处理方法、装置以及相关设备和介质
JP2007506392A (ja) データ通信機密保護の仕組みおよび方法
CN105409264A (zh) 用于保护受信任计算基的凭证保险库的系统和方法
US20220239509A1 (en) Method for storing and recovering key for blockchain-based system, and device therefor
CN113395159A (zh) 一种基于可信执行环境的数据处理方法以及相关装置
US20210152366A1 (en) Verification and encryption scheme in data storage
CN111475832B (zh) 一种数据管理的方法以及相关装置
CN114586314A (zh) 基于私钥管理的区块链事务控制
CN112533202A (zh) 身份鉴别方法及装置
CN115001841A (zh) 一种身份认证方法、装置及存储介质
CN114039726B (zh) 一种密钥生成的方法、密钥获取的方法、相关装置及介质
CN114547082A (zh) 一种数据聚合的方法、相关装置、设备以及存储介质
CN111259452A (zh) 一种基于区块链的数据管理方法以及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016929

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant