INTRODUCTION
IEEE 802.1x is a standard for port-based Network Access Control (PNAC), designed to provide an authentication mechanism for network devices to connect to LAN or WAN. The IEEE 802.1x protocol includes the encapsulation of the Extensible Authentication Protocol (EAP) over LAN (known as “EAPOL” or “EAP over LAN”) for messages exchange during the authentication process.
802.1x is implemented to accommodate the following:
- Authentication based on Network Access Identifier and credentials.
- Centralized authentication, authorization and accounting.
- Public Network Security.
- Distribution of dynamic encryption keys.
This guide will outline the use and configuration of 802.1x authentication on Grandstream IP Video Phones.
802.1X AUTHENTICATION PROCESS
802.1x Elements
The main elements interacting in 802.1x process are:
- Supplicant: PC, Laptop, IP phones and any other device aiming to connect to the network.
- Authenticator: Network switches/Wireless access points providing first connection level to supplicants.
- Authentication server: Server or device (Radius server, AD etc…) that can hold authentication credentials for all users and verify provided information exchanged by end points during authentication process.
Authentication Process
Please refer to following process describing how IEEE 802.1x operates:

- The client/supplicant sends an EAP-start message and a series of messages are exchanged to authenticate the client.
- The access point forwards the EAP-request identity message.
- The client sends an EAP-response packet that contains his identity to the authentication server.
- The server uses a specific authentication algorithm to verify the client’s identity.
- The authentication server sends either an accept message or a reject message to the access point.
- The access point sends an EAP-success packet or an EAP-reject packet to the client.
- When authentication server accepts the client, the access point transits the client’s port to an authorized state and forwards additional traffic.
Authentication Flowchart
Please refer to following diagram describing and summarizing an implementation of 802.1x authentication process:

EAP Methods for 802.1x Authentication
The following are the main types of EAP protocol for the 802.1x authentication supported:
- EAP-MD5 (EAP-Message Digest 5): Basic authentication method using Username/Password combination to verify authentication credentials and offering basic protection for the messages exchanged. This type offers lowest security level and can be used in wired networks only requiring basic security.
- EAP-TLS (EAP-Transport Level Security): Client and Server authentication need to have pre- installed certificates to be authenticated, since those certificates are required and TLS tunnel is created between the authentication server and client. This method is more secure and can be used for wired and wireless networks.
- EAP-PEAPv0/MSCHAPv2: The most common method form of PEAP; MSCHAP (Microsoft Challenge Handshake Authentication Protocol) allows authentication to databases supporting MS- CHAPv2 format, including Microsoft NT and Microsoft Active Directory and using a CA certificate at each client to authenticate with the server. It’s a mutual authentication method that supports password-based user or computer authentication. During the authentication process, both the server and client must prove that they have knowledge of the user’s password in order for authentication to succeed.
802.1X AUTHENTICATION CONFIGURATION
The configuration can be done either using the Web GUI or via phone keypad:
Via Web User Interface
To enable and configure 802.1x authentication using the web user interface on GXV33xx, please refer to following steps:
- Access to Web GUI of your device.
- Navigate to GXV33XX GUI > Network Settings > Ethernet Settings > 802.1X Mode.
- Choose from drop down list the 802.1x method desired (EAP_MD5, EAP_TLS or EAP-PEAP)
- If EAP-MD5 is selected:

- Enter the username in 802.1x Identity field for authentication.
- Enter the password in 802.1x Secret field for authentication.
- If EAP-TLS is selected:

- Enter the username in 802.1x Identity field for authentication.
- Enter the password in 802.1x Private Key Password field for authentication.
- Click Upload button to browse and load 802.1x CA Certificate, Client Certificate and Private Key.
- If EAP-PEAP is selected:

- Enter the username in 802.1x Identity field for authentication.
- Enter the password in 802.1x Secret field for authentication.
- Click Upload button to browse and load 802.1x CA Certificate (*.pem, *.cer, *.crt or *.der) from your local system.
- Press Save and Apply buttons and reboot your device to apply the new settings.
Via Phone Keypad
To enable and configure the 802.1x authentication using the keypad menu on GXV33xx, please refer to following steps:
- Press Menu button and navigate to Settings.
- Access to Network > Ethernet settings and navigate to Additional network settings
- Select 802.1X mode


- If EAP-MD5 is selected:

- Enter the username in Identity field for authentication.
- Enter the password in MD5 Password field for authentication.
- If EAP-TLS is selected:

- Enter the username in 802.1x Identity field for authentication.
- Enter the password in 802.1x Private Key Password field for authentication.
- Both, the 802.1x CA Certificate and 802.1x Client Certificate (*.pem, or *.cer) need to be provisioned or uploaded from the Web GUI.
- If EAP-PEAP is selected:

- Enter the username in 802.1x Identity field for authentication.
- Enter the password in 802.1x Secret field for authentication.
- Upload the 802.1x CA Certificate (*.pem, *.cer, *.crt or *.der) from the Web GUI.
Notes:
The GXV33XX supports 802.1X EAP authentication for both Ethernet and Wi-Fi connection. To access 8021x Wi-Fi settings, follow the steps below:
- Go to GXV Menu > Network > Wi-Fi > Add Network.
- Enter the SSID name, then select “802.1X EAP” under security parameter

- Available EAP methods: PWD (for EAP-MD5); TLS; TTLS and PEAP.
- The system will use CA/Client certificates and Key uploaded under Web GUI > System Settings > Security Settings > Certificate Management.

802.1X AUTHENTICATION FLOW
Once 802.1x settings are configured on the phone either via Web GUI or via phone Keypad and after the completes the reboot. The Authentication process begins, it is divided into two stages:
Prior to Authentication
The only messages that will be accepted from the client are the EAP messages, which will be forwarded to the authentication server. The authenticator will block access to the network for the phone, it will try to establish a security negotiation with the IP phone and create an 802.1X session. The IP phone provides its authentication information for the authenticator, then the authenticator forwards the information to the authentication server.
Authentication Process
After 802.1x client is powered on, it will transmit the EAP message to the authenticator. It will forward then the client’s request to the authentication server without changing its contents. The server will verify the user credentials and transmit back its response to the authenticator, which will determine whether the port remains in blocked mode or will grant access to the client, if the server response is “Access granted” then client port state will have access to the network. If the authentication fails, the authenticator port will remain blocked, and in some cases the port will be disabled (depends on vendor implementation).
Authentication Process Using EAP-MD5 Protocol
The following figure shows a successful 802.1x authentication process using EAP-MD5 protocol (RADIUS is used as authentication server).

- The client starts by sending an “EAPOL-Start” packet to the switch.
- The switch replies to the client with an “EAP-Request/Identity” packet.
- The client sends back an “EAP-Response/Identity” packet to the switch.
- The switch strips the Ethernet header and encapsulates the remaining EAP frame in the RADIUS format, and then sends it to the RADIUS server.
- The RADIUS server recognizes the packet as an EAP-MD5 type and sends back a Challenge message to switch.
- The switch strips the authentication server’s frame header, encapsulates the remaining EAP frame into the EAPOL format, and sends it to the client.
- The client responds to the Challenge message.
- The switch passes the response to the RADIUS server.
- The RADIUS server validates the authentication information and sends an authentication success message.
- The switch passes the successful message to the client.
Once the phone is authenticated successfully, the switch provides network access permissions. If the phone does not provide proper identification, RADIUS server will reply with a rejection message. The switch relays the message to the phone and blocks access to the LAN. When the phone is disabled or reset, it will send an EAPOL-Logoff message, which prompts the switch to block access to the LAN Success message.
The following figure shows a trace of EAP-MD5 process.

Authentication Process Using EAP-TLS Protocol
The following figure shows a successful 802.1x authentication process using EAP-MD5 protocol (RADIUS is used as authentication server).

- The phone sends an “EAPO-Start” packet to the switch.
- The switch replies with an “EAP-Request/Identity” packet.
- The phone sends back an “EAP-Response/Identity” packet to the switch.
- The switch strips the Ethernet header and encapsulates the remaining EAP frame in the RADIUS format, and then sends it to the server.
- The authentication server recognizes the packet as an EAP-TLS type and sends an “EAP-Request” packet with a TLS start message to the switch.
- The switch strips the authentication server’s frame header, encapsulates the remaining EAP frame in the EAPOL format, and then sends it to the phone.
- The phone responds with an “EAP-Respond” packet containing a TLS client hello handshake message to the switch. The client hello message includes the TLS version supported by the phone, a session ID, a random number and a set of cipher suites.
- The switch passes the response to the authentication server.
- TLS handshake between the phone and RADIUS server (phone and server exchange key and cipher).
- The phone responds with an “EAP-Response” packet to the switch.
- The switch passes the response to the server.
- The server responds with a success message indicating that the phone and the RADIUS server have successfully authenticated each other.
- The switch passes the message to the phone.
After the phone’s successful authentication, the switch provides network access permissions. If the phone does not provide proper identification, the RADIUS server responds with a rejection message. The switch relays the message to the phone and blocks access to the LAN. When the phone is disabled or reset, it will send an EAPOL-Logoff message, which tell the switch to block access to the LAN.
Bellow trace example of EAP-TLS authentication.

Authentication Process Using EAP-PEAP Protocol
The following figure shows a successful 802.1x authentication process using EAP-PEAPv0/MSCHAPv2 protocol (RADIUS is used as authentication server).

- The phone sends an “EAPO-Start” packet to the switch.
- The switch replies with an “EAP-Request/Identity” packet.
- The phone sends back an “EAP-Response/Identity” packet to the switch.
- The switch strips the Ethernet header and encapsulates the remaining EAP frame in the RADIUS format, and then sends it to the server.
- The authentication server recognizes the packet as an EAP-TLS type and sends an “EAP-Request” packet with a TLS start message to the switch.
- The switch strips the authentication server’s frame header, encapsulates the remaining EAP frame in the EAPOL format, and then sends it to the phone.
- The phone responds with an “EAP-Respond” packet containing a TLS client hello handshake message to the switch. The client hello message includes the TLS version supported by the phone, a session ID, a random number and a set of cipher suites.
- The switch passes the response to the authentication server.
- TLS handshake between the phone and RADIUS server (phone and server exchange key and cipher).
- The phone responds with an “EAP-Response” packet.
- The switch passes the response to the server.
- The RADIUS server sends an “EAP-Request/Identity” packet.
- The switch relays the request to the phone.
- The phone replies with an “EAP-Response/Identity” packet.
- The switch passes the response to the RADIUS server.
- The RADIUS server sends an “EAP-Request” packet that includes a MSCHAPv2 challenge message.
- The switch passes the request to the phone.
- The phone sends back a challenge message to the switch.
- The switch relays the message to the server.
- The RADIUS server sends a success message indicating that the phone provided the proper identity.
- The switch relays the message to the phone.
- The phone responds with an ACK message to the switch.
- The switch relays the respond message to the server.
- The RADIUS server sends a successful message to the switch.
- The switch passes the message to the phone.
After the phone’s successful authentication, the switch provides network access permissions. If the phone does not provide proper identification, the RADIUS server responds with a rejection message. The switch relays the message to the phone and blocks access to the LAN. When the phone is disabled or reset, it will send an EAPOL-Logoff message to block access to the LAN on the switch.
Below trace example of EAP-PEAPv0/MSCHAPv2 authentication.
Please note that the trace contains two phases, the first one is similar to the EAP TLS challenge, after the “EAP-Response” in step 10, the server sends another “EAP-Request/Identity” protected by the TLS cipher suite negotiated in phase 1 to exchange the phone user and password.

SUPPORTED DEVICES
Following table shows Grandstream products supporting 802.1x feature:
Model | Supported | Firmware |
---|---|---|
GXV3370 | Yes | 1.0.3.9 or higher |
GXV3380 | Yes | 1.0.3.9 or higher |
GXV3350 | Yes | 1.0.3.9 or higher |