CN111555870A - 一种密钥运算方法及装置 - Google Patents

一种密钥运算方法及装置 Download PDF

Info

Publication number
CN111555870A
CN111555870A CN202010355471.XA CN202010355471A CN111555870A CN 111555870 A CN111555870 A CN 111555870A CN 202010355471 A CN202010355471 A CN 202010355471A CN 111555870 A CN111555870 A CN 111555870A
Authority
CN
China
Prior art keywords
key operation
target data
service
service system
party
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.)
Granted
Application number
CN202010355471.XA
Other languages
English (en)
Other versions
CN111555870B (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alipay Labs Singapore Pte 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 Alipay Labs Singapore Pte Ltd filed Critical Alipay Labs Singapore Pte Ltd
Priority to CN202010355471.XA priority Critical patent/CN111555870B/zh
Publication of CN111555870A publication Critical patent/CN111555870A/zh
Priority to PCT/CN2021/089353 priority patent/WO2021218821A1/zh
Application granted granted Critical
Publication of CN111555870B publication Critical patent/CN111555870B/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书提供了一种密钥运算方法和装置,应用于桥接端;其中,业务***通过所述桥接端与区块链的节点设备连接;所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备;所述方法包括:所述桥接端接收所述业务***与所述节点设备之间交互的目标数据;响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算;获取所述第三方安全存储设备返回的密钥运算结果,并转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。

Description

一种密钥运算方法及装置
技术领域
本说明书一个或多个实施方式涉及网络通信领域,尤其涉及一种密钥运算方法和装置。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
随着区块链技术的发展,越来越多的业务***提出了接入区块链网络的需求,然而将业务***服务器与区块链网络直接对接会带来数据安全的风险,尤其是当区块链网络为公有区块链网络时,不仅对业务***服务器有着更高的硬件需求,而且对业务***服务器有着较大的隐私破坏风险。
发明内容
有鉴于此,本说明书一个或多个实施方式提供了一种密钥运算方法,应用于桥接端;其中,业务***通过所述桥接端与区块链的节点设备连接;所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备;所述方法包括:
所述桥接端接收所述业务***与所述节点设备之间交互的目标数据;
响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算;
获取所述第三方安全存储设备返回的密钥运算结果,并转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。
在又一示出的实施方式中,所述第三方安全存储设备为HSM机。
在又一示出的实施方式中,所述基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算,包括:
在所述第三方安全存储设备搭载的安全运算环境中,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在又一示出的实施方式中,所述第三方安全存储设备被部署在所述业务***中。
在又一示出的实施方式中,所述桥接端面向业务***提供了密钥运算远程调用接口;
所述响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算,包括:
响应于所述目标数据,确定所述密钥运算远程调用接口是否包含所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑;
如果是,禁用所述桥接端本地的密钥运算服务,执行所述密钥运算服务调用逻辑,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在又一示出的实施方式中,所述的方法,还包括:
启动所述桥接端时,从所述业务***接收与所述目标数据对应的密钥运算逻辑的接口部署文件;
加载所述接口部署文件以部署所述密钥运算远程调用接口。
相应地,本说明书还提供了一种密钥运算装置,应用于桥接端;其中,业务***通过所述桥接端与区块链的节点设备连接;所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备;所述装置包括:
接收单元,接收所述业务***与所述节点设备之间交互的目标数据;
执行单元,响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算;
获取单元,获取所述第三方安全存储设备返回的密钥运算结果;
发送单元,转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。
在又一示出的实施方式中,所述第三方安全存储设备为HSM机。
在又一示出的实施方式中,所述执行单元,进一步用于:
在所述第三方安全存储设备搭载的安全运算环境中,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在又一示出的实施方式中,所述第三方安全存储设备被部署在所述业务***中。
在又一示出的实施方式中,所述桥接端面向业务***提供了密钥运算远程调用接口;
所述执行单元,进一步用于:
响应于所述目标数据,确定所述密钥运算远程调用接口是否包含所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑;
如果是,禁用所述桥接端本地的密钥运算服务,执行所述密钥运算服务调用逻辑,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在又一示出的实施方式中,所述接收单元,进一步用于:启动所述桥接端时,从所述业务***接收与所述目标数据对应的密钥运算逻辑的接口部署文件;
部署单元,加载所述接口部署文件以部署所述密钥运算远程调用接口。
本说明书还提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行桥接端所执行的密钥运算方法。
本说明书还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行桥接端所执行的密钥运算方法。
本说明书各个实施方式提供的密钥运算方法、装置、计算机设备和计算机可读存储介质,在业务***与区块链节点设备之间设置了桥接端,由桥接端负责转发业务***与区块链节点设备之间交互的目标数据,为保护目标数据的可信性或安全性,上述桥接端需在转发过程中对目标数据进行相关的密钥运算。为了进一步增强上述目标数据的安全性,防止桥接端被攻击作恶或主动作恶,桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备,并调用第三方安全存储设备中部署的密钥运算服务,对所述目标数据进行密钥运算;从而有效降低了桥接端作恶而造成的数据安全风险,提高了业务***的数据安全性和密钥运算结果对业务***、或区块链节点设备的可信性。
附图说明
图1是一示例性实施方式提供的通过包括业务***、桥接端和区块链网络的***来实施区块链交易的示意图;
图2是一示例性实施方式提供的密钥运算方法的流程示意图;
图3是一示例性实施方式提供的应用于桥接端的密钥运算装置的示意图;
图4是运行本说明书所提供的密钥运算装置实施方式的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书一个或多个实施方式相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施方式的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施方式中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施方式中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施方式中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施方式中也可能被合并为单个步骤进行描述。
随着区块链支持的应用业务日渐成熟,越来越多的业务***需要接入区块链网络,以向区块链上发送转账交易、存证交易、或智能合约调用交易,并获得上述交易在区块链上的执行结果。如果将业务***与区块链网络的节点设备直接连接,为了业务***的安全,除业务逻辑外,还需要在业务***部署网络通信、证书交换、密钥安全及隐私保护等复杂逻辑,业务***直接接入区块链的成本较高。
鉴于以上的问题,本说明书的一个或多个实施方式提供了一种密钥运算方法,应用于连接业务***和区块链节点设备的桥接端。
图1是一示例性实施方式提供的通过包括业务***、桥接端和区块链网络的***来实施区块链交易的示意图;
本说明书一个或多个实施方式所述的业务***可包括部署有业务处理逻辑的业务***服务器,还可以包括与业务***服务器连接的其他功能模块或独立设备端。
本说明书一个或多个实施方式所收到桥接端,是连接业务***与区块链的节点设备的独立设备,或者是被设置于所述业务***内部的硬件模块,使得业务***通过该硬件模块与区块链的节点设备连接,还可以是被设置于区块链节点设备内部的硬件模块,在此不作限定。
具体地,上述业务***可设置其信任的区块链节点设备,并要求桥接端与上述信任的区块链节点设备通信连接以进行目标数据的交互,例如,接收业务***发送的业务交易、并将该业务交易转发至区块链网络,或接收区块链节点设备发送的业务交易执行结果、并将该业务交易执行结果转发至业务***。
本说明书一个或多个实施方式所述的区块链或区块链网络,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络***,该区块链内的账本数据分布在时间上相连的一个个“区块(block)”之内,后一区块可包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化***,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
可以预期,本说明书所提供的实施方式能够在任何合适类型的区块链网络中实现。
由于区块链网络***在相应共识机制下运行,已收录至区块链数据库内的数据、或智能合约的执行结果很难被任意的节点篡改,因此区块链***有着其他中心化数据库***所无法比拟的保证数据安全、防攻击篡改的特性。业务***基于其业务需求,可能需要与区块链网络进行业务互动,上述桥接端承载了转发业务***与区块链节点设备交互的数据信息、并对上述数据信息进行密钥运算以确保上述数据信息的安全性的重要作用。
例如,桥接端与业务***间通信链路的建立需要证书建立可信通道,以及在业务上对报文进行签名。另外,业务上的需要,桥接端必须兼容一些异常处理机制,比如失败重试通知机制等。同时,由隐私保护解决方案引申出来的数据安全问题,也需要桥接端来进行复杂零知识证明计算,以及信封加解密等逻辑。这里提到的每一个问题,都会涉及到双向认证的证书或(非)对称加密秘钥。
以双向认证证书为例:当上述桥接端作为客户端与业务***通信的时候,桥接端需要验证业务***的证书是否在信任列表TrustStore内,此处TrustStore需密码保护;同时业务***作为服务端也需要验证客户端的证书,客户端首先要生成证书颁发请求文件csr文件,此处用于对csr文件进行签名的RSA私钥需要保护;服务端给客户端颁发的服务端证书需要放置在KeyStore中,此处KeyStore需密码保护。当桥接端作为服务端,也需要接收来自业务***的请求,双向认证这里会与上述过程类似,也会涉及到3个秘钥安全的问题,所以桥接端与业务***进行双向认证交互会设计6个秘钥安全问题。另外,桥接端与区块链之间的TLS双向认证通信,以及上述涉及到的隐私保护、信封加解密等逻辑,都会涉及到秘钥安全问题。在这个背景之下,上述桥接端会持有大量秘钥,包括RSA私钥、ECC私钥、AES秘钥、证书等等。这些秘钥如何妥善保管是十分重要的***安全问题。
桥接端基于上述加解密或数字签名的业务需求,可在本地配置密钥运算服务逻辑。一般可采用将上述业务需求中涉及的密钥或证书通过AES对称加密存储在桥接端本地,动态加载后上述密钥或证书的明文存储于内存中。然而,这种方式通常有较大的安全隐患,首先AES是一种容易被攻破的加密方式;其次内存存储秘钥原文也有安全风险。
有鉴于此,在本说明书提供了一个或多个实施方式中,所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备。
上述第三方安全存储设备是独立于上述桥接端的密钥存储设备或设备模块,其上可搭载有安全性较高的硬件模块,以执行与其存储的密钥信息相关的密钥运算服务,例如,HSM机可作为上述第三方安全存储设备,以执行桥接端需要的密钥运算服务。HSM机,是一种解密、加签等密钥逻辑写在硬件机器上的服务器。通过口令对HSM进行调用,就可以获取到指定密钥运算后的结果,比如密文或签名等。
如图2所示,本说明书提供的一个或多个实施方式所提供的密钥运算方法,包括:
步骤202,所述桥接端接收所述业务***与所述节点设备之间交互的目标数据。
上述目标数据可以包括业务***或区块链节点设备的身份证书、业务***构建的、待发送至区块链网络的业务数据交易,或上述业务数据交易在区块链网络的执行结果等数据中的一个或多个,根据具体的业务或数据安全需求,上述目标数据可能需要被执行加密/解密/数字签名(加签)/数字签名验证(验签)等密钥运算。
步骤204,响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
桥接端将密钥信息及相关密钥运算服务托管于第三方安全存储设备,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。具体地,上述第三方安全存储设备可搭载安全运算环境,例如可信执行环境(TEE)或飞地,并将上述密钥信息及密钥运算逻辑,在TEE中进行隔离,来实现对密钥信息及密钥运算逻辑等受保护代码的安全防护。
其中,在搭建TEE时,通常可以将设备底层的处理器作为硬件支撑,来搭建一个仅能由处理器来访问的容器(container)作为可信执行环境,并将受保护代码隔离加载在该容器中,以对容器中的受保护代码进行隔离保护。
例如,以利用Intel的SGX(Software Guard Extensions,软件保护扩展)技术来搭建TEE为例,基于SGX技术,通常会将设备的CPU作为硬件支撑,来创建称之为Enclave的程序作为保护容器,并将需要受到保护的代码隔离加载在Enclave程序中,保护其不受到攻击。
将上述桥接端维护的密钥信息存储在第三方安全存储设备中,可有效降低桥接端被攻击、或作恶引起的数据安全风险;上述第三方安全存储设备部署的安全运算环境为上述目标数据的密钥运算提供了进一步的安全保障。
在一示出的实施方式中,为了进一步提高目标数据的安全性,上述第三方安全存储设备可以被部署在上述业务***中,作为业务***的一部分,在业务***的监管下执行上述密钥运算过程。
在又一示出的实施方式中,上述桥接端面向业务***提供了密钥运算远程调用接口,使得桥接端调用第三方安全存储设备以进行密钥运算的过程通过调用上述密钥运算逻辑接口的方法统一实现。
为实现上述一个或多个实施方式所述的、调用第三方安全存储设备以进行密钥运算服务的目的,在启动所述桥接端时,上述桥接端可从所述业务***接收接口部署文件,该接口部署文件用于远程调用第三方安全存储设备中的、与所述目标数据对应的密钥运算服务,并加载所述接口部署文件以部署至所述密钥运算远程调用接口。例如,业务***可获取桥接端配置的SPI接口内容,基于该SPI接口内容编辑调用第三方安全存储设备执行的密钥运算服务的逻辑,并将该密钥运算服务的调用逻辑打包成JAR文件(通过Java实现)。当桥接端启动的时候,通过与业务***通信,桥接端可自动加载该JAR至classpath中,查询到该JAR在classpath中会主动禁用桥接端本地的密钥运算服务(此时还可以设置之后所有的密钥运算都会通过相关的JAR以进行SPI接口调用而非本地密钥运算服务)。
具体地,上述密钥运算逻辑接口可实现如AESCbc加密、AESCbc解密、AESGcm加密、AESGcm解密、RSA解密、RSA签名、ECDSA签名等密钥运算服务的远程调用逻辑,本说明书对上述密钥运算逻辑接口可实现的密钥运算方法不做限定。值得注意的是,密钥运算逻辑接口中部署的ECDSA签名或验签算法,应于区块链支持的ECDSA算法保持一致,跟区块链支持相同的椭圆曲线的形状。
接下来,响应于业务***或区块链节点设备发来的目标数据,桥接端可执行判断以下判断:确定所述密钥运算远程调用接口是否包含所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑;如果是,禁用所述桥接端本地的密钥运算服务,基于所述密钥运算远程调用接口包含的所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在上述实施方式中,不仅第三方安全存储设备被部署在业务***内部,可由业务***监督其执行密钥运算服务;而且桥接端上部署的、调用上述第三方安全存储设备执行密钥运算的调用接口部署文件也是由上述业务***开发的,因此,上述实施方式所提供的密钥运算方法,显著地降低了桥接端可能带来的数据安全风险,提高了业务***对目标数据进行密钥运算所得的密钥运算结果的可信程度。
步骤206,获取所述第三方安全存储设备返回的密钥运算结果,并转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。
当上述密钥运算服务是在第三方安全存储设备的可信执行环境(TEE)中进行的,可信执行环境输出的运算结果数据通常为加密数据,业务***与所述节点设备基于与可信执行环境对应的公钥可解密上述运算结果数据,从而获得可信执行环境中进行的密钥运算结果的明文。
在上述一个或多个实施方式中,在业务***与区块链节点设备之间设置了桥接端,由桥接端负责转发业务***与区块链节点设备之间交互的目标数据,且为保护目标数据的可信性或安全性,上述桥接端需在转发过程中对目标数据进行相关的密钥运算。为了进一步增强上述目标数据的安全性,防止桥接端被攻击作恶或主动作恶,桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备,并调用第三方安全存储设备中部署的密钥运算服务,对所述目标数据进行密钥运算;从而有效降低了桥接端作恶而造成的数据安全风险,提高了业务***的数据安全性。
本说明书以下部分内容提供了一种业务***(例如金融机构的业务***)通过桥接端、与区块链的节点设备进行信息通信的实施方式。
业务***出于业务需求,需加入到区块链(如联盟链)中。为了业务***的数据安全性,业务***选择通过桥接端、间接与区块链的节点设备连接。为了保证业务数据的安全,业务***通常加密发送业务数据,桥接端在收到业务***发来的业务数据密文后,可通过预先保存的解密密钥对业务数据密文解密、或者再对解密后的业务数据执行加签。
为完成上述解密或加签操作,桥接端需获得上述解密密钥key 1,和对业务数据密文执行的解密逻辑P1;或者,还需获得用于对业务数据执行数字签名操作的私钥key 2,和对业务数据执行的数字签名逻辑P2。如果将上述密钥key 1、key2及相应的解密及加签逻辑P1、P2保存在桥接端本地,一旦桥接端发生主动或被攻击作恶,业务***将面临较大的数据风险,使得桥接端无法适配业务***的安全需求。
在本实施方式中,业务***可包括HSM机,该HSM机可以为与业务***服务器连接的设备终端,也可为业务***服务器所包括的硬件模块,在此不做限定。业务***将可对其业务数据密文执行解密的密钥key1、和可对其业务数据执行数字签名的密钥key2保存在上述HSM机中。本领域的技术人员应知,HSM机基于其硬件设置可安全地实现密钥存储及使用。
业务***可基于以下步骤实现解密或加签逻辑的配置:
业务***获取桥接端提供的解密接口API 1或加签接口API 2内容;
业务***基于上述API1或API2,编写解密逻辑P1或加签逻辑P2,并将其配置于HSM机中,上述解密逻辑P1用以调用HSM机里存储的key1对数据进行解密,上述加签逻辑P2用以调用HSM机里存储的key2对数据进行数字签名;
业务***将通过Java实现的、调用HSM机中的解密逻辑P1或加签逻辑P2的方法打包为JAR1或JAR2文件,并将JAR1或JAR2文件存储至指定位置;
业务***向桥接端通知上述JAR1或JAR2文件存储的业务***中的指定位置;
桥接端启动,从上述业务***中的指定位置获取上述JAR1或JAR2文件,并将其加载部署至API1或API 2;
响应于接收到的业务***发送的业务数据密文,桥接端判断上述接口API1或API2是否包含业务***编写的、解密或加签逻辑JAR1或JAR2;
如果是,桥接端放弃本地部署的解密或加签逻辑,基于API1或API2中包括的解密或加签逻辑JAR1或JAR2,远程调用HSM机中的P1或P2,以基于HSM机中存储的key1对上述业务数据进行解密,或者,再基于HSM机中存储的key2对解密后的业务数据进行数字签名;
桥接端接收解密后的业务数据,或者对解密后的业务数据的数字签名。
由以上实施方式可知,桥接端无需存储解密业务数据密文、或对业务数据签名的密钥,即可通过远程调用HSM机中存储的密钥和部署的密钥运算服务,完成对其接收到的业务数据的解密或加签操作;全程中密钥key1、key2均无需向桥接端透出,显著提高了业务***的数据安全性;而且桥接端内部无需代码改动,实现了密钥运算的可插拔设计。
与上述流程实现对应,本说明书的实施方式还提供了一种密钥运算装置30。装置30可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图4所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
如图3所示,本说明书还提供了一种密钥运算装置30,应用于桥接端;其中,业务***通过所述桥接端与区块链的节点设备连接;所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备;所述装置30包括:
接收单元302,接收所述业务***与所述节点设备之间交互的目标数据;
执行单元304,响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算;
获取单元306,获取所述第三方安全存储设备返回的密钥运算结果;
发送单元308,转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。
在又一示出的实施方式中,所述第三方安全存储设备为HSM机。
在又一示出的实施方式中,所述执行单元304,进一步用于:
在所述第三方安全存储设备搭载的安全运算环境中,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在又一示出的实施方式中,所述第三方安全存储设备被部署在所述业务***中。
在又一示出的实施方式中,所述桥接端面向业务***提供了密钥运算远程调用接口;
所述执行单元304,进一步用于:
响应于所述目标数据,确定所述密钥运算远程调用接口是否包含所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑;
如果是,禁用所述桥接端本地的密钥运算服务,执行所述密钥运算服务调用逻辑,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
在又一示出的实施方式中,所述接收单元302,进一步用于:启动所述桥接端时,从所述业务***接收与所述目标数据对应的密钥运算逻辑的接口部署文件;
部署单元310,加载所述接口部署文件以部署所述密钥运算远程调用接口。
上述装置30中各个单元的功能和作用的实现过程具体详见上述桥接端所执行的密钥运算方法中对应步骤的实现过程,相关之处参见方法实施方式的部分说明即可,在此不再赘述。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施方式阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施方式相对应,本说明书的实施方式还提供了一种计算机设备,如图4所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施方式中桥接端所执行的密钥运算方法的各个步骤。对上述桥接端所执行的密钥运算方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中桥接端所执行的密钥运算方法的各个步骤。对上述桥接端所执行的密钥运算方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施方式可提供为方法、***或计算机程序产品。因此,本说明书的实施方式可采用完全硬件实施方式、完全软件实施方式或结合软件和硬件方面的实施方式的形式。而且,本说明书的实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (14)

1.一种密钥运算方法,应用于桥接端;其中,业务***通过所述桥接端与区块链的节点设备连接;所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备;所述方法包括:
所述桥接端接收所述业务***与所述节点设备之间交互的目标数据;
响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算;
获取所述第三方安全存储设备返回的密钥运算结果,并转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。
2.根据权利要求1所述的方法,所述第三方安全存储设备为HSM机。
3.根据权利要求1所述的方法,所述基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算,包括:
在所述第三方安全存储设备搭载的安全运算环境中,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
4.根据权利要求1或2或3所述的方法,所述第三方安全存储设备被部署在所述业务***中。
5.根据权利要求4所述的方法,所述桥接端面向业务***提供了密钥运算远程调用接口;
所述响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算,包括:
响应于所述目标数据,确定所述密钥运算远程调用接口是否包含所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑;
如果是,禁用所述桥接端本地的密钥运算服务,执行所述密钥运算服务调用逻辑,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
6.根据权利要求5所述的方法,还包括:
启动所述桥接端时,从所述业务***接收与所述目标数据对应的密钥运算逻辑的接口部署文件;
加载所述接口部署文件以部署所述密钥运算远程调用接口。
7.一种密钥运算装置,应用于桥接端;其中,业务***通过所述桥接端与区块链的节点设备连接;所述桥接端维护的用于对所述业务***与所述节点设备之间交互的目标数据进行密钥运算的若干密钥信息,被存储在与所述桥接端对接的第三方安全存储设备;所述装置包括:
接收单元,接收所述业务***与所述节点设备之间交互的目标数据;
执行单元,响应于所述目标数据,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算;
获取单元,获取所述第三方安全存储设备返回的密钥运算结果;
发送单元,转发所述密钥运算结果,以完成所述业务***与所述节点设备之间的数据交互。
8.根据权利要求7所述的装置,所述第三方安全存储设备为HSM机。
9.根据权利要求7所述的装置,所述执行单元,进一步用于:
在所述第三方安全存储设备搭载的安全运算环境中,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
10.根据权利要求7或8或9所述的装置,所述第三方安全存储设备被部署在所述业务***中。
11.根据权利要求10所述的装置,所述桥接端面向业务***提供了密钥运算远程调用接口;
所述执行单元,进一步用于:
响应于所述目标数据,确定所述密钥运算远程调用接口是否包含所述业务***部署的、与所述目标数据对应的密钥运算服务调用逻辑;
如果是,禁用所述桥接端本地的密钥运算服务,执行所述密钥运算服务调用逻辑,调用所述第三方安全存储设备中部署的密钥运算服务,基于所述第三方安全存储设备中存储的密钥信息,对所述目标数据进行密钥运算。
12.根据权利要求11所述的装置,所述接收单元,进一步用于:启动所述桥接端时,从所述业务***接收与所述目标数据对应的密钥运算逻辑的接口部署文件;
部署单元,加载所述接口部署文件以部署所述密钥运算远程调用接口。
13.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至6任意一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到6任意一项所述的方法。
CN202010355471.XA 2020-04-29 2020-04-29 一种密钥运算方法及装置 Active CN111555870B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010355471.XA CN111555870B (zh) 2020-04-29 2020-04-29 一种密钥运算方法及装置
PCT/CN2021/089353 WO2021218821A1 (zh) 2020-04-29 2021-04-23 一种密钥运算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010355471.XA CN111555870B (zh) 2020-04-29 2020-04-29 一种密钥运算方法及装置

Publications (2)

Publication Number Publication Date
CN111555870A true CN111555870A (zh) 2020-08-18
CN111555870B CN111555870B (zh) 2023-01-17

Family

ID=72007852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010355471.XA Active CN111555870B (zh) 2020-04-29 2020-04-29 一种密钥运算方法及装置

Country Status (2)

Country Link
CN (1) CN111555870B (zh)
WO (1) WO2021218821A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021218821A1 (zh) * 2020-04-29 2021-11-04 支付宝实验室(新加坡)有限公司 一种密钥运算方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222303A (zh) * 2017-05-11 2017-09-29 暨南大学 基于区块链和云平台的数字版权追溯***建设方法
CN108510275A (zh) * 2018-04-08 2018-09-07 众安信息技术服务有限公司 用于跟进公益项目的进展情况的方法及计算机可读存储介质
CN109191144A (zh) * 2018-08-03 2019-01-11 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的实验室信息业务管理***及工作方法
CN109783077A (zh) * 2018-12-14 2019-05-21 平安科技(深圳)有限公司 区块链***及其中间件***、数据上链方法、存储介质
US20190156043A1 (en) * 2017-11-17 2019-05-23 Intel Corporation Support for increased number of concurrent keys within multi-key cryptographic engine
CN109948357A (zh) * 2018-11-15 2019-06-28 陕西医链区块链集团有限公司 一种连接医疗区块链和物联网的***
US20190268165A1 (en) * 2018-02-27 2019-08-29 Anchor Labs, Inc. Cryptoasset custodial system with different rules governing access to logically separated cryptoassets
CN110247965A (zh) * 2019-06-13 2019-09-17 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的IoT数据存储***的存储方法及***
CN110532810A (zh) * 2019-08-30 2019-12-03 北京海益同展信息科技有限公司 信息处理方法、装置、电子设备及可读存储介质
CN110880972A (zh) * 2019-11-26 2020-03-13 复旦大学 一种基于安全多方计算的区块链密钥管理***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095446B2 (en) * 2018-02-27 2021-08-17 Anchor Labs, Inc. Cryptoasset custodial system with different rules governing access to logically separated cryptoassets and proof-of-stake blockchain support
SG11202002786UA (en) * 2019-03-27 2020-04-29 Alibaba Group Holding Ltd Retrieving public data for blockchain networks using trusted execution environments
EP3910907B1 (en) * 2019-03-29 2023-08-02 Advanced New Technologies Co., Ltd. Retrieving access data for blockchain networks using highly available trusted execution environments
CN111031086B (zh) * 2019-10-08 2022-11-08 安徽华博胜讯信息科技股份有限公司 一种区块链数据存储方法及***
CN111555870B (zh) * 2020-04-29 2023-01-17 支付宝实验室(新加坡)有限公司 一种密钥运算方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222303A (zh) * 2017-05-11 2017-09-29 暨南大学 基于区块链和云平台的数字版权追溯***建设方法
US20190156043A1 (en) * 2017-11-17 2019-05-23 Intel Corporation Support for increased number of concurrent keys within multi-key cryptographic engine
US20190268165A1 (en) * 2018-02-27 2019-08-29 Anchor Labs, Inc. Cryptoasset custodial system with different rules governing access to logically separated cryptoassets
CN108510275A (zh) * 2018-04-08 2018-09-07 众安信息技术服务有限公司 用于跟进公益项目的进展情况的方法及计算机可读存储介质
CN109191144A (zh) * 2018-08-03 2019-01-11 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的实验室信息业务管理***及工作方法
CN109948357A (zh) * 2018-11-15 2019-06-28 陕西医链区块链集团有限公司 一种连接医疗区块链和物联网的***
CN109783077A (zh) * 2018-12-14 2019-05-21 平安科技(深圳)有限公司 区块链***及其中间件***、数据上链方法、存储介质
CN110247965A (zh) * 2019-06-13 2019-09-17 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的IoT数据存储***的存储方法及***
CN110532810A (zh) * 2019-08-30 2019-12-03 北京海益同展信息科技有限公司 信息处理方法、装置、电子设备及可读存储介质
CN110880972A (zh) * 2019-11-26 2020-03-13 复旦大学 一种基于安全多方计算的区块链密钥管理***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021218821A1 (zh) * 2020-04-29 2021-11-04 支付宝实验室(新加坡)有限公司 一种密钥运算方法及装置

Also Published As

Publication number Publication date
WO2021218821A1 (zh) 2021-11-04
CN111555870B (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US11516011B2 (en) Blockchain data processing methods and apparatuses based on cloud computing
CN110245506B (zh) 基于区块链的智能合约管理方法及装置、电子设备
US11252166B2 (en) Providing data authorization based on blockchain
CN111475849B (zh) 基于区块链账户的隐私数据查询方法及装置
CN110580413B (zh) 基于链下授权的隐私数据查询方法及装置
WO2021184973A1 (zh) 访问外部数据的方法及装置
CN110580262B (zh) 基于智能合约的隐私数据查询方法及装置
CN110580412B (zh) 基于链代码的权限查询配置方法及装置
CN111475829A (zh) 基于区块链账户的隐私数据查询方法及装置
CN110580245B (zh) 隐私数据的共享方法及装置
CN111475850B (zh) 基于智能合约的隐私数据查询方法及装置
CN110580411B (zh) 基于智能合约的权限查询配置方法及装置
CN111461723A (zh) 基于区块链的数据处理***及方法、装置
US11861612B2 (en) Blockchain-based offline resource transfer method and apparatus
CN111241557B (zh) 基于区块链的服务请求方法及装置
CN111127021B (zh) 基于区块链的服务请求方法及装置
CN112583593B (zh) 用户间的隐私通信方法和装置
CN110716728B (zh) Fpga逻辑的可信更新方法及装置
CN111552991A (zh) 一种区块链交易方法及装置
CN111555870B (zh) 一种密钥运算方法及装置
US20230247106A1 (en) Proxy method, device, and computer-readable storage medium
CN113315758B (zh) 信息代理方法和装置
CN113689217A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40036346

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240220

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: 45-01 Anson Building, 8 Shanton Avenue, Singapore

Patentee before: Alipay laboratories (Singapore) Ltd.

Country or region before: Singapore