SECURITY ENCLAVE DEVICE TO EXTEND A VIRTUAL SECURE PROCESSING ENVIRONMENT TO A CLIENT DEVICE
Disclosed are methods and devices to provide a transaction over a network. In one embodiment, a machine-implemented method includes: opening, through an enclave device, an in-band channel or an out-of-band channel over the network; authenticating, through the enclave device, a user of a resource over the in-band channel or the out-of-band channel; facilitating, through the enclave device, an authorization of the user to access the resource over the in-band channel or the out-of-band channel; and accounting for a transaction conducted by the user accessing the resource, through the enclave device, over the in-band channel or the out-of-band channel.
This application is a non-provisional application claiming priority to co-pending U.S. non-provisional patent application Ser. No. 13/749,663 titled: “SECURITY ENCLAVE DEVICE TO EXTEND A VIRTUAL SECURE PROCESSING ENVIRONMENT TO A CLIENT DEVICE,” filed on Jan. 24, 2013, which claimed priority to U.S. provisional patent application Ser. No. 61/747,212 titled: “SECURITY ENCLAVE DEVICE TO EXTEND A VIRTUAL SECURE PROCESSING ENVIRONMENT TO A CLIENT DEVICE,” filed on Dec. 29, 2012.
INCORPORATION BY REFERENCEThis application incorporates by reference U.S. patent application Ser. No. 13/726,491 titled: “METADATA-DRIVEN SWITCH NETWORK CONTROL,” filed on Dec. 24, 2012, in its entirety.
FIELD OF TECHNOLOGYThis disclosure relates generally to network security technology, in one example embodiment, to methods and apparatus to provide network security to a client device through an enclave device.
BACKGROUNDDemand for a more secure network switching infrastructure has increased with the proliferation of mobile and/or untethered computing devices (such as supervisory control and data access (SCADA) systems, industrial control systems, transportation systems, smartphones, tablet computers, set-top boxes, and hotspot devices). Applications and web browsers running on such devices and over such an infrastructure may be susceptible to attacks by malicious agents at a resource level, or at a resource flow level (such as eavesdropping, key loggers, worms, viruses, Trojan horses, or spoofing attacks). While security experts have developed increasingly complex means of securing traffic flow (such as networking protocols, encryption tunnels, and key generation and authentication systems), the challenge remains to secure a transaction from its origination on a client device to its destination behind a switch, while enabling a non-repudiation of the transaction.
Solutions and software systems implementing a public key infrastructure (PKI) may rely on a transmission of a private key to secure transactions in a network. These software systems may require physical access to a certificate authority to store public keys and issue digital certificates. However this physical access may not be suitable for mobile devices on a wide area network (WAN). More problematic are network security switches and routers that adopt a blacklist approach to prevent malicious agents from connecting to a network and compromising the security of the network. Such a blacklist may implement a draconian set of rules or regular expressions to locate and filter out malicious traffic. To circumvent this, a malicious agent installed on an infected client device may simply change a single bit to evade the most sophisticated traffic management and malware detection mechanism.
Some systems may implement a trusted platform module (TPM) to facilitate the use of keys and the establishment of secure channels. However, these secure communications between devices may often be manipulated by malicious agents to gain access or to set up tunnels to a backend enterprise. Furthermore, security protocols utilized by these systems, such as transport layer security (TLS), secure sockets layer (SSL), or internet protocol security (IPsec), may not scale in network address translation (NAT) networks where proxies and reverse proxies may need to be set up to carry traffic on a mobile network. Furthermore, security protocols utilized by these systems may not be able to validate a user on a specific client device because the client device may not have been issued an identity from a PKI due to complexities in enrollment and maintenance of the identity. In that case, a malicious agent in possession of a user's log on credentials may use the credentials to access any resource from any device regardless of other protections afforded by the device and the network. Also, a malicious agent having remote control of a client device may be able to compromise the integrity of the device and the network and perform malicious actions that may also compromise the ability to perform non-repudiation of a transaction in near real time.
SUMMARYDisclosed are methods and apparatus to provide an end-to-end secure transaction over a software defined network (SDN). In one aspect, a machine-implemented method includes: opening, through an enclave device, an in-band virtual secure channel (VSC) or an out-of-band VSC over the SDN; authenticating, through the enclave device, a user of a resource over the in-band VSC or the out-of-band VSC; facilitating, through the enclave device, an authorization of the user to access the resource over the in-band VSC or the out-of-band VSC; and accounting for a transaction conducted by the user accessing the resource, through the enclave device, over the in-band VSC or the out-of-band VSC.
The in-band VSC may be opened over an in-band network and the out-of-band VSC may be opened over an out-of-band network using a user identity, a client device identity, and/or a resource identity distributed through a PKI. Additionally, the in-band network may be a wireless network established over a licensed radio frequency band or a wired network. Moreover, the out-of-band network may be a wireless network established over an unlicensed radio frequency band.
The method also includes authenticating the user of the resource through a multi-factor authentication mechanism using one or more readers of the enclave device. The multi-factor authentication mechanism may comprise two or more of a near-field communication (NFC) identification mechanism, a biometric reader identification mechanism, a user name and password identification mechanism, a pattern matching identification mechanism, a global positioning system (GPS) identification mechanism, or a radio-frequency identification (RFID) mechanism. In this case, the user identity may be received through the in-band VSC or the out-of-band VSC.
In this aspect, the method also involves facilitating, through the enclave device, the authorization of the user to access the resource by: generating a one-time encrypted software token (EST) through a trusted platform module (TPM), sending a hash of the one-time EST through the in-band VSC or the out-of-band VSC to a switch managing the SDN, and authorizing the user to access the resource based on a comparison of the hash of the one-time EST with a one-time EST independently generated by the switch. In this aspect, the enclave device may comprise a battery, a low-power processor, an NFC chip, a plurality of readers, an interface to a client device used by the user to access the resource, and a storage device coupled to the low-power processor. Also in this aspect, the interface to the client device may be a physical interface that couples the enclave device to the client device through a physical connection. The interface to the client device may also be a radio interface that couples the enclave device to the client device through a radio frequency connection.
In an alternative aspect, the enclave device may be an integrated circuit chip embedded in a client device used by the user to access the resource. In another alternative aspect, the enclave device may be a software module running on a client device used by the user to access the resource.
In another aspect, an enclave device is disclosed to provide an end-to-end secure transaction over a SDN. The enclave device comprises: one or more low-power processors; one or more storage devices communicatively coupled to the one or more low-power processors; a number of readers communicatively coupled to the one or more low-power processors; an NFC chip communicatively coupled to the one or more low-power processors; a battery; an interface to a client device; and one or more programs, where the one or more programs are stored in the one or more storage devices and executable by the one or more low-power processors.
In this aspect, the one or more programs comprises instructions to open an in-band virtual VSC or an out-of-band VSC from the client device to a switch managing the SDN, instructions to authenticate a user of a resource over the in-band VSC or the out-of-band VSC, instructions to facilitate an authorization of the user to access the resource using the client device over the in-band VSC or the out-of-band VSC, and instructions to account for a transaction conducted by the user through the client device using the resource over the in-band VSC or the out-of-band VSC.
In this aspect, the in-band VSC may be opened over an in-band network and the out-of-band VSC may be opened over an out-of-band network. In particular, the in-band network may be a wireless network established over a licensed radio frequency band or a wired network and the out-of-band network may be a wireless network established over an unlicensed radio frequency band. Either the in-band VSC or the out-of-band VSC may be opened at a resource level, a resource flow level, or a network level. Additionally, a virtual network may be established over the in-band VSC or the out-of-band VSC under the direction of the switch managing the SDN.
The one or more programs may further comprise instructions to authenticate the user through a multi-factor authentication mechanism using one or more readers of the enclave device. In this aspect, the multi-factor authentication mechanism comprises two or more of an NFC identification mechanism, a biometric reader identification mechanism, a user name and password identification mechanism, a pattern matching identification mechanism, a GPS identification mechanism, or an RFID mechanism.
The one or more programs may also comprise instructions to facilitate the authorization of the user to access the resource using the client device with further instructions to: generate a one-time EST through a TPM of the enclave device, send a hash of the one-time EST through the in-band VSC or the out-of-band VSC to the switch, and authorize the user to access the resource based on a comparison of the hash of the one-time EST with a one-time EST independently generated by the switch.
The interface to the client device may be a physical interface that couples the enclave device to the client device through a physical connection. Alternatively, the interface to the client device may be a radio interface that couples the enclave device to the client device through a radio frequency connection.
In yet another aspect, disclosed is a storage medium readable through a processor, and including instructions embodied in the storage medium and configured to be executable through the processor, comprising: instructions to open an in-band VSC or an out-of-band VSC from a client device to a switch managing an SDN; instructions to authenticate, through a reader communicatively coupled to the processor, a user of a resource over the in-band VSC or the out-of-band VSC; instructions to facilitate an authorization of the user to access the resource over the in-band VSC or the out-of-band VSC; and instructions to account for a transaction conducted by the user using the resource over the in-band VSC or the out-of-band VSC
In this aspect, the in-band VSC may be opened over an in-band network and the out-of-band VSC may be opened over an out-of-band network. In particular, the in-band network may be a wireless network established over a licensed radio frequency band or a wired network and the out-of-band network may be a wireless network established over an unlicensed radio frequency band. Either the in-band VSC or the out-of-band VSC may be opened at a resource level, a resource flow level, or a network level. Additionally, a virtual network may be established over the in-band VSC or the out-of-band VSC under the direction of the switch managing the SDN.
The storage medium may further comprise instructions to authenticate the user through a multi-factor authentication mechanism using one or more readers of the enclave device. In this aspect, the multi-factor authentication mechanism comprises two or more of an NFC identification mechanism, a biometric reader identification mechanism, a user name and password identification mechanism, a pattern matching identification mechanism, a GPS identification mechanism, or an RFID mechanism.
Finally, the storage medium may also comprise instructions to facilitate the authorization of the user to access the resource using the client device with further instructions to: generate a one-time EST through a TPM of the enclave device, send a hash of the one-time EST through the in-band VSC or the out-of-band VSC to the switch, and authorize the user to access the resource based on a comparison of the hash of the one-time EST with a one-time EST independently generated by the switch.
The methods and apparatus disclosed herein may be implemented in any means for achieving various aspects. Other features will be apparent from the accompanying drawings and from the detailed description that follows.
Example embodiments are illustrated by way of example and are not limited to the figures of the accompanying drawings, in which, like references indicate similar elements.
Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.
DETAILED DESCRIPTIONDisclosed are methods and apparatus to provide an end-to-end secure transaction over a software defined network (SDN). Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. It should be understood by one of ordinary skill in the art that the terms “application(s),” “program(s),” “software,” “software code,” “sub-program(s),” “module(s),” and “block(s)” are industry terms that refer to computing instructions stored in a memory or storage device of a processing device and executable by a processor of the processing device.
Reference is now made to
The storage device 102 may comprise of programs or instructions 104 to maintain a virtual secure processing environment 106. The VSPE 106 may comprise a virtual secure network controller 108 and a virtual machine 110. The virtual secure network controller 108 may open an in-band VSC or an out-of-band VSC (depicted here as VSC 112) over the SDN to a switch managing the SDN (for example, the switch 304 in
The readers 124 may comprise of a biometric reader, a pattern recognition reader such as a quick-response (QR) code reader, a bar code reader, or a gesture reader, or a username and password reader. Such readers may be embedded hardware components in the enclave device 100.
Moreover, the low-power processor 114 may be coupled to the NFC chip 120, which may be used by a user to provision the switch managing the SDN (for example, switch 304 of
Finally, the low-power processor 114 may be coupled to the interface to the client device 122. The interface to the client device 122 allows the enclave device 100 to communicate with the client device 130 and to access one or more resources stored in the client device 130. This may be a universal serial bus (USB), an Apple® 30 pin interface, or an Apple® Lightning® interface.
Reference is now made to
In another embodiment, the enclave device 100 may be a smartphone or mobile phone wrapper, a smartphone or mobile phone case, or a wrapper at short range (less than 1 meter) to the client device 130. In this embodiment, the enclave device 100 may communicate with the client device 130 through a radio interface. As depicted in
In yet another embodiment, the enclave device 100 may be an integrated circuit (IC) chip 204 embedded in the client device 130. In this embodiment, the storage device 102, the lower-power processor 114, the trusted platform module 116, the key store 118, and the interface to the client device 122 (see
Finally, in yet another embodiment, the enclave device 100 may be a software program 206 or software module running on the client device 130. In this embodiment, only the instructions 104 for the virtual secure processing environment 106 would be stored in a storage device or memory of the client device 130. As such, the low-power processor 114, the trust platform module 116, the key store 118, the NFC chip 120, the interface to the client device 122, the readers 124, the battery 126, and the wireless charging circuit 128 (see
Reference is now made to
In the exemplary embodiment shown in
Also shown in
Reference is now made to
It should be understood by one of ordinary skill in the art of network security that a SDN refers to a network architecture where network traffic is controlled using software without requiring the network administrator to have access to the network's hardware devices. A switch used to manage the SDN (such as switch 304) may decouple the control of the network, through a control plane (such as control plane 430) of the switch, from the switching or forwarding of network traffic, through a data plane (such as data plane 438) of the switch. In one or more embodiments, the switch 304 may be the metadata-driven switch of U.S. patent application Ser. No. 13/726,491.
In one embodiment, the enclave devices 408A to 408N may open one or more in-band VSCs or out-of-band VSCs (for example, VSC 428A to VSC 428N) to the switch 304 over the SDN IP using an Internet Key Exchange (IKE or IKEv2) protocol and an Internet Protocol Security (IPsec) complying to RFC 6071. Once a VSC is established, all data packets transmitted through the VSC is encrypted and decrypted using mutual digital signatures. In one embodiment, the in-band and out-of-band VSC (for example, VSC 428A to VSC 428N) may operate on an internet layer of TCP/IP. In another embodiment, the enclave devices 408A to 408N may open one or more in-band VSCs or out-of-band VSCs (for example, VSC 428A to VSC 428N) over the SDN using a transport layer security (TLS) protocol operating on an upper layer of TCP/IP complying to RFC 6176.
As depicted in
In
In the exemplary embodiment shown in
In
In all embodiments, the enclave device 408A may be assigned an enclave device identity 416A comprising a public key 418A and a private key 420A. The user identity 402A, and the enclave device identity 416A may be stored in a trusted platform module of the enclave device 408A, which is understood by one with ordinary skill in the art to mean a cryptographic off load processor designed to store cryptographic keys on a network-enabled device. The enclave device identity 416A may comprise of information related to a manufacturer of the enclave device 408A, a serial number of the enclave device 408A, or a memory type installed on the enclave device 408A used by a PKI to create the public key 418A and private key 420A.
In one or more embodiments, the client devices indicated in
Moreover, the resource 410A may also be assigned a resource identity 422A comprising a public key 424A and a private key 426A. In this embodiment, a resource (such as resource 410A) may refer to a set of data, an application, or access to a network such as a wide area network (WAN) (e.g., the Internet) or an enterprise network or intranet. As indicated above, while resource 410A may be stored in a memory of the client device 407A, the resource 410A may also be an application layer or presentation layer of a resource residing on an application server behind the switch 304. For example, resource 440A may be the resource ultimately accessed by the user 400A when the user 400A inputs commands into the presentation layer of the resource (such as resource 410A).
As depicted in
In one embodiment, the VSCs 428A to 428N may be opened for a pre-determined period of time. In another embodiment, the VSCs 428A to 428N may be opened for as long as a resource is being used by the user 400A. In a further embodiment, the VSCs 428A to 428N may close as soon as a malicious agent is detected on the SDN, or as soon as a transaction is completed to mitigate risk from a malicious agent.
Also depicted in
In addition to the aforementioned users, client devices, and resources, it should be understood by one of ordinary skill in the art of network security that the switch 304 may accommodate any number of users (ranging from user 400A to user 400N), client devices (ranging from client device 407A to client device 407N), enclave devices (ranging from enclave device 408A to enclave device 408N), and resources (ranging from resource 410A to resource 410N) up to the switching capacity of the data plane 438 of the switch 304. It should also be understood by one of ordinary skill in the art that the switch 304 may be connected to other switches on the SDN to form a switch system that may extend the switch capability of the data plane 438.
Reference is now made to
In response to the request of the user 400A, operation 502 involves the enclave device 100 opening an in-band VSC or an out-of-band VSC to the switch 304 over the SDN. The VSC may be opened at a resource level, a resource flow level, and/or a network level for the sole purpose of authenticating and authorizing the user as required by the resource. As indicated in
Such identification data or credentials may be inputted through one or more of the readers 124 of the enclave device 100. Once identification data or credentials have been obtained through two of the aforementioned mechanisms, the enclave device 100 may then work with the switch 304 to authenticate the user 400A in operation 506. Operation 506 may involve the switch 304 authenticating the user 400A through the VSC opened (for example, VSC 428A). In this operation, the switch 304 may authenticate the user 400A trying to access the resource by comparing a credential or a hash of the credential (see
Once authenticated, operation 508 may involve the enclave device 100 sending a configuration data or a configuration setting through the NFC chip 120 embedded in the enclave device 100. Operation 510 may involve the switch 304 receiving a configuration data from the enclave device 100 through an NFC chip embedded in the switch 304. Operations 508 and 510 allow the user 400A to provision the switch 304 by simply holding the enclave device 100 close to the switch 304.
Operation 512 may involve the enclave device 100 generating a one-time software token (EST). At the same time that the enclave device 100 is generating the one-time EST, the switch 304 may independently generate an EST in operation 516. Operation 514 may involve the enclave device 100 sending a hash of the generated one-time EST to the switch 304 through the VSC 428A. In operation 518, programs in the control plane 430 of the switch 304 may then analyze and compare the hash of the generated one-time EST received from the enclave device 100 against the EST independently generated by the switch 304.
Operation 520 may involve the switch 304 granting the user 400A access to the resource based on a result of the comparison. Furthermore, operation 522 may involve the control plane 430 of the switch 304 accounting, in near real time, for a transaction conducted by the user 400A accessing the resource. Finally, operation 524 involves the switch 304 accepting the configuration data received through the NFC chip 120, and provisioning the switch hardware and software. Operation 526 involves the switch 304 issuing a health data through the enclave device 100 (or another processing device) or through a display interface on the switch 304.
In one or more embodiments, the user 400A may refer to a human user accessing a resource on the client device 130 through the enclave device 100. In other embodiments, the user 400A may refer to another client device used by a human user to access the client device 130. For example, the user 400A may be a human user's home computer used by the human user to access a work laptop (which may be client device 130 in this case), which may, in turn, be instructed by the home computer open an enterprise application on the work laptop to retrieve a resource behind the switch 304. The user 400A, in this case, would be the home computer rather than the human user. It may be beneficial to point out at this time that, unless otherwise indicated, all references to the client device 130 may also refer to any of the client device 407A to 407N.
Reference is now made to
In operation 604, the switch 304 may query whether the hash of the credentials received from the user 400A is valid. If the answer to this query is yes, the switch 304 may then proceed to operation 606. If the answer to the query is no, the switch 304 may then deny the user 400A access to the resource (e.g., resource 440A) by closing the VSC. In operation 606, the switch 304 may be prompted to check the authentication policy. Moreover, in operation 608, the switch 304 may be prompted to also check the access policy which may contain specific rules such as user's role, time of day, or other relevant policy data concerning the resource in question. In operation 610, the switch 304 may obtain a set of stored encrypted credentials for the resource and transmit the credentials to the resource. This comprises a legacy username and password specifically and only for that given resource, permitting the switch to provide single sign on (SSO) and a common credentialing system regardless of the number of disparate resources. Finally, in operation 612, the resource (for example resource 440A) may decide whether the credentials for the resource are valid before authenticating the user 400A. If the resource 440A determines that the credentials for the resource are not valid, the resource 440A may deny the user 400A access to the resource.
As indicated above, in one embodiment, the resource 440A may reside on an application server communicatively coupled to the switch 304 or the resource 440A may reside on the switch 304. Moreover, the resource 440A may have a presentation layer residing on the client device 130 (for example, resource 410A) coupled to the enclave device 100 used by the user 400A to access the resource behind the switch.
Reference is now made to
Simultaneously, the control plane 430 of the switch 304 may independently generate an EST 702 based on a key agreement technique and also using information related to the user identity 402A, the enclave device identity 416A, and/or the resource identity 422A. The user identity 402A, the enclave device identity 416A, and/or the resource identity 422A may be received from the enclave device 100 when the VSC was first opened. Once the EST has been independently generated by the control plane 430 of the switch 304, the independently generated EST 702 may be stored in the key management database 432 of the control plane 430 of the switch 304. The hash of the one-time EST 704 may then be sent by the enclave device 100 to a hash comparison engine 706 on the control plane 430 of the switch 304.
The hash comparison engine 706 may analyze and compare the hash of the generated EST 704 received from the enclave device 100 against the one-time EST 702 stored in the key management database 432. The data plane 438 of the switch 304 may then grant the user (for example, the user 400A) of the client device 130 coupled to the enclave device 100 access to the resource 440A through the VSC 428A. In one embodiment, the resource 440A may comprise of an application residing on an application server communicatively coupled to the switch 304.
One a user has been authenticated and authorized according to the methods described above and the transaction conducted by the user has been accounted for in the accounting database 436, the switch 304 can ensure a non-repudiation of the transaction to a third-party.
A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the claimed invention. In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims.
It may be appreciated that the various systems, methods, and apparatus disclosed herein may be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and/or may be performed in any order.
The structures and modules in the figures may be shown as distinct and communicating with only a few specific structures and not others. The structures may be merged with each other, may perform overlapping functions, and may communicate with other structures not shown to be connected in the figures. Accordingly, the specification and/or drawings may be regarded in an illustrative rather than a restrictive sense.
The process flows and flow diagrams depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, others may be provided, or steps may be eliminated from the described flows, and other components may be added to or removed from the depictions.
Claims
1. A machine-implemented method, comprising:
- opening, through an enclave device, an in-band channel or an out-of-band channel over a network;
- authenticating, through the enclave device, a user of a resource over the in-band channel or the out-of-band channel;
- facilitating, through the enclave device, an authorization of the user to access the resource over the in-band channel or the out-of-band channel; and
- accounting for a transaction conducted by the user accessing the resource, through the enclave device, over the in-band channel or the out-of-band channel.
2. The method of claim 1, wherein:
- the in-band channel is opened over an in-band network and the out-of-band channel is opened over an out-of-band network;
- the in-band network is at least one of a wireless network established over a licensed radio frequency band and a wired network; and
- the out-of-band network is a wireless network established over an unlicensed radio frequency band.
3. The method of claim 1, further comprising:
- authenticating the user of the resource through a multi-factor authentication mechanism using at least one of a plurality of readers of the enclave device, wherein the multi-factor authentication mechanism comprises at least two of a near-field communication (NFC) identification mechanism, a biometric reader identification mechanism, a user name and password identification mechanism, a pattern matching identification mechanism, a global positioning system (GPS) identification mechanism, and a radio-frequency identification (RFID) mechanism.
4. The method of claim 1, further comprising:
- facilitating, through the enclave device, the authorization of the user to access the resource by: generating a one-time encrypted software token (EST) through a trusted platform module (TPM), sending a hash of the one-time EST through at least one of the in-band channel and the out-of-band channel to a switch managing the network, and authorizing the user to access the resource based on a comparison of the hash of the one-time EST with a one-time EST independently generated by the switch.
5. The method of claim 1, wherein the enclave device comprises a battery, a low-power processor, an NFC chip, a plurality of readers, an interface to a client device used by the user to access the resource, and a storage device coupled to the low-power processor.
6. The method of claim 5, wherein the interface to the client device is a physical interface that couples the enclave device to the client device through a physical connection.
7. The method of claim 5, wherein the interface to the client device is a radio interface that couples the enclave device to the client device through a radio frequency connection.
8. The method of claim 1, wherein the enclave device is an integrated circuit chip embedded in a client device used by the user to access the resource.
9. The method of claim 1, wherein the enclave device is a software module running on a client device used by the user to access the resource.
10. The method of claim 1, wherein at least one of the in-band channel and the out-of-band channel is opened at one of a resource level, a resource flow level, and a network level and a virtual network is established over at least one of the in-band channel and the out-of-band channel.
11. An enclave device to provide a transaction over a network, comprising:
- one or more low-power processors;
- one or more storage devices communicatively coupled to the one or more low-power processors;
- a plurality of readers communicatively coupled to the one or more low-power processors;
- an NFC chip communicatively coupled to the one or more low-power processors;
- a battery;
- an interface to a client device; and
- one or more programs, wherein the one or more programs are stored in the one or more storage devices and executable by the one or more low-power processors, the one or more programs comprising: instructions to open an in-band channel or an out-of-band channel from the client device to a switch managing a network, instructions to authenticate a user of a resource over the in-band channel or the out-of-band channel, instructions to facilitate an authorization of the user to access the resource using the client device over the in-band channel or the out-of-band channel, and instructions to account for a transaction conducted by the user through the client device using the resource over the in-band channel or the out-of-band channel.
12. The enclave device of claim 11, wherein:
- the in-band channel is opened over an in-band network and the out-of-band channel is opened over an out-of-band network;
- the in-band network is at least one of a wireless network established over a licensed radio frequency band and a wired network;
- the out-of-band network is a wireless network established over an unlicensed radio frequency band;
- at least one of the in-band channel and the out-of-band channel is opened at one of a resource level, a resource flow level, and a network level; and
- a virtual network is established over at least one of the in-band channel and the out-of-band channel.
13. The enclave device of claim 11, further comprising:
- instructions to authenticate the user through a multi-factor authentication mechanism using at least one of the plurality of readers of the enclave device, wherein the multi-factor authentication mechanism comprises at least two of a near-field communication (NFC) identification mechanism, a biometric reader identification mechanism, a user name and password identification mechanism, a pattern matching identification mechanism, a global positioning system (GPS) identification mechanism, and a radio-frequency identification (RFID) mechanism.
14. The enclave device of claim 11, further comprising:
- instructions to facilitate the authorization of the user to access the resource using the client device with further instructions to: generate a one-time encrypted software token (EST) through a trusted platform module (TPM), send a hash of the one-time EST through at least one of the in-band channel and the out-of-band channel to the switch, and authorize the user to access the resource based on a comparison of the hash of the one-time EST with a one-time EST independently generated by the switch.
15. The enclave device of claim 11, wherein the interface to the client device is a physical interface that couples the enclave device to the client device through a physical connection.
16. The enclave device of claim 11, wherein the interface to the client device is a radio interface that couples the enclave device to the client device through a radio frequency connection.
17. A storage medium, readable through a processor, and including instructions embodied therein and configured to be executable through the processor, comprising:
- instructions to open an in-band channel or an out-of-band channel from a client device to a switch managing a network;
- instructions to authenticate, through a reader communicatively coupled to the processor, a user of a resource over the in-band channel or the out-of-band channel;
- instructions to facilitate an authorization of the user to access the resource over the in-band channel or the out-of-band channel; and
- instructions to account for a transaction conducted by the user using the resource over the in-band channel or the out-of-band channel.
18. The storage medium of claim 17, wherein:
- the in-band channel is opened over an in-band network and the out-of-band channel is opened over an out-of-band network;
- the in-band network is at least one of a wireless network established over a licensed radio frequency band and a wired network;
- the out-of-band network is a wireless network established over an unlicensed radio frequency band;
- at least one of the in-band channel and the out-of-band channel is opened at one of a resource level, a resource flow level, and a network level; and
- a virtual network is established over at least one of the in-band channel and the out-of-band channel.
19. The storage medium of claim 17, further comprising:
- instructions to authenticate the user of the resource through a multi-factor authentication mechanism using the reader, wherein the multi-factor authentication mechanism comprises at least two of a near-field communication (NFC) identification mechanism, a biometric reader identification mechanism, a user name and password identification mechanism, a pattern matching identification mechanism, a global positioning system (GPS) identification mechanism, and a radio-frequency identification (RFID) mechanism.
20. The storage medium of claim 17, further comprising:
- instructions to facilitate the authorization of the user to access the resource with further instructions to: generate a one-time encrypted software token (EST) through a trusted platform module (TPM), send a hash of the one-time EST through at least one of the in-band channel and the out-of-band channel to the switch, and authorize the user to access the resource based on a comparison of the hash of the one-time EST with a one-time EST independently generated by the switch.
Type: Application
Filed: Apr 5, 2013
Publication Date: Jul 3, 2014
Inventors: Zane M. Taylor (Santa Clara, CA), Sandeep K. Gupta (Ottawa), Sherman S. Tang (Redondo Beach, CA)
Application Number: 13/857,401