Embodiments of the present invention relate generally to the field of networks, and more particularly to binding a plurality of platform identities on a node to be used in such networks.
Wireless networks are proliferating at a rapid pace as computer users become increasingly mobile. Wireless networks offer users significant flexibility to “roam” across networks without being tied to a specific location. This roaming must be managed by a variety of management solutions. One downside of wireless networks, however, is that they typically face significant security issues. Since the connection is “wireless,” i.e., not physical, and connects to different administrative domains, any party with a compatible wireless network interface may position themselves to inspect and/or intercept wireless packets. In other words, any third-party hacker or attacker may, with relative ease, gain access to packets being transmitted across a wireless network, regardless of who the packets are actually destined for. Employment of security measures to control access to a network may help secure the network; however, administration may be complicated by an increasing amount of entities requesting access.
Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Embodiments of the present invention may provide a method, apparatus, and system for enabling a secure wireless platform. More specifically, embodiments of the present invention may provide a network node capable of binding a plurality of platform identities in negotiation of an access policy to the network.
Various aspects of the illustrative embodiments will be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that alternate embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific devices and configurations are set forth in order to provide a thorough understanding of the illustrative embodiments. However, it will be apparent to one skilled in the art that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrative embodiments.
Further, various operations will be described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the present invention; however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment; however, it may. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise.
The phrase “A and/or B” means “(A), (B), or (A and B).” The phrase “at least one of A, B and C” means “(A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C).”
In discussion of the present embodiment the node 104 may also be referred to as end node 104, the node 108 may also be referred to as a network access device (NAD) 108, and the node 112 may also be referred to as authentication node 112. However, in various embodiments, the nodes 104, 108, and 112 may be any type of device that is capable of communicating with other devices over the network 100. Generally such devices may include personal computers, servers, access points, laptops, portable handheld computers (e.g., personal digital assistants or “PDAs”), set-top boxes, intelligent appliances, wireless telephones, web tablets, wireless headsets, pagers, instant massaging devices, digital cameras, digital audio receivers, televisions and/or other devices that may receive and/or transmit information wirelessly (including hybrids and/or combinations of the aforementioned devices).
The NAD 108 may serve as an entry point to provide the end node 104 with access to other nodes of the network 100, including node 112 as well as other devices not specifically shown. The NAD 108 may be a stand-alone device and/or be incorporated as part of another network device such as a network bridge, router, or switch.
At a network entry event, e.g., a power-on event or an event signifying end node 104 has come within the transmission/reception range of NAD 108, the end node 104 may engage in a negotiation with the authentication node 112, through the NAD 108, that is designed to procure an access policy to control the end node 104 access and/or participation with the network 100. This may sometimes be referred to as end-point access control and verification (EACV). This EACV may be used to facilitate, e.g., authenticated client access to an enterprise network. The authentication node 112 may include an authentication device 124 to provide preliminary authentication measures to verify aspects of communication from end node 104, and a policy decision point (PDP) device 128 to formulate and communicate a network access policy to the NAD 108 and/or the end node 104, to control network access of the end node 104. The authentication device 124 and the PDP 128 may be co-located in the same device or separate from one another.
The end node 104 may include a host partition 132, including an operating system (OS) and other components to provide various user functions. The end node 104 may also have a dedicated partition 136, which may operate independently from the operating system of the host partition 132, to provide various management functions. In an embodiment, the dedicated partition 136 may provide a network administrator access to the end node 104 regardless of the power state or OS condition. This ability to communicate with the end node 104 remotely may be called “out-of-band” (OOB) management to indicate that the channel may be OS-agnostic and always available.
The host partition 132 may include an upper layer 140, which may include the OS, coupled to a network interface, e.g., a wireless network interface card (WNIC) 144, to access the over-the-air link 116. More specifically, the upper layer 140 may be coupled to a media access control (MAC) layer 148 of the WNIC 144, which is in turn coupled to a physical (PHY) layer 152. Similarly, an upper layer 156 of the dedicated partition 136 may access the over-the-air link 116 through the MAC layer 160, of the WNIC 144, and the PHY layer 152. The PHY layer 152, which may refer to the physical layer in the Open Systems Interconnect (OSI) model, may provide the hardware for the end node 104 to send and receive data.
The MAC layers 148 and 160, which may be sublayers of the data link layer of the OSI model, may be responsible for transmitting data packets between the WNIC 144 and the upper layers 140 and 156, respectively. Each of the MAC layers 148 and 160 may provide framing, addressing, and/or medium accessing operations to facilitate data being transmitted to/from the respective upper layers 140 and 156.
In various embodiments, upper layers 140 and/or 156 may include one or more layers and/or sublayers of the OSI model including, a logical link control sublayer, a network layer, a transport layer, a session layer, a presentation layer, and/or an application layer.
While a node having multiple MAC layers may have certain advantages, it may also complicate management and procurement of network access permissions as the upper layers 140 and 156 may be working independently and potentially unaware of one another. The operation of the MAC layers 148 and 160 and/or the upper layers 140 and 156, may contribute to the existence of multiple identities on the platform. Other network entities, e.g., authentication node 112, may not realize the various identities are operating from a common platform. As used herein, “platform” may refer to the general framework of the end node 104 including, e.g., the various hardware, software, and/or firmware configurations, some of which are to be described in further detail below.
Therefore, in accordance with an embodiment of the present invention, the dedicated partition 136 may provide an independent and secure environment to bind the various identities of the end node 104 to one another. With the platform identities bound to one another, the dedicated partition 136 may perform various platform policy negotiations with the authentication node 112 in order to procure a platform policy for network access. As used herein, a platform policy may include one or more network access policies and/or filters, which may be applied to the entities of a platform, or a subset thereof. The platform policy may be applied through hardware and/or software components on the platform. Further details of these interactions are described in detail later in the specification.
While some embodiments of the present invention are discussed with two MAC layers, other embodiments may have less or more MAC layers.
Although
In various embodiments, the dedicated partition 136 may comprise a variety of different types of partitions, including an entirely separate hardware partition (e.g., utilizing Active Management Technologies (AMT), “Manageability Engine” (ME), Platform Resource Layer (PRL) and/or other comparable or similar technologies) and/or a virtualized partition (e.g., a virtual machine in a Virtualization Technology (VT) scheme). In various embodiments, a virtualized host may also be used to implement AMT, ME, and PRL technologies (as described in further detail below).
In this embodiment, the nodes 104, 108, and 112 may each have antennae structures 162, 164, and 168, respectively, to facilitate wireless transmission/reception of data. An antenna structure may provide a respective wireless network interface with communicative access to an over-the-air link. In various embodiments, each of the antenna structures 162, 164, and/or 168 may include one or more directional antennas, which radiate or receive primarily in one direction (e.g., for 120 degrees), cooperatively coupled to one another to provide substantially omnidirectional coverage; or one or more omnidirectional antennas, which radiate or receive equally well in all directions.
In various embodiments, the nodes 104, 108, and/or 112 may have one or more transmit and/or receive chains (e.g., a transmitter and/or a receiver and an antenna). For example, in various embodiments, nodes 104, 108, and/or 112 may be a single-input, single-output (SISO) node, a multiple-input, multiple-output (MIMO) node, single-input, multiple-output (SIMO), or multiple-input, single-output (MISO) node.
The network 100 may comply with a number of topologies, standards, and/or protocols. In one embodiment, various interactions of the network 100 may be governed by a standard such as one or more of the American National Standards Institute/Institute of Electrical and Electronics Engineers (ANSI/IEEE) standards (e.g., IEEE 802.1x-REV-2004, along with any updates, revisions, and/or amendments to such). In various embodiments, the network 100 may additionally or alternatively comply with other communication standards, e.g., other 802.1 standards, 802.11 standards, 802.16 standards, standards conforming to the 3G International Telecommunications Union (ITU) specification for mobile communications technology, etcetera.
In various embodiments, the network 100 may comprise any type of network architecture including, but not limited to, local area networks (LANs), wireless LANs (WLANs), wireless wide area networks (WWANs), wireless metropolitan area networks (WMANs) and/or corporate intranets.
Thus, as illustrated in
While the node 300 shows two VM partitions, host partition 312 and dedicated partition 316, other embodiments may employ any number of virtual machines. VMs may function as self-contained partitions respectively, running their own software hosted by VMM 308, illustrated as host software 320 and AMT software 324.
The host software 320 and AMT software 324 may each operate as if it were running on a dedicated computer rather than a virtual machine. That is, host software 320 and AMT software 324 may each expect to control various events and have access to hardware resources on node 300, e.g., a NIC 328.
A physical hardware partition with a dedicated processor (as illustrated in
The host partition 404 may include components such as an ME agent 416 to provide an ME of the AMT 408 with limited access and control of components of the host partition 404. Access to the ME agent 416 by the operating system of the host partition 404 may be restricted, wholly or in part. The ME agent 416, which may be limited to a network stack 420, may gather data on critical parameters about behavior and/or state of the host partition 404, may provide certain controls of the host partition 404, e.g., reboot, and/or may provide various security mechanisms. Interactions between the host partition 404 and the AMT 408 may take place over a dedicated channel 424 protected against forgery, eavesdropping, delayed messages, and/or replay attacks.
In some embodiments, the network stack 420, e.g., Transport Control Protocol (TCP), Internet Protocol (IP), User Dependent Protocol (UDP), and/or Dynamic Host Configuration Protocol (DHCP), may perform various routing, flow control, segmentation/desegmentation, and/or error control functions.
In some embodiments the host partition 404 may have an authenticator 428 complying with, e.g., an extensible authentication protocol (EAP) framework. The authenticator 428 may allow for authentication and/or key generation procedures with other entities, e.g., the NAD 108 and/or authentication node 112.
In some embodiments, the host partition 404 may also have a driver 432 that may be part of a link layer implementation within an OS, to facilitate communication between the components of the host partition 404 and the NIC 412.
As illustrated, the AMT 408 may include an authenticator 436, a network stack 440, and a driver 444, which may be similar to like-named components of the host partition 404. The AMT 408 may also include an end-point access control (EAC) trust agent 448 and a posture attestor 452 to facilitate collection and attesting of platform posture information. In some embodiments, the AMT 408 may also have a policy applicator 456 to facilitate application of a platform policy.
In an embodiment, the end node 400 may include a trusted platform module 460 coupled to the host partition 404 and the dedicated partition 408 for establishing a root of trust between the partitions.
Details of the interaction of the various components described above may be given below in accordance with some embodiments.
The AMT 408 may be deemed to be a compliant entity upon successful registration and mutual authentication and may therefore be validated by the authentication node 112. Upon validation, the AMT 408 may cooperate with the authentication node 112 to effectively bind the host partition 404 to the AMT 408 (508). In one embodiment, the binding of the identities may communicate to other network participants, e.g., NAD 108, authentication node 112, network administrator, etc., that the host partition 404 and the AMT 408 co-reside on the end node 400. This may, in turn, facilitate assignment and enforcement of the platform policy received from the authentication node 112.
The trust agent 448 may cooperate with the ME agent 416 over the dedicated channel 424 to collect posture information on the host partition 404. The host posture information may be attested through the posture attestor 452. In some embodiments, posture information may be attested through cryptographic signing mechanisms. This posture information may then be registered with the authentication node 112 (512).
The AMT 408 may then receive a platform policy from the authentication node 112, more particularly, from the PDP 128. The policy applicator 456 may then verify the policy and implement it on the host partition 404 (516).
In an embodiment, the AMT 408 may initially transmit a message 608 to block the driver 432 of the host partition 404 from initiating connections with the NAD 108 pending registration and authentication operations of the AMT 408.
In accordance with an embodiment of the present invention, the AMT 408 and authentication node 112 may perform a mutual authentication and registration exchange 610. The AMT 408, using Cert-AMT, may perform a mutual authentication exchange 612 with the authentication node 112, using Cert-AN. This mutual authentication exchange 612 may result in a shared secret between the AMT 408 and the authentication node 112 that may be referred to as a master secret key (MSK). The MSK may be used to derive a tunnel session key (TSK) and/or a key confirmation key (KCK). In various embodiments, the TSK and/or KCK may be used to facilitate protection of the communication channel between the AMT 408 and the authentication node 112 for payload integrity verification, confidentiality, and prevention of replay attacks.
In an embodiment, the authentication node 112 may send message 616 to query the AMT 408 for posture information. The AMT 408 may transmit its posture information in a message 620KCK that may be protected with a message authentication code computed under the KCK. The authentication node 112 may use its KCK to verify the integrity of the AMT 408 posture communication and, if verified, transmit acceptance message 624. Protection of a message with a message authentication code computed under KCK may be represented by the KCK subscript. Subsequent verification of a KCK protected message at the receiving entity through use of the receiving entity's KCK may be assumed unless otherwise stated. This symmetric key authentication may be used to reduce the computational burden on the AMT 408, which may have a constrained processor. However, other embodiments may use other types of authentication.
In an embodiment, the authentication node 112 may use its MSK to derive a pairwise master key (PMK), which it may subsequently provide to the NAD 108 in message 628 to be used to control the AMT 408 access to the network 100. The AMT 408, which may use its MSK to derive the PMK, may communicate the PMK to the NAD 108 to gain access to the network 100. If the NAD 108 determines that the PMK provided by the authentication node 112 matches the PMK provided by the AMT 408 it may allow the AMT 408 access.
The AMT 408 may complete its link authentication procedures and derive appropriate link layer keys with the link network peer 632. As a result of the above operations, a posture authenticated AMT 408 may have access to the network 100 as a trusted entity 636.
The authenticated AMT 408 and the authentication node 112 may participate in the identity binding exchange 638 to bind the host partition 404 with the AMT 408. After the AMT has collected a list of the host identities on the platform for which it will be reporting posture on, e.g., a host-id list, the AMT 408 may communicate the host-id list in a message 640KCK to the authentication node 112. In an embodiment, the host-id list may include MAC addresses of the hosts.
In an embodiment, message 640KCK may also include a Hash-SS. The Hash-SS may be used as session identifier in the negotiation to provide information relating to a present state of a session-state data structure of the AMT 408. The authentication node 112 may use this information to fill in corresponding fields of its session-state data structure.
In an embodiment, the message 640KCK may also include a liveness marker, e.g., a random value (Nonce-AMT). The Nonce-AMT may be an unpredictable, random value generated by the AMT 408 using a hardware and/or software random number generator. The use of nonces to facilitate liveness check will be described in further detail below.
In an embodiment, the message 640KCK may also include a MAC address of the AMT (MAC-AMT). The MAC-AMT may include an Internet Protocol (IP) address assigned by a network dynamic host configuration process (DHCP) server.
In response to message 640KCK, the authentication node may communicate a message 644KCK including, e.g., a MAC address of the authentication node 112 (MAC-AN), a Hash-SS, Nonce-ME, and/or a liveness marker generated by the authentication node 112 (Nonce-AN). The AMT 408 may verify KCK integrity of 644KCK and liveness and transmit message 648KCK communicating Hash-SS and Nonce-AN.
The generation, transmission, and repetition of the Nonce values of this identity binding 508 may provide a bi-party proof-of-liveness check. For example, repetition of Nonce-AMT in the message 644KCK may show that the message 644KCK was generated after receiving message 640KCK.
Following the binding of the identities, the AMT 408 may send message 652 to the driver 432 to initiate connection with NAD 108 so that the host partition 404 may acquire an IP address from the network DHCP server.
In an embodiment, following the identity binding exchange 638, the entities may engage in a posture registration exchange 656. The authentication node 112 may transmit a liveness marker, e.g., a second generated nonce value (Nonce-AN2) in a message 660. The AMT 408 may send a message 664 to the host partition 404 requesting posture information (Host-Posture). The AMT 408 may then transmit message 668KCK to authentication node 112 including, e.g., Hash-SS, Host-posture, Nonce-AN2, and another nonce value (Nonce-AMT2). The authentication node 112 may verify the integrity and liveness of the message 668KCK and transition into a policy exchange 672 by transmitting message 676KCK, which may include hash-SS, an access policy for the host partition 404 (Host-Policy), and/or Nonce-AMT2.
The AMT 408 may verify the integrity and liveness of the message 676KCK and proceed to transmit a message 680 to implement the Host-policy on the end node 400 through the policy applicator 440. The AMT 408 may transmit a confirmation message 684KCK to indicate that the policies were applied correctly. The confirmation message 684KCK may include a Hash-SS, an indication of the status of the policy on the platform (e.g., Policy-Install-OK), a hash of which policies were applied (e.g., Hash-Host-Policy), and/or another liveness marker (Nonce-AMT3). As a result of the above-described exchanges, the platform end point access control verification may complete 688.
While
Although the network nodes are shown and described above as having several separate functional elements, one or more of the functional elements may be combined with other elements and may be implemented by combinations of various hardware and logic circuitry for performing at least the functions described herein. For example, processing element, such as the dedicated processor 216 of the end node 200, may comprise an implementing processor packaged in the network interface card 228.
Although the present invention has been described in terms of the above-illustrated embodiments, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations calculated to achieve the same purposes may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. Those with skill in the art will readily appreciate that the present invention may be implemented in a very wide variety of embodiments. This description is intended to be regarded as illustrative instead of restrictive on embodiments of the present invention.
Number | Name | Date | Kind |
---|---|---|---|
5590285 | Krause et al. | Dec 1996 | A |
6920558 | Sames et al. | Jul 2005 | B2 |
7512970 | Naftali et al. | Mar 2009 | B2 |
7536464 | Dommety et al. | May 2009 | B1 |
7587751 | Potter et al. | Sep 2009 | B2 |
20020095514 | Cromer et al. | Jul 2002 | A1 |
20020129264 | Rowland et al. | Sep 2002 | A1 |
20020129274 | Baskey et al. | Sep 2002 | A1 |
20020138726 | Sames et al. | Sep 2002 | A1 |
20020146980 | Solondz et al. | Oct 2002 | A1 |
20040088369 | Yeager et al. | May 2004 | A1 |
20040107360 | Herrmann et al. | Jun 2004 | A1 |
20040177248 | Yoshida | Sep 2004 | A1 |
20040179540 | Lee et al. | Sep 2004 | A1 |
20040179684 | Appenzeller et al. | Sep 2004 | A1 |
20040268140 | Zimmer et al. | Dec 2004 | A1 |
20050050363 | Naka et al. | Mar 2005 | A1 |
20050228874 | Edgett et al. | Oct 2005 | A1 |
20060015724 | Naftali et al. | Jan 2006 | A1 |
20060026670 | Potter et al. | Feb 2006 | A1 |
20060026671 | Potter et al. | Feb 2006 | A1 |
20060136717 | Buer et al. | Jun 2006 | A1 |
20060143292 | Taubenheim et al. | Jun 2006 | A1 |
20060150250 | Lee et al. | Jul 2006 | A1 |
20060156391 | Salowey | Jul 2006 | A1 |
20060236127 | Kurien et al. | Oct 2006 | A1 |
20070016801 | Bade et al. | Jan 2007 | A1 |
20070208937 | Cam-Winget et al. | Sep 2007 | A1 |
20080005359 | Khosravi et al. | Jan 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20070156858 A1 | Jul 2007 | US |