针对敏感数据的安全相似性搜索

文档序号:1937644 发布日期:2021-12-07 浏览:16次 >En<

阅读说明:本技术 针对敏感数据的安全相似性搜索 (Secure similarity search for sensitive data ) 是由 M·赖特 A·奥凯里博 于 2021-05-18 设计创作,主要内容包括:一种系统,包括:在关联处理单元(APU)上实现的用于创建加密向量的安全的存储器内单元。该存储器内单元包括:数据存储和加密器。数据存储用于存储数据;而加密器用于将数据加密为加密的向量。可选地,所述单元包括神经代理散列编码器,用于将数据编码为编码的向量,并且在该实施例中,加密器将编码的向量加密为经加密的编码的向量。神经代理散列编码器包括经训练的神经网络,该经训练的神经网络包括用于将数据编码为特征集的多个层。经训练的神经网络对图像文件、音频文件或大数据集进行编码。APU在SRAM、非易失性或非破坏性存储器上实现。(A system, comprising: a secure in-memory location implemented on an Associated Processing Unit (APU) for creating an encryption vector. The in-memory unit includes: data storage and encryptors. A data store for storing data; and an encryptor for encrypting the data into an encrypted vector. Optionally, the unit comprises a neugent hash encoder for encoding the data into an encoded vector, and in this embodiment the encryptor encrypts the encoded vector into an encrypted encoded vector. The neugent hash encoder includes a trained neural network that includes a plurality of layers for encoding data into a feature set. The trained neural network encodes an image file, an audio file, or a large data set. The APUs are implemented on SRAM, non-volatile or non-destructive memory.)

针对敏感数据的安全相似性搜索

相关申请的交叉引用

本申请要求于2020年5月18日提交的美国临时专利申请63/026,155和于2021年5月6日提交的美国临时专利申请63/184,824的优先权,这些申请通过引用合并于此。

技术领域

本发明通常涉及相似性搜索,尤其涉及敏感数据。

背景技术

用户经常需要在其计算设备和第三方系统之间传输敏感数据以进行处理,而不会损害所传输数据的安全性。这样的敏感数据可以例如是:私有、个人、系统关键或业务机密数据。这种敏感数据传输的一些示例是:患者需要向医生或医院提供医学图像或病历;自主控制系统需要将文件从传感器传输到远程处理系统;以及,投资者需要将资产证明传输到金融机构。关键是这种数据传输必须保持安全和私密。

有时,敏感信息通过互联网从个人计算设备(例如,计算机或移动电话)传输到存储该信息的远程服务器。数据传输也可以通过私有网络或经由如USB拇指驱动器之类的设备发生。一旦数据存储在服务器上,系统处理器就可以访问并取回数据以进行处理。

现在参考图1,其示出了敏感数据如何在用户设备和处理系统之间传输,该图示出了具有CPU 12的用户计算设备10,该CPU 12经由数据总线15连接到数据存储装置14。计算设备可以跨数据总线15从数据存储装置14传输敏感数据,并使用CPU 12上的软件对其进行加密。使用已知方法对敏感数据进行加密,所述已知方法例如安全散列算法(SHA)或其它共享密钥算法(例如MD5)。

然后,跨网络16传输加密的数据分组。网络16可以通过多种方式实现,所述多种方式例如:“球鞋网络”17,其中数据被放置在如USB拇指驱动器等的物理设备上并被人们带到接收服务器;私有或公共有线网络19;私有或公共无线网络20;或者可包含基于云的服务器22的云网络21。

处理系统25具有CPU 27、存储器26和数据总线32。本地服务器33通过数据总线24连接到处理系统25和/或云服务器22经由网络连接29连接到CPU 27。数据总线可能位于处理器、本地连接或网络连接内。

加密的数据分组遍历网络16,其中加密的数据分组将存储在云服务器22或本地附接到处理系统25的本地服务器33上。处理系统25具有执行处理的CPU 27,用于存储数据的本地副本以供处理的本地存储器26,以及如上所述附接的服务器。CPU 27从本地服务器33或云服务器22取回加密的数据并对其解密,并且然后执行所需的任何操作,例如搜索。任何输出将在写入到服务器之间被加密。

发明内容

根据本发明的优选实施例,提供一种系统,包括:在关联处理单元(APU)上实现的用于创建加密向量的安全的存储器内单元。该存储器内单元包括数据存储和加密器。该数据存储用于存储数据;并且该加密器用于将数据加密为加密向量。

根据本发明的优选实施例,提供一种系统,包括:在关联处理单元(APU)上实现的用于执行安全相似性搜索的安全的存储器内单元。该存储器内单元包括:解密器、编码的向量数据存储以及相似性搜索器。解密器将经加密的编码的向量解密为编码的向量。编码的向量数据存储用于存储多个编码的搜索候选向量;以及相似性搜索器在编码的搜索查询向量和多个编码的搜索候选向量之间执行相似性搜索。

根据本发明的优选实施例,提供了一种系统,包括:在关联处理单元(APU)上实现的用于执行安全相似性搜索的安全的存储器内单元。该存储器内单元包括:解密器、神经代理散列编码器、编码的向量数据存储以及相似性搜索器。解密器将加密的数据向量解密为数据向量;而神经代理散列编码器将数据向量编码为编码的搜索数据向量。编码的向量数据存储用于存储多个编码的搜索候选向量;以及相似性搜索器在编码的搜索查询向量和多个编码的搜索候选向量之间执行相似性搜索。

根据本发明的优选实施例,提供了一种系统,包括:在关联处理单元(APU)上实现的用于安全数据传输的安全的存储器内单元。该存储器内单元包括:解密器和编码的向量数据存储。该解密器将加密的数据向量解密为数据向量;以及编码的向量数据存储用于存储多个数据向量。

此外,根据本发明的优选实施例,所述系统还包括神经代理散列编码器和加密器。该神经代理散列编码器将数据编码为编码的向量,并且加密器将编码的向量加密为经加密的编码的向量。

另外,根据本发明的优选实施例,神经代理散列编码器包括经训练的神经网络,该经训练的神经网络包括用于将数据编码为特征集的多个层。

此外,根据本发明的优选实施例,经训练的神经网络对以下至少一项进行编码:图像文件、音频文件和大数据集。

另外,根据本发明的优选实施例,APU在以下各项之一上实现:SRAM、非易失性和非破坏性存储器。

此外,根据本发明的优选实施例,编码的向量是编码的搜索查询向量或编码的搜索候选向量。

此外,根据本发明的优选实施例,向量数据存储以列存储所述编码的搜索候选向量。

此外,根据本发明的优选实施例,相似性搜索器在并行过程中对列中的多个编码的搜索候选向量执行相似性搜索。

另外,根据本发明的优选实施例,相似性搜索是最近邻居搜索。

附图说明

被视为本发明的主题在说明书的结论部分中特别指出并明确要求保护。然而,当结合附图阅读时通过参考以下

具体实施方式

,可以最好地理解本发明的组织和操作方法以及其目的、特征和优点,在附图中:

图1是用于在用户设备和处理系统之间传送敏感数据的现有技术系统的图示;

图2A是经编码的、加密的搜索向量系统的图示;

图2B是在图2A的经编码的、加密的搜索向量系统中的数据流的图示;

图3A是经编码的、加密的候选向量系统的图示;

图3B在是图3A的经编码的、加密的候选向量系统中的数据流的图示;

图4A是加密的候选向量系统的图示;

图4B是在图4A的加密的候选向量系统中的数据流的图示;

图5A是向量传输系统的图示;以及

图5B是图5A的向量传送系统中的数据流的图示。

将意识到,为了图示的简单和清楚起见,图中所示的元件未必按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其它元件被放大。此外,在认为适当的情况下,可以在附图之间重复附图标记以指示对应或相似的元件。

具体实施方式

在下面的具体实施方式中,阐述了许多具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践本发明。在其它实例中,没有详细描述公知的方法、过程和组件,以免模糊本发明。

申请人已经意识到,随着数据在系统内跨数据总线移动以及数据分组跨网络移动,被称为“嗅探器(sniffer)”的拦截设备可用于拦截此类敏感数据分组或窃取加密密钥。这样的嗅探器可能是由不良行为者放置的硬件或软件设备。一旦数据被拦截,数据有效载荷就可能受到攻击,并且如果被解密,其安全性将受到损害。

申请人已经认识到,可以在关联处理单元(APU)上执行存储器内神经网络编码、存储器内加密和解密以及编码的数据的存储器内存储,该APU可以在任何合适类型的存储器阵列上实现,例如SRAM、非易失性或非破坏性类型的存储器阵列。这种APU的示例是可从GSITechnology Inc.商业获得的Gemini APU。这种关联存储器设备可能会拒绝在用户和处理系统中嗅探器的访问,并提高跨网络传输数据分组的安全性。申请人还已经意识到,可以将这样的APU设备容易地嵌入用户和处理系统中。

参考图2A,其示出了本发明优选实施例的经编码的、加密的搜索向量系统30;并参考图2B,其示出了系统30中的数据流。经编码的、加密的搜索向量系统30包括跨网络46连接在一起的安全用户计算设备31和安全处理系统37。安全用户计算设备31和安全处理系统37各自都实现于APU上,诸如上述的APU。

用户计算设备31包括数据存储32、神经代理散列编码器34和向量加密器35。安全数据向量datai是一种存储于数据存储32中的未编码和未加密的原始数据,其可以由神经代理散列编码器34编码为特征集fsi

在2020年6月24日提交的、标题为“Hamming Space Locality Preserving NeuralHashing For Similarity Search”的美国临时专利申请63/043,215中详细描述了这种神经代理散列编码器34的示例,其基于二进制散列,并将原始表示空间中的数据点映射为汉明空间中的二进制代码,该申请由本发明的申请人共同拥有,并且通过引用合并于此。

神经代理散列编码器是经过训练以将数据文件编码为二进制编码的特征集的神经网络(NN)。特征集是待编码的数据的特定特性的数据表示。例如,如果人类特性数据集中感兴趣的特征是人的身高或体重,则将NN训练为从被输入到NN的数据中提取和编码身高和体重。使用具有已知内容和特征标签的训练数据集,通过校准多个“层”来训练神经网络。当NN从已知数据集中可靠地提取特征时,就将NN认为是经过训练的。还可训练NN来识别数据集、图像和声音文件中的特征。这样的大且高度复杂的数据可以简化为已知特征集,该已知特征集是二进制数据的集合,称为特征集。申请人已经认识到,特征集实际上是复杂数据的编码,并且因此可以用作编码器。

然后,加密器35可以使用发送者的公钥和私钥以及接收者的公钥,并添加任何附加的个人数据(例如姓名和年龄),将编码的数据向量fsi加密为经编码和加密的向量fsei。然后,向量fsei可以通过网络46传输到处理系统37。

网络46类似于图1中的网络16,其可以以多种方式来实现,例如:“球鞋网络”47,其中安全用户计算设备31将经编码和加密的数据放置在物理设备上,例如USB拇指驱动器,并且用户可以将驱动器带到计算机或包含安全处理系统的“信息亭(kiosk)”,例如在医院或医生办公室;私有或公共有线网络48;私有或公共无线网络49;或云网络50。

安全处理系统37包括数据管理器38、向量解密器39、编码的向量数据存储40、安全相似性搜索器42和向量加密器44。

数据存储40可以在其列中存储经编码的搜索候选向量cfsi,其中候选向量cfsi也可能先前已由另一版本的神经代理散列编码器34进行了编码。

可以由向量解密器39解密加密的NN编码的向量fsei,诸如由安全用户计算设备31产生的那些。解密器39然后可以将得到的NN编码的向量fsi作为编码的搜索查询向量qfsi提供给安全相似性搜索器42,该安全相似性搜索器42继而可以在数据存储40的列中的NN编码的搜索候选向量cfs中搜索相似的向量。

然后,在被存储或从APU传输之前,可以由加密器44将相似性搜索的结果(向量resulti)加密成加密的向量resultei。数据管理器38然后可以删除编码的查询向量qfsi,或者可以将其作为候选向量cfsi添加到数据存储40中以用于将来搜索。

应该注意,二进制编码的向量可以用作针对先前已经被类似地编码的候选编码的向量的数据存储的相似性搜索中的查询向量,如在2021年2月23日提交的、题为“Finding KExtreme Values In Constant Processing Time”的美国专利10,929,751以及2018年7月12日提交的题为“Natural Language Processing With KNN”的美国专利申请16/033,259中描述的,这两个专利均由本发明的申请人共同拥有并且其通过引用合并于此。

应当意识到,在编码的二进制查询向量和大量编码的二进制候选向量之间的相似性搜索适合于在APU上执行的、复杂度为O(1)的存储器内、大容量并行处理。这样的相似性搜索仅需要在这样的相似性搜索期间使用编码的特征集。还应当意识到,利用编码特征集的相似性搜索不如使用复杂数据(例如大数据集、图像和声音文件)执行的相似性搜索复杂。

应当注意,安全相似性搜索中的所有处理仅利用编码的向量执行,并且,如申请人已意识到的,编码的向量仅包含被卷积为初始原始数据的不可恢复表示的数据。应当意识到,即使安全处理系统37的安全性受到损害,编码的数据本身也是安全的。因此,获得对这种安全系统的访问的不良行为者只会获得对编码的特征集的访问,而不会获得对原始数据集、图像和声音文件的访问。

应当注意,编码的相似性搜索仅需要在这样的相似性搜索期间要被传输和利用的编码的特征集。将意识到的是,通过仅传输编码的向量,可以减小传输文件的大小。诸如图像搜索之类的功能需要增加固定和移动带宽。与原始图像数据相比,NN编码的向量可以实现超过50,000:1的压缩级别。例如,1兆像素的图像可以用1600万比特表示,而这样的1兆像素图像的NN编码的向量可以仅用256比特表示。这样的压缩级别可以将基于图像的搜索的带宽需求减少相同量。将意识到的是,带宽减少还转化为减少的物理存储器需求。可能使用拇指驱动器或类似便携式存储器设备的用户当使用NN编码的向量时,可能需要此类设备上少得多的存储器。随着原始文件大小的增加(例如,对于更高保真度的声音或更高分辨率的图像),特征集编码表示在传输带宽需求中甚至更高的减少以及传输持续时间中的减少。

应当注意,嗅探器可能存在于用户设备和处理系统中,并且能够拦截数据总线上的数据分组。由于硬件和软件嗅探器可能会附接到整个无线或有线网络,因此嗅探器能够在数据传输路径中的任何位置拦截数据分组。

应当注意,在处理器和服务器之间的每个读/写操作可能需要被加密/解密。这要求对从服务器取回或写入服务器的每个数据块进行加密和解密。应当意识到,通过在APU上存储和处理数据,对于每个存储器取回/写入操作的加密/解密的需求被减少到从服务器向APU存储器写入或将数据从APU传送到服务器的单个实例。这可以减少系统复杂度和数据处理持续时间。

申请人已经意识到,就像可以在用户和处理系统之间安全地发送经加密的、编码的搜索向量一样,也可以安全地发送可以在其上执行搜索的候选向量。

现在参考图3A,其示出了经编码的、加密的候选向量系统52,并参考图3B,其示出了系统52中的数据流。类似于经编码的、加密的搜索向量系统30,经编码的、加密的候选向量系统52包括安全用户计算设备31和安全处理系统37',它们通过网络46连接在一起。

类似地,安全数据向量datai是存储于数据存储32中的未加密和未解密的原始数据,可以由神经代理散列编码器34编码为特征集fsi。然后,由加密器35使用发送者的公钥和私钥以及接收者的公钥并添加任何附加个人数据(例如,姓名和年龄)来将经编码的数据向量fsi加密为经编码和加密的向量fsei。然后,向量fsei可以通过网络46传输到处理系统37'。

安全处理系统37'包括数据管理器38'、向量解密器39'、编码的向量数据存储40'、安全相似性搜索器42'和向量加密器44。

加密的NN编码的向量fsei(例如,由安全用户计算设备31产生的)可以由向量解密器39'解密。在该实施例中,解密器39'可以将得到的NN编码的向量fsi作为候选向量cfsi存储在编码的向量数据存储40中。可以从编码的向量数据存储40或作为来自用户的外部数据输入来将编码的查询向量qfsi输入到安全相似性搜索器42'。然后,安全相似性搜索器42'可以在存储于数据存储40'的列中的候选NN编码的向量cfsi中搜索相似向量,包括新添加的候选向量cfsi

相似性搜索的结果resulti然后可以在被存储或从APU传输出去之前由加密器44加密为加密的向量resultei。数据管理器38'然后可以删除新添加的编码的候选向量cfsi,或者可以将其作为候选向量cfsi添加到数据存储40'中以用于将来的搜索。

申请人已经认识到,就像可以在用户和处理系统之间安全地发送经加密的编码的向量一样,类似地,也可以安全地发送未编码的向量然后在处理系统中对其进行编码。

现在参考图4A,其示出了加密的候选向量系统54,并且参考图4B,其示出了系统54中的数据流。类似于经编码的、加密的候选向量系统52,加密的候选向量系统54包括安全用户计算设备31'和安全处理系统37”,它们通过网络46连接在一起。

类似地,安全数据向量datai是存储于数据存储32中的未加密和未解密的原始数据,可以由加密器35使用发送者的公钥和私钥以及接收者的公钥并添加任何附加个人数据(例如,姓名和年龄)加密为加密的向量dataei。然后,加密的向量dataei可以通过网络46传输到处理系统37”。

安全处理系统37”包括数据管理器38'、向量解密器39”、神经代理散列编码器56、编码的向量数据存储40'、安全相似性搜索器42'和向量加密器44。

加密的数据向量dataei(例如,由安全用户计算设备31'产生的)可以由向量解密器39”解密。然后,解密器39”可以将得到的数据向量datai提供给神经代理散列编码器56,以将数据向量datai编码为二进制编码的候选向量cfsi,并且可以将其存储在编码的向量数据存储40'中。类似于图3A和图3B中的系统52,可以从编码的向量数据存储40'或者作为外部数据输入来将编码的查询向量qfsi输入到安全相似性搜索器42',并且可以在存储于数据存储40'的列中的候选NN编码的向量cfsi中搜索相似向量,包括新添加的候选向量cfsi

然后相似性搜索的结果resulti可以在被存储或从APU传输出去之前由加密器44加密为加密的向量resultei。数据管理器38'然后可以删除新添加的编码的候选向量cfsi,或者可以将其作为候选向量cfsi添加到数据存储40'中以用于将来的搜索。

应当注意,在优选发明的另一实施例(未示出)中,神经代理散列编码器56可以将数据向量datai编码为二进制编码的搜索查询向量qfsi,该二进制编码的搜索查询向量qfsi与图2A和图2B的系统30中的搜索向量qfsi类似地用作查询向量。

申请人已经认识到,就像可以安全地发送并在处理系统中编码未编码的向量一样,类似地,可以安全地发送未编码的向量并将其保存在处理系统中,而无需进行NN编码。

现在参考图5A,其示出了向量传送系统58;并参考图5B,其示出了系统58中的数据流。类似于加密的候选向量系统54,向量传送系统58包括安全用户计算设备31'和安全处理系统37”,它们通过网络46连接在一起。

安全数据向量datai是存储于数据存储32中的未加密和未解密的原始数据,可以由加密器35使用发送者的公钥和私钥以及接收者的公钥并添加任何附加个人数据(例如,姓名和年龄)加密为加密的向量dataei。然后,加密的向量dataei可以通过网络46传输到处理系统37”'。

安全处理系统37”'包括向量解密器39”、数据向量存储60和向量加密器44。

加密的数据向量dataei(例如,由安全用户计算设备31'产生的)可以由向量解密器39'解密为数据向量数据datai。然后,解密器39'可以将数据datai存储到数据向量存储60中。

然后,来自数据存储60的数据向量datai可以在被存储或从APU传输出去之前由加密器44加密为加密的数据向量dataei

应当注意,通过处理加密和加密片上APU加密保护私钥和公钥不受嗅探器的攻击。将意识到的是,甚至使用片上APU加密方法加密的原始数据也比使用当前基于系统的加密过程加密的原始数据更安全。

虽然已经在本文中图示和描述了本发明的某些特征,但是本领域普通技术人员现在将想到许多修改、替换、改变和等同物。因此,应当理解,所附权利要求旨在覆盖落入本发明的真实精神内的所有这样的修改和改变。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据访问控制、数据缓存控制方法及其装置、设备与介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!