# Patent

## Title
Method and system for controlling subscriber access in a network capable of establishing connections with a plurality of domain sites

## Abstract

A method for controlling subscriber access in a network capable of establishing connections with a plurality of domains includes receiving a communication from a subscriber using a first communication network coupled to at least one other communication network, the communication optionally including a domain identifier associated with a domain on the at least one other communication network, determining whether the subscriber is authorized to access the domain based upon the domain identifier and a list of authorized domains for a virtual circuit used to receive the communication and authorizing subscriber access to the domain when the domain identifier is included in the list. An access server includes a tunnel ID request generator and an authorizer. The tunnel ID request generator generates a tunnel ID request that includes a virtual circuit identifier associated with a virtual circuit used to accept a PPP authentication request. The authorizer grants subscribers domain access based upon a list of authorized domains for the virtual circuit.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to the following:
U.S. patent application Ser. No. 09/488,394, filed Jan. 20, 2000 in the name of inventors Aravind Sitaramin, Aziz Abdul, Bernard Janes, Dennis Cox, John Joyce, Peter Heitman, Shujin Zhang and Rene Tio, entitled “System and Method for Identifying a Subscriber for Connection to a Communication Network”, commonly assigned herewith.

U.S. patent application Ser No. 09/488,395, filed Jan. 20, 2000, now U.S. Pat. No. 7,216,175, issued May 8, 2007, in the name of inventors Aravind Sitaramin, Dennis Cox, John Joyce and Shujin Zhang, entitled “System and Method for Determining Subscriber Information”, commonly assigned herewith.

U.S. patent application Ser. No. 09/712,780, filed Nov. 13, 2000, now U.S. Pat. No. 6,874,030, issued Mar. 29, 2005, in the name of inventors Purnam Sheth, Aravind Sitaraman, Charles Yager and Gregory Burns, entitled “PPP Domain Name and L2TP Tunnel Selection Configuration Override”, commonly assigned herewith.

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of data communications. More particularly, the present invention relates to a system and method for restricting the domains that a subscriber can visit when using Point-to-Point Protocol (PPP).
2. The Background Art
A significant concern of the individual private and public domains making up the Internet or any other system incorporating multiple networks is the ability to ensure that only those subscribers who are authorized to access the individual private and public domains within the comprehensive network have the capability to access such networks. Serious security risks are posed by the possibility of unauthorized users having the know-how and capability to invade the individual private and public domains within the network.
In today's networking environment, many privately owned domain sites exist on the Internet that allow access only to those individuals which have been granted the proper authorization. For example, these may include company owned private domains containing confidential information and, as such, the company may grant access only to those employed by the company, or they may be communities of interest (i.e. “pay-sites”) that provide information only to those subscribers which subscribe to the privately owned domain. The subscriber who connects to the Internet, typically by means of an Internet Service Provider (ISP) or Telephone Company (Telco), may also possess the capability to assume the identity of an authorized user. This capability heightens the potential for security violations.
Additionally, it is becoming increasingly more prevalent for individual computer users to have the capability to remotely access privately owned intra networks. Such Virtual Private Networks (VPNs) allow the user to connect with the private intra network of the company from the user's residence by means of the telephone line or other convenient means. The inception of wireless remote connections have even made it possible for users to connect from almost any imaginable locale. The ability to connect remotely to individual private intra networks, once seen as a luxury, has become so commonplace that many working professionals require such access in order to accomplish their everyday job assignments. In many instances, remote users connect to privately owned intra networks through the same means that individuals connect to the Internet, typically Telcos or ISPs. VPNs are cost-effective because users can connect to the Internet locally and tunnel back to connect to corporate resources. This reduces overhead costs associated with traditional remote access methods.
FIG. 1 shows a simplified diagram of a computer user connected to a computer network 10 via a host computer 12 linked to an access point 14 which grants authorization to external networks or domains 16, 18 and 20. The potential for a network security violation is posed by the user having the capability through the access point 14 to reach or “Knock on the door” of home gateways 22, 24 and 26.
Still referring to FIG. 1, the user has access to the computer networks through a workstation or host computer 12. The host computer 12 has the capability to connect with the external networks through an access point 14. An access point 14 is essentially an external location capable of permitting authorized users to access external computer networks. Typically, the access point consists of a series of Network Access Servers (NASs) and other related hardware, software and/or firmware. An access point 14 may also include a modem pool (not shown) maintained by a Telephone Company (Telco) or an Internet Service Provider (ISP) which enables its authorized users or subscribers to obtain external network access through the host computer 12 which has the required dial-up connection capability. Those of ordinary skill in the art will recognize that other types of access methods may be provided by a Telcos or ISP such as frame relay, leased lines, ATM (Asynchronous Transfer Mode), ADSL (Asymmetric Digital Subscriber Line) and the like.
Typically, when the user desires to access a specified domain, such as the first privately owned secured domain site 16, the user runs a network logon application program on the host computer 12 which requires the user to input user identification and authorization information as a means of initiating access to the desired network. This information is then directed to the access point 14 where it is verified to ensure that the host user has the required authorization to permit access to the desired network. Once authorization is granted to the user, a connection is established via the access point 14 with the home gateway 22 of the specified first privately owned secure domain site 16. The connection established may be a tunnel-based connection, such as L2TP (Layer Two Tunneling Protocol) or L2F (Layer Two Forwarding), or an IP-based (Internet Protocol) connection, such as used with ATM or frame relay. The user of the host computer 12, having established such a connection, has the ongoing capability to access the specified domain until the connection is terminated either at the directive of the user or by error in data transmission. The access point 14 will typically have the capability to connect the user to various other privately owned secured domain sites, such as the second private domain site 18 or the public Internet 20. The user of the host computer 12 may use the PPP protocol to connect through the wholesaler networks to another Home Gateway.
Layer 2 Tunneling Protocol (L2TP) is used in many Virtual Private Networks (VPNs). An L2TP access concentrator (LAC) is a device that the client directly connects to and that tunnels Point-to-Point (PPP) frames to the L2TP network server (LNS). The LAC is the initiator of incoming calls and the receiver of outgoing calls. An L2TP network server (LNS) is the Termination point for an L2TP tunnel and the access point where PPP frames are processed and passed to higher layer protocols. The LNS handles the server side of the L2TP protocol. The LNS terminates calls arriving at any of the LAC's PPP interfaces, including asynchronous, synchronous and ISDN. The LNS is the initiator of outgoing calls and the receiver of incoming calls.
FIG. 2 is a block diagram that illustrates an L2TP tunnel and how a user typically connects to a privately owned domain site such as a corporate intranet. Using L2TP tunneling, an L2TP access concentrator (LAC) 100 located at the ISP's point of presence (POP) 105 exchanges PPP messages 110 with remote users 115 and communicates by way of L2TP requests and responses with the customer's L2TP network server (LNS) 120 to set up tunnels 125. The L2TP protocol passes protocol-level packets through the virtual tunnel 125 between end points of a point-to-point connection. Frames from remote users are accepted by the ISP's POP 105, stripped of any linked framing or transparency bytes, encapsulated in L2TP and forwarded over the appropriate tunnel 125. The customer's home gateway 120 accepts these L2TP frames, strips the L2TP encapsulation, and processes the incoming frames for the appropriate interface.
Turning now to FIG. 3 a block diagram that illustrates the use of AAA servers in an L2TP tunneling network is presented. The selection of the L2TP tunnel 200 at the LAC 205 or NAS is typically determined by an authentication, authorization and accounting (AAA) server 210 based upon the structured username (username@domain) in the PPP authentication packet. The AAA 210 looks up a service profile that matches the domain name string. The service profile includes the IP address of the L2TP network server (LNS) 215 and a password for the tunnel 200. Once tunnels are established, the LAC 205 forwards the subscriber's PPP session to the destination LNS 215 through the L2TP tunnel 200. The ISP or enterprise customer 220 receives new PPP sessions and authenticates the sessions using AAA server 225. Authenticated sessions are established on the LNS 215, while sessions that fail authentication are rejected.
Present methods of establishing a tunnel allow an unauthorized user to reach or “Knock on the door” of another Home Gateway 215, merely by changing the domain name provided in the PPP authentication packet to the domain name of the intended Home Gateway 215. In this scenario, all users having access to access point 205 would have the potential to reach the privately owned secured domain site. For example, a user having a domain name of xxx@corpA.com may change the domain name in the PPP authentication packet to xxx@corp:B.com, allowing the user's PPP session to be forwarded to the corpB LNS through the L2TP tunnel assigned to corpB. Allowing such unauthorized access to a Home Gateway 215 subjects the Home Gateway 215 to potential security risks, including denial of service attacks.
Denial-of-service attacks typically focus on making a service unavailable for normal use, which is often accomplished by exhausting a resource limitation on the network or within an operating system or application. When involving specific network server applications, these attacks can focus on acquiring and keeping open all of the available connections supported by that server, effectively locking out valid users of the server or service. For example, a user intending to exploit present day L2TP systems could flood the network with many PPP sessions targeted to a Home Gateway for which the user is not authorized. Although the LNS authentication process would typically prevent an unauthorized user from access to the corporate intranet, the resources devoted to handling the large number of PPP sessions could adversely affect the services available to authorized users.
The currently available solutions to this problem are very limited and do not offer the level of security protection that most companies operating secured and confidential private intra networks demand. Companies have been able to minimize the risk by setting up internal access points which effectively cause the user/host to dial-in or connect directly with the private intra network without going through an external ISP or Telco. While this direct-connect service allows some measure of security it does so at the expense of increasing the costs associated with maintaining an internal access point and the additional connection costs related to remote users having to potentially incur long distance telephone service charges.
What is needed is a solution that provides more control over which domains a particular subscriber may connect to using the PPP protocol.
BRIEF DESCRIPTION OF THE INVENTION
A method for controlling subscriber access in a network capable of establishing connections with a plurality of domains includes receiving a communication from a subscriber using a first communication network coupled to at least one other communication network, the communication optionally including a domain identifier associated with a domain on the at least one other communication network, determining whether the subscriber is authorized to access the domain based upon the domain identifier and a list of authorized domains for a virtual circuit used to receive the communication and authorizing subscriber access to the domain when the domain identifier is included in the list. An access server includes a tunnel ID request generator and an authorizer. The tunnel ID request generator generates a tunnel ID request that includes a virtual circuit identifier associated with a virtual circuit used to accept a PPP authentication request. The authorizer grants subscribers domain access based upon a list of authorized domains for the virtual circuit.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a computer network wherein the host computer has access to multiple domains within the network.
FIG. 2 is a block diagram that illustrates an L2TP tunnel and how a user typically connects to a corporate intranet.
FIG. 3 is a block diagram that illustrates the use of AAA servers in an L2TP tunneling network.
FIG. 4 is a high-level block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention.
FIG. 5 is a high-level flow diagram that illustrates a method for limiting subscriber access to any domain network selected from a list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention.
FIG. 6 is a detailed block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a global list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention.
FIG. 7 is a detailed flow diagram that illustrates a method for determining a tunnel ID based on a path ID and a PPP authentication request domain name in accordance with one embodiment of the present invention.
FIG. 8 is a detailed block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a global list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention.
FIG. 9 is a detailed flow diagram that illustrates a method for determining a tunnel ID based on a path ID and a PPP authentication request domain name in accordance with one embodiment of the present invention.
FIG. 10 is a detailed block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a local list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention.
FIG. 11 is a detailed flow diagram that illustrates a method for determining a tunnel ID based on a path ID and a PPP authentication request domain name in accordance with one embodiment of the present invention.
FIG. 12 is a table that illustrates associating virtual circuit identifiers with authorized domain names in accordance with one embodiment of the present invention.
FIG. 13 is a table that illustrates associating domain names with tunnel identifiers in accordance with one embodiment of the present invention.



DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons having the benefit of this disclosure.
In accordance with a presently preferred embodiment of the present invention, the components, processes and/or data structures may be implemented using C++ programs running on high performance computers (such as an Enterprise 2000TM server running Sun SolarisTM as its operating system. The Enterprise 2000TM server and Sun SolarisTM operating system are products available from Sun Microsystems, Inc. of Mountain View, Calif.). Different implementations may be used and may include other types of operating systems, computing platforms, computer programs, firmware and/or general purpose machines. In addition, those of ordinary skill in the art will readily recognize that devices of a less general purpose nature, such as hardwired devices, devices relying on FPGA (field programmable gate array) or ASIC (Application Specific Integrated Circuit) technology, or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herein.
The authentication, authorization and accounting (AAA) service performs user authentication, user authorization and user accounting functions. It may be a Cisco ACSTM product such as Cisco SecureTM, available from Cisco Systems, Inc. of San Jose, Calif., or an equivalent product. In accordance with one embodiment of the present invention, the Remote Authentication Dial-In User Service (RADIUS) protocol is used as the communication protocol for carrying AAA information. RADIUS is an Internet standard track protocol for carrying authentication, authorization, accounting and configuration information between devices that desire to authenticate their links and a shared AAA or AAA proxy service. Those of ordinary skill in the art will realize that other authentication protocols such as TACACS+ or DIAMETER can be used as acceptable authentication communications links between the various communications devices that encompass the data communications network and still be within the inventive concepts disclosed herein.
Turning now to FIG. 4, a block diagram that illustrates a communication system 300 in accordance with one embodiment of the present invention is presented. Users connect to public or private domain networks within communication system 300 through host computers 305, 310, 315. The host computers 305, 310, 315 have the capability to connect or link with domain 320. Domain 320 may be a private domain or a public domain, such as the Internet or a private intra network. These links or connections are established via a series of hardware that serve to grant access to specific domains and transport data packets to and from the host computers 305, 310, 315 and domain 320.
The host computers 305, 310, 315 in this particular computer network are connected to a Publicly Switched Telephone Network (PSTN) 325 via a transmission means 330, 335, 340, such as copper wire or cable. Broadcast mechanisms such as ADSL (Asymmetric Digital Subscriber Line) may be used. Those of ordinary skill in the art will recognize that other types of broadcast mechanisms may be provided by an ISP or Telco such as Ethernet, frame relay, leased lines, ATM (Asynchronous Transfer Mode) or the like. Access points 345 are located within a wide area network (WAN) 350 and are operated by Telcos or ISPs. The access points 345 house AAA servers 355, Service Selection Gateways (not shown in FIG. 4), L2TP Access Concentrators (LACs) 360, Digital Subscriber Line Aggregation Multiplexers (DSLAMs) 365, 370, 375 or similar devices. The Service Selection Gateway (SSG) is not an integral part of the present invention and therefore a discussion related to their functionality would not benefit the discussion of the present invention. The SSG serves as a gateway between the user and public area domains, such as the Internet. In order for a user host to gain access to a public domain network, such as the Internet, users must first dial-in or otherwise make a connection with the SSG through a data-receiving interface (not shown in FIG. 5.). As a threshold matter, an authorizer (not shown in FIG. 5) within the LAC serves to authenticate the identity of the user, ensure authorization and ascertain the nature and scope of the public network services that it will provide.
According to one embodiment of the present invention, an access point 345 includes one or more DSLAMs 365, 370, 375 that service the copper loops between the access point 345 and the Customer Premises Equipment (CPE) 305, 310, 315. DSLAMs 365, 370, 375 may link locally or via an inter-central office (CO) link to LAC 360. Traffic enters and exits the DSLAM chassis through ports, each of which is assigned a port address. A virtual circuit or channel (VC) is a logical circuit created to ensure reliable communication between two network devices. A VC is defined by a Virtual Path Identifier (VPI)/Virtual Channel Identifier (VCI) pair, which is directly tied to a particular DSLAM port used by a particular subscriber.
The LAC 360 is linked to a separate server/memory device 355, herein referred to as an Authentication, Authorization and Accounting (AAA) server 355. The LAC 360 and the AAA server 355 communicate with one-another according to the Remote Access Dial-In User Service (RADIUS) protocol. The specific details of the RADIUS protocol are well known by those of ordinary skill in the art. Moreover, as will be apparent to those of ordinary skill in the art, the RADIUS protocol has limited applicability to the present invention and, therefore a detailed discussion of this protocol is deemed unnecessary. The preferred methods of the present invention described herein are not limited to the use of the RADIUS protocol and other equivalent authentication protocols may be used.
In accordance with one embodiment of the present invention, the LAC service and the LNS may be implemented using a Cisco 6400 Universal Access Concentrator, available from Cisco Systems, Inc. of San Jose, Calif.
Turning now to FIG. 5, a high-level flow diagram that illustrates a method for limiting subscriber access to any domain network selected from a list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention is presented. At 500, a PPP session authentication request that includes a domain name is received. At 505, a tunnel ID is determined, based upon the domain name and a virtual circuit identifier such as a VPI/VCD identifier. At 510, a determination is made regarding whether the domain name is authorized. If the domain name is unauthorized, the call is dropped at 515. If the domain is authorized, the PPP session is forwarded onto the tunnel at 520.
FIGS. 6-11 illustrate three different embodiments of the present invention. FIGS. 6-7 and 8-9 illustrate two embodiments that maintain domain restriction data globally in an AAA server or similar device. The embodiment illustrated by FIGS. 6-7 requires two message exchanges between an AAA server and a LAC device, while the embodiment illustrated by FIGS. 8-9 requires only one message exchange. FIGS. 10-11 illustrate an embodiment of the present invention that maintains domain restriction data locally in a LAC or similar device.
Turning now to FIG. 6, a detailed block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a global list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention is presented. A first receiving interface 600 of LAC 605 receives a PPP authentication request 610. The PPP authentication request 610 includes a domain name 615. The request 610 is received at a particular DSLAM port associated with a virtual circuit identifier such as a VPI/VCI identifier. A domain list request generator 620 generates a domain list request packet and a first forwarding interface 625 sends a request packet to an AAA server 630. The packet includes the virtual circuit identifier 635 associated with the virtual channel used to receive the PPP session 610. The AAA server 630 receives the domain list request 640, performs a table lookup using table 645 to obtain a list of authorized domain names associated with the virtual circuit ID and returns the list of authorized domain names 650. A second receiving interface 655 receives the list of authorized domain names 650. An assessor 660 determines whether the domain identifier 615 is in the list of authorized domain names 650. If the domain name 615 is not in the list of authorized domain names 650, the call is dropped. If the domain name 615 is in the list of authorized domain names 650, a tunnel ID request generator 660 generates a tunnel ID request and a second forwarding interface 665 sends the tunnel ID request 670 to the AAA server 630. The tunnel ID request 670 includes the PPP authentication packet domain name 615. The AAA server 630 receives the tunnel ID request 670, performs a table lookup using table 675 to obtain the tunnel ID associated with the PPP authentication packet domain name 610 and returns the tunnel ID 680. A third receiving interface 685 receives the tunnel ID 680. An authorizer 690 authorizes user access to the domain 610 when the assessor 660 determines access is authorized and when a tunnel ID 680 is received. A third forwarding interface 690 forwards the PPP session 610 to the LNS 695 associated with the tunnel ID 680.
Turning now to FIG. 7, a detailed flow diagram that illustrates a method for determining a tunnel ID based on a path ID and a PPP authentication request domain name in accordance with one embodiment of the present invention is presented. FIG. 7 provides more detail for reference numeral 505 of FIG. 5. At 700, an authorized domain list request including a virtual circuit ID is sent to an AAA server. At 705, a list of authorized domains for the virtual circuit ID is received. At 710, a determination is made regarding whether the PPP authentication request domain name is in the list of authorized domain names. If the domain name is not in the list, an indication that the domain name is unauthorized is made at 715. If the domain name is in the list, at 720, a tunnel ID request including the PPP authentication request domain name is sent to the AAA server. At 725, a tunnel ID associated with the PPP authentication request domain name is received.
FIGS. 8 and 9 illustrate another embodiment of the present invention that maintains domain restriction data globally in an AAA server or similar device. The embodiment requires only one message exchange between an LAC device and an AAA server.
Turning now to FIG. 8, a detailed block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a global list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention is presented. A first receiving interface 800 of LAC 805 receives a PPP authentication request 810 that includes a domain name 850. The request 810 is received at a particular DSLAM port associated with a virtual circuit identifier 815 such as a VPI/VCI identifier. A tunnel ID request generator 820 generates a tunnel ID request 825 and a first forwarding interface 830 sends the tunnel ID request 825 to the AAA server 835. The tunnel ID request 825 includes the virtual circuit ID 815 associated with the virtual circuit used to receive the PPP authentication request 810 and the domain name included in the PPP authentication request 850. An AAA server 835 receives the tunnel ID request 825 and performs a table lookup using table 840 to obtain a list of authorized domain names associated with the virtual circuit ID. An assessor 845 determines whether the domain name included in the PPP authentication request 850 is in the list of authorized domain names. If the domain name 850 is not in the list of authorized domain names, an indication that the domain access is unauthorized is made. If the domain name 850 is in the list of authorized domain names, the AAA server 835 performs a table lookup using table 855 to obtain the tunnel ID 860 associated with the PPP authentication packet domain name 850. The AAA server 835 returns the authorization indication 865 and the tunnel ID 860. A second receiving interface 870 receives the authorization indication 865 and tunnel ID 860. An authorizer 875 authorizes user access to the domain 850 according to the authorization indication 865. A third forwarding interface 880 forwards the PPP session 810 to the LNS 885 associated with the tunnel ID 860. If domain access is unauthorized, the call is dropped.
Turning now to FIG. 9, a detailed flow diagram that illustrates a method for determining a tunnel ID based on a path ID and a PPP authentication request domain name in accordance with one embodiment of the present invention is presented. FIG. 9 provides more detail for reference numeral 505 of FIG. 5. At 900, a tunnel ID request including a virtual circuit identifier such as a VPI/VCI ID and the PPP authentication request domain name are sent to an AAA server. The AAA server determines whether the subscriber access to the domain is authorized. If subscriber access is authorized, the AAA server determines the tunnel ID associated with the domain. At 905, the tunnel ID and an indication of whether the PPP authentication request domain name is authorized are received from the AAA server.
FIGS. 10 and 11 illustrate an embodiment of the present invention that maintains domain restriction data locally in a LAC or similar device. FIG. 10 is a detailed block diagram of a differentiated computer network that has the capability to limit subscriber access to the system to any domain network selected from a global list of domain networks associated with a virtual circuit in accordance with one embodiment of the present invention. A receiving interface 1000 of LAC 1005 receives a PPP authentication request 1010 that includes a domain name 1015. The PPP authentication request request 1010 is received at a particular DSLAM port associated with a virtual circuit identifier 1020 such as a VPI/VCI identifier. An authorized domain list determiner 1025 performs a table lookup using table 1030 to obtain a list of authorized domain names associated with the virtual circuit ID 1020 associated with the virtual channel used to receive the PPP session 1010. An assessor 1035 determines whether the domain name 1015 included in the PPP authentication request 1010 is in the list of authorized domain names. If the domain name 1015 is not in the list of authorized domain names, the call is dropped. If the domain name 1015 is in the list of authorized domain names, a tunnel ID determiner 1040 performs a table lookup using table 1045 to obtain the tunnel ID associated with the PPP authentication packet domain name 1015. An authorizer 1050 authorizes user access to the domain 1015 when the domain name 1015 is in the list of authorized domain names. A forwarding interface 1055 forwards the PPP session 1010 to the LNS 1060 associated with the tunnel ID.
Turning now to FIG. 11, a detailed flow diagram that illustrates a method for determining a tunnel ID based on a path ID and a PPP authentication request domain name in accordance with one embodiment of the present invention is presented. FIG. 11 provides more detail for reference numeral 505 of FIG. 5. At 1100, a table lookup based on a virtual circuit ID such as a VPI/VCI identifier is performed to obtain a list of authorized domain names associated with the virtual circuit ID. At 1105, a determination is made regarding whether the PPP authentication request domain name is in the list of authorized domain names. If the domain name is not in the list, an indication that the domain name is unauthorized is made at 1110. If the domain name is in the list, at 1115, a table lookup based on the domain name is performed to obtain the tunnel ID associated with the domain name.
FIGS. 12-13 are tables that illustrate tunnel configuration information that may be stored in a LAC, an AAA server, or other similar devices in accordance with embodiments of the present invention. FIG. 12 is a table that illustrates associating virtual circuit identifiers 1200 with authorized domain names 1205 in accordance with one embodiment of the present invention. FIG. 13 is a table that illustrates associating domain names 1300 with tunnel identifiers 1305 in accordance with one embodiment of the present invention. In the example, a port having a virtual circuit ID of 10/2 (1210) may establish tunnels with corpA.com (1215, 1310) or corpB.com (1220, 1315), using tunnel IDs 1320 and 1325, respectively.
According to embodiments of the present invention, the information contained in the tables illustrated in FIGS. 12 and 13 is requested by the domain owner to be placed in AAA servers or LACs. It allows the service provider or wholesaler the capability to restrict which domains a PPP session originating from a particular DSLAM port may connect to. This provides added security to the owner of the private domain by lessening the likelihood of an unauthorized access to the home gateway of a corporate intranet. It also allows a wholesaler to charge service providers and subscribers based on which domains are authorized. The service provider or wholesaler would have the control over which ports are allocated to which domains and are, thus, limited to those domains.
Although embodiments of the present invention is have been described with respect to virtual circuits in an ATM networking environment, it should be understood that a virtual circuit assigned to a subscriber in system may be defined in any suitable networking environment using any suitable communication technologies and protocols, without deviating from the scope of the present invention.
In accordance with a specific embodiment of the present invention, the components, process steps, and/or data structures are implemented using software. This implementation is not intended to be limiting in any way. Different implementations may be used and may include other types of operating systems, computing platforms, and/or computer programs. In addition, those of ordinary skill in the art will readily recognize that devices of a less general purpose nature, such as hardwired devices, devices relying on FPGA (field programmable gate array) or ASIC (application specific integrated circuit) technology, or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herewith.
While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art having the benefit of this disclosure that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

## Claims

1. An access server capable of allowing subscribers of a communications system to gain exclusive access to a domain site associated with a virtual circuit, said access server comprising:
a memory device capable of storing a domain list table and a tunnel ID table, said domain list table including a plurality of virtual circuit identifiers and associated domain site identifiers, said tunnel ID table including a plurality of domain names and associated tunnel IDs;
an authorized domain list determiner capable of determining an authorized domain list based upon said domain list table and a domain site identifier with a Point-to-Point Protocol (PPP) authentication request, said PPP authentication request received on a virtual circuit having a virtual circuit identifier;
an assessor capable of determining whether said domain site identifier within said PPP authentication request is in said authorized domain list;
a tunnel ID determiner capable of determining a tunnel ID based upon said tunnel ID table and said domain site identifier; and
an authorizer capable of granting subscribers domain site access based upon said authorized domain list.

2. The access server of claim 1, further comprising:
a receiving interface capable of accepting said PPP session authentication request; and
a forwarding interface capable of forwarding said PPP session on a tunneling session associated with said tunnel ID.

3. The access server of claim 2 wherein said tunneling session comprises Layer 2 Tunneling Protocol (L2PT) session.

4. The access server of claim 3 wherein said virtual circuit identifier comprises a Virtual Path Identifier (VPI)/Virtual Channel Identifier (VCI).

5. The access server of claim 1 wherein said first receiving interface comprises at least one access multiplexer, each access multiplexer having a plurality of inputs for receiving a service request, each of said inputs being associated with a particular subscriber virtual circuit.

6. A method for controlling subscriber access in a network capable of establishing connections with a plurality of domain sites, comprising:
receiving an L2TP session from a subscriber using a first communication network coupled to at least one other communication network, said L2TP session optionally including a domain site identifier associated with a domain site on said at least one other communication network;
determining whether said subscriber is authorized to access said domain site based upon said domain site identifier and a list of authorized domain sites for a virtual circuit through which said L2TP session is received, said determining comprising:
issuing an authorized domain list request including a virtual circuit identifier;
receiving an authorized domain list that includes domain site identifiers of authorized domain sites for said virtual circuit identifier;
indicating said domain site is unauthorized when said domain site identifier included in said L2TP session is not in said authorized domain list;
indicating said domain site is authorized when said domain site identifier is in said authorized domain list;
issuing a tunnel ID request including said domain site identifier when said domain site is authorized;
receiving a tunnel ID; and
assigning said tunnel ID; and

authorizing subscriber access to said domain site when said domain site identifier is included
in said authorized domain list, wherein said L2TP session is forwarded onto a tunnel associated with said tunnel ID when said subscriber is authorized to access said domain site.

7. The method of claim 6 wherein
said authorized domain list request is serviced by an Authentication, Authorization and Accounting (AAA) server; and
said AAA server services said tunnel ID request.

8. The method of claim 6 wherein said virtual circuit identifier comprises a VPI/VCI identifier.

9. A method for controlling subscriber access in a network capable of establishing connections with a plurality of domain sites, comprising:
receiving an L2TP session from a subscriber using a first communication network coupled to at least one other communication network, said L2TP session optionally including a domain site identifier associated with a domain site on said at least one other communication network;
determining whether said subscriber is authorized to access said domain site based upon said domain site identifier and a list of authorized domain sites for a virtual circuit through which said L2TP session is received, said determining comprising:
performing a table lookup based on a virtual circuit identifier to obtain an authorized domain list that includes domain site identifiers of authorized domain sites for said virtual circuit identifier;
indicating said domain site is unauthorized when said domain site identifier included in said L2TP session is not in said authorized domain list;
indicating said domain site is authorized when said domain site identifier included in said L2TP session is in said authorized domain list;
performing a table lookup based on said domain site identifier to obtain a tunnel ID when said domain site is authorized; and
assigning said tunnel ID; and

authorizing subscriber access to said domain site when said domain site identifier is included
in said authorized domain list, wherein said L2TP session is forwarded onto a tunnel associated with said tunnel ID when said subscriber is authorized to access said domain site.

10. The method of claim 9 wherein said virtual circuit identifier comprises a VPI/VCI identifier.

11. A program storage device readable by a machine, embodying a program of instructions executable by the machine to perform a method to control subscriber access in a network capable of establishing connections with a plurality of domain sites, the method comprising:
receiving an L2TP session from a subscriber using a first communication network coupled to at least one other communication network, said L2TP session optionally including a domain site identifier associated with a domain site on said at least one other communication network;
determining whether said subscriber is authorized to access said domain site based upon said domain site identifier and a list of authorized domain sites for a virtual circuit through which said L2TP session is received, said determining comprising:
issuing an authorized domain list request including a virtual circuit identifier;
receiving an authorized domain list that includes authorized domain site for said virtual circuit identifier;
indicating said domain site is unauthorized when said domain site identifier included in said L2TP session is not in said authorized domain list;
indicating said domain site is authorized when said domain site identifier included in said L2TP session is in said authorized domain list;
issuing a tunnel ID request including said domain site identifier when said domain site is authorized;
receiving a tunnel ID; and
assigning said tunnel ID; and

authorizing subscriber access to said domain site when said domain site identifier is included
in said authorized domain list, wherein said L2TP session is forwarded onto a tunnel associated with said tunnel ID when said subscriber is authorized to access said domain site.

12. The method of claim 11 wherein said authorized domain list request is serviced by an AAA server; and said AAA server services said tunnel ID request.

13. The program storage device of claim 11 wherein said virtual circuit identifier comprises a VPI/VCI identifier.

14. A program storage device readable by a machine, embodying a program of instructions executable by the machine to perform a method to control subscriber access in a network capable of establishing connections with a plurality of domain sites, the method comprising:
receiving an L2TP session from a subscriber using a first communication network coupled to at least one other communication network, said L2TP session optionally including a domain site identifier associated with a domain site on said at least one other communication network;
determining whether said subscriber is authorized to access said domain site based upon said domain site identifier and a list of authorized domain sites for a virtual circuit through which said L2TP session is received, said determining comprising:
performing a table lookup based on a virtual circuit identifier to obtain an authorized domain list that includes domain site identifiers of authorized domain sites for said virtual circuit identifier;
indicating said domain site is unauthorized when said domain site identifier included in said L2TP session is not in said authorized domain list;
indicating said domain site is authorized when said domain site identifier included in said L2TP session is in said authorized domain list;
performing a table lookup based on said domain site identifier to obtain a tunnel ID when said domain site is authorized; and
assigning said tunnel ID; and


authorizing subscriber access to said domain site when said domain site identifier is included
in said authorized domain list, wherein said L2TP session is forwarded onto a tunnel associated with said tunnel ID when said subscriber is authorized to access said domain site.

15. The program storage device of claim 14 wherein said virtual circuit identifier comprises a VPI/VCI identifier.