![]() IMPLEMENTING SECURE COMMUNICATIONS IN A SUPPORT SYSTEM
专利摘要:
Implementing Secure Communications in a Support System A support system negotiates precise connections on behalf of multiple guest systems using a set of credentials associated with the guest systems. the operation of the secure connection can be transparent to the guest system such that the guest system can send and receive messages that are encrypted or decrypted by the supporting system, such as a hypervisor. since the support system is between the guest system and a destination, the support system can act as a local endpoint for the secure connection. messages can be changed by the support system to indicate to a guest system which communications have been secured. credentials can be managed by the supporting system in such a way that the guest system does not require access to the credentials. 公开号:BR112014007798B1 申请号:R112014007798-3 申请日:2012-09-28 公开日:2021-06-15 发明作者:Gregory B. Roth;Eric D. Crahen;Graeme D. Baer;Eric J. Brandwine;Nathan R. Fitch 申请人:Amazon Technologies, Inc; IPC主号:
专利说明:
BACKGROUND [001] Proper setup of secure communications can be difficult in many situations. For example, secure communication protocols such as secure socket layer (SSL) and transport layer security (TLS) protocols can be configured in an operating system. Configuring protocols in the operating system may require configuring a certificate authority's certificate and/or key pairs that form the basis for secure communications. Not only can this operating system configuration be difficult, each protocol, operating system and/or application implementation may have different configuration requirements to access secure communications such as cryptographic functionality. Not only can different configuration requirements be difficult to implement, but if the operating system or application has not been properly hardened, the certificate and/or private key can be at risk of loss through compromise of the server by an intruder. The loss of a private key causes loss of confidence in the cryptographic benefits of secure communication, as the key can be used by the intruder. [002] Attempts to offload encryption from the operating system configuration resulted in various application programming interfaces. For example, a PKCS #11 public key cryptography standard was used in a virtual machine to expose cryptographic primitives without exposing the key itself to the guest operating system. However, the solution can be difficult to configure, as different software may have different requirements for using PKCS #11. Although several techniques have been employed to effectively simplify the use of secure communications, due to the complexities of tasks, the techniques employed are of success varied. Brief description of the drawings [003] Figure 1 shows an illustrative example of secure communication message flow for a guest operating system according to at least one modality. [004] Figure 2 illustrates an illustrative example of a process that can be used to enable secure communications in a virtualized environment according to at least one modality. [005] Figure 3 shows an illustrative example of a process that can be used to receive secure communications in a virtualized environment according to at least one modality. [006] Figure 4 shows an illustrative example of a process that can be used to send secure communications in a virtualized environment according to at least one modality. [007] Figure 5 shows an illustrative example of a process that can be used to prepare a virtual machine for secure communications according to at least one modality. [008] Figure 6 shows an illustrative example of a web page that can be used to configure secure communications according to at least one modality. [009] Figure 7 shows an illustrative example of transfer and use of a credential by a support system in a service provider according to at least one modality; and [010] Figure 8 illustrates an environment in which several modalities can be implemented. DETAILED DESCRIPTION [011] In the following description, several modalities will be described. For explanation purposes, specific settings and details are exposed to provide a complete understanding of the modalities. However, it will also be evident to a person skilled in the art that the modalities can be put into practice without the specifics. Also, well-known features can be omitted or simplified so as not to obscure the modality being described. [012] The techniques described and suggested here include systems and methods for implementing secure communication in a supporting system on behalf of a guest operating system. For example, a support system in a virtualized environment, such as a hypervisor, can negotiate, encrypt, and decrypt communications on behalf of a guest operating system between one or more guest operating systems on a host. In addition to the normal duties of managing one or more guest operating systems, the hypervisor can also process messages between a target computing system and the guest operating system. The hypervisor can use credentials identifying the guest operating system to create and maintain secure communication channels with the target computing system. Although secure communication channels are open, the hypervisor can store associated keys, secrets, and other state information for each secure communication session. By examining the routing of each inbound or outbound communication, the hypervisor can match which state can be used to process the communication, such as encryption or decryption of the communication. Hypervisor message processing can allow secure communications to be transparent to the guest operating system. For example, the guest operating system can send decrypted messages through a virtual driver that are captured by the hypervisor and encrypted before leaving the host. By providing secure communications, the hypervisor can protect a guest operating system's secrets from a guest operating system compromise, as well as reduce the burden of configuring the guest operating system. Secure communications can also provide the benefit of message integrity, authenticity and/or secrecy. [013] Figure 1 illustrates an example of an environment 100 in which the implementation of secure communications in a support system can be performed according to at least one modality. A hypervisor 102 in a physical machine 104 can service guest operating systems 106. Guest operating systems 106 can send and receive messages from other computing devices, including laptops 108, desktops 110, and mobile devices 112, including mobile phones. For example, Figure 24 shows illustrative examples of processes that can be used to send and/or receive secure messages. Hypervisor 102 can negotiate secure connections with computing devices 108, 110, 112 and save state information 114 associated with each secure connection. Cleartext messages 120 (or messages that have been encrypted by a higher level application running on guest operating system 106) may be sent by guest operating system 106 and captured by hypervisor 102. Hypervisor 102 may use state information 114 associated with the guest operating system 106 and target computing device to prepare secure messages 122 from cleartext messages 120. Secure messages 122 can then be sent to their target computing devices 108, 110, 112. [014] Incoming secure messages can also be processed by the hypervisor. Incoming secure messages 122 may be examined by the hypervisor to determine the destination guest operating system and source computing device 108, 110, 112. Using the determined destination and source, the hypervisor 102 may then use the associated state information 114 to preparing a cleartext message 120 and/or verifying the integrity of the secure message 122. The cleartext message 120 can then be sent to the guest operating system 106. [015] Although hypervisor 102 has been discussed as an example of the support system for the guest operating system, other configurations may also be possible, including other hardware and/or software implementations. A hypervisor can be seen as a virtualization support system, including Dom0 on a Xen® system, a source split on a Hyper-V system, and services provided by the virtualization system to a guest operating system. In one modality a security component, such as a cryptographic processor or a hardware security module (HSM), can be used depending on whether multiple guest operating systems 106 are supported by the HSM, the hypervisor can facilitate communication with the HSM and the system guest operating. For example, a hypervisor 102 can route secure messages with a guest operating system destination to an HSM. Cleartext messages received from the HSM can then be received by hypervisor 102 and routed to the guest operating system 106. In another embodiment, the supporting system can be a virtualized driver. The virtualized driver can provide the benefits of a secure connection, such as message integrity, authenticity, and secrecy, through the use of Hash-based Message Authentication (HMAC) codes and encryption. For example, the use of a driver virtualized by a guest operating system might indicate the use of a secure connection. The driver can sign with an HMAC and encrypt outgoing messages. HMAC can prove message integrity and authority because only the holder of a private key could sign the message, the signature also verifying message integrity through a hash function. Having been encrypted, the message can also reasonably be assumed to be secret. In another embodiment, a support system or support systems can provide secure communication to guest systems, for example, a computer system that has an operating system running directly on the computer system's hardware. For example, a support system might be a computing resource that receives messages on behalf of guest systems that might be other computing resources. The computing system can receive cleartext messages from a guest system and process the messages to be sent over a secure protocol. Incoming messages can be processed and sent in cleartext to the destination guest system. One advantage could be that guest systems can be protected from accessing credentials. For example, the guest system may not be able to directly access credentials unless a user selects a setting to allow it. In some modalities, only one service provider can access the credentials; the guest system cannot. [016] As cleartext messages do not leave a trust boundary, messages can still be considered to be secure in at least some situations. A trust limit can be defined by a system in which all subsystems are trusted. Because cleartext messages are prepared at the physical machine boundary or via a trusted connection to an HSM, cleartext messages cannot leave a boundary of trusted computing devices, including network devices. If the guest operating system is seen as less secure than the support system, as might be the case with applications or systems in constant development, the secrets might actually be viewed as more secure in the support system. For example, an application may have a vulnerability that is exploitable by an intruder that allows the intruder into the guest operating system. However, since private information is stored with the hypervisor, private information such as private keys is not accessible to the intruder because the private information is not accessible to the guest operating system. In some modalities, a user can only have access to the guest operating system, as the hypervisor and other computing resources can be managed by an entity. If the entity is more experienced in hardening systems than the user, the user may want the entity to manage private information and secure connections. [017] Several advantages can be realized by moving responsibility for secure communications from a guest operating system to a supporting system such as a hypervisor. For example, secure communications may no longer be operating system dependent. Since the implementation of secure communication is on the hypervisor, guest operating systems of various versions and brands can take advantage of secure communications. Secure communication protocol versions can be updated on the hypervisor with less potential effect on the guest operating system. Guest operating systems can be upgraded with less potential added complexity of configuration or secure communication conflicts. With implementation on a support system, automation can become more practical. As hypervisor configuration can be similar across hosts, if not the same despite differences in guest operating systems, automation only needs to target the hypervisor. Automated configuration of secure communications such as SSL and/or TLS might be desirable because an administrator of a server would not have to learn how to manually configure a server. Application programming interface (API) automation of enabling SSL/TLS and/or recycling certificates and other secrets can also be enabled due to automation. With automation, secure communications can become more transparent to a developer with minimal configuration, as messages sent in cleartext are guaranteed by the support system and not the guest operating system. For example, a developer would only need to direct an application to communicate using a communication channel, such as a driver, adapter, IP address, or visible port on the guest operating system to request secure communications. The supporting system, such as a hypervisor, can receive messages over the channel and implement secure communications with an application-specified target device in the guest operating system. Other advantages to moving secure communications functionality to a support layer include, but are not limited to, the ability to upgrade protocols there without any application-specific reconfiguration or changes (crypto agility), and the ability to leverage any cryptographic acceleration in a standard mode without operating system or application-specific support. [018] In one modality, a hypervisor on a host machine, as seen in Figure 1, can guarantee a communication on behalf of a guest operating system through a secure communication process 200. Part or all process 200 (or any other processes described herein, or variations and/or combinations thereof) may be executed under the control of one or more computer systems configured with executable instructions and may be implemented as code (eg, executable instructions, one or more computer programs , or one or more applications) running collectively on one or more processors, by hardware, or combinations thereof. The code may be stored on a computer readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. Computer readable storage medium may be non-transient. [019] A hypervisor may receive an input message 201. If the message 202 requires additional security processing, the hypervisor may receive 203 the request as a request for secure communication with a guest operating system and an external computer system. Otherwise, the hypervisor may output 222 the raw message. The hypervisor can negotiate 204 the secure protocol on behalf of the guest operating system using guest operating system credentials such as IP address, keys, and/or certificate information. Information related to the protocol and its state, such as exchanged keys, secrets, and other state data, can be stored 206 and associated with the guest operating system. Messages can then be received 208 from the external computing system and/or the guest operating system by the hypervisor. If messages are input 210, the hypervisor can determine 212 the destination of the guest operating system and external computing system source. Using destination and source, the hypervisor can query the guest operating system state information and credentials to decrypt 214 and verify the incoming message. Verification can verify the integrity and authenticity of the message. The cleartext message can then be sent 216 to the guest operating system. If communication is completed 218, the hypervisor may terminate communication 220 by terminating a communication link with the external computer system and removing associated status information. If not 218, the system might expect more 208 messages. [020] If cleartext outgoing messages are received from a guest operating system 210, the hypervisor can use the guest operating system source with the associated message destination to retrieve 224 state information. Using the state information, the hypervisor can encrypt 226 and/or flag the cleartext outgoing message with an HMAC. The encrypted outgoing message may then be sent to destination 228. If communication is completed 218, the hypervisor may terminate session 220. Otherwise the hypervisor may wait for the next message 208. [021] Several advantages can be obtained in the process 200 shown in figure 2. New, incoming secure communication messages can be transparent to a guest operating system. With new inbound communication, the hypervisor can negotiate with the originator of the request without contacting the destination guest OS. After the hypervisor completes negotiation, secure messages can then be provided between the originator and the guest operating system. Multiple guest operating systems can also be serviced by a single hypervisor having access to credentials for each guest operating system. Each guest operating system can have its own credentials, such as certificate, IP address, keys and other individual information. These credentials can resolve to a physical host controlled by a hypervisor. As the hypervisor acts as a gateway between the guest operating systems and the outside world, the hypervisor may be able to trade on behalf of each of the guest operating systems without configuration or knowledge of the external systems participating in the trades. For example, an incoming communication can be entered through a hardware interface. A hypervisor can receive the communication from the hardware interface and determine that the communication is secure communication. Using the credentials of the guest operating system, the hypervisor can enter the role of the guest operating system to create and maintain a secure connection. Since the hypervisor can always be part of a route to the guest operating system, a computing device using the secure connection may not be able to discern that the hypervisor is negotiating and securing messages on behalf of the guest operating system. [022] Setting up a hypervisor can include selecting options for secure inbound and outbound connections. In one modality, an administrator can choose from multiple options to determine which communications should be secured, such as: secure all connections, set secure and unsafe ports, auto-detect whether messages should be treated as secure, set secure and unsafe IP addresses, and define secure and insecure adapters. For example, network traffic on ports 22 and 80 can be treated as insecure, but traffic through port 443 can be secured. In another modality, the guest operating system can have two IP addresses. One of the IP addresses can be used to receive unsecured messages, while a second address can indicate to the hypervisor to form and maintain a secure connection. A hypervisor can determine whether a communication should be secured by explicit or implicit information. In one modality, incoming network traffic can be implicitly defined, such as by inspection. For example, if inbound traffic appears to be secured over a protocol such as SSL/TLS, then the hypervisor can use the given secure protocol. In another modality, inbound network traffic can be explicitly defined, such as traffic through specified ports or IP addresses. [023] Returning to Figure 3, illustrates a process that can be performed by a computer system as physical machine 104 of Figure 1. In one embodiment, a hypervisor in a host machine can process secure messages received through a receiving process 300. The hypervisor can receive 302 an input message. If the message is not a 304 secure message and the message is a 306 secure communication control message, a secure communication control process can be followed. Examples of control messages might include synchronization or renegotiation. The hypervisor control process can determine 308 that the target guest operating system use the guest operating system credentials in a negotiation. The sender may be determined 310 to associate with status information. Using the determined information, the hypervisor can negotiate 312 any changes to or preparation of a secure connection with the sender on behalf of the guest operating system. New and modified status information can be saved and associated 314 with the guest and sender operating system. In another example, the hypervisor might intercept requests to re-establish a secure connection. Using saved state information, such as session information, communication can be restarted. [024] If the message is 304 a secured message, the hypervisor may initiate a message receiving process by determining 316 the host operating system destination and determining 318 the sender information. Using the destination and sender information, the hypervisor can look up the associated status information. Using the state information, the hypervisor can decrypt 320 and/or verify the message. The decrypted message can then be sent 322 to the guest operating system. If the 322 decryption and/or verification fails, the hypervisor can react to the failure, such as requesting another message, reporting the failure, ending the connection, and/or renegotiating the connection. [025] If the message is determined 304 not to be a secure message and determined 306 not to be a secure communication control message, the message can be treated 324 as an unsecure message. Depending on user settings, unsafe messages may or may not be allowed. In some modes all unsafe messages can be rejected. In other embodiments, the insecure message can be delivered to an insecure message handling process. For example, the hypervisor can determine that all messages for ports defined in the guest operating system can be secured, while other defined ports can receive unsecured messages. In one embodiment, rules can also be coordinated with a firewall, such that unsafe message routes are blocked outside a trusted network, while secure messages can be allowed through the firewall. [026] Returning to Figure 4, illustrates a process that can be performed by a computer system as a physical machine 104 of Figure 1. As shown in the figure, a hypervisor in a host machine can use a secure sending process as a process 400 when receiving a message from a guest operating system. The hypervisor may 402 receive an outgoing message from a guest operating system. If the message is not 406 part of the current secure connection, but requires 408 a secure connection, a secure connection can be negotiated. For example, a secure connection might need to be established or renegotiated. Using the guest operating system's credentials, a secure connection can be negotiated 410 on behalf of the guest operating system by the hypervisor. The connection state can be stored 412 as associated with the secure connection's host and receiver operating system. Having prepared the secure connection after operation 412 or having a current connection 406, the state information can be used to encrypt the received message 414. The encrypted message can then be sent 416 to the receiver. In some embodiments, unsecured messages may be allowed, which do not have a current secure connection 406 or require a secure connection 408. Unsecured messages may therefore be processed 418 according to user definitions. In one modality, all communications must be secure. Any unsafe communications can be dropped and/or create an error. [027] A hypervisor can determine whether a sending of a message should be secured. The hypervisor may explicitly or implicitly determine the need for secure communications. For example, if a connection is currently open to a destination computer system, then communication with the destination can be implicitly assumed to use secure communications. In another example, each input message can be inspected in such a way that messages that are secured or need to be secured can be processed by the hypervisor. In some modalities, all outbound communication is assumed to be secured. In another modality, the guest operating system can request that a new secure communication channel be opened with a destination through an API call. Otherwise, communication can be through a normal communication channel. In other embodiments, a guest operating system can explicitly select secure communication by using a communication channel, such as a driver, virtual adapter, IP address, or port. [028] A support system, such as a hypervisor, can thus ensure connections between multiple computing devices and multiple guest operating systems on a host machine. Early entry and early exit requests for a secure connection can be accommodated. Using credentials assigned to a guest operating system, the supporting system can act on behalf of guest operating systems in creating and maintaining secure connections. The support system may use communication channels to determine which communications to secure or pass through to each of the guest operating systems. In one embodiment, the support system may modify a message header, such as an HTTP header, to indicate that a communication was received over a secure connection. [029] The hypervisor can reside on the host system in a data plane, which can be managed by a control plane. Requests for changes can be received by the control plane and executed on computing resources in the data plane. For example, as seen in Figure 5, a user can request a control plan to enable secure communications on a computing resource. The control plane can receive 502 the request from the user. In response, the control plane can create keys and request 504 that a certificate be issued for the computing resource. Certificate information can be provided to the computing resource's support system, such as the hypervisor, for installation, 506 storage, and use as needed. Using the settings provided by the user, secure communications can then be enabled 508. [030] User-specified configuration can be received through multiple channels, including API calls, applications and web sites. An example of a website 600 for setting up secure communication on a support system is shown in figure 6. The website 600 can be accessed by a web browser 602. The website may contain current configuration information such as the server name 604, current certificate information 606, and current secure protocol configuration information 608. An offer 610 to add secure communication in exchange for value may be offered as a service to the user. The user can select from multiple 612 options to configure the secure communication service. In the mode shown, the user can select from multiple options to configure which communications should be secured. These options include always use secure communication, only use specific ports for secure communication, auto-detect secure communication, use specific IP addresses for secure communications, or per virtual Ethernet adapter. If desired, the user can also request an indication that a communication has been secured by modifying a message, such as an HTTP header. The user can then click a button 616 to enable secure communication on the selected guest operating system. In the mode shown, secure communication is in the process of being configured. A 618 progress indicator can indicate the progress of an automatic configuration process allowing the hypervisor to secure communications on behalf of the selected guest operating system. [031] After the user clicks the 616 button to enable secure communication, a control plane can begin the process of setting up secure communications for the selected guest OS. For example, the control plane may be asked to set up secure communications for the guest operating system. The control plane can create a public/private key pair on behalf of the guest operating system. Using identifying information about the guest operating system and the public key, the control plan requests that a digital certificate be issued for the guest operating system. The control plane can then provide secure communication configuration information such as digital certificate, keys, and other secure information to the hypervisor through a network of trust. The hypervisor can store secure configuration information for use in preparing secure communications on behalf of the guest operating system. Upon completion, the hypervisor can notify the control plan that configuration is complete. The control plane can then notify the user that configuration is complete and secure communication can be enabled. In some modalities, this process can run without additional user intervention from clicking the 616 button. In other modalities, the user can be left to intervene, such as importing digital certificate and/or key pair information instead of having the same generated for the user. [032] A 712 service provider may enable secure communications by enabling a support system to intercept and secure communications to and from a guest system 706, 728. An example of a guest system may include a physical computer system including a operating system that runs directly on the hardware of the physical computer system and an example of service provider credential generation and usage 700 can be seen in Figure 7. A customer through a computing resource 702 may request to enable secure communications on a system guest 706 maintained by the customer. A server 704 in a control plane can receive the request to enable secure communications and create a request to generate credentials 710 for guest system 706. A control plane can manage computing resources in a data plan, such as guest system 706 A 708 credential generator can generate and configure 710 credentials. This credential generation can include contacting a certificate authorization to obtain a valid digital certificate. Upon receipt of credentials 710, server 704 may send the credentials to a support system responsible for secure communications from guest system 706. In one embodiment, the support system may be a network device such as a networked security component. 718. In the embodiment shown in Figure 7, the network-mounted security component 718 is contained in a switch 716, although the network-mounted security component 718 may be independent in other embodiments. Secure network component 718 may receive credentials 710 and configuration for secure communications arriving and originating from guest system 706. For example, incoming secured messages 720 may be received by gateway 721 to a service provider 712 and routed via an internal network 714 to the switch 716 which provides the secure communications service to the guest system 706. The networked security component 718 may decrypt and/or verify incoming secured messages 720 that result in cleartext messages 722. Cleartext messages 722 can then be sent to destination guest system 706. Outbound messages from guest system 706 can be intercepted by networked security component 718. Outbound messages can be secured, including encrypted, and sent through the internal network 714, out of the portal 721 and through the Internet 724 to reach the destination system . [033] In another embodiment, shown in Fig. 7, a security component 730 may reside in a host computer 728, such as an augmented network interface card (NIC) or security coprocessing hardware. Security component 730 may intercept incoming communications to host computer 728 and decrypt incoming secured messages 720. Decrypted cleartext messages 722 may be sent to a guest system on host computer 728, whether viewed or not. Outgoing cleartext communications can also be intercepted and secured, including encrypted, to provide secure communications. [034] Exemplary modalities of the disclosure may be described in view of the following clauses:1. A computer-implemented method for providing secure communications, comprising: under the control of one or more computer systems configured with executable instructions, receiving, by a hypervisor, a set of credentials associated with a guest operating system; using, by the hypervisor on behalf of the guest operating system, the set of credentials for establishing a secure connection to a computing device using a secure protocol, the hypervisor acting as a local endpoint of the secure connection; receiving, by the hypervisor, one or more outgoing messages from the system guest operating for the computing device; encrypt, by the hypervisor on behalf of the guest operating system using the secure protocol and set of credentials, one or more outgoing messages from the guest operating system to the computing device, one or more outgoing messages becoming one or more messages outgoing encrypted messages; sending, through the hypervisor, the outgoing encrypted messages to the computing device using the secure protocol; receiving, by the hypervisor, one or more incoming encrypted messages from the computing device; decrypting, by the hypervisor on behalf of the guest operating system using the secure protocol and set of credentials, one or more encrypted incoming messages from the computing device becoming one or more decrypted incoming messages; and send one or more decrypted incoming messages to the guest operating system.2. The computer implemented method of clause 1, wherein the negotiation includes storing protocol state information as associated with the guest operating system and the computing device, the protocol state information recoverable using identifying information from the guest operating system and computing device. , the protocol state information used when encrypting one or more outgoing messages and decrypting one or more encrypted incoming messages. 3. The computer-implemented method of clause 2, wherein the decryption includes: inspecting one or more encrypted incoming messages to determine identifying information from the computing device and the guest operating system referenced in the incoming communication; retrieving the state information 4. use the determined identifying information of the guest operating system and the computing device; and decrypt one or more encrypted input messages using the retrieved protocol state information. Computer-implemented method of clause 2, wherein the encryption includes: receiving one or more outgoing messages from a guest operating system, the guest operating system having identifying information; inspecting one or more outgoing messages to determine information identifying the computing device referenced in one or more output messages; retrieving the protocol state information using the identifying information from the guest operating system and the computing device; encrypt one or more outgoing messages using the retrieved protocol state information.5. The computer-implemented method of clause 1, wherein decryption includes routing one or more decrypted incoming messages to the guest operating system, the guest operating system, between a set of two or more guest operating systems managed by the hypervisor. The computer-implemented method of clause 1, wherein decryption includes verifying the integrity and authenticity of one or more incoming encrypted messages before providing one or more incoming decrypted messages to the guest operating system.7. A computer implemented method for providing secure communications, comprising: under the control of one or more computer systems configured with executable instructions, receiving, by a support system of a host system, a request for a secure connection with a device to a system host operating system on the host system, the host system having the support system and configured to host at least one guest operating system; receive, by the support system, a set of credentials associated with the guest operating system; use, by the support system, the set of credentials on behalf of the guest operating system to establish a secure connection to the device, the supporting system acting as a secure connection endpoint in place of the guest operating system; and send, through the support system over the secure connection, one or more communications between the guest operating system and the device, the support system processing one or more communications to enable the secure connection. 8. The computer-implemented method of clause 7, the method further including: receiving, by the host system's support system, a request for a second secure connection with a second device to a second guest operating system on the host system; retrieve, by the system of support, a second set of credentials associated with the second guest operating system; using, by the support system, the second set of credentials on behalf of the second guest operating system to establish a second secure connection with the second device, the supporting system acting as an endpoint of the second secure connection in place of the second guest operating system; and send, via the support system via the second secure connection, one or more second communications between the second guest operating system and the second device.9. Computer-implemented method of clause 7, wherein use of the set of credentials further includes storing the set of credentials by the support system on behalf of the guest operating system, the set of credentials not readable to the guest operating system.10. Computer-implemented method of clause 7, in which the support system is a hypervisor.11. Computer-implemented method of clause 7, wherein the sending of one or more communications further includes12. Computer-implemented method of clause 11, where the secure protocol is transport layer security.13. Computer-implemented method of clause 7, in which the support system is a hardware security module.14. Computer-implemented method of clause 7, in which the support system is a separate processor in the host system.15. Computer-implemented method of clause 7, wherein the support system encrypts at least part of the communication over the secure connection.16. Computer system to enable a secure connection, comprising: one or more processors; memory, including instructions executable by one or more processors to cause the computer system to at least: receive, by a support system having a set of guest systems, secure communication directed to a guest system from the set of guest systems ;select, through the support system, the guest system from the set of guest systems to which the secure communication is addressed; and provided by the host system using a set of credentials representing an identity of the selected guest operating system, a decrypted message for the selected guest operating system, the decrypted message prepared from secure communication, credentials not available for the selected guest system.17 . Clause 16 system, the system further including a hardware security module, the hardware security module in communication with one or more processors, the hardware security module providing encryption and decryption services to at least one of one or more processors, the hardware security module accessible to the supporting system to decrypt the message.18. Clause 16 system, where the support system is a hardware security module.19. The system of clause 16, wherein the support system is a network device, the support system placed between one or more guest systems and a network from which secure communication is received.20. The system of clause 17, wherein the provision of a decrypted message further includes: sending the secure communication to the hardware security module; and receive the decrypted message from the hardware security module.21. Clause 16 system, wherein the provision of a decrypted message further includes: receiving the secure communication through a first communication channel, receiving through the first channel causing the support system to decrypt the secure communication, in which the system support is configured to decrypt communications received over the first channel; and passing through one or more communications received through a second communication channel to the guest system, wherein the support system is configured to pass through communications received through a second channel.22. Clause 16 system, in which the provision of a decrypted message further includes altering the decrypted message to indicate that the decrypted message was previously encrypted.23. Clause 16 system, wherein the set of credentials includes a private key assigned to the guest operating system.24. One or more computer readable storage media having collectively stored therein executable instructions which, when executed by one or more processors of a computer system cause the computer system to at least: receive, by a support system, a request to a secure connection with a device to a guest system; retrieve, by the support system, a set of credentials associated with the guest system, the credentials protected from access by the guest system; use by the support system the set of credentials on behalf of the guest system to establish a secure connection with the device, the support system acting as an endpoint of the secure connection in place of the guest system; and send, through the support system through the secure connection, one or more communications between the guest system and the device. 25. Computer-readable storage media, of clause 24, the media further including instructions that when executed by one or more processors of a computer system, cause the computer system to at least: receive a request to add a secure connection service to the guest system, the service using the support system to manage secure connections on behalf of the guest system; request that the set of credentials for the guest system be created; and store, through the support system, the set of credentials.26. Computer-readable storage media of clause 25, the media further including instructions that when executed by one or more processors of a computer system, cause the computer system to at least: send an offer to a user to add the secure connection service to the guest system in exchange for a fee; and receive the fee from the user in exchange for adding the secure connection service, the receipt of amount indicating that the request to add the secure connection service for the guest system is sent.27. The computer readable storage media of clause 26, wherein the support system is selected from a group consisting of network hardware, network card, driver and hypervisor.28. Clause 24 computer readable storage media, where the request for a secure connection occurs through the use of a communication channel, where connections through the communication channel are configured to be secure.29. Computer readable storage media of clause 28, wherein the communication channel is selected from the group consisting of port, virtual adapter and source IP address.30. Clause 24 computer readable storage media, wherein the support system is incorporated into a network interface card attached to the guest system. [035] Figure 8 illustrates aspects of an 800 example environment to implement aspects according to various modalities. As will be recognized, although a network-based environment is used for explanatory purposes, different environments can be used, as appropriate, to implement various modalities. The environment includes an electronic client device 802, which may include any suitable device operable to send and receive requests, messages, or information over an appropriate network 804 and transfer information back to a user of the device. Examples of such client devices include personal computers, cell phones, handheld messaging devices, laptop computers, frequency converters, personal data assistants, electronic book readers and the like. The network can include any suitable network, including an intranet, the Internet, a cellular network, a local area network, or any other such network or combination thereof. The components used for such a system may depend at least in part on the type of network and/or environment selected. Protocols and components for communicating over such a network are well known and will not be discussed in detail here. Communication over the network can be enabled by wired or wireless connections, and combinations thereof. In this example, the network includes the Internet, as the environment includes a network server 806 to receive requests and serve content in response to it, although for other networks an alternative device serving a similar purpose could be used as would be evident for a person with common knowledge in the art. [036] The illustrative environment includes at least one application server 808 and a data store 810. It should be understood that there may be multiple application servers, layers or other elements, processes or components, which can be chained or configured from another mode, which can interact to perform tasks such as getting data from an appropriate data store. As used herein the term "data storage" refers to any device or combination of devices capable of storing, accessing, and retrieving data, which may include any combination and number of data servers, databases, data storage devices. data, and data storage media, in any standard, distributed or clustered environment. The application server may include any appropriate hardware and software to integrate with data storage as needed to run aspects of one or more applications for the client device, handling a major portion of data access and business logic for an application. The application server provides access control services in cooperation with data storage, and is capable of generating content such as text, graphics, audio and/or video to be transferred to the user, which can be served to the user by the server. network in the form of HTML, XML, or other appropriate structured language in this example. The handling of all requests and responses, as well as the provision of content between the client device 802 and the application server 808, can be handled by the web server. It should be understood that application and network servers are not required and are merely example components, as structured code discussed here can run on any appropriate device or host machine as discussed elsewhere here. [037] Data storage 810 may include several separate data tables, databases or other data storage mechanisms and media to store data pertaining to a specific aspect. For example, the data storage illustrated includes mechanisms for storing production data 812 and user information 816, which can be used to serve content to the production side. Data storage is also shown to include a mechanism for storing log data 814, which can be used for reporting, analysis or other such purposes. It should be understood that there may be many other aspects that may need to be stored in data storage, such as for page image information and accessing certain information, which may be stored in any of the mechanisms listed above as appropriate or in additional mechanisms in the storage of data 810. Data store 810 is operable, through logic associated therewith, to receive instructions from application server 808 and obtain, update, or otherwise process data in response thereto. In one example, a user could submit a search request for a certain type of item. In that case, the datastore could access user information to verify the user's identity, and can access catalog detail information to obtain information about items of that type. The information can then be returned to the user, as in a results listing on a web page that the user is able to view through a browser on the 802 user's device. Information for a specific item of interest can be seen in a dedicated page or browser window. [038] Each server will typically include an operating system that provides executable program instructions for the general administration and operation of that server, and will typically include a computer-readable storage medium (eg, a hard disk, random access memory, memory only reading, etc.) storing instructions that when executed by a server processor, allow the server to perform its intended functions. Appropriate implementations for the operating system and general functionality of the servers are known or commercially available, and are readily implemented by persons of ordinary skill in the art, particularly in light of the present disclosure. [039] The environment in a modality is a distributed computing environment using several computer systems and components that are interconnected through communication links, using one or more computer networks or direct connections. However, it will be recognized by those of ordinary skill in the art that such a system can operate equally well in a system having fewer or more components than are illustrated in Figure 8. Thus, the representation of system 800 in Figure 8 should be taken as being of an illustrative nature, and not limiting the scope of the disclosure. [040] The various modalities can be further implemented in a wide variety of operating environments, which in some cases may include one or more user computers, computing devices or processing devices that can be used to operate any of several applications. User or client devices can include any of a number of general purpose personal computers, such as desktop or laptop computers that run a standard operating system, as well as cellular, wireless, and handheld devices that run mobile software and capable of supporting a number. of messaging and networking protocols. Such a system may also include a number of workstations running any of a variety of commercially available operating systems and other known applications for purposes such as database development and management. These devices can also include other electronic devices such as dummy terminals, thin clients, gaming systems and other devices capable of communicating over a network. [041] Most modalities utilize at least one network that would be familiar to those skilled in the art to support communications using any of a variety of commercially available protocols, such as TCP/IP, OSI, FTP, UPnP, NFS, CIFS, and AppleTalk. The network can be, for example, a local area network, a remote area network, a virtual private network, the internet, an intranet, an extranet, a public switched telephone network, an infrared network, a wireless network, and any combination thereof. [042] In modalities that utilize a Web server, the Web server can run any of a variety of mid-level or server applications, including HTTP servers, FTP servers, CGI servers, data servers, Java servers, and commercial application servers . The server(s) may also be able to run programs or scripts in response to requests from user devices, such as by running one or more network applications that can be deployed as one or more scripts or recorded programs in any programming language, such as Java®, C, C#, or C++, or any scripting language, such as Perl, Python, or TCL, as well as combinations of these. The server(s) may also include database servers, including without limitation those commercially available from Oracle®, Microsoft®, Sybase® and IBM®. [043] The environment can include a variety of data stores and other memory storage media as discussed above. These can reside in a variety of locations, such as on a local storage medium for (and/or residing on) one or more of the computers or remote5 from all or any of the computers across the network. In a specific set of modalities, information may reside in a storage area network (“SAN”) familiar to those skilled in the art. Similarly, any files necessary to perform10 functions assigned to computers, servers, or other network devices may be stored locally and /or remotely, as appropriate. Where a system includes computerized devices, each such device may include hardware elements that can be electrically coupled via a bus, the elements including, for example, at least one central processing unit (CPU), at least one input device (e.g., a mouse , keyboard, controller, touchscreen or key pad), and at least one output device (for example, a display device, printer, or speaker). Such a system may also include one or more storage devices, such as disk drives, storage devices, optical storage devices, and solid-state storage devices such as random access memory ("RAM") or read-only memory ("ROM", as well as removable media devices, memory cards, flash cards, etc. [044] Such devices may also include a computer readable storage media reader, a communications device (eg, a modem, a network card (wired or wireless), an infrared communications device, etc.), and working memory as described above. The computer readable storage media reader may be connected to, or configured to receive, a computer readable storage medium representing remote, local, fixed and/or removable storage devices as well as storage media for temporary and/or more permanently contain, store, transmit and retrieve computer-readable information. The system and various devices will also typically include a number of software applications, service modules or other elements located on at least one working memory device, including an operating system and application programs such as a client application or web browser. It should be recognized that alternative modalities may have numerous variations from the one described above. For example, custom hardware could also be used and/or specific elements could be implemented in hardware, software (including portable software such as applets) or both. Furthermore, connection with other computing devices such as network input/output devices can be employed. [045] Storage media and computer readable media to contain code, or portions of code, may include any appropriate media known or used in the art, including storage media and communication media, such as, but not limited to volatile and non-volatile media. volatile, removable and non-removable implemented in any method or technology to store and/or transmit information such as computer readable instructions, data structures, program modules, or other data, including RAM, ROM, EEPROM, flash memory or other technology memory, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information that can be accessed by the system device. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will recognize other modes and/or methods for implementing the various modalities. [046] The descriptive report and drawings are therefore considered in an illustrative rather than a restrictive sense. However, it will be evident that various modifications and alterations can be made thereto without departing from the spirit and broader scope of the various modalities as set out in the claims. [047] Other variations are understood in the spirit of the present revelation. Thus, although the disclosed techniques are susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described in detail above. It should be understood, however, that there is no intention to limit the scope of the matter claimed to the specific form or forms disclosed, but rather the intention is to cover all modifications, alternative constructions, and equivalents that are comprised in the spirit and scope of the various modalities, as defined in the appended claims. [048] The use of the terms "a" and "an" and "o, a" and similar referents in the context of describing the disclosed modalities (especially in the context of the following claims) should be interpreted as covering both the singular and the plural, unless otherwise indicated here or clearly contradicted by context. The terms "comprising", "having", "including" and "containing" are to be interpreted as unlimited terms (ie, meaning "including, but not limited to,") unless otherwise noted. The term “connected” should be interpreted as partially or wholly contained in, linked to, or joined together, even if there is something in between. The recitation of ranges of values here is merely intended to serve as an abbreviated method of referring individually to each separate value comprised in the range, unless otherwise indicated herein, and each separate value is incorporated into the descriptive report as if it were individually mentioned here. All methods described herein may be performed in any appropriate order unless otherwise indicated herein or otherwise clearly contradicted by the context. The use of any and all examples, or exemplary language (eg, “how”) provided herein is merely intended to further illuminate various modalities and does not present a limitation on the scope of matter claimed unless otherwise indicated. No language in the descriptive report should be interpreted as indicating any element not claimed as essential to the practice of the invention. [049] Preferred embodiments of this disclosure are described herein, including the best mode known to the inventors for carrying out the invention. Variations of these preferred embodiments may become apparent to those of ordinary skill in the art upon reading the above description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend that the invention be practiced other than as specifically described herein. Accordingly, the present invention includes all modifications and equivalents of subject matter recited in the claims appended hereto as permitted by applicable law. Furthermore, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by the context. [050] All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in full here.
权利要求:
Claims (15) [0001] 1. Computer-implemented method for providing secure communications, characterized in that it comprises: under the control of one or more computer systems configured with executable instructions, receiving, by a support system (102) of a host system (104) a request for a secure connection to a computing device (108, 110, 112) to a guest operating system (106) on the host system, the host system having the supporting system and configured to host a set of guest operating systems; receive, by the support system, a set of credentials (710) associated with the guest operating system, in which each guest operating system among the guest operating systems is individually associated with a set of credentials; use, by the support system, the set of credentials and a security protocol on behalf of the guest operating system to establish a secure connection to the computing device , the support system acting as an endpoint of the secure connection in place of the guest operating system; saving, by the support system, status information associated with the secure connection, the status information being associated with the guest operating system and the device processing; processing, by the support system, a secure message received on the secure connection, to prepare a cleartext message using the saved state information associated with the guest operating system and the computing device, and sending, by the support system, the message cleartext for the guest operating system. [0002] 2. Computer-implemented method, according to claim 1, the method characterized in that it further comprises: capturing, by the support system, a cleartext output message sent by the guest operating system to the computing device; prepare using the status information associated with the second guest operating system and computing device in a secure message from the cleartext output message; and send, through the support system, the secure message to the computing device. [0003] 3. A computer-implemented method according to claim 1, characterized in that the use of the set of credentials further includes storing the set of credentials by the support system (102) on behalf of the guest operating system (106), the set of credentials not readable for the guest operating system. [0004] 4. Method implemented on a computer, according to claim 1, characterized in that the support system (102) is a hypervisor, it is a hardware security module fixed to the host system, incorporated in a network interface card in the host system, or a separate processor in the host system (104). [0005] 5. Method implemented on a computer, according to claim 2, characterized in that the sending of the secure message further includes encrypting the outgoing cleartext message using a secure protocol. [0006] 6. Computer-implemented method, according to claim 5, characterized by the fact that the secure protocol is transport layer security. [0007] 7. Computer-implemented method according to claim 1, characterized in that it further comprises: receiving a request to add a secure connection service to the guest operating system (106) in the host system (104), service using the system support (102) for managing secure connections on behalf of the guest operating system; requesting the set of credentials associated with the guest operating system; and store, through the support system, the set of credentials. [0008] 8. Method implemented by the computer, according to claim 7, characterized in that it further comprises: charging a fee in return for adding the secure connection service to the guest operating system (106). [0009] 9. Method implemented by the computer, according to claim 1, characterized in that the support system encrypts at least part of the communication over the secure connection. [0010] 10. Support system to enable a secure connection, characterized in that it comprises: one or more processors; and memory, including instructions executable by one or more processors to cause the computer system to at least: receive, by the support system (102) of a host system (104), a request for a secure connection to a computing device (108, 110, 112) for a guest operating system (106) on the host system, the host system having the support system and configured to host a set of guest systems; receive, by the support system, a set of credentials (710 ) associated with the guest operating system, where each guest operating system among the set of operating systems is individually associated with a set of credentials; use, by the support system, the set of credentials and a secure protocol on behalf of the guest operating system to establish a secure connection with the computing device, the support system acting as the secure connection endpoint in place of the host operating system. asks; save, by the support system, status information associated with the secure connection, the status information being associated with the guest operating system and the computing device; process, by the support system, a secure message received on the secure connection, to prepare a cleartext message using the saved state information associated with the credentials, guest operating system, and computing device, and send, through the supporting system, the cleartext message to the computing device. [0011] 11. Support system according to claim 10, characterized in that the system further includes a hardware security module, the hardware security module in communication with one or more processors, the hardware security module providing encryption and decryption services for at least one of one or more processors, the hardware security module accessible to the supporting system to decrypt the received secure message. [0012] 12. Support system according to claim 10, characterized in that the support system (102) is a network device, the support system placed between one or more guest systems (106) and a network of which the received secure message is received. [0013] 13. System according to claim 10, characterized in that the processing of the received secure message further comprises decrypting the received secure message, and in which the support system is configured to send the cleartext message to the guest system through a second communication channel in that it is different from the secure connection from each of the received secure messages that were received. [0014] 14. Support system according to claim 13, characterized in that the cleartext message includes an indication that the secure message received was previously encrypted. [0015] 15. Support system according to claim 10, characterized in that the set of credentials includes a private key for the guest operating system (106).
类似技术:
公开号 | 公开日 | 专利标题 BR112014007798B1|2021-06-15|IMPLEMENTING SECURE COMMUNICATIONS IN A SUPPORT SYSTEM EP2948864B1|2019-05-08|Secure virtual machine migration US9716589B2|2017-07-25|Secured communications arrangement applying internet protocol security JP2014529272A5|2015-07-09| US20120084544A1|2012-04-05|Methods and systems for providing and controlling cryptographically secure communications across unsecured networks between a secure virtual terminal and a remote system US10417428B2|2019-09-17|Methods and systems for providing and controlling cryptographic secure communications terminal providing a remote desktop accessible in secured and unsecured environments EP3580906B1|2021-08-18|Network security with surrogate digital certificates US10567373B2|2020-02-18|Establishing security over converged Ethernet with TCP credential appropriation US20220067221A1|2022-03-03|Method and system for implementing security operations in an input/output device Ngekeh2016|CONFIGURING AND USING OPEN VPN ON WINDOWS OS
同族专利:
公开号 | 公开日 JP5799173B2|2015-10-21| EP2761426A1|2014-08-06| US20150347763A1|2015-12-03| AU2012315751C1|2016-01-21| EP2761426B1|2019-01-23| AU2015215904A1|2015-09-17| RU2584570C2|2016-05-20| US20130085880A1|2013-04-04| CN106998331A|2017-08-01| CN103842958A|2014-06-04| US9037511B2|2015-05-19| EP2761426A4|2015-07-29| CN106998331B|2020-09-15| CA2849911A1|2013-04-04| JP2014529272A|2014-10-30| RU2014117204A|2015-11-10| CN103842958B|2017-04-05| US9607162B2|2017-03-28| CA2849911C|2017-02-07| WO2013049571A1|2013-04-04| AU2012315751A1|2014-04-17| AU2015215904B2|2017-03-02| SG2014011571A|2014-04-28| SG10201605750TA|2016-09-29| AU2012315751B2|2015-06-04| BR112014007798A2|2017-04-18|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US6606663B1|1998-09-29|2003-08-12|Openwave Systems Inc.|Method and apparatus for caching credentials in proxy servers for wireless user agents| US6735634B1|1999-06-10|2004-05-11|Blue Coat Systems|Method for real time protocol media recording| US6895501B1|2000-03-13|2005-05-17|Wrq, Inc.|Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure| AU6771901A|2000-07-05|2002-01-14|Ernst And Young Llp|Method and apparatus for providing computer services| EP1410293A2|2001-06-12|2004-04-21|Research In Motion Limited|System and method for compressing secure e-mail for exchange with a mobile data communication device| US8340283B2|2004-06-30|2012-12-25|International Business Machines Corporation|Method and system for a PKI-based delegation process| US7587366B2|2004-10-14|2009-09-08|International Business Machines Corporation|Secure information vault, exchange and processing system and method| US7437447B2|2004-11-12|2008-10-14|International Business Machines Corporation|Method and system for authenticating a requestor without providing a key| US7685635B2|2005-03-11|2010-03-23|Microsoft Corporation|Systems and methods for multi-level intercept processing in a virtual machine environment| US7581229B2|2005-03-11|2009-08-25|Microsoft Corporation|Systems and methods for supporting device access from multiple operating systems| US20060294366A1|2005-06-23|2006-12-28|International Business Machines Corp.|Method and system for establishing a secure connection based on an attribute certificate having user credentials| US20090119504A1|2005-08-10|2009-05-07|Riverbed Technology, Inc.|Intercepting and split-terminating authenticated communication connections| US20070174429A1|2006-01-24|2007-07-26|Citrix Systems, Inc.|Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment| JP2007266938A|2006-03-28|2007-10-11|Seiko Epson Corp|Digital stream data communication| JP2008078878A|2006-09-20|2008-04-03|Nec Corp|Session control system, session proxy device, communication method, and program| US8479264B2|2006-09-29|2013-07-02|Micron Technology, Inc.|Architecture for virtual security module| EP1914959B1|2006-10-19|2011-12-28|Motorola Mobility, Inc.|Method and apparatus for recovery from network disconnections in a peer-peer network| JP2008299617A|2007-05-31|2008-12-11|Toshiba Corp|Information processing device, and information processing system| JP2009223776A|2008-03-18|2009-10-01|Univ Of Tsukuba|Information processing system, program for information processing system, and access control method for client device| US8364983B2|2008-05-08|2013-01-29|Microsoft Corporation|Corralling virtual machines with encryption keys| US9235705B2|2008-05-19|2016-01-12|Wontok, Inc.|Secure virtualization system software| AU2009259876A1|2008-06-19|2009-12-23|Servicemesh, Inc.|Cloud computing gateway, cloud computing hypervisor, and methods for implementing same| JP2010062738A|2008-09-02|2010-03-18|Fujitsu Ltd|Program, method and device for setting network| US8051432B2|2008-11-14|2011-11-01|Novell, Inc.|Techniques for establishing virtual devices| US8732700B2|2008-12-18|2014-05-20|Vmware, Inc.|Virtualization system with a remote proxy| US8296567B2|2009-07-15|2012-10-23|Research In Motion Limited|System and method for exchanging key generation parameters for secure communications| EP3001326B1|2009-12-14|2017-07-26|Citrix Systems Inc.|Methods and systems for communicating between trusted and non-trusted virtual machines| US20110225093A1|2010-03-11|2011-09-15|Cahn Robert S|Depository-Based Security Trading System| CN102195940A|2010-03-12|2011-09-21|北京路模思科技有限公司|Virtual-machine-technology-based data security input and submission method and system| JP5499913B2|2010-06-02|2014-05-21|ソニー株式会社|COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM| US8572728B2|2010-06-08|2013-10-29|Hewlett-Packard Development Company, L.P.|Initiation of storage device scans| KR101673622B1|2011-01-28|2016-11-08|삼성전자주식회사|Method and apparatus for providing qos-based service in wireless communication system| US20120310679A1|2011-06-03|2012-12-06|Kent Dana Olson|Method and apparatus for insuring against crop losses| US9037511B2|2011-09-29|2015-05-19|Amazon Technologies, Inc.|Implementation of secure communications in a support system|US8931063B2|2008-07-28|2015-01-06|Evan S. Huang|Methods and apparatuses for securely operating shared host computers with portable apparatuses| US9154527B2|2011-06-30|2015-10-06|Verizon Patent And Licensing Inc.|Security key creation| US8990554B2|2011-06-30|2015-03-24|Verizon Patent And Licensing Inc.|Network optimization for secure connection establishment or secure messaging| US9270453B2|2011-06-30|2016-02-23|Verizon Patent And Licensing Inc.|Local security key generation| US9037511B2|2011-09-29|2015-05-19|Amazon Technologies, Inc.|Implementation of secure communications in a support system| US10103875B1|2011-12-20|2018-10-16|Amazon Technologies, Inc.|Authentication through a secret holding proxy| US8943318B2|2012-05-11|2015-01-27|Verizon Patent And Licensing Inc.|Secure messaging by key generation information transfer| US9930066B2|2013-02-12|2018-03-27|Nicira, Inc.|Infrastructure level LAN security| CN104219208B|2013-06-03|2018-11-13|华为技术有限公司|A kind of method, apparatus of data input| US10033693B2|2013-10-01|2018-07-24|Nicira, Inc.|Distributed identity-based firewalls| US9442751B2|2014-03-24|2016-09-13|International Business Machines Corporation|Virtual credential adapter for use with virtual machines| US20150379280A1|2014-06-30|2015-12-31|Nicira, Inc.|Method and Apparatus for Dynamically Creating Encryption Rules| US9407612B2|2014-10-31|2016-08-02|Intel Corporation|Technologies for secure inter-virtual network function communication| FR3029311B1|2014-11-27|2017-01-06|Thales Sa|METHOD FOR MANAGING AN ARCHITECTURE AND ASSOCIATED ARCHITECTURE| US10606626B2|2014-12-29|2020-03-31|Nicira, Inc.|Introspection method and apparatus for network access filtering| US9553721B2|2015-01-30|2017-01-24|Qualcomm Incorporated|Secure execution environment communication| US10552619B2|2015-07-20|2020-02-04|Intel Corporation|Technologies for secure trusted I/O access control| US10230529B2|2015-07-31|2019-03-12|Microsft Technology Licensing, LLC|Techniques to secure computation data in a computing environment| US10228926B2|2016-01-28|2019-03-12|T-Mobile Usa, Inc.|Remote support installation mechanism| US9898326B2|2016-02-23|2018-02-20|Red Hat Israel, Ltd.|Securing code loading in a virtual environment| EP3430562B1|2016-03-18|2020-04-01|Telefonaktiebolaget LM Ericsson |Using nano-services to secure multi-tenant networking in datacenters| WO2017210496A1|2016-06-03|2017-12-07|Uptake Technologies, Inc.|Provisioning a local analytics device| US10333775B2|2016-06-03|2019-06-25|Uptake Technologies, Inc.|Facilitating the provisioning of a local analytics device| RU2626550C1|2016-08-09|2017-07-28|Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс"|Program-hardware platform and method of its realisation for wireless communication facilities| US10798073B2|2016-08-26|2020-10-06|Nicira, Inc.|Secure key management protocol for distributed network encryption| US10938837B2|2016-08-30|2021-03-02|Nicira, Inc.|Isolated network stack to manage security for virtual machines| US10461943B1|2016-11-14|2019-10-29|Amazon Technologies, Inc.|Transparently scalable virtual hardware security module| US10447668B1|2016-11-14|2019-10-15|Amazon Technologies, Inc.|Virtual cryptographic module with load balancer and cryptographic module fleet| CN110168499A|2016-12-06|2019-08-23|Nicira股份有限公司|The context service abundant based on attribute is executed on host| US11032246B2|2016-12-22|2021-06-08|Nicira, Inc.|Context based firewall services for data message flows for multiple concurrent users on one machine| US10803173B2|2016-12-22|2020-10-13|Nicira, Inc.|Performing context-rich attribute-based process control services on a host| US10812451B2|2016-12-22|2020-10-20|Nicira, Inc.|Performing appID based firewall services on a host| US10581960B2|2016-12-22|2020-03-03|Nicira, Inc.|Performing context-rich attribute-based load balancing on a host| US10802857B2|2016-12-22|2020-10-13|Nicira, Inc.|Collecting and processing contextual attributes on a host| GB2558918B|2017-01-19|2020-01-29|Exacttrak Ltd|Security Device| US10447697B2|2017-05-25|2019-10-15|Bank Of America Corporation|Data leakage and information security using access control| US10805332B2|2017-07-25|2020-10-13|Nicira, Inc.|Context engine model| US10778651B2|2017-11-15|2020-09-15|Nicira, Inc.|Performing context-rich attribute-based encryption on a host| US10802893B2|2018-01-26|2020-10-13|Nicira, Inc.|Performing process control services on endpoint machines| US10862773B2|2018-01-26|2020-12-08|Nicira, Inc.|Performing services on data messages associated with endpoint machines| US11269674B1|2018-05-23|2022-03-08|Open Invention Network Llc|Lifecycle management of VNFC software modules| EP3695587A1|2019-01-04|2020-08-19|Baidu.com Times TechnologyCo., Ltd.|Method and system for providing secure communications between a host system and a data processing accelerator| WO2021009744A1|2019-07-15|2021-01-21|Mystery Story Technology Ltd.|System, device and methods for secure exchange of text messages| US11108728B1|2020-07-24|2021-08-31|Vmware, Inc.|Fast distribution of port identifiers for rule processing|
法律状态:
2017-04-25| B08F| Application fees: application dismissed [chapter 8.6 patent gazette]| 2017-06-20| B08G| Application fees: restoration [chapter 8.7 patent gazette]| 2018-12-11| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2019-11-19| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2021-05-11| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-06-15| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 28/09/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/248,980|2011-09-29| US13/248,980|US9037511B2|2011-09-29|2011-09-29|Implementation of secure communications in a support system| PCT/US2012/057918|WO2013049571A1|2011-09-29|2012-09-28|Implementation of secure communications in a support system| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|