一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据集的部分重叠的多密钥加密的制作方法

2021-12-17 21:17:00 来源:中国专利 TAG:


1.本公开涉及数据的加密,并且更具体地,涉及可由多个不同方访问的数 据集的重叠的多密钥加密。


背景技术:

2.在制造行业中,存在共享充当集成商的原始设备制造商(oem)和参与 方(part)供应商之间的工程数据的问题。在一些情况下,可能要由oem来 决定划分数据并分发其一部分,以便每个供应商只能访问他们可能基于许多 不同标准而应该访问的部分。例如,一个标准可以基于制造责任,在该责任 中,负责制造工程数据中定义的部件的供应商应该可以访问该数据。另一个 标准可以基于需要知道供应商基于与由另一个供应商制造的另一个参与方进 行对接的需求来获得访问权限。另一个标准可以基于许可问题,其中一些制 造技术和材料能受到出口管制(这尤其是军事合同规定的产品的问题),并要 求供应商拥有适当的许可才能看到。
3.划分工程数据的任何方法都必须是100%准确的,因为oem会被处以大 笔罚款,或者甚至在违反合同的情况下取消合同。除了一些例外情况(例如, 上述由两个不同的供应商制造的部件之间的对接)以外,如果oem向错误的 供应商发送数据,则他实质上会暴露供应商的知识产权并可能面临诉讼。类 似地,如果他将受到出口管制的数据暴露给美国境外的供应商,则他可能会 面临政府的罚款,或者在极端情况下被禁止投标政府合同。
4.例如,在像xml这样的树形数据结构的情况下,其中xml树中的每个 节点代表一个部件(如果其是叶形物)或部件组合件(否则)。组合件节点包 含部件组合件的几何形状,但是不包含关于如何制造组成它的任何部件的详 细信息。我们还定义了一个“interfaceswith”关系,该关系在两个部件之间创 建依赖关系。如果部件a与部件b对接,则部件a的所有者需要访问部件b, 以便他可以以与部件b匹配的方式设计部件a(例如,部件a上的孔需要与 部件b上的孔对准,以便可以将它们螺栓连接在一起)。从某种意义上说,
ꢀ“
interfaceswith”关系的存在将这种树形结构转变为图结构,替代地可以使用 rdf文件对该结构进行描述。已经访问给定部件的供应商列表将被称为该部 件的“访问策略”。
5.如上所述,在多方情况下可能,开发和遵守针对数据集的访问策略的复 杂性是困难的。


技术实现要素:

6.根据一个实施例,提供了一种用于提供数据集的多密钥加密的方法。操 作包括经由处理器电路并向数据集的第一数据用户提供在包括至少两个维度 的坐标系中定义的第一用户特定数据点,经由处理器电路并向数据集的第二 数据用户提供在坐标系中定义的第二用户特定数据点,以及经由处理器电路 并向第一数据用户和第二数据用户提供至少两个共享数据点,所述至少两个 共享数据点在与第一用户特定数据点或第二用户特定数据点之一一起使用时 定义与数据集中定义的分量对应的分量多项式,该分量位于分量多
项式上并 且是第一数据用户和第二数据用户可访问的。操作包括经由处理器电路并向 第一数据用户提供坐标系中的第一密钥共享点,该第一密钥共享点与第一用 户特定数据点的结合定义标识第一加密密钥的第一数据用户多项式,该第一 加密密钥位于坐标系中的第一轴线的截距处的第一数据用户多项式上,并且 由第一数据用户使用来对数据集的第一部分的内容进行解密。
7.一些实施例包括经由处理器电路并向第二数据用户提供坐标系中的第二 密钥共享点,该第二密钥共享点与第二用户特定数据点的结合定义标识第二 加密密钥的第二数据用户多项式,该第二加密密钥位于坐标系中的第一轴线 的截距处的第二数据用户多项式上并且由第二数据用户使用来对与数据集的 第一部分不同的数据集的第二部分的内容进行解密。
8.一些实施例包括在提供在包括至少两个维度的坐标系中定义的第一用户 特定数据点之前,确定最大数据用户数并确定分量多项式的次数。
9.一些实施例包括生成用于对数据集的多个部分进行加密和解密的多个用 户特定密钥,其中多个部分中的每个部分是多个数据用户中的对应一个数据 用户可排他地访问的。
10.一些实施例包括将用于对数据集的多个部分进行加密和解密的多个用户 特定密钥分发给多个数据用户中的相应数据用户。
11.在一些实施例中,分发多个用户特定密钥包括,对于多个用户特定密钥 中的每个用户特定密钥,基于包括随机生成的值的盐(salt)将用户特定密钥 散列化,并且包括用于从散列值提取用户特定密钥的信息。
12.在一些实施例中,坐标系包括伽罗华域(galois field),并且至少两个维 度是彼此正交的。
13.一些实施例规定数据集的第一部分和数据集的第二部分包括第一部分和 第二部分共有的部分重叠的部分。
14.在一些实施例中,第一部分包括数据集中的所有第二部分和其他数据。
15.一些实施例规定:数据集包括由集成商提供的制造数据集,所述制造数 据集对应于包括多个部件(part)的组合件(assembly);数据集的第一部分包 括与多个部件中的第一部件对应的第一部件数据;数据集的第二部分包括与 多个部件中的第二部件对应的第二部件数据;第一数据用户包括第一供应商, 其基于使用第一加密密钥对第一部件数据的访问将第一部件提供给集成商; 第二数据用户包括第二供应商,其基于使用第二加密密钥对第二部件数据的 访问将第二部件提供给集成商。
16.在一些实施例中,第二部件数据包括第一部件数据中包括的数据。一些 实施例规定在第一供应商接收第一加密密钥之后,将第一部件数据修改为包 括附加数据,其中可以使用第一加密密钥来访问第一部件数据和附加数据。 在一些实施例中,第一数据和第二数据是彼此互斥的。
17.一些实施例规定数据集包括单个加密文件,并且第一加密密钥用于访问 与数据集的第一部分对应的单个加密文件的一部分。
18.本文的一些实施例涉及用于提供数据集的多密钥加密的方法。根据这种 方法的操作包括:生成用于对数据集的多个部分进行解密的多个加密密钥, 所述多个部分对应于
多个加密密钥中的相应加密密钥;使用至少一个随机生 成的盐值来从多个加密密钥生成多个散列化的加密密钥;以及将多个散列化 的加密密钥分发给多个数据用户中的相应数据用户,其中多个数据用户中的 每个数据用户访问数据集的多个部分中的不同部分。
19.在一些实施例中,多个加密密钥相对于多个部分中的对应部分的改变是 恒定的。一些实施例规定生成多个加密密钥包括生成用于在包括至少两个维 度的坐标系中定义多项式的多个点,并基于多项式的轴线截距确定多个加密 密钥的值。
20.在一些实施例中,多个加密密钥中的至少一个加密密钥提供对整个数据 集的访问。一些实施例规定多个加密密钥中的至少一个加密密钥提供对数据 集中的多个部分的访问。
21.本文的一些实施例涉及一种用于提供数据集的多密钥加密的系统。系统 包括处理器电路和与处理器电路相关联的存储器电路。该存储器包括计算机 可读程序指令,该计算机可读程序指令在由处理器电路执行时使处理器电路 执行一组操作。操作包括:向数据集的第一数据用户提供在包括至少两个维 度的坐标系中定义的第一用户特定数据点;向数据集的第二数据用户提供在 坐标系中定义的第二用户特定数据点;向第一数据用户和第二数据用户提供 至少两个共享数据点,所述至少两个共享数据点在与第一用户特定数据点或 第二用户特定数据点之一一起使用时定义与数据集中定义的分量对应的分量 多项式,所述分量位于分量多项式上并且是第一数据用户和第二数据用户可 访问的;以及向第一数据用户提供坐标系中的第一密钥共享点,该第一密钥 共享点与第一用户特定数据点的结合定义标识第一加密密钥的第一数据用户 多项式,所述第一加密密钥位于坐标系中的第一轴线的截距处的第一数据用 户多项式上,并且由第一数据用户使用来对数据集的第一部分的内容进行解 密。操作还包括向第二数据用户提供坐标系中的第二密钥共享点,该第二密 钥共享点与第二用户特定数据点的结合定义标识第二加密密钥的第二数据用 户多项式,该第二加密密钥位于坐标系中的第一轴线的截距处的第二数据用 户多项式上并且由第二数据用户使用来对与数据集的第一部分不同的数据集 的第二部分的内容进行解密。
22.根据一个实施例和前述实施例中的任一个实施例,该方法和系统也包括 确定元件是否是该元件的子元件,并且响应于子元件包括非文本格式的数据, 将该子元件从非文本格式转换为基于本文的格式。另外,该方法和系统额外 包括将转换为基于文本的格式的子元件写入模型文本文件。
23.已经讨论的特征、功能和优点可以在各种实施例中独立地实现,或者可 以在其他实施例中组合,其进一步的细节可以参考下面的描述和附图来看到。
附图说明
24.图1是示出了根据一些实施例的数据分量和针对供应商和分量的访问策 略的示意性数据集图。
25.图2是示出了根据一些实施例的包括数据集和分量多项式的曲线的二维 坐标系的图。
26.图3是根据本公开的一些实施例的用于数据集的部分重叠的多密钥加密 的方法的示例的流程图。
27.图4是根据本公开的一些实施例的用于数据集的部分重叠的多密钥加密 的方法的示例的流程图。
28.图5是根据本公开的一些实施例的用于数据集的部分重叠的多密钥加密 的方法的示例的流程图。
29.图6是示出了根据本公开的一些实施例的多密钥加密系统的示意性方框 图。
30.图7是根据本公开的一些实施例的图3的初始化参与方特定点的操作的 示例的流程图。
31.图8是根据本公开的一些实施例的图3的加密和分发共享密钥的操作的 示例的流程图。
32.图9是根据本公开的一些实施例的由图3的各方进行的数据加密操作的 示例的流程图。
具体实施方式
33.实施例的以下详细描述参考附图,其示出了本公开的特定实施例。具有 不同结构和操作的其他实施例不脱离本公开的范围。在不同附图中,相似的 参考标号可以指代相同的元件或分量。
34.本公开可以是一种系统、一种方法和/或一种计算机程序产品。该计算机 程序产品可以包括计算机可读存储介质,其具有计算机可读程序指令在其上, 用于使处理器执行本公开的各方面。
35.计算机可读存储介质可以是有形设备,该有形设备可以保留和存储用于 由指令执行设备使用的指令。计算机可读存储介质可以是例如但不限于,电 子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备 或前述项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列 表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读 存储器(rom)、可擦可编程只读存储器(eprom或闪存)、静态随机存取 存储器(sram)、便携式光盘只读存储器(cd

rom)、数字多功能磁盘 (dvd)、记忆棒、软盘、机械编码的设备(如其上记录有指令的凹槽中的打 孔卡或凸起结构)以及前述项的任何合适的组合。如本文所用,计算机可读 存储介质不应被解释为本身是瞬时信号,如无线电波或其他自由传播的电磁 波、通过波导或其他传输介质(例如,穿过光纤电缆的光脉冲)传播的电磁 波或通过电线传输的电信号。
36.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应 的计算/处理设备,或者经由网络(例如,互联网、局域网、广域网和/或无线 网)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、传输光 纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每 个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指 令,并转发计算机可读程序指令,用于存储在相应的计算/处理设备内的计算 机可读存储介质中。
37.用于执行本公开的操作的计算机可读程序指令可以是汇编程序指令、指 令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态 设置数据或以一种或多种编程语言的任何组合编写的源代码或目标代码,所 述一种或多种编程语言包括面向对象的编程语言(如smalltalk、c 等)和程 序编程语言(如“c”编程语言或类似编程语言)。计
算机可读程序指令可以 完全地在用户的计算机上、部分地在用户的计算机上、作为独立软件包、部 分地在用户的计算机上和部分地在远程计算机上或完全地在远程计算机或服 务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括 局域网(lan)或广域网(wan))连接到用户的计算机,或者可以与外部计 算机建立连接(例如,通过使用互联网服务提供商的互联网)。在一些实施例 中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵 列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计 算机可读程序指令,以使电子电路个性化,以便执行本公开的各方面。
38.在此参考根据本公开的实施例的方法、设备(系统)和计算机程序产品 的流程图图示和/或方框图,描述了本公开的各方面。将理解的是,流程图图 示和/或方框图中的每个方框以及流程图图示和/或方框图中的各方框的组合 可以由计算机可读程序指令实现。
39.可以将这些计算机可读程序指令提供给通用计算机、专用计算机或其他 可编程数据处理设备的处理器,以产生机器,使得指令在经由计算机或其他 可编程数据处理设备的处理器执行时创建用于实现流程图和/或方框图方框中 指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读 存储介质中,该计算机可读存储介质可以指导计算机、可编程数据处理设备 和/或其他设备以特定方式起作用,使得其中存储有指令的计算机可读存储介 质包括一种制品,该制品包括实现流程图和/或方框图方框中指定的功能/动作 的各方面的指令。
40.也可以将计算机可读程序指令加载到计算机、其他可编程数据处理设备 或其他设备上,以使一系列操作步骤在计算机、其他可编程设备或其他设备 上执行,以产生计算机实现的过程,使得在计算机、其他可编程设备或其他 设备上执行的指令实现流程图和/或方框图方框中指定的功能/动作。
41.现在参考图1,其示出了根据一些实施例的针对供应商和分量的数据分量 和访问策略的示意性数据集图示。如图所示,在此示例中,数据集是物料清 单(bom),其将要制造的汽车分解为主要组件/分量,并标识不同分量的不 同供应商责任。例如,数据集可以基于用于每个供应商的访问策略。第一访 问策略151可以定义供应商1需要访问整个数据集。在此示例中,整个结构 可以包括底盘111、后轴112和前副车架120。
42.第二访问策略152可以对应于供应商2可访问的分量,并且可以对应于 对前副车架120的责任。可以包括在前副车架120中的分量可以包括前支柱 121、稳定杆122和衬套123。另外,前支柱121可以包括制动钳130、弹簧 124、减震器125、支柱壳体126和上衬套127。
43.另外,第二访问策略152还可以规定基于上衬套127与底盘111对接的 要求,使供应商2能够访问底盘111。
44.第三访问策略153可以对应于供应商3可访问的分量,并且可以对应于 对制动钳130中的分量的责任。可以包括在制动钳130中的分量可以包括垫 磨损传感器131、泄放螺钉132、防脆裂夹133和钳主体134。因此,供应商 3可以能够访问与第三访问策略153对应的数据。另外,第三访问策略还可以 规定供应商3可以基于钳主体134与支柱壳体126对接的要求,访问支柱壳 体126。
45.因此,供应商1可能需要访问整个结构(例如,以便他们可以定义维护 手册)。悬架可以由供应商2设计,并且制动系统可以由供应商3设计。注意, 供应商3可能不介意与供应
商1(其属于不同业务领域)共享他们的技术,但 是他们不想与可能很容易称为竞争对手的供应商2共享。支柱壳体126可能 需要由所有三个供应商1、供应商2和供应商3访问。下面提供了此数据树的xml编码的示例:
[0046][0047]
实际上将被编码的文件的部分可以是每个部件标签上的几何属性。在此 示例中,每个属性值可以简单地是部件名称加单词“几何(geometry)”。在一 些实施例中,此属性的值可以是二进制cad数据(如catia、nx或creo)。 文件的其余部分可能不包含需要保护的专有信息。每个都知道一辆汽车有前 部和实轴,并且只需要看一下制动钳就可以看到一个对应于供应商3的书面 标识符。在供应商关系确实是秘密的一些合同中,情况可能并非如此。在这 种情况下,可以使用与几何属性相同的方式对供应商信息进行加密。
[0048]
以下包括对与本文的一些实施例对应的解决方案的一些高级要求。实施 例规定:该解决方案需要支持使用单个加密文件向所有供应商分发数据,文 件大小可以比未加密的文件大,但是需要独立于供应商的数量(添加任意大 量的新供应商不应该增大文件大小);给定供应商密钥(或一组密钥),供应 商仅可以对以下进行解密:他负责设计或制造的部件、他负责设计或制造的 部件的任何子项到另一个供应商(独家)负责的部件,以及需要对接的任何 部件;oem可以解密一切。
[0049]
此外,对部件的访问策略的改变可能不需要在oem和供应商之间传输任 何密钥。注意,一些实施例规定这可以伴随对部件几何形状的修订来完成, 并且如果部件的所有权从供应商1更改为供应商2,则供应商1可能无法对部 件的新修订进行解密,但是仍可以对旧修订进行解密。类似地,供应商2可 能无法在获得部件的所有权之前对部件的旧修订进行解密。
[0050]
在一些实施例中,将不同的密钥分配给每个部件,并且基于部件的访问 策略将适当的密钥分配给每个供应商。在这样的实施例中,密钥的数量可能 变得难以管理,因为每个新部件或对部件的修订可能需要将新密钥传输给一 组供应商。此外,xml文件可能包含对需要使用的密钥的引用。
[0051]
在一些实施例中,如果两个部件意在由相同组的供应商进行解密,则它 们可以用相同的密钥进行加密。在这样的实施例中,要管理的密钥的数量可 能更少。
[0052]
一些实施例规定,可以提供有密钥共享的每个访问策略1个密钥。例如, 每个供应商可能会接收一个伽罗华域中的单个二维点。可以为每个访问策略 分配一个安全密钥,并且可以使用那些密钥对数据进行加密。接下来,可以 为属于访问策略中的每个供应商的点
加上点(0,密钥)计算拉格朗日 (lagrange)多项式。最后,在那个多项式(不同于供应商拥有的点)上计算 一组点(其大小等于访问策略中的供应商数量),并且在加密的xml文件中共 享那些点。
[0053]
尽管以上在供应商上下文示例中进行了讨论,但是此处的实施例不限于 此。例如,数据集可以是一种结构化和/或非结构化数据集,其包括与营销、 金融、保健、医疗、制药和/或通信网络等对应的数据。
[0054]
现在参考图2,其是示出了根据一些实施例的包括数据集和分量多项式的 曲线的二维坐标系的图示。尽管图示为仅包括两个供应商(供应商1和供应 商2),但是此处的实施例可适用于多于两个以上的许多供应商。
[0055]
p1和p2是在供应商1和供应商2与集成商(其可能是原始设备制造商 (oem))签订合同时分别给予供应商1和供应商2的点。这些点可能在合同 的有效期内保持稳定。k1、k2和k
1,2
是用于根据数据集的访问策略对与数据集 对应的每个分量进行加密的密钥。
[0056]
如果分量仅需要由供应商1解密,则将使用k1对其进行加密。如果分量 需要由供应商1和供应商2两者解密,则使用k
1,2
对其进行加密。
[0057]
最后,分发的加密xml文件还根据访问策略包含用于每个p
x’的适当密钥 共享点。
[0058]
如果分量只需要由供应商1解密,则密钥共享将包含p1’

[0059]
如果分量需要由供应商1和供应商2两者解密,则密钥共享将包含p
12
’ 和p
12”。
[0060]
在其中供应商2尝试对三个不同分量(每个分量都用不同密钥进行加密) 进行解密的情况下,如果分量已经使用k2进行加密,则密钥共享将包含p2’
。 供应商2确定p2(仅供应商2有)和p2’
(每个人都有)的拉格朗日多项式p
12
, 并求解它(x=0)以得到k2。
[0061]
如果分量已经使用k
1,2
进行加密,则密钥共享将包含p
12’和p
12”。在这 种情况下,供应商2需要找到点p2(仅供应商2有)、p
12’和p
12”(每个人都 有)的拉格朗日多项式p
12
,并求解它(x=0)以得到k
1.2

[0062]
如果分量已经使用k1进行加密,则密钥共享将包含p1’
。在这种情况下, 供应商2可以尝试使用点p2(其秘密点)和p1’
(其在xml中的密钥共享中找 到)来计算拉格朗日多项式。然而,由于这将产生与p1不同的多项式,则求 解它(x=0)将产生无法对密文进行解密的某个其他密钥。
[0063]
在两个供应商的这种示例中,供应商2只知道供应商1的秘密点位于多 项式p
12
上的某个地方。如果伽罗华域足够大,则这样的点的数量可能太多, 供应商2无法有效地找到它。但是如果供应商的数量大于二,则此属性不成 立。例如,在第三个供应商的情况下,供应商3、供应商1和供应商2共享两 个多项式:一个包括供应商3,另一个不包含。供应商1或供应商2需要做的 就是找到那两个多项式的交集,以找到其他供应商的秘密点的可能候选者。
[0064]
在一些实施例中,可以限制访问策略中可能的供应商的数量,以解决这 个问题。这样的实施例可能限于某些使用情况。例如,两个不诚实的供应商 相互合作(两个供应商由单个母公司拥有,或者两个供应商由国家行为者拥 有或控制)的情况下,他们需要做的就是彼此共享他们与另一个供应商共享 的多项式,然后他们可以交叉并找到此第三个供应商的秘密点。
[0065]
一些实施例规定,不是直接从秘密供应商点计算密钥,而是添加盐并通 过应用安
全散列函数(例如,sha

512等)来平移该点。然后,可以从那些 平移的点计算密钥。可以为每个部件随机计算该盐,并且该盐包含在xml文 件中。供应商所需要做的是添加盐,根据盐和两个坐标的级联计算散列,截 断结果,并且按照与上一小节相同的方法使用新获得的点和密钥共享。
[0066]
加盐和散列化操作的示例如下:
[0067][0068]
鉴于现在为每个部件使用不同的点,交叉的多项式不会为攻击者提供用 于对任何其他部件进行解密的任何手段。使用这种方式,任意数量的供应商 都可以包括在任何访问策略中,而不会有不诚实的一方找到其他供应商的秘 密点的风险。
[0069]
例如,以下是一种加密的xml文件,其可以用于由供应商2来执行解密: [0070][0071]
xml文件显示包含供应商p的几何属性返回到其相应的明文。所有其他几 何属性均为空。填充可以通过删除x个最后的字符而不验证填充实际上是正 确的来实现,x等于最后的字节。在这种情况下,最后的字节大于获得的明文 的全长。
[0072]
现在参考图3,其是根据本公开的一些实施例的用于数据集的部分重叠多 密钥加密的方法的示例的流程图。操作包括初始化参与方特定数据点(方框 310)。简要参考图7,其是用于初始化参与方特定点的操作的示例的流程图。 操作包括基于将访问数据集的各部分的参与方的数量生成(方框712)一组不 同的点。可以为每一方提供坐标系中的单个秘密方特定点(方框714)。
[0073]
返回来参考图3,一些实施例包括加密和分发共享密钥(方框320)。简 要参考图8,其是根据本公开的一些实施例的图3的加密和分发共享密钥的操 作的示例的流程图。操作包括准备数据集并为每个分量生成访问策略。访问 策略可以定义需要访问数据集的每个
分量的一组参与方。
[0074]
操作还包括执行一组特定于分量的任务(方框814)。特定于分量的任务 的示例包括生成随机盐值、评估需要访问数据集的参与方的数量。一些实施 例中,多项式的次数可以被确定为比将访问数据集的参与方的数量多一个。 可以使用与特定分量对应的随机盐值对每一方的点进行加盐和散列化。一些 实施例规定盐可以与所有各方共享,包括那些不能访问给定分量的各方。
[0075]
生成一个随机点,并且可以与所有各方共享该随机点。可以使用随机点 和散列化的参与方特定点来确定分量多项式,并且可以使用多项式与坐标空 间的y轴的相交来确定对应的加密密钥。
[0076]
可以使用加密密钥来对分量进行加密,并且可以向所有各方提供加密的 分量。整个数据集可以与所有各方共享。
[0077]
返回来参考图3,操作包括由各方对数据进行解密(方框330)。现在简 要参考图9,其是根据本公开的一些实施例的图3的由各方进行的数据加密的 操作的示例的流程图。操作包括参与方接收具有多个分量的数据集(方框 912)。执行参与方特定的解密操作(方框914)。操作可以包括用公共盐值对 秘密点进行加盐和散列化。散列化的秘密点与用于该分量的公共点进行散列 化。这可以定义与分量对应的多项式。
[0078]
分量多项式与y轴线相交,并且相交值定义解密密钥。该参与方使用解 密密钥对数据进行解密。解密密钥仅适用于该方根据访问策略访问的分量。 该参与方以部分解密的数据集结束。
[0079]
现在参考图4,其是根据本公开的一些实施例的用于数据集的部分重叠的 多密钥加密的方法的示例的流程图。操作包括经由处理器电路并向数据集的 第一数据用户,提供(方框412)在坐标系中定义的第一用户特定数据点。在 一些实施例中,坐标系包括两个或更多个维度。例如,坐标系可以是伽罗华 域,其包括彼此正交的至少两个维度。
[0080]
在一些实施例中,数据集是单个加密文件,并且第一加密密钥用于访问 与数据集的第一部分对应的单个加密文件的一部分。
[0081]
方框414包括向数据集的第二数据用户提供在坐标系中定义的第二用户 特定数据点。在一些实施例中,数据集的第一部分和数据集的第二部分包括 第一部分和第二部分共有的部分重叠的部分。
[0082]
一些实施例规定,第一部分包括数据集中的所有第二部分和其他数据。
[0083]
在一些实施例中,数据集包括由集成商提供的制造数据集,该制造数据 集对应于包括多个分量/部件的组合件(assembly)。在一些实施例中,数据集 的第一部分包括与多个部件中的第一部件对应的第一部件数据,并且数据集 的第二部分包括与多个部件中的第二部件对应的第二部件数据。在一些实施 例中,第一数据用户是第一供应商,其基于使用第一加密密钥对第一部件数 据的访问将第一部件提供给集成商,并且第二数据用户包括第二供应商,其 基于使用第二加密密钥对第二部件数据的访问将第二部件提供给集成商。
[0084]
在一些实施例中,第二部件数据包括第一部件数据中包括的数据。一些 实施例规定,在第一供应商接收第一加密密钥之后,将第一部件数据修改为 包括附加数据,并且可以使用第一加密密钥来访问所述第一部件数据和附加 数据。
[0085]
在一些实施例中,第一数据和第二数据是彼此互斥的。
[0086]
操作可以包括向第一数据用户和第二数据用户提供(方框416)至少两个 共享数据点。共享数据点可以在与第一用户特定数据点或第二用户特定数据 点之一一起使用时定义与数据集中定义的分量对应的分量多项式,该分量位 于分量多项式上并且是第一数据用户和第二数据用户可访问的。
[0087]
操作可以包括向第一数据用户提供坐标系中的第一密钥共享点,该第一 密钥共享点与第一用户特定数据点结合,定义了标识第一加密密钥的第一数 据用户多项式,该第一加密密钥位于坐标系中的第一轴线的截距处的第一数 据用户多项式上。在一些实施例中,第一加密密钥可以由第一数据用户使用 来对数据集的第一部分的内容进行解密。
[0088]
在一些实施例中,操作包括向第二数据用户提供(方框420)坐标系中的 第二密钥共享点,该第二密钥共享点与第二用户特定数据点结合,定义了标 识第二加密密钥的第二数据用户多项式,该第二加密密钥位于坐标系中的第 一轴线的截距处的第二数据用户多项式上。在一些实施例中,第二加密密钥 可以由第二数据用户使用来对与数据集的第一部分不同的数据集的第二部分 的内容进行解密。
[0089]
一些实施例规定在提供在包括至少两个维度的坐标系中定义的第一用户 特定数据点之前,确定(方框422)最大数据用户数并确定分量多项式的次数。
[0090]
一些实施例包括生成(方框424)用于对数据集的多个部分进行加密和解 密的多个用户特定密钥。在一些实施例中,多个部分中的每个部分是数据用 户中的对应一个数据用户可排他地访问的。
[0091]
一些实施例包括将用于对数据集的多个部分进行加密和解密的多个用户 特定密钥分发(方框426)给多个数据用户中的相应数据用户。一些实施例规 定,分发用户特定密钥包括对于用户特定密钥中的每个用户特定密钥,基于 包括随机生成的值的盐散列化用户特定密钥,并且包括用于从散列值提取用 户特定密钥的信息。
[0092]
现在参考图5,其是根据本公开的一些实施例的用于数据集的部分重叠的 多密钥加密的方法的示例的流程图。操作包括生成(方框532)用于对数据集 的多个部分进行解密的多个加密密钥,所述多个部分对应于多个加密密钥中 的相应加密密钥。
[0093]
在一些实施例中,相对于数据集的多个部分中的对应部分的改变,加密 密钥是恒定的。
[0094]
一些实施例规定生成加密密钥包括生成用于在包括至少两个维度的坐标 系中定义多项式的多个点,并基于多项式的轴截距确定加密密钥的值。
[0095]
在一些实施例中,加密密钥中的至少一个加密密钥提供对整个数据集的 访问。一些实施例规定加密密钥中的至少一个加密密钥提供对数据集中的多 个部分的访问。
[0096]
操作可以包括使用至少一个随机生成的盐值来从多个加密密钥生成(方 框534)多个散列化加密密钥。实施例还可以包括将散列化的加密密钥分发(方 框536)给多个数据用户中的相应数据用户。在一些实施例中,数据用户中的 每个数据用户访问数据集的多个部分中的不同部分。
[0097]
现在参考图6,其是示出了根据本公开的一些实施例的多密钥加密系统的 示意性方框图。如图所示,系统110可以包括收发器电路601(也称为收发器), 其包括发送器和/或接收器。系统110还可以包括耦合到收发器电路的处理器 电路603(也称为处理器)和耦合
到处理器电路603的存储器电路(605)。存 储器电路605可以包括计算机可读程序代码,该计算机可读程序代码在由处 理器电路603执行时使处理器电路执行根据本文公开的实施例的操作。根据 其他实施例,处理器电路603可以被定义为包括存储器,以便不需要单独的 存储器电路。系统110还可以包括与处理器电路603耦合的接口(如用户接 口)。
[0098]
如本文讨论,系统110的操作可以由处理器电路603和/或收发器电路601 执行。此外,模块可以被存储在存储器电路605中,并且这些模块可以提供 指令,使得当模块的指令由处理器电路603执行时,处理器电路603执行相 应的操作。
[0099]
例如,一些实施例提供了一种用于提供数据集的多密钥加密的系统,在 该系统中,处理器执行各操作,所述操作包括:向数据集的第一数据用户提 供在包括至少两个维度的坐标系中定义的第一用户特定数据点;向数据集的 第二数据用户提供在坐标系中定义的第二用户特定数据点;向第一数据用户 和第二数据用户提供至少两个共享数据点,所述至少两个共享数据点在与第 一用户特定数据点或第二用户特定数据点之一一起使用时定义了与数据集中 定义的分量对应的分量多项式,该分量位于分量多项式上并且是第一数据用 户和第二数据用户可访问的;向第一数据用户提供坐标系中的第一密钥共享 点,该第一密钥共享点与第一用户特定数据点结合,定义了标识第一加密密 钥的第一数据用户多项式,该第一加密密钥位于坐标系中的第一轴线的截距 处的第一数据用户多项式上,并且由第一数据用户使用来对数据集的第一部 分的内容进行解密;以及向第二数据用户提供坐标系中的第二密钥共享点, 该第二密钥共享点与第二用户特定数据点结合,定义了标识第二加密密钥的 第二数据用户多项式,该第二加密密钥位于坐标系中的第一轴线的截距处的 第二数据用户多项式上并且由第二数据用户使用来对与数据集的第一部分不 同的数据集的第二部分的内容进行解密。
[0100]
图中的流程图和方框图示出了根据本公开的各种实施例的系统、方法和 计算机程序产品的可能实施方式的架构、功能和操作。就这一点而言,流程 图或方框图中的每个方框可以表示模块、节段或指令的一部分,其包括用于 实施指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,方 框中标注的功能可以不按照图中标注的顺序发生。例如,根据所涉及的功能, 实际上可以基本上同时执行连续示出的两个方框,或者有时可以以相反的顺 序执行这些方框。还将注意,方框图和/或流程图中的每个方框,以及方框图 和/或流程图图示中的各方框的组合可以由基于专用硬件的系统实施,这些系 统执行指定的功能或动作,或者执行专用硬件和计算机指令的组合。
[0101]
本文使用的术语仅用于描述特定实施例的目的,并且不旨在限制本公开 的实施例。如本文所用,单数形式“一个”和“该(the)”也意在包括复数 形式,除非上下文另外明确指出。将进一步理解,当在本说明书中使用时, 术语“包括”和/或“包含”指定存在所陈述的特征、整数、步骤、操作、元 素和/或组件,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、 元素、组件和/或它们的组。
[0102]
随附权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作 和等效物旨在包括用于与具体要求保护的其他要求保护的元件结合执行功能 的任何结构、材料或动作。出于说明和描述的目的,已经呈现了对本实施例 的描述,但是本实施例的描述不旨在穷举或限于所公开的形式的实施例。在 不脱离实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术 人员来说将是显而易见的。
[0103]
尽管本文已经示出和描述了特定实施例,但是本领域的普通技术人员理 解,为实现相同目的而进行计算的任何布置可以替代所示的特定实施例,并 且这些实施例在其他环境中具有其他应用。本技术旨在涵盖任何改编或变化。 随附的权利要求不旨在将本公开的实施例的范围限制为本文描述的特定实施 例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献