xref: /aosp_15_r20/external/wpa_supplicant_8/hostapd/hostapd.eap_user (revision 03f9172ca588f91df233974f4258bab95191f931)
1*03f9172cSAndroid Build Coastguard Worker# hostapd user database for integrated EAP server
2*03f9172cSAndroid Build Coastguard Worker
3*03f9172cSAndroid Build Coastguard Worker# Each line must contain an identity, EAP method(s), and an optional password
4*03f9172cSAndroid Build Coastguard Worker# separated with whitespace (space or tab). The identity and password must be
5*03f9172cSAndroid Build Coastguard Worker# double quoted ("user"). Password can alternatively be stored as
6*03f9172cSAndroid Build Coastguard Worker# NtPasswordHash (16-byte MD4 hash of the unicode presentation of the password
7*03f9172cSAndroid Build Coastguard Worker# in unicode) if it is used for MSCHAP or MSCHAPv2 authentication. This means
8*03f9172cSAndroid Build Coastguard Worker# that the plaintext password does not need to be included in the user file.
9*03f9172cSAndroid Build Coastguard Worker# Password hash is stored as hash:<16-octets of hex data> without quotation
10*03f9172cSAndroid Build Coastguard Worker# marks.
11*03f9172cSAndroid Build Coastguard Worker
12*03f9172cSAndroid Build Coastguard Worker# [2] flag in the end of the line can be used to mark users for tunneled phase
13*03f9172cSAndroid Build Coastguard Worker# 2 authentication (e.g., within EAP-PEAP). In these cases, an anonymous
14*03f9172cSAndroid Build Coastguard Worker# identity can be used in the unencrypted phase 1 and the real user identity
15*03f9172cSAndroid Build Coastguard Worker# is transmitted only within the encrypted tunnel in phase 2. If non-anonymous
16*03f9172cSAndroid Build Coastguard Worker# access is needed, two user entries is needed, one for phase 1 and another
17*03f9172cSAndroid Build Coastguard Worker# with the same username for phase 2.
18*03f9172cSAndroid Build Coastguard Worker#
19*03f9172cSAndroid Build Coastguard Worker# EAP-TLS, EAP-PEAP, EAP-TTLS, EAP-FAST, EAP-SIM, and EAP-AKA do not use
20*03f9172cSAndroid Build Coastguard Worker# password option.
21*03f9172cSAndroid Build Coastguard Worker# EAP-MD5, EAP-MSCHAPV2, EAP-GTC, EAP-PAX, EAP-PSK, and EAP-SAKE require a
22*03f9172cSAndroid Build Coastguard Worker# password.
23*03f9172cSAndroid Build Coastguard Worker# EAP-PEAP, EAP-TTLS, and EAP-FAST require Phase 2 configuration.
24*03f9172cSAndroid Build Coastguard Worker#
25*03f9172cSAndroid Build Coastguard Worker# * can be used as a wildcard to match any user identity. The main purposes for
26*03f9172cSAndroid Build Coastguard Worker# this are to set anonymous phase 1 identity for EAP-PEAP and EAP-TTLS and to
27*03f9172cSAndroid Build Coastguard Worker# avoid having to configure every certificate for EAP-TLS authentication. The
28*03f9172cSAndroid Build Coastguard Worker# first matching entry is selected, so * should be used as the last phase 1
29*03f9172cSAndroid Build Coastguard Worker# user entry.
30*03f9172cSAndroid Build Coastguard Worker#
31*03f9172cSAndroid Build Coastguard Worker# "prefix"* can be used to match the given prefix and anything after this. The
32*03f9172cSAndroid Build Coastguard Worker# main purpose for this is to be able to avoid EAP method negotiation when the
33*03f9172cSAndroid Build Coastguard Worker# method is using known prefix in identities (e.g., EAP-SIM and EAP-AKA). This
34*03f9172cSAndroid Build Coastguard Worker# is only allowed for phase 1 identities.
35*03f9172cSAndroid Build Coastguard Worker#
36*03f9172cSAndroid Build Coastguard Worker# Multiple methods can be configured to make the authenticator try them one by
37*03f9172cSAndroid Build Coastguard Worker# one until the peer accepts one. The method names are separated with a
38*03f9172cSAndroid Build Coastguard Worker# comma (,).
39*03f9172cSAndroid Build Coastguard Worker#
40*03f9172cSAndroid Build Coastguard Worker# [ver=0] and [ver=1] flags after EAP type PEAP can be used to force PEAP
41*03f9172cSAndroid Build Coastguard Worker# version based on the Phase 1 identity. Without this flag, the EAP
42*03f9172cSAndroid Build Coastguard Worker# authenticator advertises the highest supported version and select the version
43*03f9172cSAndroid Build Coastguard Worker# based on the first PEAP packet from the supplicant.
44*03f9172cSAndroid Build Coastguard Worker#
45*03f9172cSAndroid Build Coastguard Worker# EAP-TTLS supports both EAP and non-EAP authentication inside the tunnel.
46*03f9172cSAndroid Build Coastguard Worker# Tunneled EAP methods are configured with standard EAP method name and [2]
47*03f9172cSAndroid Build Coastguard Worker# flag. Non-EAP methods can be enabled by following method names: TTLS-PAP,
48*03f9172cSAndroid Build Coastguard Worker# TTLS-CHAP, TTLS-MSCHAP, TTLS-MSCHAPV2. TTLS-PAP and TTLS-CHAP require a
49*03f9172cSAndroid Build Coastguard Worker# plaintext password while TTLS-MSCHAP and TTLS-MSCHAPV2 can use NT password
50*03f9172cSAndroid Build Coastguard Worker# hash.
51*03f9172cSAndroid Build Coastguard Worker#
52*03f9172cSAndroid Build Coastguard Worker# Arbitrary RADIUS attributes can be added into Access-Accept packets similarly
53*03f9172cSAndroid Build Coastguard Worker# to the way radius_auth_req_attr is used for Access-Request packet in
54*03f9172cSAndroid Build Coastguard Worker# hostapd.conf. For EAP server, this is configured separately for each user
55*03f9172cSAndroid Build Coastguard Worker# entry with radius_accept_attr=<attr_id>[:<syntax:value>] line(s) following
56*03f9172cSAndroid Build Coastguard Worker# the main user entry line.
57*03f9172cSAndroid Build Coastguard Worker
58*03f9172cSAndroid Build Coastguard Worker# Phase 1 users
59*03f9172cSAndroid Build Coastguard Worker"user"		MD5	"password"
60*03f9172cSAndroid Build Coastguard Worker"test user"	MD5	"secret"
61*03f9172cSAndroid Build Coastguard Worker"example user"	TLS
62*03f9172cSAndroid Build Coastguard Worker"DOMAIN\user"	MSCHAPV2	"password"
63*03f9172cSAndroid Build Coastguard Worker"gtc user"	GTC	"password"
64*03f9172cSAndroid Build Coastguard Worker"pax user"	PAX	"unknown"
65*03f9172cSAndroid Build Coastguard Worker"[email protected]"	PAX	0123456789abcdef0123456789abcdef
66*03f9172cSAndroid Build Coastguard Worker"psk user"	PSK	"unknown"
67*03f9172cSAndroid Build Coastguard Worker"[email protected]"	PSK	0123456789abcdef0123456789abcdef
68*03f9172cSAndroid Build Coastguard Worker"[email protected]"	SAKE	0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
69*03f9172cSAndroid Build Coastguard Worker"ttls"		TTLS
70*03f9172cSAndroid Build Coastguard Worker"not anonymous"	PEAP
71*03f9172cSAndroid Build Coastguard Worker# Default to EAP-SIM and EAP-AKA based on fixed identity prefixes
72*03f9172cSAndroid Build Coastguard Worker"0"*		AKA,TTLS,TLS,PEAP,SIM
73*03f9172cSAndroid Build Coastguard Worker"1"*		SIM,TTLS,TLS,PEAP,AKA
74*03f9172cSAndroid Build Coastguard Worker"2"*		AKA,TTLS,TLS,PEAP,SIM
75*03f9172cSAndroid Build Coastguard Worker"3"*		SIM,TTLS,TLS,PEAP,AKA
76*03f9172cSAndroid Build Coastguard Worker"4"*		AKA,TTLS,TLS,PEAP,SIM
77*03f9172cSAndroid Build Coastguard Worker"5"*		SIM,TTLS,TLS,PEAP,AKA
78*03f9172cSAndroid Build Coastguard Worker"6"*		AKA'
79*03f9172cSAndroid Build Coastguard Worker"7"*		AKA'
80*03f9172cSAndroid Build Coastguard Worker"8"*		AKA'
81*03f9172cSAndroid Build Coastguard Worker
82*03f9172cSAndroid Build Coastguard Worker# Wildcard for all other identities
83*03f9172cSAndroid Build Coastguard Worker*		PEAP,TTLS,TLS,SIM,AKA
84*03f9172cSAndroid Build Coastguard Worker
85*03f9172cSAndroid Build Coastguard Worker# Phase 2 (tunnelled within EAP-PEAP or EAP-TTLS) users
86*03f9172cSAndroid Build Coastguard Worker"t-md5"		MD5	"password"	[2]
87*03f9172cSAndroid Build Coastguard Worker"DOMAIN\t-mschapv2"	MSCHAPV2	"password"	[2]
88*03f9172cSAndroid Build Coastguard Worker"t-gtc"		GTC	"password"	[2]
89*03f9172cSAndroid Build Coastguard Worker"not anonymous"	MSCHAPV2	"password"	[2]
90*03f9172cSAndroid Build Coastguard Worker"user"		MD5,GTC,MSCHAPV2	"password"	[2]
91*03f9172cSAndroid Build Coastguard Worker"test user"	MSCHAPV2	hash:000102030405060708090a0b0c0d0e0f	[2]
92*03f9172cSAndroid Build Coastguard Worker"ttls-user"	TTLS-PAP,TTLS-CHAP,TTLS-MSCHAP,TTLS-MSCHAPV2	"password"	[2]
93*03f9172cSAndroid Build Coastguard Worker
94*03f9172cSAndroid Build Coastguard Worker# Default to EAP-SIM and EAP-AKA based on fixed identity prefixes in phase 2
95*03f9172cSAndroid Build Coastguard Worker"0"*		AKA	[2]
96*03f9172cSAndroid Build Coastguard Worker"1"*		SIM	[2]
97*03f9172cSAndroid Build Coastguard Worker"2"*		AKA	[2]
98*03f9172cSAndroid Build Coastguard Worker"3"*		SIM	[2]
99*03f9172cSAndroid Build Coastguard Worker"4"*		AKA	[2]
100*03f9172cSAndroid Build Coastguard Worker"5"*		SIM	[2]
101*03f9172cSAndroid Build Coastguard Worker"6"*		AKA'	[2]
102*03f9172cSAndroid Build Coastguard Worker"7"*		AKA'	[2]
103*03f9172cSAndroid Build Coastguard Worker"8"*		AKA'	[2]
104