WO2013063758A1 - System and method for securely waking a computer system over a network - Google Patents
System and method for securely waking a computer system over a network Download PDFInfo
- Publication number
- WO2013063758A1 WO2013063758A1 PCT/CN2011/081627 CN2011081627W WO2013063758A1 WO 2013063758 A1 WO2013063758 A1 WO 2013063758A1 CN 2011081627 W CN2011081627 W CN 2011081627W WO 2013063758 A1 WO2013063758 A1 WO 2013063758A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computer system
- nic
- message
- network
- computer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Definitions
- the present invention relates generally to computer systems, and more particularly to a system and method for securely waking a computer system over a network.
- Network connections can enable computer systems to communicate over local and/or wide area networks.
- a computer if a computer is in a sleeping state, the computer system may be inaccessible to other computer systems via such a network.
- NAT network address translation
- DMZ de-militarized zone
- ARP static address resolution protocol
- Embodiments of the disclosure are presented in order to provide a secure system and method for securely waking a sleeping computer system over a network.
- Some embodiments of the disclosure are directed at a method for a server to facilitate secure wakeup of a computer system over a network (e.g., a wide-area network such as the internet), a server configured to implement the method, and program instructions comprised on a memory medium that are executable by a computer system (e.g., a server) to implement the method.
- Embodiments of the disclosure are also directed to a method for a network interface controller (NIC) to enable secure wakeup of a computer system over a network, and a NIC configured for use in the computer system and configured to implement the method.
- NIC network interface controller
- NAT network address translation
- DMZ de-militarized zone
- ARP static address resolution protocol
- the systems and methods disclosed herein may advantageously include the sleeping client initiating registration with a wakeup facilitating server.
- a wakeup facilitating server By initiating contact with the server, and periodically renewing the contact, e.g., by periodically sending new registration messages, a live connection may be maintained between the sleeping computer system and the server. This may allow the server to send wakeup messages to the sleeping computer system without needing to navigate the NAT.
- Another advantage of the systems and methods disclosed herein is the provision of security. Without security, it may be possible for anyone to wake up a sleeping computer system given basic information (e.g,. the IP address). This could occur maliciously, such as by a hacker, or because packets sent to the sleeping client accidentally match specified wake up patterns (such as Wake Over Lan (WOL) patterns).
- basic information e.g. the IP address
- WOL Wake Over Lan
- the systems and methods disclosed herein may advantageously include authenticating wakeup messages by one or both of a wakeup server and the sleeping computer system itself. Additionally, in some embodiments both wakeup messages and other messages provided in the systems and methods may be encrypted, for an additional layer of security.
- Embodiments of the methods for a server and a NIC configured for use in a computer system to facilitate secure wakeup of the computer system over a network may be performed as follows.
- a registration message may be received from a first computer system over the network.
- the first computer system may include a network interface controller (NIC), from which the registration message may be received while the first computer system is in a sleep mode.
- the registration message may include user-selected human-readable identification information for the first computer system.
- the first computer system may be registered, which may include storing identification information (which may include the user-selected human-readable identification information) for the first computer system in a memory.
- the registration message may also include a nonce and an encryption algorithm, which may also be stored in the memory.
- a query request may be received from a second computer system over the network.
- the query request may include the identification information for the first computer system.
- a query reply may be sent to the second computer system over the network.
- the query reply may include the identification information for the first computer system, the nonce, and the encryption algorithm, and/or other information, depending on the embodiment.
- a wakeup message may be received from the second computer system over the network.
- the wakeup message may include information identifying the first computer system.
- the information identifying the first computer system may include the user-selected human-readable identification information for the first computer system, and/or other identification information which was stored in memory during registration of the first computer system.
- the wakeup message may also include authentication information.
- the authentication information may include the nonce, which may be encrypted according to the encryption algorithm.
- a password or other pre-shared key (e.g., which is known to the first computer system and the second computer system) may be used as part of encrypting the nonce and/or as another type of authentication information.
- the wakeup message may be sent to the first computer system.
- the wakeup message may be authenticated by the server based on the authentication information included in the wakeup message.
- sending the wakeup message to the first computer system may be based on successfully authenticating the authentication information in the wakeup message.
- the server may simply send the wakeup message to the first computer system and allow the NIC in the first computer system to authenticate the wakeup message.
- the NIC may receive the wakeup message.
- the wakeup message may be authenticated by the NIC based on the authentication information. It should be noted that in some embodiments, the NIC may be configured to authenticate the wakeup message regardless of whether the server also performs authentication on the wakeup message, e.g., for extra security. If the wakeup message is successfully authenticated, the NIC may wakeup the first computer system.
- a connection may be maintained between the NIC and the server for a pre-determined period of time after the registration message is received.
- this actively maintained connection may advantageously allow the server to send wakeup messages to the NIC regardless of any NAT between the server and the first computer system.
- registering the first computer system, receiving the query request and sending the query reply, and receiving and sending the wakeup message may be performed while the connection with the NIC is maintained. In other words, a wakeup message received by the server from a computer system may only be forwarded to the first computer system if the connection with the first computer system is still active.
- the pre-determined period of time for which the connection is maintained may expire if no further messages are exchanged between the server and the NIC prior to the end of the pre-determined period of time. Accordingly, in some embodiments, a new registration message may periodically be received from the NIC (e.g., before expiration of the connection with the NIC, in order to maintain a continuous connection). Based on receiving each new registration message, the connection between the NIC and the server may be extended. For example, depending on the embodiment, a new pre-determined period of time may be established, or an additional pre-determined period of time may be added to the remaining pre-determined period of time.
- Figure 1 illustrates an exemplary system including several networked computer systems, according to one embodiment
- Figure 2 is a block diagram illustrating possible components of a computer system according to one embodiment
- Figure 3 is a flowchart diagram illustrating embodiments of a method for securely waking a computer system over a network
- Figure 4 illustrates an exemplary system including a variety of networked devices and including an exemplary message flow between the devices according to one embodiment
- Figure 5 is a diagram illustrating a typical message format according to one embodiment.
- Memory Medium Any of various types of memory devices or storage devices.
- the terms “memory” and “memory medium” are intended to include an installation medium, e.g., a CD-ROM, floppy disks, or tape device; a computer system memory or random access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; or a non-volatile memory such as flash memory, hardware registers, a magnetic media (e.g., a hard drive), or optical storage.
- the memory medium may comprise other types of memory as well, or combinations thereof.
- the term “memory medium” may include two or more memory mediums.
- Computer System Any of various types of mobile or stationary computing or processing systems, including a personal computer system (PC), mainframe computer system, workstation, network appliance, Internet appliance, mobile phone, smart phone, laptop, notebook, netbook, or tablet computer system, personal digital assistant (PDA), multimedia device, or other device or combinations of devices.
- PC personal computer system
- mainframe computer system workstation
- network appliance Internet appliance
- mobile phone smart phone
- laptop notebook, netbook
- tablet computer system personal digital assistant (PDA)
- PDA personal digital assistant
- multimedia device or other device or combinations of devices.
- computer system can be broadly defined to encompass any device (or combination of devices) having at least one processor that executes instructions from a memory medium.
- FIG. 1 illustrates an exemplary system 100 including a variety of networked devices, some or all of which may be used to implement embodiments of this disclosure.
- the system 100 may include a network 102 which provides communicative coupling between the various devices coupled to network 102.
- Network 102 may be a wide area network such as the internet, in some embodiments.
- Network 102 may accordingly include and/or be communicatively coupled to a plurality of other networks, such as one or more local area networks.
- Network 102 (including any "sub-networks") may include wired and/or wireless networks according to any of a variety of standards and versions (e.g., Ethernet, powerline communication systems, fiber optic networks, IEEE 102.11 (WiFi), IEEE 102.16 (WiMAX), etc) and including any of a variety of communicative media, as will be recognized by those of skill in the art.
- Various computer systems may be coupled to network 102, including computer systems 104, 106, and 108.
- Computer systems 104, 106, and 108 may be coupled to network 102 directly or indirectly, e.g., via one or more intermediate networks, which like network 102, may also include wired and/or wireless networks according to any of a variety of standards and versions.
- Other computer systems and/or devices may also be coupled to network 102 in some embodiments.
- computer system 104 may be a sleeping client computer system configured to be securely woken up over network 102 by end-user computer system 106 via server computer system 108.
- computer systems 104, 106, and 108 may be configured to implement aspects of the method described below with respect to Figure 3.
- each of computer systems 104, 106, and 108 may be implemented in a variety of ways.
- Figure 2 illustrates basic components which may be used to implement one or more of computer systems 104, 106, and 108 according to one set of embodiments.
- Other system configurations for computer system 104, 106, and 108 are also possible.
- Figure 2 is a simplified block diagram illustrating various components of a computer system 200.
- computer system 200 may be used to implement one or more of computer systems 104, 106 and/or 108 shown in Figure 1 ; thus, one or more elements of computer system 200 may be configured to implement one or more aspects of the method described below with respect to Figure 3.
- Computer system 200 may include a processor 202, which may be coupled to a memory medium 204.
- Computer system 200 may further include a network interface controller (NIC) 206 coupled to processor 202.
- NIC 206 may enable the computer system 200 to communicate over a network.
- NIC 206 may include a port 210 and logic 208 configured to control port 210 independently and/or in conjunction with processor 202.
- Port 210 may be wired (e.g., an Ethernet, powerline, telephone line, coaxial cable, or other wired connection) or wireless (e.g., an IEEE 102.11 (WiFi), IEEE 102.16 (WiMAX), Bluetooth, or other wireless connection).
- NIC may include multiple ports and/or support network communications via multiple communicative media (e.g., a plurality of wired and/or wireless connections).
- control logic 208 may be implemented using any of various types of logic, such as analog logic, digital logic, a processor (such as a CPU, DSP, microcontroller, etc.), an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or any combination of the above.
- control logic 208 may be implemented partially or entirely as a hardware-based state machine.
- NIC 206 may include a finite state machine configured for sending registration messages to and receiving wakeup messages from server computer system 108, and for authenticating those wakeup messages and waking up the sleeping client computer system 104.
- processor 202 may be a general purpose processor.
- processor 202 may be configured to execute any of a variety of program instructions (e.g., software) stored on memory medium 204.
- computer system 200 may include one or more dedicated (e.g., special purpose) processing units, such as microcontrollers, digital signal processors, and/or other embedded systems.
- dedicated (e.g., special purpose) processing units such as microcontrollers, digital signal processors, and/or other embedded systems.
- memory medium 204 may include program instructions for facilitating secure wake-up of sleeping client computer system 104 over network 102, e.g., according to embodiments of the method described below with respect to Figure 3.
- processor 202 may include a single processor or a plurality of processors (e.g., in order to increase the computing capability of computer system 200), as desired.
- Computer system 200 may be any of a variety of types of device, and may implement any of a variety of functionalities, according to various embodiments.
- computer system 200 may be a mobile phone or smart phone, a tablet, netbook, laptop, desktop, server, or other computer system, a portable media player, a personal digital assistant, or generally any other type of computing device which may be used to communicate over a network in a wired or wireless manner.
- computer system 200 may be implemented in a variety of ways according to various embodiments.
- exemplary computer system 200 is described above as being representative of any of computer systems 104, 106, and 108 shown in Figure 1; those skilled in the art will recognize that this should not be understood to imply that each of computer systems 104, 106, and 108 are necessarily identical. It is possible and, in practice, may be typical for computer systems 104, 106, and 108 to include different components and differing configurations. For example, client computer systems / end user devices may typically have significant differences in capability and functionality from server computer systems.
- computer system 200 may also include any of a variety of other components as desired (e.g., display, user input device(s), speaker(s), additional input/output capability, etc), for example, for implementing other functionality. Such components are not shown in order to avoid obscuring details of the disclosure.
- Figure 3 is a flowchart diagram illustrating embodiments of a method for securely waking a computer system over a network.
- Embodiments of the method may be implemented by a server computer system, a sleeping client computer system (referred to herein as the first computer system), and/or an end user computer system (referred to herein as the second computer system).
- aspects of the method of Figure 3 may typically be implemented by the devices of Figures 1-2 of this disclosure.
- the first computer system may include a network interface controller (NIC) including a port and logic configured to register with the server and receive wakeup messages over the server, to authenticate those wakeup messages, and to wake the first computer system, all while the first computer system is in a sleep mode.
- NIC network interface controller
- the server computer system may include a processor and a memory medium including program instructions executable by the processor to facilitate waking of the first computer system by the second computer system over the network.
- a registration message may be received by the server.
- the registration message may be sent by the NIC of the first computer system over the network.
- the network may be a wide-area network, such as the internet.
- the registration message may be sent by the NIC while the first computer system is sleeping. For example, the NIC may continue to draw a small amount of power, in order to preserve the limited functionality needed to send the registration message and perform other functions related to maintaining the capability to receive and authenticate a wakeup message and wake the computer system, even while the computer system is otherwise in a sleep mode.
- this may be facilitated by implementing the logic in the NIC responsible for maintaining the secure wakeup capability as a simple hardware logic system, such as a state machine, as such a system may have a lower power requirement than other systems.
- a simple hardware logic system such as a state machine
- various other embodiments including those in which the "wakeup" logic is implemented as a processor (e.g., an embedded processor) executing program instructions stored on a memory medium, are also possible.
- the registration message may include information identifying the first computer system.
- the registration message may include the hostname of the first computer, and/or netbios shared folders.
- an IP address of the first computer may (e.g., implicitly or explicitly) be included in the registration message.
- IPv4 and IPv6 may be supported.
- the registration message may include user-selected human-readable identification information for the first computer system.
- the first computer system may be configured by a user (e.g., prior to entering the sleep mode) to have an identification name and/or number selected by that user, such as "homel23" or "bobsworkstation".
- the registration message may also include information that may be used for authentication purposes.
- the registration message may include a nonce (e.g., a random or pseudorandom number, such as a random octet) and an encryption method which may be used to encrypt the nonce (and/or other information).
- a password or other authentication information may be included in the registration message.
- the authentication information e.g., the nonce and/or the encryption method
- the authentication information may be generated by the first computer system and/or selected by a user.
- the first computer may be registered by the server.
- Registering the first computer system may include storing some or all of the information included in the registration message from the first computer system in a memory. For example, any or all of the hostname, netbios shared folders, IP address, user-selected human-readable ID, and/or authentication information for the first computer system may be stored in the memory.
- the NIC of the first computer system and the server may maintain an active connection for a pre-determined period of time after the first computer system sends the registration message to the server.
- the server may initiate a timeout timer of a pre-determined length upon receiving the registration message.
- the connection may expire. If the connection does timeout, the server may be unable to send messages (such as a wakeup message) to the NIC.
- the server may be able to send messages to the NIC, but some or all of the registration information (e.g., the nonce and/or the encryption algorithm) may no longer be valid.
- the server may periodically receive a new registration message from the NIC.
- Each new registration message may include similar types of information as were included in the original registration message.
- each new registration message may be identical to the previous registration messages.
- some information may be updated or changed in some or all new registration messages; for example, in some embodiments, the nonce may be updated periodically for security reasons.
- the new registration message(s) may be sent with a periodicity such that each new registration message is received by the server before expiration of the connection with the NIC.
- the server may extend the connection with the NIC for an additional pre-determined period of time, or simply renew the time-out timer, such that the connection between the NIC of the first computer system and the server may remain continuously active as long as the first computer system is in the sleep mode.
- a query request may be received by the server.
- the query request may be sent by the second computer system.
- the query request may be initiated by a user (e.g., a user of both the first computer system and the second computer system) of the second computer system, as a first step towards waking the first computer system over the network.
- the query request may include identification information for the first computer system.
- the query request may include the host name, IP address, and/or the user-selected human-readable ID of the first computer.
- the query request may include just the user-selected human-readable ID of the first computer. This may be preferable in some embodiments, as it may allow a user to make the query request using just the (presumably easier to remember) ID which they (or another human user) may have selected.
- the query request may include authentication information (such as a password, symmetric or asymmetric key encrypted information, and/or other authentication information, depending on the implementation), which the server may authenticate prior to responding to the query request.
- authentication information such as a password, symmetric or asymmetric key encrypted information, and/or other authentication information, depending on the implementation
- a query reply may be sent to the second computer system by the server.
- the query reply may include information needed by the second computer system in order to generate and send a wakeup message to the first computer system.
- the query reply may include some or all of the information received by the server from the first computer system in the registration message.
- the query reply may include the user-selected human-readable ID of the first computer, the nonce, and the encryption algorithm.
- the query reply may also or alternatively include the hostname and/or netbios shared folders of the first computer system.
- the query reply may be received by the second computer system.
- a wakeup message may be received by the server.
- the wakeup message may be generated and sent by the second computer system.
- the wakeup message may include identification information for the first computer system and authentication information.
- the identification information included in the wakeup message may again include the user-selected human-readable ID of the first computer. Additionally, or alternatively, one or more other forms of identification information for the first computer system may be included in the wakeup message. For example, in some embodiments one or more of the hostname, netbios shared folders, and/or IP address of the first computer system may be included in the wakeup message.
- the second computer system may use information received in the query reply in order to generate the authentication information to be included in the wakeup message. For example, if the query reply includes the aforementioned nonce and encryption algorithm, the second computer system may use the encryption algorithm to encrypt the nonce, and include the encrypted nonce in the wakeup message.
- the wakeup message may include a pre-shared key.
- the wakeup message may include information which is known to the first computer system and to (e.g., a user of) the second computer system, which the first computer system may use to authenticate the wakeup message.
- An example which may be used in some embodiments is a password, e.g., a user-selected sequence of alphanumeric characters. Other embodiments may include other types of pre-shared keys.
- steps 306 and 308 may be omitted.
- a user at the second computer system may already have all of the necessary information to generate and send a wakeup message to the first computer system (i.e., via the server).
- a user of the second computer may be able to provide the user-selected human-readable ID of the first computer and a user-selected pre-shared password as inputs, based on which the second computer system may generate and send the wakeup message to the server, thereby bypassing the query request and query reply steps.
- the wakeup message may be sent to the first computer system by the server.
- the wakeup message may be sent by the server to the first computer system as received from the second computer system.
- the server may modify or authenticate the wakeup message before sending the wakeup message to the first computer system.
- the first computer system may receive the wakeup message from the server computer system.
- the wakeup message may specifically be received by the NIC of the first computer system (e.g., since the computer system may generally be in a sleep mode).
- the NIC may authenticate the wakeup message (e.g., in addition to or instead of the server), and, if the wakeup message is successfully authenticated, the NIC may wake up the first computer system. After waking, the first computer system may be in a fully-on state, and may be capable of interacting with other computer systems (such as the second computer system) over the network.
- authenticating the wakeup message may include decrypting the encrypted nonce included in the wakeup message and comparing it to the original nonce, or comparing the received encrypted nonce to a pre-configured encrypted nonce (e.g., generated by the first computer based on the encryption algrorithm). If the comparison indicates that they are the same, the wakeup message may be authenticated and the NIC may wake up the first computer system.
- the nonce included in the wakeup message may be encrypted (e.g., using the encryption algorithm) according to the key provided by the second computer system.
- the key can be a password, a key from pre-shared x.509 certificate, or some other kind of pre-shared key.
- the pre-shared key may be included by using it to encrypt the nonce.
- the pre-shared key may not transferred in plain text, e.g., for security reasons; however, in other embodiments the password may be so transferred, if desired.
- authentication systems e.g., passwords, pre-shared keys
- any of a variety of other authentication systems may also or alternatively be implemented in some embodiments.
- any symmetric or asymmetric cryptosystem can be implemented.
- an authentication server such as Kerberos, RADIUS, Domain Authentication, or another authentication server, may be used if desired.
- embodiments are also considered in which some or all of the above- described messages (e.g., registration messages, query requests, query replies, wakeup messages) are encrypted (e.g., using a symmetric, asymmetric, or other encryption system), in order to prevent unauthorized users from gaining access to information which would allow them to wake up the first computer system.
- messages e.g., registration messages, query requests, query replies, wakeup messages
- asymmetric, asymmetric, or other encryption system e.g., asymmetric, or other encryption system
- Embodiments of the method may include several advantages over existing methods for remotely waking a sleeping computer system.
- most existing methods relate to methods for waking a sleeping computer over a local area network. Examples include wake over LAN (WOL) patterns (in which a specified offset and matching pattern indicate a wake command), magic WOL (in which a packet contains 16 continuous MAC addresses of a sleeping computer system), and link change (in which media, such as a network cable, is connected).
- WOL wake over LAN
- magic WOL in which a packet contains 16 continuous MAC addresses of a sleeping computer system
- link change in which media, such as a network cable, is connected.
- These methods are not intended to be performed through NAT. Even those that could be used through NAT would require extensive configuration, which may have the undesirable side effect of decreasing the security of the target computer system.
- none of these methods include security.
- embodiments of the method of Figure 3 which are both capable of being performed through NAT without any special configuration and include security / authentication features, represent a significant improvement over the
- Figure 4 is an illustration of an exemplary system 400 in which the method described above with respect to Figure 3 may be implemented according to one embodiment.
- the system 400 of Figure 4 is shown and described herein in order to provide a more specific example of a system and manner in which embodiments of the disclosure may be implemented.
- numerous variations on and alternatives to the specific details of the system of Figure 4 are possible, and neither Figure 4 nor the description thereof should be considered limiting to the disclosure as a whole.
- the system 400 may include a network 402, which may be a wide-area network (WAN), such as the internet.
- Server computer system 404 may be coupled to WAN 402 at a first location.
- End user computer system 406 may be coupled to WAN 402 at a second location.
- Sleeping client computer systems 408 and 410 may be coupled to WAN 402 via a local area network (LAN) 412.
- LAN 412 may be provided (e.g., wirelessly) by router 414, which may provide network address translation (NAT) on the LAN 412 side of a firewall 416.
- LAN 412 may be provided (e.g., wirelessly) by router 414, which may provide network address translation (NAT) on the LAN 412 side of a firewall 416.
- NAT network address translation
- Sleeping client 408 may register with server 404 via LAN 412 and WAN 402. In the embodiment of Figure 4, registering may be performed by a NIC (not shown) in sleeping client 408, and may include sending a message including an encoded hostname and netbios shared folders of the sleeping client 408, an encoded ID of the sleeping client 408 (which may be user-selected, e.g., prior to the sleeping client 408 entering the sleep mode), a nonce (which may be an octet which is randomly generated by the sleeping client 408), and an encrypt algorithm.
- the server may store all of this information.
- end user 406 may generate and send a query request to the server 404.
- the query request may simply include the encoded ID of the sleeping client 408.
- the server 404 may send a query reply to end user 406.
- the query reply may include the encoded ID of the sleeping client 408, and the nonce and the encrypt algorithm from the register message.
- the end user 406 may generate a wakeup message with a security key.
- the wakeup message may include the encoded ID of the sleeping client 408, and the nonce encrypted according to a key input of the end user.
- the nonce may be encrypted using the encrypt algorithm included in the register message according to the key input (e.g., a password or other pre- shared key) by the end user 406.
- the end user 406 may send the wakeup message to the server 404, which may forward the wakeup message to the sleeping client 408.
- the NIC in the sleeping client 408 may receive the wakeup message, and check the encrypted nonce. If it is encrypted using the correct key, the NIC may wake up the sleeping client 408.
- Figure 5 illustrates an exemplary message format which may be used as part of a system and method for securely waking a computer system over a network according to one embodiment.
- the message format illustrated may take the form of a user datagram protocol (UDP) packet.
- UDP user datagram protocol
- the message may include a media access control (MAC) header, an internet protocol (IP) header, and a UDP header. Following these headers, which may be implemented as known in the art according to UDP protocol, a "secure wake over internet" (“SWOI") header may be included.
- the SWOI header may include version information, a command (CMD) indicator, a length field, an XID, and an Error Code, according to one embodiment.
- the version field may indicate a version of the message format.
- the CMD field may indicate a type of SWOI message, such as a registration message, a query request, a query reply, or a wakeup message.
- the length field may indicate a length (e.g., in bytes) of the options list to follow.
- Error correction coding information and/or other information may also be included in some embodiments.
- a portion of the message format may be reserved for changes to future changes to the message format. While specific lengths in bytes are shown for the SWOI header fields (e.g., 1 byte for version, 1 byte for CMD, 2 bytes for length, 4 bytes for XID, and 2 bytes for Error Code), these are exemplary only and other lengths are also considered.
- the options list may include the substance of a message.
- possible options could include an encoded host name, a user-selected ID, a nonce, an encrypt algorithm, or any of a variety of other options, potentially depending on the message type.
- each option may include three fields: option type (e.g., identifying a type of the option), option length (e.g., identifying a length of the option data field), and the option data itself.
- the option type field may be 1 byte long, the option length field may be 2 bytes long, and the option data field may be as long as is indicated by the option length field; other field lengths are also possible.
- a single packet may include multiple options in the option list. In some other embodiments, each packet may only include a single option.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN2454CHN2014 IN2014CN02454A (en) | 2011-11-01 | 2011-11-01 | |
PCT/CN2011/081627 WO2013063758A1 (en) | 2011-11-01 | 2011-11-01 | System and method for securely waking a computer system over a network |
KR1020147014952A KR101599695B1 (en) | 2011-11-01 | 2011-11-01 | System and method for securely waking a computer system over a network |
CN201180074574.8A CN104025512B (en) | 2011-11-01 | 2011-11-01 | For the system and method by network security computer system wakeup |
EP11875075.1A EP2774325B1 (en) | 2011-11-01 | 2011-11-01 | System and method for securely waking a computer system over a network |
US14/349,056 US9746907B2 (en) | 2011-11-01 | 2011-11-01 | Secure wakeup for computer systems over a network |
JP2014539201A JP5823627B2 (en) | 2011-11-01 | 2011-11-01 | System and method for securely wake a computer system over a network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/081627 WO2013063758A1 (en) | 2011-11-01 | 2011-11-01 | System and method for securely waking a computer system over a network |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013063758A1 true WO2013063758A1 (en) | 2013-05-10 |
Family
ID=48191190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2011/081627 WO2013063758A1 (en) | 2011-11-01 | 2011-11-01 | System and method for securely waking a computer system over a network |
Country Status (7)
Country | Link |
---|---|
US (1) | US9746907B2 (en) |
EP (1) | EP2774325B1 (en) |
JP (1) | JP5823627B2 (en) |
KR (1) | KR101599695B1 (en) |
CN (1) | CN104025512B (en) |
IN (1) | IN2014CN02454A (en) |
WO (1) | WO2013063758A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10756918B2 (en) * | 2008-12-02 | 2020-08-25 | ioBridge, Inc. | Activating a device via a module-based device interaction system |
CN104115153A (en) * | 2012-02-20 | 2014-10-22 | 英特尔公司 | Directed wakeup into a secured system environment |
US9152195B2 (en) * | 2013-01-21 | 2015-10-06 | Lenovo (Singapore) Pte. Ltd. | Wake on cloud |
US10488909B2 (en) * | 2014-02-14 | 2019-11-26 | Hewlett-Packard Development Company, L.P. | Communicating commands to an embedded controller of a system |
JP6373087B2 (en) * | 2014-06-20 | 2018-08-15 | キヤノン株式会社 | Information processing apparatus, control method thereof, and program |
TWI646799B (en) * | 2016-08-29 | 2019-01-01 | 物聯智慧科技(深圳)有限公司 | Remote wake-up method, connection server and networked device with sleep mode |
US10444814B2 (en) * | 2016-09-13 | 2019-10-15 | M2MD Technologies, Inc. | Method and system for low power internetwork communication with machine devices |
US11382174B2 (en) * | 2017-03-31 | 2022-07-05 | Interdigital Ce Patent Holdings, Sas | Method to awaken a network access device from the internet |
US10771439B2 (en) * | 2017-06-28 | 2020-09-08 | Microsoft Technology Licensing, Llc | Shielded networks for virtual machines |
US10871815B2 (en) * | 2018-09-28 | 2020-12-22 | Sonos, Inc. | Network identification of portable electronic devices while changing power states |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311276B1 (en) * | 1998-08-25 | 2001-10-30 | 3Com Corporation | Secure system for remote management and wake-up commands |
US6493824B1 (en) * | 1999-02-19 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Secure system for remotely waking a computer in a power-down state |
US20030202514A1 (en) * | 2002-04-29 | 2003-10-30 | International Business Machines Corporation | Secure method and system to prevent external unauthorized remotely initiated power up events in computer systems |
US20090003319A1 (en) * | 2007-06-28 | 2009-01-01 | Kapil Sood | Network interface apparatus |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678728B1 (en) | 1999-12-03 | 2004-01-13 | 3Com Corporation | Method and apparatus for automatically loading device status information into a network device |
JP2004199543A (en) * | 2002-12-20 | 2004-07-15 | Fuji Xerox Co Ltd | Server, client, and network system |
US7574600B2 (en) * | 2004-03-24 | 2009-08-11 | Intel Corporation | System and method for combining user and platform authentication in negotiated channel security protocols |
US7594116B2 (en) * | 2005-04-28 | 2009-09-22 | Proofpoint, Inc. | Mediated key exchange between source and target of communication |
JP4741292B2 (en) * | 2005-06-09 | 2011-08-03 | 株式会社日立製作所 | Device management system |
JP2007036624A (en) | 2005-07-26 | 2007-02-08 | Matsushita Electric Ind Co Ltd | Communication management apparatus, device, and communication system |
US20070067445A1 (en) * | 2005-09-16 | 2007-03-22 | Smart Link Ltd. | Remote computer wake-up for network applications |
US20080025279A1 (en) | 2006-07-31 | 2008-01-31 | Motorola, Inc. | Synchronization of multi-system wakeup |
US20090073481A1 (en) * | 2007-09-17 | 2009-03-19 | Ferlitsch Andrew R | Method and system for external preprocessing of service requests directed to a sleeping node |
US20090210519A1 (en) * | 2008-02-18 | 2009-08-20 | Microsoft Corporation | Efficient and transparent remote wakeup |
US8095667B1 (en) | 2008-02-19 | 2012-01-10 | Marvell International Ltd. | Methods and apparatus for remotely waking up a computer system on a computer network |
WO2009104828A1 (en) | 2008-02-22 | 2009-08-27 | Logicplant | Method for remote wake-up a computer connected to a network |
US8533506B2 (en) * | 2010-06-04 | 2013-09-10 | Lenovo (Singapore) Pte. Ltd. | System wakeup on wireless network messages |
US8498229B2 (en) * | 2008-12-30 | 2013-07-30 | Intel Corporation | Reduced power state network processing |
US8291258B2 (en) * | 2010-01-08 | 2012-10-16 | Juniper Networks, Inc. | High availability for network security devices |
US8286011B2 (en) * | 2010-02-28 | 2012-10-09 | Freescale Semiconductor, Inc. | Method of waking processor from sleep mode |
US8379540B2 (en) * | 2010-05-03 | 2013-02-19 | Microsoft Corporation | System for synchronous and asynchronous gaming modes |
US8850219B2 (en) * | 2010-05-13 | 2014-09-30 | Salesforce.Com, Inc. | Secure communications |
US9223583B2 (en) * | 2010-12-17 | 2015-12-29 | Oracle International Corporation | Proactive token renewal and management in secure conversations |
US20160192403A1 (en) * | 2014-12-30 | 2016-06-30 | Qualcomm Incorporated | Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture |
-
2011
- 2011-11-01 JP JP2014539201A patent/JP5823627B2/en not_active Expired - Fee Related
- 2011-11-01 WO PCT/CN2011/081627 patent/WO2013063758A1/en active Application Filing
- 2011-11-01 EP EP11875075.1A patent/EP2774325B1/en not_active Not-in-force
- 2011-11-01 US US14/349,056 patent/US9746907B2/en active Active
- 2011-11-01 IN IN2454CHN2014 patent/IN2014CN02454A/en unknown
- 2011-11-01 KR KR1020147014952A patent/KR101599695B1/en not_active IP Right Cessation
- 2011-11-01 CN CN201180074574.8A patent/CN104025512B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311276B1 (en) * | 1998-08-25 | 2001-10-30 | 3Com Corporation | Secure system for remote management and wake-up commands |
US6493824B1 (en) * | 1999-02-19 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Secure system for remotely waking a computer in a power-down state |
US20030202514A1 (en) * | 2002-04-29 | 2003-10-30 | International Business Machines Corporation | Secure method and system to prevent external unauthorized remotely initiated power up events in computer systems |
US20090003319A1 (en) * | 2007-06-28 | 2009-01-01 | Kapil Sood | Network interface apparatus |
Non-Patent Citations (1)
Title |
---|
See also references of EP2774325A4 * |
Also Published As
Publication number | Publication date |
---|---|
JP5823627B2 (en) | 2015-11-25 |
KR20140088896A (en) | 2014-07-11 |
US9746907B2 (en) | 2017-08-29 |
US20140298066A1 (en) | 2014-10-02 |
JP2015504544A (en) | 2015-02-12 |
CN104025512B (en) | 2017-10-13 |
EP2774325A4 (en) | 2015-06-24 |
CN104025512A (en) | 2014-09-03 |
EP2774325A1 (en) | 2014-09-10 |
IN2014CN02454A (en) | 2015-08-07 |
EP2774325B1 (en) | 2018-02-28 |
KR101599695B1 (en) | 2016-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9746907B2 (en) | Secure wakeup for computer systems over a network | |
JP5173999B2 (en) | Method, program, computer device | |
US8107396B1 (en) | Host tracking in a layer 2 IP ethernet network | |
US20090210519A1 (en) | Efficient and transparent remote wakeup | |
US9489023B1 (en) | Secure wake on LAN with white list | |
EP2856698B1 (en) | Network presence offload | |
US11991086B2 (en) | Device-enabled access control in a mesh network | |
US10243741B2 (en) | Key exchange and mutual authentication in low performance devices | |
Bannis et al. | Creating a secure, integrated home network of things with named data networking | |
US11785089B2 (en) | Updating communication parameters in a mesh network | |
US11863532B2 (en) | Enabling efficient communication in a hybrid network | |
CN114302356A (en) | Communication method, system and storage medium for sharing secret key | |
Masuduzzaman et al. | Two phase authentication and VPN-based secured communication for IoT home networks | |
Lin et al. | SAGA: Secure auto-configurable gateway architecture for smart home | |
US12003478B1 (en) | Sharing domain name service resources in a mesh network | |
US12126591B1 (en) | Sharing domain name service resources in a mesh network | |
US12063201B1 (en) | Enabling partial access to a local area network via a meshnet device | |
US20230319594A1 (en) | Optimizing meshnet connections in a mesh network | |
US20230247056A1 (en) | Enabling a secure mesh network | |
Mišic | ZigBee: A long way to go? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11875075 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011875075 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2014539201 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20147014952 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14349056 Country of ref document: US |