# Patent

## Title
Methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying

## Abstract

The subject matter described herein includes methods, systems, and computer readable media for access network protocol interworking and authentication proxying. One method includes receiving an authentication request from a node in an access network for authenticating a user using cellular network authentication. The method further includes, in response to the request, using a native protocol of the cellular network to obtain an authentication challenge from a node in the cellular network. The method further includes communicating the authentication challenge to the node in the access network. The method further includes receiving a response to the authentication challenge from the node in the access network. The method further includes determining whether the response matches an expected response. The method further includes, in response to determining that the response matches the expected response, communicating an indication of successful authentication to the node in the access network.

## Background
TECHNICAL FIELD
The subject matter described herein relates to seamlessly authenticating users from non-3GPP access networks, either trusted or untrusted, using a 3GPP core subscriber server, such as an HLR or HSS. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying.
BACKGROUND
Mobile communications devices typically have two or more modes for accessing network services. For example, current mobile communications devices may be capable of accessing a cellular network (e.g., a long term evolution (LTE) or 3G network) and a Wi-Fi network. If a mobile communications device accesses the cellular network, through a cellular base station or e-node B, then cellular network authentication procedures occur automatically to authenticate the user to the network. If the device accesses a non-3GPP access network, such as a Wi-Fi network, then the mobile operator may desire automatic authentication to occur based on the subscriber's subscriber identity module (SIM) card. For example, extensible authentication protocol (EAP) authentication can be used between a Wi-Fi access gateway (WAG) and authentication, authorization, and accounting (AAA) server in the network. In such a case, EAP authentication occurs automatically when a subscriber activates his or her mobile communications device and the device attempts to attach to the network. The user is not required to enter authentication credentials.
In light of the different protocols and network nodes involved, there exists a need for seamlessly authenticating Wi-Fi users to cellular networks. Accordingly, there exists a long felt need for methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying.
SUMMARY
The subject matter described herein includes methods, systems, and computer readable media for access network protocol interworking and authentication proxying. One method includes steps performed in a Diameter signaling router. The steps include receiving an authentication request from a node in an access network for authenticating a user using cellular (3GPP) network authentication. The method further includes, in response to the request, using a native protocol of the cellular network to obtain an authentication challenge from a node in the cellular network. The method further includes communicating the authentication challenge to the node in the access network. The method further includes receiving a response to the authentication challenge from the node in the access network. The method further includes determining whether the response matches an expected response. The method further includes, in response to determining that the response matches the expected response, communicating an indication of successful authentication to the node in the access network.
The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. As such, the terms “function” “node” or “module” as used herein refer to hardware, which may also include software and/or firmware components, for implementing the feature being described. In one exemplary implementation, the subject matter described herein may be implemented using a computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a network diagram illustrating a protocol interworking and authentication proxying architecture according to an embodiment of the subject matter described herein;
FIG. 2A is a message flow diagram illustrating protocol interworking and authentication proxying performed by a DSR between a Diameter SWa interface and a Diameter SWx interface according to an embodiment of the subject matter described herein;
FIG. 2B is a continuation of the message flow illustrated FIG. 2A;
FIG. 3 is a message flow diagram illustrating protocol interworking and authentication proxying by a DSR between a Diameter SWa interface and a Diameter SWx interface where the authentication is rejected by a home subscriber server (HSS) according to an embodiment of the subject matter described herein;
FIG. 4A is a message flow diagram illustrating protocol interworking and authentication proxying by a DSR between a Diameter SWa interface and a Diameter S6a interface according to an embodiment of the subject matter described herein;
FIG. 4B is a continuation of the message flow illustrated in FIG. 4A;
FIG. 5A is a message flow diagram illustrating protocol interworking and authentication proxying by a DSR between a Diameter SWa interface and an SS7 mobile application part (MAP) interface according to an embodiment of the subject matter described herein;
FIG. 5B is a continuation of the message flow diagram of FIG. 5A;
FIG. 6A is a message flow diagram illustrating protocol interworking and authentication proxying by a DSR between a remote authentication dial in user service (RADIUS) interface and a Diameter SWx interface according to an embodiment of the subject matter described herein;
FIG. 6B is a continuation of the message flow diagram illustrated in FIG. 6A;
FIG. 7A is a message flow diagram illustrating protocol interworking and authentication proxying by a DSR between a RADIUS interface and a Diameter S6a interface according to an embodiment of the subject matter described herein;
FIG. 7B is a continuation of the message flow diagram illustrated in FIG. 7A;
FIG. 8A is a message flow illustrating protocol interworking and authentication proxying by a DSR between a RADIUS interface and a MAP interface according to an embodiment of the subject matter described herein;
FIG. 8B is a continuation of the message flow illustrated in FIG. 8A;
FIG. 9 is a flow chart illustrating an exemplary process for access network protocol interworking and authentication proxying according to an embodiment of the subject matter described herein; and
FIG. 10 is a block diagram of a DSR implementing an interworking and authentication proxy according to an embodiment of the subject matter described herein.



DETAILED DESCRIPTION
The subject matter described herein includes methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying. FIG. 1 is a network diagram illustrating a Diameter signaling router (DSR) that performs access network protocol interworking and authentication proxying according to an embodiment of the subject matter described herein. Referring to FIG. 1, a DSR 100 performs the steps described herein for seamlessly authenticating users that access a non-3GPP access network, such as a Wi-Fi network, using authentication information obtained from nodes in the cellular (3GPP) network. In the illustrated example, DSR 100 interfaces with client 102 using RADIUS and with client 104 using Diameter messaging on a Diameter SWa, STa, or SWm interface. Clients 102 and 104 may be Wi-Fi access gateways through which mobile devices connect to a Wi-Fi access network.
DSR 100 communicates with a home location register (HLR) 106 using MAP, with HSS 108 using Diameter messaging on a Diameter SWx interface and with HSS 110 using Diameter messaging on a Diameter S6a interface. DSR 100 may appear as an AAA server to both clients 102 and 104 and nodes 106, 108, and 110. Appearing as an AAA server to clients 102 and 104 may include terminating authentication signaling from clients 102 and 104, obtaining authentication challenge information from nodes 106, 108, and 110, communicating that challenge information to clients 102 and 104, receiving responses to the challenge information, determining whether the challenge responses match the challenge information, and communicating an indication of successful or unsuccessful authentication to nodes 106, 108, and 110. Because DSR 100 is required to store expected result information, DSR 100 is stateful with respect to authentication information.
One type of authentication proxying and protocol interworking performed by DSR 100 is authentication proxying and protocol interworking between a Diameter SWa (or STa, SWm) interface and a Diameter SWx interface. FIG. 2A illustrates an exemplary message flow for Diameter SWa to Diameter SWx interworking and authentication proxying performed by DSR 100 according to an embodiment of the subject matter described herein. Not all AVPs may be shown in the messages. Referring to FIG. 2A, client 104 sends a Diameter extensible authentication protocol (EAP) request (DER) message to DSR 100 on the SWa interface in response to a client seeking cellular network authentication when attempting to access the cellular network through a Wi-Fi network. The base extensible authentication protocol is described in IETF RFC 3748, Extensible Authentication Protocol (EAP), June 2004. RADIUS support for EAP is described in IETF RFC 3579, RADIUS (Remote Authentication Dial In User Service) Support for Extensible Authentication Protocol (EAP), September 2003. EAP methods for third generation authentication are found in IETF RFC 4187, Extensible Authentication Protocol Method for 3rd Generation Authentication and Key Agreement (EAP-AKA), January 2006 and IETF RFC 5488, Extensible Authentication Protocol Method for 3rd Generation Authentication and Key Agreement (EAP-AKA′), May 2009. The use of EAP for SIM card authentication is described in IETF RFC 4186, Extensible Authentication Protocol Method for Global System for Mobile Communications (GSM) Subscriber Identity Modules (EAP-SIM), January 2006. The disclosure of each of these RFCs is incorporated herein by reference in its entirety.
Returning to FIG. 2A, the DER message includes an EAP payload AVP and information for identifying mobile device from the mobile device's SIM card. In the illustrated example, this information includes the client international mobile station identity (IMSI). The DER message also includes an authentication application identifier identifying the application seeking authentication as an STa application. The DER message identifies client 104 as the origin host. The EAP payload in the message identifies the message as an EAP response including a real or pseudo identifier for the mobile device seeking authentication.
Because the SWx interface is a Diameter interface that does not use the EAP protocol, DSR 100 cannot simply forward the EAP payload to the authenticating entity in the cellular network. Accordingly, DSR 100 terminates the EAP protocol on the SWa interface and issues authentication messaging to HSS 108 according to the native protocol used for authentication by HSS 108. In the illustrated example, the native protocol is Diameter SWx. Accordingly, in response to the DER message, DSR 100 communicates with HSS 108 using a Diameter multimedia-auth-request (MAR) message to obtain authentication vectors. The MAR message includes the IMSI. The MAR message identifies the origin host as client 104 and the destination host as HSS 108. In response to the MAR message, HSS 108 extracts the IMSI from the MAR message and performs a lookup in its subscriber database. If HSS 108 locates a record for the subscriber, HSS 108 extracts authentication vectors, including authentication challenge information to be presented to the mobile device seeking authentication. HSS 108 formulates a multimedia-auth-answer (MAA) message including the authentication challenge information. The MAA message also includes authentication vector from which DSR 100 derives keys usable by the mobile device to access the network. One key that is derived is a master session key which is usable for link-level security when communicating messaging between the mobile device and the cellular network.
Upon receiving the MAA message, DSR 100 stores an expected response to the authentication challenge information and formulates and sends a Diameter EAP answer (DEA) message to client 104. The DEA message includes authentication information, such as an AT_RAND field that contains GSM RAND parameters, AT_AUTN, etc. This information is to be presented to the mobile device seeking authentication. The DEA message may also include an AT_MAC (message authentication code) that contains an authentication code calculated over the EAP payload and used to authenticate the EAP message.
FIG. 2B is a continuation of the message flow illustrated in FIG. 2A. Upon receiving the MAA message including the authentication challenge information, client 104 communicates the challenge information to the mobile device, and the SIM card on the mobile device computes a response to the authentication challenge and communicates the response to client 104. In message 5 in FIG. 2B, which is a Diameter DER message, client 104 communicates the response to DSR 100. Upon receiving the authentication challenge, DSR 100 accesses the stored expected response and determines whether the received response matches the expected response. If the received response matches the expected response, DSR 100 forwards DEA message 6A indicating a successful authentication to client 104, which forwards the message to the mobile device seeking authentication. The DEA message includes the master session key. If the authentication is not successful, DSR 100 sends message 6B, which is a DEA message indicating an EAP authentication failure.
Thus, using these steps illustrated in FIGS. 2A and 2B, DSR 100 functions as an AAA proxy for SWa to SWx authentication and performs protocol interworking between the Diameter SWa and Diameter SWx interfaces. Additional details and variations of the EAP protocol are not illustrated in FIGS. 2A and 2B but can be found in the above-referenced RFC for the EAP protocol.
FIG. 3 is a message flow diagram illustrating exemplary messages exchanged for SWa to SWx authentication proxying and protocol interworking when HSS 108 rejects the authentication. In FIG. 3, message 1 and message 2 are the same as those illustrated in FIG. 2A. However, rather than sending a MAA message as message 3, which includes the authentication vectors, HSS 108 sends a result code indicating an error. Such a message may be sent if there is no record for the user in HSS 108. Upon receiving the MAA message, DSR 100 formulates a DEA message indicating an EAP authentication failure and sends the DEA message to client 104 over the SWa interface.
As stated above, another type of authentication proxying and protocol interworking that may be performed by DSR 100 is Diameter SWa (or STa, SWm) to Diameter S6a authentication proxying and protocol interworking. FIG. 4A is a message flow diagram illustrating exemplary SWa to S6a authentication proxying and protocol interworking by DSR 100. Not all AVPs may be shown in the messages. Referring to FIG. 4A, when a mobile device seeks access to a cellular network via a non-3GPP access network, client 104 sends message 1, which is a DER message, to DSR 100. The DER message is the same as that illustrated in FIG. 2A. In response to the DER message, DSR 100 formulates and sends message 2, which is a Diameter Authentication Information Request (AIR) message, to HSS 110 over the S6a interface. The AIR message includes the IMSI and requests authentication information from HSS 110.
In response to receiving the AIR message, HSS 110 performs a lookup in its subscriber database using the IMSI to locate the authentication record for the subscriber. If the authentication record exists, HSS 110 formulates an Authentication Information Answer (AIA) message, including the requested authentication information. The authentication information includes authentication challenge information and expected response information. In response to receiving the AIA message, DSR 100 formulates and sends message 4, which is the Diameter DEA message that contains the authentication challenge information.
Referring to FIG. 4B and continuing with the message flow in FIG. 4A, in response to receiving the DEA message, client 104 forwards the authentication challenge information to the mobile device seeking authentication. The mobile device computes a response to the challenge and sends the response back to client 104. In response to receiving the computed response, client 104 forwards a Diameter DER message including the computed response to DSR 100 and the SWa interface. DSR 100 determines whether the received response matches the stored response for the authentication challenge. If the received response matches the stored response, the authentication is successful. If the received response does not match the stored response, the authentication is unsuccessful. If the authentication is successful, DSR 100 sends a DEA message indicating successful authentication, as illustrated by message 6A. If the authentication fails, DSR 100 sends message 6B, which is a DEA message indicating authentication failure. Thus, using the steps illustrated in FIGS. 4A and 4B, DSR 100 performs authentication proxying and protocol interworking between Diameter SWa and Diameter S6a interfaces.
As stated above, another type of authentication proxying and protocol interworking that may be performed by DSR 100 is authentication proxying and protocol interworking for Diameter SWa (or STa, SWm) to MAP. MAP is an SS7-based protocol used for mobility management, registration, and authentication in SS7 networks. FIG. 5A illustrates exemplary messages exchanged for Diameter SWa (or STa, SWm) to MAP authentication proxying and protocol interworking according to an embodiment of the subject matter described herein. Not all AVPs or parameters may be shown in the messages. Referring to FIG. 5A, when a user seeks to access cellular network authentication servers from a non-3GPP network, client 104 sends a Diameter DER message to DSR 100 on the SWa interface. DSR 100, in response to receiving the DER message, formulates and sends to HLR 106 a GSM MAP send authentication information (SAI) message. The SAI message includes the subscriber's IMSI.
In response to receiving the SAI message, HLR 106 performs a lookup in its subscriber database using the IMSI and locates an authentication record for the subscriber. HLR 106 then formulates and sends MAP SAI acknowledge message to DSR 100. The SAI acknowledge message includes authentication challenge information and expected response information.
Upon receiving the SAI acknowledge message, DSR 100 stores the expected response information and forwards the authentication challenge information to client 104 in an EAP payload carried in a DEA message.
Referring to FIG. 5B, in response to receiving the DEA message, client 104 forwards the authentication challenge information to the mobile device seeking access to the network. The mobile device computes a response to the challenge and communicates the response to client 104. Client 104, in response to receiving the computed response from the mobile device, formulates and sends a Diameter EAP response message to DSR 100 including the response. DSR 100 compares the received response to the stored expected response. If the received response matches the expected response, DSR 100 formulates and sends message 6A, which is a DEA message indicating successful EAP authentication and including the master session key. If the authentication is not successful, DSR 100 formulates and sends message 6B, which is a DEA message indicating authentication failure and which does not include the master session key. Accordingly, as illustrated in FIGS. 5A and 5B, DSR performs authentication proxying and protocol interworking for SWa to MAP authentication.
Another type of authentication proxying and protocol interworking that may be performed by DSR 100 is authentication proxying and protocol interworking between a RADIUS interface and a Diameter SWx interface. FIG. 6A illustrates an exemplary message flow for RADIUS to Diameter SWx interworking that may be performed by DSR 100. Not all AVPs or attributes may be shown in the messages. Referring to FIG. 6A, when a mobile device accesses an access network that uses RADIUS and seeks automatic SIM card authentication, client 102 may send a RADIUS access request message with an EAP payload to DSR 100. In response to receiving the access request message, DSR 100 formulates a Diameter MAR message and sends the message to HSS 108 on the SWx interface. The MAR message requests authentication challenge information.
In response to receiving the MAR message, HSS 108 performs a lookup in its subscriber database using the IMSI in the MAR message to locate a record corresponding to the mobile subscriber. In the illustrated example, HSS 108 locates the record and formulates and sends message 3, which is an MAA message that includes authentication vector(s), including an authentication challenge and expected result. HSS 108 sends the MAA message to DSR 100. DSR 100 terminates the Diameter MAA message and formulates a corresponding RADIUS access challenge message. The access challenge message includes an EAP payload with the challenge(s) to be delivered to the mobile device seeking authentication.
Referring to FIG. 6B, in response to receiving the RADIUS access challenge message, client 102 forwards the authentication challenge information to the mobile device seeking access to the network. The mobile device seeking access to the network formulates the challenge response and sends the challenge the response to client 102. Client 102 formulates message 5, which is a RADIUS access request message including the computed access challenge information. Client 102 sends the access request message to DSR 100. DSR 100 compares the challenge response in the access request message to the expected response. If the challenge response is equal to the expected response, DSR 100 formulates message 6A, which is a RADIUS access accept message with an EAP message indicating successful authentication. If the received response is not equal to the expected response, DSR 100 formulates and sends message 6B, which is a RADIUS access reject message indicating an authentication failure.
Yet another type of authentication proxying and protocol interworking that may be performed by DSR 100 is RADIUS to Diameter S6a authentication proxying and protocol interworking. FIG. 7A is a message flow diagram illustrating exemplary messages exchanged in performing RADIUS to Diameter S6a authentication interworking and protocol proxying according to an embodiment of the subject matter described herein. Not all AVPs or attributes may be shown in the messages. Referring to FIG. 7A, when a mobile device seeks automatic SIM card authentication from an access network that uses RADIUS, the mobile device sends an authentication request to client 102. Client 102 formulates and sends a RADIUS access request message to DSR 100. In response to receiving the RADIUS access request message, DSR 100 formulates and sends a Diameter AIR message to HSS 110 on the S6a interface. In response to the AIR message, HSS 110 performs a lookup in its subscriber database to locate a record for the mobile subscriber. If the record is located, HSS 110 responds with message 3, which is a Diameter AIA message containing authentication vector(s). HSS 110 sends the Diameter AIA message to DSR 100. In response to receiving the Diameter AIA message, DSR 100 formulates and sends a RADIUS access challenge message including the challenge information and sends the message to client 102.
Referring to FIG. 7B, when client 102 receives the RADIUS access challenge message, client 102 sends the challenge information to the mobile device seeking authentication. The mobile device seeking authentication computes the challenge response and delivers the response to client 102. Client 102 formulates and sends message 5 to DSR 100. Message 5 is a RADIUS access request message including the computed challenge response information. DSR 100 compares the received challenge response with the stored challenge response. If the received challenge response is equal to the stored challenge response, DSR 100 responds with message 6A, which is a RADIUS access accept message indicating successful authentication. If the received authentication response does not match the stored response, DSR 100 formulates and sends message 6B, which is a RADIUS access reject message indicating authentication failure. Thus, DSR 100 functions as an AAA proxy and performs RADIUS to Diameter S6a protocol interworking.
Yet another type of authentication proxying and protocol interworking that may be performed by DSR 100 is RADIUS to SS7 MAP authentication proxying and protocol interworking. FIG. 8A illustrates exemplary messaging exchanged for RADIUS to SS7 MAP authentication proxying and protocol interworking. Not all attributes or parameters may be shown in the messages. Referring to FIG. 8A, when a mobile device accesses a network managed by client 102, client 102 sends a RADIUS access request message to DSR 100. The access request message may include information for identifying the subscriber. DSR 100 terminates the access request message and formulates and sends a MAP SAI message to HLR 106. Upon receiving the SAI message, HLR 106 performs a lookup in its subscriber database to locate a record corresponding to the subscriber seeking authentication. If a record exists, HLR 106 sends an SAI acknowledge message including authentication information to DSR 100. DSR 100 stores the expected response and sends a RADIUS access challenge message including the authentication challenge information to client 102.
Referring to FIG. 8B, when client 102 receives the access challenge information, client 102 provides the challenge information to the mobile device seeking authentication. The mobile device computes a response to the challenge and delivers the response to client 102. Client 102 inserts the response information in a RADIUS access request message and sends the message to DSR 100. DSR 100 compares the received response with the stored response. If the received response matches the stored response, DSR 100 responds with message 6A, which is a RADIUS access accept message. If the received access response does not match the stored response, DSR 100 responds with message 6B, which is a RADIUS access reject message indicating an authentication failure. Thus, DSR 100 according to an embodiment of the subject matter described herein performs RADIUS to MAP authentication proxying and protocol interworking.
FIG. 9 is a flow chart illustrating an exemplary process for authentication proxying and protocol interworking according to an embodiment of the subject matter described herein. Referring to FIG. 9 in step 900, a message requesting authentication information is received. The message may originate from a node in a non-3GPP access network. The message may be received by DSR 100 and may be any of the types described above, e.g., RADIUS, Diameter, or other protocol. If the message is a Diameter protocol message, the message may be a Diameter SWa message, a Diameter STa message, or a Diameter SWm message.
In step 902, the native protocol of the cellular network is used to obtain authentication challenge information from the cellular network. For example, DSR 100 may use Diameter or MAP signaling to obtain authentication challenge information from an HLR or an HSS. If Diameter signaling is used, the type of message used to communicate with the node in the cellular network may be a Diameter S6a message. The DSR may store the authentication challenge information as state information for the authentication session.
In step 904, the authentication challenge information is communicated to the node in the access network that sent the access request message. For example, DSR 100 may send a RADIUS, Diameter, or other protocol message to communicate the challenge information to the node in the access network. If the message is a Diameter protocol message, the message may be a Diameter SWa message, a Diameter STa message, or a Diameter SWm message.
The node in the access network may communicate the challenge information to the mobile device seeking authentication. The mobile device may compute the required challenge response and send the response to the access point or the client node. The client node may send this information to the DSR in an authentication response message. The authentication response message may be a RADIUS message or a Diameter protocol message, such as a Diameter SWa message, a Diameter STa message, or a Diameter SWm message. In step 906, the DSR receives the authentication response from the node in the access network.
In step 908, the DSR determines whether the response matches the expected response. Determining whether the response matches the expected response may include accessing the state information stored by the DSR for the authentication session and determining whether the state information matches the authentication response computed by the mobile device.
If the response matches the expected response, control proceeds to step 910 where the DSR authenticates the mobile device to the cellular network by communicating the successful authentication to the device via the client. Control then returns to step 900 for processing the next authentication request. If, on the other hand, the response does not equal the expected response, control proceeds to step 912 where an indication of authentication failure is communicated to the mobile device. Control then proceeds to step 900 to process the next authentication request. Thus, using these steps illustrated in FIG. 9, a DSR may perform seamless authentication proxying and protocol interworking for a variety of different access network protocols and interfaces.
As stated above, authentication proxying and protocol interworking as described herein may be implemented on a DSR. FIG. 10 is a block diagram illustrating an exemplary architecture for DSR that implements authentication proxying and protocol and interworking according to an embodiment of the subject matter described herein. Referring to FIG. 10, DSR 100 includes a plurality of message processors 1000, 1002, 1004, and 1006 that perform various functions associated with Diameter routing, protocol interworking, and authentication proxying. Each message processor 1000, 1002, 1004, and 1006 may be implemented as a printed circuit board or blade that includes at least one processor 1008 and memory 1010. Message processors 1000, 1002, 1004, and 1006 may be connected to each other via a bus or other suitable internal connection. A hypervisor (not shown in FIG. 10) may execute on each message processor 1000, 1002, 1004, and 1006 to virtualize access to underlying hardware resources, allowing the Diameter routing, protocol interworking, and authentication proxying components described herein to execute in virtual machine environments.
In the illustrated example, message processor 1000 includes a Diameter connection layer (DCL) 1012 and a Diameter routing layer (DRL) 1013. DCL 1012 performs functions for establishing Diameter connections with other nodes over Diameter interfaces, such as SWa, S6a and SWx interfaces. DRL 1014 routes messages based on Diameter level information in the messages.
Message processor 1002 includes a RADIUS connection layer (RCL) 1016 that establishes and maintains RADIUS connections with other nodes. Message processor 1002 also includes a RADIUS routing layer (RRL) 1018 that routes RADIUS messages based on RADIUS level information in the messages. Message processor 1002 also includes a SIGTRAN layer 1020 that implements transport layer services for SS7 messages. Message processor 1002 also includes an SS7 level 3 routing function 1022 that routes SS7 messages based on SS7 level 3 information in the messages. In an alternate implementation, RADIUS messages may be encapsulated in Diameter messages for internal distribution within DSR 100, and RRL 1018 may be replaced by a Diameter routing layer.
Message processor 1004 includes an address resolution module 1024 that performs range based address resolution and individual subscriber identifier address resolution for RADIUS, Diameter, and SS7 messages. Such address resolution may include performing a lookup based on an IMSI or an MSISDN number in a message to determine the appropriate destination for the message and inserting the routing information in the messages for routing the messages to the appropriate destination. Message processor 1004 may also include an interworking and authentication proxy (IAP) 1026 that performs the authentication proxying and protocol interworking functions described herein. For example, IAP 1026 may perform the RADIUS, Diameter, and MAP interworking functions required to authenticate users seeking access to the cellular network via a non-3GPP access network. Message processor 1006 may be identically provisioned to message processor 1004 and may be provided for redundancy or load sharing purposes.
Thus, when a Diameter message arrives at message processor 1000, DRL 1014 determines whether authentication proxying and protocol interworking processing is required. If such processing is required, DRL 1014 sends the message to one of messaging processors 1004 and 1006 for authentication proxying and protocol interworking. IAP 1026 on the receiving message processor performs the required authentication proxying function and formulates the outbound message. Address resolution may be performed to determine the routing information for the outbound message. IAP 1026 or address resolution module 1024 forwards the message to the appropriate message processor 1000 or 1002 with the message is forwarded to its intended next hop.
Accordingly, the architecture illustrated in FIG. 10 is a special purpose machine that performs protocol interworking and authentication proxying for authenticating users on different types of access networks using plural different types of cellular network authentication interfaces. The architecture illustrated in FIG. 10 improves the functionality of both access and cellular networks by seamlessly authenticating mobile devices to those networks without requiring the user to manually enter usernames and passwords. Seamless SIM card authentication regardless of the type of cellular network of a mobile device can be provided.

## Claims

1. A method for access network protocol interworking and authentication proxying comprising:
in a Diameter signaling router (DSR) including at least one processor:
receiving, from a remote authentication dial in user service (RADIUS) client in an access network that supports extensible authentication protocol (EAP) authentication, a RADIUS access request message with an EAP payload;
using a native protocol of a cellular network to obtain authentication challenge information from the cellular network, wherein the native protocol comprises Diameter and wherein using the native protocol comprises sending a first Diameter message to a home subscriber server (HSS) supporting Diameter authentication;
receiving, from the HSS, a second Diameter message including the authentication challenge information;
storing state information for determining an expected response to the authentication challenge information;
communicating the authentication challenge information to the RADIUS client in the access network by transmitting a RADIUS access challenge message to the RADIUS client;
receiving an authentication response from the RADIUS client in the access network;
determining whether the authentication response matches the expected response using the stored state information; and
in response to determining that the authentication response matches the expected response, sending a message to the RADIUS client in the access network indicating successful authentication.

2. The method of claim 1 wherein the first Diameter message comprises a Diameter S6a message.

3. The method of claim 1 wherein the first Diameter message comprises a Diameter SWx message.

4. A system for interworking and authentication proxying, the system comprising:
a Diameter signaling router (DSR) including at least one message processor;
an authentication and internetworking proxy implemented by the at least one message processor and configured for:
receiving, from a remote authentication dial in user service (RADIUS) client in an access network that supports extensible authentication protocol (EAP) authentication, a RADIUS access request message with an EAP payload;
using a native protocol of a cellular network to obtain authentication challenge information from the cellular network, wherein the native protocol comprises Diameter and wherein using the native protocol comprises sending a first Diameter message to a home subscriber server (HSS) supporting Diameter authentication;
receiving, from the HSS, a second Diameter message including the authentication challenge information;
storing state information for determining an expected response to the authentication challenge information;
communicating the authentication challenge information to the RADIUS client in the access network by transmitting a RADIUS access challenge message to the RADIUS client;
receiving an authentication response from the RADIUS client in the access network;
determining whether the authentication response matches the expected response using the stored state information; and
in response to determining that the authentication response matches the expected response, sending a message to the RADIUS client in the access network indicating successful authentication.

5. The system of claim 4 wherein the Diameter message comprises a Diameter S6a message.

6. The system of claim 4 wherein the Diameter message comprises a Diameter SWx message.

7. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor on a computer control the computer to perform steps comprising:
receiving, from a remote authentication dial in user service (RADIUS) client in an access network that supports extensible authentication protocol (EAP) authentication, a RADIUS access request message with an EAP payload;
using a native protocol of a cellular network to obtain authentication challenge information from the cellular network, wherein the native protocol comprises Diameter and wherein using the native protocol comprises sending a first Diameter message to a home subscriber server (HSS) supporting Diameter authentication;
receiving, from the HSS, a second Diameter message including the authentication challenge information;
storing state information for determining an expected response to the authentication challenge information;
communicating the authentication challenge information to the RADIUS client in the access network by transmitting a RADIUS access challenge message to the RADIUS client;
receiving an authentication response from the RADIUS client in the access network;
determining whether the authentication response matches the expected response using the stored state information; and
in response to determining that the authentication response matches the expected response, sending a message to the RADIUS client in the access network indicating successful authentication.