Quantum key distribution in a multi-cloud environment

Quantum key distribution and blockchain-based checksums are used to address data corruption issues in cloud storage systems, ensuring secure and efficient data transfer by verifying checksums, thus enhancing security and performance.

JP7792965B2Active Publication Date: 2025-12-26INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023549944
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-25
Filing Date
2022-03-23
Publication Date
2025-12-26
Estimated Expiration
2042-03-23

AI Technical Summary

Technical Problem

Existing cloud storage systems face challenges in detecting data corruption during symmetric key encryption due to unencrypted IP headers, which can be modified, leading to undetectable corruption during data replication across different cloud storage instances.

Method used

Implementing quantum key distribution (QKD) mechanisms to enable symmetric key encryption, combined with blockchain-based checksums to verify data integrity by comparing IP packet and blockchain checksums, ensuring secure and efficient data transfer across cloud storage systems.

Benefits of technology

The solution effectively detects and prevents data corruption, enhances security, and optimizes system performance by using symmetric key encryption, reducing CPU intensity and enabling robust data protection during replication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007792965000001
    Figure 0007792965000001
  • Figure 0007792965000002
    Figure 0007792965000002
  • Figure 0007792965000003
    Figure 0007792965000003
Patent Text Reader

Abstract

An approach for improving the field of multi-cloud environments by detecting data corruption between storage systems. An embodiment performs information tunneling for data transfer between a source storage system and a target storage system. Further, an embodiment determines that checksum data of the data payload does not match an Internet Protocol (IP) packet extracted checksum and a block chain-based checksum, and compares the checksum data at the target storage system to the IP packet extracted checksum and the block chain-based checksum to identify one or more checksum mismatches. Additionally, an embodiment identifies corruption in the data payload based on a comparison between the checksum data at the target storage system and the IP packet extracted checksum and the block chain-based checksum, verifies the corruption in the data payload, and updates an entity for each identified corruption in the data payload.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of multi-cloud environments, and more specifically to blockchain-enabled secure quantum key distribution (QKD) block data movement in storage clouds.

[0002] Emerging technologies for the quantum computing era are using quantum mechanics in a variety of computing environments. One popular technology is quantum key distribution (QKD), a secure communication mechanism used as a cryptographic key sharing platform that employs quantum mechanics. Generally, QKD generates a shared, random, secret key known only to the secure parties, which can then be used to encrypt and decrypt messages. This mechanism generates a secure key using photon transmission and sends the generated secure key to an endpoint. As the photon stream is transmitted, identical keys are generated at one or more end devices. Note also that QKD uses symmetric key encryption. A unique property of QKD is the ability of two or more communicating users to detect the presence of any third party attempting to gain knowledge of the key. Third-party detection is a result of a fundamental aspect of quantum mechanics: the process of measuring a quantum system generally perturbs the system. Therefore, a third party attempting to intercept the key would need to measure the quantum system in some way, thereby resulting in a detectable anomaly. By using quantum superposition or quantum entanglement to transmit information in quantum states, a communication system can be implemented that detects eavesdropping. If the level of eavesdropping is below a certain threshold, a key can be generated that is guaranteed to be secure (i.e., an eavesdropper does not contain information about it). This enables a secure mechanism for generating symmetric keys across end devices, providing the functionality of symmetric key encryption across cloud components. Additionally, modern cloud storage systems use asymmetric key encryption due to limitations in secure key transmission. Summary of the Invention

[0003]

[0009] Embodiments of the present invention disclose a method, computer program product, apparatus, and system for detecting data corruption between storage systems, the computer-implemented method comprising performing information tunneling for data transfer between a source storage system and a target storage system. Further, the embodiments determine that checksum data of the data payload does not match an Internet Protocol (IP) packet-extracted checksum and a block-chain-based checksum, and compare the checksum data at the target storage system with the IP packet-extracted checksum and the block-chain-based checksum to identify one or more checksum mismatches. Additionally, the embodiments identify corruption in the data payload based on a comparison between the checksum data at the target storage system and the IP packet-extracted checksum and the block-chain-based checksum. Finally, in response to receiving a predetermined number of checksum mismatches that trigger a security breach isolation requiring corrective action, the embodiments verify the corruption in the data payload; and update an entity for each identified corruption in the data payload. [Brief explanation of the drawings]

[0004] [Figure 1] 1 illustrates a cloud computing environment according to one embodiment of the present invention.

[0005] [Figure 2] 1 illustrates an abstraction model layer according to one embodiment of the present invention.

[0006] [Figure 3] FIG. 1 is a functional block diagram illustrating a distributed data processing environment according to one embodiment of the present invention.

[0007] [Figure 4] 4 illustrates a node architecture on a server computer in the distributed data processing environment of FIG. 3 for detecting data corruption between storage systems, according to one embodiment of the present invention.

[0008] [Figure 5A] FIG. 4 is a functional block diagram of multiple server computers in the distributed data processing environment of FIG. 3 for detecting data corruption between storage systems, according to one embodiment of the present invention. [Figure 5B] FIG. 4 is a functional block diagram of multiple server computers in the distributed data processing environment of FIG. 3 for detecting data corruption between storage systems, according to one embodiment of the present invention.

[0009] [Figure 6] 4 illustrates operational stages of a data corruption detection component on a server computer in the distributed data processing environment of FIG. 3 to detect data corruption between storage systems, according to one embodiment of the present invention.

[0010] [Figure 7] 4 illustrates a block diagram of components of a server computer that executes the automated feedback and continuous learning components within the distributed data processing environment of FIG. 3 in accordance with one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0011] Embodiments of the present invention recognize that there are deficiencies when using symmetric key encryption in cloud storage systems. One problem that embodiments of the present invention recognize is that symmetric key encryption cannot be directly used in secure block storage migration due to cloud infrastructure orchestration and Ethernet routing.

[0012] In one example, consider storage virtualization engines deployed on different cloud systems (e.g., a first cloud system and a second cloud system) that support host application input / output (I / O) delivered to a storage system and replicate the host application I / O to a secondary storage cluster in the second cloud system. In this example, when I / O is received by the primary storage virtualization engine cluster, the I / O is replicated to a second database cluster (which may be located on the same cloud or a different cloud system) to provide disaster recovery and data availability in the event of a failure of one of the storage systems. In this case, if in-flight data encryption is used, current technology performs asymmetric key encryption, which involves a public-private key pair and encrypts the data before transmission over the network. Once the encrypted data packets reach their designated location, they are decrypted using an asymmetric method, and the cleartext packet payloads are further processed and stored in persistent block storage devices. These persistent block storage devices are connected to the virtualization engine as back-end controllers.

[0013] In one example, if a QKD mechanism is available between the source and target storage system locations, the QKD mechanism ensures secure transmission of keys between those locations. This allows for symmetric key encryption, which is more efficient and requires less central processing unit (CPU) computing power. In this example, the use of symmetric key encryption across cloud-located storage engines creates a potential security threat when the storage system uses transport mode encryption. In transport mode security, the data payload is encoded, but the Internet Protocol (IP) headers are not modified or encrypted, leaving routing intact. In a cloud environment of storage controller systems, routing remains intact, supporting the underlying cloud orchestration migration and transparency mechanisms. Therefore, embodiments of the present invention recognize that transport mode encryption is recommended for cloud instances of storage systems with IP header defects. Embodiments of the present invention recognize that IP headers are not encrypted, posing a potential threat of modifying the encrypted block data payload and altering the IP header for cyclic redundancy check (CRC) and checksum values ​​of the modified (corrupted) payload. In this scenario, if the payload is corrupted and the checksum is updated appropriately, embodiments of the present invention recognize that there is no known way to detect this type of data corruption.

[0014] Additionally, embodiments of the present invention recognize that corrupted data is stored at the target location, which can pose several challenges. Furthermore, embodiments of the present invention recognize that known techniques exist that can corrupt IP payloads and update IP packets for CRC and checksum values, which can cause block data corruption in storage replication. Embodiments of the present invention recognize that the problems outlined above exist when symmetric key encryption is used between storage system instances in a cloud. For example, two storage controllers are located between different clouds, and replication is configured between two storage instances across different clouds. When symmetric key encryption is used in transport mode, the payload is encrypted using the same key that is used to decrypt the data. If the IP packet is corrupted and the header is updated accordingly, the result is that there is no way to detect data corruption.

[0015] Furthermore, embodiments of the present invention recognize that currently, there are no methods for detecting block-based in-flight data corruption in asymmetric key encryption and no measures that can be taken against such data corruption within storage environments. Embodiments of the present invention recognize that adoption of symmetric key encryption is very low due to the unavailability of infrastructure for secure key transmission. Embodiments of the present invention recognize that detecting the specific problem described above is currently difficult, and that this represents a challenge in the art because future requirements for emerging cloud technologies require symmetric key transmission. Embodiments of the present invention recognize that with the enablement of QKD mechanisms in cloud storage, as described above, and storage engine instances in the cloud, emerging technologies will begin to adopt symmetric key encryption due to its relatively low CPU cycles. Embodiments of the present invention improve upon the current state of the art by detecting data corruption in transport mode encryption of block storage in Ethernet-based cloud systems.

[0016]

[0006] Embodiments of the present invention operate on top of QKD-based key distribution for cross-cloud data encryption. The present invention provides a mechanism for QKD and its enablement in cloud infrastructure. The present invention improves upon the state of the art by enabling cloud storage systems to use symmetric key encryption via QKD, which is less CPU-intensive and adds performance benefits to storage systems. The present invention provides a method, system, and apparatus that operates within a generic, cloud-located storage virtualization system and solves the above-mentioned problems by providing an efficient way to protect data from corruption during replication across cloud storage engines.

[0017] Embodiments of the present invention solve the above-mentioned problems and improve the art by (i) detecting data corruption and avoiding data loss across cloud storage sites during replication; (ii) implementing cost-critical data protection with state-of-the-art robust blockchain techniques to enhance the cloud story; (iii) enabling the use of symmetric key encryption across block storage systems deployed in cloud infrastructure; (iv) supporting symmetric key encryption using QKD mechanisms within storage systems to improve system encryption performance; (v) providing enhanced security for transport mode encryption to enable cloud-based data encryption using the cloud; (vi) preventing / avoiding data corruption during secure transport mode IO traffic across block storage systems; (vii) operating at reduced cost; and (viii) dynamically adjusting operation at various levels to optimize system performance.

[0018] Implementations of embodiments of the present invention may take a variety of forms, and details of exemplary implementations are discussed below with reference to the figures (ie, FIGS. 1-7).

[0019] The description of various embodiments of the present invention is presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. The terms used herein have been selected to best explain the principles of the embodiments, practical applications, or technical improvements over commercially available technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.

[0020] Although this disclosure includes detailed descriptions of cloud computing, it is understood in advance that implementation of the teachings recited herein is not limited to a cloud computing environment. Rather, embodiments of the present invention can be implemented in conjunction with any other type of computing environment now known or later developed.

[0021] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0022] The characteristics are as follows:

[0023] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without requiring human interaction with the provider of the service.

[0024] Wide network access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, and PDAs).

[0025] Resource Pooling: Provider computing resources are pooled to serve multiple consumers using a multi-tenant model, with various physical and virtual resources dynamically allocated and reallocated in line with demand. Consumers generally have no control or knowledge over the exact location of the resources provided, although there is a type of location independence in that they may be able to specify location at a higher level of abstraction (e.g., country, state, or data center).

[0026] Rapid scalability: Capacity is provisioned quickly and elastically, sometimes automatically, and can be instantly scaled out or quickly released and instantly scaled in. To the consumer, the capacity available for provisioning often appears unlimited and can be purchased in any quantity at any point in time.

[0027] Metered Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of utilized services.

[0028] The service model is as follows:

[0029] Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through a thin-client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

[0030] Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the application hosting environment configuration.

[0031] Infrastructure as a Service (IaaS): The ability provided to consumers is to provision processing, storage, network, and other basic computing resources onto which they can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does have control over the operating systems, storage, deployed applications, and in some cases, limited control over selected networking components (e.g., host firewalls).

[0032] The deployment model is as follows:

[0033] Private Cloud: Cloud infrastructure is operated solely for the organization. It may be managed by the organization or a third party and may exist on-premise or off-premise.

[0034] Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and regulatory compliance considerations). It may be managed by those organizations or a third party and may exist on-premises or off-premises.

[0035] Public Cloud: Cloud infrastructure is made available to the general public or large industry organizations and is owned by organizations that sell cloud services.

[0036] Hybrid Cloud: Cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain distinct entities but are bound together by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting to load balance between clouds).

[0037] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0038] Referring now to FIG. 1 , an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 comprises one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, and / or an automobile computer system 54N, may communicate. The nodes 10 may communicate with each other. They may be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or combinations thereof, as described above. This allows the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which cloud consumers do not need to maintain resources on their local computing devices. It is understood that the types of computing devices 54A-54N shown in FIG. 1 are intended for illustrative purposes only, and that the computing nodes 10 and the cloud computing environment 50 may communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).

[0039] Referring now to Figure 2, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 1) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 2 are intended to be exemplary only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0040] Hardware and software layer 60 comprises hardware and software components. Examples of hardware components include mainframe 61; RISC (reduced instruction set computer) architecture-based server 62; server 63; blade server 64; storage device 65; and network and networking components 66. In some embodiments, software components comprise network application server software 67 and database software 68, which may be an identity management application (e.g., VMM). Note that, herein, the term "database software 68" may be used synonymously with "identity management application 68."

[0041] The virtualization layer 70 provides an abstraction layer over which the following examples of virtual entities can be provided: virtual servers 71; virtual storage 72; virtual networks, including virtual private networks 73; virtual applications and operating systems 74; and virtual clients 75.

[0042] In one example, management layer 80 may provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification of cloud consumers and tasks, as well as protection of data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management so that required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides proactive provisioning and procurement of cloud computing resources that anticipate future requirements according to SLAs.

[0043] The workload layer 90 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this layer include mapping and navigation 91; software development and lifecycle management 92; virtual classroom instruction delivery 93; data analytics processing 94; transaction processing 95; and a data corruption detection component (component) 122.

[0044] FIG. 3 is a functional block diagram illustrating a distributed data processing environment, generally designated 300, according to one embodiment of the present invention. As used herein, the term "distributed" refers to a computer system that includes multiple physically separate devices that operate together as a single computer system. FIG. 3 provides only an example of one implementation and does not imply any limitations with respect to the environments in which different embodiments may be implemented. Many modifications to the illustrated environment may be made by one of ordinary skill in the art without departing from the scope of the invention, as recited by the claims. Distributed data processing environment 300 includes standard network device (computing device) 101, computing device 102, server computer system (server) 110, and server computer system (server) 120, interconnected via standard network (network) 130, and quantum device 103 and quantum device 104, interconnected via quantum channel 106.

[0045] Network 130 may be, for example, a storage area network (SAN), a telecommunications network, a local area network (LAN), a wide area network (WAN) such as the Internet, wireless technologies for exchanging data over short distances (from fixed and mobile devices, using short-wavelength ultra-high frequency (UHF) radio waves in the 2.4-2.485 GHz Industrial, Scientific, and Medical (ISM) band, creating a personal area network (PAN), or a combination of the three), and may include wired, wireless, or fiber optic connections. Network 130 may include one or more wired and / or wireless networks capable of receiving and transmitting data, voice, and / or video signals, including multimedia signals including voice, data, text, and / or video data. In general, network 130 may be any combination of connections and protocols supporting communication between computing device 101, server 120, and server 110, and any other computing devices, server computers, and / or storage devices (not shown in FIG. 3) in distributed data processing environment 300.

[0046] Quantum channel 106 is a communication channel that can transmit quantum information and standard information. In the illustrated embodiment, quantum channel 106 enables communication between two or more quantum devices 103 and 104 via QKD link 105. QKD link 105 represents a logical connection between two remote QKD nodes (e.g., quantum device 103 and quantum device 104), each connected by a quantum channel (e.g., quantum channel 106) used for transmitting photons and a public channel used for post-processing of the exchanged information. Quantum channel 106 can be any type of quantum channel known and understood in the art. Quantum devices 103 and 104 enable QKD between server 110 and server 120. In various embodiments of the present invention, quantum devices 103 and 104 can each be any quantum channel known and understood in the art.

[0047] In some embodiments of the present invention, computing device 101 and computing device 102 may each be, but are not limited to, a standalone device, a client, a server, a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a smartphone, a desktop computer, a smart TV, a smart watch, a radio, a stereo system, a cloud-based service (e.g., a cognitive cloud-based service), any HUD known in the art, and / or any programmable electronic computing device capable of communicating with various components and devices in distributed data processing environment 300 via network 130 or any combination thereof. Generally, computing devices 101 and 102 may each represent any programmable computing device or combination of programmable computing devices capable of executing machine-readable program instructions and communicating with users of other computing devices via network 130 and / or capable of executing machine-readable program instructions and communicating with server 120 and / or server 110. In some embodiments, computing devices 101 and 102 may each represent multiple computing devices.

[0048] In some embodiments of the present invention, computing devices 101 and 102 may each represent any programmable electronic computing device or combination of programmable electronic computing devices capable of executing machine-readable program instructions, manipulating executable machine-readable instructions, and communicating with server 120, server 110, and other computing devices (not shown) in distributed data processing environment 300 over a network, such as network 130. Computing devices 101 and 102 may each include an instance of a user interface (interface) and one or more local storage devices. Although not shown in FIG. 3 , in various embodiments, computing devices 101 and 102 may each have multiple user interfaces. Although not shown in FIG. 3 , in other embodiments, distributed data processing environment 300 may include multiple computing devices, multiple server computers, and / or multiple networks. Computing devices 101 and 102 may each include internal and external hardware components, as shown and described in more detail with respect to FIG. 7 .

[0049] 1, the interfaces may provide an interface to computing device 101, computing device 102, server 110, server 120, component 122, quantum device 103, quantum device 104, and / or any other user-accessible components (e.g., software, web services, and / or hardware) executing within distributed data processing environment 300. Through the user interfaces, computing device 101 or 102 may enable users and / or clients to interact with data corruption detection component 122, server 110, and / or server 120 in various ways, such as sending program instructions, receiving program instructions, sending and / or receiving messages, updating data, sending data, entering data, editing data, collecting data, and / or receiving data. In one embodiment, the interfaces may be graphical user interfaces (GUIs) or web user interfaces (WUIs) and may display at least text, documents, web browser windows, user options, application interfaces, and instructions for operation. The interface may include data (such as graphics, text, and sound) that is presented to the user and control sequences that the user employs to control operation. In another embodiment, the interface may be mobile application software that provides an interface between a user of computing device 101 or computing device 102 and quantum device 103, quantum device 104, server 110, and / or server 120. Mobile application software, or "applications," may be designed to run on smartphones, tablet computers, and other computing devices.In one embodiment, the interface may enable a user of computing device 101 or computing device 102 to at least send data, input data, edit (annotate) data, collect data, and / or receive data.

[0050] Server 110 and server 120 may each be a standalone computing device, an administration server, a web server, a mobile computing device, one or more client servers, or any other electronic device or computing system capable of receiving, transmitting, and processing data. In other embodiments, server 110 and server 120 may each represent a server computing system utilizing multiple computers, such as, but not limited to, a server system as in a cloud computing environment. In another embodiment, server 110 and server 120 may each represent a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that function as a single pool of seamless resources when accessed within distributed data processing environment 300. In various embodiments of the present invention, server 110 and server 120 may be physical or virtual servers and / or any other servers known in the art. Server 110 and server 120 may each include internal and external hardware components, as shown and described in further detail with respect to FIG. 7 . In some embodiments of the present invention, server 110 and server 120 may each represent multiple server computers. In various embodiments of the present invention, server 110 and server 120 may each be a system of server computers.

[0051] In the illustrated embodiment, server 110 includes storage system 111 represented by cloud 170, and server 120 includes storage system 121 represented by cloud 172. Storage system 111 is connected to node 113.1-N , and the following node 113. Similarly, storage system 121 includes node 123 1-N , and node 123. As used herein, N represents a positive integer, and therefore the number of scenarios implemented in a given embodiment of the present invention is not limited to those shown in FIG. 3 . Nodes 113 and 123 may be one or more storage nodes having one or more hard disk drives (HDDs) or solid state drives (SSDs). A storage node may also be a virtual machine or virtual logical unit number (LUN) having access to one or more HDDs and / or SSDs. In some embodiments, nodes 113 and 123 may be one or more virtual storage nodes. In various embodiments, server 110 constitutes cloud 170 via node 113, and server 120 constitutes cloud 172 via node 123. Clouds 170 and 172 may be cloud environments capable of cloud storage and / or cloud computing. In various embodiments of the present invention, clouds 170 and 172 may be any cloud environments known in the art.

[0052] In the illustrated embodiment, nodes 113 and 123 communicate with a blockchain ledger architecture (ledger architecture) 140. In various embodiments of the invention, nodes 113 and 123 record transactions (e.g., data transfers or replications) on a blockchain 144 and store the transactions in a ledger state database 142. Blockchain 144 is a blockchain as known and understood in the art. Blockchain 144 provides a secure mechanism for storing data, allowing blockchain payload data to be collected at a target destination. Because checksum data is stored as part of the blockchain payload, the checksum data cannot be comprehensibly readable and is protected from security breaches. Ledger state database 142 is a blockchain-based database or any database as known and understood in the art. Blockchain 144 may comprise a consensus network (consensus network 160) as shown in FIG. 5A. Consensus network 160 is a fault-tolerant mechanism used in computer and blockchain systems to reach the necessary agreement among distributed processes or multi-agent systems on a single data value or single state of the network.

[0053] Each of nodes 113 and 123 may comprise a data / knowledge repository and / or database that may be written to and / or read by one or a combination of components 122, server 110, server 120, computing device 102, and / or computing device 101. Each of nodes 113 and 123 may comprise any type of storage device implementation capable of storing data and configuration files that may be accessed and utilized by server 110 and / or server 120, such as, but not limited to, a database server, a hard disk drive, or flash memory. In some embodiments of the present invention, each of nodes 113 and 123 may comprise a hard drive, a memory card, computer output to a laser disk (cold storage), and / or any other form of data storage known in the art. In various embodiments, each of nodes 113 and 123 may access, store, and / or contain user data, physical room data, and meeting data, and / or data shared across distributed data processing environment 300.

[0054] In the illustrated embodiment, component 122 executes on storage system 111 within server 110. In other embodiments, component 122 may execute on storage system 121, computing device 101, or computing device 102. In various embodiments of the present invention, although not shown in FIG. 3 , component 122 may execute on multiple servers 110, multiple servers 120, multiple computing devices 101, and / or multiple computing devices 102. In some embodiments, component 122 may be located and / or execute anywhere within distributed data processing environment 300, so long as component 122 is connected to and / or in communication with computing device 101, computing device 102, quantum device 103, quantum device 104, server 110, and / or server 120 via network 130.

[0055] Component 122 may use symmetric key encryption mechanisms to detect data corruption and block-level I / O replication from the source storage system (e.g., storage system 111 and / or storage system 121) to the target cloud instance. In various embodiments of the invention, component 122 generates secure symmetric keys between the source and target systems using QKD, which may be used for in-flight data replication. For example, storage system 111 (the source system) receives an instruction to send data to storage system 121 (the target system). In this example, component 122 generates secure symmetric keys between storage system 111 and storage system 121 to secure data transactions between storage system 111 and storage system 121. In various embodiments of the invention, component 122 discovers the physical location of the storage instance in the cloud (e.g., cloud 170 or cloud 172), gathers information from underlying received quantum keys (e.g., quantum key 116 and quantum key 118), and uses the gathered quantum keys to store, maintain, and encrypt data.

[0056] In various embodiments of the invention, component 122 encrypts one or more packet payloads within an Ethernet packet frame, keeping routing intact for efficient path traversal of block data across clouds 170 and 172. Component 122 may calculate a checksum of the data payload for an Internet Protocol (IP) packet and request submission to a blockchain ledger (e.g., blockchain 144) along with the IP packet serial number (ser_no) and checksum. In various embodiments of the invention, component 122 stores the checksum data as a payload on blockchain 144 via ledger state database 142, and the stored checksum can be requested by a target system.

[0057] In various embodiments of the present invention, component 122 provides an inbound or out-of-bound application programming interface (API) infrastructure for communication between QKD devices (e.g., quantum device 103 and quantum device 104) and block storage instances in the cloud based on physical device identification. Additionally, component 122 may perform information tunneling, as appropriate, for data transfer between storage system 111 and storage system 121 using the enabled communication described above.

[0058] In various embodiments of the present invention, component 122 transmits data to a target location via a cloud infrastructure network (e.g., replication link 115) using quantum key transport mode encrypted packets. Component 122 compares checksum data at the target system with the IP packet extracted checksum and the blockchain-based checksum to determine whether the checksum data matches the stored IP packet extracted checksum and the blockchain-based checksum. If component 122 determines that the checksum data matches the IP packet extracted checksum and the blockchain-based checksum, component 122 decrypts the data payload checksum match. However, if component 122 determines that the checksum data does not match the IP packet extracted checksum and the blockchain-based checksum, component 122 issues a data SEND_FAILURE, initiating a retransmission because the original data is corrupted. In various embodiments of the present invention, component 122 detects and identifies the level of corruption in the data and updates the respective entities of the detected and identified data accordingly.

[0059] In various embodiments of the invention, component 122 utilizes existing blockchain payloads to reduce checksum overload on the blockchain and performance efficiency, and checksum deduplication via blockchain 144. To improve the selective quality of service data replication, component 122 may send checksums via the blockchain ledger (e.g., blockchain 144) for specific specified objects, sets of objects, or inherited objects that it traverses. In various embodiments of the invention, component 122 enables selective secure (e.g., ultra-secure) replication as a service via the cloud (e.g., cloud 170 and / or cloud 172) and configuration analysis before performing secure checksum verification. In various embodiments of the invention, component 122 provides communication service provider (CSP) interconnection for collecting, extracting, and verifying configuration changes in subscriptions to checksum verifier objects. In some embodiments, component 122 activates new symmetric keys, initiates replication traffic using the new keys, and accordingly enables symmetric key encryption based on the collected, extracted, and verified configuration changes.

[0060] 4 illustrates a node architecture of nodes 113 and 123, generally designated 400, in communication with computing device 101, computing device 102, server 110, server 120, and / or blockchain 144 in distributed data processing environment 300 of FIG. 3 according to one embodiment of the present invention. FIG. 4 provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the illustrated environment may be made by one skilled in the art without departing from the scope of the invention as recited by the claims.

[0061] In the illustrated embodiment, the virtualization engine 402 in the cloud represents a node (e.g., node 113 and / or node 123). In the illustrated embodiment, virtual machine (VM) 1081-N , hereafter VMs 108 contribute to the node. As used herein, N represents a positive integer, and thus the number of scenarios implemented in a given embodiment of the present invention is not limited to those shown in FIG. 4. VMs 108 enable application deployment and issue block storage I / O requests to a storage target system (e.g., storage system 121). VMs 108 are virtual machines as they are known and understood in the art. In the illustrated embodiment, the node includes a blockchain API 152, a packet generator 153, an IP header checksum mapper 154, a symmetric key store 155, a checksum uploader 156, a QKD interconnection API 157, a CSP interconnection API 158, and a metadata mapper 159, which communicate via a platform mapper queue 151. In the illustrated embodiment, block API 152 communicates with blockchain consensus network 160, relaying data to and from blockchain consensus network 160, which comprises blockchain 144 and / or ledger state database 142. In various embodiments of the invention, blockchain API 152 enables data communication and storage to blockchain consensus network 160. In various embodiments of the invention, symmetric key store 155 enables storage of active and previously used generated keys, and key store 155 directs storage of symmetric keys on the blockchain consensus network and / or connected backend block storage 162. Further, in the illustrated embodiment, IP header checksum mapper communicates with connected backend block storage 162, relaying data to and from connected backend block storage 162. Additionally, in the illustrated embodiment, QKD interconnection API communicates with QKD endpoint devices, relaying data to and from QKD endpoint devices.

[0062] For example, node 113 may have various layers of an I / O processing stack, one of which is replication, and the replication layer addresses the requirements and processing of an I / O state machine for maintaining a consistent copy of a replication-enabled volume at the storage level. In one or more embodiments involving a replication-enabled storage system, the replication-enabled storage system has at least two endpoint devices, one at each storage system. Node 113 may typically include a packet generator (e.g., packet generator 153) that generates replication network packets at the source storage system for write replication purposes and sends them over a network (e.g., network 130 or replication link 115). In this example, a symmetric key generator creates a key used for packet encryption before the replication network packets are sent over the network. In this example, when the target storage system collects the packets, the replication target system (i.e., the target storage system) decrypts the collected packets using the generated key and submits the packets to a target replication manager, which manages and executes the next set of I / O completion operations.

[0063] 5A and 5B are functional block diagrams illustrating a distributed data processing environment, generally designated 500, for detecting data corruption between storage systems, according to one embodiment of the present invention. As used herein, the term "distributed" refers to a computer system that includes multiple physically separate devices that operate together as a single computer system. 5A and 5B provide an illustration of one implementation and do not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the illustrated environment may be made by one skilled in the art without departing from the scope of the invention, which is recited by the claims.

[0064] In various embodiments of the present invention, in a public cloud implementation of a storage virtualization system (e.g., storage systems 111, 121 and clouds 170 and 172), when replication is configured between instances of a storage system (e.g., storage system 111 and / or storage system 121) for disaster recovery or high availability of block data, I / O traffic is sent on replication link 115 across storage controller engines in storage system 111 and storage system 121 in clouds 170 and 172, respectively. A QKD mechanism may generate one or more secret keys at the source and target storage systems (e.g., storage system 111 to storage system 121, respectively) via quantum device 103 and quantum device 104, and once quantum keys (e.g., quantum keys (QK) 116 and QK 118) are generated at their respective locations, the storage systems use symmetric key encryption (e.g., key 210 and key 220). In various embodiments of the present invention, when storage system 111 or storage system 121 decides to replicate data from storage instance X to Y, the QKD API is invoked. The QKD API (e.g., QKD interconnected API 157) shown in Figure 4 is responsible for obtaining the physical locations of the source and target within the cloud infrastructure and communicating with the QKD endpoint devices (e.g., server 110, server 120, computing device 101, and / or computing device 102).

[0065] In various embodiments of the invention, once base locations are identified for both storage system 111 and storage system 121, a QKD mechanism is initiated, which then generates secure keys (e.g., key 116 and key 118) at both endpoints. In various embodiments of the invention, once secure keys are generated, replicated block-level I / O traffic (traffic 119) is transmitted via data encryption over replication link 115 and QKD link 105 between storage system 111 and storage system 121. In various embodiments of the invention, component 122, not shown in FIGS. 5A and 5B, stores the received data after decryption on storage system 111 and / or storage system 121 via SSD 502, SSD 512, HDD 504, HDD 514, near-line storage 506, and / or near-line storage 516. In various embodiments of the invention, the storage function is predetermined. In other embodiments, the storage function is customizable. In various embodiments of the present invention, due to transport mode encryption on the block storage system, component 122 encrypts the payload using a key (e.g., key 116 or key 118) generated by the QKD network. In various embodiments of the present invention, because routing and other IP packets are not encrypted, they can potentially modify the payload and update IP headers to corrupted values. To mitigate corruption, component 122 can enable a mechanism for storing checksum data on blockchain 144 before sending data packets over network 130 (e.g., sending IP packets as traffic 119 over replication link 115), which mechanism, via component 122, generates a checksum of the packet payload, embeds the checksum in the packet, and stores the data on the ledger for target system read purposes.

[0066] Checksums comprise little or no data, typically a few bytes per packet, so it is beneficial to store IP packet checksums as part of the blockchain payload. When a data packet reaches its destination, the IP header is extracted and the checksum value is compared to a value submitted to a blockchain ledger (e.g., blockchain 144). In various embodiments of the invention, if malicious activity is detected or occurs within the IP packet, the blockchain payload checksum and the IP packet checksum will not match and data corruption will be detected. If the checksums match the IP header and blockchain payload, the data is decrypted and further processing is performed on the data.

[0067] Component 122 may select blockchain-enabled payload validation for symmetric QKD encryption mechanisms deployed as a service model. In various embodiments of the present invention, a specific object or a set of inherited object sets is subscribed to for enhanced security mechanisms in transport mode encryption. In one embodiment, selected replicated I / Os that belong to the set of subscribed services and use transport mode are tagged to store checksum values ​​in the blockchain payload. This service model enables configuration-based decision-making capabilities for storage systems (e.g., system 111 and storage system 121) installed in a cloud (e.g., cloud 170 and / or cloud 172) for additional security in combination with the QKD mechanism. Furthermore, in various embodiments of the present invention, if frequent checksum mismatches trigger a security violation quarantine requiring corrective action, component 122 verifies the blockchain payload for corruption. The verification comprises component 122 requesting checksums via ledgers of applications that component 122 has been granted access to and / or execution, and performing checksum verification in the header and ledger. If a difference is found, the packet is dropped.

[0068] In various embodiments of the present invention, communication between cloud storage engine instances is performed using either a separate out-of-band protocol or reserved fields in the write CDB (SCSI CDB). In some embodiments, both the out-of-band protocol and reserved fields function as layers within the same storage controller and communicate information across layers.

[0069] In various embodiments of the present invention, a SCSI Command Descriptor Block (CDB) mechanism may be used to implement an inbound or out-of-bound API for communication across modules of the proposed system, where the CDB is used to exchange commands across components that are based on the SCSI standard and typically consist of 6, 10, 12, or 16 bytes. However, the communication method may vary based on the implementation design aspects of the appliance environment.

[0070] 6 illustrates the operational steps of a component 122, generally designated 600, in communication with servers 110 and 120 in distributed data processing environment 300 of FIG. 3, for detecting data corruption between storage systems, in accordance with one embodiment of the present invention. FIG. 6 is intended to provide an illustration of one implementation and is not intended to suggest any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by one skilled in the art without departing from the scope of the present invention, as recited by the claims.

[0071] In step 602, component 122 generates a secure symmetric key. In various embodiments of the invention, component 122 generates a secure symmetric key between a source and a target system using QKD, which may be used for in-flight data replication. For example, storage system 111 (the source system) receives an instruction to send data to storage system 121 (the target system). In this example, component 122 generates a secure symmetric key between storage system 111 and storage system 121 to secure the data transaction between storage system 111 and storage system 121. In various embodiments of the invention, component 122 discovers the physical location of a storage instance in a cloud (e.g., cloud 170 and / or cloud 172), collects information from underlying received quantum keys (e.g., quantum key 116 and quantum key 118), and uses the collected quantum keys to store, maintain, and encrypt data.

[0072] At step 604, component 122 encrypts one or more packet payloads. In various embodiments of the invention, component 122 encrypts one or more packet payloads within Ethernet packet frames, keeping routing intact for efficient path traversal of block data across clouds 170 and 172. Component 122 may calculate a checksum of the data payload for an Internet Protocol (IP) packet and request submission to a blockchain ledger (e.g., blockchain 144) along with the IP packet ser_no and checksum. In various embodiments of the invention, component 122 stores the checksum data as a payload on blockchain 144 via ledger state database 142, and the stored checksum can be requested by a target system.

[0073] In step 606, component 122 performs information tunneling for data transfer between storage systems. In various embodiments of the present invention, component 122 may perform information tunneling using the enabled communications described above, as appropriate, for data transfer between storage system 111 and storage system 121. In various embodiments of the present invention, component 122 provides an inbound or out-of-bound API infrastructure for communication between QKD devices (e.g., quantum device 103 and quantum device 104) and block storage instances in the cloud based on physical device identification.

[0074] In step 608, component 122 determines whether the checksum data matches the IP packet extracted checksum and the blockchain-based checksum. In various embodiments of the present invention, component 122 uses quantum key transport mode encrypted packets to transmit data to a target location via a cloud infrastructure network (e.g., replication link 115). Component 122 determines whether the checksum data matches the stored IP packet extracted checksum and the blockchain-based checksum by comparing the checksum data at the target system with the IP packet extracted checksum and the blockchain-based checksum. If component 122 determines that the checksum data matches the IP packet extracted checksum and the blockchain-based checksum (yes step), component 122 proceeds to step 616. However, if component 122 determines that the checksum data does not match the IP packet extracted checksum and the blockchain-based checksum (no step), component 122 proceeds to step 610. In various embodiments of the present invention, if component 122 determines that the checksum data does not match the IP packet extracted checksum and the blockchain-based checksum, component 122 issues the data SEND_FAILURE and a retransmission is initiated because the original data is corrupted.

[0075] Component 122 decrypts the data payload in step 610. In various embodiments of the invention, if the checksums match, component 122 decrypts the data payload.

[0076] Component 122 processes the decrypted data in step 612. In various embodiments of the invention, component 122 processes the decrypted data payload.

[0077] In step 614, component 122 identifies corruption in the data payload. In various embodiments of the present invention, component 122 detects and identifies the level of corruption in the data payload based on the comparison outlined in step 608, and updates each entity of the detected and identified data accordingly.

[0078] In step 616, component 122 verifies the identified corruption. In various embodiments of the invention, component 122 verifies the blockchain payload for corruption if frequent checksum mismatches trigger a security breach quarantine requiring corrective action. The frequent checksum mismatch trigger can be a predetermined or customizable number. In various embodiments of the invention, component 122 selects a blockchain-enabled payload validation for a symmetric QKD encryption mechanism deployed as a service model. In various embodiments of the invention, component 122 enables secure replication via cloud 170 and / or cloud 172 to enable configuration analysis.

[0079] Component 122 updates each entity of the detected and identified data at step 618. In various embodiments of the invention, component 122 updates each entity of the detected and identified data.

[0080] 7 illustrates a block diagram of components of servers 110 and / or 120 in distributed data processing environment 300 of FIG. 3 in accordance with one embodiment of the present invention. It should be understood that FIG. 7 is intended as an example of one implementation only and is not intended to suggest any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

[0081] 7 illustrates a computer system 700, where server 110 and / or server 120 represent an example of a computer system 700 including component 122. The computer system includes a processor 701, a cache 703, a memory 702, persistent storage 705, a communication unit 707, an input / output (I / O) interface 706, a display 709, external devices 708, and a communication fabric 704. The communication fabric 704 provides communication between the cache 703, the memory 702, the persistent storage 705, the communication unit 707, and the input / output (I / O) interface 706. The communication fabric 704 may be implemented by any architecture designed to communicate data and / or control information between processors (such as microprocessors, communication, and network processors), system memory, peripheral devices, and any other hardware components in the system. For example, the communication fabric 704 may be implemented by one or more buses or crossbar switches.

[0082] Memory 702 and persistent storage 705 are computer-readable storage media. In this embodiment, memory 702 includes random access memory (RAM). In general, memory 702 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 703 is a high-speed memory that enhances the performance of processor 701 by holding recently accessed data and near-recently accessed data from memory 702.

[0083] Program instructions and data used to practice embodiments of the present invention may be stored in persistent storage 705 and memory 702 for execution by one or more of the respective processors 701 via cache 703. In one embodiment, persistent storage 705 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 705 may include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0084] The media used by persistent storage 705 may also be removable. For example, a removable hard drive may be used for persistent storage 705. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 705.

[0085] Communications unit 707, in these examples, provides for communication with other data processing systems or devices. In these examples, communications unit 707 includes one or more network interface cards. Communications unit 707 may provide communications using either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage 705 through communications unit 707.

[0086] The I / O interface 706 allows for the input and output of data with other devices that may be connected to each computer system. For example, the I / O interface 706 may provide connection to external devices 708, such as a keyboard, keypad, touch screen, and / or any other suitable input device. The external devices 708 may also include portable computer-readable storage media, such as thumb drives, magnetic disks, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention may be stored on such portable computer-readable storage media and loaded into persistent storage 705 via the I / O interface 706. The I / O interface 706 also connects to a display 709.

[0087] Display 709 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.

[0088] The programs described herein are identified based on the applications for which they are implemented in particular embodiments of the invention. However, it should be understood that any particular program names herein are used merely for convenience, and therefore the present invention should not be limited to use in only any particular application identified and / or suggested by such names.

[0089] The present invention may be a system, a method, and / or a computer program product, which may include a computer-readable storage medium (or media) having computer-readable program instructions stored thereon for causing a processor to perform aspects of the present invention.

[0090] A computer-readable storage medium may be any tangible device capable of retaining and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures having instructions recorded thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein should not be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or electrical signals transmitted through wires.

[0091] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium within the respective computing / processing device for storage.

[0092] The computer-readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, C++, or the like, or conventional procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry in order to perform aspects of the present invention.

[0093] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0094] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute on the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0095] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a computer-implemented process, whereby the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0096] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, having one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or that executes a combination of dedicated hardware and computer instructions.

[0097] The description of various embodiments of the present invention has been presented for purposes of illustration and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will become apparent to those skilled in the art without departing from the scope and spirit of the invention. The terminology used herein has been selected to best explain the principles of the embodiments, practical applications, or technical improvements over commercially available technology, or to enable others skilled in the art to understand the embodiments disclosed herein. 。 [Item 1] 1. A computer-implemented method for detecting data corruption between storage systems, comprising: performing information tunneling for data transfer between the source storage system and the target storage system; Determining that the checksum data of the data payload does not match the Internet Protocol (IP) packet extract checksum and the blockchain-based checksum. and the determining step comprises: comparing the checksum data at the target storage system with the IP packet extracted checksum and the blockchain-based checksum to identify one or more checksum mismatches; identifying corruption in a data payload based on the checksum data in the target storage system and the comparison between the IP packet extracted checksum and the blockchain-based checksum; verifying the corruption in the data payload in response to receiving a predetermined number of checksum mismatches that trigger a security violation quarantine requiring corrective action; and updating an entity for each identified corruption in the data payload; 10. A computer-implemented method comprising: [Item 2] generating one or more secure symmetric keys between the source storage system and the target storage system using quantum key distribution; discovering the physical location of one or more storage instances in the source storage system or the target storage system; collecting information from one or more underlying symmetric keys; encrypting data using one or more collected quantum keys; and storing said data using said one or more collected quantum keys; Item 1. The computer-implemented method of item 1, further comprising: [Item 3] encrypting packet payloads within one or more Ethernet packet frames and maintaining routing intact for efficient path traversal of block data across the source storage system and the target storage system; calculating a checksum of the data payload for the IP packet and requesting submission to the blockchain ledger along with the IP packet serial number and checksum; and storing the checksum data as a payload in the blockchain ledger required by the target storage system, wherein the checksum data is stored in the blockchain ledger required by the target storage system; 2. The computer-implemented method of any of the preceding items, further comprising: [Item 4] 10. The computer-implemented method of claim 1, further comprising providing an inbound or out-of-bound API infrastructure for communication between a quantum key distribution device and a block storage instance within the source storage system or the target storage system based on a physical device identification. [Item 5] 4. The computer-implemented method of claim 1, further comprising: transmitting the checksum data to the target storage system over a cloud infrastructure network using one or more quantum key transport mode encrypted packets; and comparing the checksum data at the target storage system with the IP packet extracted checksum and a blockchain-based checksum. [Item 6] Item 10. The computer-implemented method of any of the preceding items, further comprising issuing a data SEND_FAILURE, whereby a retransmission is initiated if the original data is corrupted. [Item 7] 10. The computer-implemented method of claim 1, further comprising transmitting the checksum data via a blockchain ledger for one or more specified objects, one or more sets of objects, or one or more inherited objects that are traversed to improve the selection quality of service data replication. [Item 8] 1. A computer system for detecting data corruption between storage systems, comprising: one or more computer processors; one or more computer-readable storage devices; program instructions stored on the one or more computer-readable storage devices for execution by at least one of the one or more computer processors; wherein the stored program instructions: program instructions for performing information tunneling for data transfer between a source storage system and a target storage system; program instructions for determining that checksum data of a data payload does not match an Internet Protocol (IP) packet extract checksum and a blockchain-based checksum wherein the program instructions for determining: program instructions for comparing the checksum data at the target storage system with the IP packet extracted checksum and the block chain-based checksum to identify one or more checksum mismatches; program instructions for identifying corruption in a data payload based on the checksum data at the target storage system and the comparison between the IP packet extracted checksum and the blockchain-based checksum; program instructions for verifying the corruption in the data payload in response to receiving a predetermined number of checksum mismatches that trigger a security violation quarantine requiring corrective action; and program instructions for updating an entity for each identified corruption in the data payload; 2. A computer system comprising: [Item 9] program instructions for generating one or more secure symmetric keys between the source storage system and the target storage system using quantum key distribution; program instructions for discovering the physical location of one or more storage instances in the source storage system or the target storage system; program instructions for collecting information from one or more underlying symmetric keys; program instructions for encrypting data using one or more collected quantum keys; and program instructions for storing the data using the one or more collected quantum keys; 2. The computer system of claim 1, further comprising: [Item 10] program instructions for encrypting packet payloads in one or more Ethernet packet frames and maintaining routing intact for efficient path traversal of block data across the source storage system and the target storage system; program instructions for calculating a checksum of the data payload for an IP packet and requesting submission to a blockchain ledger along with the IP packet serial number and checksum; and program instructions for storing the checksum data as a payload in the blockchain ledger as required by the target storage system, where the checksum data is required by the target storage system; 10. The computer system according to any one of items 8 to 9, further comprising: [Item 11] 11. The computer system of any of items 8 to 10, further comprising program instructions for providing an inbound or out-of-bound API infrastructure for communication between a quantum key distribution device and a block storage instance within the source storage system or the target storage system based on a physical device identification. [Item 12] 12. The computer system of any of items 8 to 11, further comprising program instructions for transmitting the checksum data to the target storage system over a cloud infrastructure network using one or more quantum key transport mode encrypted packets, and comparing the checksum data at the target storage system with the IP packet extracted checksum and the blockchain-based checksum. [Item 13] 13. The computer system of any of the preceding items 8 to 12, further comprising program instructions for issuing a data SEND_FAILURE and initiating a retransmission if the original data is corrupted. [Item 14] 14. The computer system of any of the preceding items 8 to 13, further comprising program instructions for transmitting the checksum data via a blockchain ledger for one or more specified objects, one or more sets of objects, or one or more inherited objects that are traversed to improve the selection quality of service data replication. [Item 15] 1. A computer program product for detecting data corruption between storage systems, comprising: one or more computer-readable storage devices and program instructions stored on said one or more computer-readable storage devices; wherein the stored program instructions: program instructions for performing information tunneling for data transfer between a source storage system and a target storage system; program instructions for determining that checksum data of a data payload does not match an Internet Protocol (IP) packet extract checksum and a blockchain-based checksum where the procedure for determining is: program instructions for comparing the checksum data at the target storage system with the IP packet extracted checksum and the block chain-based checksum to identify one or more checksum mismatches; program instructions for identifying corruption in a data payload based on the checksum data at the target storage system and the comparison between the IP packet extracted checksum and the blockchain-based checksum; program instructions for verifying corruption in the data payload in response to receiving a predetermined number of checksum mismatches that trigger a security violation quarantine requiring corrective action; and program instructions for updating an entity for each identified corruption in the data payload; a computer program product, [Item 16] program instructions for generating one or more secure symmetric keys between the source storage system and the target storage system using quantum key distribution; program instructions for discovering the physical location of one or more storage instances in the source storage system or the target storage system; program instructions for collecting information from one or more underlying symmetric keys; program instructions for encrypting data using one or more collected quantum keys; and program instructions for storing the data using the one or more collected quantum keys; 2. The computer program product of claim 1, further comprising: [Item 17] program instructions for encrypting packet payloads in one or more Ethernet packet frames and maintaining routing intact for efficient path traversal of block data across the source storage system and the target storage system; program instructions for calculating a checksum of the data payload for an IP packet and requesting submission to a blockchain ledger along with the IP packet serial number and checksum; and program instructions for storing the checksum data as a payload in the blockchain ledger required by the target storage system, wherein the checksum data is stored in the blockchain ledger required by the target storage system; 17. The computer program product of any of the preceding items 15 to 16, further comprising: [Item 18] 18. The computer program product of any of the preceding items 15 to 17, further comprising program instructions for providing an inbound or out-of-bound API infrastructure for communication between quantum key distribution devices and block storage instances within the source storage system or the target storage system based on physical device identification. [Item 19] 19. The computer program product of any of the preceding items 15 to 18, further comprising program instructions for transmitting the checksum data to the target storage system over a cloud infrastructure network using one or more quantum key transport mode encrypted packets, and comparing the checksum data at the target storage system with the IP packet extracted checksum and a blockchain-based checksum. [Item 20] 20. The computer program product of any of the preceding items 15 to 19, further comprising program instructions for transmitting the checksum data via a blockchain ledger for one or more specified objects, one or more sets of objects, or one or more inherited objects that are traversed to improve the selection quality of service data replication.

Claims

1. 1. A computer-implemented method for detecting data corruption between storage systems, comprising: performing information tunneling for data transfer between the source storage system and the target storage system; Determining that the checksum data of the data payload does not match the Internet Protocol (IP) packet extract checksum and the blockchain-based checksum. and the determining step comprises: comparing the checksum data at the target storage system with the IP packet extracted checksum and the block chain-based checksum to identify one or more checksum mismatches; identifying corruption in a data payload based on the checksum data in the target storage system and the comparison between the IP packet extracted checksum and the blockchain-based checksum; verifying the corruption in the data payload in response to receiving a predetermined number of checksum mismatches that trigger a security violation quarantine requiring corrective action; and updating an entity for each identified corruption in the data payload; wherein the IP packet extracted checksum is a checksum for a data payload in the IP packet.

2. generating one or more secure symmetric keys between the source storage system and the target storage system using quantum key distribution; Discovering the physical location of one or more storage instances in the source storage system or the target storage system; collecting information from one or more underlying symmetric keys; encrypting data using one or more collected quantum keys; and storing the data using the one or more collected quantum keys; The computer-implemented method of claim 1 further comprising:

3. encrypting packet payloads within one or more Ethernet packet frames and maintaining routing intact for efficient path traversal of block data across the source storage system and the target storage system; calculating a checksum of the data payload for the IP packet and requesting submission to the blockchain ledger along with the IP packet serial number and checksum; and storing the checksum data as a payload in the blockchain ledger required by the target storage system, wherein the checksum data is stored in the blockchain ledger required by the target storage system; The computer-implemented method of claim 1 or 2, further comprising:

4. 4. The computer-implemented method of claim 1, further comprising providing an inbound or out-of-bound API infrastructure for communication between quantum key distribution devices and block storage instances within the source storage system or the target storage system based on physical device identification.

5. 5. The computer-implemented method of claim 1, further comprising: transmitting the checksum data to the target storage system over a cloud infrastructure network using one or more quantum key transport mode encrypted packets; and comparing the checksum data at the target storage system with the IP packet extracted checksum and the blockchain-based checksum.

6. The computer-implemented method of claim 1 , further comprising issuing a data SEND_FAILURE to initiate a retransmission if the original data is corrupted.

7. 7. The computer-implemented method of claim 1, further comprising transmitting the checksum data via a blockchain ledger for one or more specified objects, one or more sets of objects, or one or more inherited objects that are traversed to improve the selection quality of service data replication.

8. 1. A computer system for detecting data corruption between storage systems, comprising: one or more computer processors; one or more computer-readable storage devices; program instructions stored on the one or more computer-readable storage devices for execution by at least one of the one or more computer processors; wherein the stored program instructions: program instructions for performing information tunneling for data transfer between a source storage system and a target storage system; program instructions for determining that checksum data of a data payload does not match an Internet Protocol (IP) packet extraction checksum and a blockchain-based checksum wherein the program instructions for determining: program instructions for comparing the checksum data at the target storage system with the IP packet extracted checksum and the block chain-based checksum to identify one or more checksum mismatches; program instructions for identifying corruption in a data payload based on the checksum data at the target storage system and the comparison between the IP packet extracted checksum and the blockchain-based checksum; program instructions for verifying the corruption in the data payload in response to receiving a predetermined number of checksum mismatches that trigger a security violation quarantine requiring corrective action; and program instructions for updating an entity for each identified corruption in the data payload; wherein the IP packet extraction checksum is a checksum for a data payload in the IP packet.

9. program instructions for generating one or more secure symmetric keys between the source storage system and the target storage system using quantum key distribution; program instructions for discovering the physical location of one or more storage instances in the source storage system or the target storage system; program instructions for collecting information from one or more underlying symmetric keys; program instructions for encrypting data using one or more collected quantum keys; and program instructions for storing the data using the one or more collected quantum keys; The computer system of claim 8 further comprising:

10. program instructions for encrypting packet payloads in one or more Ethernet packet frames and maintaining routing intact for efficient path traversal of block data across the source storage system and the target storage system; program instructions for calculating a checksum of the data payload for an IP packet and requesting submission to a blockchain ledger along with the IP packet serial number and checksum; and program instructions for storing the checksum data as a payload in the blockchain ledger required by the target storage system, where the checksum data is required by the target storage system; 10. The computer system of claim 8 or 9, further comprising:

11. 11. The computer system of claim 8, further comprising program instructions for providing an inbound or out-of-bound API infrastructure for communication between quantum key distribution devices and block storage instances within the source storage system or the target storage system based on physical device identification.

12. 12. The computer system of claim 8, further comprising program instructions for transmitting the checksum data to the target storage system over a cloud infrastructure network using one or more quantum key transport mode encrypted packets, and comparing the checksum data at the target storage system with the IP packet extracted checksum and the blockchain-based checksum.

13. 13. The computer system of claim 8, further comprising program instructions for issuing a data SEND_FAILURE to initiate a retransmission if the original data is corrupted.

14. 14. The computer system of claim 8, further comprising program instructions for transmitting the checksum data over a blockchain ledger for one or more specified objects, one or more sets of objects, or one or more inherited objects that are traversed to improve a selective quality of service data replication.

15. On your computer: performing information tunneling for data transfer between the source storage system and the target storage system; Determining that checksum data of a data payload does not match an Internet Protocol (IP) packet extract checksum and a blockchain-based checksum 1. A computer program for detecting data corruption between storage systems, the computer program comprising: The procedure to determine this is: comparing the checksum data at the target storage system with the IP packet extracted checksum and the block chain-based checksum to identify one or more checksum mismatches; identifying corruption in a data payload based on the checksum data at the target storage system and the comparison between the IP packet extracted checksum and the blockchain-based checksum; verifying corruption in the data payload in response to receiving a predetermined number of checksum mismatches that trigger a security violation quarantine requiring corrective action; and updating an entity for each identified corruption in said data payload; wherein the IP packet extraction checksum is a checksum for a data payload in the IP packet.

16. The computer: generating one or more secure symmetric keys between the source storage system and the target storage system using quantum key distribution; discovering the physical location of one or more storage instances in the source storage system or the target storage system; Collecting information from one or more underlying symmetric keys; encrypting data using one or more collected quantum keys; and storing said data using said one or more collected quantum keys; 16. The computer program of claim 15, further comprising:

17. The computer: encrypting packet payloads within one or more Ethernet packet frames and maintaining routing intact for efficient path traversal of block data across the source storage system and the target storage system; calculating a checksum of the data payload for the IP packet and requesting submission to the blockchain ledger along with the IP packet serial number and checksum; and storing the checksum data as a payload in the blockchain ledger required by the target storage system, wherein the checksum data is stored in the blockchain ledger required by the target storage system.

17. A computer program according to claim 15 or 16, further comprising:

18. The computer: providing an inbound or out-of-bound API infrastructure for communication between quantum key distribution devices and block storage instances within the source storage system or the target storage system based on physical device identification; 18. A computer program according to any one of claims 15 to 17, further comprising:

19. The computer: transmitting the checksum data to the target storage system over a cloud infrastructure network using one or more quantum key transport mode encrypted packets, and comparing the checksum data at the target storage system with the IP packet extracted checksum and the blockchain-based checksum.

19. A computer program according to any one of claims 15 to 18, further comprising:

20. The computer: and transmitting the checksum data via the blockchain ledger for one or more specified objects, one or more sets of objects, or one or more inherited objects that are traversed to improve the quality of service data replication selection.

20. A computer program according to any one of claims 15 to 19, further comprising:

Citation Information

Patent Citations

  • Network device and network system

    JP2015114907A

  • Camera system and fraudulent verification method

    JP2018098688A

  • Encryption communication apparatus, encryption communication system, encryption communication method, and program

    JP2019161557A

  • Method, apparatus, and computer program for managing multiple VPN tunnels between a first cloud and a second cloud in a hybrid cloud environment

    JP2019503101A

  • Information processing system

    JP2020036319A