CERTIFICATE-BASED SECURITY USING POST-QUANTUM CRYPTOGRAPHY

MX433830BActive Publication Date: 2026-05-19INTERNATIONAL BUSINESS MACHINE CORPORATION

Patent Information

Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2023-04-27
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Traditional cryptographic algorithms like RSA and ECC are vulnerable to disruption by large-scale quantum computers, posing a risk to the security of current encrypted communications and data storage systems, necessitating a security protocol that provides protection both now and in the future without disrupting existing protocols.

Method used

A hybrid handshake protocol using a combination of traditional cryptographic (TC) and post-quantum cryptographic (PQC) certificates, where PQC verification is required before TC verification, ensuring secure communications even if both are compromised by a quantum computer.

Benefits of technology

Establishes a secure communication link that is resistant to quantum attacks, maintaining backward compatibility with existing TLS protocols by requiring the malicious actor to break both PQC and TC certificates, thus enhancing the security of network communications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure MX433830B0
    Figure MX433830B0
Patent Text Reader

Abstract

Establishing secure communications by sending a server certificate message, the certificate message including a first certificate associated with a first encryption algorithm and a second certificate associated with a second encryption algorithm, the first certificate and the second certificate being joined together, signing a first message associated with client-server communications using a first private key, the first private key associated with the first certificate, signing a second message associated with client-server communications using a second private key, the second private key associated with the second certificate, the second private key associated with the second certificate, the second message including the first signed message and sending a server certificate verification message, the server certificate verification message comprising the first signed message and the second signed message.
Need to check novelty before this filing date? Find Prior Art

Description

CERTIFICATE-BASED SECURITY USING POST-QUANTUM CRYPTOGRAPHY FIELD OF INVENTION

[0001] The description relates generally to the establishment of secure network communications. The description relates specifically to the establishment of communications using multiple certificates and a combination of encryption algorithms. BACKGROUND OF THE INVENTION

[0002] The advent of large-scale quantum computing systems has raised the possibility that Shor's algorithm and such quantum devices could compromise traditional cryptographic algorithms such as RSA (Rivest-Shamir-Adleman), ECC (elliptic curve cryptography), or similar techniques. Furthermore, although no means are currently available to compromise traditional cryptographic algorithms, the security of current encrypted communications and data storage systems will be at risk once such systems become available. What is needed is a security protocol that protects communications and data both now and in the future, once traditional cryptographic methods are no longer sufficient. Legacy communication and data storage protocols must be enhanced to provide this additional protection without disrupting existing protocols. BRIEF DESCRIPTION OF THE INVENTION

[0003] The following presents an overview to provide a basic understanding of one or more embodiments of the description. This overview is not intended to identify key or critical elements or to delineate any scope of the particular embodiments or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description presented later. In one or more embodiments described herein, the devices, systems, computer-implemented methods, apparatus, and / or computer program products enable the establishment of secure network communication channels using certificates.

[0004] Aspects of the invention describe computer-readable methods, systems, and means associated with establishing secure communications by sending a server certificate message, the certificate message including a first certificate associated with a first encryption algorithm and a second certificate associated with a second encryption algorithm, the first certificate and the second certificate being linked together, signing a first message associated with client-server communications using a first private key, the first private key being associated with the first certificate, signing a second message associated with client-server communications using a second private key, the second private key being associated with the second certificate, the second message including the first signed message, and sending a server certificate verification message,Understanding the server certificate verification message, the first signed message, and the second signed message. BRIEF DESCRIPTION OF THE FIGURES

[0005] Through the more detailed description of some modalities of the present description in the accompanying figures, the above and other objectives, features and advantages of the present description will become more evident, where the same reference generally refers to the same component in the modalities of the present description.

[0006] Figure 1 provides a schematic illustration of a computing environment, according to one embodiment of the invention.

[0007] Figure 2 provides a flowchart describing an operational sequence, according to one embodiment of the invention.

[0008] Figure 3 provides a schematic description of a client-server communication establishment sequence, according to one embodiment of the invention.

[0009] Figure 4 describes a cloud computing environment, according to one embodiment of the invention.

[0010] Figure 5 describes layers of abstraction models, according to a modality of the invention. DETAILED DESCRIPTION OF THE INVENTION

[0011] Some embodiments will be described in greater detail with reference to the accompanying figures, in which the embodiments of the present invention have already been illustrated. However, the present description can be implemented in various ways and should therefore not be interpreted as being limited to the embodiments described herein.

[0012] In one mode, one or more system components may employ hardware and / or software to solve problems of a highly technical nature (e.g., sending and receiving communication protocol messages, verifying entity identities, validating digital certificates, validating digital signatures, etc.). These solutions are not abstract and cannot be performed by a human in a series of mental acts due to the processing capabilities required to facilitate the establishment of secure client-server communication links, for example. Furthermore, some of the processes performed may be carried out by a specialized computer to perform defined tasks related to communications security. For example, a specialized computer may be used to perform tasks related to communication security protocols or similar.

[0013] Aspects of the invention describe computer-readable methods, systems, and means associated with establishing secure communications by receiving a hello message from a client device, sending a hello message from the server, sending a server certificate message including, the certificate message a first certificate associated with a first encryption algorithm and a second certificate associated with a second encryption algorithm, the first certificate and the second certificate being linked together, signing a first message associated with client-server communications using a first private key, the first private key associated with the first certificate, signing the second message associated with client-server communications using a second private key, the second private key associated with the second certificate, the second message including the first signed message,sending a server certificate verification message, the server certificate verification message comprising the first signed message and the second signed message, receiving, by one or more server computer processors, a client certificate message czAtrnn / cznz / e / Yi in response to the server's hello message, the client certificate message comprising a third certificate associated with the first encryption algorithm and a fourth certificate associated with the second encryption algorithm, the third certificate and the fourth certificate being joined together by one or more server computer processors, a client certificate verification message, the client certificate verification message comprising a third message associated with client-server communications signed using a third private key,the third private key associated with the third certificate and a fourth message associated with client-server communications signed using a fourth private key, the fourth private key associated with the fourth certificate, including the fourth message, the third message, and receiving a client completion message from the client device and sending a server completion message in response to receiving the client completion message.

[0014] The modalities describe the benefits of linking two certificates, one based on traditional cryptographic methods and one based on lattice-based or post-quantum cryptographic (PQC) methods, in such a way as to ensure a secure communications link established through the two certificates unless both PQC and TC methods are disrupted by a malicious actor.

[0015] Traditional cryptographic (TC) methods based on RSA or ECC are vulnerable to disruption by large-scale quantum computers. RSA and ECC rely on the use of large prime numbers, which are multiplied to produce a result. A large-scale quantum computer, using Shor's algorithm, could easily defeat an encryption algorithm based on the use of factors, such as RSA or ECC.

[0016] Internet communications between computing entities include a “communication establishment” between the entities. Initially, unencrypted communications occur during the communication establishment process, which introduces the entities to each other. Through communication establishment, the entities exchange the unencrypted information necessary to establish the attributes for securing communications between them. These attributes include the exchange of information necessary to establish the encryption protocol that will be used to encrypt and decrypt data, as well as information necessary for the entities to verify each other's identity, including public keys.

[0017] Establishing typical communications, such as establishing Transport Layer Security (TLS) communication, relies on public key certificates, such as the x.509 certificate, validated by secure digital signatures based on RSA, ECC, or a traditional factor-based encryption public key infrastructure, or similar. A malicious actor can gain access to the communication setup, disrupt one party's communication, and then impress that party using a forged private key.

[0018] Lattice-based encryption algorithms use private and public key pairs generated using lattices or array- or matrix-based mathematics. These algorithms are thought to be resistant to breaking or disruption by a quantum computer. They are considered post-quantum cryptographic (PQC) algorithms.

[0019] Since legacy TLS protocols rely on the use of quantum computers (TCs), simply replacing TCs with PQCs can introduce backward compatibility issues in global Internet communications. What is needed is a backward-compatible communication handshake protocol that is not susceptible to disruption through the use of a quantum computer. The methods described avoid this by using two cryptographically linked certificates: a TC (factor-based certificate) and a PQC (lattice-based certificate). Each of the two certificates is issued by a trusted Certificate Authority (CA). A malicious actor cannot break the lattice-based encryption with a quantum computer.The hybrid communication establishment protocol based on the combination of a TC certificate cryptographically linked to a PQC certificate allows the establishment of communication links between networked entities in a post-quantum world.

[0020] In TLS terms, each server certificate and certificate verification message includes two sets of certificate strings and two sets of verification data, respectively. The messages are structured as two messages each to simplify processing and allow the use of current TLS message processing logic. The described methods allow for secure communications by requiring that the PQC verification data be validated before the TC verification data can be validated. The PQC must be broken before the TC can be attacked. A malicious actor must break both the PQC and the TC to successfully attack the communication links.

[0021] A TLS communication establishment begins with a client device sending a client hello message to a server. The communication establishment proceeds with the server responding to the client's hello message by sending a server hello message. The exchange of hello messages includes a negotiation of the encryption protocol to be used and the exchange of random numbers generated by the client and server for use in subsequent exchanges of encrypted data. As an example, client hello messages include the version of TLS used by the client, compression methods used, decryption set options supported by the client for communications, and a random character string that will be used for encrypted data exchanges.The client's hello message may include one or more extensions, such as an encryption extension to encrypt TLS handshake data after the hello message. The server's hello message may include the server's choice of cipher suites from the provided options and a different random number to be used for communication encryption.

[0022] The server then sends a TLS certificate message to the client. The TLS certificate message includes two certificate chains, one TC-based and one PQC-based. Each of the two certificate chains can include a series of certificates, starting with a server end-entity certificate, which includes one or more intermediate certificates, and ending with a root certificate. The root certificate is issued and signed by a certificate authority trusted by the entities. In one mode, each certificate chain includes a single certificate.

[0023] After receiving the certificate message from the server, the client device decodes the two certificate chains and validates each independent certificate chain. The client ensures that each czfihnn / cznz / R / vi certificate chain in each of the two certificate chains has not expired or been revoked, that the certificate's domain name matches the server's domain, that the digital signature of each certificate in each chain is valid, and that the root certificate in each chain was issued by a CA trusted by the client.

[0024] In one mode, the client uses the CA's public key to validate the signature of the server's final entity certificate. In another mode, the client uses the public key of an intermediate certificate to validate the signature of the final entity certificate and uses the CA's root certificate's public key to validate both the root certificate signature and the intermediate certificate signature.

[0025] For TC certificate chains, public keys and digital signatures are based on a TC public-private key pair. For PQC certificate chains, signatures and public keys are based on a private-public key pair using the PQC algorithm.

[0026] PQC algorithms include lattice-based encryption methods including CRYSTALS DILITHIUM, FALCON, RAINBOW, CLASSIC McELIECE, CRYSTALS-KYBER, NTRU, SABER, and other lattice-based algorithms. (Note: The terms “CRYSTALS-DILITHIUM,” “FALCON,” “RAINBOW,” “CLASSIC McELIECE,” “CRYSTALS-KYBER,” “NTRU,” and “SABER” may be subject to trademark rights in various jurisdictions throughout the world and are used herein only in reference to the products and services appropriately named by the trademarks to the extent that such trademark rights may exist.)

[0027] In one mode, the server composes a certificate verification message for the client. The certificate verification message serves to provide proof that the server possesses the PQC and TC private keys associated with the PQC and TC certificates, respectively. The certificate verification message includes two messages. The first message includes the current transcript of the messages exchanged between the client and the server up to this point, signed using the server's private PQC key. The second message includes the current transcript of the exchanged messages appended by the server to the first message, the transcript token appended using the server's private TC key, which generates a traditional server certificate verification message.The server combines the first and second certificate verification messages and sends the combination as a single certificate verification message to the client.

[0028] The client receives the combined certificate verification messages and separates the two messages. The client possesses the transcript of the current messages and the server's PQC public key from the server's PQC certificate validation process. The client uses the transcript of the current messages and the server's PQC public key to verify the PQC digital signature of the PQC certificate verification portion of the server's certificate verification message. The client verifies the TC signature of the TC portion of the combined server certificate message using the message transcript, including the content of the first signed message provided in the PQC portion of the combined server certificate verification message. The client uses the attached message transcript and the server's TC public key, obtained during the server's TC certificate validation process.

[0029] In one mode, the method also includes joining the TC and PQC certificates. The method creates TC and PQC certificates that have the same subject name, issuer name, and subject alternative name. The method sets the TC restrictions to be identical to those of the PQC, with the exception of the serial number of the public keys and the signatures of the two certificates. In this mode, the method sets the TC serial number or extension to the hash (SHA1, SHA256, or other hash function) of the PQC certificate data. A set of join values ​​as the output of a hash function cannot be broken using a large-scale quantum computer or a traditional non-quantum computer. In this mode, the client validates that the TC serial number or extension, when used, contains the hash of the PQC certificate data and that all other attributes of the TC and PQC certificate data match.

[0030] In one mode, mutual identity verification is desirable, as indicated by a certificate request message sent from the server to the client. In response to the certificate request message, the client sends a certificate message that includes each of the client's TC and PQC certificates. The client then generates and sends a combined certificate verification message. This involves creating a first certificate verification message using the current message transcript with the client's PQC private key, appending the first certificate verification message to the current message transcript, and signing the appended transcript using the client's TC private key.

[0031] In one mode, the exchange of client and server hello messages does not result in the use of the PQC certificate because the client does not provide support for its use. In this mode, the method passes only the TC certificate and the TC certificate verification portions of the message. In this mode, the method provides backward compatibility for any timeframe in which all entities on the network have transitioned to using PQC-based protocols.

[0032] Figure 1 provides a schematic illustration of exemplary network resources associated with the practice of the described inventions. The invention can be practiced on processors of any of the described elements that process a stream of instructions. As shown in the Figure, networked client device 110 connects wirelessly to server subsystem 102. Client device 104 connects wirelessly to server subsystem 102 via network 114. Client devices 104 and 110 comprise a communications security program (not shown) along with sufficient computing resources (processor, memory, network, communications hardware) to execute the program.Establishing communication between client devices 104 and 110 and the server subsystem 102 may include the use of the described methods to enable secure communication between verified entities and the exchange of encrypted data. As shown in Figure 1, the server subsystem 102 comprises a server computer 150. Figure 1 depicts a block diagram of server computer 150 components within a networked computer system 1000, according to one embodiment of the present invention. It should be appreciated that Figure 1 provides only an illustration of one implementation and does not imply any limitation with respect to the environments in which different embodiments may be implemented. Many modifications can be made to the described environment.

[0033] The server computer 150 may include processors 154, memory 158, persistent storage 170, a communications unit 152, input / output (I / O) interfaces 156, and a communications fabric 140. The communications fabric 140 provides communication between the cache 162, memory 158, persistent storage 170, the communications unit 152, and the input / output (I / O) interfaces 156. The communications fabric 140 can be implemented with any architecture designed to pass data and / or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, the communications fabric 140 can be implemented with one or more buses.

[0034] Memory 158 and persistent storage 170 are computer-readable storage media. In this form, memory 158 includes random-access memory (RAM) 160. In general, memory 158 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 162 is a fast memory that improves the performance of processors 154 by holding recently accessed and very recently accessed data from memory 158.

[0035] The program instructions and data used to implement the embodiments of the present invention, for example, the communications security program 175, are stored in the persistent storage 170 for execution and / or access by one or more of the respective processors 154 of the server computer 150 through the cache 162. In this embodiment, the persistent storage 170 includes a magnetic hard disk drive. Alternatively or in addition to the magnetic hard disk drive, the persistent storage 170 may include a solid-state disk drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0036] The media used by persistent store 170 can also be removable. For example, a removable hard disk drive can be used for persistent store 170. Other examples include optical and magnetic disks, USB flash drives, and smart cards that are inserted into a controller to transfer to another computer-readable storage medium that is also part of persistent store 170.

[0037] In these examples, the communications unit 152 provides communications with other data storage systems or devices, including client computing device resources 104 and 110. In these examples, the communications unit 152 includes one or more network interface cards. The communications unit 152 can provide communications through the use of both wired and wireless communication links. Software distribution programs and other programs and data used for the implementation of the present invention can be downloaded to the persistent storage 170 of the server computer 150 through the communications unit 152.

[0038] The I / O interfaces 156 allow data input and output with other devices that can be connected to the server computer 150. For example, the I / O interfaces 156 can provide a connection to external devices 190 such as a keyboard, numeric keypad, touchscreen, microphone, digital camera, and / or some other suitable input device. The external devices 190 can also include portable computer-readable storage media such as, for example, USB flash drives, portable optical or magnetic disks, and memory cards. The software and data used to implement the modalities of the present invention, for example, the communications security program 175 on the server computer 150, can be stored on such portable computer-readable storage media and can be loaded into the persistent storage 170 through the I / O interfaces 156.The I / O 156 interfaces can also be connected to a display device 180.

[0039] The display device provides a mechanism for presenting data to a user and can be, for example, a computer monitor. The display device can also function as a touchscreen, such as a display device for a tablet computer.

[0040] Figure 2 provides a flowchart 200, which illustrates exemplary activities associated with the practice of description. After starting the program, in block 210, a server's communications security program 175 receives a greeting message from a client including client information regarding supported TLS protocols, cipher suite options, and a random number generated by the client.

[0041] In block 220, the server sends a server hello message indicating the server's choice of cipher suite from the provided options, including a random number generated by the server.

[0042] In block 230, the server sends a server certificate message. The server certificate message includes two certificates or certificate chains. The certificates or certificate chains include a first certificate or certificate chain signed using a first digital signature associated with a first server private key of a PQC algorithm and a second certificate or certificate chain signed using a second digital signature associated with a second server private key of a TC encryption algorithm.

[0043] In block 240, the server's communications security program 175 signs a first message using the server's first PQC private key; the message includes the client-server message transcript.

[0044] In block 250, the server's communications security program 175 signs a second message with the server's second private key TC. The second message includes the transcript of current client-server messages appended to the first message.

[0045] In block 260, the server's communications security program 175 combines the first and second messages into a single server certificate verification message and sends the combined messages to the client.

[0046] In block 270, communications security program 175 receives a client completion message from the client. The client completion message includes a cryptographic digest of all previous client-server messages, encrypted using an agreed-upon encryption algorithm.

[0047] In block 280, communications security program 175 sends a server termination message that includes a cryptographic summary of all previous client-server message traffic of the communication establishment protocol.

[0048] It should be understood that the TLS communication establishment protocol may include messages between the client and the server related to the exchange of information necessary to generate an encryption key for data encryption / decryption and other purposes.

[0049] Scheme 300 of Figure 3 illustrates the message traffic between a client 310 and a server 320, according to one embodiment of the invention. As shown in the Figure, a client 310 sends a greeting message from a client 315 to the server 320. The server 320 responds by sending a greeting message from server 325, a server certificate message from server 330, and a server certificate verification message from server 340. Each of the server certificate message from server 330 and the server certificate verification message from server 340 includes two separate messages. The server certificate message from server 330 includes a server PQC certificate message from server 332 and a server TC certificate message from server 334.Server certificate verification message 340 includes a first message 342 signed with a server PQC private key and includes the message transcript, while the second message 344 includes the message transcript appended to the first message and signed using a server TC private key.

[0050] Figure 3 includes the messages associated with mutual verification, including a client certificate message 360 ​​and a client certificate verification message 370. Similar to the server, the client certificate message 360 ​​includes two messages: a client PQC certificate message 362 and a client TC certificate message 364. The client certificate verification message 370 also includes two messages: one 372, which includes the message transcript and is signed using the client's PQC private key; the other 374, which includes the attached message transcript and is signed using the client's PQC private key.Item 380 generally illustrates the additional client-server message traffic related to establishing communications between the client and the server, including client termination and server termination messages.

[0051] It should be understood that, although this description includes a detailed description of cloud computing, the implementation of the teachings cited herein is not limited to the cloud computing environment. Rather, the embodiments of the present invention can be implemented in conjunction with any other type of computing environment, whether known or subsequently developed.

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

[0053] The characteristics are as follows:

[0054] On-demand self-service: A cloud consumer can unilaterally provide computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service provider.

[0055] Wide network access: Capabilities are available over a network and access via standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops and PDAs). czAtrnn / cznz / e / Yi

[0056] Resource pooling or combining: The provider's computing resources are pooled or combined to serve multiple consumers using a multi-tenant model with different physical and virtual resources dynamically allocated and reallocated according to demand. There is a sense of location independence where the consumer generally has no control or knowledge over the exact location of the resources provided, but can specify the location at a higher level or abstraction (e.g., country, state, or data center).

[0057] Rapid elasticity: Capabilities can be rapidly and elastically provided, in some cases automatically, to scale quickly and quickly released to scale rapidly. To the consumer, the available capacities often appear unlimited and can be purchased in any quantity at any time.

[0058] Measured service: Cloud systems automatically control and optimize resource usage by leveraging a measurement capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user count). Resource usage can be monitored, controlled, and reported, providing transparency to both the provider and the consumer of the service used.

[0059] The Service Models are as follows:

[0060] Software as a Service (SaaS): The capability provided to the user is to run the provider's applications on a cloud infrastructure. The applications are accessible from various 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, services, operating systems, storage, or even individual application capabilities, with the possible exception of limited, user-specific application configuration settings.

[0061] Platform as a Service (PaaS): The capability provided to the consumer is to deploy applications created or acquired by the consumer on the cloud infrastructure, created using programming languages ​​and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the deployment of applications and possibly application hosting environment configurations.

[0062] Infrastructure as a Service (IaaS): The capacity provided to the consumer is the provision of processing, storage, networking, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, uncluttered applications, and possibly limited control over selected network computers (e.g., host firewalls).

[0063] The Deployment Models are as follows:

[0064] Private cloud: The cloud infrastructure is operated solely by one organization. It can be managed by the organization or a third party and can exist on or off-premises.

[0065] Community cloud: The cloud infrastructure is shared by multiple organizations and supports a specific community that has shared problems (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organizations or a third party and can exist on-premises or off-premises.

[0066] Public cloud: The infrastructure is available to the general public or a large industry group and is owned by an organization that sells cloud services.

[0067] Hybrid cloud: Cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are held together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursts for load balancing between clouds).

[0068] The cloud computing environment is a service-oriented environment with a focus on statelessness, loose coupling, coreity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0069] Referring now to Figure 4, an illustrative cloud computing environment 50 is described. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as a personal digital assistant (PDA) or cell phone 54A, desktop computer 54B, or laptop computer 54C, and / or in-car computing system 54N, can communicate. The nodes 10 can communicate with each other. They can be grouped (not shown) physically or virtually, in one or more networks, such as private, community, public, or hybrid clouds, as described above, or a combination thereof. This enables the cloud computing environment 50 to offer infrastructure, platforms, and / or software as services for which a cloud consumer does not need to maintain resources on a local computing device.It should be understood that the types of computing devices 54A-N shown in Figure 4 are intended to be illustrative only and that those computing nodes 10 and the cloud computing environment 50 can communicate with any type of computing device over any type of network and / or network addressable connection (e.g., using a web browser).

[0070] Referring to Figure 5, a set of functional abstraction layers provided by the cloud computing environment 50 (Figure 4) is shown. It should be understood from the outset that the components, layers, and functions shown in Figure 5 are intended for illustrative purposes only, and the embodiments of the invention are not limited to these. As described, the following layers and corresponding functions are provided:

[0071] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; RISC-based servers (Reduced Instruction Set Computer) 62; servers 63; Blade servers 64; storage devices 65; and networking and networking components 66. In some configurations, software components include network application server software 67 and database software 68.

[0072] The visualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74 and virtual clients 75. czAtrnn / cznz / e / Yi

[0073] In one example, the management layer 80 can provide the functions described below. Resource provisioning 81 provides dynamic procurement of compute and other resources used to perform tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are used within the cloud computing environment and billing for those services. In one example, those resources might include application software licenses. Security provides identity verification for consumers and tasks in the cloud, as well as protection of data and other resources. The user portal 83 provides access to the cloud computing environment for consumers and system administrators.Service level management (SLA) provides the allocation and management of cloud computing resources to meet required service levels. Service level agreement (SLA) planning and fulfillment involves pre-arranging and procuring cloud computing resources for which future requirements are anticipated according to an SLA.

[0074] The workload layer 90 provides examples of functionality for which the cloud computing environment can be used. Examples of workloads and functions that can be provided from this layer include: mapping and navigation 91; software deployment and lifecycle management 92; virtual classroom education delivery 93; analytical data processing 94; transaction processing 95; and communications security program 175.

[0075] The present invention may be a system, a method, and / or a computer program product of any possible level of integration of technical details. The invention may be beneficially practiced in any system, single or in parallel, that processes a stream of instructions. The computer program product may include a computer-readable medium (or media) having computer-readable program instructions thereon for causing a processor to carry out aspects of the present invention.

[0076] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction-execution device. A computer-readable storage medium may be, for example, but is 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 combination thereof.A non-exhaustive list of more specific examples of a computer-readable storage medium includes the following: a laptop floppy disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), static random access memory (SRAM), portable compact disc (CD-ROM) read-only memory, a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punched cards or embossed structures in a slot having instructions recorded on it, and any suitable combination of the foregoing.A computer-readable storage medium, or computer-readable storage device, as used herein, should not be interpreted as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., pulses of light passing through a fiber optic cable) or electrical signals transmitted through a wire.

[0077] The computer-readable program instructions described herein may be downloaded to the respective computing / processing devices from a computer-readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, fiber optic transmission lines, wireless transmission paths, firewalls, switches, gateway computers, and / or border servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and sends the computer-readable program instructions for storage on a computer-readable storage medium within the respective computing / processing device.

[0078] The computer-readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state adjustment data, configuration data for integrated circuits, or any source code or object-oriented code written in any combination of one or more programming languages, including an object-oriented programming language such as Smalltalk, C++, or similar, and procedural programming languages ​​such as the “C” programming language or similar programming languages.The program's machine-readable instructions can be executed 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 the remote computer or server. In the latter scenario, the remote computer can connect to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made through an external computer (for example, via the internet using an internet service provider).In some embodiments, electronic circuits including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) can execute computer-readable program instructions by using state information from the computer-readable program instructions to customize the electronic circuit to carry out aspects of the present invention.

[0079] 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 is understood that each block in 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.

[0080] Computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data-processing apparatus to produce a machine, such that the instructions, being executed through the processor of the computer or other programmable data-processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram or blocks.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 devices to function in a particular manner, such that the computer-readable storage medium having instructions collectively stored therein comprises a manufactured item including instructions that implement aspects of the function / act specified in the flowchart and / or block diagram(s).

[0081] Computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to produce a series of operating steps performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus, or other device may implement the functions / acts specified in the flowchart and / or block diagram(s).

[0082] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of the computer program systems, methods, and products according to embodiments of the present invention. In this respect, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, comprising one or more executable instructions for implementing the specified logical functions. In some alternative implementations, the functions annotated in the blocks may occur out of the order shown in the Figures. For example, two blocks shown in succession may, in fact, execute substantially concurrently, or the blocks may sometimes execute in a reverse order, depending on the functionality involved.It should also be noted that each block in the block diagrams and / or flowchart illustration and combinations of blocks in the block diagrams and / or flowchart illustration may be implemented by special-purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special-purpose hardware and computer instructions.

[0083] References in specification to “a modality,” “the modality,” “an exemplary modality,” etc., indicate that the modality described may include a particular feature, structure, or characteristic, but not every modality necessarily includes a particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same modality. In addition, when a particular feature, structure, or characteristic is described in relation to a modality, it is subject to the assumption that it is within the knowledge of a person skilled in the art to affect that feature, structure, or characteristic in relation to other modalities if not explicitly described.

[0084] The terminology used herein is for the purpose of describing particular modalities only and is not intended to limit the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It shall be understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of established features, wholes, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more features, wholes, steps, operations, elements, components, and / or groups thereof.

[0085] The descriptions of the different embodiments of the present invention have been presented for illustrative purposes but are not intended to be exhaustive or limited to the embodiments described. Many modifications and variations will be evident to those skilled in the art without departing from the scope and spirit of the invention. The terminology used herein was chosen to better explain the principles of the embodiment, the practical application or technical improvement over technologies found in the market, or to enable others skilled in the art to understand the embodiments described herein.

Claims

1. A computer-implemented method for establishing secure network communications, the method comprising: sending, by means of one or more server computer processors, a server certificate message in response to a client hello message, the certificate message comprising a first certificate associated with a first encryption algorithm and a second certificate associated with a second encryption algorithm, the first certificate and the second certificate being linked together; signing, by means of one or more server computer processors, a first message associated with client-server communications using a first private key, the first private key being associated with the first certificate;to sign, by means of one or more server computer processors, a second message associated with client-server communications using a second private key, the second private key being associated with the second certificate, the second message including the first message; and to send, by means of one or more server computer processors in response to the receipt of the client's hello message, a server certificate verification message, the server certificate verification message comprising the first message and the second message.

2. The computer-implemented method according to the preceding claim, wherein the first encryption algorithm comprises a tile-based encryption algorithm.

3. The computer-implemented method according to any of the preceding claims, wherein the first message comprises a transcript of client-server messages.

4. The computer-implemented method according to any of the preceding claims, wherein the first certificate and the second certificate have an identical name.

5. The computer-implemented method according to any of the preceding claims, wherein an attribute of the second certificate comprises a summary value of the first certificate.

6. The method according to any of the preceding claims further comprising: sending, by means of one or more server computer processors, a server greeting message in response to a client greeting message.

7. The computer-implemented method according to the preceding claim, further comprising: receiving, by means of one or more server computer processors, a client certificate message in response to a server hello message, the client certificate message comprising a third certificate associated with the first encryption algorithm and a fourth certificate associated with the second encryption algorithm, the third certificate and the fourth certificate being linked together;and receive, through one or more server computer processors, a client certificate verification message, the client certificate verification message comprising a third message associated with client-server communications signed using a third private key, the third private key associated with the third certificate, and a fourth message associated with client-server communications signed using a fourth private key, the fourth private key associated with the fourth certificate, the fourth message including the third message.

8. The computer-implemented method according to any of the preceding claims, further comprising sending, by means of one or more server computer processors, encrypted data using the first encryption algorithm.

9. A computer-readable medium for establishing secure network communications, the computer-readable medium configured to: send a server certificate message in response to a client hello message, the certificate message comprising a first certificate associated with a first encryption algorithm and a second certificate associated with a second encryption algorithm, the first certificate and the second certificate being linked together; sign a first message associated with client-server communications using a first private key, the first private key being associated with the first certificate; sign a second message associated with client-server communications using a second private key, the second private key being associated with the second certificate, the second message including the first message;and send, in response to receiving the client's greeting message, a server certificate verification message, the server certificate verification message comprising the first message and the second message.; 10. The computer-readable medium according to the preceding claim, wherein the first encryption algorithm comprises a tile-based encryption algorithm.

11. The computer-readable medium according to either of the two preceding claims, wherein the first message comprises a transcript of client-server messages.

12. The computer-readable medium according to any of the three preceding claims, wherein the first certificate and the second certificate have an identical name.

13. The computer-readable medium according to any of the four preceding claims, wherein an attribute of the second certificate comprises a summary value of the first certificate.

14. The computer-readable medium according to any of the five preceding claims, wherein the medium is configured to further: send a server greeting message in response to a client greeting message.

15. The computer-readable medium according to the preceding claim, wherein the medium is configured to further: receive a client certificate message in response to the server's hello message, the client certificate message comprising a third certificate associated with the first encryption algorithm and a fourth certificate associated with the second encryption algorithm, the third certificate and the fourth certificate being linked together;e czfihnn / cznz / R / vi receive a client certificate verification message, the client certificate verification message comprising a third message associated with client-server communications signed using a third private key, the third private key associated with the third certificate and a fourth message associated with client-server communications signed using a fourth private key, the fourth private key associated with the fourth certificate, the fourth message including the third message.; 16. The computer-readable medium according to any of the seven preceding claims, wherein the medium is configured to further send encrypted data using the first encryption algorithm.

17. A computer system for establishing secure network communications, the computer system comprising: one or more computer processors; one or more computer-readable storage devices; and wherein the one or more computer-readable storage devices are configured to: send a server certificate message in response to a client hello message, the certificate message comprising a first certificate associated with a first encryption algorithm and a second certificate associated with a second encryption algorithm, the first certificate and the second certificate being linked together; sign a first message associated with client-server communications using a first private key, the first private key being associated with the first certificate;sign a second message associated with client-server communications using a second private key, the second private key being associated with the second certificate, the second message including the first message; and send, in response to the receipt of the client's greeting message, a server certificate verification message, the server certificate verification message comprising the first message and the second message.

18. The computer system according to the preceding claim, wherein the first encryption algorithm comprises a tile-based encryption algorithm.

19. The computer system according to either of the two preceding claims, wherein the first message comprises a client-server message transcript.

20. The computer system according to any of the three preceding claims, wherein the first certificate and the second certificate have an identical name.

21. The computer system according to any of the four preceding claims, wherein an attribute of the second certificate comprises a summary value of the first certificate.

22. The computer system according to any of the five preceding claims, wherein the one or more computer-readable storage devices are configured to further: send a server hello message in response to a client hello message.

23. The computer system according to the preceding claim, wherein the one or more computer-readable storage devices are further configured to: receive a client certificate message in response to the server's hello message, the client certificate message comprising a third certificate associated with the first encryption algorithm and a fourth certificate associated with the second encryption algorithm, the third and fourth certificates being linked together;and receive a client certificate verification message, the client certificate verification message comprising a third message associated with client-server communications signed using a third private key, the third private key associated with the third certificate, and a fourth message associated with client-server communications signed using a fourth private key, the fourth private key associated with the fourth certificate, the fourth message including the third message.