CN116032470A - 基于不经意传输协议的数据传输系统、方法及装置 - Google Patents

基于不经意传输协议的数据传输系统、方法及装置 Download PDF

Info

Publication number
CN116032470A
CN116032470A CN202211739383.5A CN202211739383A CN116032470A CN 116032470 A CN116032470 A CN 116032470A CN 202211739383 A CN202211739383 A CN 202211739383A CN 116032470 A CN116032470 A CN 116032470A
Authority
CN
China
Prior art keywords
original
groups
key
target
keys
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.)
Pending
Application number
CN202211739383.5A
Other languages
English (en)
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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai 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 Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202211739383.5A priority Critical patent/CN116032470A/zh
Publication of CN116032470A publication Critical patent/CN116032470A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本说明书提供一种基于不经意传输协议的数据传输系统,包括:密钥管理设备、发送端和接收端;其中:所述密钥管理设备,用于获取接收端发送的目标下标;以及,在可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至所述发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;所述发送端,用于根据所述多组原始密钥中的每组原始密钥分别对多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;所述接收端,用于根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。

Description

基于不经意传输协议的数据传输系统、方法及装置
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于不经意传输协议的数据传输系统、方法及装置。
背景技术
不经意传输(Oblivious Transfer,OT)作为多方计算(Multi-PartyComputation,MPC)的基础协议应用广泛,其中不同的协议实现方式能够直接影响MPC的运行效率。因此如何最大化该协议的处理效率成为了业界共同需要面临与解决的难题。
在相关技术中,构造不经意传输通常需要涉及到非对称运算,然而执行非对称运算的过程耗时长、速度慢;或者,采用类似“小部分公钥算法结合大量对称算法”这一扩展不经意传输(Oblivious Transfer extension,OTE)的方式提高执行效率,然而此类方法对于预计算的性能要求高,实现成本大。
发明内容
有鉴于此,本说明书提供一种基于不经意传输协议的数据传输系统、方法及装置,以解决相关技术中存在的不足。
具体地,本说明书是通过如下技术方案实现的:
根据本说明书实施例的第一方面,提供了一种基于不经意传输协议的数据传输系统,包括:密钥管理设备、发送端和接收端,所述密钥管理设备搭载有可信执行环境,所述发送端维护有多组分别对应不同下标的原始数据;其中:
所述密钥管理设备,用于获取接收端发送的目标下标;以及,在所述可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至所述发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
所述发送端,用于根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;
所述接收端,用于根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第二方面,提供了一种基于不经意传输协议的数据传输方法,应用于密钥管理设备,所述密钥管理设备搭载有可信执行环境,所述方法包括:
获取接收端发送的目标下标,并在所述可信执行环境内生成多组原始密钥,所述多组原始密钥中包含对应所述目标下标的目标密钥;
将所述多组原始密钥发送至发送端、将所述目标密钥发送至所述接收端,以使所述发送端:根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;并使所述接收端:根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第三方面,提供了一种基于不经意传输协议的数据传输方法,应用于发送端,所述发送端维护有多组分别对应不同下标的原始数据,所述方法包括:
接收来自密钥管理设备的多组原始密钥,所述多组原始密钥生成于密钥管理设备搭载的可信执行环境内,且分别对应不同下标;
根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据;
将所述多组加密后数据发送至所述接收端,以使得所述接收端根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第四方面,提供了一种基于不经意传输协议的数据传输方法,应用于接收端,所述方法包括:
将目标下标发送至密钥管理设备,以使所述密钥管理设备在自身搭载的可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
接收所述密钥管理设备返回的所述目标密钥,以及所述发送端发送的多组加密后数据,所述发送端维护有多组分别对应不同下标的原始数据,所述多组加密后数据为所述发送端根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密所得到;
根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第五方面,提供了一种基于不经意传输协议的数据传输装置,应用于密钥管理设备,所述密钥管理设备搭载有可信执行环境,所述装置包括:
密钥生成单元,用于获取接收端发送的目标下标,并在所述可信执行环境内生成多组原始密钥,所述多组原始密钥中包含对应所述目标下标的目标密钥;
密钥发送单元,用于将所述多组原始密钥发送至发送端、将所述目标密钥发送至所述接收端,以使所述发送端:根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;并使所述接收端:根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第六方面,提供了一种基于不经意传输协议的数据传输装置,应用于发送端,所述发送端维护有多组分别对应不同下标的原始数据,所述装置包括:
密钥接收单元,用于接收来自密钥管理设备的多组原始密钥,所述多组原始密钥生成于密钥管理设备搭载的可信执行环境内,且分别对应不同下标;
数据加密单元,用于根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据;
加密后数据发送单元,用于将所述多组加密后数据发送至所述接收端,以使得所述接收端根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第七方面,提供了一种基于不经意传输协议的数据传输装置,应用于接收端,所述装置包括:
目标下标发送单元,用于将目标下标发送至密钥管理设备,以使所述密钥管理设备在自身搭载的可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
数据接收单元,用于接收所述密钥管理设备返回的所述目标密钥,以及所述发送端发送的多组加密后数据,所述发送端维护有多组分别对应不同下标的原始数据,所述多组加密后数据为所述发送端根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密所得到;
数据解密单元,用于根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第二方面、第三方面或第四方面所述的方法的步骤。
根据本说明书实施例的第九方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面、第三方面或第四方面所述的方法的步骤。
在本说明书所提供的技术方案中,通过将利用可信执行环境生成原始密钥的密钥管理设备作为除发送端和接收端之外的可信任第三方,以统一管理发送端和接收端的相关密钥。从而在不涉及大量非对称运算或对称运算的情况下,使得发送端可以通过接收到的原始密钥对自身维护的原始数据进行加密、接收端可以根据接收到的目标密钥对来自发送端的加密后数据进行对应的解密,即保证了数据传输过程的安全性与高效性,又减低了实现成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书一示例性实施例示出的一种数据传输系统的架构示意图;
图2是本说明书一示例性实施例示出的一种基于基本不经意传输协议的数据传输方法的示意图;
图3是本说明书一示例性实施例示出的一种基于不经意传输扩展协议的数据传输方法的示意图;
图4是本说明书一示例性实施例示出的一种基于不经意传输协议的数据传输系统的三方交互流程示意图;
图5是本说明书一示例性实施例示出的一种基于不经意传输协议的数据传输方法的流程示意图;
图6是本说明书一示例性实施例示出的另一种基于不经意传输协议的数据传输方法的流程示意图;
图7是本说明书一示例性实施例示出的又一种基于不经意传输协议的数据传输方法的流程示意图;
图8是本说明书一示例性实施例示出的一种电子设备的示意结构图;
图9是本说明书一示例性实施例示出的一种基于不经意传输协议的数据传输装置的结构示意图;
图10是本说明书一示例性实施例示出的另一种基于不经意传输协议的数据传输装置的结构示意图;
图11是本说明书一示例性实施例示出的又一种基于不经意传输协议的数据传输装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与本说明书的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在相关技术中,不经意传输是密码学中经常用到的一种安全的两方通信协议,也是密码学中的一个基本协议。该协议中规定了发送端(Sender)和接收端(Receiver)之间的通信方式,使得协议执行结束后,接收端可以获得自己想要的信息,而不能获得发送端的其他信息,发送端对于接收端获得了哪一条消息是不可知的,换言之,以上双方对于不经意传输的核心需求在于:接收端不希望让发送端确定自己需要的数据。而发送端希望接收端只能获取到接收端自身需要的数据,却无法获取其他数据。因此,不经意传输协议通常实现于在类似图1中的接收端12与发送端13之间的数据传输、处理过程中。
由于存在多种实现上述不经意传输的方式。本说明书可以根据发送端可供接收端选择的数据的数量将不经意传输划分为“二选一(1-out-of-2)OT”(简称
Figure BDA0004032854960000051
)与“n选1(1-out-of-n)OT”(简称
Figure BDA0004032854960000052
)这两类实现方式。
下面以密钥交换算法(Diffie-Hellman,DH)算法实现不经意传输协议
Figure BDA0004032854960000053
为例,结合图2对基于2选1不经意传输协议的数据传输方法的实现方式进行论述:
(1)、假设发送端21为S,接收端22为R,其中,S拥有两份数据M0和M1,且S生成随机数a,R生成随机数b。
(2)、S可以先将gb这一参数发送给R。
(3)、使得在R希望获取M0的情况下,可以将gb发送给S;在R希望获取M1的情况下,则可以将B=ga·gb发送给S。
(4)、S分别计算k0=Hash(Ba)以及k1=Hash((B/ga)a)。
(5)、基于k0与k1分别计算
Figure BDA0004032854960000054
Figure BDA0004032854960000055
并将e0与e1发送给R。
(6)、此时R拥有ga,B以及b,如果R希望获取M0,那么可以通过Ba=(gb)a=(ga)b的关系式解密计算出k0,进而解密出M0,且由于R并不知道a,因此无法计算k1进而也无法解密M1;反之亦然:如果R希望获取M1,那么可以通过(B/ga)a=(gb)a=(ga)b的关系式解密计算出k1,进而解密出M1,且由于R并不知道a,因此无法计算k0进而也无法解密M0
在上诉步骤(4)中,由于S自身实际上并不知道接收到的是gb还是ga·gb,且上述密钥交换算法中计算相应离散对数的难度极大,因此几乎不可能通过暴力方式直接确定出R所希望获取的具体数据是M0还是M1,进而也保证了数据的安全性。
本领域技术人员可以理解的是,上述不经意传输协议还可以使用例如基于椭圆曲线密码学(Elliptic Curve Cryptosystems,ECC)的密钥交换算法(即ECDH)、离散对数(Elgamal)或者RSA(Rivest-Shamir-Adleman)等公钥加密算法实现,本说明书中对此并不进行限制。
然而,上述实施例在一次1-out-of-2不经意传输需要在发送端和接收端之间做多轮交互。而在实际的应用场景中,用户通常需要一次性实现大量的不经意传输,因此如果每一次都使用原始的不经意传输协议来实现,那么对导致数据整体的传输效率十分低下。
在另一实施例中,为了解决上一实施例的隐患,可以对现有的基础不经意传输(Base OT)协议进行改进以得到类似下文的不经意传输扩展(OT extension)协议,进而提高不经意传输协议的执行效率。下面以基于IKNP03实现多次不经意传输协议
Figure BDA0004032854960000056
为例,结合图3对基于多次2选1不经意传输协议的数据传输方法的实现方式进行论述:
(1)、假设发送端手中有n对数据,接收端有n个选择位,接收端希望从发送端手中获得选择位所标识的数据。通常而言可以直接执行n次1-out-of-2基础不经意传输协议,但如前文所述,这样的实现方式会使得通信复杂度随着n增加而增加。而不经意传输扩展协议只需要执行k次不经意传输即可达到和执行n次不经意传输同样的效果,因而能够极大地提升不经意传输的适用性,其中k为固定值,与n的大小无关。
(2)、发送端S的输入n对数据
Figure BDA0004032854960000061
接收端R的输入n个选择位,i=(i1,i2,...,in),i∈{0,1},此时,双方共同持有一个安全参数k(即执行不经意传输的次数),假设存在一个随机原语H(通常是一个哈希函数),假设存在一个1-out-of-2的不经意传输如下。
(3)、发送端S初始化一个长度为k的随机向量s∈{0,1}k,接收端R初始化一个大小为n*k的随机比特(bit)矩阵T。
(4)、双方执行k次1-out-of-2不经意传输。在这k次不经意传输中,S作为接收端,持有k个选择位,即s1,…sk,R作为发送端持有k对数据,
Figure BDA0004032854960000062
其中ta表示T的第a列,i为R的n个选择位组成的向量。本领域技术人员可以理解的是,该步骤的发送端和上述接收端的可以按照隐私集合求交(PrivateSet Intersection,PSI)来定义,即获取最后输出的对象可以被定义为接收端,使得S与R的身份发生了一次变化。
(5)、将Q作为发送端S在第4步的k次不经意传输中收到的数据组成的n×k矩阵,Q的每一行和每一列满足以下性质:
Figure BDA0004032854960000063
其中qa表示Q的第a列,qb表示Q的第b行。随后,发送端S发送n个数据对
Figure BDA0004032854960000064
其中
Figure BDA0004032854960000065
(6)、接收端可以通过计算H(b,tb),由
Figure BDA0004032854960000066
得到对应的
Figure BDA0004032854960000067
通过上述式子中我们可以进一步推断qb的性质。即若ib=0,则qb=tb;若ib=1,则
Figure BDA0004032854960000068
因此,在生成n个数据对
Figure BDA0004032854960000069
时,能够通过
Figure BDA00040328549600000610
从而保证接收端R能够成功解密其所需要的数据。本领域技术人员可以理解的是,上述不经意传输协议还可以使用例如基于KK13(2013年的Kolesnikov-Kolesnikov协议)、KOS15(2013年的Keller-Orsini-Scholl协议)等方式实现,本说明书中对此并不进行限制。
尽管上述实施例中的不经意传输扩展协议基于矩阵变化思想实现了使用少量基础不经意传输和对称密钥构造出大量不经意传输实例,提高了数据传输效率,但需要基于上述基础不经意传输构建相应数量的数据矩阵,导致不经意传输的设备成本提升。基于此,本说明书提出以下技术方案以解决以上问题。
本说明书实现了一种基于不经意传输协议的数据传输系统。图1是本说明书一示例性实施例示出的一种数据传输系统的架构示意图。如图1所示,该系统在原有发送端12和接收端13的基础上还包括有密钥管理设备11。上述密钥管理设备可以为搭载有可信执行环境(Trusted execution environment,TEE)的电子设备,上述发送端和上述接收端则为两台分别具有数据收发能力的电子设备,其中,上述发送端维护有多组分别对应不同下标的原始数据。上述密钥管理设备11可以作为独立主机的物理服务器,或者可以部署在同一个由主机集群承载的虚拟服务器,本说明书的一个或多个实施例并不对此进行限制。且用户可以使用诸如下述类型的电子设备作为发送端12和接收端13:手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等),本说明书的一个或多个实施例并不对此进行限制。
上述密钥管理设备还可以作为区块链网络中的区块链节点,并通过例如智能合约的形式执行下文中密钥管理设备的一系列操作。
上述区块链中的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。在区块链中调用智能合约,是发起一笔指向智能合约地址的交易,使得区块链中每个节点分布式地运行智能合约代码。需要说明的是,除了可以由用户创建智能合约,也可以在创世块中由系统设置智能合约。这类合约一般称为创世合约。一般的,创世合约中可以设置一些区块链的数据结构、参数、属性和方法。此外,具有系统管理员权限的账户可以创建系统级的合约,或者修改系统级的合约(简称为系统合约)。其中,所述系统合约可用于在区块链中增加不同业务的数据的数据结构。
在部署合约的场景中,例如,Bob将一个包含创建智能合约信息(即部署合约)的交易发送到如图1所示的区块链中,该交易的data字段包括待创建的合约的代码(如字节码或者机器码),交易的to字段为空,以表示该交易用于部署合约。节点间通过共识机制达成一致后,确定合约的合约地址“0x6f8ae93…”,各个节点在状态数据库中添加与该智能合约的合约地址对应的合约账户,分配与该合约账户对应的状态存储,并将合约代码保存在该合约的状态存储中,从而合约创建成功。
在调用合约的场景中,例如,Bob将一个用于调用智能合约的交易发送到如图1所示的区块链中,该交易的from字段是交易发起方(即Bob)的账户的地址,to字段中的“0x6f8ae93…”代表了被调用的智能合约的地址,交易的data字段包括调用智能合约的方法和参数。在区块链中对该交易进行共识之后,区块链中的各个节点可分别执行该交易,从而分别执行该合约,基于该合约的执行更新状态数据库。
图4是本说明书一示例性实施例示出的一种基于不经意传输协议的数据传输系统的三方交互流程示意图。如图4所示,在本说明书的数据传输系统中,上述密钥管理设备、上述发送端和上述接收端分别执行有以下操作。
S401.接收端向密钥管理设备发送目标下标。
在接收端需要获取发送端中多个原始数据中的目标原始数据的情况下,可以向密钥管理设备发送对应该目标原始数据的目标下标。其中,上述下标可以为按照由0开始、依次递增的规则所确定的整数,也可以为按照其他规则指定的有序排列,本说明书中并不对此进行限制。
本领域技术人员可以理解的是,令接收端发送上述目标下标的触发条件可以是用户或其他设备主动发起的下标发送请求,或者是接收端本地预先部署的下标定时发送进程达到预设发送时间点,本说明书中并不对此进行限制。
在发送目标下标之前,本说明书的方案还可以通过验证接收端与发送端的身份是否合法的方式来决定是否执行后续流程。
在一实施例中,上述密钥管理设备可以基于预设的认证交互协议对上述接收端与上述发送端进行鉴权,并在鉴权成功的情况下分别对上述接收端与上述发送端分发相应的凭证,以使上述接收端和上述发送端分别根据获得的凭证与上述密钥管理设备建立数据传输连接,上述凭证中至少包含凭证持有者的身份标识。相应的,在鉴权失败的情况下,密钥管理设备可以取消对应的不经意传输,并生成相关日志以反馈至系统管理员。由于相关技术中基本以公开了认证交互协议的原理与实现方式,故本说明书并不在此进行赘述。
S402.密钥管理设备在可信执行环境内生成分别对应不同下标的多组原始密钥。
上述可信执行环境作为通过软硬件方法在上述密钥管理设备的中央处理器中所构建的一个安全区域,可以保证其内部加载的程序和数据在机密性和完整性上得到保护,因此,上述多组原始密钥具备较高的安全性。当然,上述原始密钥也可以随机生成于上述密钥管理设备的可信执行环境内,并利用非固定的原始密钥避免类似上述发送端记录重复密钥以非法获取对应非目的下标的其他原始数据的情况发生,且随机生成的方式可以符合一次一密(One-Time-Pad)加密方式,在原始密钥的长度大于等于原始数据的长度的情况下,即可保证该原始密钥的绝对安全性。此外,对比相关技术中的不经意传输扩展而言,上述可信执行环境对于随机数的产生和分发不需要经过预计算处理,且没有数量限制,进而降低了不经意传输所需的系统资源。
上述原始密钥的内容可以根据实际需求的不同发生相应的变化,进而改变后续S405与S406中对应该密钥的加密方式与解密方式。例如上述原始密钥可以为一对公私密钥,或者为一组字符集合,其中,上述公私密钥可以基于RSA、ElGamal或ECC等算法生成,上述字符集合则可以为有一组二进制序列,或者是可以转换为二进制序列的其他字符组合,本说明书中并不对此进行限制。
需要说明的是,本说明书仅要求上述多组原始密钥所对应的下标与上述发送端维护的多组原始数据所对应下标属于同一标准或规范,并不对二者的实际内容进行限制,例如二者可以同属阿拉伯数值中的整数,或者仅由英文字母构成的字符组合。
例如前文所述,在上述密钥管理设备为区块链网络中的区块链节点的情况下,上述密钥管理设备可以获取上述接收端向所述区块链节点发起的密钥生成交易根据密钥生成交易,并在上述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且该密钥生成交易中包含的目标下标可以被作为入参提供至上述密钥生成合约,以使得上述密钥生成交易所对应的交易收据中分别包含携带上述多组原始密钥的第一事件和携带对应上述目标下标的目标密钥的第二事件。同时,当上述密钥管理设备响应于监听到的第一事件,可以将第一事件所含的原始密钥发送至上述发送端,或者响应于监听到的第二事件,将第二事件所含的原始密钥发送至上述接收端。在该实施例中,由于上述目标下标、原始密钥与目标密钥的传输操作均依据区块链交易实现、驱动,因此上述密钥管理设备可以利用区块链的不可篡改性与可追溯性等特性进一步提升数据安全性。
此外,S402与S401并不存在严格的执行顺序关系,可以是上述密钥管理设备获取上述接收端发送的目标下标后才生成上述多组原始密钥;或者是上述密钥管理设备生成上述多组原始密钥后再获取上述目标下标;有或者是二者并行执行,本说明书中并不对此进行限制。
S403.密钥管理设备将多组原始密钥发送至发送端。
S404.密钥管理设备将多组原始密钥中对应所述目标下标的目标密钥发送至接收端。
上述密钥管理设备作为基于可信执行环境生成上述原始密钥的可信第三方设备,接收端与发送端可以无需关注彼此接收的原始密钥的正确性,并将计算资源更集中地投入至后续的加密或解密过程中。
类似的,本说明书并不限制S403与S404之间的顺序,二者可以并行执行或按照不同顺序以串行执行,且在密钥管理设备将多组原始密钥成功发送至发送端后,上述发送端可以立即执行后续的S405。
需要说明的是,在类似S401、S403与S404等上述接收端与发送端分别与密钥管理设备的可信执行环境进行交互的过程下,可以通过批处理的方式一次性将多个数据交由可信执行环境批量处理,减少了读取或写入可信执行环境的平均次数,进而优化整体的传输效率。
S405.发送端根据多组原始密钥中的每组原始密钥分别对多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据。
当上述发送端接收到上述多组原始密钥后,可以根据自身维护的多组原始数据的下标与上述多组原始密钥的下标进行匹配与加密。例如在进行二选一OT的情况下,上述发送端可以维护有对应下标0的原始数据m0与对应下标“1”的m1,上述多组原始密钥可以包含对应下标“0”的密钥w0以及对应下标“1”的密钥w1,由于m0与w0、m1与w1之间具有相同的下标,因此可以根据m0对w0进行加密、根据m1对w1进行加密,以得到两组对应的加密后数据c0、c1。例如上文所述,不同原始密钥的内容可以改变该密钥的加密方式,以上述原始密钥为一组字符集合为例,上述发送端可以分别对每组具有相同下标的原始密钥与原始数据进行异或运算,以快速、有效地得到对应的加密后数据。
S406.发送端将多组加密后数据发送至接收端。
S407.接收端根据目标密钥对多组加密后数据中对应目标下标的加密后数据进行解密,以获取目标原始数据。
当上述接收端接收到上述多组加密后数据后,可以查询多组加密后数据中与目标下标相同的加密后数据,并通过上述目标密钥对该加密后数据进行解密,从而获取上述目标原始数据。例如上文所述,假设接收端发送的目标下标为“1”,那么可以根据目标密钥对加密后数据c0、c1中对应下标为“1”的c1进行解密。当然,上述接收端也可以尝试对下标并非目标下标的其他加密后数据进行解密,但由于不同加密后数据之间的加密密钥不同,因此解密得到的数据通常不存在可读性。
例如上文所述,不同原始密钥的内容可以改变该密钥的加密方式,再次以上述原始密钥为一组字符集合为例,上述接收端可以确定对应上述目标下标的目标密钥与加密后数据,并对上述目标密钥与上述加密后数据进行异或运算,由于原始数据经过同一密钥两次异或运算后内容不变的特性,因此经异或运算后的加密后数据即为发送端中对应目标下标的原始数据。
图5是本说明书一示例性实施例示出的一种基于不经意传输协议的数据传输方法的流程示意图。如图5所示,该方法应用于密钥管理设备,所述密钥管理设备搭载有可信执行环境,所述方法包括:
S501,获取接收端发送的目标下标,并在所述可信执行环境内生成多组原始密钥,所述多组原始密钥中包含对应所述目标下标的目标密钥。
S502,将所述多组原始密钥发送至发送端、将所述目标密钥发送至所述接收端,以使所述发送端:根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;并使所述接收端:根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
如前文所述,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
如前文所述,所述方法还包括:
基于预设的认证交互协议对所述接收端与所述发送端进行鉴权;
在鉴权成功的情况下分别对所述接收端与所述发送端分发相应的凭证,以使所述接收端和所述发送端分别根据获得的凭证与所述密钥管理设备建立数据传输连接,所述凭证中至少包含凭证持有者的身份标识。
如前文所述,所述密钥管理设备为区块链网络中的区块链节点;
所述获取接收端发送的目标下标,包括:获取所述接收端向所述区块链节点发起的密钥生成交易;
所述在所述可信执行环境内生成多组原始密钥,包括:根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件和携带对应所述目标下标的目标密钥的第二事件;
所述将所述多组原始密钥发送至所述发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端,包括:响应于监听到的第一事件,将第一事件所含的原始密钥发送至所述发送端;响应于监听到的第二事件,将第二事件所含的原始密钥发送至所述接收端。
图6是本说明书一示例性实施例示出的另一种基于不经意传输协议的数据传输方法的流程示意图。如图6所示,该方法应用于发送端,所述发送端维护有多组分别对应不同下标的原始数据,所述方法包括:
S601,接收来自密钥管理设备的多组原始密钥,所述多组原始密钥生成于密钥管理设备搭载的可信执行环境内,且分别对应不同下标。
S602,根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据。
S603,将所述多组加密后数据发送至所述接收端,以使得所述接收端根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
如前文所述,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
如前文所述,所述原始密钥为一组字符集合;
所述根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密,包括:
分别对每组具有相同下标的原始密钥与原始数据进行异或运算。
所述根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,包括:
所述接收端确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
如前文所述,所述密钥管理设备为区块链网络中的区块链节点;所述多组原始密钥为所述密钥管理设备根据所述接收端发送的密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件;
所述接收来自密钥管理设备的多组原始密钥,包括:接收所述密钥管理设备响应于监听到的第一事件发送的第一事件所含的原始密钥。
图7是本说明书一示例性实施例示出的又一种基于不经意传输协议的数据传输方法的流程示意图。如图7所示,该方法应用于接收端,所述方法包括:
S701,将目标下标发送至密钥管理设备,以使所述密钥管理设备在自身搭载的可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端。
S702,接收所述密钥管理设备返回的所述目标密钥,以及所述发送端发送的多组加密后数据,所述发送端维护有多组分别对应不同下标的原始数据,所述多组加密后数据为所述发送端根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密所得到。
S703,根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
如前文所述,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
如前文所述,所述原始密钥为一组字符集合;
所述根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密,包括:
所述发送端分别对每组具有相同下标的原始密钥与原始数据进行异或运算;
所述根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,包括:
确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
如前文所述,所述密钥管理设备为区块链网络中的区块链节点;
所述将目标下标发送至密钥管理设备,包括:向所述区块链节点发起密钥生成交易,以使所述密钥管理设备根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中包含携带对应所述目标下标的目标密钥的第二事件;
所述接收所述密钥管理设备返回的所述目标密钥,包括:接收所述密钥管理设备响应于监听到的第二事件返回的所述第二事件所含的原始密钥。
通过以上实施例可知,本说明书的方案在整个不经意传输过程中仅需对传输消息本身进行简单的“加解密”操作即可,避免了相关技术中所涉及的非对称加密和对称加密等计算密集型算法,因此显著提升了数据的传输效率。
图8是一示例性实施例中的一种电子设备的示意结构图。请参考图8,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成一种基于不经意传输协议的数据传输装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
与前述基于不经意传输协议的数据传输方法的实施例相对应,本说明书还提供了基于不经意传输协议的数据传输装置的实施例。此外,可信执行环境在保证数据安全性的同时对于随机数等原始密钥的产生和分发不需要预计算,没有数量限制,且与可信执行环境的交互可以通过批处理优化的方式进一步提升与发送端、接收端之间的交互数据吞吐率。
请参考图9,图9是一示例性实施例示出的一种基于不经意传输协议的数据传输装置的结构示意图。如图9所示,在软件实施方式中,该装置应用于密钥管理设备,所述密钥管理设备搭载有可信执行环境,可以包括:
密钥生成单元901,用于获取接收端发送的目标下标,并在所述可信执行环境内生成多组原始密钥,所述多组原始密钥中包含对应所述目标下标的目标密钥;
密钥发送单元902,用于将所述多组原始密钥发送至发送端、将所述目标密钥发送至所述接收端,以使所述发送端:根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;并使所述接收端:根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
可选的,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
可选的,所述装置还包括:
鉴权单元903,用于基于预设的认证交互协议对所述接收端与所述发送端进行鉴权;
在鉴权成功的情况下分别对所述接收端与所述发送端分发相应的凭证,以使所述接收端和所述发送端分别根据获得的凭证与所述密钥管理设备建立数据传输连接,所述凭证中至少包含凭证持有者的身份标识。
可选的,所述密钥管理设备为区块链网络中的区块链节点;
所述密钥生成单元901具体用于:
根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件和携带对应所述目标下标的目标密钥的第二事件;
所述密钥发送单元902具体用于:
响应于监听到的第一事件,将第一事件所含的原始密钥发送至所述发送端;响应于监听到的第二事件,将第二事件所含的原始密钥发送至所述接收端。
请参考图10,图10是一示例性实施例示出的另一种基于不经意传输协议的数据传输装置的结构示意图。如图10所示,在软件实施方式中,应用于发送端,所述发送端维护有多组分别对应不同下标的原始数据,可以包括:
密钥接收单元1001,用于接收来自密钥管理设备的多组原始密钥,所述多组原始密钥生成于密钥管理设备搭载的可信执行环境内,且分别对应不同下标;
数据加密单元1002,用于根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据;
加密后数据发送单元1003,用于将所述多组加密后数据发送至所述接收端,以使得所述接收端根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
可选的,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
可选的,所述原始密钥为一组字符集合;
所述数据加密单元1002具体用于:
分别对每组具有相同下标的原始密钥与原始数据进行异或运算。
所述加密后数据发送单元1003具体用于:
所述接收端确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
可选的,所述密钥管理设备为区块链网络中的区块链节点;所述多组原始密钥为所述密钥管理设备根据所述接收端发送的密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件;
所述密钥接收单元1001具体用于:接收所述密钥管理设备响应于监听到的第一事件发送的第一事件所含的原始密钥。
请参考图11,图11是一示例性实施例示出的另一种基于不经意传输协议的数据传输装置的结构示意图。如图11所示,在软件实施方式中,应用于接收端,可以包括:
目标下标发送单元1101,用于将目标下标发送至密钥管理设备,以使所述密钥管理设备在自身搭载的可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
数据接收单元1102,用于接收所述密钥管理设备返回的所述目标密钥,以及所述发送端发送的多组加密后数据,所述发送端维护有多组分别对应不同下标的原始数据,所述多组加密后数据为所述发送端根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密所得到;
数据解密单元1103,用于根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
可选的,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
可选的,所述原始密钥为一组字符集合;
所述数据接收单元1102具体用于:
所述发送端分别对每组具有相同下标的原始密钥与原始数据进行异或运算;
所述数据解密单元1103具体用于:
确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
可选的,所述密钥管理设备为区块链网络中的区块链节点;
所述目标下标发送单元1101具体用于:
向所述区块链节点发起密钥生成交易,以使所述密钥管理设备根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中包含携带对应所述目标下标的目标密钥的第二事件;
所述数据接收单元1102具体用于:
接收所述密钥管理设备响应于监听到的第二事件返回的所述第二事件所含的原始密钥。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (22)

1.一种基于不经意传输协议的数据传输系统,包括:密钥管理设备、发送端和接收端,所述密钥管理设备搭载有可信执行环境,所述发送端维护有多组分别对应不同下标的原始数据;其中:
所述密钥管理设备,用于获取接收端发送的目标下标;以及,在所述可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至所述发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
所述发送端,用于根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;
所述接收端,用于根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
2.根据权利要求1所述的系统,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
3.根据权利要求1所述的系统,所述原始密钥为一组字符集合;
所述根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密,包括:
所述发送端分别对每组具有相同下标的原始密钥与原始数据进行异或运算;
所述根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,包括:
所述接收端确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
4.根据权利要求1所述的系统,所述密钥管理设备还用于:
基于预设的认证交互协议对所述接收端与所述发送端进行鉴权;
在鉴权成功的情况下分别对所述接收端与所述发送端分发相应的凭证,以使所述接收端和所述发送端分别根据获得的凭证与所述密钥管理设备建立数据传输连接,所述凭证中至少包含凭证持有者的身份标识。
5.根据权利要求1所述的系统,所述密钥管理设备为区块链网络中的区块链节点;
所述密钥管理设备获取接收端发送的目标下标,包括:所述密钥管理设备获取所述接收端向所述区块链节点发起的密钥生成交易;
所述在所述可信执行环境内生成分别对应不同下标的多组原始密钥,包括:根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件和携带对应所述目标下标的目标密钥的第二事件;
所述将所述多组原始密钥发送至所述发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端,包括:响应于监听到的第一事件,将第一事件所含的原始密钥发送至所述发送端;响应于监听到的第二事件,将第二事件所含的原始密钥发送至所述接收端。
6.一种基于不经意传输协议的数据传输方法,应用于密钥管理设备,所述密钥管理设备搭载有可信执行环境,所述方法包括:
获取接收端发送的目标下标,并在所述可信执行环境内生成多组原始密钥,所述多组原始密钥中包含对应所述目标下标的目标密钥;
将所述多组原始密钥发送至发送端、将所述目标密钥发送至所述接收端,以使所述发送端:根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;并使所述接收端:根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
7.根据权利要求6所述的方法,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
8.根据权利要求6所述的方法,所述方法还包括:
基于预设的认证交互协议对所述接收端与所述发送端进行鉴权;
在鉴权成功的情况下分别对所述接收端与所述发送端分发相应的凭证,以使所述接收端和所述发送端分别根据获得的凭证与所述密钥管理设备建立数据传输连接,所述凭证中至少包含凭证持有者的身份标识。
9.根据权利要求6所述的方法,所述密钥管理设备为区块链网络中的区块链节点;
所述获取接收端发送的目标下标,包括:获取所述接收端向所述区块链节点发起的密钥生成交易;
所述在所述可信执行环境内生成多组原始密钥,包括:根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件和携带对应所述目标下标的目标密钥的第二事件;
所述将所述多组原始密钥发送至所述发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端,包括:响应于监听到的第一事件,将第一事件所含的原始密钥发送至所述发送端;响应于监听到的第二事件,将第二事件所含的原始密钥发送至所述接收端。
10.一种基于不经意传输协议的数据传输方法,应用于发送端,所述发送端维护有多组分别对应不同下标的原始数据,所述方法包括:
接收来自密钥管理设备的多组原始密钥,所述多组原始密钥生成于密钥管理设备搭载的可信执行环境内,且分别对应不同下标;
根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据;
将所述多组加密后数据发送至所述接收端,以使得所述接收端根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
11.根据权利要求10所述的方法,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
12.根据权利要求10所述的方法,所述原始密钥为一组字符集合;
所述根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密,包括:
分别对每组具有相同下标的原始密钥与原始数据进行异或运算;
所述根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,包括:
所述接收端确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
13.根据权利要求10所述的方法,所述密钥管理设备为区块链网络中的区块链节点;所述多组原始密钥为所述密钥管理设备根据所述接收端发送的密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,以使得所述密钥生成交易对应的交易收据中分别包含携带所述多组原始密钥的第一事件;
所述接收来自密钥管理设备的多组原始密钥,包括:接收所述密钥管理设备响应于监听到的第一事件发送的第一事件所含的原始密钥。
14.一种基于不经意传输协议的数据传输方法,应用于接收端,所述方法包括:
将目标下标发送至密钥管理设备,以使所述密钥管理设备在自身搭载的可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
接收所述密钥管理设备返回的所述目标密钥,以及所述发送端发送的多组加密后数据,所述发送端维护有多组分别对应不同下标的原始数据,所述多组加密后数据为所述发送端根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密所得到;
根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
15.根据权利要求14所述的方法,所述原始密钥为所述密钥管理设备在所述可信执行环境内随机生成。
16.根据权利要求14所述的方法,所述原始密钥为一组字符集合;
所述根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密,包括:
所述发送端分别对每组具有相同下标的原始密钥与原始数据进行异或运算;
所述根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,包括:
确定对应所述目标下标的目标密钥与加密后数据,并对所述目标密钥与所述加密后数据进行异或运算。
17.根据权利要求14所述的方法,所述密钥管理设备为区块链网络中的区块链节点;
所述将目标下标发送至密钥管理设备,包括:向所述区块链节点发起密钥生成交易,以使所述密钥管理设备根据所述密钥生成交易在所述可信执行环境内执行对应的密钥生成合约以生成分别对应不同下标的多组原始密钥,且所述密钥生成交易中包含的目标下标被作为入参提供至所述密钥生成合约,以使得所述密钥生成交易对应的交易收据中包含携带对应所述目标下标的目标密钥的第二事件;
所述接收所述密钥管理设备返回的所述目标密钥,包括:接收所述密钥管理设备响应于监听到的第二事件返回的所述第二事件所含的原始密钥。
18.一种基于不经意传输协议的数据传输装置,应用于密钥管理设备,所述密钥管理设备搭载有可信执行环境,所述装置包括:
密钥生成单元,用于获取接收端发送的目标下标,并在所述可信执行环境内生成多组原始密钥,所述多组原始密钥中包含对应所述目标下标的目标密钥;
密钥发送单元,用于将所述多组原始密钥发送至发送端、将所述目标密钥发送至所述接收端,以使所述发送端:根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据,并将所述多组加密后数据发送至所述接收端;并使所述接收端:根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
19.一种基于不经意传输协议的数据传输装置,应用于发送端,所述发送端维护有多组分别对应不同下标的原始数据,所述装置包括:
密钥接收单元,用于接收来自密钥管理设备的多组原始密钥,所述多组原始密钥生成于密钥管理设备搭载的可信执行环境内,且分别对应不同下标;
数据加密单元,用于根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密以得到多组加密后数据;
加密后数据发送单元,用于将所述多组加密后数据发送至所述接收端,以使得所述接收端根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
20.一种基于不经意传输协议的数据传输装置,应用于接收端,所述装置包括:
目标下标发送单元,用于将目标下标发送至密钥管理设备,以使所述密钥管理设备在自身搭载的可信执行环境内生成分别对应不同下标的多组原始密钥,并将所述多组原始密钥发送至发送端、将所述多组原始密钥中对应所述目标下标的目标密钥发送至所述接收端;
数据接收单元,用于接收所述密钥管理设备返回的所述目标密钥,以及所述发送端发送的多组加密后数据,所述发送端维护有多组分别对应不同下标的原始数据,所述多组加密后数据为所述发送端根据所述多组原始密钥中的每组原始密钥分别对所述多组原始数据中具有相同下标的原始数据进行加密所得到;
数据解密单元,用于根据所述目标密钥对所述多组加密后数据中对应所述目标下标的加密后数据进行解密,以获取目标原始数据。
21.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求6~17任一所述方法的步骤。
22.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求6~17任一所述方法的步骤。
CN202211739383.5A 2022-12-30 2022-12-30 基于不经意传输协议的数据传输系统、方法及装置 Pending CN116032470A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211739383.5A CN116032470A (zh) 2022-12-30 2022-12-30 基于不经意传输协议的数据传输系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211739383.5A CN116032470A (zh) 2022-12-30 2022-12-30 基于不经意传输协议的数据传输系统、方法及装置

Publications (1)

Publication Number Publication Date
CN116032470A true CN116032470A (zh) 2023-04-28

Family

ID=86072006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211739383.5A Pending CN116032470A (zh) 2022-12-30 2022-12-30 基于不经意传输协议的数据传输系统、方法及装置

Country Status (1)

Country Link
CN (1) CN116032470A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240627A (zh) * 2023-11-15 2023-12-15 深圳市吉方工控有限公司 一种网络数据信息安全传输方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240627A (zh) * 2023-11-15 2023-12-15 深圳市吉方工控有限公司 一种网络数据信息安全传输方法及系统
CN117240627B (zh) * 2023-11-15 2024-03-26 深圳市吉方工控有限公司 一种网络数据信息安全传输方法及系统

Similar Documents

Publication Publication Date Title
JP7011646B2 (ja) 量子通信及びトラステッドコンピューティングに基づくデータセキュリティのための方法及びシステム
US20230106151A1 (en) Multi-party threshold authenticated encryption
CN113424185B (zh) 快速不经意传输
US10785019B2 (en) Data transmission method and apparatus
US9590807B2 (en) Identity based public key cryptosystem
JP2019535153A (ja) トラステッドコンピューティングに基づく量子鍵配送のための方法及びシステム
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN112119609A (zh) 用于传达秘密的方法和系统
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
GB2587438A (en) Key generation for use in secured communication
TW202232913A (zh) 共享金鑰產生技術
CN116032470A (zh) 基于不经意传输协议的数据传输系统、方法及装置
Terada et al. Password-based authenticated key exchange from standard isogeny assumptions
CN116248359A (zh) 一种基于不经意传输协议的数据传输系统、方法及装置
CN116455561A (zh) 用于轻量装置的嵌入式tls协议
US11843686B2 (en) Multi-party cryptographic systems and methods
CN111488618A (zh) 基于区块链的一次一密密码方法、装置及存储介质
EP4181457A1 (en) Quantum based method and system for performing cryptocurrency asset transactions
TWI835684B (zh) 即時通訊服務資料的備份系統和備份方法
Berenjian Encryption-Based Secure Protocol Design for Networks
CN118264388A (zh) 数据处理方法、非易失性存储介质及计算机程序产品
CN117390675A (zh) 数据查询方法、电子设备和可读存储介质
CN115378588A (zh) 不经意传输方法、设备和存储介质
Visalakshi et al. Secure Cloud-based Access Control Optimization (SCACO)

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