CN115668860B - 用于识别加密对象的创建者的方法和系统 - Google Patents
用于识别加密对象的创建者的方法和系统 Download PDFInfo
- Publication number
- CN115668860B CN115668860B CN202180035740.7A CN202180035740A CN115668860B CN 115668860 B CN115668860 B CN 115668860B CN 202180035740 A CN202180035740 A CN 202180035740A CN 115668860 B CN115668860 B CN 115668860B
- Authority
- CN
- China
- Prior art keywords
- random number
- metadata
- dek
- plaintext
- encrypted
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004590 computer program Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101150011387 DEK1 gene Proteins 0.000 description 1
- 102000004137 Lysophosphatidic Acid Receptors Human genes 0.000 description 1
- 108090000642 Lysophosphatidic Acid Receptors Proteins 0.000 description 1
- 101100331195 Oryza sativa subsp. japonica ADL1 gene Proteins 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Credit Cards Or The Like (AREA)
- Adornments (AREA)
- Vehicle Interior And Exterior Ornaments, Soundproofing, And Insulation (AREA)
Abstract
提供了用于对对象进行加密以使得能够识别加密对象的创建者的方法、计算机系统和计算机程序产品。该方法可包括:处理器接收包括明文和描述明文的元数据的未加密对象;处理器响应于来自用户的请求而获得用于未加密对象的数据加密密钥(DEK)和随机数密钥,随机数密钥对用户是唯一的。该方法还可包括:处理器对未加密对象进行加密。所述加密包括:至少部分基于明文和随机数密钥生成随机数;生成密文和包括元数据的签名的元数据认证标签,所述生成至少部分地基于明文、元数据、DEK和随机数。该方法还可包括创建包括密文、元数据和元数据认证标签的加密对象。
Description
背景技术
本发明总体上涉及对数据进行加密,更具体地涉及使用数据加密密钥(DEK)对数据进行加密,从而使得能够识别加密对象的创建者。
高级加密标准(AES)指定可以用于保护电子数据的密码算法。AES算法是可以加密(密化)和解密(破译)信息的对称分组密码。加密将数据转换成被称为密文的难以理解的形式,并且对密文进行解密将数据转换回其被称为明文的原始形式。AES算法能够使用128、192和256位的密码密钥来加密和解密128位的块中的数据。
具有伽罗瓦/计数器模式(Galois/Counter Mode)的AES(AES-GCM)提供了认证加密(机密性和认证)以及检查以明文(即,未加密)形式发送的附加认证数据(AAD)的完整性和认证的能力。AES-GCM加密有四个输入:密钥(例如,AES密钥或DEK);初始化向量(IV)(也称为“随机数”);明文;和可选的AAD。随机数和AAD以明文传递,即它们以与它们被输入到AES-GCM加密中的相同格式从AES-GCM加密输出。AES-GCM加密有两个附加输出:密文,与明文长度相同;以及在AAD被输入到加密时用于认证AAD的认证标签。
AES-GCM是流密码,因此它要求将不同的IV用于每个使用DEK加密的流。因此,每次使用AES-GCM用相同的DEK加密相同的明文值时,其将导致不同的密文值。
发明内容
本发明的实施例涉及对对象进行加密,以使得能够识别加密对象的创建者。非限制性示例的计算机实现的方法包括:由处理器接收包括明文和描述明文的元数据的未加密对象;由处理器响应于来自用户的请求而获得用于未加密对象的数据加密密钥(DEK)和随机数密钥,随机数密钥对用户是唯一的。所述方法还包括由处理器对未加密对象进行加密。所述加密包括:至少部分地基于明文和随机数密钥生成随机数;生成密文和包括元数据的签名的元数据认证标签,所述生成至少部分地基于明文、元数据、DEK和随机数。所述方法还包括创建包括密文、元数据和元数据认证标签的加密对象。
本发明的其他实施例在计算机系统和计算机程序产品中实现上述方法的特征。
通过本发明的技术实现了附加技术特征和优点。在本文中详细描述了本发明的实施例和各方面,这些实施例和方面被认为是所要求保护的主题的一部分。为了更好的理解,参考详细说明和附图。
附图说明
在说明书结尾处的权利要求中特别指出并明确要求保护本文所述的独占权利的细节。从以下结合附图进行的详细描述中,本发明的实施例的前述和其他特征和优点将变得显而易见,在附图中:
图1示出了根据本发明一个或多个实施例的加密引擎的框图;
图2示出了根据本发明的一个或多个实施例的解密引擎的框图;
图3示出了根据本发明的一个或多个实施例的随机数生成引擎的框图;
图4示出了根据本发明的一个或多个实施例的对对象进行加密以使得能
够识别加密对象的创建者的方法的流程图;
图5示出了根据本发明的一个或多个实施例的用于对对象进行加密、传
输和解密的分布式系统环境;
图6示出了根据本发明的一个或多个实施例的用于识别加密对象的创建
者的方法的流程图;
图7示出了根据本发明的一个或多个实施例的云计算环境;
图8示出了根据本发明的一个或多个实施例的抽象模型层;
图9示出了根据本发明的一个或多个实施例的用于对对象进行加密以使得能够识别加密对象的创建者的系统。
此处所示的附图是说明性的。在不偏离本发明的精神的情况下,可存在对附图或其中描述的操作的许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。而且,术语“耦接”及其变体描述了在两个元件之间具有通信路径,并不暗示元件之间的没有居间的元件/连接的直接连接。所有这些变体被认为是说明书的一部分。
具体实施方式
本发明的一个或多个实施例提供了以使得能够识别加密对象的创建者的方式对对象进行加密的能力。根据本发明的一个或多个实施例,以能够确定加密对象的创建者的方式实现具有认证标签的伽罗瓦/计数器模式的高级加密标准(AES-GCM)。这是在不损害由AES-GCM算法生成的密文的强度的情况下执行的。
具有认证标签的AES-GCM算法可用于将明文(未加密的)元数据绑定到密文。如本领域已知的,对于给定的DEK,每个AES-GCM操作或加密要求唯一的随机数连同DEK和要加密的明文一起作为加密操作的输入。也就是说,与任何DEK一起使用的一组随机数值绝不能包含任何重复的值。对用相同DEK加密的两个不同消息使用相同的随机数,影响AES-GCM加密的安全属性。因此,每次使用AES-GCM对相同的明文值进行加密时,即使使用相同的DEK时,也会导致不同的密文值。解密算法还需要知道用于执行加密的随机数,才能将密文解密回明文。有了如本文描述的一个或多个实施例所提供的对于每个用户来说唯一的随机数密钥,就允许能够确定加密对象的创建者。例如,可以将单个DEK链接到多个不同的随机数密钥,所述多个不同的随机数密钥各自彼此不同,并且各自与不同的用户相关联。在一些实施例中,禁止将单个随机数密钥链接至两个或更多个不同的DEK。
如本文所使用的,“对象”包括明文(或如果对象被加密,则为密文)和描述明文的元数据。元数据的实例包括但不限于明文数据的名称或标签(例如,
“地址”、“部门号”、“名”等);和/或明文的特征(例如,整数、字符串等)。
根据本发明的一个或多个实施例,当定义DEK时,还创建在此被称为
“随机数密钥(nonce key)”的伙伴密钥。根据本发明的一个或多个实施例,对象包括或被链接至DEK、一个或多个随机数密钥、以及基于对象中所包括的随机数密钥和明文而生成的随机数。根据本发明的一个或多个其他实施例,对象被链接至DEK,DEK被链接至随机数密钥。接收对象的系统不需要访问随机数密钥就能执行解密,因为只有正在创建对象、因此创建随机数的系统,才需要访问随机数密钥。根据本发明的一个或多个实施例,明文中的位(bit)数等于密文中的位数。在实施例中,在使用AES-GCM加密算法的情况下,将需要生成具有96位的随机数,这可以用具有基于密码的消息认证码的AES(AES-CMAC)加密算法来执行。AES-CMAC算法将明文和随机数密钥作为输入,输出随机数。也可以用其他加密算法来生成随机数,所用的加密算法可以例如因随机数的位数而异。
根据本发明的一个或多个实施例,所生成的随机数连同DEK、相关联的元数据和在随机数生成的阶段期间使用的相同明文一起,被输入到AES-GCM算法中。从AES-GCM算法输出的最终消息或加密对象,是密文和标签以及相关联的元数据(未从输入的元数据改变)和所生成的随机数。
以此方式,生成最终包(package),其方式为使得DEK不被重新用作随机数生成过程的一部分,这保持其使用是专用于单个AES-GCM操作的。本文所描述的随机数导出的使用提供了随机数将不会在不同明文消息中被重用(这种重用将损害AES-GCM算法的完整性)。此外,解密和验证阶段是单个操作。AES-GCM算法用密文、标签、随机数和相关联的元数据(明文)来重新运行,所述密文、标签、随机数和相关联的元数据都是从加密输出的对象或消息的一部分。
本发明的一个或多个实施例提供了如下附加的技术益处:仅在创建对象或消息时执行一次随机数生成。对于对象将被加密(例如,存储)和解密多次的应用,这提供了性能和资源利用益处,因为不需要每次对象被加密时都进行随机数创建。本文根据AES-GCM加密算法描述了示例;然而,实施例不限于AES-GCM,而是可以应用于其他需要唯一性随机数的加密算法。
现在转到图1,根据本发明的一个或多个实施例,总体上示出了加密引擎的框图100。如图1所示,明文108和描述明文108的元数据104连同随机数106和DEK 110一起被输入到AES-GCM加密引擎102。AES-GCM加密引擎102可以在例如如本文进一步描述的位于图9的计算机901上的处理器905上或位于图7的云计算节点10上的处理器上执行。
根据本发明的一个或多个实施例,明文108和元数据104被包括在未加密对象中。此外,随机数106和DEK 110链接到对象,使得当对象被加密或解密时,所链接的随机数106和链接的DEK 110被输入到加密和解密算法。根据本发明的一个或多个实施例,所链接的随机数106和/或所链接的DEK
110被包括在对象中(例如,通过对象中的指针,或通过存储在对象中)。如下参考图3所述,在由AES-GCM加密引擎102执行加密之前,生成随机数106。
如图1的实施例所示,从AES-GCM加密引擎102输出包括密文112和标签114(在本文中也称为“元数据认证标签”)的加密对象。标签114包括被输入到加密过程的元数据104的签名,其被解密过程用于验证元数据104在被输入到加密过程之后没有被更改。元数据104和随机数106(两者都是自它们被输入它们时未改变的)也从AES-GCM加密引擎102输出。在一个实施例中,AES-GCM加密引擎102不输出元数据104和/或随机数106,而是通过将其一或二者包含在对象中或链接到对象来使之是可访问的。
现在转到图2,根据本发明的一个或多个实施例,一般地示出解密引擎的框图200。如图2所示,包括由图1的AES-GCM加密引擎102生成的密文112和标签114的加密对象被输入到AES-GCM解密引擎202。AES-GCM解密引擎202的输入也是DEK 110、随机数106和元数据104。AES-GCM解密引擎202可以在例如位于图9的计算机901上的处理器905或位于图7的云计算节点10上的处理器上执行。
根据本发明的一个或多个实施例,由AES-GCM加密引擎102生成的密文112被包括在加密对象中(例如,通过对象中的指针或通过存储在对象中)
以用于输入到解密算法。如图2的实施例中所示,AES-GCM解密引擎202的输出包括未加密对象,其包括明文108、元数据有效性指示符204和元数据104。元数据有效性指示符204用于验证元数据104未改变过,即从解密过程输出的元数据104与输入到加密过程的元数据104匹配。元数据是否已被修改,反映在元数据有效性指示符204的值中。在实施例中,AES-GCM解密引擎202不输出元数据104,而是通过将元数据104包含在对象中或链接到对象来使之是可访问的。
现在转到图3,根据本发明的一个或多个实施例,一般地示出了随机数生成引擎的框图300。如图3所示,随机数密钥304和明文108被输入到AES-CMAC加密引擎302,并且生成用于明文108的随机数106。AES-CMAC加密引擎302可在例如位于图9的计算机901上的处理器905或位于图7的云计算节点10上的处理器上执行。如前所述,随机数生成引擎的实施例不限于如图3所示的AES-CMAC,因为可以实施任何生成用于加密和解密明文的特定加密算法所需要的长度的随机数的加密算法。在图3所示的示例性实施例中,可以用AES-CMAC-96加密算法来提供用于对长度96位的明文进行加密的长度96位的随机数。
如先前所描述的,可以将一个(或多个)对象的多个随机数密钥304可以与一个(或多个)对象的DEK 110配对。多个随机数密钥304中的每个被分配给或对应于特定用户。在本发明的一个实施例中,多个随机数密钥304是响应于DEK 110被创建而创建的。根据本发明的一个或多个实施例,随机数密钥304的值都不相同,随机数密钥的值都与DEK 110的值不同。
本文中相对于图1的框图100、图2的框图200、和/或图3的框图300
描述的实施例,可以利用任何合适的逻辑实现;其中,在各种实施例中,如本文中提及的逻辑可以包括任何合适的硬件(例如,处理器、嵌入式控制器、或专用集成电路等)、软件(例如,应用等)、固件,或硬件、软件和固件的任何合适的组合。
现在转到图4,根据本发明的一个或多个实施例总体上示出了对对象进行加密以使得能够识别加密对象的创建者的方法400的流程图。图4中所示的处理的全部或一部分可例如由位于图9的计算机901上的处理器905或位于图7的云计算节点10上的处理器执行。
在框402,加密引擎(诸如图1的AES-GCM加密引擎102)接收包括明文和元数据的未加密对象。接下来,如框404处所示,加密引擎获得用于该对象的DEK和随机数。根据本发明的一个或多个实施例,该随机数是先前由随机数生成器引擎(诸如图3的AES-CMAC加密引擎302)基于该明文和与执行加密的用户相关联的随机数密钥来生成的。根据本发明的一个或多个实施例,用于该对象的随机数密钥与DEK具有不同的值,并且是独立于彼此的内容或值而导出的。
在本发明的示范性实施例中,响应于检测到DEK已经被创建并链接到对象,创建多个随机数密钥并将其链接到不同的用户和该对象。在一些实施例中,响应于对象被创建,生成该对象的随机数一次,并且将随机数链接到该对象,直到该对象被删除或该对象中的明文被修改为止。接下来,如框406所示,通过加密引擎对该对象进行加密。所述加密可以包括基于明文、元数据、DEK和随机数生成密文和元数据认证标签(包括元数据的签名)。在框408处,将密文和元数据认证标签链接到该对象或包括在该对象中。
图4的处理流程图并非旨在指示方法200的操作将以任何特定次序执行,
或方法200的所有操作将被包括在每种情况中。此外,方法200可以包括任何合适数量的附加操作。
现转向图5,根据本发明的一个或多个实施例总体上示出了用于加密、传输和解密对象的分布式系统环境500。如图5所示,第一位置处的处理器504和第二位置处的处理器506经由有线或无线网络502进行通信。在其他实施例中,可以经由直接连接进行通信。如图5所示,两个处理器均可访问
DEK(DEK 1508),第一处理器可访问对象的随机数密钥(NK1 510)。
如图5所示,第一位置504处的处理器创建包括密文、元数据、标签和随机数的加密对象,512。随机数可以如以上关于图3所描述的那样来创建。第一位置504处的处理器将包括密文、元数据、标签和随机数的加密对象传输到第二位置506处的处理器,514。第二位置506处的处理器接收加密对象,516;然后,用作为该对象的一部分传输的随机数和DEK1 508来打开该对象并对其进行解密,以创建解密对象,518。根据本发明的一个或多个实施例,第一位置504处的处理器和/或第二位置506处的处理器由位于图7的云计算节点10上的一个或多个处理器来实现。
现在转向图6,根据本发明的一个或多个实施例一般地示出用于识别加密对象的创建者的方法600的流程图。图6中所示的处理的全部或一部分可例如由位于图9的计算机901上的处理器905或位于图7的云计算节点10上的处理器执行。
如在框602处所示,方法600包括接收先前已经通过至少部分地基于DEK和随机数对对象进行加密而生成的加密对象。接下来,如框604处所示,方法600包括获得与DEK对应的多个随机数密钥,其中,多个随机数密钥中的每个对应于特定用户。方法600还包括:获取与加密对象对应的未加密对象的副本,如框606所示。在一个实施例中,与加密对象相对应的未加密对象通过对加密对象进行解密来获得。
根据本发明的一个或多个实施例,发送包括DEK、密文、元数据认证标签、对象、元数据和随机数的加密对象,作为解密引擎(诸如图2的AES-GCM解密引擎202)的输入。根据本发明的一个或多个实施例,元数据和随机数两者都以明文(以未加密的形式)来发送。解密引擎输出包括明文、元数据和元数据有效性指示符(诸如图2的元数据有效性指示符204)的未加密对象。
接下来,方法600包括创建多个随机数,多个随机数的每个都是用多个随机数密钥中的其中之一创建的,如方框608所示。然后,方法600前进到方框610,识别多个随机数中与先前用于创建加密对象的随机数相匹配的一个随机数。在方框612处,方法600通过将与用于生成多个随机数中的该个随机数的随机数密钥相关联的特定用户标识为加密对象的创建者而结束。
在示范性实施例中,当数据加密密钥(DEK)不再可用时,可以从原始明文数据和多个随机数密钥来重新计算对象的随机数。结果,可以识别被用于创建随机数的随机数密钥,以及相关联的用户。在示范性实施例中,如果发生了数据泄露,可使对象的数据加密密钥无效,从而防止加密对象的所有副本被访问。然而,可以基于识别用于创建与被泄露的加密对象相关联的随机数的随机数密钥,来确定数据泄露的源。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文给出的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,
诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)
的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且
可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,
并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,
这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图7,描述了说明性云计算环境50。如图所示,云计算环境50
包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图7中所示的计算装置54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/
或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图8,示出了由云计算环境50(图7)提供的一组功能抽象层。应提前理解,图8中所示的组件、层和功能仅旨在是说明性的,本发明的实
施例不限于此。如图所示,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本追踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟教室教学交付93;数据分析处理94;交易处理95;以及数据加密/解密96。
应当理解,本发明的一个或多个实施例能够结合现在已知或以后开发的任何类型的计算环境来实现。
现在转向图9,根据本发明的一个或多个实施例一般地示出用于对对象进行加密以使得能够识别加密对象的创建者的计算机系统。本文中描述的方法可在硬件、软件(例如,固件)或其组合中实现。在本发明的一个或多个示例性实施例中,这里所述的方法在硬件中实现,作为专用或通用数字计算机(例如个人计算机、工作站、小型计算机或大型计算机)的微处理器的一部分。因此,系统900可以包括能够同时运行O/S的多个实例的通用计算机或主机901。
在本发明的一个或多个示例性实施例中,在硬件架构方面,如图9所示,
计算机901包括一个或多个处理器905、耦接至存储器控制器915的存储器910、以及经由本地输入/输出控制器935通信地耦接的一个或多个输入和/或输出(I/O)设备940、945(或外围设备)。输入/输出控制器935可为(例如但不限于)如本领域中已知的一个或多个总线或其他有线或无线连接,。输入/输出控制器935可具有用以实现通信的诸如控制器、缓冲器(高速缓冲存储器)、驱动器、中继器和接收器之类的其他元件(为简单起见而省略)。进一步,本地接口可以包括地址、控制和/或数据连接,用以实现上述组件之间的适当通信。输入/输出控制器935可包含被配置得用于访问输出设备940和945的多个子通道。子通道可以包括光纤通信端口。
处理器905是用于执行软件、特别是存储在存储设备920(诸如高速缓存存储器或存储器910)中的软件的硬件设备。处理器905可以是任何定制或商业可获得的处理器、中央处理单元(CPU)、与计算机901相关联的若干处理器之中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器、或通常用于执行指令的任何设备。
存储器910可以包括易失性存储器元件(例如,随机存取存储器(RAM,
诸如DRAM、SRAM、SDRAM等))和非易失性存储器元件(例如,ROM、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁带、致密盘只读存储器(CD-ROM)、盘、磁盘、盒式磁带、盒式磁带等)中的任何一个或其组合。此外,存储器910可包含电子、磁性、光学和/或其他类型的存储介质。注意,存储器910可具有分布式架构,其中不同组件彼此远离定位,但可由处理器905存取。
存储器910中的指令可包括一个或多个单独的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。在图9的示例中,存储器910中的指令是适合的操作系统(OS)911。操作系统911实质上控制其他计算机程序的执行并且提供调度、输入-输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。
根据本发明的一个或多个实施例,存储器910可以包括多个逻辑分区(LPAR),每个逻辑分区运行操作系统的实例。LPAR可以由管理程序(hypervisor)来管理,管理程序可以是存储在存储器910中并且由处理器905执行的程序。
在本发明的一个或多个示范性实施例中,常规键盘950和鼠标955可耦接到输入/输出控制器935。诸如I/O设备940、945之类的其他输出设备可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,I/O设备940、945可以进一步包括传送输入和输出两者的设备,例如但不限于,网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统、或网络)、射频(RF)或其他收发器、电话接口、网桥、路由器等。系统900可进一步包含耦接到显示器930的显示器控制器925。
在本发明的一个或多个示例性实施例中,系统900可以进一步包括用于耦接到网络965的网络接口960。网络965可以是用于经由宽带连接在计算机901与任何外部服务器、客户端等之间通信的基于IP的网络。网络965在计算机901与外部系统之间发送和接收数据。在示例性实施例中,网络965
可以是由服务提供商管理的管理IP网络。网络965可例如使用无线协议和技术,例如WiFi、WiMax等,以无线方式来实现。网络965还可为分组交换网络,例如局域网、广域网、城域网、互联网网络或其他类似类型的网络环境。网络965可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个域网(PAN)、虚拟专用网(VPN)、内联网或其他合适的网络系统,并且
包括用于接收和发射信号的设备。
如果计算机901是PC、工作站、智能设备等,则存储器910中的指令还可以包括基本输入输出系统(BIOS)(为简单起见而省略)。BIOS是在启动时初始化和测试硬件、启动OS911和支持硬件设备之间的数据传送的基本软件例程的集合。BIOS存储在ROM中,使得当计算机901被激活时可以执行BIOS。
当计算机901运行时,处理器905被配置为执行存储在存储器910内的指令,将数据传送至存储器910和从存储器910传送数据,并且通常根据指令来控制计算机901的操作。根据本发明的一个或多个实施例,计算机901
是图7的云计算节点10的示例。
本文参考相关附图描述了本发明的各种实施例。在不脱离本发明的范围的情况下,可设计本发明的替代实施例。在描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有规定,否则这些连接和/或位置关系可以是直接或间接的,在此方面本发明无意限制。因此,实体的耦接可以指直接的或间接的耦接,并且实体之间的位置关系可以是直接的或间接的位置关系。此外,本文描述的各种任务和过程步骤可以并入具有本文未详细描述的附加步骤或功能的更全面的程序或过程中。
本文描述的一种或多种方法可以用任何以下技术或以下技术的组合来实现,每个技术都是本领域公知的:具有用于对数据信号实现逻辑功能的逻辑门的分立逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
为了简洁起见,涉及制造和使用本发明的方面的常规技术可以或可以不在本文中详细描述。具体地,用于实现本文所描述的不同技术特征的计算系统和特定计算机程序的各个方面是众所周知的。因而,为了简洁起见,许多常规实施细节在本文中仅简要提到或完全省略,而不提供众所周知的系统和/或过程细节。
在一些实施例中,各种功能或动作可以在给定位置处发生和/或与一个或多个装置或系统的操作结合发生。在一些实施例中,可以在第一设备或位置处执行给定功能或动作的一部分,并且可以在一个或多个附加设备或位置处执行该功能或动作的剩余部分。
本文中使用的术语仅用于描述具体实施例的目的,而并非旨在进行限制。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和
“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括”和/或“包含”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行所述功能的任何结构、材料或动作。本公开已出于说明和描述的目的而呈现,但并不旨在是详尽的或限于所公开的形式。在不背离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述这些实施例以便最好地解释本披露的原理和实际应用,并且使本领域的其他普通技术人员能够针对具有适合于所预期的特定用途的不同修改的不同实施例来理解本披露。
此处所描绘的图是说明性的。在不背离本公开的精神的情况下,可对本文所述的示图或步骤(或操作)进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。而且,术语“耦接”描述了在两个元件之间具有信号路径,并且不暗示元件之间的直接连接,其间没有中间元件/连接。所有这些变体被认为是本公开的一部分。
以下定义和缩写将用于解释权利要求书和说明书。如在此使用的,术语
“包括”、“包含”、“有”、“具有”、“含”或“含有”或其任何其他变体旨在涵盖非排他性的包括。例如,包含一系列要素的组合物、混合物、工艺、方法、物品或设备不必仅限于那些要素,而是可以包括未明确列出的或这种组合物、混合物、工艺、方法、物品或设备固有的其他要素。
此外,术语“示例性的”在本文中用于表示“用作实例、例子或例证”。本文中描述为“示例性”的任何实施例或设计不一定被解释为优于或优于其他实施方式或设计。术语“至少一个”和“一个或多个”应理解为包括大于或等于一的任何整数,即一个、两个、三个、四个等。术语“多个”应理解为包括大于或等于二的任何整数,即两个、三个、四个、五个等。术语“连接”可包括间接“连接”和直接“连接”。
术语“约”、“基本上”、“大致”及其变体旨在包括与基于提交申请时可用的设备的特定量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%
或5%、或2%的范围。
本发明可以是任何可能的技术细节集成水平的系统、方法、和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:
便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过导线发射的电信号。
本文所述的计算机可读程序指令,可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(如Java、Smalltalk、C++等)和常规的过程编程语言(如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各个方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以通过计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图的框中规定的功能/动作的方面的指令的制造品。
也可将计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的呈现了本发明的各种实施例的描述,但并不旨在是详尽的或者限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。本文使用的术语被选择来最好地解释实施例的原理、实际应用或优于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文描述的实施例。
Claims (17)
1.一种用于对对象进行加密以使得能够识别加密对象的创建者的方法,包括:
由处理器接收包括明文和描述明文的元数据的未加密对象;
由处理器响应于来自用户的请求而获得用于未加密对象的数据加密密钥DEK和随机数密钥,随机数密钥对用户是唯一的,其中所述DEK与多个随机数密钥对应,并且其中多个随机数密钥中的每个对应于特定用户;
由处理器对未加密对象进行加密,所述加密包括:
至少部分基于明文和随机数密钥生成随机数;
生成密文和包括元数据的签名的元数据认证标签,所述生成至少部分地基于明文、元数据、DEK和随机数;
创建包括密文、元数据和元数据认证标签的加密对象;
其中,随机数被生成一次,并且,响应于加密对象被创建,将随机数通过加密对象中指向随机数的指针而链接到加密对象或者通过在加密对象中包括随机数而链接到加密对象。
2.根据权利要求1所述的方法,其中,所述生成随机数包括执行将明文和随机数密钥作为输入并输出随机数的随机数加密算法。
3.根据权利要求2所述的方法,其中,随机数加密算法是具有基于密码的消息认证码的高级加密标准AES-CMAC加密算法。
4.根据权利要求1所述的方法,其中,多个随机数密钥对应于DEK,并且,随机数密钥包括在所述多个随机数密钥中。
5.根据权利要求1所述的方法,其中,所述对未加密对象进行加密是使用具有伽罗瓦/计数器模式的高级加密标准AES-GCM加密算法来执行的。
6.根据权利要求1所述的方法,进一步包括:
由处理器接收第二加密对象,第二加密对象先前已经通过至少部分地基于DEK和第二随机数对第二对象进行加密而生成;
获得与DEK对应的多个随机数密钥,其中,所述多个随机数密钥的每个对应于特定用户;
获取对应于第二加密对象的第二未加密对象的副本;
创建多个随机数,所述多个随机数的每个是用所述多个随机数密钥之一来创建的;
确定所述多个随机数中的一个随机数与第二随机数匹配,将与用于生成所述多个随机数中的该个随机数的随机数密钥相关联的特定用户标识为第二加密对象的创建者。
7.根据权利要求6所述的方法,其中,获得第二未加密对象的副本包括使用DEK和第二随机数来对第二加密对象进行解密。
8.一种用于对对象进行加密以使得能够识别加密对象的创建者的系统,包括:
一个或多个处理器,用于执行计算机可读指令,所述计算机可读指令控制所述一个或多个处理器执行包括以下各项的操作:
接收包括明文和描述明文的元数据的未加密对象;
响应于来自用户的请求,获得用于未加密对象的数据加密密钥DEK和随机数密钥,随机数密钥对用户是唯一的,其中所述DEK与多个随机数密钥对应,并且其中多个随机数密钥中的每个对应于特定用户;
对未加密对象进行加密,所述加密包括:
至少部分基于明文和随机数密钥生成随机数;
生成密文和包括元数据的签名的元数据认证标签,所述生成至少部分地基于明文、元数据、DEK和随机数;
创建包括密文、元数据和元数据认证标签的加密对象;
其中,随机数被生成一次,并且,响应于加密对象被创建,将随机数通过加密对象中指向随机数的指针而链接到加密对象或者通过在加密对象中包括随机数而链接到加密对象。
9.根据权利要求8所述的系统,其中,所述生成随机数包括执行将明文和随机数密钥作为输入并输出随机数的随机数加密算法。
10.根据权利要求9所述的系统,其中,随机数加密算法是具有基于密码的消息认证码的高级加密标准AES-CMAC加密算法。
11.根据权利要求8所述的系统,其中,多个随机数密钥对应于DEK,并且,随机数密钥包括在所述多个随机数密钥中。
12.根据权利要求8所述的系统,其中,所述对未加密对象进行加密是使用具有伽罗瓦/计数器模式的高级加密标准AES-GCM加密算法来执行的。
13.根据权利要求8所述的系统,其中,所述操作进一步包括:
由处理器接收第二加密对象,第二加密对象先前已经通过至少部分地基于DEK和第二随机数对第二对象进行加密而生成;
获得与DEK对应的多个随机数密钥,其中,所述多个随机数密钥的每个对应于特定用户;
获取对应于第二加密对象的第二未加密对象的副本;
创建多个随机数,所述多个随机数的每个是用所述多个随机数密钥之一来创建的;
确定所述多个随机数中的一个随机数与第二随机数匹配,将与用于生成所述多个随机数中的该个随机数的随机数密钥相关联的特定用户标识为第二加密对象的创建者。
14.根据权利要求13所述的系统,其中,获得第二未加密对象的副本包括使用DEK和第二随机数对第二加密对象进行解密。
15.一种计算机程序产品,包括具有随其体现的程序指令的计算机可读存储介质,所述程序指令可由处理器执行以使处理器执行包括以下各项的操作:
接收包括明文和描述明文的元数据的未加密对象;
响应于来自用户的请求,获得用于未加密对象的数据加密密钥DEK和随机数密钥,随机数密钥对用户是唯一的,其中所述DEK与多个随机数密钥对应,并且其中多个随机数密钥中的每个对应于特定用户;
对未加密对象进行加密,所述加密包括:
至少部分基于明文和随机数密钥生成随机数;
生成密文和包括元数据的签名的元数据认证标签,所述生成至少部分地基于明文、元数据、DEK和随机数;
创建包括密文、元数据和元数据认证标签的加密对象;
其中,随机数被生成一次,并且,响应于加密对象被创建,将随机数通过加密对象中指向随机数的指针而链接到加密对象或者通过在加密对象中包括随机数而链接到加密对象。
16.根据权利要求15所述的计算机程序产品,其中,所述生成随机数包括执行将明文和随机数密钥作为输入并输出随机数的随机数加密算法。
17.根据权利要求16所述的计算机程序产品,其中,随机数加密算法是具有基于密码的消息认证码的高级加密标准AES-CMAC加密算法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/877,523 US11368287B2 (en) | 2020-05-19 | 2020-05-19 | Identification of a creator of an encrypted object |
US16/877,523 | 2020-05-19 | ||
PCT/CN2021/082667 WO2021232934A1 (en) | 2020-05-19 | 2021-03-24 | Identification of a creator of an encrypted object |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115668860A CN115668860A (zh) | 2023-01-31 |
CN115668860B true CN115668860B (zh) | 2024-05-28 |
Family
ID=78608025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180035740.7A Active CN115668860B (zh) | 2020-05-19 | 2021-03-24 | 用于识别加密对象的创建者的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11368287B2 (zh) |
JP (1) | JP7569136B2 (zh) |
CN (1) | CN115668860B (zh) |
AU (1) | AU2021274544B2 (zh) |
DE (1) | DE112021001764T5 (zh) |
GB (1) | GB2610768A (zh) |
WO (1) | WO2021232934A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12074857B2 (en) * | 2021-03-26 | 2024-08-27 | Microsoft Technology Licensing, Llc | Partial authentication tag aggregation to support interleaved encryption and authentication operations on multiple data records |
US12047488B2 (en) | 2021-03-26 | 2024-07-23 | Microsoft Technology Licensing, Llc | Tag aggregation and correction to support interleaved encryption and authentication operations on multiple data records |
CN115225352B (zh) * | 2022-06-30 | 2024-04-23 | 厦门职行力信息科技有限公司 | 混合加密方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205123A (zh) * | 2012-03-26 | 2014-12-10 | 赛门铁克公司 | 用于安全的第三方数据存储的系统和方法 |
CN105960775A (zh) * | 2014-03-03 | 2016-09-21 | 英特尔公司 | 用于迁移密钥的方法和装置 |
US9806887B1 (en) * | 2014-09-23 | 2017-10-31 | Amazon Technologies, Inc. | Authenticating nonces prior to encrypting and decrypting cryptographic keys |
CN110535868A (zh) * | 2019-09-05 | 2019-12-03 | 山东浪潮商用系统有限公司 | 基于混合加密算法的数据传输方法及系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006020426A2 (en) | 2004-07-29 | 2006-02-23 | Infoassure, Inc. | Cryptographic key construct |
US8356177B2 (en) | 2008-12-30 | 2013-01-15 | Cisco Technology, Inc. | Key transport in authentication or cryptography |
EP2507708B1 (en) | 2009-12-04 | 2019-03-27 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US20130042112A1 (en) | 2011-02-12 | 2013-02-14 | CertiVox Ltd. | Use of non-interactive identity based key agreement derived secret keys with authenticated encryption |
US10015144B2 (en) | 2013-01-31 | 2018-07-03 | Schedule1 Inc. | Method and system for protecting data using data passports |
US9208335B2 (en) | 2013-09-17 | 2015-12-08 | Auburn University | Space-time separated and jointly evolving relationship-based network access and data protection system |
US9819493B2 (en) | 2014-02-26 | 2017-11-14 | Unisys Corporation | Enhanced security for media encryption |
US9519757B2 (en) | 2014-02-26 | 2016-12-13 | Unisys Corporation | AES-GCM based enhanced security setup for media encryption |
US9552493B2 (en) | 2015-02-03 | 2017-01-24 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
DE102015209709A1 (de) | 2015-05-27 | 2016-12-01 | Continental Teves Ag & Co. Ohg | Verfahren zur Sicherstellung der Informationssicherheit von über einen Datenbus übertragenen Daten sowie Datenbussystem |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US20170250796A1 (en) | 2016-02-18 | 2017-08-31 | Gideon Samid | Trans Vernam Cryptography: Round One |
AU2017225932C1 (en) * | 2016-02-29 | 2021-06-24 | Securekey Technologies Inc. | Systems and methods for distributed identity verification |
JP2018006852A (ja) | 2016-06-28 | 2018-01-11 | 富士通株式会社 | 情報処理装置、情報処理システム、端末、判定装置、処理プログラム、及び情報処理方法 |
CN109643285B (zh) | 2016-09-15 | 2023-12-08 | 美商纳兹控股有限责任公司 | 加密的用户数据传输及储存 |
US10484352B2 (en) | 2017-03-31 | 2019-11-19 | Microsoft Technology Licensing, Llc | Data operations using a proxy encryption key |
US10862670B2 (en) | 2018-05-18 | 2020-12-08 | Infineon Technologies Ag | Automotive nonce-misuse-resistant authenticated encryption |
US11386017B2 (en) | 2018-06-20 | 2022-07-12 | Intel Corporation | Technologies for secure authentication and programming of accelerator devices |
US11374910B2 (en) | 2019-03-13 | 2022-06-28 | Springcoin, Inc. | Method and apparatus for effecting a data-based activity |
-
2020
- 2020-05-19 US US16/877,523 patent/US11368287B2/en active Active
-
2021
- 2021-03-24 DE DE112021001764.0T patent/DE112021001764T5/de active Pending
- 2021-03-24 JP JP2022569571A patent/JP7569136B2/ja active Active
- 2021-03-24 WO PCT/CN2021/082667 patent/WO2021232934A1/en active Application Filing
- 2021-03-24 GB GB2218626.6A patent/GB2610768A/en active Pending
- 2021-03-24 AU AU2021274544A patent/AU2021274544B2/en active Active
- 2021-03-24 CN CN202180035740.7A patent/CN115668860B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205123A (zh) * | 2012-03-26 | 2014-12-10 | 赛门铁克公司 | 用于安全的第三方数据存储的系统和方法 |
CN105960775A (zh) * | 2014-03-03 | 2016-09-21 | 英特尔公司 | 用于迁移密钥的方法和装置 |
US9806887B1 (en) * | 2014-09-23 | 2017-10-31 | Amazon Technologies, Inc. | Authenticating nonces prior to encrypting and decrypting cryptographic keys |
CN110535868A (zh) * | 2019-09-05 | 2019-12-03 | 山东浪潮商用系统有限公司 | 基于混合加密算法的数据传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE112021001764T5 (de) | 2023-01-12 |
GB2610768A (en) | 2023-03-15 |
WO2021232934A1 (en) | 2021-11-25 |
JP2023526793A (ja) | 2023-06-23 |
JP7569136B2 (ja) | 2024-10-17 |
AU2021274544B2 (en) | 2024-05-09 |
AU2021274544A1 (en) | 2022-10-27 |
CN115668860A (zh) | 2023-01-31 |
US20210367761A1 (en) | 2021-11-25 |
GB202218626D0 (en) | 2023-01-25 |
US11368287B2 (en) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12105805B2 (en) | Binding secure keys of secure guests to a hardware security module | |
CN115668860B (zh) | 用于识别加密对象的创建者的方法和系统 | |
JP7546675B2 (ja) | セキュア・ゲストへのセキュリティ・モジュールのセキュア・オブジェクトのバインディング | |
US11265144B2 (en) | Consistent ciphertext creation | |
CN115803740A (zh) | 监视程序保护的密钥 | |
US11455429B2 (en) | Container-based cryptography hardware security module management | |
CN116530050A (zh) | 使用同态加密进行安全计算资源部署 | |
JP2022523770A (ja) | セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール | |
CN116635847A (zh) | 实现弹性确定性加密 | |
CN114595466A (zh) | 实现对经加密的数据的机会认证 | |
CN114595467A (zh) | 针对数据中心对象的多阶段保护 | |
JP2023542527A (ja) | ヘテロジニアス暗号化を通したソフトウェア・アクセス | |
AU2021306830B2 (en) | Distributing encrypted data objects | |
CN117940900A (zh) | 存储安全虚拟机的诊断状态 | |
CN116888597A (zh) | 使用锁定指纹的多密钥安全去重 | |
US11645092B1 (en) | Building and deploying an application | |
US11562080B2 (en) | Secure ingress and egress of data fields through legacy computer systems | |
CN116158055B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |