Split authentication network systems and methods
Claim Score by NHIP
Abstract
Disclosed is a system comprising: an authentication datastore; a device presence engine; a traffic monitor engine; an authentication presence monitor engine; an authentication server selection engine; and a traffic routing engine. In operation: the device presence engine is configured to detect presence of a user device on a trusted network; the traffic monitor engine is configured to monitor, in response to the detection, traffic on the trusted network from the device; the authentication presence monitor engine is configured to evaluate onboarding characteristics of the user device in response to the monitoring; the authentication server selection engine is configured to select one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics; and the traffic routing engine is configured to route traffic from the user device to the selected authentication server.

Term
7.8 yearsto projected expiry
Projected expiry 19 July 2034, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
24 claims: 3 independent, 21 dependent
- 1A system comprising:an authentication datastore;a device presence engine coupled to the authentication datastore;a traffic monitor engine coupled to the device presence engine;an authentication presence monitor engine coupled to the traffic monitor engine;an authentication server selection engine coupled to the authentication presence monitor engine;a traffic routing engine coupled to the authentication server selection engine;wherein, in operation: the device presence engine is configured to detect presence of a user device on a trusted network;the traffic monitor engine is configured to monitor, in response to the detection, traffic on the trusted network from the device;the authentication presence monitor engine is configured to evaluate onboarding characteristics of the user device in response to the monitoring;the authentication server selection engine is configured to select one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics;the traffic routing engine is configured to route traffic from the user device to the selected authentication server.
- 14Broadest claimClaim Score 83, broad(NHIP)A method comprising:detecting presence of a user device on a trusted network;monitoring, in response to the detection, traffic on the trusted network from the device;evaluating onboarding characteristics of the user device in response to the monitoring;selecting one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics;routing traffic from the user device to the selected authentication server.
- 24A system comprising:means for detecting presence of a user device on a trusted network;means for monitoring, in response to the detection, traffic on the trusted network from the device;means for evaluating onboarding characteristics of the user device in response to the monitoring;means for selecting one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics;means for routing traffic from the user device to the selected authentication server.
Independent claims3
96 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
0001This application claims priority to U.S. Provisional Patent Application No. 61/799,909, filed Mar. 15, 2013, entitled “SPLIT AUTHENTICATION NETWORK SYSTEMS AND METHODS,” which is incorporated by reference.
TECHNICAL FIELD
0002The technical field relates to computer systems. More particularly, the technical field relates to computer network systems and methods.
BACKGROUND
0003When a person desires to bring his or her own device to a network, the person is required to authenticate the device at a network access point to access network resources. Conventionally, this required the person to bring in the device and go through a device enrollment process that authenticates the device and enrolls the device for access to network resources. Usually, a certificate is installed on the device to allow the device to continue to authenticate at the network access point.
0004The conventional authentication scenario may require commercial certificates or self-signed certificates, which may be unpractical. This scenario may also cause authentication processes to depend on network connection quality. Further, this scenario may cause security problems in the network.
SUMMARY
0005Disclosed is a system comprising: an authentication datastore; a device presence engine; a traffic monitor engine; an authentication presence monitor engine; an authentication server selection engine; and a traffic routing engine. In operation: the device presence engine is configured to detect presence of a user device on a trusted network; the traffic monitor engine is configured to monitor, in response to the detection, traffic on the trusted network from the device; the authentication presence monitor engine is configured to evaluate onboarding characteristics of the user device in response to the monitoring; the authentication server selection engine is configured to select one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics; and the traffic routing engine is configured to route traffic from the user device to the selected authentication server.
0006In some embodiments, the onboarding characteristics may comprise an authentication protocol type. The onboarding characteristics may comprise a device type of the user device. The onboarding characteristics may comprise a manufacturer of the user device. The onboarding characteristics may comprise operating system (OS) characteristic of the user device. The onboarding characteristics may comprise operating system (OS) characteristic of the user device. The onboarding characteristics may comprise server capabilities of the system. The onboarding characteristics may comprise hardware characteristics of the user device. The onboarding characteristics may comprise hardware characteristics of the system.
0007In some embodiments, one of the plurality of authentication servers is configured to support a Protected Extensible Authorization Protocol (PEAP), and another of the plurality of authentication servers is configured to support an Extensible Authorization Protocol Transport Layer Security (EAP-TLS) protocol. In some embodiments, the system may be incorporated into a wireless access point, switch, or router. In some embodiments, the system may be incorporated into a dedicated authentication server.
0008Disclosed is a method comprising: detecting presence of a user device on a trusted network; monitoring, in response to the detection, traffic on the trusted network from the device; evaluating onboarding characteristics of the user device in response to the monitoring; selecting one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics; and routing traffic from the user device to the selected authentication server.
0009In some embodiments, the onboarding characteristics may comprise an authentication protocol type. The onboarding characteristics may comprise a device type of the user device. The onboarding characteristics may comprise a manufacturer of the user device. The onboarding characteristics may comprise operating system (OS) characteristic of the user device. The onboarding characteristics may comprise operating system (OS) characteristic of the user device. The onboarding characteristics may comprise server capabilities of the system. The onboarding characteristics may comprise hardware characteristics of the user device. The onboarding characteristics may comprise hardware characteristics of the system. The onboarding characteristics may comprise ownership information relating to the user device, where the ownership can be a relationship between the user and the device. Accordinglt, the ownership information can indicate the user's ownership of the device. For example, the ownership information can include an indication that the user device is issued by and owned by a company that is employing or otherwise associated with the user. In another example, the ownership information can include an indication that the user device belongs to the user himself/herself (e.g., BYOD).
0010Disclosed is a system comprising: means for detecting presence of a user device on a trusted network; means for monitoring, in response to the detection, traffic on the trusted network from the device; means for evaluating onboarding characteristics of the user device in response to the monitoring; means for selecting one of a plurality of authentication servers to authenticate the user device to the trusted network, the selecting based on the onboarding characteristics; and means for routing traffic from the user device to the selected authentication server.
BRIEF DESCRIPTION OF THE DRAWINGS
0011<figref idref="DRAWINGS">FIG. 1</figref> shows an example of a split authentication network environment.
0012<figref idref="DRAWINGS">FIG. 2</figref> shows an example of a split authentication network environment.
0013<figref idref="DRAWINGS">FIG. 3</figref> shows an example of a split authentication network environment.
0014<figref idref="DRAWINGS">FIG. 4</figref> shows an example of a split authentication network system.
0015<figref idref="DRAWINGS">FIG. 5</figref> shows an example of a flowchart of a method for performing split authentication network onboarding.
0016<figref idref="DRAWINGS">FIG. 6</figref> shows an example of a split authentication network system.
0017<figref idref="DRAWINGS">FIG. 7</figref> shows an example of a digital device.
0018<figref idref="DRAWINGS">FIG. 8</figref> shows examples of a plurality of network access devices.
DETAILED DESCRIPTION
0019<figref idref="DRAWINGS">FIG. 1</figref> shows an example of a split authentication network environment <b>100</b>. In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the split authentication network environment <b>100</b> includes a user <b>102</b>, a user device <b>104</b>, a split authentication network system <b>106</b>, a network gateway <b>108</b>, a trusted network <b>110</b>, and an untrusted network <b>112</b>. As discussed herein, the split authentication network environment <b>100</b> can allow the user device <b>104</b> to access resources of the trusted network <b>110</b> and/or the untrusted network <b>112</b> without requiring a device certificate to be installed on the user device <b>104</b>.
0020In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the user <b>102</b> is intended to represent a person or agent of an owner of the user device <b>104</b> trying to connect the user device <b>104</b> to the trusted network <b>110</b> and/or the untrusted network <b>112</b>. The user <b>102</b> can include, for example, someone who is participating in a Bring Your Own Device (BYOD) scheme. As used herein, a “BYOD” scheme is an arrangement that allows the user <b>102</b> to own the user device <b>104</b> and to permit the user <b>102</b> to bring the user device <b>104</b> to access the trusted network <b>110</b>. The BYOD scheme can allow the user <b>102</b> to access trusted resources that are accessible to the trusted network <b>110</b>. In the BYOD scheme, the entity managing the trusted network <b>110</b> need not assign specific devices to the user <b>102</b>. Rather, the user <b>102</b> can arrange for possession of the user device <b>104</b> without the entity assigning the user device <b>104</b> to the user <b>102</b>. The BYOD scheme can allow the user <b>102</b> flexibility in picking the make, model, manufacture, and configuration of the user device <b>104</b>. The user <b>102</b> is shown associated with the user device <b>104</b>.
0021In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the user device <b>104</b> is intended to represent a device configured to access the trusted network <b>110</b> and/or the untrusted network <b>112</b>. The user device <b>104</b> can comprise a supplicant to the trusted network <b>110</b> and/or the untrusted network <b>112</b>. As used herein, a “supplicant” is an entity at the end of a network segment that seeks to be authenticated by an authenticator of the network segment. As used herein, “authentication” is specifying rights and/or permissions of a particular device to access a resource. The authentication of the user device <b>104</b> can be consistent with IEEE 802.1X standards. The 2010 IEEE 802.1X standards, published as IEEE Computer Society, “IEEE Standard for Local and metropolitan area networks—Port-Based Network Access Control,” (N.Y. 2010) (hereinafter referred to as the IEEE 802.1X Specification), are hereby incorporated by reference herein.
0022In a specific implementation, the user device <b>104</b> includes a memory and a processor. The user device <b>104</b> can be configured similarly to a digital device <b>700</b>, shown in <figref idref="DRAWINGS">FIG. 7</figref>. The user device <b>104</b> can include an operating system (OS) and/or one or more applications. The OS can include hardware and/or software to manage the hardware of the user device <b>104</b> and provide services for applications on the user device <b>104</b>. Examples of OSs running on the user device <b>104</b> can include Android OSs, BSD, iOS, Linux, Mac OS X, Microsoft Windows, Windows Phone, and z/OS. The OS and/or applications on the user device <b>104</b> can manage access to one or more of the trusted network <b>110</b> and the untrusted network <b>112</b>. The applications on the user device <b>104</b> can include application software which helps the user device <b>104</b> perform tasks beyond the operation of the user device <b>104</b>.
0023In a specific implementation, the OS and/or the applications on the user device <b>104</b> provide or facilitate providing network access for the user device <b>104</b>. For instance, the OS and/or applications on the user device <b>104</b> can allow the user device <b>104</b> to access information not stored on the user device <b>104</b>. The network access can include access to one or more of the trusted network <b>110</b> and the untrusted network <b>112</b>. The network access can be managed by OS routines, by applications involving interactions with the user <b>102</b> (e.g., web browsers, email clients, shared directories accessible over the trusted network <b>110</b> and/or the untrusted network <b>112</b>, etc.), or other components of the user device <b>104</b>. In some embodiments, aspects of the network access can be managed by the user <b>102</b>. Some aspects of the network access of the user device <b>104</b> can also be managed by an Information Technology (IT) administrator who manages other portions of the trusted network <b>110</b> and/or the untrusted network <b>112</b>. The network address can be managed by security applications that execute on the user device <b>104</b>.
0024In specific implementations, the user device <b>104</b> includes a desktop computer, a laptop computer, a mobile phone, a mobile phone with data capabilities (e.g., a “Smartphone”), a tablet computing device, or other digital device. Examples of desktop and laptop computers include Macintosh® computers running some version of Mac OS X and Windows® computers manufactured by an Original Equipment Manufacturer (OEM). Examples of mobile phones and tablet computing devices include Android® devices, devices running a version of iOS®, Blackberries®, and other devices. The user device <b>104</b> can be a participant in a BYOD scheme. That is, although the user device <b>104</b> can have access to the trusted network <b>110</b>, the possession of the user device <b>104</b> can have been arranged for the user <b>102</b>. The user device <b>104</b> need not have been issued to the user <b>102</b> by an IT administrator associated with the trusted network <b>110</b>.
0025In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the split authentication network system <b>106</b> is coupled to the user device <b>104</b>. In a specific implementation, the split authentication network system <b>106</b> determines onboarding characteristics of the user device <b>104</b> and chooses a set of authentication servers to serve the onboarding characteristics. As used herein, “onboarding” includes providing a transition of data and content from the user device <b>104</b> to the trusted network <b>110</b>. “Onboarding” a network can include joining the network and being able to receive data from and transmit data to the network. The “onboarding characteristics” of the user device <b>104</b> can include properties of the user device <b>104</b> and/or properties of the data traffic from the user device <b>104</b> that allow the user device <b>104</b> to authenticate itself by establishing it has sufficient rights to access resources of the trusted network <b>110</b>.
0026In a specific implementation, the split authentication network system <b>106</b> provides a network interface for the user device <b>104</b>. A “network interface,” as used herein, includes anything that allows the user device <b>104</b> to physically access a medium containing the trusted network <b>110</b> and/or the untrusted network <b>112</b>. As a network interface, the split authentication network system <b>106</b> can provide a network access point for the user device <b>104</b>. The network interface can comprise a wired network interface. A wired network interface is a network interface that uses a physical cable to couple the user device <b>104</b> to the resources of the trusted network <b>110</b> and/or the untrusted network <b>112</b>. To this end, the split authentication network system <b>106</b> can include a data port that to receive a physical data cable from the user device <b>104</b>.
0027In a specific implementation, the network interface of the split authentication network system <b>106</b> includes a wireless network interface. A wireless network interface is a network interface that uses a wireless medium (e.g., air) to couple the user device <b>104</b> to the resources of the trusted network <b>110</b> and/or the untrusted network <b>112</b>. For example, the split authentication network system <b>106</b> can include an antenna configured to transmit/receive data packets to and from the user device <b>104</b>. In a specific implementation, the wireless network interface of the split authentication network system <b>106</b> includes an interface compliant with the Institute of Electrical and Electronics Engineers (IEEE) 802.1 wireless networking standards. The wireless network interface of the split authentication network system <b>106</b> can alternatively or in addition include an interface compliant with other wireless networking standards, such as the third generation of mobile phone mobile communication (<b>3</b>G) and the fourth generation of mobile phone mobile communications (<b>4</b>G) technology standards, or a proprietary interface that is not compliant with any standard.
0028In a specific implementation, the split authentication network system <b>106</b> includes authentication engines to authenticate the user device <b>104</b> to the trusted network <b>110</b> and/or the untrusted network <b>112</b>. As used herein, an “engine” includes a dedicated or shared processor and, typically, firmware or software modules that are 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. The term engine can refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip. The term engine can include memory (shared, dedicated, or group) that stores code executed by the processor.
0029The term code, as used above, can include software, firmware, and/or microcode, and can refer to programs, routines, functions, classes, and/or objects. The term shared, as used above, means that some or all code from multiple engines can be executed using a single (shared) processor. In addition, some or all code from multiple engines can be stored by a single (shared) memory. The term group, as used above, means that some or all code from a single engine can be executed using a group of processors or a group of execution engines. For example, multiple cores and/or multiple threads of a processor can be considered to be execution engines. In various implementations, execution engines can be grouped across a processor, across multiple processors, and across processors in multiple locations, such as multiple servers in a parallel processing arrangement.
0030In a specific implementation, the split authentication network system <b>106</b> defines policies to determine whether a set of users and/or user devices can access the resources of the trusted network <b>110</b> and/or the untrusted network <b>112</b>. Once a policy is defined, the split authentication network system <b>106</b> can also determine whether the user <b>102</b> and/or the user device <b>104</b> have the attributes of a user and/or device that can access the resources delineated by the policies. The split authentication network system <b>106</b> can include an authenticator. As used herein, an “authenticator” is an entity that facilitates the authentication of other entities to the trusted network <b>110</b>. An “authentication server,” as used herein, is an entity that provides an authentication service to an authenticator. The authentication service can determine, based on information from the user device <b>104</b>, whether the user device <b>104</b> is authorized to access the resources of the trusted network <b>110</b>. Although <figref idref="DRAWINGS">FIG. 1</figref> shows the split authentication network system <b>106</b> as a single module, it is noted that the authenticator and the authentication server inside the split authentication network system <b>106</b> can but need not be co-located. That is, the authenticator can access the authentication server remotely through a network connection. The authentication server(s) need not be physical servers. The authentication server(s) can be virtualized instance(s) of authentication server(s).
0031In a specific implementation, an authenticator of the split authentication network system <b>106</b> can interface with the user device <b>104</b> to determine whether the user device <b>104</b> is who it says it is. The authenticator can also interface with the user device <b>104</b> to verify the identity or permissions of the user <b>102</b>. The authentication server of the split authentication network system <b>106</b> can include engines configured to serve requests of the authenticator. The authentication engines of the split authentication network system <b>106</b> support authentication for devices seeking to access resources of the trusted network <b>110</b>, a Local Area Network (LAN) associated with the trusted network <b>110</b>, or a Wide Area Network (WAN) associated with the trusted network <b>110</b>. The LAN or WAN can be, in some embodiments, an IEEE 802 LAN. The authenticator, the authentication server, and/or authentication engines of the split authentication network system <b>106</b> can be compatible with the IEEE 802.1X Specification.
0032In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the split authentication network system <b>106</b> includes a computer-readable medium <b>114</b> and a datastore <b>116</b>. In specific implementations, the computer-readable medium <b>114</b> includes a networked system that includes 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 herein refers to a network of networks that uses 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 that make 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 the computer-readable medium <b>114</b> broadly includes, as understood from relevant context, anything from a minimalist coupling of the components illustrated in the example of <figref idref="DRAWINGS">FIG. 1</figref>, to every component of the Internet and networks coupled to the Internet.
0033In general, a computer system will include a processor, memory, non-volatile storage, and an interface. A typical computer system will usually include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor. The processor can include, for example, a general-purpose central processing unit (CPU), such as a microprocessor, or a special-purpose processor, such as a microcontroller. The memory can include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). The memory can be local, remote, or distributed. The term “computer-readable storage medium” is intended to include physical media, such as memory.
0034A bus can also couple the processor to the non-volatile storage. The non-volatile storage is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, 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 during execution of software on the computer system. The non-volatile storage can be local, remote, or distributed. The non-volatile storage is optional because systems can be created with all applicable data available in memory.
0035Software is typically stored in the non-volatile storage. Indeed, for large programs, it m not even be possible to store the entire program in the memory. Nevertheless, it should be understood that for software to run, if necessary, it is moved to a computer-readable location appropriate for processing, and for illustrative purposes, that location is referred to as the memory in this paper. Even when software is moved to the memory for execution, the processor will typically make use of hardware registers to store values associated with the software, and local cache that, ideally, serves to speed up execution. As used herein, a software program is assumed to be stored at any known or convenient location (from non-volatile storage to hardware registers) when the software program is referred to as “implemented in a computer-readable storage medium.” A processor is considered to be “configured to execute a program” when at least one value associated with the program is stored in a register readable by the processor.
0036A bus can also couple the processor to the interface. The interface can include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system. The interface can include 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 interface can include one or more input and/or output (I/O) devices. The I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other I/O devices, including a display device. The display device can include, by way of example but not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device.
0037In one example of operation, the computer system can be controlled by operating system software that includes a file management system, such as a disk operating system. File management systems are typically stored in non-volatile storage and cause the processor to execute the various acts required by the operating system to input and output data and to store data in the memory, including storing files on the non-volatile storage. One example of operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system. Another example of operating system software with associated file management system software is VM (or VM/CMS), which refers to a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z, and compatible systems, including the Hercules emulator for personal computers.
0038Some portions of this paper can be 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.
0039It 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.
0040The algorithms and displays presented herein are not necessarily inherently related to any particular computer or other apparatus. Various general purpose systems can be used with programs to configure the general purpose systems in a specific manner in accordance with the teachings herein, or it can prove convenient to construct specialized apparatus to perform the methods of some embodiments. The required structure for a variety of these systems will appear from the description below. In addition, the techniques are not described with reference to any particular programming language, and various embodiments can thus be implemented using a variety of programming languages.
0041In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the split authentication network system <b>106</b> includes the datastore <b>116</b>. A “datastore,” as used herein, 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 described in this paper are intended, if applicable, to include any organization of data, including tables, comma-separated values (CSV) files, traditional databases (e.g., SQL), or other known or convenient organizational formats.
0042In an example of a system where the datastore <b>116</b> is implemented as a database, a database management system (DBMS) can be used to manage the datastore <b>116</b>. In such a case, the DBMS can be thought of as part of the datastore <b>116</b> or as part of the split authentication network system <b>106</b>, or as a separate functional unit (not shown). A DBMS is typically implemented as an engine that controls organization, storage, management, and retrieval of data in a database. DBMSs frequently provide the ability to query, backup and replicate, enforce rules, provide security, do computation, perform change and access logging, and automate optimization. Examples of DBMSs include Alpha Five, DataEase, Oracle database, IBM DB2, Adaptive Server Enterprise, FileMaker, Firebird, Ingres, Informix, Mark Logic, Microsoft Access, InterSystems Cache, Microsoft SQL Server, Microsoft Visual FoxPro, MonetDB, MySQL, PostgreSQL, Progress, SQLite, Teradata, CSQL, OpenLink Virtuoso, Daffodil DB, and OpenOffice.org Base, to name several.
0043Database servers can store databases, as well as the DBMS and related engines. Any of the datastores described in this paper could presumably be implemented as database servers. It should be noted that there are two logical views of data in a database, the logical (external) view and the physical (internal) view. In this paper, the logical view is generally assumed to be data found in a report, while the physical view is the data stored in a physical storage medium and available to a specifically programmed processor. With most DBMS implementations, there is one physical view and an almost unlimited number of logical views for the same data.
0044A DBMS typically includes a modeling language, data structure, database query language, and transaction mechanism. The modeling language is used to define the schema of each database in the DBMS, according to the database model, which can include a hierarchical model, network model, relational model, object model, or some other applicable known or convenient organization. An optimal structure can vary depending upon application requirements (e.g., speed, reliability, maintainability, scalability, and cost). One of the more common models in use today is the ad hoc model embedded in SQL. Data structures can include fields, records, files, objects, and any other applicable known or convenient structures for storing data. A database query language can enable users to query databases, and can include report writers and security mechanisms to prevent unauthorized access. A database transaction mechanism ideally ensures data integrity, even during concurrent user accesses, with fault tolerance. DBMSs can also include a metadata repository; metadata is data that describes other data.
0045In a specific implementation, the split authentication network system <b>106</b> is incorporated into an access point, such as a wired or wireless access point. The split authentication network system <b>106</b> can also be implemented, in various embodiments, into a router and/or a switch used to manage portions of the trusted network <b>110</b>. <figref idref="DRAWINGS">FIG. 8</figref> shows examples of an access point, a router, and a switch.
0046In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the network gateway <b>108</b> is coupled to the split authentication network system <b>106</b>. In a specific implementation, the network gateway <b>108</b> includes a digital device configured to provide proxy services and act as a firewall on behalf of the trusted network <b>110</b>. The network gateway <b>108</b> can provide access for an IT administrator to administer one or more of the trusted network <b>110</b> and portions of the untrusted network <b>112</b> that the user device <b>104</b> is seeking to access. The network gateway <b>108</b> can also allow IT administrators to set policies to access resources associated with the trusted network <b>110</b>. The network gateway <b>108</b> can include one or more of an access point, a router, and a switch, each of which is shown in <figref idref="DRAWINGS">FIG. 8</figref>. Though <figref idref="DRAWINGS">FIG. 1</figref> shows the split authentication network system <b>106</b> separately from the network gateway <b>108</b>, it is noted that The network gateway <b>108</b> can contain portions or all of the split authentication network system <b>106</b>.
0047In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the trusted network <b>110</b> is couple dot the network gateway <b>108</b>. In a specific implementation, the trusted network <b>110</b> includes a network having trusted resources administered by the network gateway <b>108</b>. Access to the trusted network <b>110</b> can be administered by the split authentication network system <b>106</b>. As used herein “trusted resources” are resources that are available to devices able to access the trusted network <b>110</b>, but unavailable to devices unable to access the trusted network <b>110</b>. It is noted that a device can be able to access the trusted network <b>110</b> without directly being coupled to the trusted network <b>110</b>, e.g., by establishing a logical or virtual presence on the trusted network <b>110</b>. The trusted network <b>110</b> can include a LAN, a WAN, or a MAN, or portions thereof. The trusted network <b>110</b> can include portions of the Internet that contain trusted resources. For instance, the trusted network <b>110</b> can include portions of Internet-accessible resources (e.g., cloud-based resources) for which only devices able to access the trusted network <b>110</b> are able to access. The trusted network <b>110</b> can include a LAN and/or WAN, as defined by the IEEE 802.1X Specification.
0048In a specific implementation, the trusted network <b>110</b> has a geographical component. For example, the trusted network <b>110</b> can be limited to a specified geographical locale, such as a hospital, a community, a school, an organization, or a particular office building, for instance. The trusted network <b>110</b>, in various embodiments, can be managed by a common entity, such as an organization that has multiple locations. For instance, the trusted network <b>110</b> can comprise a common network maintained by multiple offices of a specific organization, such as a corporation. The trusted network <b>110</b> can be limited to a class of devices seeking to access a trusted resource. For example, the trusted network <b>110</b> can include a network of iPhones trying to access a resource available only to iPhones. As another example, the trusted network <b>110</b> can be limited to a class of devices having a common processing power and/or a common network capability.
0049In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the untrusted network <b>112</b> is coupled to the trusted network <b>110</b>. In a specific implementation, the untrusted network includes a network having resources that are not trusted resources (i.e., are not within the trusted network <b>110</b>). The untrusted network <b>112</b> can include the Internet. Access to the untrusted network <b>112</b> may or may not be administered by the network gateway <b>108</b> and/or the split authentication network system <b>106</b>. For instance, the network gateway <b>108</b> may or may not maintain a firewall limiting access to portions of the untrusted network <b>112</b>. The split authentication network system <b>106</b> also may or may not allow the user device <b>104</b> to access portions of the trusted network <b>110</b>. Although <figref idref="DRAWINGS">FIG. 1</figref> shows the trusted network <b>110</b> as coupled to the trusted network <b>110</b>, in various embodiments, access to the trusted network <b>110</b> can be granted or denied independently of access to the trusted network <b>110</b>.
0050<figref idref="DRAWINGS">FIG. 2</figref> shows an example of a split authentication network environment <b>200</b>. The split authentication network environment <b>200</b> includes a user device <b>202</b>, a split authentication network system <b>204</b>, and a network gateway <b>206</b>. In a specific implementation, the user device <b>202</b> includes a digital device configured to access a trusted network (see, e.g., <figref idref="DRAWINGS">FIG. 1</figref>, trusted network <b>110</b>) and/or an untrusted network (see, e.g., <figref idref="DRAWINGS">FIG. 1</figref>, untrusted network <b>112</b>). The user device <b>202</b> and the network gateway <b>206</b> can be implemented in a manner similar to the user device <b>104</b> and the network gateway <b>108</b>, described above with reference to <figref idref="DRAWINGS">FIG. 1</figref>.
0051In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the split authentication network system <b>204</b> includes a computer-readable medium <b>208</b>, an authentication engine <b>210</b>, an authentication datastore <b>212</b>, authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n </i>(collectively referred to as the authentication server engine <b>214</b>), and an authentication directory engine <b>216</b>.
0052In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the computer-readable medium <b>208</b> is coupled to the authentication engine <b>210</b>, the authentication datastore <b>212</b>, the authentication server engine <b>214</b>, and the authentication directory engine <b>216</b>. In specific implementations, the computer-readable medium <b>208</b> includes any applicable computer readable medium. The computer-readable medium <b>208</b> can couple the various components of the split authentication network system <b>204</b> on one or more digital devices. The computer-readable medium <b>208</b> can couple the various components of the split authentication network system <b>204</b> across one or more network connections.
0053In a specific implementation, the authentication engine <b>210</b> includes engines configured to act as an authenticator of the user device <b>202</b> to a trusted network. The authentication engine <b>210</b> can operate using an authentication protocol. For example, the authentication engine <b>210</b> can be configured to operate using an Extensible Authentication Protocol (EAP), such as EAP Transport Layer Security (EAP-TLS) and/or Protected EAP (PEAP), or other EAP protocol. As an authenticator, the authentication engine <b>210</b> can be configured to receive traffic, including network access requests from the user device <b>202</b>. The authentication engine <b>210</b> can further be configured to provide receive EAP Requests, EAP identities, and other information from the user device <b>202</b>. The authentication engine <b>210</b> can also be configured to provide the authentication server engine <b>214</b> with the traffic and the network access requests from the user device <b>202</b>.
0054In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the authentication engine <b>210</b> includes the split authentication network engine <b>218</b>. In a specific implementation, the split authentication network engine <b>218</b> is configured to determine onboarding characteristics of the user device <b>202</b>, and choose one of a plurality of authentication servers (e.g., one of the authentication server engines <b>214</b>-<b>1</b> through <b>214</b>-<i>n</i>) based on the determined onboarding characteristics. Onboarding characteristics can include one or more of the authentication protocol type, the device type, the capabilities of the authentication server engine <b>214</b>, the type of EAP requests made by the user device <b>202</b>, and the stage of the authentication process of the user device <b>202</b>. The split authentication network engine <b>218</b> can also be configured to select one of the authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n </i>depending on the onboarding characteristics of the user device <b>202</b>.
0055In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the authentication datastore <b>212</b> is coupled to the computer-readable medium <b>208</b>. In a specific implementation, the authentication datastore <b>212</b> stores authentication information, including onboarding information, relating to the user device <b>202</b>. The authentication datastore <b>212</b> can store device profiles relating to the configuration of the device. For example, the authentication datastore <b>212</b> can store how the user device <b>202</b> has been authenticated for network access previously. The authentication datastore <b>212</b> can also contain user profiles, such as how a particular user has authenticated to a trusted network and/or an untrusted network previously. For instance, the authentication datastore <b>212</b> can store a username and a password for each user on the system. The authentication datastore <b>212</b> can also store permissions associated with one or more of the authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n. </i>
0056In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the authentication server engine <b>214</b> is intended to represent an authentication server. In a specific implementation, the authentication server engine <b>214</b> provides services to facilitate authentication of the user device <b>202</b> to a trusted network and/or an untrusted network. The authentication server engine <b>214</b> can implement Remote Authentication Dial In User Service (RADIUS) protocols. As a result, the authentication server engine <b>214</b> can provide services to authenticate the user device <b>202</b> to a trusted network and/or an untrusted network, authorize access of the user device <b>202</b> (or a user thereof) to resources of the trusted network and/or the untrusted network, and/or to account for usage of these services.
0057In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the authentication server engine <b>214</b> includes a plurality of authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n</i>. In some embodiments, each of the plurality of authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n </i>could be associated with a different authentication protocol. For example, in various embodiments, one or more of each of the plurality of authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n </i>can provide services according to the following authentication protocols: PEAP, EAP-TLS, Lightweight Extensible Authentication Protocol (LEAP), EAP-MDS, EAP Protected One-Time Password (POTP), EAP Pre-Shared Key (PSK), EAP-PWD, EAP Tunneled (TLS), EAP Internet Key Exchange (IKE), EAP Flexible Authentication via Secure Tunneling (FAST), EAP Subscriber Identity Module (SIM), EAP Authentication and Key Agreement (AKA), EAP Generic Token Card (GTC), EAP Encrypted Key Exchange (EKE), and so on. In some embodiments, a particular one of the plurality of authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n </i>can be chosen by the split authentication network engine <b>204</b> depending on the onboarding characteristics of the user device <b>202</b>.
0058In the example of <figref idref="DRAWINGS">FIG. 2</figref>, the authentication directory engine <b>216</b> is coupled to the computer-readable medium <b>208</b>. In a specific implementation, the authentication directory engine <b>216</b> stores, organizes, and provides information of the user device <b>202</b>, the authentication engine <b>210</b>, and/or each of the plurality of authentication server engines <b>214</b>-<b>1</b> to <b>214</b>-<i>n</i>. The authentication directory engine <b>216</b> can comprise one or more engines to implement an Active Directory® service.
0059<figref idref="DRAWINGS">FIG. 3</figref> shows an example of a split authentication network environment <b>300</b>. The split authentication network environment <b>300</b> includes a user device <b>302</b>, a split authentication network system <b>304</b>, and a network gateway <b>306</b>. The user device <b>302</b> can be implemented in a manner similar to that of the user device <b>104</b> (see, e.g., <figref idref="DRAWINGS">FIG. 1</figref>). In the example of <figref idref="DRAWINGS">FIG. 3</figref>, the split authentication network system <b>304</b> includes a computer-readable medium <b>308</b>, an authentication engine <b>310</b>, an authentication datastore <b>312</b>, an authentication server engine <b>314</b>, and an authentication directory engine <b>316</b>. The split authentication network system <b>304</b> can be implemented in a manner similar to that of the split authentication network system <b>204</b> (see, e.g., <figref idref="DRAWINGS">FIG. 2</figref>), but in the split authentication network system <b>304</b>, the split authentication network engine <b>320</b> is located inside the authentication server engine <b>314</b>, which includes authentication server sub-engine <b>318</b>-<b>1</b> to <b>318</b>-<i>n. </i>
0060<figref idref="DRAWINGS">FIG. 4</figref> shows an example of a split authentication network engine <b>400</b>. In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the split authentication network engine <b>400</b> includes a computer-readable medium <b>402</b> coupled to a device presence engine <b>404</b>, a traffic monitor engine <b>406</b>, an authentication presence monitor engine <b>408</b>, an authentication server selection engine <b>410</b>, a traffic routing engine <b>412</b>, and an authentication datastore <b>414</b>.
0061In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the device presence engine <b>404</b> is coupled to the computer-readable medium <b>402</b>. In a specific implementation, the device presence engine is configured to access a list of devices that are authenticated for access to a trusted network, and to determine whether a particular device is attempting to authenticate to the trusted network. The device presence engine <b>404</b> can receive an authentication request from a user device. The authentication request can indicate that the user device seeks access to resources of a trusted network but is not currently connected to the trusted network. The authentication request can be consistent with EAP protocols and/or 802.1X standards. The device presence engine <b>404</b> can indicate user device presence to the other engines of the split authentication network engine <b>400</b>.
0062In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the traffic monitor engine <b>406</b> is coupled to the computer-readable medium <b>402</b>. In a specific implementation, the traffic monitor engine <b>406</b>, in response to a detected user device presence, monitors traffic relating to the user device and/or an authentication server engine. The traffic monitor engine <b>406</b> can incorporate a network analyzer to analyze the contents of all data packets coming into the split authentication network system <b>400</b> from the user device. The network analyzer can comprise a packet sniffer or other network analyzer. In some embodiments, the traffic monitor engine <b>406</b> further monitors information in each data packet such as device identification information and onboarding characteristic information. The traffic monitor engine <b>406</b> can be coupled to the other engines of the split authentication network engine <b>400</b> to provide information inside each data packet.
0063In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the authentication presence monitor engine <b>408</b> is coupled to the computer-readable medium <b>402</b>. In a specific implementation, the authentication presence monitor engine <b>408</b> extracts device identifier information and/or onboarding characteristics from the data packets monitored by the traffic monitor engine <b>406</b>. The device identifier can comprise a media access control (MAC) address of the user device.
0064In a specific implementation, the onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> include an authentication protocol type. For example, the authentication presence monitor engine <b>408</b> can determine whether the user device is seeking to authenticate access to a trusted network via one or more of the following protocols: PEAP, EAP-TLS, LEAP, EAP-MDS, EAP POTP, EAP PSK, EAP-PWD, EAP Tunneled TLS, EAP IKE, EAP FAST, EAP SIM, EAP AKA, EAP GTC, EAP EKE, and so on. Other protocols are possible without departing from the scope and substance of the inventive concepts described herein.
0065In a specific implementation, the onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> include a device type of the user device. For example, the authentication presence monitor engine <b>408</b> can obtain whether the user device is a desktop computer, a laptop computer, a tablet computer, or a smartphone. In some embodiments, the authentication presence monitor engine <b>408</b> can further obtain the manufacturer of the user device, such as whether the user device is manufactured by Apple® or a Microsoft® OEM.
0066In a specific implementation, onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> include operating system classification. For instance, the authentication presence monitor engine <b>408</b> can determine whether the user device is running a mobile operating system, a UNIX-based operating system, an Android-based OS, a Windows-based OS, a Mac OS, iOS, an operating system that can support graphical user interfaces (GUIs), a desktop operating system, or other operating system. The authentication presence monitor engine <b>408</b> can determine whether the OS is of a certain version (e.g., iOS 5 and/or a certain version of Honeycomb®), or greater. The authentication presence monitor engine <b>408</b> can extract the OS manufacturer. The onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> can comprise operating system capabilities. For instance, the authentication presence monitor engine <b>408</b> can be able to obtain characteristics of the kernel of the OS, the amount of runtime memory the OS supports, the nature of processes and/or services on the OS, and other information.
0067In a specific implementation, the onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> include application capabilities. For example, the authentication presence monitor engine <b>408</b> can be able to determine whether the user device has one or more predetermined applications installed on it. One way to obtain this information is if one of the predetermined applications is requesting the authentication. The onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> can comprise a user type. The authentication presence monitor engine <b>408</b> can be configured to determine, e.g., based on a username and/or password, whether a user is a registered member of an enterprise (e.g., a corporation) administering a trusted network. Such a determination can also be possible based on determining other identifying information about the user of the user device. The onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> can comprise a user location. The authentication presence monitor engine <b>408</b> can determine whether the user device is located at a particular location in relation to a trusted network.
0068In a specific implementation, the onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> include device capabilities. Extracted device capabilities can include processor and/or memory capabilities of the user device. The device capabilities can further include whether the user device is seeking wired or wireless network connectivity, the network connection speed of hardware on the user device, whether the user device can access streaming applications and/or streaming multimedia, and/or whether the user device has access to particular items of digital right controlled media.
0069In a specific implementation, the onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> include server capabilities of an authentication server engine (see, e.g., <figref idref="DRAWINGS">FIG. 2</figref>, authentication server engine <b>214</b>). For example, the onboarding characteristics can include an indicator of how the plurality of authentication server engines are configured, and whether one or more of the plurality of authentication server engines can meet the authentication requests of a user device. The onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> can comprise network capabilities. The onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> can also comprise the hardware characteristics of the device containing the split authentication network system <b>400</b>, such as whether the split authentication network system <b>400</b> is incorporated into an access point, a router, or a switch.
0070In a specific implementation, the onboarding characteristics extracted by the authentication presence monitor engine <b>408</b> can comprise the ownership information from the user's device. The ownership can be a relationship between the user and the device. One user can have different ownerships to different devices, and a given device can be associated with different users with different ownerships. For instance, a given iPad can be shared among employees and contractors, and different ownerships can be associated with the iPad to distinguish such relationships. The authentication server selection engine can use the ownership information to decide which authentication server(s) to use. In some embodiments, the admin can setup a dedicated authentication server for Company Issued Device and another dedicated authentication server for BYOD.
0071In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the authentication server selection engine <b>410</b> is coupled to the computer-readable medium <b>402</b>. In a specific implementation, the authentication server selection engine <b>410</b> selects one of a plurality of authentication server engines based on onboarding characteristics of a user device. The authentication server selection engine <b>410</b> can dynamically evaluate the information extracted by the authentication presence monitor engine <b>408</b> to match onboarding characteristics with specific configured authentication servers. For example, an authentication request from an iPhone® having an iOS version 4 or below can support a username and a password but may not support other authentication capabilities. If such a lower version iPhone® made an authentication request, the authentication server selection engine <b>410</b> can redirect the authentication request to one of the plurality of authentication server engines that can handle the request. As another example, an authentication request from an iPhone® having an iOS version 5 or above can support authentication capabilities well beyond a username and password. Such a request can support access to trusted resources of a trusted network. If such a higher version iPhone® were to make such a request, the authentication server selection engine <b>410</b> can redirect the authentication request to one of the plurality of authentication server engines that can handle the request. The authentication server selection engine <b>410</b> can also match onboarding characteristics with specific configured authentication servers based on a static set of rules stored in the authentication datastore <b>414</b>. To find a specific authentication server, the authentication server selection engine <b>410</b> can query an authentication directory engine to obtain configurations of which of the plurality of authentication server engines are active.
0072In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the traffic routing engine <b>412</b> is coupled to the computer-readable medium <b>402</b>. In a specific implementation, the traffic routing engine <b>412</b> routes traffic from a user device to a selected one of the plurality of authentication server engines. The traffic routing engine <b>412</b> can incorporate redirection engines to reroute the data packets from the user device to a specified one of the plurality of authentication server engines.
0073<figref idref="DRAWINGS">FIG. 5</figref> shows an example of a flowchart <b>500</b> of a method for performing split authentication network onboarding. The flowchart <b>500</b> will be discussed in conjunction with the structures shown in <figref idref="DRAWINGS">FIGS. 1-4</figref>. The flowchart <b>500</b> can have additional steps or sub-steps and need not include all the steps shown to encompass the inventive concepts described herein.
0074In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the flowchart <b>500</b> starts at module <b>502</b> where a device presence engine detects a device presence of a user device. The device presence engine can provide an indication to a traffic monitor engine that the user device has been detected and seeks network authentication.
0075In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the flowchart <b>500</b> continues to module <b>504</b>, where the traffic monitor engine monitors, in response to the device presence, traffic from the user device and/or an authentication server engine. The traffic monitor engine can implement network analysis techniques to provide the contents of data packets from the user device and/or the authentication server engine to an authentication presence monitor engine.
0076In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the flowchart <b>500</b> continues to module <b>506</b>, where the authentication presence monitor engine evaluates the onboarding characteristics of the user device in response to the monitoring. The onboarding characters can include one or more of: an authentication protocol type, a device type of the user device, the manufacturer of the user device, an operating system classification of the user device, whether the OS of the user device is of a certain version, the OS manufacturer of the OS of the user device, OS capabilities of the user device, application capabilities of the user device, a user type of the user device, the location of the user device, device capabilities of the user device, server capabilities of the authentication server engine, and other onboarding characteristics. The authentication presence monitor engine can provide the onboarding characteristics to the authentication server selection engine.
0077In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the flowchart <b>500</b> continues to module <b>508</b>, where the authentication server selection engine selects an authentication server based on the onboarding characteristics to authenticate the user device. The authentication server selection engine matches the user device to one of a plurality of authentication server engines to authenticate the user device. The authentication server selection engine can provide the identity of the selected authorization server to a traffic routing engine.
0078In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the flowchart <b>500</b> continues to module <b>510</b>, where the traffic routing engine can route the traffic from the user device to the selected authentication server. In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the flowchart <b>500</b> ends at module <b>512</b>, where the traffic monitor engine continues to monitor the authenticated user device and/or the network traffic.
0079<figref idref="DRAWINGS">FIG. 6</figref> shows an example of a split authentication network system <b>600</b>. In the example of <figref idref="DRAWINGS">FIG. 6</figref>, the split authentication network system <b>600</b> includes a user device <b>602</b>, an access point <b>604</b>, a switch <b>606</b>, a first authentication server <b>608</b>, an active directory <b>610</b>, a second authentication server <b>612</b>, a first authentication path <b>614</b>, and a second authentication path <b>616</b>. In a specific implementation, the split authentication network system <b>600</b> incorporates 802.1X authentication protocols.
0080In the example of <figref idref="DRAWINGS">FIG. 6</figref>, the user device <b>602</b> is intended to represent an applicable known or convenient device. For example, the user device <b>602</b> can include an iPad® seeking 802.1X authentication to the split authentication network system <b>600</b>. In a specific implementation, the user device <b>602</b> includes a processor, memory, and other components, such as an antenna, to couple the user device <b>602</b> to the access point <b>604</b>. In this example, the antenna can allow the user device <b>602</b> to communicate with the access point <b>604</b>. The data packets can include device identification information and onboarding characteristics of the user device <b>602</b>.
0081In a specific implementation, the access point <b>604</b> allows the user device <b>602</b> access to a trusted network and/or an untrusted network. The access point <b>604</b> can contain components, e.g. an antenna, to communicate with the user device <b>602</b>. The access point <b>604</b> can be similar to the access point <b>802</b>, shown in <figref idref="DRAWINGS">FIG. 8</figref>. In the example of <figref idref="DRAWINGS">FIG. 6</figref>, the access point <b>604</b> includes the second authentication server <b>612</b>. In this example, the second authentication server <b>612</b> can be configured to authenticate the user device <b>602</b> using an EAP-TLS protocol.
0082In the example of <figref idref="DRAWINGS">FIG. 6</figref>, the switch <b>606</b> is illustrated as linking portions of the split authentication network system <b>600</b> to one another. The switch <b>606</b> can comprise a bridge architecture or some other applicable convenient architecture. As shown, the switch <b>606</b> can couple the access point <b>604</b> to the first authentication server <b>608</b>.
0083The first authentication server <b>608</b> can be configured to provide authentication services to the user device <b>602</b>. In this example, the first authentication server <b>608</b> can provide PEAP protocols for authentication. The first authentication server <b>608</b> can comprise a RADIUS server. The active directory <b>610</b> can contain a listing of one or more of the devices, including the authentication servers, active on the network. In this example, the active directory <b>610</b> can provide a listing that the first authentication server <b>608</b> is active and supports a PEAP protocol. The active directory <b>610</b> can also provide a listing that the second authentication server <b>612</b> is active and supports an EAP-TLS protocol. The first authentication server <b>608</b> can include an existing RADIUS server that a company has used to implement a portion of its trusted network. The existing RADIUS server may comprise a dedicated authentication server.
0084In the example of <figref idref="DRAWINGS">FIG. 6</figref>, a split authentication network engine (see, e.g., <figref idref="DRAWINGS">FIG. 2</figref>) can be incorporated within one or more of the access point <b>604</b>, the switch <b>606</b>, and the first authentication server <b>608</b>. The split authentication network engine can be configured to determine onboarding characteristics of the user device <b>602</b> and to choose one or more of the first authentication server <b>608</b> and the second authentication server <b>612</b> based on the determined onboarding characteristics. For instance, the split authentication network engine <b>212</b> can obtain onboarding characteristics of the user device <b>602</b>, and may: (a) redirect PEAP requests to the first authentication server <b>608</b> and (b) redirect EAP-TLS requests to the second authentication server <b>612</b>. In a specific implementation, the split authentication network engine does not require reconfiguration of the first authentication server <b>608</b> for onboarding the user device <b>602</b>.
0085In at least one embodiment, the split authentication network engine can be implemented in the access point <b>604</b>. In at least one embodiment, the split authentication network engine can be implemented in the first authentication server <b>608</b> (e.g., by RADIUS server functionalities). The split authentication network system <b>600</b> can present at least several advantages. First, the split authentication network system <b>600</b> can be flexible. That is, the split authentication network system <b>600</b> can allow IT administrators to decide which authentication server is the best choice for each onboarding scenario for the user device <b>602</b>. Second, the split authentication network system <b>600</b> can make authentication simple. Instead of making one authentication server very complicated, IT administrators can keep each authentication server simple and purpose-built. The split authentication network system <b>600</b> can provide a centralized interface for IT administrators to manage multiple instances. Third, the split authentication network system <b>600</b> can be secure. Since each authentication server is dedicated, it gives IT administrators more control and visibility. Users can be redirected to different instances and apply different policies. Such security enforcement option is impossible with one single giant authentication server. Fourth, the split authentication network system <b>600</b> can provide better performance. Different authentication server instances can be deployed in different places to maximize performance. For instance, when the EAP-TLS Radius server is deployed on the AP, it will help improve the authentication as well as roaming performance. Fifth, the split authentication network system <b>600</b> can provide a lower cost. Using example above, the company's existing Radius server for 802.1X PEAP authentication can have a commercial server certificate while the Radius server on the access point for the EAP-TLS authentication can use the self-signed certificates.
0086<figref idref="DRAWINGS">FIG. 7</figref> shows an example of a digital device <b>700</b>. In the example of <figref idref="DRAWINGS">FIG. 7</figref>, the digital device <b>700</b> 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 digital device <b>700</b> includes a computer <b>702</b>, I/O devices <b>704</b>, and a display device <b>706</b>. The computer <b>702</b> includes a processor <b>708</b>, a communications interface <b>710</b>, memory <b>712</b>, display controller <b>714</b>, non-volatile storage <b>716</b>, and I/O controller <b>718</b>. The computer <b>702</b> can be coupled to or include the I/O devices <b>704</b> and display device <b>706</b>.
0087In the example of <figref idref="DRAWINGS">FIG. 7</figref>, the computer <b>702</b> interfaces to external systems through the communications interface <b>710</b>, which can include a modem or network interface. It will be appreciated that the communications interface <b>710</b> can be considered to be part of the digital device <b>700</b> or a part of the computer <b>702</b>. The communications interface <b>710</b> 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.
0088In the example of <figref idref="DRAWINGS">FIG. 7</figref>, the processor <b>708</b> can be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. The memory <b>712</b> is coupled to the processor <b>708</b> by a bus <b>720</b>. The memory <b>712</b> can be Dynamic Random Access Memory (DRAM) and can also include Static RAM (SRAM). The bus <b>720</b> couples the processor <b>708</b> to the memory <b>712</b>, also to the non-volatile storage <b>716</b>, to the display controller <b>714</b>, and to the I/O controller <b>718</b>.
0089In the example of <figref idref="DRAWINGS">FIG. 7</figref>, the I/O devices <b>704</b> 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 <b>714</b> can control in the conventional manner a display on the display device <b>706</b>, which can be, for example, a cathode ray tube (CRT) or liquid crystal display (LCD). The display controller <b>714</b> and the I/O controller <b>718</b> can be implemented with conventional well known technology.
0090In the example of <figref idref="DRAWINGS">FIG. 7</figref>, the non-volatile storage <b>716</b> 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 <b>712</b> during execution of software in the computer <b>702</b>. 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 the processor <b>708</b> and also encompasses a carrier wave that encodes a data signal.
0091In the example of <figref idref="DRAWINGS">FIG. 7</figref>, the digital device <b>700</b> 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 the processor <b>708</b> and the memory <b>712</b> (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.
0092<figref idref="DRAWINGS">FIG. 8</figref> shows examples of a plurality of network access devices <b>800</b>. In the example of <figref idref="DRAWINGS">FIG. 8</figref>, the network access devices <b>800</b> can include an access point <b>802</b>, a router <b>804</b>, and a switch <b>806</b>. One or more of the access point <b>802</b>, the router <b>804</b>, and the switch <b>806</b> can contain at least portions of the systems and modules described herein.
0093Network 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 <b>712</b> for execution by the processor <b>708</b>. 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 <figref idref="DRAWINGS">FIG. 7</figref>, 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.
0094Some 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.
0095It 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.
0096Techniques 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.
Contents6
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9152782B2 | Cited by | United States of America | Search report |
| US2015317467A1 | Cited by | United States of America | Search report |
| US9479540B2 | Cited by | United States of America | Applicant |
| US10219151B2 | Cited by | United States of America | Applicant |
| US11258794B2 | Cited by | United States of America | Search report |
| US11256542B2 | Cited by | United States of America | Applicant |
| US11888834B2 | Cited by | United States of America | Search report |
| US10932129B2 | Cited by | United States of America | Applicant |
| CN108292259A | Cited by | China | Search report |
| US2015373001A1 | Cited by | United States of America | Search report |
| US9965366B2 | Cited by | United States of America | Applicant |
| US9686319B2 | Cited by | United States of America | Applicant |
| US2017359332A1 | Cited by | United States of America | Search report |
| WO2017218694A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2015373001A1 | Cited by | United States of America | Pre-grant |
| US11005836B2 | Cited by | United States of America | Search report |
| US10320847B2 | Cited by | United States of America | Applicant |
| US10003615B2 | Cited by | United States of America | Applicant |
| US9699055B2 | Cited by | United States of America | Applicant |
| US9690676B2 | Cited by | United States of America | Applicant |
| US2015317467A1 | Cited by | United States of America | Pre-grant |
| US10341320B2 | Cited by | United States of America | Applicant |
| US11129021B2 | Cited by | United States of America | Applicant |
| US11074581B2 | Cited by | United States of America | Search report |
| US2015169864A1 | Cited by | United States of America | Pre-grant |
| US2020036696A1 | Cited by | United States of America | Search report |
| US10810095B2 | Cited by | United States of America | Applicant |
| US10360362B2 | Cited by | United States of America | Search report |
| US2023412581A1 | Cited by | United States of America | Search report |
| US10924465B2 | Cited by | United States of America | Applicant |
| US11589224B2 | Cited by | United States of America | Applicant |
| US2015317467A1 | Cited by | United States of America | Search report |
| US10397211B2 | Cited by | United States of America | Applicant |
| US10375045B2 | Cited by | United States of America | Search report |
| US2006179475A1 | Cites | United States of America | Pre-grant |
| US2010138899A1 | Cites | United States of America | Pre-grant |
| US2014092884A1 | Cites | United States of America | Pre-grant |
| CISCO TrustSec(TM) 2.0, Design and Implementation , CISCO Systems, Nov. 29, 2011 pages 1-178 | Non-patent | – | Pre-grant |
| CISCO TrustSec How-To Guide: Onboarding and Provisioning, CISCO Systems, Doc. Ver. 3.0, Aug. 27, 2012, pages 1-37 ( | Non-patent | – | Pre-grant |
6 members in 1 office; this record represents the family
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 201361799909 | United States of America | P | |
| 201361799909 | United States of America | P | |
| 201314027188 | United States of America | A | |
| 61799909 | – | – | – |
| US201314027188 | – | – | – |
| US201361799909P | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| US2014282902A1 | United States of America | A1 | |
| US9948626B2 | United States of America | B2 | |
| US2018205717A1 | United States of America | A1 | |
| US10397211B2 | United States of America | B2 | |
| US2020076785A1 | United States of America | A1 | |
| US10924465B2 | United States of America | B2 |
140 transactions on the USPTO file
Allowed after 2 non-final rejections, 2 final rejections and 2 RCEs.
- Non-final rejections
- 2
- Final rejections
- 2
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedureENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.)FEPP | FEPP | |
| AssignmentAS | AS |
Numbers
- Publication
- 20140282902
- Publication, DOCDB
- 2014282902
- Publication, EPODOC
- US2014282902
- Application
- 14027188
- Application, DOCDB
- 201314027188
- Application, EPODOC
- US201314027188
Titles
- English
- SPLIT AUTHENTICATION NETWORK SYSTEMS AND METHODS
Patent term adjustment
- A delay
- +374 daysthe office missed an examination deadline
- B delay
- +196 dayspendency past three years
- Applicant delay
- −262 days
- Net adjustment
- 308 days
Classification
- CPC, 5
- H04L63/0876
- H04L63/08
- H04L63/205
- G06F21/50
- G06F21/31
- IPC, 3
- G06F21 31
- H04L29 06
- G06F21 50
- USPC, 2
- 726004000
- 726003000