CN116746114A - 安全数据移动 - Google Patents

安全数据移动 Download PDF

Info

Publication number
CN116746114A
CN116746114A CN202180088894.2A CN202180088894A CN116746114A CN 116746114 A CN116746114 A CN 116746114A CN 202180088894 A CN202180088894 A CN 202180088894A CN 116746114 A CN116746114 A CN 116746114A
Authority
CN
China
Prior art keywords
key
encrypted
data
transcoder
destination node
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
CN202180088894.2A
Other languages
English (en)
Inventor
S·赫茨勒
G·亨特
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116746114A publication Critical patent/CN116746114A/zh
Pending legal-status Critical Current

Links

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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Abstract

一种计算机实现的方法,包括:由转码器接收第二加密数据。第二加密数据是已用第一密钥加密以创建第一加密数据,第一加密数据然后用第二密钥加密以创建第二加密数据的数据。该方法包括接收第二密钥并使用第二密钥来解密第二加密数据以获得第一加密数据。该方法包括使用第三密钥对第一加密数据进行加密以创建第三加密数据,以及向目的地节点发送第三加密数据。一种计算机实现的方法,包括:由转码器接收第二经加密的密钥。第二经加密的密钥是已用第一密钥加密以创建第一经加密的密钥,第一经加密的密钥然后用第二密钥加密以创建第二经加密的密钥的密钥。

Description

安全数据移动
背景技术
本发明涉及使用存储系统的数据移动,并且更具体地,本发明涉及用于云存储系统和网络中的数据移动的安全转码器。
期望在各种计算机节点之间安全地共享数据。安全数据传送对于在所存储的数据附近提供计算功能尤其有益。例如,每个节点可以具有特定的计算功能(例如,数据库,推理引擎等)。在现有技术方法中通常使用访问控制来限制数据共享。访问控制并非万无一失,并且可能导致数据泄漏。例如,权限可能被升级,控制可能被错误配置等。
在其它现有技术方法中,源节点加密所存储的数据。在另一种方法中,源节点可以解密数据并通过安全链路发送数据以用于共享。在另一种方法中,源节点将解密数据,并且源节点可以与目的地节点共享源节点的解密密钥。在这些应用中,存在许多数据泄漏的机会。对于一些应用,同态加密可用于提供对数据的安全访问,但是同态加密限于这样的情况,即,允许目的地节点对数据执行计算而不访问数据的明文。同态加密的效用受到其缓慢性能的限制。
这些不同的现有技术方法往往需要目的地节点中的高度信任。此外,这些传统方法缺乏功能替换的灵活性。在本领域中仍然需要一种安全地共享数据并允许操作(例如,诸如在存储器附近计算),同时为共享数据提供高度安全性的方法,包括终止共享的能力,尤其是在目的地节点发生故障的情况下。
发明内容
根据一个方面,一种计算机实现的方法,包括由转码器接收第二加密数据。第二加密数据是已用第一密钥加密以创建第一加密数据,第一加密数据然后用第二密钥加密以创建第二加密数据的数据。该方法包括由转码器接收第二密钥以及由转码器使用第二密钥来解密第二加密数据以获得第一加密数据。该方法还包括由转码器使用第三密钥来加密第一加密数据以创建第三加密数据,以及由转码器向目的地节点第三加密数据。计算机实现的方法提供了使目的地节点能够访问由源节点存储的数据并解密数据的好处,只要转码器允许目的地节点这样做。根据实施例,计算机实现的方法可以包括由转码器向目的地节点发送第三密钥。目的地节点使用第三密钥来解密第三加密数据以获得第一加密数据。目的地节点使用第一密钥来解密第一加密数据以获得数据。该实施例有利地给予目的地节点对目的地节点可解密的双重加密数据的访问,同时防止转码器从不访问第一密钥时的数据泄漏。
根据实施例,计算机实现的方法可以包括由转码器利用用于结束源节点和目的地节点之间的数据共享的伪密钥替换第三密钥。该实施例有利地限制了目的地节点对所存储的数据的访问,即使目的地节点保持其自己的第三密钥的副本。
根据另一方面,一种系统,包括处理器以及与处理器集成,由处理器可执行,或者与处理器集成并且该处理器可执行的逻辑。该逻辑可操作以执行前述方法。
根据另一方面,一种计算机程序产品,包括一个或多个计算机可读存储介质和共同存储在该一个或多个计算机可读存储介质上的程序指令。程序指令包括可操作以执行前述方法的程序指令。
根据一个方面,一种计算机实现的方法包括由转码器接收第二经加密的密钥。第二经加密的密钥是已用第一密钥加密以创建第一经加密的密钥,第一经加密的密钥然后用第二密钥加密以创建第二经加密的密钥的密钥。该方法包括由转码器接收第二密钥和由转码器使用第二密钥来解密第二经加密的密钥以获得第一经加密的密钥。该方法还包括由转码器使用第三密钥来加密第一经加密的密钥以创建第三经加密的密钥,以及由转码器向目的地节点发送第三经加密的密钥。该方面提高了转码的效率,其中转码密钥可以比转码相对较长的数据块更有效。
根据实施例,一种计算机实现的方法,可以包括由转码器将第三密钥发送到目的地节点。目的地节点使用第三密钥来解密第三经加密的密钥以获得第一经加密的密钥。目的地节点使用第一密钥来解密第一经加密的密钥以获得该密钥。该实施例有利地给予目的地节点对目的地节点可以解密的双重加密数据的访问,同时防止转码器从不访问第一密钥时的数据泄漏。
根据实施例,一种计算机实现的方法,可以包括目的地节点使用密钥来解密来自源节点的数据。该实施例可以有利地绕过用于相对较长的数据块的双重加密过程,同时提供双重加密的安全性。
根据另一方面,一种计算机程序产品,包括一个或多个计算机可读存储介质和共同存储在所述一个或多个计算机可读存储介质上的程序指令。程序指令包括可操作以执行前述方法的程序指令。
从以下具体实施方式,本发明的其它方面和方法将变得显而易见,当结合附图时,该具体实施方式通过示例的方式示出了本发明的原理。
附图说明
现在将仅通过示例的方式并参考以下附图来描述本发明的优选实施例:
图1描绘了根据本发明一个实施例的云计算环境。
图2描述了根据本发明一个实施例的抽象模型层。
图3是根据本发明的一个实施例的高层级架构的示图。
图4是根据本发明的一个实施例的高层级架构的示图。
图5A-图5D是根据本发明的一个实施例的高层级架构的示图。
图6是根据本发明的一个实施例的方法的流程图。
图7是根据本发明的一个实施例的方法的流程图。
具体实施方式
以下描述是为了说明本发明的一般原理,并且不意味着限制这里要求的发明概念。此外,在各种可能的组合和排列中,这里描述的特定特征可以与其它描述的特征结合使用。
除非本文中另外具体定义,否则所有术语将被给予其最广泛的可能解释,包括说明书中暗示的含义以及本领域技术人员理解的含义和/或如字典,论文等中定义的含义。
还必须注意,如在说明书和所附权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非另有说明。还应当理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
以下描述公开了在源节点和目的地节点之间共享对所存储的数据的访问的若干实施例,使用转码器向目的地节点提供对数据的访问,而不访问用于解密所存储的数据的源机密密钥。
在一个通用实施例中,一种计算机实现的方法,包括由转码器接收第二加密数据。第二加密数据是已用第一密钥加密以创建第一加密数据,第一加密数据然后用第二密钥加密以创建第二加密数据的数据。该方法包括由转码器接收第二密钥和由转码器使用第二密钥来解密第二加密数据以获得第一加密数据。该方法还包括由转码器使用第三密钥来加密第一加密数据以创建第三加密数据,以及由转码器向目的地节点发送第三加密数据。
在另一通用实施例中,一种系统,包括处理器以及与处理器集成,由处理器可执行,或者与处理器集成并且由处理器可执行的逻辑。该逻辑被配置为执行前述方法。
在另一通用实施例中,一种计算机程序产品,包括一个或多个计算机可读存储介质和共同存储在该一个或多个计算机可读存储介质上的程序指令。程序指令包括执行上述方法的程序指令。
在一个通用实施例中,一种计算机实现的方法包括由转码器接收第二经加密的密钥。第二经加密的密钥是已用第一密钥加密以创建第一经加密的密钥,第一经加密的密钥然后用第二密钥加密以创建第二经加密的密钥的密钥。该方法包括由转码器接收第二密钥和由转码器使用第二密钥来解密第二经加密的密钥以获得第一经加密的密钥。该方法还包括由转码器使用第三密钥来加密第一经加密的密钥以创建第三经加密的密钥,以及由转码器向目的地节点发送第三经加密的密钥。
在另一通用实施例中,一种计算机程序产品,包括一个或多个计算机可读存储介质和共同存储在该一个或多个计算机可读存储介质上的程序指令。程序指令包括执行上述方法的程序指令。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务交付模型,用于实现对可配置计算资源的共享池的便捷、按需网络访问(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务),其可以以最小的管理努力或与服务提供商的交互来快速地供应和释放。该云模型可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特点如下:
按需自助服务:云消费者可以根据需要自动地、单方面地提供计算能力,例如服务器时间和网络存储,而不需要与服务提供商进行人工交互。
广泛网络访问:能力在网络上是可用的,并且通过促进异构薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:汇集提供者的计算资源以使用多租户模型服务多个消费者,其中根据需求动态分配和重新分配不同的物理和虚拟资源。存在位置独立的意义,因为消费者通常不具有对所提供的资源的确切位置的控制或知识,而是能够指定更高级抽象(例如,国家,州或数据中心)的位置。
快速弹性:在一些情况下,可以自动地、快速和弹性地提供能力,以快速缩小和快速释放以快速缩小。对于消费者,可用于供应的能力通常表现为无限的,并且可以在任何时间以任何数量购买。
计量服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户帐户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监测、控制和报告资源使用,为所使用的服务的提供者和消费者提供透明度。
服务模型如下:
软件作为服务(SAAS):提供给消费者的能力是使用运行在云基础设施上的提供者的应用。可以通过诸如web浏览器(例如,基于web的电子邮件)的薄客户端接口从各种客户端设备访问应用。消费者不管理或控制底层云基础架构,包括网络、服务器、操作系统、存储器或甚至单独的应用能力,可能的例外是有限的、用户特定的应用配置设置。
服务平台(paas):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,所述应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络,服务器,操作系统或存储装置的底层云基础设施,但是具有对所部署的应用和可能的应用托管环境配置的控制。
作为服务(IaaS)的基础设施:提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述任意软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但是具有对操作系统、存储、部署的应用的控制,以及对所选择的联网组件(例如,主机防火墙)的可能有限的控制。
部署模型如下:
私人云:云基础设施仅针对组织被操作。它可以由组织或第三方管理,并且可以存在场内部署或场外部署。
社区云:云基础设施由若干组织共享并支持具有共享关注(例如,任务、安全要求、策略和合规考虑)的特定社区。它可以由组织或第三方管理,并且可以存在场内部署或场外部署。
公共云:云基础设施可用于普通公众或大型工业团体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,这些云保持为唯一的实体,但是通过实现数据和应用可移植性(例如,用于云之间的负载平衡的云突发)的标准化或专有技术绑定在一起。
云计算环境是以无状态、低耦合、模块化和语义互操作性为焦点的面向服务。云计算的核心是包括互连节点的网络的基础设施。
现在参考图1,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者所使用的本地计算设备(例如,个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N)可以与这些云计算节点10通信。节点10可以彼此通信。它们可以在一个或多个网络中被物理地或虚拟地分组(未示出),该一个或多个网络诸如上文所述的私有云、社区云、公共云或混合云、或者其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应理解,图1所示的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应当预先理解,图2中所示的组件、层和功能仅用于说明,本发明的实施例不限于此。如图所示,提供了以下层和对应的功能:
硬件和软件层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。
本发明的各种实施例包括在源节点和目的地节点之间共享对存储数据的访问,使用安全转码器向目的地节点提供对数据的访问,而不访问用于解密存储数据的源机密密钥。在优选实施例中,存储的数据由源节点用第一源密钥加密,并且加密数据(例如,第一加密数据)进一步由源节点用第二源密钥加密以创建双重加密数据(例如,第二加密数据)。第一源密钥与目的地节点共享,第二源密钥与安全转码器共享。转码器提供第三密钥并与目的地节点共享第三密钥。转码器使用第二密钥来解密双重加密数据,并且在第三密钥中重新加密现在单独加密的数据,以便使用第三密钥创建双重加密数据(例如,第三加密数据)。转码器与目的地节点共享第三密钥。目的地节点经由转码器访问双重加密数据(例如,用第一密钥加密并进一步用第三密钥来加密)。双重加密数据被存储在针对持久新数据的数据存储库中。
有利地,本发明的至少一些实施例使目的地节点能够访问和解密数据,只要转码器允许目的地节点这样做(例如,根据在源节点和转码器之间建立的共享策略)。此外,一旦共享策略被改变,转码器从不访问明文数据,同时防止目的地节点将来访问所存储的数据。
在其它方法中,源节点使用不同的数据块密钥来加密每个数据块(例如,利用唯一的数据块密钥来加密每个数据块),并且使用本公开的至少一些实施例来加密每个数据块并对每个数据块进行转码。这种每块密钥的方法显着地减少了转码器的加密负载。
与在系统中的节点之间传送数据的相对较慢的公钥加密方法相比,本文中所描述的至少一些实施例可以有利地与导致相对较高性能的对称加密技术一起使用。
图3示出了根据各种配置的高层级架构。架构300可以根据本发明的优选实施例以各种配置在图1-图2以及图4-图7所示的任何环境中实现。当然,在架构300中可以包括比图3中具体描述的元件更多或更少的元件,如本领域技术人员在阅读本说明书后将理解的。
架构300包括高层级架构,该高层级架构包括源节点302、存储装置304和目的地节点306。源节点302包括源节点计算资源308、第一密钥k1 310和第二密钥k2 312。源节点302包括源节点管理器功能314、源节点k1加密/解密功能316和源节点k2加密/解密功能318。在此描述的任何加密/解密功能可以被配置为使用合适的密钥和任何已知的加密技术来加密和/或解密数据,如本领域的普通技术人员在阅读本公开后将理解的。源节点302可以包括多个第一密钥、多个第二密钥、多组第一密钥、多组第二密钥等。
存储装置304可以是存储系统、固态驱动器(SSD)、硬盘、磁带驱动器、存储类型存储器、DRAM、永久存储器或本领域已知的任何类型的存储器或其任何组合。
架构300包括安全转码器320。安全转码器320包括安全转码器管理器功能322和用于第二密钥k2 312的安全密钥存储器324。在至少一些方法中,安全转码器320可以包括密钥生成器326。安全转码器320包括第三密钥k3 328。安全转码器320包括安全转码器k2加密/解密功能330和安全转码器k3加密/解密功能332。
在各种方法中,密钥生成器326生成第三密钥k3 328。在某些方法中,第三密钥k3328可由源节点302生成。在其它方法中,第三密钥k3 328可由目的地节点306生成。在优选实施例中,第三密钥k3 328由密钥生成器326或源节点302生成以避免暴露于弱密钥,密钥再使用等。在其它方法中,如本文所述的任何密钥可由本领域中已知的密钥生成器和/或密钥管理器(未图示)生成和/或管理,如所属领域的技术人员在阅读本发明后将了解。
安全转码器320可以被设计成执行共享操作,每个操作优选地由单独的策略定义。转码器可以具有多个密钥存储器和/或多个安全转码器加密/解密功能。这些附加策略(和相关联的组件)为每个共享策略提供附加的安全性(例如,每个共享策略可以具有单独的、唯一的第三密钥,即使共享策略可以访问相同的数据)。
安全转码器320可以用硬件,软件等或其任何组合来实现。为了实现期望的安全性,安全转码器320保护第二密钥k2 312免受安全转码器320外部的访问,以防止由于数据泄露而削弱或消除安全性。
目的地节点306包括目的地节点计算资源334,用于第一密钥k1310的密钥存储装置336和用于第三密钥k3 328的密钥存储装置338。目的地节点306包括目的地节点管理器功能340。目的地节点306包括目的地节点k1加密/解密功能342和目的地节点k3加密/解密功能344。
参考图3的箭头和/或连接线来描述根据架构300的各个实施例的示例性实现。源节点302将数据存储在存储装置304中。如在本公开中通篇使用的数据可以包括应用数据、元数据、密钥、任何其他类型的信息、或者其任何组合,这对于本领域普通技术人员在阅读本公开后将变得显而易见。如贯穿本公开所使用的,加密可以由加密表示“加密(密钥,数据)”来说明,而解密可以由解密表示“解密(密钥,数据)”来说明。存储由“P”表示的数据单元的源节点302优选地使用源节点k1加密/解密功能316使用第一密钥k1 310将数据P加密为C1=加密(k1,P)。源节点k2加密/解密功能318还使用第二密钥k2 312将结果(C1)加密为C2=加密(k2,C1)。加密数据C2在操作346中被发送到存储装置304。以第一密钥k1 310和第二密钥k2 312的组合对所存储的数据进行加密。在一些方法中,可以在操作348中将不需要用于共享的加密数据直接发送到存储装置304。在各种方法中,存储装置304可以在其上包括加密/解密功能(未示出),以用于执行进一步的加密,以便以本领域普通技术人员在阅读本公开后将变得显而易见的方式来存储数据。
优选地,在共享数据之前,源节点302,存储装置304,目的地节点306和安全转码器320彼此认证以验证彼此的身份。在各种方法中,架构300中的每个组件的身份可根据本领域中已知的协议来认证。在一些方法中,认证可以是在各方之间建立安全通信连接的一部分。在优选实施例中,所有通信链路都是安全的(例如,加密的)。例如,源节点302可以使用共享策略与目的地节点306建立对数据的共享访问。共享策略可以包括策略信息,诸如要共享的数据集,共享的持续时间,要共享的数据量,其它访问权限等,或其任何组合。策略信息可以在操作350中在源节点管理器功能314和安全转码器管理器功能322之间发送(例如,从源节点管理器功能314到安全转码器管理器功能322)。安全转码器管理器功能322可以验证策略信息是正确的并且安全转码器320支持该策略。这样的验证可以包括在操作352与目的地节点管理器功能340通信以确认目的地节点306对策略的支持。响应于每个组件的身份被验证以及策略信息被验证,源节点302可以在操作354中将第二密钥k2 312发送到安全转码器320。安全转码器320在用于第二密钥k2 312的安全密钥存储器324中存储第二密钥k2312的副本。
在优选实施例中,安全转码器320和目的地节点306都不能访问第一密钥k1 310和第二密钥k2 312。在没有这种访问的情况下,安全转码器320和目的地节点306不能解密存储在由源节点302存储的存储装置304中的数据。在一个优选实施例中,用于第二密钥k2312的安全密钥存储器324是易失性的,使得在掉电的情况下,安全转码器320必须重新认证受影响方(反之亦然)以便重新建立共享。在掉电的情况下,安全转码器320还为第三密钥k3328重新认证密钥存储装置338,反之亦然,以便重新建立共享。如上所述,安全转码器320将第二密钥k2 312存储在安全密钥存储器324中用于第二密钥k2 312的持续时间由共享策略确定。响应于如共享策略所指示的共享被终止,安全转码器320以本领域普通技术人员在阅读本公开内容后将变得显而易见的任何方式切碎(例如,删除或破坏)第二密钥k2 312的存储副本。第二密钥k2 312的粉碎有利于第二密钥k2 312的安全密钥存储器324限制所存储的密钥信息对安全转码器k2加密/解密功能330的访问。该撕碎防止了第二密钥k2 312的泄漏。
作为在策略验证之后建立数据共享的一部分,安全转码器320可以使用密钥生成器326生成第三密钥k3 328。在操作356中将第三密钥k3 328发送到目的地节点306。目的地节点306将第三密钥k3 328的副本存储在第三密钥k3 328的密钥存储装置338中。此外,作为在策略验证之后建立数据共享的一部分,在操作358中,源节点302将第一密钥k1 310发送到目的地节点306。目的地节点306将第一密钥k1 310的副本存储在第一密钥k1 310的密钥存储器336中。在优选实施例中,用于第一密钥k1 310的密钥存储器336和用于第三密钥存储器312的密钥存储装置338都是易失性的。在一个优选方法中,一旦共享结束,安全转码器320就删除第三密钥k3 328并停止接受来自目的地节点306的对共享数据的请求。在其它方法中,安全转码器320以本领域普通技术人员在阅读本公开后将变得显而易见的任何方式用伪密钥替换第三密钥k3 328,并且使得来自目的地节点306的对共享数据的任何请求导致没有数据和/或不可用数据(例如,在目的地节点306仅具有第一密钥k1 310并且第三密钥的使用不再在目的地节点306处返回k1加密的数据的情况下不可读)。如果目的地节点306已对共享数据进行了写访问,则虚拟密钥以本领域普通技术人员在阅读本公开内容后将变得显而易见的方式终止所有写访问。
在其它方法中,安全转码器320通知目的地节点306共享已被终止。响应于终止共享,目的地节点306删除所存储的第一密钥k1 310和第三密钥k3 328的副本。共享策略可以以本领域普通技术人员在阅读本公开后将变得显而易见的任何方式终止,诸如通过从源节点302到安全转码器320、存储装置304、目的地节点306等中的任一个或其任何组合的命令。
在示例性实现中,目的地节点306通过在操作360中从安全转码器320请求数据来执行读取操作。目的地节点306不能直接从存储装置304访问共享数据,因为它是使用目的地节点306不可用的第二密钥k2 312加密的。如果共享策略允许读请求,则安全转码器320在操作362从存储装置304读取与读请求相关联的数据。如上所述,与读请求相关联的数据被编码为C2=加密(k2,C1)。在操作364,当C1=解密(k2,C2)时,使用第二密钥k2 312,使用安全转码器k2加密/解密功能330来解密与读取请求相关联的数据。在操作366,使用第三密钥k3 328,使用安全转码器k3加密/解密功能332来加密相关联的数据(现在仅用第一密钥k1 310加密)。在操作366之前的相关数据仍然被加密为C1=加密(k1,P),并且第一密钥k1310不可用于安全转码器320。因此,安全转码器320不能解密由源节点302存储在存储装置304上的数据。安全转码器k3加密/解密功能332使用第三密钥k3 328将相关联的数据加密为C3=加密(k3,C1)(例如,数据用第一密钥k1 310和第三密钥k3 328加密)。在操作360中,加密数据被发送到目的地节点306。目的地节点306可使用目的地节点k3加密/解密功能344使用第三密钥k3 328将数据解密为C1=解密(k3,C3)(例如,现在仅使用第一密钥k1 310加密相关联的数据)。目的地节点306可以使用目的地节点k1加密/解密功能342使用第一密钥k1 310将数据解密为P=解密(k1,C1)(例如,目的地节点306获得对明文数据的访问)。
在优选实施例中,通过根据这里描述的共享策略信息停止操作360中的任何通信,终止使用安全转码器320的目的地节点306和源节点302之间的共享周期。在各种方法中,如果目的地节点306和安全转码器320之间的通信信道保持打开,则目的地节点306和源节点302之间的共享周期通过安全转码器320将第三密钥k3 328和/或第二密钥k2 312切碎而终止。在其它方法中,安全转码器320可以通过用本领域已知类型的伪密钥替换第三密钥k3328和/或第二密钥k2 312来终止共享周期。例如,即使当操作360处的通信错误或由于设计缺陷而保持打开时,切碎或替换第三密钥k3 328和/或第二密钥k2 312也提供附加的安全性。行为不当的目的地节点将不会从安全转码器接收任何可用的数据,其中转码器没有正确的密钥来解密加密数据。本领域的普通技术人员在阅读本公开内容后将明白,安全转码器320可能需要与源节点302和/或目的地节点306重新协商,以便在切碎密钥之后继续或恢复共享时段。这种“密钥轮换”为系统提供了附加的安全特征,而不必重新加密存储在存储器中的所有数据。例如,在常规系统中,如果转码器要丢失密钥,则一种方法包括使存储器中的所有数据都重新加密,这与前述重新协商过程相比可能花费相对较长的时间段。
在存储数据单元P之前,目的地节点306使用目的地节点k1加密/解密功能342使用第一密钥k1 310将数据P加密为C1=加密(k1,P)。目的地节点306还使用目的地节点k3加密/解密功能344使用第三密钥k3 328将结果C1加密为C3=加密(k3,C1)。在操作360中,将对数据(C2)的写请求发送到安全转码器320。如果共享策略允许写请求,则安全转码器320接受该写请求。如上所述,数据被编码为C3=加密(k3,C1)。写数据由安全转码器k3加密/解密功能332使用第三密钥k3 328解密为C1=解密(k3,C3)。在操作366中,写数据被发送到安全转码器k2加密/解密功能330。操作366处的写数据仍被加密为C1=加密(k1,P)。第一密钥k1 310不可用于安全转码器320。因此,安全转码器320不能解密由目的地节点306存储的写数据。安全转码器k2加密/解密功能330还使用第二密钥k2 312将写数据加密为C2=加密(k2,C1)。在操作362中将加密数据(例如,在第一密钥k1 310和第二密钥k2 312中)发送到存储装置304。源节点302可以分别使用源节点k2加密/解密功能318和源节点k1加密/解密功能316,使用适当的密钥将数据解密为C1=解密(k2,C2)和P=解密(k1,C2),鉴于本公开,这对于本领域的普通技术人员是显而易见的。
在一个备选方法中,数据可以由源节点302用第四密钥(未示出)加密,并且第四密钥可以根据上述各种实施例而被加密。因此,第四密钥是要加密的数据。在这种方法中,在对密钥进行转码而不是对数据进行转码的情况下,转码相对更有效。例如,数据块的长度可以是4kB,密钥的长度可以是32B。对这样的密钥进行转码比对数据块进行转码有效大约128倍。在该方法中,数据(例如,加密密钥)可以在操作346中在第四密钥加密之后被发送到存储装置304,从而绕过源节点k1加密/解密功能316和源节点k2加密/解密功能318。当转码时,数据(例如,加密密钥)可以在操作368中被发送到目的地节点,从而绕过安全转码器k2加密/解密函数330和安全转码器k3加密/解密函数。332.
在其它方法中,在加密中可以使用需要与安全转码器320隔离的附加信息。例如,在加密中可以使用初始化向量(IV)。如本领域普通技术人员所理解的,IV可以指与用于数据加密的机密秘钥一起使用并且仅使用一次的任意数字。在第一密钥加密中使用IV避免了将IV暴露给第二密钥加密。根据IV实现,IV信息可用于有利地打破平移对称性,以提供附加的安全性,这对于本领域普通技术人员在阅读本公开后将变得显而易见。例如,在AES-XTS中,IV是破坏地址对称性的地址。在IV基于数据内容的情况下,保持平移对称性。在优选实施例中,IV信息与目的地节点306共享,但是IV信息不与安全转码器320共享。无论IV是否用于第一密钥加密,IV都可用于第二密钥加密,而不会削弱如本文所述的架构的安全性。当安全转码器320需要知道用于第二密钥加密的IV时,用于导出IV的信息可以是在安全转码器320和源节点302之间协商安全连接的一部分,这对于阅读了本公开的本领域普通技术人员来说是显而易见的。
在每块密钥的安全去重复系统中,可以在数据的明文块上计算指纹,并且用块特定密钥对数据块进行加密(例如,用唯一数据块密钥对每个数据块进行加密,诸如上述第四密钥)。在第五密钥(例如,指纹密钥)中加密指纹以防止去复制存储系统能够将特定指纹连接到特定明文。对于根据这里描述的各种实施例的转码,数据块密钥可以是将由源节点用第一密钥和第二密钥加密的数据。用于加密指纹的第一密钥和第二密钥可以不同于用于加密数据块密钥的第一密钥和第二密钥。不同的指纹和块密钥数据集被安全地转码以在目的地节点处使用。通常,在整个本公开中,可以存在用于对数据、密钥、元数据等进行转码的多个第一密钥和多个第二密钥,它们使用安全转码器在源节点和目的地节点之间安全地共享。
在又一方法中,对于安全的去重系统,存在属于密钥组的一组第二密钥,其中密钥组包括第一密钥、指纹密钥和去重密钥。在这种方法中,存储系统可以存储去重数据,使得去重密钥不能对其解密。安全转码器(诸如,被配置为执行以上详细描述的各种实施例中的至少一些的转码器)可以用于将数据从第二密钥之一转码为密钥组的去重密钥或从密钥组的去重密钥转码为第二密钥之一。
在另一个实施例中,密钥组可以包括一组第一密钥而不是公共第一密钥。在该方法中,优选地,对于每个第二密钥和对于去重密钥存在第一密钥,这对于本领域普通技术人员在阅读本公开后将变得显而易见。
图4示出了根据各种配置的高层级架构。架构400可以根据本发明的优选实施例以各种配置在图1-图3和图5A-图7所示的任何环境中实现。当然,在架构400中可以包括比图4中具体描述的元件更多或更少的元件,如本领域技术人员在阅读本说明书后将理解的。
架构400是图3所示的至少一些方面的变体,因此共同特征具有共同编号。架构400包括高层级架构,该高层级架构包括源节点302,存储装置304和目的地节点306。源节点302包括源节点计算资源308,第一密钥k1 310和第二密钥k2 312。源节点302包括源节点管理器功能314,源节点k1加密/解密功能316和源节点k2加密/解密功能318。本领域描述的任何加密/解密功能可以使用相关联的密钥来加密和/或解密数据,如本领域普通技术人员在阅读本公开内容后将理解的。
架构400包括安全转码器320。安全转码器320包括安全转码器管理器功能322和用于第二密钥k2 312的安全密钥存储器324。在至少一些方法中,安全转码器320可以包括密钥生成器326。安全转码器320包括第三密钥k3 328。在各种方法中,密钥生成器326生成第三密钥k3 328。在其它方法中,本文所述的任何密钥可由本领域已知的密钥生成器和/或密钥管理器(未示出)生成和/或管理。安全转码器320包括安全转码器k2加密/解密功能330和安全转码器k3加密/解密功能332。
安全转码器320可以被设计成执行共享操作,每个操作优选地由单独的策略定义。转码器可以具有多个密钥存储器和/或多个安全转码器加密/解密功能。这些附加策略(以及相关联的组件)为每个共享策略提供附加的安全性(例如,每个共享策略可以具有单独的唯一第三密钥,即使共享策略可以访问相同的数据)。
目的地节点306包括目的地节点计算资源334、用于第一密钥k1310的密钥存储装置336和用于第三密钥k3 328的密钥存储装置338。目的地节点306包括目的地节点管理器功能340。目的地节点306包括目的地节点k1加密/解密功能342和目的地节点k3加密/解密功能344。
图4的架构400示出了其中数据未被双重加密(例如,如图3的优选实施例中所示和所述)的系统的示例性实现。这里,源节点302将数据存储在存储装置304上,而不使用第一密钥k1 310对数据进行加密,并且不使用第二密钥k2 312对数据进行加密。安全转码器320不与存储装置304通话。相反,源节点302从存储装置304读取所有数据。源节点302生成第一密钥k1 310和第二密钥k2 312。安全转码器管理器功能322将所有读请求和写请求传递到源节点302的源节点管理器功能314。
对于读请求,源节点k1加密/解密功能316使用第一密钥k1 310加密数据以获得第一加密数据。源节点k2加密/解密功能318使用第二密钥k2 312对加密数据进行加密以获得第二加密数据。第二加密数据在操作350中被发送到安全转码器管理器功能322,并且第二加密数据被转码,如参考图3详细描述的。对于写请求,数据如本文所述被解密并且被明文写回到存储装置304。
在各种方法中,对于希望转换到对所有数据进行双重加密的客户,可以以本领域已知的任何方式将写入请求写入双重加密,其中元数据与块和文件系统一起存储,以指示数据的加密状态。所有新数据被双重保护(例如,双重加密),并且所有“旧”数据在被完全引用之后被双重保护。以此方式,系统可在具有用于达到选定保护等级的文件的后台任务时跟踪文件的状态,参考剩余数据,借此剩余数据变得完全受保护(例如,双重加密)。
在另一实施例中,如果安全转码器320可访问存储装置304(如图3所示),则可以修改安全转码器320以查看文件元数据来确定其加密状态。如果文件是受保护的(例如,双重加密的),则安全转码器320可以直接读取文件(如图3所示),否则安全转码器可以向源节点管理器功能314询问数据。与该实施例相关联的安全性不如上述图3的安全性理想(例如,其中安全转码器320从源节点管理器功能314请求所有数据)。当目的地节点306不能访问所存储的数据时,允许存储装置304上的未加密数据是最安全的。
图5A-图5D示出了根据各种配置的高层级架构。架构500可以根据本发明的优选实施例以各种配置在图1-图3和6图-图7中描述的任何环境中实现。当然,在架构500中可以包括比图5A-图5D中具体描述的更多或更少的元件,如本领域技术人员在阅读本说明书后将理解的。
每个架构500包括源节点302(如参照图3-图4所述),存储装置304(如参照图3-图4所述),目的地节点306(如参照图3-图4所述)和安全转码器320(如参照图3-图4所述)。如图所示,安全转码器320可以位于系统中的任何位置。例如,如图5A所示,安全转码器320可以是源节点302的一部分。该配置可在中央处理单元(CPU)复合体、IO集线器、桥接器、CPU本身、网络接口卡(例如,智能NIC)等中的任一者中。
如图5B所示,安全转码器320可以位于耦合到源节点302,存储装置304和目的地节点306的存储网络中。该配置可以是交换机、边缘应用、网关等中的任一者。
如图5C所示,安全转码器320可以是存储装置304的一部分。安全转码器320可以直接集成到存储装置、存储控制器、主机总线适配器、智能NIC等中。
如图5D所示,安全转码器320可以是目的地节点306的一部分。这种配置可以是CPU复合体、IO集线器、桥接器、CPU本身、智能NIC等中的任一者。
在各种方法中,在多个位置(例如,包括图5A-图5D所示的所有四个位置)的每一个处具有安全转码器以允许使用用于特定操作的最佳转码位置来建立共享将是有益的。例如,源节点处的转码对于直接附加到源的存储装置是有益的。在另一示例中,如本领域普通技术人员所理解的,存储装置处的转码有利于缩放和网络利用。在一些情况下,第一份额的目的地节点可以是第二份额的源节点,并且在每个源节点和每个目的地节点处具有转码功能将是有利的。从安全角度来看,可能不优选的是在目的地节点处使用如本文所述的转码功能(即使在目的地处存在转码功能)作为图3所示的共享的转码位置。这可以导致第一密钥和第二密钥都在目的地节点处。对于最强的安全性,当所有节点(例如,源节点、存储装置和目的地节点)均具有转码功能时,在优选实施例中,用于存取数据的协议不利用目的地节点中的转码器,如所属领域的技术人员在阅读本发明后将了解。
为了强安全性,将第一密钥和第二密钥视为用于数据隔离的对是有益的。例如,在第一密钥中加密的信息组应该是在第二密钥中加密的相同信息组。如果多个第二密钥使用共同的第一密钥,则可能存在这样的情况,其中数据可以以将数据暴露给数据泄漏的方式在密钥边界上移动。
在优选实施例中,图3-图5D所示的每个箭头和这里描述的组件之间的任何通信可以包括本领域已知的用于通信加密的附加协议。例如,通信加密协议安全套接字层(SSL),传输层安全(TSL)等协议可用于在源节点和目的地节点之间,在源节点和安全转码器之间,以及在安全转码器和目的地节点之间等传送密钥,这对于阅读了本公开的本领域普通技术人员来说是显而易见的。
现在参考图6,示出了根据一个实施例的方法600的流程图。方法600可以根据本发明的优选实施例在图1-图5D和图7所示的任何环境中执行,尤其是在各个方面。当然,在方法600中可以包括比图6中具体描述的操作更多或更少的操作,如本领域技术人员在阅读本说明书后将理解的。
方法600的每个步骤可以由操作环境的任何合适的组件执行。例如,在各种实施例中,方法600可以部分地或完全地由计算机或其中具有一个或多个处理器的一些其他设备来执行。在硬件和/或软件中实现并且优选地具有至少一个硬件组件的处理器(例如,处理电路,芯片和/或模块)可以用在任何设备中以执行方法600的一个或多个步骤。说明性处理器包括(但不限于)中央处理单元(CPU),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,其组合或本领域中已知的任何其它合适的计算装置。
如图6所示,方法600包括操作602。操作602包括由转码器接收第二加密数据。第二加密数据是已用第一密钥加密以创建第一加密数据,第一加密数据然后用第二密钥加密以创建第二加密数据的数据。在优选实施例中,将数据加密成第一加密数据然后将第一加密数据加密成第二加密数据发生在源节点。源节点包括第一密钥和第二密钥。
在一种方法中,至少部分地基于从转码器到存储装置的数据请求来接收第二加密数据。响应于从目的地节点接收到对数据的请求,转码器可以直接向存储装置发送数据请求。在一种方法中,存储装置可以响应于数据请求将第二加密数据直接发送到转码器。例如,在源节点将第二加密数据存储在存储装置中之前,可以用第一密钥对数据进行加密以创建第一加密数据,然后用第二密钥对第一加密数据进行加密以在源节点处创建第二加密数据。存储装置可以响应于来自转码器的数据请求将第二加密数据发送到转码器。
在另一种方法中,至少部分地基于从转码器到源节点的数据请求来接收第二加密数据。响应于从目的地节点接收到对数据的请求,转码器可以向源节点发送数据请求。源节点可以将第二加密数据存储在存储装置中,并且源节点可以将第二加密数据(先前存储在存储装置中)发送到转码器。
在另一种方法中,源节点可以将未加密数据存储在存储装置中。响应于从转码器接收到对数据的请求,源节点可从存储装置中取出未加密数据,然后用第一密钥加密未加密数据以创建第一加密数据,然后用第二密钥加密第一加密数据以创建第二加密数据,响应于从转码器到源节点的数据请求,第二加密数据被发送到转码器。
在各种实施例中,基于来自至少一个目的地节点的数据请求,在转码器处从存储装置,从源节点等接收第二加密数据。可以有任何数量的目的地节点由转码器从源节点请求数据。在一些方法中,转码器可根据源节点、目的地节点、存储装置、转码器等之间的共享策略信息响应于来自目的地节点的数据请求而接收第二加密数据。共享策略信息可以包括在哪些实体之间可共享什么数据、任何实体之间的共享时段的时间长度、与任何实体之间的共享时段相关联的操作的数目、任何实体之间的每个共享时段可共享的数据量等。在各种方法中,共享策略信息确定何时终止共享时段。在各种实施例中,可以根据策略,响应于粉碎至少一个密钥,响应于源节点结束共享时段的请求、断电事件、任何其他触发事件等,或者其组合来终止共享时段。
在至少一些方法中,源节点在存储装置上存储数据。数据可以是未加密数据、第二加密数据、另一密钥加密的数据(例如,在由第一密钥然后由第二密钥加密之前,用不同于第一密钥或第二密钥的密钥加密的数据)等。在优选实施例中,源节点包括第一密钥和第二密钥。在一些方法中,可以通过源节点上的至少一个加密/解密功能来执行相关联的数据加密以创建第一加密数据,然后执行相关联的第一加密数据加密以创建第二加密数据。在其他方法中,每个密钥可以与位于源节点上的单独的加密/解密功能相关联,如本领域普通技术人员鉴于本公开内容所理解的。
操作604包括由转码器接收第二密钥。在各种方法中,从源节点接收第二密钥。在各种方法中,源节点向转码器发送第二密钥的副本,转码器将该副本安全地存储由共享策略信息定义的时间量、操作次数等。在至少一些实施例中,响应于共享时段的结束(例如,如共享策略所确定的、如源节点所请求的等),转码器可以以本领域的普通技术人员在阅读本公开内容后将变得显而易见的方式来切碎第二密钥和/或用伪密钥替换第二密钥。伪密钥可以是本领域已知的任何类型。
在其它方法中,可以从密钥管理器接收第二密钥。密钥管理器可以耦合到源节点,目的地节点和/或网络中的任何其它组件,用于提供、生成、管理等密钥,以便在源节点和目的地节点之间共享数据。
操作606包括由转码器使用第二密钥来解密第二加密数据以获得第一加密数据。如上所述,第二加密数据是用第一密钥加密以创建第一加密数据,第一加密数据然后用第二密钥加密以创建第二加密数据的数据。根据操作606,转码器可在转码器处使用加密/解密函数和第二密钥(在一些方法中由源节点发送)来获得第一加密数据。转码器优选地从不获得明文数据(或另一密钥加密形式的原始数据),其中转码器不能访问第一密钥(例如,解密第一加密数据以获得数据)。
操作608包括由转码器使用第三密钥来加密第一加密数据以创建第三加密数据。第一加密数据(例如,仅在第一密钥中加密)可以用新的第三密钥来加密,以由转码器上的加密/解密功能创建第三加密数据。加密/解密功能可以与操作606的加密/解密功能相同或不同(例如,与第三密钥分离,仅用于第三密钥等)。在至少一些方法中,第三密钥可以由转码器上的密钥生成器生成。在其它方法中,任何密钥可由耦合到源节点、转码器、目的地节点等的密钥管理器和/或密钥生成器生成和/或管理。
在各种方法中,方法600包括由转码器将第三密钥发送到目的地节点。在优选方法中,接收第三密钥的目的地节点是发起对数据的请求的目的地节点。在各种方法中,转码器向目的地节点发送第三密钥的副本,目的地节点安全地存储该副本达由共享策略信息定义的时间量、操作次数等,和/或以本领域普通技术人员在阅读本公开后将变得显而易见的任何方式。在优选实施例中,响应于共享周期的结束(例如,如由共享策略所确定的,如由源节点所请求的等),转码器以对于本领域的普通技术人员在阅读本公开后将变得明显的任何方式来切碎第三密钥和/或用用于结束源节点与目的地节点之间的数据共享的伪密钥来替换第三密钥。伪密钥可以是本领域已知的任何类型。
在其它方法中,可以将第三密钥从密钥管理器发送到目的地节点。密钥管理器可以耦合到源节点、目的地节点和/或网络中的任何其它组件,用于提供、生成、管理等密钥,以便在源节点和目的地节点之间共享数据。
操作610包括由转码器将第三加密数据发送到目的地节点。如上所述,第三加密数据是使用第三密钥来加密以创建第三加密数据的第一加密数据(例如,在第一密钥中加密的数据)。目的地节点以各种方法直接从源节点接收第一密钥。在各种方法中,目的地节点被配置为使用第三密钥来解密第三加密数据,以使用目的地节点上的加密/解密功能来获得第一加密数据。目的地节点被配置为使用第一密钥对第一加密数据进行解密,以使用目的地节点上的加密/解密函数(其可以与用于对第三加密数据进行解密以获得第一加密数据的加密/解密函数相同或不同)来获得数据。如上所述,数据可以是明文数据、未加密数据、明文数据、另一密钥加密形式的数据等。
在一个实施例中,数据(例如,未加密数据)包括多个数据块,其中每个数据块用第四密钥加密。第四密钥可以用第一密钥加密以创建第一经加密的第四密钥,第一经加密的第四密钥然后用第二密钥加密以创建第二经加密的第四密钥。在至少一些方法中,每一数据块可与不同的第四密钥相关联,如所属领域的技术人员在阅读本发明后将了解。在前述实施例中,转码器可以分别以类似于操作602和604中描述的方式接收第二经加密的第四密钥和第二密钥。以与操作606中所述类似的方式,转码器可使用第二密钥来解密第二经加密的第四密钥以获得第一经加密的第四密钥(例如,现在仅用第一密钥加密)。转码器可使用第三密钥来加密第一经加密的第四密钥,以与操作608中所述类似的方式创建第三经加密的第四密钥。转码器可以将第三密钥和第三经加密的第四密钥(例如,以第一密钥加密的第四密钥以获得第一经加密的第四密钥,并且接着以第三密钥来加密第一经加密的第四密钥以获得第三经加密的第四密钥)发送到目的地节点(例如,如操作610中和方法600中所述),且目的地节点可经配置以使用第三密钥(以各种方法从转码器或密钥管理器接收)解密第三经加密的指纹以获得第一经加密的第四密钥。目的地节点然后可以使用目的地节点从源节点或密钥管理器接收的第一密钥以各种方法解密第一经加密的第四密钥,以获得第四密钥。第四密钥可用于解密以第四密钥加密的发送到目的地节点的数据块。在密钥在长度上比目的地节点所请求的数据块相对更短的情况下,转码密钥而不是数据可能更有效。
根据一些方法,数据(例如,未加密数据)包括多个数据块,其中每个数据块具有与其相关联和/或在其上计算的指纹。可以使用SHA-256或本领域已知的任何其它安全散列算法来计算每个指纹。可根据本文中所描述的实施例中的至少一些实施例对指纹进行双重加密。加密的指纹可用于每块密钥的安全去重复,使得指纹数据可被安全地转码以供在目的地节点处使用。加密的指纹可以用于确定去重机会,作为端到端完整性检查,用于提供附加的数据隐私等。可以存在用于对数据、指纹、元数据等进行转码的任意数量的密钥,用于根据这里描述的至少一些操作的安全共享。在前述方面的优选方法中,与任何其它数据块相比,每个数据块与至少一个唯一密钥相关联(例如,由其加密/解密)。在各种方法中,数据的每个数据块和/或每个指纹可以与其自己的第一密钥、第二密钥、或第一密钥和第二密钥相关联。这样,本公开的至少一些实施例通过改变去往目的地节点的每个数据块的至少一个密钥来提供前向保密。目的地节点具有未加密的数据块(对数据块进行转码之后,如果适用的话),但是源节点能够通过改变每个数据块的密钥来定义目的地节点接收多少数据。
现在参考图7,示出了根据一个实施例的方法700的流程图。方法700可以根据本发明的优选实施例在图1-图6和图7所示的任何环境中执行,尤其是在各个方面。当然,在方法700中可以包括比图7中具体描述的操作更多或更少的操作,如本领域技术人员在阅读本说明书后将理解的。
方法700的每个步骤可以由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法700可以部分地或完全地由计算机或其中具有一个或多个处理器的一些其他设备来执行。在硬件和/或软件中实现并且优选地具有至少一个硬件组件的处理器(例如,处理电路,芯片和/或模块)可以用在任何设备中以执行方法700的一个或多个步骤。说明性处理器包括(但不限于)中央处理单元(CPU),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,其组合或本领域中已知的任何其它合适的计算装置。
如图7所示,方法700包括操作702。操作702包括由转码器接收第二经加密的密钥。第二经加密的密钥是已用第一密钥加密以创建第一经加密的密钥,第一经加密的密钥然后用第二密钥加密以创建第二经加密的密钥的密钥。在优选实施例中,将密钥加密为第一经加密的密钥,然后将第一经加密的密钥加密为第二经加密的密钥发生在源节点。源节点包括第一密钥和第二密钥。
操作704包括由转码器接收第二密钥。在各种方法中,从源节点接收第二密钥。在各种方法中,源节点向转码器发送第二密钥的副本,转码器将该副本安全地存储由共享策略信息定义的时间量、操作次数等。在至少一些实施例中,响应于共享周期的结束(例如,如共享策略所确定的,如源节点所请求的等),转码器可以切碎第二密钥和/或用伪密钥替换第二密钥,这对于本领域普通技术人员在阅读本公开后将变得显而易见。伪密钥可以是本领域已知的任何类型。
在其它方法中,可以从密钥管理器接收第二密钥。密钥管理器可以耦合到源节点,目的地节点和/或网络中的任何其它组件,用于提供、生成、管理等密钥,以便在源节点和目的地节点之间共享数据。
操作706包括由转码器使用第二密钥来解密第二经加密的密钥以获得第一经加密的密钥。如上所述,第二经加密的密钥是用第一密钥加密以创建第一经加密的密钥,然后用第二密钥加密以创建第二经加密的密钥的密钥。根据操作706,转码器可在转码器处使用加密/解密函数和第二密钥(在一些方法中由源节点发送)来获得第一经加密的密钥。在转码器无法访问第一密钥的情况下(例如,为了解密第一经加密的密钥以获得密钥),转码器优选地从不以明文获得密钥。
操作708包括由转码器使用第三密钥来加密第一经加密的密钥以创建第三经加密的密钥。第一经加密的密钥(例如,仅在第一密钥中加密)可以用新的第三密钥来加密,以由转码器上的加密/解密功能创建第三经加密的密钥。加密/解密功能可以与操作706的加密/解密功能相同或不同(例如,与第三密钥分离,仅用于第三密钥等)。在至少一些方法中,第三密钥可以由转码器上的密钥生成器生成。在其它方法中,任何密钥可由耦合到源节点、转码器、目的地节点等的密钥管理器和/或密钥生成器生成和/或管理。
在至少一些方法中,方法700包括由转码器向目的地节点发送第三密钥。在各种方法中,转码器向目的地节点发送第三密钥的副本,目的地节点安全地存储该副本达由共享策略信息定义的时间量、操作次数等。在优选实施例中,响应于共享周期的结束(例如,如由共享策略所确定的,如由源节点所请求的等),转码器以对于本领域的普通技术人员在阅读本公开后将变得明显的任何方式来切碎第三密钥和/或用用于结束源节点与目的地节点之间的数据共享的伪密钥来替换第三密钥。伪密钥可以是本领域已知的任何类型。
在其它方法中,可以将第三密钥从密钥管理器发送到目的地节点。密钥管理器可以耦合到源节点、目的地节点和/或网络中的任何其它组件,用于提供、生成、管理等密钥,以便在源节点和目的地节点之间共享数据。
操作710包括由转码器将第三经加密的密钥发送到目的地节点。如上所述,第三经加密的密钥是使用第三密钥来加密以创建第三经加密的密钥的第一经加密的密钥(例如,在第一密钥中加密的密钥)。目的地节点以各种方法直接从源节点接收第一密钥。在各种方法中,目的地节点被配置为使用第三密钥来解密第三经加密的密钥,以使用目的地节点上的加密/解密功能来获得第一经加密的密钥。目的地节点被配置为使用第一密钥来解密第一经加密的密钥,以使用目的地节点上的加密/解密功能来获得密钥(其可以与用于解密第三经加密的密钥以获得第一经加密的密钥的加密/解密功能相同或不同)。如上所述,密钥可以是明文密钥、未加密的密钥等。
在各种方法中,目的地节点可使用密钥(例如,未加密的密钥)来解密来自源节点的数据。例如,该未加密的密钥可以是图6的方法600中描述的至少一些操作中的第一密钥。
根据优选实施例,本发明可以是处于任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或介质)。
计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以例如是但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:一种便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码的设备、诸如其上记录有指令的槽中的穿孔卡片或凸起结构、以及前述的任何适当组合。在此使用的计算机可读存储介质不能被解释为瞬时信号本身,例如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过导线传输的电信号。
这里描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发该计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、针对集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括诸如Smalltalk、C++等的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的过程编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
这里参考根据本发明实施例的方法,装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机的处理器或其他可编程数据处理设备以产生机器,使得经由计算机的处理器或其他可编程数据处理设备执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指示计算机、可编程数据处理装置和/或其他设备以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机,其他可编程数据处理装置或其他设备上,以使得在计算机,其他可编程装置或其他设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机,其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
图中的流程图和框图示出了根据本发明各种实施例的系统,方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些备选实现中,方框中指出的功能可以不按照图中指出的顺序发生。例如,连续示出的两个框实际上可以作为一个步骤完成,以部分或全部时间上重叠的方式并发地,基本上并发地执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
此外,根据各个实施例的系统可以包括处理器以及与该处理器集成和/或由该处理器可执行的逻辑,该逻辑被配置为执行本文所述的一个或多个处理步骤。通过与处理器集成,意味着处理器具有作为硬件逻辑嵌入其中的逻辑,例如专用集成电路(ASIC)、FPGA等。通过由处理器可执行,意味着逻辑是硬件逻辑;软件逻辑,例如固件,操作系统的一部分,应用程序的一部分;等等,或者可由处理器访问并被配置为使得处理器在由处理器执行时执行某些功能的硬件和软件逻辑的某种组合。软件逻辑可以存储在本领域已知的任何存储器类型的本地和/或远程存储器上。可使用此项技术中已知的任何处理器,例如软件处理器模块和/或硬件处理器,例如ASIC、FPGA、中央处理单元(CPU)、集成电路(IC)、图形处理单元(GPU)等。
将清楚的是,前述系统和/或方法的各种特征可以以任何方式组合,从以上呈现的描述创建多个组合。
还应当理解,本发明的实施例可以以代表客户部署的服务的形式提供,以按需提供服务。
已出于说明的目的给出了对本发明的各种实施例的描述,但是这些描述并不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文中使用的术语以最佳地解释实施例的原理、实际应用或对市场中存在的技术的技术改进、或者使所属领域的技术人员能够理解本文中所公开的实施例。

Claims (29)

1.一种计算机实现的方法,包括:
由转码器接收第二加密数据,
其中所述第二加密数据是已用第一密钥加密以创建第一加密数据,所述第一加密数据然后用第二密钥加密以创建所述第二加密数据的数据;
由所述转码器接收所述第二密钥;
由所述转码器使用所述第二密钥来解密所述第二加密数据以获得所述第一加密数据;
由所述转码器使用第三密钥来加密所述第一加密数据以创建第三加密数据;以及
由所述转码器向目的地节点发送所述第三加密数据。
2.根据权利要求1所述的计算机实现的方法,其中所述第二密钥从源节点被接收。
3.根据权利要求1所述的计算机实现的方法,其中所述第二加密数据至少部分地基于从所述转码器到存储装置的数据请求而被接收。
4.根据权利要求2所述的计算机实现的方法,其中所述第二加密数据至少部分地基于从所述转码器到所述源节点的数据请求而被接收。
5.根据权利要求1所述的计算机实现的方法,由所述转码器向所述目的地节点发送所述第三密钥,其中所述目的地节点被配置为使用所述第三密钥来解密所述第三加密数据以获得所述第一加密数据,其中所述目的地节点被配置为使用所述第一密钥来解密所述第一加密数据以获得所述数据。
6.根据权利要求1所述的计算机实现的方法,其中所述数据包括多个数据块,其中每个数据块用第四密钥加密,其中所述第四密钥用所述第一密钥加密以创建第一经加密的第四密钥,所述第一经加密的第四密钥然后用所述第二密钥加密以创建第二经加密的第四密钥;
由所述转码器接收所述第二经加密的第四密钥;
由所述转码器使用所述第二密钥来解密所述第二经加密的第四密钥以获得所述第一经加密的第四密钥;
由所述转码器使用所述第三密钥来加密所述第一经加密的第四密钥以创建第三经加密的第四密钥;
由所述转码器向所述目的地节点发送所述第三密钥;以及
由所述转码器向所述目的地节点发送所述第三经加密的第四密钥。
7.根据权利要求2所述的计算机实现的方法,其中所述转码器位于所述源节点上。
8.根据权利要求3所述的计算机实现的方法,其中所述转码器位于所述存储装置上。
9.根据权利要求3所述的计算机实现的方法,其中所述转码器位于被耦合到所述源节点和所述存储装置的存储网络上。
10.根据权利要求1所述的计算机实现的方法,包括:
由所述转码器利用用于结束所述源节点和所述目的地节点之间的数据共享的伪密钥替换所述第三密钥。
11.根据权利要求1所述的方法,其中所述第一加密数据、第二加密数据和第三加密数据涉及第一经加密的密钥、第二经加密的密钥和第三经加密的密钥。
12.根据权利要求11所述的计算机实现的方法,其中由所述转码器向目的地节点发送所述第三密钥,其中所述目的地节点被配置为使用所述第三密钥来解密所述第三经加密的密钥以获得所述第一经加密的密钥,其中所述目的地节点被配置为使用所述第一密钥来解密所述第一经加密的密钥以获得所述密钥。
13.根据权利要求12所述的计算机实现的方法,其中所述目的地节点使用所述密钥来解密来自所述源节点的数据。
14.一种计算机实现的方法,包括:
由转码器接收第二经加密的密钥,
其中所述第二经加密的密钥是已用第一密钥加密以创建第一经加密的密钥,所述第一经加密的密钥然后用第二密钥加密以创建所述第二经加密的密钥的密钥;
由所述转码器接收第二密钥;
由所述转码器使用所述第二密钥来解密所述第二经加密的密钥以获得所述第一经加密的密钥;
由所述转码器使用第三密钥来加密所述第一经加密的密钥以创建第三经加密的密钥;以及
由所述转码器向目的地节点发送所述第三经加密的密钥。
15.根据权利要求14所述的计算机实现的方法,由所述转码器向目的地节点发送所述第三密钥,其中所述目的地节点被配置为使用所述第三密钥来解密所述第三经加密的密钥以获得所述第一经加密的密钥,其中所述目的地节点被配置为使用所述第一密钥来解密所述第一经加密的密钥以获得所述密钥。
16.根据权利要求15所述的计算机实现的方法,其中所述目的地节点使用所述密钥来解密来自所述源节点的数据。
17.一种系统,包括:
处理器;以及
逻辑,所述逻辑与所述处理器集成,由所述处理器可执行,或者与所述处理器集成并且由所述处理器可执行,所述逻辑被配置为:
由转码器接收第二加密数据,
其中所述第二加密数据是已用第一密钥加密以创建第一加密数据,所述第一加密数据然后用第二密钥加密以创建所述第二加密数据的数据;
由所述转码器接收所述第二密钥;
由所述转码器使用所述第二密钥来解密所述第二加密数据以获得所述第一加密数据;
由所述转码器使用第三密钥来加密所述第一加密数据以创建第三加密数据;以及
由所述转码器向目的地节点发送所述第三加密数据。
18.根据权利要求17所述的系统,其中所述第二密钥是从源节点被接收。
19.根据权利要求17所述的系统,其中所述第二加密数据至少部分地基于从所述转码器到存储装置的数据请求而被接收。
20.根据权利要求18所述的系统,其中所述第二加密数据至少部分地基于从所述转码器到所述源节点的数据请求而被接收。
21.根据权利要求17所述的系统,逻辑被配置为由所述转码器向所述目的地节点发送所述第三密钥,其中所述目的地节点被配置为使用所述第三密钥来解密所述第三加密数据以获得所述第一加密数据,其中所述目的地节点被配置为使用所述第一密钥来解密所述第一加密数据以获得所述数据。
22.根据权利要求17所述的系统,其中所述数据包括多个数据块,其中每个数据块用第四密钥加密,其中所述第四密钥用所述第一密钥加密以创建第一经加密的第四密钥,所述第一经加密的第四密钥然后用所述第二密钥加密以创建第二经加密的第四密钥;并且逻辑被配置为:
由所述转码器接收所述第二经加密的第四密钥;
由所述转码器使用所述第二密钥来解密所述第二经加密的第四密钥以获得所述第一经加密的第四密钥;
由所述转码器使用所述第三密钥来加密所述第一经加密的第四密钥以创建第三经加密的第四密钥;
由所述转码器向所述目的地节点发送所述第三密钥;以及
由所述转码器向所述目的地节点发送所述第三经加密的第四密钥。
23.根据权利要求18所述的系统,其中所述转码器位于所述源节点上。
24.根据权利要求19所述的系统,其中所述转码器位于所述存储装置上。
25.根据权利要求19所述的系统,其中所述转码器位于被耦合到所述源节点和所述存储装置的存储网络上。
26.根据权利要求17所述的系统,包括逻辑,所述逻辑被配置为:由所述转码器利用用于结束所述源节点和所述目的地节点之间的数据共享的虚拟密钥替换第三密钥。
27.一种计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质,以及被共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:
用以由转码器接收第二加密数据的程序指令,
其中所述第二加密数据是已用第一密钥加密以创建第一加密数据,所述第一加密数据然后用第二密钥加密以创建所述第二加密数据的数据;
用以由所述转码器接收所述第二密钥的程序指令;
用以由所述转码器使用所述第二密钥来解密所述第二加密数据以获得所述第一加密数据的程序指令;
用以由所述转码器使用第三密钥来加密所述第一加密数据以创建第三加密数据的程序指令;以及
用以由所述转码器向目的地节点发送所述第三加密数据的程序指令。
28.一种计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质,以及被共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:
用以由转码器接收第二经加密的密钥的程序指令,
其中所述第二经加密的密钥是已用第一密钥加密以创建第一经加密的密钥,所述第一经加密的密钥然后用第二密钥加密以创建所述第二经加密的密钥的密钥;
用以由所述转码器接收所述第二密钥的程序指令;
用以由所述转码器使用所述第二密钥来解密所述第二经加密的密钥以获得所述第一经加密的密钥的程序指令;
用以由所述转码器使用第三密钥来加密所述第一经加密的密钥以创建第三经加密的密钥的程序指令;以及
用以由所述转码器向目的地节点发送所述第三经加密的密钥的程序指令。
29.一种计算机程序,所述计算机程序包括程序代码装置,当所述程序在计算机上运行时,所述程序代码装置适于执行根据权利要求1至16中任一项所述的方法。
CN202180088894.2A 2020-12-30 2021-12-15 安全数据移动 Pending CN116746114A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/138,539 2020-12-30
US17/138,539 US11743241B2 (en) 2020-12-30 2020-12-30 Secure data movement
PCT/IB2021/061771 WO2022144663A1 (en) 2020-12-30 2021-12-15 Secure data movement

Publications (1)

Publication Number Publication Date
CN116746114A true CN116746114A (zh) 2023-09-12

Family

ID=82117938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180088894.2A Pending CN116746114A (zh) 2020-12-30 2021-12-15 安全数据移动

Country Status (6)

Country Link
US (1) US11743241B2 (zh)
JP (1) JP2024503327A (zh)
CN (1) CN116746114A (zh)
DE (1) DE112021006008T5 (zh)
GB (1) GB2617757B (zh)
WO (1) WO2022144663A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230216733A1 (en) * 2021-12-31 2023-07-06 Fortinet, Inc. Distributed node discovery and overlay path management on a data communication network
US11579783B1 (en) * 2022-03-09 2023-02-14 Vim Inc. Multi-tenant storage

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4074057B2 (ja) 2000-12-28 2008-04-09 株式会社東芝 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7266611B2 (en) 2002-03-12 2007-09-04 Dilithium Networks Pty Limited Method and system for improved transcoding of information through a telecommunication network
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block
DE102005027232A1 (de) 2005-06-13 2006-12-14 Siemens Ag Verfahren und Anordnung zum sicheren Übertragen von Daten in einem ein Mehrsprungverfahren nutzenden Kommunikationssystem
US8761401B2 (en) * 2006-08-28 2014-06-24 Motorola Mobility Llc System and method for secure key distribution to manufactured products
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
WO2011121661A1 (ja) * 2010-03-31 2011-10-06 富士通株式会社 暗号処理装置および暗号処理方法
CN102098318B (zh) 2011-03-23 2013-08-14 电子科技大学 多跳网络的端到端匿名安全通信方法
KR101428875B1 (ko) * 2011-11-30 2014-08-12 주식회사 알티캐스트 Hls 기반 보안 처리 시스템 및 그 방법
US8681992B2 (en) * 2012-02-13 2014-03-25 Alephcloud Systems, Inc. Monitoring and controlling access to electronic content
US8966287B2 (en) 2012-03-26 2015-02-24 Symantec Corporation Systems and methods for secure third-party data storage
US9847979B2 (en) * 2013-03-15 2017-12-19 Verimatrix, Inc. Security and key management of digital content
US9043613B2 (en) 2013-06-28 2015-05-26 International Business Machines Corporation Multiple volume encryption of storage devices using self encrypting drive (SED)
US10608784B2 (en) 2016-03-15 2020-03-31 ClineHair Commercial Endeavors Distributed storage system data management and security
US9887836B1 (en) * 2014-09-26 2018-02-06 Amazon Technologies, Inc. Unified management of cryptographic keys using virtual keys and referrals
US9210187B1 (en) * 2015-01-13 2015-12-08 Centri Technology, Inc. Transparent denial of service protection
US10127389B1 (en) * 2015-03-30 2018-11-13 Amazon Technologies, Inc. Performing operations on intelligent storage with hardened interfaces
EP3086585B1 (en) 2015-04-23 2019-12-11 Nxp B.V. Method and system for securing data communicated in a network
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
EP3378189B1 (en) * 2015-11-20 2021-07-07 Genetec Inc. Secure layered encryption of data streams
US9946895B1 (en) * 2015-12-15 2018-04-17 Amazon Technologies, Inc. Data obfuscation
US10528485B2 (en) 2016-09-30 2020-01-07 Intel Corporation Method and apparatus for sharing security metadata memory space
US20180219674A1 (en) * 2017-01-06 2018-08-02 Microsoft Technology Licensing, Llc Successive cryptographic techniques
US10708244B2 (en) * 2017-06-07 2020-07-07 Virtual Connect Technologies, Inc. System and method for encryption, storage and transmission of digital information
US10505950B2 (en) * 2017-07-10 2019-12-10 Dark Matter L.L.C. System, method, and computer program product for multi-layer encryption of an efficient broadcast message
EP3891924A4 (en) * 2017-10-24 2022-10-05 Bitcache Limited DATA TRANSFER
US10187200B1 (en) * 2017-12-18 2019-01-22 Secure Channels Inc. System and method for generating a multi-stage key for use in cryptographic operations
US11038691B2 (en) * 2018-01-03 2021-06-15 JJD Software LLC Database platform for maintaining secure data
CN111527762A (zh) * 2018-01-04 2020-08-11 昕诺飞控股有限公司 用于设备到设备通信网络中端到端安全通信的系统和方法
US11050724B2 (en) * 2018-03-22 2021-06-29 Cisco Technology, Inc. IaaS-aided access control for information centric networking with Internet-of-Things
US10965653B2 (en) * 2018-03-28 2021-03-30 Xaptum, Inc. Scalable and secure message brokering approach in a communication system
CN110581763B (zh) 2018-06-09 2022-07-15 成都零光量子科技有限公司 一种量子密钥服务区块链网络系统
US11507676B2 (en) * 2018-06-26 2022-11-22 Sri International Selectively sharing data in unstructured data containers
US11019098B2 (en) * 2018-06-29 2021-05-25 Intel Corporation Replay protection for memory based on key refresh
US11005828B1 (en) * 2018-11-19 2021-05-11 Bae Systems Information And Electronic Systems Integration Inc. Securing data at rest
US11265300B1 (en) * 2018-12-29 2022-03-01 Whatsapp Llc Methods and systems for transmitting anonymized information
US11082235B2 (en) * 2019-02-14 2021-08-03 Anchor Labs, Inc. Cryptoasset custodial system with different cryptographic keys controlling access to separate groups of private keys
US11283635B2 (en) 2019-09-28 2022-03-22 Intel Corporation Dynamic sharing in secure memory environments using edge service sidecars

Also Published As

Publication number Publication date
JP2024503327A (ja) 2024-01-25
GB202310748D0 (en) 2023-08-30
GB2617757A (en) 2023-10-18
DE112021006008T5 (de) 2023-11-30
US20220210139A1 (en) 2022-06-30
GB2617757B (en) 2024-03-06
US11743241B2 (en) 2023-08-29
WO2022144663A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
US10754954B2 (en) Securely exchanging information during application startup
US11799861B2 (en) Secure access management for tools within a secure environment
JP7388803B2 (ja) セキュア・ゲストのセキュア鍵をハードウェア・セキュリティ・モジュールに結びつけること
JP7308002B2 (ja) ハイブリッド・クラウドkmsソリューションにおけるhsmの自己破壊方法、システム、プログラム
US10931453B2 (en) Distributed encryption keys for tokens in a cloud environment
US20180309738A1 (en) Data access levels
CN116746114A (zh) 安全数据移动
US11856090B2 (en) Data protection optimization
JP2023551527A (ja) 準同型暗号化を使用したセキュアなコンピューティング・リソース配置
US10972443B2 (en) System and method for encrypted document co-editing
US11120140B2 (en) Secure operations on encrypted data
CN116745766A (zh) 安全存储器共享
US11418327B2 (en) Automatic provisioning of key material rotation information to services
CN116888597A (zh) 使用锁定指纹的多密钥安全去重
JP2023532810A (ja) 暗号化データオブジェクトの配布
JP2023530581A (ja) システム生成データセット暗号化鍵
WO2023213168A1 (en) Access configuration in hybrid network environments
US20230318826A1 (en) Key import with hybrid cryptography
JP2024510881A (ja) マルチクラウド環境における量子鍵配送
WO2023036927A1 (en) Securely distributing a root key for a hardware security module

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