EAP-GPSK

What is Expansion of EAP-GPSK?

EAP-GPSK stands for Extensible Authentication Protocol - Group Pre-Shared Key.

What is EAP-GPSK?

EAP-GPSK is an authentication protocol that provides secure access to wireless networks using a Group Pre-Shared Key (GPSK). It eliminates the need for individual certificates and instead uses a shared key for authentication, offering a simpler and more efficient alternative to traditional certificate-based EAP methods.

Why is EAP-GPSK useful?

  • Simplified Authentication: EAP-GPSK eliminates the need for complex certificates, making it easier to manage and implement.

  • Faster Connection: It allows faster authentication compared to certificate-based methods.

  • Scalable: Ideal for environments with multiple devices, like enterprise wireless networks, where setting up certificates for each device might be inefficient.

  • Secure: Uses a shared key and encryption to ensure secure communication between the client and server.

How it works?

  • Client and Server: The client and server both have a Group Pre-Shared Key (GPSK) for authentication.

  • Authentication: The client initiates authentication by proving its knowledge of the GPSK without sending the actual key. The server validates the key and grants access if successful.

  • Secure Tunnel: A secure tunnel is established to protect the data exchange between the client and server during the authentication process.

Where is EAP-GPSK used?

  • Enterprise Wi-Fi: EAP-GPSK is commonly used in wireless networks where simplicity, speed, and security are necessary.

  • Public Wi-Fi: It can be used in environments such as cafes or public hotspots where ease of setup is a priority.

Which OSI layer does this protocol belong to?

  • EAP-GPSK operates at the Application Layer (Layer 7) of the OSI model, interacting with lower layers for data transport through protocols like RADIUS.

IS EAP-GPSK Windows specific?

  • No, EAP-GPSK is not Windows-specific.

  • It is supported across various platforms, including Windows, Linux, macOS, and mobile operating systems.

IS EAP-GPSK Linux Specific?

  • No, EAP-GPSK is not Linux-specific.

  • It is available on multiple platforms and can be used in both Linux and Windows environments.

Which Transport Protocol is used by EAP-GPSK?

  • EAP-GPSK uses RADIUS as its transport protocol, which typically relies on UDP for communication.

Which Port is used by EAP-GPSK?

  • EAP-GPSK typically uses UDP port 1812 for authentication and UDP port 1813 for accounting, as it relies on RADIUS.

Is EAP-GPSK using Client server model?

  • Yes, EAP-GPSK follows a client-server model.

  • The client initiates the authentication process, while the server (usually a RADIUS server) authenticates the client and grants access.

Whether EAP-GPSK protocol uses certificates?

  • No, EAP-GPSK does not use certificates.

  • It uses a Group Pre-Shared Key (GPSK) instead of certificates for authentication.

How many frame exchanges are seen during connection for EAP-GPSK protocol?

  • EAP-GPSK typically involves two or three frame exchanges for authentication:
    • One for establishing the secure tunnel.

    • Another for key exchange and successful authentication.

Whether EAP-GPSK Protocol uses client certificates?

  • No, EAP-GPSK does not use client certificates.

  • Authentication is based on a shared Group Pre-Shared Key (GPSK).

Whether EAP-GPSK Protocol uses Server Certificates?

  • No, EAP-GPSK does not use server certificates.

  • Instead, it uses the Group Pre-Shared Key (GPSK) for authentication.

IS EAP-GPSK Protocol depends on TCP?

  • No, EAP-GPSK relies on UDP for transport, not TCP.

IS EAP-GPSK Protocol depends on UDP?

  • Yes, EAP-GPSK depends on UDP as the transport protocol, typically using RADIUS over UDP.

What are the roles involved when testing EAP-GPSK Protocol?

  • Client: Initiates the authentication request and provides the GPSK.

  • RADIUS Server: Processes the request, verifies the GPSK, and authenticates the client.

  • Administrator: Configures the RADIUS server, ensures GPSK management, and tests the network setup.

Does EAP-GPSK Protocol work with free radius server on Linux?

  • Yes, EAP-GPSK works with FreeRADIUS on Linux.

  • It can be configured to use the GPSK for authentication with FreeRADIUS servers.

Does EAP-GPSK Protocol work with Internal radius server of hostapd?

  • Yes, EAP-GPSK can be used with the internal RADIUS server of hostapd for wireless network authentication.

What is the RFC version used for EAP-GPSK Protocol?

  • The RFC version for EAP-GPSK is RFC 5931.

During Connection Procedure which EPoL Packets are encrypted?

  • During the authentication process, EAP-GPSK packets are encrypted to ensure the confidentiality of the shared key and other sensitive information.

Can you Explain different stages of Connection Procedure for EAP-GPSK Protocol?

  • Stage 1: The client sends an authentication request.

  • Stage 2: The server responds, and a secure channel is established.

  • Stage 3: Key exchange and client verification take place.

  • Stage 4: The client is authenticated, and network access is granted.

What is the final output of Connection Procedure?

  • The final output is a successful authentication, where the client is granted access to the network based on the shared Group Pre-Shared Key (GPSK).

What is the format of the key generate after the connection procedure?

  • After the connection procedure, a Pairwise Master Key (PMK) is generated, which is used for securing the data channel between the client and the server.

Where the use of PMK generated by the Connection Procedure?

  • The PMK is used for securing the wireless connection between the client and the server.

  • It is used in the generation of encryption keys for the data exchange during the established connection.

  • In this section, you are going to learn

  • Terminology

  • Version Info

  • rfc details

  • Run AP mode operation with hostapd

AP : Download hostapd

Note

  • Make sure internet is available in laptop to download hostapd package

test:~$ wget http://w1.fi/releases/hostapd-2.9.tar.gz

AP: Install required packages

test:~$ sudo apt install libnl-genl-3-dev libnl-3-dev libdbus-glib-1-dev

AP : Extract hostapd

test:~$ tar -xzvf hostapd-2.9.tar.gz

AP : Change directory to hostapd

test:~$ cd hostapd-2.9/hostapd/

AP : Check the current working directory using pwd command

Note

  • Make sure your current working directory is hostapd

test:~$ pwd
/home/test/hostapd-2.9/hostapd

AP : Copy the contents of defconfig file to .config file

Note

  • .config file is required for make to start compilation of hostapd

test:~$ sudo cp defconfig .config

AP : Complile hostapd

Note

  • Compile hostapd by running make command

test:~$ make

AP : Check for the binaries created

Note

  • Make sure hostapd and hostapd_cli are present

test:~$ ls
hostapd
hostapd_cli

AP : Create a hostapd.conf file in /etc/hostapd folder with below content

test:~$ sudo vim /etc/hostapd/hostapd.conf

ctrl_interface=/var/run/hostapd
interface=enp0s8
driver=wired
logger_stdout=1
logger_stdout_level=1
ieee8021x=1
eap_server=1
eap_user_file=/etc/hostapd/hostapd.eap_user
eap_reauth_period=3600
auth_algs=1
macaddr_acl=0

AP : Create a file eap_user in /etc/hostapd/ folder with below content

test:~$ sudo vim /etc/hostapd/hostapd.eap_user

AP : Run hostapd

test:~$ sudo ./hostapd /etc/hostapd/hostapd.conf
enp0s8: interface state UNINITIALIZED->ENABLED
enp0s8: AP-ENABLED

STA : Download wpa_supplicant

Note

  • Make sure internet is available in laptop to download supplicant package

test:~$ wget https://w1.fi/releases/wpa_supplicant-2.9.tar.gz

STA: Install required packages

test:~$ sudo apt install libnl-genl-3-dev libnl-3-dev libdbus-glib-1-dev

STA : Extract wpa_supplicant

test:~$ tar -xvf wpa_supplicant-2.9.tar.gz

STA : Change directory to wpa_supplicant

test:~$ cd wpa_supplicant-2.9/wpa_supplicant/

STA : Check the current working directory using pwd command

Note

  • Make sure your current working directory is wpa_supplicant

test:~$ pwd
/home/test/wpa_supplicant-2.9/wpa_supplicant

STA : Copy the contents of defconfig file to .config file

Note

  • .config file is required for make to start compilation of supplicant

test:~$ cp defconfig .config

STA : Compile wpa_supplicant

Note

  • Compile supplicant by running make command.

test:~$ make

STA: You might get errors while make regarding openssl headers in that case install the openssl headers and then do make clean and then do make again.

test:~$ sudo apt install libssl-dev
test:~$ make clean
test:~$ make

STA : Check for the binaries created

Note

  • Make sure wpa_supplicant and wpa_cli are present

test:~$ ls
wpa_supplicant
wpa_cli

STA: Copy required certificates from hostapd to wpa_supplicant

STA : Create wpa_supplicant.conf

test:~$ sudo vim wpa_supplicant.conf

ctrl_interface=/run/wpa_supplicant
update_config=1
network={
key_mgmt=WPA-EAP
eap=GPSK
identity="user4"
password="0123456789abcdef0123456789abcdef"
}

STA : Run wpa_supplicant

test:~$ sudo ./wpa_supplicant -D wired -i enp0s8 -c wpa_supplicant.conf
enp0s8: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully

STA: Test

test:sudo ./wpa_cli -i enp0s8
> status
  • setup

  • setup

  • packet details

  • usecases

  • features

  • Reference links