US20190297115A1 - User-based network onboarding - Google Patents
User-based network onboarding Download PDFInfo
- Publication number
- US20190297115A1 US20190297115A1 US16/438,378 US201916438378A US2019297115A1 US 20190297115 A1 US20190297115 A1 US 20190297115A1 US 201916438378 A US201916438378 A US 201916438378A US 2019297115 A1 US2019297115 A1 US 2019297115A1
- Authority
- US
- United States
- Prior art keywords
- network
- user
- engine
- implementation
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
Definitions
- Computer networks play an important part of many information infrastructures. Computer networks typically allow devices to exchange data with one another.
- a computer network may include data connections to allow devices to provide data to one another.
- Networks links may couple points of the computer network through a variety of media, including wired media and wireless media.
- Computer networks continue to become faster and more reliable ways to transfer and share information. Organizations have come to rely on the speed and reliability of computer networks to provide members with the ability to exchange information, resources, and other items of interest with each other and with the outside world.
- FIG. 1 shows an example of a user-based network onboarding environment, in accordance with an implementation.
- FIG. 2 shows a user-based network onboarding system, in accordance with an implementation, in accordance with an implementation.
- FIG. 3 shows an example of a flowchart of a method for performing user-based network onboarding of user devices, in accordance with an implementation
- FIG. 4 shows an example of a device identification engine, in accordance with an implementation.
- FIG. 5 shows an example of a flowchart of a method for selecting a device for network onboarding, in accordance with an implementation.
- FIG. 6 shows an example of a device identification engine, in accordance with an implementation.
- FIG. 7 shows an example of a flowchart of a method for selecting a device for network onboarding, in accordance with an implementation.
- FIG. 8 shows an example of a device network configuration engine, in accordance with an implementation.
- FIG. 9 shows an example of a flowchart of a method for selecting a device for network onboarding, in accordance with an implementation.
- FIG. 10 shows an example of a screen for selecting a device for network authentication, in accordance with an implementation.
- FIG. 11 shows an example of a computer system, in accordance with an implementation.
- a request related to an access to a network by a first user device may be received.
- the user device may be included in a plurality of user devices associated with a first first-level security profile assigned to the user.
- An application extension to an application executing on the first user device may be accessed in response to the request related to the access.
- a network connectivity file may be provided to the application extension.
- the network connectivity file may include network configuration information for the first user device.
- FIG. 1 shows an example of a user-based network onboarding environment 100 , in accordance with an implementation.
- the user-based network onboarding environment 100 includes user devices 105 - 1 through 105 -N (user devices 105 ), a local area network (LAN) network access system 115 , a LAN 120 , a trusted resource system 125 , a wide area network (WAN) access system 130 , a mobile device management system 135 , a wide area network 140 , a user-based network onboarding system 145 , and an untrusted resource system 150 .
- LAN local area network
- WAN wide area network
- the user devices 105 , the LAN network access system 115 , the LAN 120 , and the trusted resource system 125 reside within a trusted network 155 .
- the mobile device management system 135 , the WAN 140 , the user-based network onboarding system 145 , and the untrusted resource system 150 reside within an untrusted network 160 .
- the user devices 105 are coupled to the LAN network access system 115 .
- One or more of the user devices 105 can include a station.
- a “station,” as used in this paper, may refer to a device with a media access control (MAC) address and a physical layer (PHY) interface to a wireless medium complying with the IEEE 802.11 standard.
- stations and a wireless access point (WAP) with which the stations associate can be referred to as stations, if applicable.
- IEEE 802.11a-1999, IEEE 802.11b-1999, IEEE 802.11g-2003, IEEE 802.11-2007, and IEEE 802.11n TGn Draft 8.0 (2009) are incorporated by reference.
- a system that is 802.11 standards-compatible or 802.11 standards-compliant, as used in this paper, may comply with at least some of one or more of the incorporated documents' requirements and/or recommendations, or requirements and/or recommendations from earlier drafts of the documents, and includes Wi-Fi systems.
- Wi-Fi is a non-technical description, which is generally correlated with the IEEE 802.11 standards, as well as Wi-Fi Protected Access (WPA) and WPA2 security standards, and the Extensible Authentication Protocol (EAP) standard.
- WPA Wi-Fi Protected Access
- EAP Extensible Authentication Protocol
- a station may comply with a different standard than Wi-Fi or IEEE 802.11, may be referred to as something other than a “station,” and may have different interfaces to a wireless or other medium.
- the user devices 105 access resources provided through the LAN 120 and the LAN network access system 115 .
- the user devices 105 can access the trusted resource system 125 , described further herein, through the LAN 120 and the LAN network access system 115 .
- the user devices 105 access resources through the WAN 140 , LAN network access system 115 , and/or the WAN access system 130 . More specifically, the user devices 105 can access the untrusted resource system 150 through the WAN 140 , LAN network access system 115 , and/or the WAN access system 130 .
- each of the user devices 105 include respective network agent engines 110 - 1 through 110 -N (network agent engines 110 ).
- the network agent engines 110 are implemented as at least a portion of an application executing on the user devices 105 .
- the network agent engines 110 are implemented as part (e.g., an extension, a plugin, etc.) of a network browser (e.g., an Internet browser).
- the network agent engines 110 are part of the operating system of the user devices 105 .
- the network agent engines 110 can allow the user devices 105 to access network resources, such as the trusted resource system 125 and/or the untrusted resource system 150 .
- the network agent engines 110 can allow the user devices 105 to display webpages or other graphical depictions of network resources, in various implementations.
- the network agent engines 110 may include an “engine” and a “datastore,” as discussed in this paper.
- An engine as used in this paper, includes a dedicated or shared processor and, typically, firmware or software modules executed by the processor. Depending upon implementation-specific or other considerations, an engine can be centralized or its functionality distributed. An engine can include special purpose hardware, firmware, or software embodied in a computer-readable medium for execution by the processor.
- a datastore can be implemented, for example, as software embodied in a physical computer-readable medium on a general- or specific-purpose machine, in firmware, in hardware, in a combination thereof, or in an applicable known or convenient device or system.
- Datastores in this paper are intended to include any organization of data, including tables, comma-separated values (CSV) files, traditional databases (e.g., SQL), or other applicable known or convenient organizational formats.
- Datastore-associated components such as database interfaces, can be considered “part of” a datastore, part of some other system component, or a combination thereof, though the physical location and other characteristics of datastore-associated components is not critical for an understanding of the techniques described in this paper.
- Datastores can include data structures.
- a data structure is associated with a particular way of storing and organizing data in a computer so it can be used efficiently within a given context.
- Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by an address, a bit string that can be itself stored in memory and manipulated by the program.
- some data structures are based on computing the addresses of data items with arithmetic operations; while other data structures are based on storing addresses of data items within the structure itself.
- Many data structures use both principles, sometimes combined in non-trivial ways.
- the implementation of a data structure usually entails writing a set of procedures for creating and manipulating instances of that structure.
- the network agent engines 110 control how the user devices 105 access network resources. More specifically, the network agent engines 110 can determine what resources the user devices 105 are allowed to access. For instance, the network agent engines 110 control whether the user devices 105 are allowed to access any of the trusted resource system 125 and/or the untrusted resource system 150 . The network agent engines 110 can also control whether particular users of the user devices 105 are allowed to access portions of the trusted resource system 125 and/or the untrusted resource system 150 .
- the network agent engines 110 may implement other security techniques on the user devices 105 .
- the network agent engines 110 makes sure the user devices 105 are adequately protected from unauthorized users or unauthorized usages. That is, in this implementation, the network agent engines 110 require the user devices 105 to be protected by password, biometric authentication techniques, or other techniques.
- the network agent engines 110 may make sure the user devices 105 cannot access specific websites (e.g., blacklisted websites) or can access only specific websites (e.g., whitelisted websites).
- the network agent engines 110 may limit the types of applications the user devices 105 are allowed to install and/or execute.
- the network agent engines 110 may not allow the user devices 105 to install and/or execute blacklisted applications, or may allow the user devices 105 to only install and/or execute whitelisted applications.
- the network agent engines 110 may or may not implement features of a mobile device management (MDM) policy not enumerated herein.
- MDM mobile device management
- the LAN network access system 115 is coupled to the user devices 105 and the LAN 120 .
- the LAN network access system 115 is coupled to each of the network agent engines 110 in the user devices 105 .
- the LAN network access system 115 can provide, in various implementations, access to the LAN 120 and/or the WAN 140 .
- the LAN network access system 115 can be implemented as one or more of a network access point, a gateway, a switch, a router, and a bridge.
- the LAN network access system 115 is implemented as: a wireless network access point to supply wireless network access to the LAN 120 and/or the WAN 140 ; and/or a wired access point to supply wired network access to the LAN 120 and/or the WAN 140 .
- the LAN network access system 115 is administered by the user-based network onboarding system 145 .
- the LAN network access system 115 may receive instructions from the user-based network onboarding system 145 to onboard more than one of the user devices 105 , as discussed further in this paper to the trusted resource system 125 and/or the untrusted resource system 150 .
- the LAN network access system 115 controls the MDM policy.
- the MDM policy can be configured, for example, to manually update, to update at a predetermined interval, such as periodically, or to update in some other fashion.
- the MDM policy can be configured to update at the request of an administrator of the user-based network onboarding system 145 .
- the network agent engines 110 receive instructions from the user-based network onboarding system 145 to onboard the user devices 105 to network resources, as discussed in this paper.
- the LAN 120 is coupled to the LAN network access system 115 , the trusted resource system 125 , and the WAN access system 130 .
- the LAN 120 may provide a network linking the user devices 105 to each other, to the trusted resource system 125 , and/or to the WAN 140 .
- the LAN 120 is administered by the network administrator who is associated with the user-based network onboarding system 145 and/or is charged with administering network and other policies for the trusted resource system 125 .
- the LAN 120 includes a wired network using wires for at least some communications.
- the LAN 120 comprises a wireless network.
- a “wireless network,” as used in this paper may include any computer network communicating at least in part without the use of electrical wires.
- the LAN 120 includes technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, CDMA, GSM, LTE, digital subscriber line (DSL), etc.
- the LAN 120 can further include networking protocols such as multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), file transfer protocol (FTP), and the like.
- MPLS multiprotocol label switching
- TCP/IP transmission control protocol/Internet protocol
- UDP User Datagram Protocol
- HTTP hypertext transport protocol
- HTTP simple mail transfer protocol
- FTP file transfer protocol
- the data exchanged over the LAN 120 can be represented using technologies and/or formats including hypertext markup language (HTML) and extensible markup language (XML).
- HTML hypertext markup language
- XML extensible markup language
- all or some links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec).
- SSL secure sockets layer
- TLS transport layer security
- IPsec Internet Protocol security
- the wireless network of the LAN 120 is compatible with the 802.11 protocols specified by the Institute of Electrical and Electronics Engineers (IEEE).
- the LAN 120 may be compatible with one or more stations, such as the user devices 105 , discussed herein.
- the wireless network of the LAN 120 is compatible with the 802.3 protocols specified by the IEEE.
- IEEE 802.3 compatible protocols of the LAN 120 may include local area network technology with some wide area network applications. Physical connections are typically made between nodes and/or infrastructure devices (hubs, switches, routers) by various types of copper or fiber cable.
- the IEEE 802.3 compatible technology can support the IEEE 802.1 network architecture of the LAN 120 . These standards provide the basis for wireless network products using the Wi-Fi brand. IEEE 802.1 and 802.3 are incorporated by reference.
- the trusted resource system 125 is coupled to the LAN 120 .
- the trusted resource system 125 may include one or more engines and/or datastore containing trusted resources.
- Trusted resources may refer to any network resources that are available to non-administrative users of the LAN 120 but not to non-administrative users of the WAN 140 .
- Trusted resources can include network resources that are protected by security protocols of the trusted network 155 .
- Trusted resources can include any resources protected by the functionalities of the WAN access system 130 .
- the trusted resource system 125 provides access portions of private networks, enterprise networks, virtual public networks (VPNs), etc.
- the trusted resource system 125 is administered by the same administrative entity administering the user-based network onboarding system 145 . Examples of trusted resources include websites, databases, applications, content, etc. on an Intranet within the trusted network 155 .
- the WAN access system 130 is coupled to the LAN 120 and the WAN 140 .
- the WAN access system 130 couples the portions of the trusted network 155 to the portions of the untrusted network 160 . More specifically, the WAN access system 130 can couple the LAN 120 to the WAN 140 . This can have the effect of coupling the user devices 105 , the LAN network access system 115 , and the trusted resource system 125 to the mobile device management system 135 , the untrusted resource system 150 , and the user-based network onboarding system 145 .
- the WAN access system 130 is implemented as one or more of a gateway, a switch, a router, and a bridge providing access to the WAN 140 .
- the WAN access system 130 is administered by the network administrator who is associated with the user-based network onboarding system 145 and/or is charged with administering network and other policies for the trusted network 155 .
- FIG. 1 shows the LAN network access system 115 as distinct from the WAN access system 130 , in various implementations, the functionalities of the LAN network access system 115 and the WAN access system 130 may be interchanged or consolidated into a single system. More specifically, in some implementations, the LAN network access system 115 provides direct access to the WAN 140 . In these implementations, the LAN network access system 115 can nonetheless be associated with the trusted network 155 and administered by the network administrator who is associated with the user-based network onboarding system 145 and/or is charged with administering network and other policies for the trusted network 155 .
- the mobile device management system 135 is coupled to the WAN 140 .
- the mobile device management system 135 provides mobile device management services for the user devices 105 .
- the mobile device management system 135 can interface with the network agent engines 110 to control how the user devices 105 access network resources.
- the mobile device management system 135 determines what resources the user devices 105 are allowed to access (e.g., the trusted resource system 125 , the untrusted resource system 150 , portions of the LAN 120 , portions of the WAN 140 , etc.).
- the mobile device management system 135 further configures the network agent engines 110 to provide or deny access to these resources.
- the mobile device management system 135 controls other security features of the network agent engines 110 .
- the mobile device management system 135 can control whether the user devices 105 are to be password protected, biometrically authenticated, etc., before the user devices 105 are allowed to have access to resources.
- the mobile device management system 135 may determine specific blacklisted or whitelisted websites and/or applications the user devices 105 are or are not allowed to have access to.
- the mobile device management system 135 may further determine the types of applications and the specific applications the user devices 105 are or are not allowed to install and/or execute.
- the mobile device management system 135 may control other parts of an MDM policy not provided for herein.
- the mobile device management system 135 may provide updates to the MDM policy at various intervals, such as periodically, at the request of an administrator, or manually.
- the WAN 140 is coupled to the WAN access system 130 , the mobile device management system 135 , the untrusted resource system 150 , and the user-based network onboarding system 145 .
- the WAN 140 includes a networked system including several computer systems coupled together, such as the Internet, or a device for coupling components of a single computer, such as a bus.
- the term “Internet” as used in this paper refers to a network of networks using certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents making up the World Wide Web (the web).
- HTTP hypertext transfer protocol
- HTML hypertext markup language
- a web server which is one type of content server, is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the web and is coupled to the Internet.
- the physical connections of the Internet and the protocols and communication procedures of the Internet and the web are well known to those of skill in the relevant art.
- the WAN 140 broadly includes, as understood from relevant context, anything from a minimalist coupling of the components illustrated in the example of FIG. 1 , to every component of the Internet and networks coupled to the Internet.
- the WAN 140 is administered by a service provider, such as an Internet Service Provider (ISP).
- ISP Internet Service Provider
- the WAN 140 may include technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, CDMA, GSM, LTE, digital subscriber line (DSL), etc.
- the WAN 140 may further include networking protocols such as multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), file transfer protocol (FTP), and the like.
- the data exchanged over the WAN 140 can be represented using technologies and/or formats including hypertext markup language (HTML) and extensible markup language (XML).
- all or some links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec).
- SSL secure sockets layer
- TLS transport layer security
- IPsec Internet Protocol security
- the user-based network onboarding system 145 is coupled to the WAN 140 .
- the user-based network onboarding system 145 authenticates access of the user devices 105 to network resources.
- the user-based network onboarding system 145 can authenticate access of the user devices 105 to the trusted resource system 125 and/or the untrusted resource system 150 .
- the user-based network onboarding system 145 performs onboarding and/or offboarding of the user devices 105 .
- “Onboarding,” as used in this paper, may refer to adding new devices to access network resources.
- the onboarding performed by the user-based network onboarding system 145 may include verifying the user devices 105 are sufficiently secured and/or compliant with requirements of the mobile device management system 135 to access the trusted resource system 125 , the untrusted resource system 150 through the LAN network access system 115 and/or the WAN access system 130 .
- “Offboarding,” as used in this paper, may refer to removing devices from the set of devices allowed to access the network resources.
- the user-based network onboarding system 145 performs user-based onboarding. More specifically, the user-based network onboarding system 145 can maintain a web portal, such as a walled garden environment where users onboard their own devices. In an implementation, the user devices 105 can be redirected to the walled garden environment whenever the user devices 105 access the LAN access system 115 . The walled garden environment can then verify whether the user devices 105 were previously or should in the future be onboarded to access network resources.
- a web portal such as a walled garden environment where users onboard their own devices.
- the user devices 105 can be redirected to the walled garden environment whenever the user devices 105 access the LAN access system 115 .
- the walled garden environment can then verify whether the user devices 105 were previously or should in the future be onboarded to access network resources.
- the user-based network onboarding system 145 can onboard a first user device associated with a user (e.g., the user device 105 - 1 ) and can create a first-level security profile for the user based on information supplied by the user.
- a first-level security profile may refer to information used to identify the user. Though this paper uses the term “user” in conjunction with the first-level security profile, it is noted that the first-level security profile may identify, in various implementations, a person, a group of people, a subscriber station of the LAN 120 , a group of subscriber stations of the LAN 120 , etc.
- the user-based network onboarding system 145 identifies other devices associated with the user. For example, the user can enter the identities of other devices (e.g., the user's own devices brought into the user-based network onboarding environment 100 for use) into the web portal. As another example, the user-based network onboarding system 145 can automatically find all devices (e.g., company issued devices) associated with the user.
- the user-based network onboarding system 145 may assign second-level security profiles for each of the user's devices (e.g., the user devices 105 ).
- a second-level security profile may refer to information used to identify one of the user devices 105 .
- the second-level security profile may also identify other attributes of the one of the user devices 105 .
- the second-level security profile may include device information (e.g., hardware configurations, software configurations, etc.), network information (e.g., network configurations), and other information about one of the user devices 105 .
- each of the second-level security profiles may provide network configuration information so that the user devices 105 can be onboarded to the trusted resource system 125 and/or the untrusted resource system 150 .
- the user-based network onboarding system 145 can also assign other levels of security profiles (e.g., third-level security profiles, fourth-level security profiles, etc.) as required to onboard the user devices 105 .
- the onboarding by the user-based network onboarding system 145 is performed on a browser-based device.
- the user-based network onboarding system 145 , and the engines therein, are further discussed in the context of FIGS. 2-10 .
- the untrusted resource system 150 is coupled to the WAN 140 .
- the untrusted resource system 150 may include one or more engines and/or datastore containing untrusted resources.
- Untrusted resources may refer to any network resources that are generally available to users of the WAN 140 and are not protected by security protocols of the trusted network 155 . Examples of untrusted resources include websites, databases, applications, content, etc. that a user can navigate to using the Internet.
- FIG. 2 shows a user-based network onboarding system 200 , in accordance with an implementation.
- the user-based network onboarding system 200 includes a network access system management engine 210 , a network access system management datastore 215 , a mobile device management interface engine 220 , a mobile device management interface datastore 225 , a device selection engine 230 , a device selection datastore 235 , a security profile engine 240 , a security profile datastore 245 , a device network configuration engine 250 , and a device network configuration datastore 255 .
- one or more of the network access system management engine 210 , the network access system management datastore 215 , the mobile device management interface engine 220 , the mobile device management interface datastore 225 , the device selection engine 230 , the device selection datastore 235 , the security profile engine 240 , the security profile datastore 245 , the device network configuration engine 250 , and the device network configuration datastore 255 includes an “engine,” as discussed herein.
- one or more of the network access system management engine 210 , the network access system management datastore 215 , the mobile device management interface engine 220 , the mobile device management interface datastore 225 , the device selection engine 230 , the device selection datastore 235 , the security profile engine 240 , the security profile datastore 245 , the device network configuration engine 250 , and the device network configuration datastore 255 includes a “datastore,” as discussed herein.
- the computer-readable medium 205 is coupled to the network access system management engine 210 , the network access system management datastore 215 , the mobile device management interface engine 220 , the mobile device management interface datastore 225 , the device selection engine 230 , the device selection datastore 235 , the security profile engine 240 , the security profile datastore 245 , the device network configuration engine 250 , and the device network configuration datastore 255 .
- the computer-readable medium 205 includes a coupling system that comprises anything from a device for coupling together components of a single computer, such as a bus, to a networked system that includes several computer systems coupled together, such as the Internet. It is noted the computer-readable medium 205 can broadly include, as understood from relevant context, anything from a minimalist coupling of the components illustrated in the example of FIG. 2 , to every component of the Internet and networks coupled to the Internet.
- the network access system management engine 210 is coupled to the computer-readable medium 205 .
- the network access system management engine 210 manages the network access systems, such as the LAN access system 115 and/or the WAN access system 130 (shown in FIG. 1 ). More specifically, the network access system management engine 210 may implement instructions from an administrator to control network access systems, and/or to implement network policies associated with the network access systems.
- the network access system management engine 210 maintains a web portal for network access. The network access system management engine 210 may further maintain a walled garden environment associated with the web portal.
- the network access system management engine 210 instructs network access systems to permit or deny network access to specific user devices.
- the network access system management engine 210 determines the identity of specific users and/or specific user devices trying to access network resources.
- the network access system management datastore 215 is coupled to the computer-readable medium 205 .
- the network access system management datastore 215 stores information associated with the network access system management engine 210 .
- the mobile device management interface engine 220 is coupled to the computer-readable medium 205 .
- the mobile device management interface engine 220 interfaces with mobile device management system(s).
- the mobile device management interface engine 220 can further instruct the network access system management engine 210 to ensure user devices are adequately protected by any MDM policies received from mobile device management system(s).
- the mobile device management interface engine 220 can also instruct the network access system management engine 210 to check for updated MDM policies at an interval, such as periodically, or at the request of an administrator.
- the mobile device management interface datastore 225 is coupled to the computer-readable medium 205 .
- the mobile device management interface datastore 225 stores information associated with the mobile device management interface engine 220 .
- the device selection engine 230 is coupled to the computer-readable medium 205 .
- the device selection engine 230 selects user devices to assign security profiles to.
- the device selection engine 230 selects user devices based on input into the web portal provided by the network access system management engine 210 . An example of such an implementation is provided in FIG. 4 .
- the device selection engine 230 selects user devices based on a list of issued user devices that are known to be associated with the user. An example of such an implementation is provided in FIG. 5 .
- the device selection datastore 235 is coupled to the computer-readable medium 205 .
- the device selection datastore 235 stores information associated with the device selection engine 230 .
- the security profile engine 240 is coupled to the computer-readable medium 205 .
- the security profile engine 240 assigns security profiles to users and/or user devices.
- the security profile engine 240 includes a first level engine 240 - 1 , a second level engine 240 - 2 , through an N-th level engine 240 -N. It is noted that the letter N designates an arbitrary number and need not be related to the letter “N” used to designate the number of devices in FIG. 1 .
- the first level engine 240 - 1 can implement a first-level security profile for a user.
- the second level engine 240 - 2 can implement a second-level security profile for the user.
- the second-level profile can be associated with specific devices of the user.
- the N-th level engine 240 -N can implement an N-th level security profile for the user.
- the N-th-level profile can correspond to attributes of a particular device, such as the device's operating system, software configuration, hardware configuration, network configuration, etc.
- any of the security profiles may be based on mobile device management information obtained through the mobile device management interface engine 220 .
- the security profile datastore 245 is coupled to the computer-readable medium 205 .
- the security profile datastore 245 stores information associated with the security profile engine 240 . More specifically, in various implementations, the security profile datastore 245 stores security profiles for the security profile engine 240 .
- the device network configuration engine 250 is coupled to the computer-readable medium.
- the device network configuration engine 250 configures particular user devices for access to network resources.
- the configuration of user devices may be based on security profiles from the security profile engine 240 .
- the device network configuration engine 250 can configure user devices based on second-level security profiles associated with the user devices.
- the device network configuration engine 250 configures a browser-based device. An example of such an implementation is shown in FIG. 8 .
- the device network configuration datastore 255 is coupled to the computer-readable medium.
- the device network configuration datastore 255 stores information associated with the device network configuration engine 250 .
- FIG. 3 shows an example of a flowchart of a method 300 for performing user-based network onboarding of user devices, in accordance with an implementation.
- the method 300 is discussed in conjunction with the user-based network onboarding system 200 , shown in FIG. 2 .
- the modules 305 - 335 are merely examples of modules in the method 300 , and it is noted in some implementations the method 300 is executed with less modules, more modules, or different modules than the modules specifically shown in FIG. 3 .
- the network access system management engine 210 may receive information about a user of a first device requesting access to a network.
- the network access system management engine 210 may receive a notification from a network access system (e.g., the LAN access system 115 and/or the WAN access system 130 shown in FIG. 1 ) a user is seeking access to network resources (e.g., the trusted resource system 125 and/or the untrusted resource system 150 shown in FIG. 1 ).
- a network access system e.g., the LAN access system 115 and/or the WAN access system 130 shown in FIG. 1
- network resources e.g., the trusted resource system 125 and/or the untrusted resource system 150 shown in FIG. 1 .
- a user may enter the trusted network 155 (shown in FIG. 1 ) and seek network access.
- the user may be redirected to a walled garden hosted by a web portal provided by the network access system management engine 210 .
- the walled garden may capture the device identifier of the user device. If the user device is associated with a known user, the information about the known user may be provided. If the user device is not associated with a known user, the network access system management engine 210 may limit network access to the walled garden until the information of the user has been provided. In an implementation, the network access system management engine 210 provides the information about the user to the other engines of the user-based network onboarding system 200 .
- a first-level security profile based at least in part on the information about the user is assigned to the user.
- the first level engine 240 - 1 assigns a first-level security profile to the user.
- the first-level security profile may contain information about the user, such as the user's network login credentials, the user's email address, the user's role (e.g., as an employee, a contractor, a guest, etc.) in the organization administering the trusted network, and other information about the user.
- the first level engine 240 - 1 may store the first-level profile in the security profile datastore 245 in an entry associated with the user.
- a first second-level profile is assigned to a first user device of the user.
- the first second-level profile may provide first network configuration information for the first user device.
- the second level engine 240 - 2 may assign a first second-level security profile for the first device.
- the first second-level security profile may provide information about how the first user device is to be configured in order to access the network.
- the first second-level security profile may require the first user device to be compliant with mobile device management policies for the network. For instance, the first second-level security profile may require the first user device to be protected by password and/or biometric authentication techniques, have an updated blacklist and/or whitelist of applications and/or websites, and other protection techniques.
- the first second-level profile may further provide configuration parameters for the first user device to access the network.
- the first user device is configured to access the network based on the first network configuration information.
- the device network configuration engine 250 can configure the first user device for network access.
- the device network configuration engine 250 allows the first device to access trusted resources (e.g., the trusted resource system 125 shown in FIG. 1 ).
- the device network configuration engine 250 allows the first device to access untrusted resources (e.g., the untrusted resource system 150 shown in FIG. 1 ).
- the first user device comprises a browser-based device, and the device network configuration engine 250 configures the first user device in accordance with a browser-based network configuration technique, an example of which is shown in FIG. 10 .
- a second user device associated with the first-level security profile of the user is selected.
- the device selection engine 230 provides an identifier of a second user device associated with the first-level security profile.
- the device selection engine 230 may select the second device based on information the user has input into the web portal.
- the device selection engine 230 may select the second device from a list of user devices already known to be associated with the first-level security profile. For instance, the device selection engine 230 may select the second device from a list of user devices issued to the user by a company affiliated with the user.
- a second second-level security profile is assigned to the second user device, where the second second-level security profile provides second network configuration information for the second device.
- the second level engine 240 - 2 may assign a second second-level security profile for the second device.
- the second second-level security profile may provide information about how the second user device is to be configured in order to access the network.
- the second second-level security profile may require the second user device to be compliant with mobile device management policies for the network. For instance, the second second-level security profile may require the second user device to be protected by password and/or biometric authentication techniques, have an updated blacklist and/or whitelist of applications and/or websites, and other protection techniques.
- the second second-level profile may further provide configuration parameters for the second user device to access the network.
- the second user device comprises a browser-based device
- the device network configuration engine 250 configures the second user device in accordance with a browser-based network configuration technique, an example of which is shown in FIG. 10 .
- the method 300 shows onboarding only two devices for illustrative simplicity, various implementations provide for onboarding an arbitrary number of user devices for a user. As a result, the modules 325 , 330 , and 335 may be repeated an arbitrary number of times for other user devices. It is also noted that while the method 300 shows only two levels of security profiles being assigned to user devices, in various implementations, an arbitrary number of levels of security profiles may be applied to onboard devices to the network.
- FIG. 4 shows an example of a device selection engine 400 , in accordance with an implementation.
- the device selection engine 400 includes a computer-readable medium 405 , a web portal request engine 410 , a device listing engine 415 , and a listed device selection engine 420 .
- one or more of the web portal request engine 410 , the device listing engine 415 , and the listed device selection engine 420 includes an “engine,” as discussed herein.
- the computer-readable medium 405 is coupled to the web portal request engine 410 , the device listing engine 415 , and the listed device selection engine 420 .
- the computer-readable medium 405 may include a “computer-readable medium,” as defined in this paper.
- the web portal request engine 410 is coupled to the computer-readable medium 405 .
- the web portal request engine 410 may provide instructions to a web portal (e.g., the web portal managed by the network access system management engine 210 ) to request a list of user devices associated with a user.
- the web portal request engine 410 may, in an implementation, provide a webpage to the web portal. The webpage may request a user list his or her user devices.
- the device listing engine 415 is coupled to the computer-readable medium 405 .
- the device listing engine 415 may list the user devices of a user.
- the device listing engine 415 may accept a user's manual input regarding identifiers of user devices associated with the user.
- the device listing engine 415 may pre-populate the list of user devices with identifiers of devices known to be associated with the user (e.g., devices the user has previously onboarded and/or offboarded from the network). For instance, the device listing engine 415 may pre-populate the list of user devices with identifiers of devices known to correspond to the user's first-level security profile.
- the listed device selection engine 420 is coupled to the computer-readable medium 405 .
- the listed device selection engine 420 may facilitate selection of listed user devices.
- the listed device selection engine 420 may allow the user to select particular user devices the user wishes to onboard to network resources.
- FIG. 5 shows an example of a flowchart of a method 500 for selecting a device for network onboarding, in accordance with an implementation.
- the method 500 is discussed in conjunction with the device selection engine 400 , shown in FIG. 4 .
- the modules 505 - 515 are merely examples of modules in the method 500 , and it is noted in some implementations the method 500 is executed with less modules, more modules, or different modules than the modules specifically shown in FIG. 5 .
- a list of user devices to associate with a first-level security policy is requested from a web portal.
- the web portal request engine 410 requests a list of user devices from a web portal (e.g., the web portal managed by the network access system management engine 210 ).
- a listing of one or more user devices is received in response to the request.
- the device listing engine 415 receives a listing of one or more user devices in response to the request from the web portal request engine 410 .
- the device listing engine 415 may display the listing of the one or more user devices in the web portal.
- listing of user devices may, in an implementation, include user devices the user has manually entered the information of
- the listing of user devices may, in some implementations, include user devices that known to correspond to the user's first-level security profile.
- a selection of the second device from the one or more of the listed user devices is received.
- the listed device selection engine 420 receives the selection of the second user device.
- the second device is selected from the webpage displayed on the web portal. It is noted that while the method 500 shows selecting only a second device for illustrative simplicity, various implementations provide for selecting an arbitrary number of user devices for a user. As a result, the module 515 may be repeated an arbitrary number of times for other user devices in various implementations.
- FIG. 6 shows an example of a device selection engine 600 , in accordance with an implementation.
- the device selection engine 600 includes a computer-readable medium 605 , an MDM system interface engine 610 , a device listing engine 615 , and a listed device selection engine 620 .
- the MDM system interface engine 610 , the device listing engine 615 , and the listed device selection engine 620 includes an “engine,” as discussed herein.
- the computer-readable medium 605 is coupled to the MDM system interface engine 610 , the device listing engine 615 , and the listed device selection engine 620 .
- the computer-readable medium 605 may include a “computer-readable medium,” as defined in this paper.
- the MDM system interface engine 610 is coupled to the computer-readable medium 605 .
- the MDM system interface engine 610 may request from an MDM system (e.g., mobile device management system 135 in FIG. 1 ), a list of user devices associated with the user.
- the MDM system interface engine 610 may request from the MDM system a list of user devices that were issued to the user.
- the MDM system may return to the MDM system interface engine 610 all devices issued to the user by an entity, such as the company the user is associated with.
- the MDM system interface engine 610 may provide the list of user devices to a web portal (e.g., the web portal managed by the network access system management engine 210 in FIG. 2 ).
- the device listing engine 615 is coupled to the computer-readable medium 605 .
- the device listing engine 615 may list the user devices of a user, based on the information displayed in the web portal.
- the device listing engine 615 may further accept a user's manual input regarding identifiers of user devices associated with the user.
- the device listing engine 615 may also pre-populate the list of user devices with identifiers of devices known to be associated with the user (e.g., devices the user has previously onboarded and/or offboarded from the network). For instance, the device listing engine 615 may pre-populate the list of user devices with identifiers of devices known to correspond to the user's first-level security profile.
- the listed device selection engine 620 is coupled to the computer-readable medium 605 .
- the listed device selection engine 620 may facilitate selection of listed user devices.
- the listed device selection engine 620 may allow the user to select particular user devices the user wishes to onboard to network resources.
- FIG. 7 shows an example of a flowchart of a method 700 for selecting a device for network onboarding, in accordance with an implementation.
- the method 700 is discussed in conjunction with the device selection engine 600 , shown in FIG. 6 .
- the modules 705 - 715 are merely examples of modules in the method 700 , and it is noted in some implementations the method 700 is executed with less modules, more modules, or different modules than the modules specifically shown in FIG. 7 .
- a list of devices associated with the user's first-level security profile is requested from an mobile device management system.
- the MDM system interface engine 610 requests from a mobile device management system (e.g., the mobile device management system 135 in FIG. 1 ) a list of devices associated with a user's first-level security profile.
- the list of user devices is received in response to the request.
- the MDM system interface engine 610 receives the list of user devices in response to the request.
- the list of user devices may be provided to a web portal (e.g., the web portal managed by the network access system management engine 210 ).
- the web portal may display the list of user devices.
- a selection of the second user device from the listed one or more user devices is received.
- the listed device selection engine 620 receives the selection of the second user device.
- the second device is selected from the webpage displayed on the web portal. It is noted that while the method 700 shows selecting only a second device for illustrative simplicity, various implementations provide for selecting an arbitrary number of user devices for a user. As a result, the module 715 may be repeated an arbitrary number of times for other user devices in various implementations.
- FIG. 8 shows an example of a device network configuration engine 800 , in accordance with an implementation.
- the device network configuration engine 800 includes a computer-readable medium 805 , a device access notification engine 810 , a browser extension engine 815 , and a network connectivity file transfer engine 820 .
- the device access notification engine 810 , the browser extension engine 815 , and the network connectivity file transfer engine 820 includes an “engine,” as discussed herein.
- the computer-readable medium 805 is coupled to the device access notification engine 810 , the browser extension engine 815 , and the network connectivity file transfer engine 820 .
- the computer-readable medium 805 may include a “computer-readable medium,” as defined in this paper.
- the device access notification engine 810 is coupled to the computer-readable medium 805 .
- the device access notification engine 810 may monitor a network access system (e.g., the LAN access system 115 and/or the WAN access system 130 shown in FIG. 1 ) to see if a device is attempting to access network resources (e.g., the trusted resource system 125 and/or the untrusted resource system 150 shown in FIG. 1 ).
- the device access notification engine 810 receives notifications from a network access system management engine (e.g., the network access system management engine 210 in FIG. 2 ) each time a user device seeks network access.
- the device access notification engine 810 may provide relevant notifications to the other modules of the device network configuration engine 800 .
- the browser extension engine 815 is coupled to the computer-readable medium 805 .
- the browser extension engine 815 provides a browser extension to a particular user device (e.g., one of the user devices 105 in FIG. 1 ) seeking to be onboarded to access network resources.
- a “browser extension,” as used in this paper, may refer to anything that extends functionality of a web browser in some way.
- the browser extension may include plug-ins, add-ins, toolbars, and other elements that can execute within the context of a web browser.
- the browser extension may comprise no more than a network hyperlink loaded on the web browser, or a dedicated tab of the web browser.
- the browser extension engine 815 may provide a browser extension to the native browser of the browser-based device.
- the network connectivity file transfer engine 820 is coupled to the computer-readable medium 806 .
- the network connectivity file transfer engine 820 transfers a network connectivity file to one of the user devices 105 seeking to be onboarded.
- the network connectivity file may be compatible with the native browser of the browser-based device.
- the network connectivity file transfer engine 820 can also receive notifications about whether the network connectivity file was successfully loaded on the user device.
- FIG. 9 shows an example of a flowchart of a method 900 for selecting a device for network onboarding, in accordance with an implementation.
- the method 900 is discussed in conjunction with the device network configuration engine 800 , shown in FIG. 8 .
- the modules 905 - 925 are merely examples of modules in the method 900 , and it is noted in some implementations the method 900 is executed with less modules, more modules, or different modules than the modules specifically shown in FIG. 9 .
- a notification of a network access attempt by a user device is received.
- the device access notification engine 810 receives a notification of a network access attempt by a user device (e.g., one of the user devices 105 in FIG. 1 ).
- the notification may come from a network access system (e.g., the LAN access system 115 and/or the WAN access system 130 in FIG. 1 ).
- the notification may indicate the user device is attempting to access network resources (e.g., the trusted resource system 125 and/or the untrusted resource system 150 in FIG. 1 ).
- the device access notification engine 810 provides the notification of the network access attempt to the other engines of the device network configuration engine 800 .
- a browser extension containing a content script is provided to the user device in response to the notification.
- the browser extension engine 815 provides a browser extension to the user device seeking network access.
- the browser extension may be installed into the web browser of the user device.
- the browser extension may be loaded into the native web browser of the user device.
- a network connectivity file containing network configuration information for the user device is provided to the browser extension.
- the network connectivity file transfer engine 820 provides the browser extension with a network connectivity file that contains network configuration information for the user device.
- the web browser of the user device may load the network connectivity file into the browser extension.
- the network connectivity file is loaded into the browser extension of the native web browser.
- a notification the network connectivity file loaded on the user device is received.
- the network connectivity file transfer engine receives a notification the network connectivity file successfully loaded on the user device.
- the notification may come from the browser extension provided to the user device.
- network connectivity of the user device is configured using the configuration information in the network connectivity file.
- a device network configuration engine e.g., the device network configuration engine 250 , shown in FIG. 2
- FIG. 10 shows an example of a screen 1000 for a user to select a device for network authentication, in accordance with an implementation.
- the screen 1000 includes an add-in tab 1005 , a webpage 1010 , a username 1015 , an ownership listing 1020 , a terms and services checkbox 1025 , and an enrollment button 1030 .
- the add-in tab 1005 may include an add-in to a web browser.
- the web browser may include a native web browser (e.g., a Chrome® browser) of a browser-based user device (e.g., a Chromebook®).
- the webpage 1010 may include a web portal for network access.
- FIG. 10 shows an example of a screen 1000 for a user to select a device for network authentication, in accordance with an implementation.
- the screen 1000 includes an add-in tab 1005 , a webpage 1010 , a username 1015 , an ownership listing 1020 , a terms and services checkbox 1025 , and an enrollment button 1030
- the webpage 1010 provides a user with the ability to access a network.
- the user may have been redirected to the webpage 1010 upon opening the native web browser of the user device.
- the username 1015 may include a unique identifier of the user. the username 1015 may be used to identify the user's first-level security profile, as discussed in this paper.
- the ownership listing 1020 may provide the degree of network access the user may wish to have. In this example, the ownership listing 1020 may include a first ownership status for corporate-issued devices, and a second ownership status for personal devices the user has brought to work.
- the terms and services checkbox 1025 may indicate the user has agreed to the terms and services of network access.
- the enrollment button 1030 may allow the user to enroll the user device and initiate network access.
- FIG. 11 shows an example of a computer system 1100 .
- the computer system 1100 can be a conventional computer system that can be used as a client computer system, such as a wireless client or a workstation, or a server computer system.
- the computer system 1100 includes a computer 1102 , I/O devices 1104 , and a display device 1106 .
- the computer 1102 includes a processor 1108 , a communications interface 1110 , memory 1112 , display controller 1114 , non-volatile storage 1116 , and I/O controller 1118 .
- the computer 1102 can be coupled to or include the I/O devices 1104 and display device 1106 .
- the computer 1102 interfaces to external systems through the communications interface 1110 , which can include a modem or network interface.
- the communications interface 1110 can be considered to be part of the computer system 1100 or a part of the computer 1102 .
- the communications interface 1110 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. “direct PC”), or other interfaces for coupling a computer system to other computer systems.
- the processor 1108 can be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor.
- the memory 1112 is coupled to the processor 1108 by a bus 1120 .
- the memory 1112 can be Dynamic Random Access Memory (DRAM) and can also include Static RAM (SRAM).
- the bus 1120 couples the processor 1108 to the memory 1112 , also to the non-volatile storage 1116 , to the display controller 1114 , and to the I/O controller 1118 .
- the I/O devices 1104 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device.
- the display controller 1114 can control in the conventional manner a display on the display device 1106 , which can be, for example, a cathode ray tube (CRT) or liquid crystal display (LCD).
- the display controller 1114 and the I/O controller 1118 can be implemented with conventional well known technology.
- the non-volatile storage 1116 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 1112 during execution of software in the computer 1102 .
- machine-readable medium or “computer-readable medium” includes any type of storage device that is accessible by the processor 1108 and also encompasses a carrier wave that encodes a data signal.
- the computer system 1100 is one example of many possible computer systems which have different architectures.
- personal computers based on an Intel microprocessor often have multiple buses, one of which can be an I/O bus for the peripherals and one that directly connects the processor 1108 and the memory 1112 (often referred to as a memory bus).
- the buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
- Network computers are another type of computer system that can be used in conjunction with the teachings provided herein.
- Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 1112 for execution by the processor 1108 .
- a Web TV system which is known in the art, is also considered to be a computer system, but it can lack some of the features shown in FIG. 11 , such as certain input or output devices.
- a typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
- the apparatus can be specially constructed for the required purposes, or it can comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program can be stored in a computer readable storage medium, such as, but is not limited to, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application is a continuation application of U.S. patent application Ser. No. 15/977,310, filed May 11, 2018, now U.S. Pat. No. 10,320,847, which is a continuation application of U.S. patent application Ser. No. 15/480,273, filed Apr. 5, 2017, now U.S. Pat. No. 10,003,615, which is a continuation application of U.S. patent application Ser. No. 15/183,753, filed Jun. 15, 2016, now U.S. Pat. No. 9,686,319, which is a continuation application of U.S. patent application Ser. No. 14/868,347, filed Sep. 28, 2015, now U.S. Pat. No. 9,479,540, which is a continuation application of U.S. patent application Ser. No. 14/180,297, filed Feb. 13, 2014, now U.S. Pat. No. 9,152,782, which claims priority to U.S. Provisional Patent Application No. 61/916,088, filed Dec. 13, 2013, all of which are incorporated herein by reference.
- Computer networks play an important part of many information infrastructures. Computer networks typically allow devices to exchange data with one another. A computer network may include data connections to allow devices to provide data to one another. Networks links may couple points of the computer network through a variety of media, including wired media and wireless media. Computer networks continue to become faster and more reliable ways to transfer and share information. Organizations have come to rely on the speed and reliability of computer networks to provide members with the ability to exchange information, resources, and other items of interest with each other and with the outside world.
- It is important to ensure network access secure and convenient for an organization's members and for the organization itself. For example, an organization may wish to ensure users only access the organization's network using devices that are sufficient secure. The organization may need to verify the security of devices of users brought to the organization's network. Similarly, the organization may need to verify the security of devices the organization has issued to users. Making sure security processes are not inconvenient for users has proven difficult.
-
FIG. 1 shows an example of a user-based network onboarding environment, in accordance with an implementation. -
FIG. 2 shows a user-based network onboarding system, in accordance with an implementation, in accordance with an implementation. -
FIG. 3 shows an example of a flowchart of a method for performing user-based network onboarding of user devices, in accordance with an implementation, -
FIG. 4 shows an example of a device identification engine, in accordance with an implementation. -
FIG. 5 shows an example of a flowchart of a method for selecting a device for network onboarding, in accordance with an implementation. -
FIG. 6 shows an example of a device identification engine, in accordance with an implementation. -
FIG. 7 shows an example of a flowchart of a method for selecting a device for network onboarding, in accordance with an implementation. -
FIG. 8 shows an example of a device network configuration engine, in accordance with an implementation. -
FIG. 9 shows an example of a flowchart of a method for selecting a device for network onboarding, in accordance with an implementation. -
FIG. 10 shows an example of a screen for selecting a device for network authentication, in accordance with an implementation. -
FIG. 11 shows an example of a computer system, in accordance with an implementation. - A request related to an access to a network by a first user device may be received. The user device may be included in a plurality of user devices associated with a first first-level security profile assigned to the user. An application extension to an application executing on the first user device may be accessed in response to the request related to the access. A network connectivity file may be provided to the application extension. The network connectivity file may include network configuration information for the first user device. The network configuration information may be associated with a first second-level security profile assigned to the first user device. Instructions to configure the first user device to access the network based at least in part on the network configuration information in the network connectivity file may be provided.
-
FIG. 1 shows an example of a user-basednetwork onboarding environment 100, in accordance with an implementation. In the example ofFIG. 1 , the user-basednetwork onboarding environment 100 includes user devices 105-1 through 105-N (user devices 105), a local area network (LAN)network access system 115, aLAN 120, a trusted resource system 125, a wide area network (WAN)access system 130, a mobiledevice management system 135, awide area network 140, a user-based network onboarding system 145, and anuntrusted resource system 150. In the example ofFIG. 1 , theuser devices 105, the LANnetwork access system 115, theLAN 120, and the trusted resource system 125 reside within a trusted network 155. In this example, the mobiledevice management system 135, the WAN 140, the user-based network onboarding system 145, and theuntrusted resource system 150 reside within anuntrusted network 160. - In the example of
FIG. 1 , theuser devices 105 are coupled to the LANnetwork access system 115. One or more of theuser devices 105 can include a station. A “station,” as used in this paper, may refer to a device with a media access control (MAC) address and a physical layer (PHY) interface to a wireless medium complying with the IEEE 802.11 standard. Thus, for example, stations and a wireless access point (WAP) with which the stations associate can be referred to as stations, if applicable. IEEE 802.11a-1999, IEEE 802.11b-1999, IEEE 802.11g-2003, IEEE 802.11-2007, and IEEE 802.11n TGn Draft 8.0 (2009) are incorporated by reference. A system that is 802.11 standards-compatible or 802.11 standards-compliant, as used in this paper, may comply with at least some of one or more of the incorporated documents' requirements and/or recommendations, or requirements and/or recommendations from earlier drafts of the documents, and includes Wi-Fi systems. Wi-Fi is a non-technical description, which is generally correlated with the IEEE 802.11 standards, as well as Wi-Fi Protected Access (WPA) and WPA2 security standards, and the Extensible Authentication Protocol (EAP) standard. In alternative implementations, a station may comply with a different standard than Wi-Fi or IEEE 802.11, may be referred to as something other than a “station,” and may have different interfaces to a wireless or other medium. - In a specific implementation, the
user devices 105 access resources provided through theLAN 120 and the LANnetwork access system 115. For instance, theuser devices 105 can access the trusted resource system 125, described further herein, through theLAN 120 and the LANnetwork access system 115. In an implementation, theuser devices 105 access resources through the WAN 140, LANnetwork access system 115, and/or theWAN access system 130. More specifically, theuser devices 105 can access theuntrusted resource system 150 through the WAN 140, LANnetwork access system 115, and/or theWAN access system 130. - In the example of
FIG. 1 , each of theuser devices 105 include respective network agent engines 110-1 through 110-N (network agent engines 110). In a specific implementation, thenetwork agent engines 110 are implemented as at least a portion of an application executing on theuser devices 105. In another implementation, thenetwork agent engines 110 are implemented as part (e.g., an extension, a plugin, etc.) of a network browser (e.g., an Internet browser). In yet another implementation, thenetwork agent engines 110 are part of the operating system of theuser devices 105. In an implementation, thenetwork agent engines 110 can allow theuser devices 105 to access network resources, such as the trusted resource system 125 and/or theuntrusted resource system 150. Thenetwork agent engines 110 can allow theuser devices 105 to display webpages or other graphical depictions of network resources, in various implementations. - In a particular implementation, the
network agent engines 110 may include an “engine” and a “datastore,” as discussed in this paper. An engine, as used in this paper, includes a dedicated or shared processor and, typically, firmware or software modules executed by the processor. Depending upon implementation-specific or other considerations, an engine can be centralized or its functionality distributed. An engine can include special purpose hardware, firmware, or software embodied in a computer-readable medium for execution by the processor. - A datastore, as used in this paper, can be implemented, for example, as software embodied in a physical computer-readable medium on a general- or specific-purpose machine, in firmware, in hardware, in a combination thereof, or in an applicable known or convenient device or system. Datastores in this paper are intended to include any organization of data, including tables, comma-separated values (CSV) files, traditional databases (e.g., SQL), or other applicable known or convenient organizational formats. Datastore-associated components, such as database interfaces, can be considered “part of” a datastore, part of some other system component, or a combination thereof, though the physical location and other characteristics of datastore-associated components is not critical for an understanding of the techniques described in this paper. Datastores can include data structures. As used in this paper, a data structure is associated with a particular way of storing and organizing data in a computer so it can be used efficiently within a given context. Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by an address, a bit string that can be itself stored in memory and manipulated by the program. Thus, some data structures are based on computing the addresses of data items with arithmetic operations; while other data structures are based on storing addresses of data items within the structure itself. Many data structures use both principles, sometimes combined in non-trivial ways. The implementation of a data structure usually entails writing a set of procedures for creating and manipulating instances of that structure.
- In a specific implementation, the
network agent engines 110 control how theuser devices 105 access network resources. More specifically, thenetwork agent engines 110 can determine what resources theuser devices 105 are allowed to access. For instance, thenetwork agent engines 110 control whether theuser devices 105 are allowed to access any of the trusted resource system 125 and/or theuntrusted resource system 150. Thenetwork agent engines 110 can also control whether particular users of theuser devices 105 are allowed to access portions of the trusted resource system 125 and/or theuntrusted resource system 150. - In some implementations, the
network agent engines 110 may implement other security techniques on theuser devices 105. For example, in an implementation, thenetwork agent engines 110 makes sure theuser devices 105 are adequately protected from unauthorized users or unauthorized usages. That is, in this implementation, thenetwork agent engines 110 require theuser devices 105 to be protected by password, biometric authentication techniques, or other techniques. As another example, thenetwork agent engines 110 may make sure theuser devices 105 cannot access specific websites (e.g., blacklisted websites) or can access only specific websites (e.g., whitelisted websites). As yet another example, thenetwork agent engines 110 may limit the types of applications theuser devices 105 are allowed to install and/or execute. More specifically, thenetwork agent engines 110 may not allow theuser devices 105 to install and/or execute blacklisted applications, or may allow theuser devices 105 to only install and/or execute whitelisted applications. Thenetwork agent engines 110 may or may not implement features of a mobile device management (MDM) policy not enumerated herein. - In the example of
FIG. 1 , the LANnetwork access system 115 is coupled to theuser devices 105 and theLAN 120. In an implementation, the LANnetwork access system 115 is coupled to each of thenetwork agent engines 110 in theuser devices 105. The LANnetwork access system 115 can provide, in various implementations, access to theLAN 120 and/or theWAN 140. In an implementation, the LANnetwork access system 115 can be implemented as one or more of a network access point, a gateway, a switch, a router, and a bridge. In some implementations, the LANnetwork access system 115 is implemented as: a wireless network access point to supply wireless network access to theLAN 120 and/or theWAN 140; and/or a wired access point to supply wired network access to theLAN 120 and/or theWAN 140. In some implementations, the LANnetwork access system 115 is administered by the user-based network onboarding system 145. In various implementations, the LANnetwork access system 115 may receive instructions from the user-based network onboarding system 145 to onboard more than one of theuser devices 105, as discussed further in this paper to the trusted resource system 125 and/or theuntrusted resource system 150. - In specific implementations, the LAN
network access system 115, the mobiledevice management system 135, the user-based network onboarding system 145, or some combination thereof, controls the MDM policy. In an implementation in which updates are available, the MDM policy can be configured, for example, to manually update, to update at a predetermined interval, such as periodically, or to update in some other fashion. For example, the MDM policy can be configured to update at the request of an administrator of the user-based network onboarding system 145. In a specific implementation, thenetwork agent engines 110 receive instructions from the user-based network onboarding system 145 to onboard theuser devices 105 to network resources, as discussed in this paper. - In the example of
FIG. 1 , theLAN 120 is coupled to the LANnetwork access system 115, the trusted resource system 125, and theWAN access system 130. In a specific implementation, theLAN 120 may provide a network linking theuser devices 105 to each other, to the trusted resource system 125, and/or to theWAN 140. In some implementations, theLAN 120 is administered by the network administrator who is associated with the user-based network onboarding system 145 and/or is charged with administering network and other policies for the trusted resource system 125. - In a specific implementation, the
LAN 120 includes a wired network using wires for at least some communications. In some implementations, theLAN 120 comprises a wireless network. A “wireless network,” as used in this paper may include any computer network communicating at least in part without the use of electrical wires. In various implementations, theLAN 120 includes technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, CDMA, GSM, LTE, digital subscriber line (DSL), etc. TheLAN 120 can further include networking protocols such as multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), file transfer protocol (FTP), and the like. The data exchanged over theLAN 120 can be represented using technologies and/or formats including hypertext markup language (HTML) and extensible markup language (XML). In addition, all or some links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec). - In a specific implementation, the wireless network of the
LAN 120 is compatible with the 802.11 protocols specified by the Institute of Electrical and Electronics Engineers (IEEE). TheLAN 120 may be compatible with one or more stations, such as theuser devices 105, discussed herein. - In a specific implementation, the wireless network of the
LAN 120 is compatible with the 802.3 protocols specified by the IEEE. In some implementations, IEEE 802.3 compatible protocols of theLAN 120 may include local area network technology with some wide area network applications. Physical connections are typically made between nodes and/or infrastructure devices (hubs, switches, routers) by various types of copper or fiber cable. The IEEE 802.3 compatible technology can support the IEEE 802.1 network architecture of theLAN 120. These standards provide the basis for wireless network products using the Wi-Fi brand. IEEE 802.1 and 802.3 are incorporated by reference. - In the example of
FIG. 1 , the trusted resource system 125 is coupled to theLAN 120. In a specific implementation, the trusted resource system 125 may include one or more engines and/or datastore containing trusted resources. “Trusted resources,” as discussed herein, may refer to any network resources that are available to non-administrative users of theLAN 120 but not to non-administrative users of theWAN 140. Trusted resources can include network resources that are protected by security protocols of the trusted network 155. Trusted resources can include any resources protected by the functionalities of theWAN access system 130. In various implementations, the trusted resource system 125 provides access portions of private networks, enterprise networks, virtual public networks (VPNs), etc. In an implementation, the trusted resource system 125 is administered by the same administrative entity administering the user-based network onboarding system 145. Examples of trusted resources include websites, databases, applications, content, etc. on an Intranet within the trusted network 155. - In the example of
FIG. 1 , theWAN access system 130 is coupled to theLAN 120 and theWAN 140. In a specific implementation, theWAN access system 130 couples the portions of the trusted network 155 to the portions of theuntrusted network 160. More specifically, theWAN access system 130 can couple theLAN 120 to theWAN 140. This can have the effect of coupling theuser devices 105, the LANnetwork access system 115, and the trusted resource system 125 to the mobiledevice management system 135, theuntrusted resource system 150, and the user-based network onboarding system 145. In various implementations, theWAN access system 130 is implemented as one or more of a gateway, a switch, a router, and a bridge providing access to theWAN 140. In some implementations, theWAN access system 130 is administered by the network administrator who is associated with the user-based network onboarding system 145 and/or is charged with administering network and other policies for the trusted network 155. - Though
FIG. 1 shows the LANnetwork access system 115 as distinct from theWAN access system 130, in various implementations, the functionalities of the LANnetwork access system 115 and theWAN access system 130 may be interchanged or consolidated into a single system. More specifically, in some implementations, the LANnetwork access system 115 provides direct access to theWAN 140. In these implementations, the LANnetwork access system 115 can nonetheless be associated with the trusted network 155 and administered by the network administrator who is associated with the user-based network onboarding system 145 and/or is charged with administering network and other policies for the trusted network 155. - In the example of
FIG. 1 , the mobiledevice management system 135 is coupled to theWAN 140. In a specific implementation, the mobiledevice management system 135 provides mobile device management services for theuser devices 105. More specifically, the mobiledevice management system 135 can interface with thenetwork agent engines 110 to control how theuser devices 105 access network resources. In some implementations, the mobiledevice management system 135 determines what resources theuser devices 105 are allowed to access (e.g., the trusted resource system 125, theuntrusted resource system 150, portions of theLAN 120, portions of theWAN 140, etc.). In these implementations, the mobiledevice management system 135 further configures thenetwork agent engines 110 to provide or deny access to these resources. - In a particular implementation, the mobile
device management system 135 controls other security features of thenetwork agent engines 110. For example, the mobiledevice management system 135 can control whether theuser devices 105 are to be password protected, biometrically authenticated, etc., before theuser devices 105 are allowed to have access to resources. The mobiledevice management system 135 may determine specific blacklisted or whitelisted websites and/or applications theuser devices 105 are or are not allowed to have access to. The mobiledevice management system 135 may further determine the types of applications and the specific applications theuser devices 105 are or are not allowed to install and/or execute. In an implementation, the mobiledevice management system 135 may control other parts of an MDM policy not provided for herein. In various embodiments, the mobiledevice management system 135 may provide updates to the MDM policy at various intervals, such as periodically, at the request of an administrator, or manually. - In the example of
FIG. 1 , theWAN 140 is coupled to theWAN access system 130, the mobiledevice management system 135, theuntrusted resource system 150, and the user-based network onboarding system 145. In a specific implementation, theWAN 140 includes a networked system including several computer systems coupled together, such as the Internet, or a device for coupling components of a single computer, such as a bus. The term “Internet” as used in this paper refers to a network of networks using certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents making up the World Wide Web (the web). Content is often provided by content servers, which are referred to as being “on” the Internet. A web server, which is one type of content server, is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the web and is coupled to the Internet. The physical connections of the Internet and the protocols and communication procedures of the Internet and the web are well known to those of skill in the relevant art. For illustrative purposes, it is assumed theWAN 140 broadly includes, as understood from relevant context, anything from a minimalist coupling of the components illustrated in the example ofFIG. 1 , to every component of the Internet and networks coupled to the Internet. In some implementations, theWAN 140 is administered by a service provider, such as an Internet Service Provider (ISP). - In various implementations, the
WAN 140 may include technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, CDMA, GSM, LTE, digital subscriber line (DSL), etc. TheWAN 140 may further include networking protocols such as multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), file transfer protocol (FTP), and the like. The data exchanged over theWAN 140 can be represented using technologies and/or formats including hypertext markup language (HTML) and extensible markup language (XML). In addition, all or some links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec). - In the example of
FIG. 1 , the user-based network onboarding system 145 is coupled to theWAN 140. In a specific implementation, the user-based network onboarding system 145 authenticates access of theuser devices 105 to network resources. As examples, the user-based network onboarding system 145 can authenticate access of theuser devices 105 to the trusted resource system 125 and/or theuntrusted resource system 150. - In an implementation, the user-based network onboarding system 145 performs onboarding and/or offboarding of the
user devices 105. “Onboarding,” as used in this paper, may refer to adding new devices to access network resources. The onboarding performed by the user-based network onboarding system 145 may include verifying theuser devices 105 are sufficiently secured and/or compliant with requirements of the mobiledevice management system 135 to access the trusted resource system 125, theuntrusted resource system 150 through the LANnetwork access system 115 and/or theWAN access system 130. “Offboarding,” as used in this paper, may refer to removing devices from the set of devices allowed to access the network resources. - In a specific implementation, the user-based network onboarding system 145 performs user-based onboarding. More specifically, the user-based network onboarding system 145 can maintain a web portal, such as a walled garden environment where users onboard their own devices. In an implementation, the
user devices 105 can be redirected to the walled garden environment whenever theuser devices 105 access theLAN access system 115. The walled garden environment can then verify whether theuser devices 105 were previously or should in the future be onboarded to access network resources. In an implementation, the user-based network onboarding system 145 can onboard a first user device associated with a user (e.g., the user device 105-1) and can create a first-level security profile for the user based on information supplied by the user. A first-level security profile, as used, herein, may refer to information used to identify the user. Though this paper uses the term “user” in conjunction with the first-level security profile, it is noted that the first-level security profile may identify, in various implementations, a person, a group of people, a subscriber station of theLAN 120, a group of subscriber stations of theLAN 120, etc. - In an implementation, the user-based network onboarding system 145 identifies other devices associated with the user. For example, the user can enter the identities of other devices (e.g., the user's own devices brought into the user-based
network onboarding environment 100 for use) into the web portal. As another example, the user-based network onboarding system 145 can automatically find all devices (e.g., company issued devices) associated with the user. The user-based network onboarding system 145 may assign second-level security profiles for each of the user's devices (e.g., the user devices 105). A second-level security profile, as used herein, may refer to information used to identify one of theuser devices 105. The second-level security profile may also identify other attributes of the one of theuser devices 105. For instance, the second-level security profile may include device information (e.g., hardware configurations, software configurations, etc.), network information (e.g., network configurations), and other information about one of theuser devices 105. In an implementation, each of the second-level security profiles may provide network configuration information so that theuser devices 105 can be onboarded to the trusted resource system 125 and/or theuntrusted resource system 150. The user-based network onboarding system 145 can also assign other levels of security profiles (e.g., third-level security profiles, fourth-level security profiles, etc.) as required to onboard theuser devices 105. In an implementation, the onboarding by the user-based network onboarding system 145 is performed on a browser-based device. The user-based network onboarding system 145, and the engines therein, are further discussed in the context ofFIGS. 2-10 . - In the example of
FIG. 1 , theuntrusted resource system 150 is coupled to theWAN 140. In a specific implementation, theuntrusted resource system 150 may include one or more engines and/or datastore containing untrusted resources. “Untrusted resources,” as discussed herein, may refer to any network resources that are generally available to users of theWAN 140 and are not protected by security protocols of the trusted network 155. Examples of untrusted resources include websites, databases, applications, content, etc. that a user can navigate to using the Internet. -
FIG. 2 shows a user-basednetwork onboarding system 200, in accordance with an implementation. In the example ofFIG. 2 , the user-basednetwork onboarding system 200 includes a network accesssystem management engine 210, a network accesssystem management datastore 215, a mobile devicemanagement interface engine 220, a mobile devicemanagement interface datastore 225, adevice selection engine 230, a device selection datastore 235, asecurity profile engine 240, a security profile datastore 245, a devicenetwork configuration engine 250, and a devicenetwork configuration datastore 255. - In a specific implementation, one or more of the network access
system management engine 210, the network accesssystem management datastore 215, the mobile devicemanagement interface engine 220, the mobile devicemanagement interface datastore 225, thedevice selection engine 230, the device selection datastore 235, thesecurity profile engine 240, the security profile datastore 245, the devicenetwork configuration engine 250, and the devicenetwork configuration datastore 255 includes an “engine,” as discussed herein. In a specific implementation, one or more of the network accesssystem management engine 210, the network accesssystem management datastore 215, the mobile devicemanagement interface engine 220, the mobile devicemanagement interface datastore 225, thedevice selection engine 230, the device selection datastore 235, thesecurity profile engine 240, the security profile datastore 245, the devicenetwork configuration engine 250, and the devicenetwork configuration datastore 255 includes a “datastore,” as discussed herein. - In the example of
FIG. 2 , the computer-readable medium 205 is coupled to the network accesssystem management engine 210, the network accesssystem management datastore 215, the mobile devicemanagement interface engine 220, the mobile devicemanagement interface datastore 225, thedevice selection engine 230, the device selection datastore 235, thesecurity profile engine 240, the security profile datastore 245, the devicenetwork configuration engine 250, and the devicenetwork configuration datastore 255. In various implementations, the computer-readable medium 205 includes a coupling system that comprises anything from a device for coupling together components of a single computer, such as a bus, to a networked system that includes several computer systems coupled together, such as the Internet. It is noted the computer-readable medium 205 can broadly include, as understood from relevant context, anything from a minimalist coupling of the components illustrated in the example ofFIG. 2 , to every component of the Internet and networks coupled to the Internet. - In the example of
FIG. 2 , the network accesssystem management engine 210 is coupled to the computer-readable medium 205. In a specific implementation, the network accesssystem management engine 210 manages the network access systems, such as theLAN access system 115 and/or the WAN access system 130 (shown inFIG. 1 ). More specifically, the network accesssystem management engine 210 may implement instructions from an administrator to control network access systems, and/or to implement network policies associated with the network access systems. In an implementation, the network accesssystem management engine 210 maintains a web portal for network access. The network accesssystem management engine 210 may further maintain a walled garden environment associated with the web portal. In various implementations, the network accesssystem management engine 210 instructs network access systems to permit or deny network access to specific user devices. In an implementation, the network accesssystem management engine 210 determines the identity of specific users and/or specific user devices trying to access network resources. - In the example of
FIG. 2 , the network access system management datastore 215 is coupled to the computer-readable medium 205. In an implementation, the network access system management datastore 215 stores information associated with the network accesssystem management engine 210. - In the example of
FIG. 2 , the mobile devicemanagement interface engine 220 is coupled to the computer-readable medium 205. In a specific implementation, the mobile devicemanagement interface engine 220 interfaces with mobile device management system(s). In an implementation, the mobile devicemanagement interface engine 220 can further instruct the network accesssystem management engine 210 to ensure user devices are adequately protected by any MDM policies received from mobile device management system(s). The mobile devicemanagement interface engine 220 can also instruct the network accesssystem management engine 210 to check for updated MDM policies at an interval, such as periodically, or at the request of an administrator. In the example ofFIG. 2 , the mobile devicemanagement interface datastore 225 is coupled to the computer-readable medium 205. In an implementation, the mobile device management interface datastore 225 stores information associated with the mobile devicemanagement interface engine 220. - In the example of
FIG. 2 , thedevice selection engine 230 is coupled to the computer-readable medium 205. In an implementation, thedevice selection engine 230 selects user devices to assign security profiles to. In a particular implementation, thedevice selection engine 230 selects user devices based on input into the web portal provided by the network accesssystem management engine 210. An example of such an implementation is provided inFIG. 4 . In an implementation, thedevice selection engine 230 selects user devices based on a list of issued user devices that are known to be associated with the user. An example of such an implementation is provided inFIG. 5 . In the example ofFIG. 2 , the device selection datastore 235 is coupled to the computer-readable medium 205. In an implementation, the device selection datastore 235 stores information associated with thedevice selection engine 230. - In the example of
FIG. 2 , thesecurity profile engine 240 is coupled to the computer-readable medium 205. In an implementation, thesecurity profile engine 240 assigns security profiles to users and/or user devices. In an implementation, thesecurity profile engine 240 includes a first level engine 240-1, a second level engine 240-2, through an N-th level engine 240-N. It is noted that the letter N designates an arbitrary number and need not be related to the letter “N” used to designate the number of devices inFIG. 1 . The first level engine 240-1 can implement a first-level security profile for a user. The second level engine 240-2 can implement a second-level security profile for the user. In an implementation, the second-level profile can be associated with specific devices of the user. The N-th level engine 240-N can implement an N-th level security profile for the user. In various embodiments, the N-th-level profile can correspond to attributes of a particular device, such as the device's operating system, software configuration, hardware configuration, network configuration, etc. In a certain implementation, any of the security profiles may be based on mobile device management information obtained through the mobile devicemanagement interface engine 220. - In the example of
FIG. 2 , the security profile datastore 245 is coupled to the computer-readable medium 205. In an implementation, the security profile datastore 245 stores information associated with thesecurity profile engine 240. More specifically, in various implementations, the security profile datastore 245 stores security profiles for thesecurity profile engine 240. - In the example of
FIG. 2 , the devicenetwork configuration engine 250 is coupled to the computer-readable medium. In a specific implementation, the devicenetwork configuration engine 250 configures particular user devices for access to network resources. In an implementation, the configuration of user devices may be based on security profiles from thesecurity profile engine 240. In an implementation, the devicenetwork configuration engine 250 can configure user devices based on second-level security profiles associated with the user devices. In a particular implementation, the devicenetwork configuration engine 250 configures a browser-based device. An example of such an implementation is shown inFIG. 8 . In the example ofFIG. 2 , the devicenetwork configuration datastore 255 is coupled to the computer-readable medium. In an implementation the device network configuration datastore 255 stores information associated with the devicenetwork configuration engine 250. -
FIG. 3 shows an example of a flowchart of amethod 300 for performing user-based network onboarding of user devices, in accordance with an implementation. Themethod 300 is discussed in conjunction with the user-basednetwork onboarding system 200, shown inFIG. 2 . The modules 305-335 are merely examples of modules in themethod 300, and it is noted in some implementations themethod 300 is executed with less modules, more modules, or different modules than the modules specifically shown inFIG. 3 . - At
module 305, information is received about a user of a first device requesting access to a network. In an implementation, the network accesssystem management engine 210 may receive information about a user of a first device requesting access to a network. The network accesssystem management engine 210 may receive a notification from a network access system (e.g., theLAN access system 115 and/or theWAN access system 130 shown inFIG. 1 ) a user is seeking access to network resources (e.g., the trusted resource system 125 and/or theuntrusted resource system 150 shown inFIG. 1 ). - More specifically, in an implementation, a user may enter the trusted network 155 (shown in
FIG. 1 ) and seek network access. In such a case, the user may be redirected to a walled garden hosted by a web portal provided by the network accesssystem management engine 210. The walled garden may capture the device identifier of the user device. If the user device is associated with a known user, the information about the known user may be provided. If the user device is not associated with a known user, the network accesssystem management engine 210 may limit network access to the walled garden until the information of the user has been provided. In an implementation, the network accesssystem management engine 210 provides the information about the user to the other engines of the user-basednetwork onboarding system 200. - At module 310, a first-level security profile based at least in part on the information about the user is assigned to the user. In an implementation, the first level engine 240-1 assigns a first-level security profile to the user. The first-level security profile may contain information about the user, such as the user's network login credentials, the user's email address, the user's role (e.g., as an employee, a contractor, a guest, etc.) in the organization administering the trusted network, and other information about the user. In an implementation, the first level engine 240-1 may store the first-level profile in the security profile datastore 245 in an entry associated with the user.
- At module 315, a first second-level profile is assigned to a first user device of the user. The first second-level profile may provide first network configuration information for the first user device. In an implementation, the second level engine 240-2 may assign a first second-level security profile for the first device. The first second-level security profile may provide information about how the first user device is to be configured in order to access the network. In an implementation, the first second-level security profile may require the first user device to be compliant with mobile device management policies for the network. For instance, the first second-level security profile may require the first user device to be protected by password and/or biometric authentication techniques, have an updated blacklist and/or whitelist of applications and/or websites, and other protection techniques. The first second-level profile may further provide configuration parameters for the first user device to access the network.
- At
module 320, the first user device is configured to access the network based on the first network configuration information. In an implementation, the devicenetwork configuration engine 250 can configure the first user device for network access. In some implementations, the devicenetwork configuration engine 250 allows the first device to access trusted resources (e.g., the trusted resource system 125 shown inFIG. 1 ). In various implementations, the devicenetwork configuration engine 250 allows the first device to access untrusted resources (e.g., theuntrusted resource system 150 shown inFIG. 1 ). In an implementation, the first user device comprises a browser-based device, and the devicenetwork configuration engine 250 configures the first user device in accordance with a browser-based network configuration technique, an example of which is shown inFIG. 10 . - At
module 325, a second user device associated with the first-level security profile of the user is selected. In an implementation, thedevice selection engine 230 provides an identifier of a second user device associated with the first-level security profile. In some implementations, thedevice selection engine 230 may select the second device based on information the user has input into the web portal. In various implementations, thedevice selection engine 230 may select the second device from a list of user devices already known to be associated with the first-level security profile. For instance, thedevice selection engine 230 may select the second device from a list of user devices issued to the user by a company affiliated with the user. - At
module 330, a second second-level security profile is assigned to the second user device, where the second second-level security profile provides second network configuration information for the second device. In an implementation, the second level engine 240-2 may assign a second second-level security profile for the second device. The second second-level security profile may provide information about how the second user device is to be configured in order to access the network. In an implementation, the second second-level security profile may require the second user device to be compliant with mobile device management policies for the network. For instance, the second second-level security profile may require the second user device to be protected by password and/or biometric authentication techniques, have an updated blacklist and/or whitelist of applications and/or websites, and other protection techniques. The second second-level profile may further provide configuration parameters for the second user device to access the network. In an implementation, the second user device comprises a browser-based device, and the devicenetwork configuration engine 250 configures the second user device in accordance with a browser-based network configuration technique, an example of which is shown inFIG. 10 . - It is noted that while the
method 300 shows onboarding only two devices for illustrative simplicity, various implementations provide for onboarding an arbitrary number of user devices for a user. As a result, themodules method 300 shows only two levels of security profiles being assigned to user devices, in various implementations, an arbitrary number of levels of security profiles may be applied to onboard devices to the network. -
FIG. 4 shows an example of adevice selection engine 400, in accordance with an implementation. In the example ofFIG. 4 , thedevice selection engine 400 includes a computer-readable medium 405, a webportal request engine 410, adevice listing engine 415, and a listeddevice selection engine 420. In a specific implementation, one or more of the webportal request engine 410, thedevice listing engine 415, and the listeddevice selection engine 420 includes an “engine,” as discussed herein. - In the example of
FIG. 4 , the computer-readable medium 405 is coupled to the webportal request engine 410, thedevice listing engine 415, and the listeddevice selection engine 420. In a specific implementation, the computer-readable medium 405 may include a “computer-readable medium,” as defined in this paper. - In the example of
FIG. 4 , the webportal request engine 410 is coupled to the computer-readable medium 405. In an implementation, the webportal request engine 410 may provide instructions to a web portal (e.g., the web portal managed by the network access system management engine 210) to request a list of user devices associated with a user. The webportal request engine 410 may, in an implementation, provide a webpage to the web portal. The webpage may request a user list his or her user devices. - In the example of
FIG. 4 , thedevice listing engine 415 is coupled to the computer-readable medium 405. In a specific implementation, thedevice listing engine 415 may list the user devices of a user. Thedevice listing engine 415 may accept a user's manual input regarding identifiers of user devices associated with the user. In an implementation, thedevice listing engine 415 may pre-populate the list of user devices with identifiers of devices known to be associated with the user (e.g., devices the user has previously onboarded and/or offboarded from the network). For instance, thedevice listing engine 415 may pre-populate the list of user devices with identifiers of devices known to correspond to the user's first-level security profile. - In the example of
FIG. 4 , the listeddevice selection engine 420 is coupled to the computer-readable medium 405. In an implementation, the listeddevice selection engine 420 may facilitate selection of listed user devices. For instance, the listeddevice selection engine 420 may allow the user to select particular user devices the user wishes to onboard to network resources. -
FIG. 5 shows an example of a flowchart of amethod 500 for selecting a device for network onboarding, in accordance with an implementation. Themethod 500 is discussed in conjunction with thedevice selection engine 400, shown inFIG. 4 . The modules 505-515 are merely examples of modules in themethod 500, and it is noted in some implementations themethod 500 is executed with less modules, more modules, or different modules than the modules specifically shown inFIG. 5 . - At
module 505, a list of user devices to associate with a first-level security policy is requested from a web portal. In a specific implementation, the webportal request engine 410 requests a list of user devices from a web portal (e.g., the web portal managed by the network access system management engine 210). - At
block 510, a listing of one or more user devices is received in response to the request. In a specific implementation, thedevice listing engine 415 receives a listing of one or more user devices in response to the request from the webportal request engine 410. Thedevice listing engine 415 may display the listing of the one or more user devices in the web portal. listing of user devices may, in an implementation, include user devices the user has manually entered the information of The listing of user devices may, in some implementations, include user devices that known to correspond to the user's first-level security profile. - At
block 515, a selection of the second device from the one or more of the listed user devices is received. In an implementation, the listeddevice selection engine 420 receives the selection of the second user device. In various implementations, the second device is selected from the webpage displayed on the web portal. It is noted that while themethod 500 shows selecting only a second device for illustrative simplicity, various implementations provide for selecting an arbitrary number of user devices for a user. As a result, themodule 515 may be repeated an arbitrary number of times for other user devices in various implementations. -
FIG. 6 shows an example of adevice selection engine 600, in accordance with an implementation. In the example ofFIG. 6 , thedevice selection engine 600 includes a computer-readable medium 605, an MDMsystem interface engine 610, adevice listing engine 615, and a listeddevice selection engine 620. In a specific implementation, one or more of the MDMsystem interface engine 610, thedevice listing engine 615, and the listeddevice selection engine 620 includes an “engine,” as discussed herein. - In the example of
FIG. 6 , the computer-readable medium 605 is coupled to the MDMsystem interface engine 610, thedevice listing engine 615, and the listeddevice selection engine 620. In a specific implementation, the computer-readable medium 605 may include a “computer-readable medium,” as defined in this paper. - In the example of
FIG. 6 , the MDMsystem interface engine 610 is coupled to the computer-readable medium 605. In an implementation, the MDMsystem interface engine 610 may request from an MDM system (e.g., mobiledevice management system 135 inFIG. 1 ), a list of user devices associated with the user. For instance, in an implementation, the MDMsystem interface engine 610 may request from the MDM system a list of user devices that were issued to the user. The MDM system may return to the MDMsystem interface engine 610 all devices issued to the user by an entity, such as the company the user is associated with. In an embodiment, the MDMsystem interface engine 610 may provide the list of user devices to a web portal (e.g., the web portal managed by the network accesssystem management engine 210 inFIG. 2 ). - In the example of
FIG. 6 , thedevice listing engine 615 is coupled to the computer-readable medium 605. In a specific implementation, thedevice listing engine 615 may list the user devices of a user, based on the information displayed in the web portal. Thedevice listing engine 615 may further accept a user's manual input regarding identifiers of user devices associated with the user. In an implementation, thedevice listing engine 615 may also pre-populate the list of user devices with identifiers of devices known to be associated with the user (e.g., devices the user has previously onboarded and/or offboarded from the network). For instance, thedevice listing engine 615 may pre-populate the list of user devices with identifiers of devices known to correspond to the user's first-level security profile. - In the example of
FIG. 6 , the listeddevice selection engine 620 is coupled to the computer-readable medium 605. In an implementation, the listeddevice selection engine 620 may facilitate selection of listed user devices. For instance, the listeddevice selection engine 620 may allow the user to select particular user devices the user wishes to onboard to network resources. -
FIG. 7 shows an example of a flowchart of amethod 700 for selecting a device for network onboarding, in accordance with an implementation. Themethod 700 is discussed in conjunction with thedevice selection engine 600, shown inFIG. 6 . The modules 705-715 are merely examples of modules in themethod 700, and it is noted in some implementations themethod 700 is executed with less modules, more modules, or different modules than the modules specifically shown inFIG. 7 . - At module 705, a list of devices associated with the user's first-level security profile is requested from an mobile device management system. In an implementation, the MDM
system interface engine 610 requests from a mobile device management system (e.g., the mobiledevice management system 135 inFIG. 1 ) a list of devices associated with a user's first-level security profile. - At
module 710, the list of user devices is received in response to the request. In an implementation, the MDMsystem interface engine 610 receives the list of user devices in response to the request. The list of user devices may be provided to a web portal (e.g., the web portal managed by the network access system management engine 210). The web portal may display the list of user devices. - At
module 715, a selection of the second user device from the listed one or more user devices is received. In an implementation, the listeddevice selection engine 620 receives the selection of the second user device. In various implementations, the second device is selected from the webpage displayed on the web portal. It is noted that while themethod 700 shows selecting only a second device for illustrative simplicity, various implementations provide for selecting an arbitrary number of user devices for a user. As a result, themodule 715 may be repeated an arbitrary number of times for other user devices in various implementations. -
FIG. 8 shows an example of a devicenetwork configuration engine 800, in accordance with an implementation. - In the example of
FIG. 8 , the devicenetwork configuration engine 800 includes a computer-readable medium 805, a deviceaccess notification engine 810, abrowser extension engine 815, and a network connectivityfile transfer engine 820. In an implementation, one or more of the deviceaccess notification engine 810, thebrowser extension engine 815, and the network connectivityfile transfer engine 820 includes an “engine,” as discussed herein. - In the example of
FIG. 8 , the computer-readable medium 805 is coupled to the deviceaccess notification engine 810, thebrowser extension engine 815, and the network connectivityfile transfer engine 820. In a specific implementation, the computer-readable medium 805 may include a “computer-readable medium,” as defined in this paper. - In the example of
FIG. 8 , the deviceaccess notification engine 810 is coupled to the computer-readable medium 805. In an implementation, the deviceaccess notification engine 810 may monitor a network access system (e.g., theLAN access system 115 and/or theWAN access system 130 shown inFIG. 1 ) to see if a device is attempting to access network resources (e.g., the trusted resource system 125 and/or theuntrusted resource system 150 shown inFIG. 1 ). In an implementation, the deviceaccess notification engine 810 receives notifications from a network access system management engine (e.g., the network accesssystem management engine 210 inFIG. 2 ) each time a user device seeks network access. The deviceaccess notification engine 810 may provide relevant notifications to the other modules of the devicenetwork configuration engine 800. - In the example of
FIG. 8 , thebrowser extension engine 815 is coupled to the computer-readable medium 805. In an implementation, thebrowser extension engine 815 provides a browser extension to a particular user device (e.g., one of theuser devices 105 inFIG. 1 ) seeking to be onboarded to access network resources. A “browser extension,” as used in this paper, may refer to anything that extends functionality of a web browser in some way. In various implementations, the browser extension may include plug-ins, add-ins, toolbars, and other elements that can execute within the context of a web browser. In an implementation, the browser extension may comprise no more than a network hyperlink loaded on the web browser, or a dedicated tab of the web browser. In various implementations where one of theuser devices 105 is a browser-based device, thebrowser extension engine 815 may provide a browser extension to the native browser of the browser-based device. - In the example of
FIG. 8 , the network connectivityfile transfer engine 820 is coupled to the computer-readable medium 806. In an implementation, the network connectivityfile transfer engine 820 transfers a network connectivity file to one of theuser devices 105 seeking to be onboarded. In various implementations where one of theuser devices 105 is a browser-based device, the network connectivity file may be compatible with the native browser of the browser-based device. The network connectivityfile transfer engine 820 can also receive notifications about whether the network connectivity file was successfully loaded on the user device. -
FIG. 9 shows an example of a flowchart of amethod 900 for selecting a device for network onboarding, in accordance with an implementation. Themethod 900 is discussed in conjunction with the devicenetwork configuration engine 800, shown inFIG. 8 . The modules 905-925 are merely examples of modules in themethod 900, and it is noted in some implementations themethod 900 is executed with less modules, more modules, or different modules than the modules specifically shown inFIG. 9 . - At
block 905, a notification of a network access attempt by a user device is received. In an implementation, the deviceaccess notification engine 810 receives a notification of a network access attempt by a user device (e.g., one of theuser devices 105 inFIG. 1 ). In some implementations, the notification may come from a network access system (e.g., theLAN access system 115 and/or theWAN access system 130 inFIG. 1 ). The notification may indicate the user device is attempting to access network resources (e.g., the trusted resource system 125 and/or theuntrusted resource system 150 inFIG. 1 ). In an implementation, the deviceaccess notification engine 810 provides the notification of the network access attempt to the other engines of the devicenetwork configuration engine 800. - At
block 910, a browser extension containing a content script is provided to the user device in response to the notification. In an implementation, thebrowser extension engine 815 provides a browser extension to the user device seeking network access. The browser extension may be installed into the web browser of the user device. In an implementation where the user device comprises a browser-based user device, the browser extension may be loaded into the native web browser of the user device. - At
block 915, a network connectivity file containing network configuration information for the user device is provided to the browser extension. In an implementation, the network connectivityfile transfer engine 820 provides the browser extension with a network connectivity file that contains network configuration information for the user device. In a specific implementation, the web browser of the user device may load the network connectivity file into the browser extension. In an implementation where the user device comprises a browser-based user device, the network connectivity file is loaded into the browser extension of the native web browser. - At
block 920, a notification the network connectivity file loaded on the user device is received. In an implementation, the network connectivity file transfer engine receives a notification the network connectivity file successfully loaded on the user device. The notification may come from the browser extension provided to the user device. - At
block 925, network connectivity of the user device is configured using the configuration information in the network connectivity file. In an implementation, a device network configuration engine (e.g., the devicenetwork configuration engine 250, shown inFIG. 2 ) may configure the network connectivity of the user device based on the configuration information in the network connectivity file. -
FIG. 10 shows an example of ascreen 1000 for a user to select a device for network authentication, in accordance with an implementation. In the example ofFIG. 10 , thescreen 1000 includes an add-intab 1005, awebpage 1010, a username 1015, anownership listing 1020, a terms andservices checkbox 1025, and anenrollment button 1030. In the example ofFIG. 10 , the add-intab 1005 may include an add-in to a web browser. In this example, the web browser may include a native web browser (e.g., a Chrome® browser) of a browser-based user device (e.g., a Chromebook®). Thewebpage 1010 may include a web portal for network access. In the example ofFIG. 10 , thewebpage 1010 provides a user with the ability to access a network. The user may have been redirected to thewebpage 1010 upon opening the native web browser of the user device. The username 1015 may include a unique identifier of the user. the username 1015 may be used to identify the user's first-level security profile, as discussed in this paper. Theownership listing 1020 may provide the degree of network access the user may wish to have. In this example, theownership listing 1020 may include a first ownership status for corporate-issued devices, and a second ownership status for personal devices the user has brought to work. The terms and services checkbox 1025 may indicate the user has agreed to the terms and services of network access. Theenrollment button 1030 may allow the user to enroll the user device and initiate network access. -
FIG. 11 shows an example of acomputer system 1100. In the example ofFIG. 11 , thecomputer system 1100 can be a conventional computer system that can be used as a client computer system, such as a wireless client or a workstation, or a server computer system. Thecomputer system 1100 includes acomputer 1102, I/O devices 1104, and adisplay device 1106. Thecomputer 1102 includes aprocessor 1108, acommunications interface 1110,memory 1112,display controller 1114,non-volatile storage 1116, and I/O controller 1118. Thecomputer 1102 can be coupled to or include the I/O devices 1104 anddisplay device 1106. - In the example of
FIG. 11 , thecomputer 1102 interfaces to external systems through thecommunications interface 1110, which can include a modem or network interface. It will be appreciated that thecommunications interface 1110 can be considered to be part of thecomputer system 1100 or a part of thecomputer 1102. Thecommunications interface 1110 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. “direct PC”), or other interfaces for coupling a computer system to other computer systems. - In the example of
FIG. 11 , theprocessor 1108 can be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. Thememory 1112 is coupled to theprocessor 1108 by abus 1120. Thememory 1112 can be Dynamic Random Access Memory (DRAM) and can also include Static RAM (SRAM). Thebus 1120 couples theprocessor 1108 to thememory 1112, also to thenon-volatile storage 1116, to thedisplay controller 1114, and to the I/O controller 1118. - In the example of
FIG. 11 , the I/O devices 1104 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. Thedisplay controller 1114 can control in the conventional manner a display on thedisplay device 1106, which can be, for example, a cathode ray tube (CRT) or liquid crystal display (LCD). Thedisplay controller 1114 and the I/O controller 1118 can be implemented with conventional well known technology. - In the example of
FIG. 11 , thenon-volatile storage 1116 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, intomemory 1112 during execution of software in thecomputer 1102. One of skill in the art will immediately recognize that the terms “machine-readable medium” or “computer-readable medium” includes any type of storage device that is accessible by theprocessor 1108 and also encompasses a carrier wave that encodes a data signal. - In the example of
FIG. 11 , thecomputer system 1100 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an I/O bus for the peripherals and one that directly connects theprocessor 1108 and the memory 1112 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols. - Network computers are another type of computer system that can be used in conjunction with the teachings provided herein. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the
memory 1112 for execution by theprocessor 1108. A Web TV system, which is known in the art, is also considered to be a computer system, but it can lack some of the features shown inFIG. 11 , such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor. - Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
- It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- Techniques described in this paper relate to apparatus for performing the operations. The apparatus can be specially constructed for the required purposes, or it can comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program can be stored in a computer readable storage medium, such as, but is not limited to, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that implementations of the disclosure can be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams and flow diagrams are shown to represent data and logic flows. The components of block diagrams and flow diagrams (e.g., modules, blocks, structures, devices, features, etc.) may be variously combined, separated, removed, reordered, and replaced in a manner other than as expressly described and depicted herein.
- Reference in this specification to “one implementation”, “an implementation”, “some implementations”, “various implementations”, “certain implementations”, “other implementations”, “one series of implementations”, or the like signifies that a particular feature, design, structure, or characteristic described in connection with the implementation is included in at least one implementation of the disclosure. The appearances of, for example, the phrase “in one implementation” or “in an implementation” in various places in the specification are not necessarily all referring to the same implementation, nor are separate or alternative implementations mutually exclusive of other implementations. Moreover, whether or not there is express reference to an “implementation” or the like, various features are described, which may be variously combined and included in some implementations, but also variously omitted in other implementations. Similarly, various features are described that may be preferences or requirements for some implementations, but not other implementations.
- The language used herein has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the implementations is intended to be illustrative, but not limiting, of the scope, which is set forth in the following claims.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/438,378 US20190297115A1 (en) | 2013-12-13 | 2019-06-11 | User-based network onboarding |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361916088P | 2013-12-13 | 2013-12-13 | |
US14/180,297 US9152782B2 (en) | 2013-12-13 | 2014-02-13 | Systems and methods for user-based network onboarding |
US14/868,347 US9479540B2 (en) | 2013-12-13 | 2015-09-28 | User-based network onboarding |
US15/183,753 US9686319B2 (en) | 2013-12-13 | 2016-06-15 | User-based network onboarding |
US15/480,273 US10003615B2 (en) | 2013-12-13 | 2017-04-05 | User-based network onboarding |
US15/977,310 US10320847B2 (en) | 2013-12-13 | 2018-05-11 | User-based network onboarding |
US16/438,378 US20190297115A1 (en) | 2013-12-13 | 2019-06-11 | User-based network onboarding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/977,310 Continuation US10320847B2 (en) | 2013-12-13 | 2018-05-11 | User-based network onboarding |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190297115A1 true US20190297115A1 (en) | 2019-09-26 |
Family
ID=53368814
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/180,297 Active US9152782B2 (en) | 2013-12-13 | 2014-02-13 | Systems and methods for user-based network onboarding |
US14/868,347 Active US9479540B2 (en) | 2013-12-13 | 2015-09-28 | User-based network onboarding |
US15/183,753 Active US9686319B2 (en) | 2013-12-13 | 2016-06-15 | User-based network onboarding |
US15/480,273 Active US10003615B2 (en) | 2013-12-13 | 2017-04-05 | User-based network onboarding |
US15/977,310 Active US10320847B2 (en) | 2013-12-13 | 2018-05-11 | User-based network onboarding |
US16/438,378 Abandoned US20190297115A1 (en) | 2013-12-13 | 2019-06-11 | User-based network onboarding |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/180,297 Active US9152782B2 (en) | 2013-12-13 | 2014-02-13 | Systems and methods for user-based network onboarding |
US14/868,347 Active US9479540B2 (en) | 2013-12-13 | 2015-09-28 | User-based network onboarding |
US15/183,753 Active US9686319B2 (en) | 2013-12-13 | 2016-06-15 | User-based network onboarding |
US15/480,273 Active US10003615B2 (en) | 2013-12-13 | 2017-04-05 | User-based network onboarding |
US15/977,310 Active US10320847B2 (en) | 2013-12-13 | 2018-05-11 | User-based network onboarding |
Country Status (1)
Country | Link |
---|---|
US (6) | US9152782B2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596606B2 (en) * | 1999-03-11 | 2009-09-29 | Codignotto John D | Message publishing system for publishing messages from identified, authorized senders |
US8671187B1 (en) | 2010-07-27 | 2014-03-11 | Aerohive Networks, Inc. | Client-independent network supervision application |
US9690676B2 (en) | 2013-03-15 | 2017-06-27 | Aerohive Networks, Inc. | Assigning network device subnets to perform network activities using network device information |
US9948626B2 (en) | 2013-03-15 | 2018-04-17 | Aerohive Networks, Inc. | Split authentication network systems and methods |
US9152782B2 (en) | 2013-12-13 | 2015-10-06 | Aerohive Networks, Inc. | Systems and methods for user-based network onboarding |
US10225236B2 (en) * | 2015-11-04 | 2019-03-05 | Panasonic Avionics Corporation | System for dynamically implementing firewall exceptions |
KR101792862B1 (en) * | 2015-12-23 | 2017-11-20 | 주식회사 케이티 | Authentication apparatus based on biometric information, control server, and login method based on biometric information thereof |
US10581874B1 (en) * | 2015-12-31 | 2020-03-03 | Fireeye, Inc. | Malware detection system with contextual analysis |
US9980165B2 (en) | 2016-02-10 | 2018-05-22 | Airwatch Llc | Visual privacy systems for enterprise mobility management |
US10854028B2 (en) * | 2016-08-09 | 2020-12-01 | Vivint, Inc. | Authentication for keyless building entry |
US20210392135A1 (en) * | 2020-06-11 | 2021-12-16 | Cisco Technology, Inc. | Securing workload and application access from unauthorized entities |
US20240223444A1 (en) * | 2022-07-11 | 2024-07-04 | Rakuten Mobile, Inc. | System and method for configuring a network for onboarding of a plurality of devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117848A1 (en) * | 2011-11-03 | 2013-05-09 | Ali Golshan | Systems and Methods for Virtualization and Emulation Assisted Malware Detection |
US20140330944A1 (en) * | 2013-05-02 | 2014-11-06 | Sky Socket, Llc | Time-based Configuration Policy Toggling |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292792B1 (en) * | 1999-03-26 | 2001-09-18 | Intelligent Learning Systems, Inc. | System and method for dynamic knowledge generation and distribution |
US6694447B1 (en) | 2000-09-29 | 2004-02-17 | Sun Microsystems, Inc. | Apparatus and method for increasing application availability during a disaster fail-back |
US6961567B1 (en) * | 2000-12-07 | 2005-11-01 | Palm, Inc. | Generic activation and registration framework for wireless devices |
US20160029155A1 (en) | 2001-02-06 | 2016-01-28 | Nexrf, Corp. | Context aware relevance engine with client-driven narrative |
US20020129146A1 (en) | 2001-02-06 | 2002-09-12 | Eyal Aronoff | Highly available database clusters that move client connections between hosts |
US6715098B2 (en) | 2001-02-23 | 2004-03-30 | Falconstor, Inc. | System and method for fibrechannel fail-over through port spoofing |
US7085224B1 (en) | 2001-06-14 | 2006-08-01 | Cisco Technology, Inc. | Method and apparatus for fast failure detection in switched LAN networks |
US7181530B1 (en) | 2001-07-27 | 2007-02-20 | Cisco Technology, Inc. | Rogue AP detection |
US20030208572A1 (en) | 2001-08-31 | 2003-11-06 | Shah Rajesh R. | Mechanism for reporting topology changes to clients in a cluster |
DE60106467T2 (en) | 2001-12-14 | 2006-02-23 | Hewlett-Packard Development Co., L.P., Houston | Procedure for installing monitoring agent, system and computer program of objects in an IT network monitoring |
US7945652B2 (en) * | 2002-08-06 | 2011-05-17 | Sheng (Ted) Tai Tsao | Display multi-layers list item in web-browser with supporting of concurrent multi-users |
US8140888B1 (en) | 2002-05-10 | 2012-03-20 | Cisco Technology, Inc. | High availability network processing system |
US7965842B2 (en) | 2002-06-28 | 2011-06-21 | Wavelink Corporation | System and method for detecting unauthorized wireless access points |
US7164667B2 (en) | 2002-06-28 | 2007-01-16 | Belair Networks Inc. | Integrated wireless distribution and mesh backhaul networks |
US7099654B1 (en) | 2002-07-08 | 2006-08-29 | Regents Of The University Of Minnesota | High speed wireless sensor, server and storage networks |
US20070078663A1 (en) | 2003-03-03 | 2007-04-05 | Grace Ryan T | Method and instrument for proposing marriage to an individual |
US8272037B2 (en) | 2003-03-14 | 2012-09-18 | Thomson Licensing | Flexible WLAN access point architecture capable of accommodating different user devices |
US7664688B2 (en) | 2003-05-23 | 2010-02-16 | E2Open, Inc. | Managing information in a multi-hub system for collaborative planning and supply chain management |
US7735114B2 (en) * | 2003-09-04 | 2010-06-08 | Foundry Networks, Inc. | Multiple tiered network security system, method and apparatus using dynamic user policy assignment |
US7502797B2 (en) | 2003-10-15 | 2009-03-10 | Ascentive, Llc | Supervising monitoring and controlling activities performed on a client device |
US7057566B2 (en) | 2004-01-20 | 2006-06-06 | Cisco Technology, Inc. | Flexible multichannel WLAN access point architecture |
JP4572581B2 (en) | 2004-05-28 | 2010-11-04 | 株式会社日立製作所 | Database processing method and system, and processing program therefor |
US8285855B2 (en) | 2004-08-02 | 2012-10-09 | Microsoft Corporation | System, method and user interface for network status reporting |
US7890992B2 (en) | 2004-08-19 | 2011-02-15 | Cisco Technology, Inc. | Method and apparatus for selection of authentication servers based on the authentication mechanisms in supplicant attempts to access network resources |
EP1790184B1 (en) | 2004-09-07 | 2014-11-19 | Meshnetworks, Inc. | System and method for routing data between different types of nodes in a wireless network |
FI20050022A0 (en) | 2005-01-10 | 2005-01-10 | Nokia Corp | Control of access to a network |
GB0507988D0 (en) | 2005-04-20 | 2005-05-25 | Connect Spot Ltd | Wireless access system |
US8255369B2 (en) | 2005-11-30 | 2012-08-28 | Oracle International Corporation | Automatic failover configuration with lightweight observer |
JP4558639B2 (en) | 2005-12-16 | 2010-10-06 | 富士通株式会社 | Wireless LAN device and communication mode switching method |
EP1969478A4 (en) | 2005-12-22 | 2009-09-23 | Catalog Com Inc | System and method for cross-domain social networking |
US7681230B2 (en) * | 2006-02-28 | 2010-03-16 | Harris Corporation | Data synchronization for a secure electronic device |
US20080077791A1 (en) | 2006-09-27 | 2008-03-27 | Craig Lund | System and method for secured network access |
JP2008181298A (en) | 2007-01-24 | 2008-08-07 | Fujitsu Ltd | Program, method and apparatus for returning work state |
US8171485B2 (en) | 2007-03-26 | 2012-05-01 | Credit Suisse Securities (Europe) Limited | Method and system for managing virtual and real machines |
JP5201134B2 (en) | 2007-04-25 | 2013-06-05 | 富士通株式会社 | Redundant system, switching program and switching method |
US7958228B2 (en) | 2007-07-11 | 2011-06-07 | Yahoo! Inc. | Behavioral predictions based on network activity locations |
TWI418993B (en) | 2008-06-27 | 2013-12-11 | Ind Tech Res Inst | System and method for establishing personal social network, trusted network and social networking system |
US20100002700A1 (en) | 2008-07-02 | 2010-01-07 | Cellnet Innovations, Inc. | Methods and Systems for Network Packet Routing Using Embedded Geographic Routing Information |
US8321793B1 (en) | 2008-07-02 | 2012-11-27 | Amdocs Software Systems Limited | System, method, and computer program for recommending web content to a user |
EP2340477B1 (en) | 2008-10-13 | 2014-08-06 | Devicescape Software, INC. | Systems and methods for identifying a network |
US20100112540A1 (en) | 2008-11-03 | 2010-05-06 | Digital Millennial Consulting Llc | System and method of education utilizing mobile devices |
JP5153591B2 (en) | 2008-11-26 | 2013-02-27 | 株式会社日立製作所 | Authentication mediation server, program, authentication system, and selection method |
US9325573B2 (en) | 2008-12-09 | 2016-04-26 | Schneider Electric Buildings Ab | Building control system |
US8369968B2 (en) | 2009-04-03 | 2013-02-05 | Dell Products, Lp | System and method for handling database failover |
US8751627B2 (en) | 2009-05-05 | 2014-06-10 | Accenture Global Services Limited | Method and system for application migration in a cloud |
US8307068B2 (en) | 2009-06-17 | 2012-11-06 | Volonics Corporation | Supervised access computer network router |
US8131847B2 (en) | 2009-08-12 | 2012-03-06 | Cellco Partnership | Mechanism to detect restricted access via internet hotspot |
US10540508B2 (en) | 2009-09-17 | 2020-01-21 | Oracle International Corporation | Method and apparatus for securing a database configuration |
US8887264B2 (en) * | 2009-09-21 | 2014-11-11 | Ram International Corporation | Multi-identity access control tunnel relay object |
US8369211B2 (en) | 2009-12-17 | 2013-02-05 | Juniper Networks, Inc. | Network distribution prevention when virtual chassis system undergoes splits and merges |
TWI390315B (en) | 2009-12-23 | 2013-03-21 | Au Optronics Corp | Pixel array |
US8671187B1 (en) | 2010-07-27 | 2014-03-11 | Aerohive Networks, Inc. | Client-independent network supervision application |
US8484353B1 (en) | 2010-09-28 | 2013-07-09 | Amazon Technologies, Inc. | Resource placement templates for virtual networks |
US8560646B1 (en) | 2010-09-28 | 2013-10-15 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US8914851B2 (en) * | 2010-12-06 | 2014-12-16 | Golba Llc | Method and system for improved security |
US8468383B2 (en) | 2010-12-08 | 2013-06-18 | International Business Machines Corporation | Reduced power failover system |
US9264783B2 (en) * | 2010-12-17 | 2016-02-16 | Verizon Patent And Licensing Inc. | Displaying encoded video content via a display adapter |
US8856764B2 (en) | 2011-01-25 | 2014-10-07 | International Business Machines Corporation | Distributed static analysis of computer software applications |
US20120303912A1 (en) | 2011-05-23 | 2012-11-29 | Microsoft Corporation | Storage account migration between storage stamps |
US8751863B2 (en) | 2011-05-23 | 2014-06-10 | Microsoft Corporation | Implementing failover processes between storage stamps |
US9319272B1 (en) | 2011-09-21 | 2016-04-19 | Amazon Technologies, Inc. | Methods and apparatus for providing composed appliance services in virtualized private networks |
US9183380B2 (en) * | 2011-10-11 | 2015-11-10 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9104885B1 (en) * | 2012-03-02 | 2015-08-11 | Amazon Technologies, Inc. | Providing access to application data |
US9027076B2 (en) * | 2012-03-23 | 2015-05-05 | Lockheed Martin Corporation | Method and apparatus for context aware mobile security |
US8392712B1 (en) | 2012-04-04 | 2013-03-05 | Aruba Networks, Inc. | System and method for provisioning a unique device credential |
US10219205B2 (en) | 2012-07-27 | 2019-02-26 | Calamp Corp. | Multiple network mode selection devices |
US9032506B2 (en) * | 2012-08-09 | 2015-05-12 | Cisco Technology, Inc. | Multiple application containerization in a single container |
US9674030B2 (en) | 2012-09-28 | 2017-06-06 | Juniper Networks, Inc. | Methods and apparatus for a common control protocol for wired and wireless nodes |
US9172544B2 (en) | 2012-10-05 | 2015-10-27 | General Electric Company | Systems and methods for authentication between networked devices |
US9325575B2 (en) | 2012-10-31 | 2016-04-26 | Aruba Networks, Inc. | Zero touch provisioning |
US9385949B2 (en) | 2012-12-20 | 2016-07-05 | Mellanox Technologies Tlv Ltd. | Routing controlled by subnet managers |
US20140196129A1 (en) * | 2013-01-07 | 2014-07-10 | Prium Inc. | User credential management system and method thereof |
KR20140096661A (en) | 2013-01-28 | 2014-08-06 | 삼성전자주식회사 | Glasses-free reflective 3D color display |
US9143995B2 (en) | 2013-02-22 | 2015-09-22 | Cisco Technology, Inc. | System and method for hand-in disambiguation using user equipment WiFi location in a network environment |
US20140258231A1 (en) | 2013-03-11 | 2014-09-11 | Eran Birk | Device synchronization policy management |
US9690676B2 (en) | 2013-03-15 | 2017-06-27 | Aerohive Networks, Inc. | Assigning network device subnets to perform network activities using network device information |
US9948626B2 (en) * | 2013-03-15 | 2018-04-17 | Aerohive Networks, Inc. | Split authentication network systems and methods |
US20140282916A1 (en) | 2013-03-15 | 2014-09-18 | Aerohive Networks, Inc. | Access authorization through certificate validation |
US10389650B2 (en) | 2013-03-15 | 2019-08-20 | Aerohive Networks, Inc. | Building and maintaining a network |
US20130254889A1 (en) * | 2013-03-29 | 2013-09-26 | Sky Socket, Llc | Server-Side Restricted Software Compliance |
US20140304808A1 (en) * | 2013-04-05 | 2014-10-09 | Phantom Technologies, Inc. | Device-Specific Authentication Credentials |
US9729642B2 (en) * | 2013-05-24 | 2017-08-08 | International Business Machines Corporation | Sharing web application sessions across multiple devices |
US9723487B2 (en) * | 2013-08-19 | 2017-08-01 | American Megatrends, Inc. | Mobile device security system |
US9195820B2 (en) * | 2013-08-19 | 2015-11-24 | Mastercard International Incorporated | System and method for graduated security in user authentication |
US8893255B1 (en) * | 2013-10-23 | 2014-11-18 | Iboss, Inc. | Device authentication using device-specific proxy addresses |
US9152782B2 (en) | 2013-12-13 | 2015-10-06 | Aerohive Networks, Inc. | Systems and methods for user-based network onboarding |
KR20160044307A (en) * | 2014-10-15 | 2016-04-25 | 삼성전자주식회사 | Method for providing a secure of information and electronic device thereof |
GB2533384B (en) * | 2014-12-18 | 2019-03-13 | 1E Ltd | Network security broker |
-
2014
- 2014-02-13 US US14/180,297 patent/US9152782B2/en active Active
-
2015
- 2015-09-28 US US14/868,347 patent/US9479540B2/en active Active
-
2016
- 2016-06-15 US US15/183,753 patent/US9686319B2/en active Active
-
2017
- 2017-04-05 US US15/480,273 patent/US10003615B2/en active Active
-
2018
- 2018-05-11 US US15/977,310 patent/US10320847B2/en active Active
-
2019
- 2019-06-11 US US16/438,378 patent/US20190297115A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117848A1 (en) * | 2011-11-03 | 2013-05-09 | Ali Golshan | Systems and Methods for Virtualization and Emulation Assisted Malware Detection |
US20140330944A1 (en) * | 2013-05-02 | 2014-11-06 | Sky Socket, Llc | Time-based Configuration Policy Toggling |
Also Published As
Publication number | Publication date |
---|---|
US20160294880A1 (en) | 2016-10-06 |
US10003615B2 (en) | 2018-06-19 |
US20150169864A1 (en) | 2015-06-18 |
US9152782B2 (en) | 2015-10-06 |
US9686319B2 (en) | 2017-06-20 |
US10320847B2 (en) | 2019-06-11 |
US20170208101A1 (en) | 2017-07-20 |
US9479540B2 (en) | 2016-10-25 |
US20160021144A1 (en) | 2016-01-21 |
US20180262535A1 (en) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10320847B2 (en) | User-based network onboarding | |
US10938785B2 (en) | Multi-tunneling virtual network adapter | |
US10924465B2 (en) | Split authentication network systems and methods | |
US10193869B2 (en) | Systems and methods for protecting network devices by a firewall | |
AU2018206713B2 (en) | Multi-tunneling virtual network adapter | |
US10375052B2 (en) | Device verification of an installation of an email client | |
US20140020062A1 (en) | Techniques for protecting mobile applications | |
AlHarthy et al. | Implement network security control solutions in BYOD environment | |
EP2997711B1 (en) | Providing single sign-on for wireless devices | |
Brawn et al. | Staying secure in an insecure world: 802.1 x secure wireless computer connectivity for students, faculty, and staff to the campus network | |
Ikhsan et al. | Design and Build AAA Server using Free Radius Study Case Network Security Management at PT. XYZ | |
Hu et al. | Network Security Admission Solution Based on IEEE802. 1X |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EXTREME NETWORKS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AEROHIVE NETWORKS, INC.;REEL/FRAME:052473/0843 Effective date: 20200130 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: AEROHIVE NETWORKS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIN, MU;ZOU, XU;HANAY, JOHN;SIGNING DATES FROM 20140204 TO 20140206;REEL/FRAME:053083/0516 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |