Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to get ESP8266 running on WPA2 Enterprise network?

Tags:

c

arduino

esp8266

I've seen examples for ESP8266 chip Wifi clients logging onto a WPA2 personal network.

However, is it possible for an ESP8266 client to login to an enterprise network?

like image 842
jhtong Avatar asked Feb 17 '16 05:02

jhtong


People also ask

What is WPA2-Enterprise used for?

WPA2-Enterprise has been around since 2004 and is still considered the gold standard for wireless network security, delivering over-the-air encryption and a high level of security.

Is WPA2 the same as WPA2-Enterprise?

The main difference between these security modes is in the authentication stage. WPA2 Enterprise uses IEEE 802.1X, which offers enterprise-grade authentication. WPA2 Personal uses pre-shared keys (PSK) and is designed for home use. However, WPA2 Enterprise is specifically designed for use in organizations.

Can WPA2-Enterprise be cracked?

With AES encryption standards, data communication is highly secure. So it is not possible to crack if it is up to its standards. However, there may be vulnerable spots.

Is it possible to use webrepl with ESP8266?

I have a board with an ESP8266 chip running Micropython firmware v1.8.7. My requirement is to use WebREPL via the University Wi-Fi, which uses WPA2 Enterprise EAP-MSCHAPv2 authentication.

Can Arduino users connect to WPA2 Enterprise EAP-TLS?

My requirement is to use WebREPL via the University Wi-Fi, which uses WPA2 Enterprise EAP-MSCHAPv2 authentication. My Google-fu so far has informed me that Arduino users have been able to connect to WPA2 Enterprise EAP-TLS (certificate based authentication) ( link) but not (SSID, username, pwd) networks.

What is the username of the ESP8266 snippet?

What do you mean with "username". The snippet only connects to the home WiFi network. That doesn't have a username. Leo.. If you are on a school campus or large corporate office, you may be running into WPA2 Enterprise. Google reveals other ESP8266 users are struggling with this.

Why is there a username and password requirement for WPA2 personal?

As has been explained, the username and password requirement is related to an additional security layer which is provided in WPA2 Enterprise but not WPA2 Personal. WPA2 Enterprise integrates a number of additional user authentication protocols to to allow WiFi devices to authenticate into organisational networks.


2 Answers

Since Version 2.0 of the Espressif SDK, ESP8266 can be connected to both EAP and PEAP WPA2 Enterprise networks.

I quote a small guide from GitHub on how to implement the connection:

  1. Call wifi_station_set_config to set the configuration of target AP.
  2. Call wifi_station_set_wpa2_enterprise_auth(1); to enable WPA2_Enterprise authentication.
    • For EAP-TLS authentication, call wifi_station_set_enterprise_cert_key to set certificate and private key. wifi_station_set_enterprise_username is an optional choice, it can be called to set user name.
    • For EAP-TTLS or EAP-PEAP authentication, call wifi_station_set_enterprise_username and wifi_station_set_enterprise_password to set user name and password. wifi_station_set_enterprise_ca_cert is an optional choice, it can be called to set root certificate.
  3. Call wifi_station_connect to connect to target AP.
  4. After being connected to an AP, or failing to connect to AP and on stopped retries, please call the corresponding wifi_station_clear_enterprise_XXX APIs to release the resources.
like image 66
pgmank Avatar answered Nov 09 '22 08:11

pgmank


The feature was recently added and is not mature. It currently supports certificate (EAP-TLS) but not password (PEAP) authentication.

References:

  • https://github.com/esp8266/Arduino/issues/1102
  • http://bbs.espressif.com/viewtopic.php?f=46&t=1442
like image 23
Luno Avatar answered Nov 09 '22 08:11

Luno