xref: /netbsd-src/external/bsd/wpa/dist/hostapd/hostapd.eap_user (revision bb6183629cf165db498d8e1f4e2de129f7efb21c)
18dbcf02cSchristos# hostapd user database for integrated EAP server
28dbcf02cSchristos
38dbcf02cSchristos# Each line must contain an identity, EAP method(s), and an optional password
48dbcf02cSchristos# separated with whitespace (space or tab). The identity and password must be
58dbcf02cSchristos# double quoted ("user"). Password can alternatively be stored as
68dbcf02cSchristos# NtPasswordHash (16-byte MD4 hash of the unicode presentation of the password
78dbcf02cSchristos# in unicode) if it is used for MSCHAP or MSCHAPv2 authentication. This means
88dbcf02cSchristos# that the plaintext password does not need to be included in the user file.
98dbcf02cSchristos# Password hash is stored as hash:<16-octets of hex data> without quotation
108dbcf02cSchristos# marks.
118dbcf02cSchristos
128dbcf02cSchristos# [2] flag in the end of the line can be used to mark users for tunneled phase
138dbcf02cSchristos# 2 authentication (e.g., within EAP-PEAP). In these cases, an anonymous
148dbcf02cSchristos# identity can be used in the unencrypted phase 1 and the real user identity
158dbcf02cSchristos# is transmitted only within the encrypted tunnel in phase 2. If non-anonymous
168dbcf02cSchristos# access is needed, two user entries is needed, one for phase 1 and another
178dbcf02cSchristos# with the same username for phase 2.
188dbcf02cSchristos#
198dbcf02cSchristos# EAP-TLS, EAP-PEAP, EAP-TTLS, EAP-FAST, EAP-SIM, and EAP-AKA do not use
208dbcf02cSchristos# password option.
218dbcf02cSchristos# EAP-MD5, EAP-MSCHAPV2, EAP-GTC, EAP-PAX, EAP-PSK, and EAP-SAKE require a
228dbcf02cSchristos# password.
238dbcf02cSchristos# EAP-PEAP, EAP-TTLS, and EAP-FAST require Phase 2 configuration.
248dbcf02cSchristos#
258dbcf02cSchristos# * can be used as a wildcard to match any user identity. The main purposes for
268dbcf02cSchristos# this are to set anonymous phase 1 identity for EAP-PEAP and EAP-TTLS and to
278dbcf02cSchristos# avoid having to configure every certificate for EAP-TLS authentication. The
288dbcf02cSchristos# first matching entry is selected, so * should be used as the last phase 1
298dbcf02cSchristos# user entry.
308dbcf02cSchristos#
318dbcf02cSchristos# "prefix"* can be used to match the given prefix and anything after this. The
328dbcf02cSchristos# main purpose for this is to be able to avoid EAP method negotiation when the
338dbcf02cSchristos# method is using known prefix in identities (e.g., EAP-SIM and EAP-AKA). This
348dbcf02cSchristos# is only allowed for phase 1 identities.
358dbcf02cSchristos#
368dbcf02cSchristos# Multiple methods can be configured to make the authenticator try them one by
378dbcf02cSchristos# one until the peer accepts one. The method names are separated with a
388dbcf02cSchristos# comma (,).
398dbcf02cSchristos#
408dbcf02cSchristos# [ver=0] and [ver=1] flags after EAP type PEAP can be used to force PEAP
418dbcf02cSchristos# version based on the Phase 1 identity. Without this flag, the EAP
428dbcf02cSchristos# authenticator advertises the highest supported version and select the version
438dbcf02cSchristos# based on the first PEAP packet from the supplicant.
448dbcf02cSchristos#
458dbcf02cSchristos# EAP-TTLS supports both EAP and non-EAP authentication inside the tunnel.
468dbcf02cSchristos# Tunneled EAP methods are configured with standard EAP method name and [2]
478dbcf02cSchristos# flag. Non-EAP methods can be enabled by following method names: TTLS-PAP,
488dbcf02cSchristos# TTLS-CHAP, TTLS-MSCHAP, TTLS-MSCHAPV2. TTLS-PAP and TTLS-CHAP require a
498dbcf02cSchristos# plaintext password while TTLS-MSCHAP and TTLS-MSCHAPV2 can use NT password
508dbcf02cSchristos# hash.
513c260e60Schristos#
523c260e60Schristos# Arbitrary RADIUS attributes can be added into Access-Accept packets similarly
533c260e60Schristos# to the way radius_auth_req_attr is used for Access-Request packet in
543c260e60Schristos# hostapd.conf. For EAP server, this is configured separately for each user
55*bb618362Schristos# entry with radius_accept_attr=<attr_id>[:<syntax:value>] line(s) following
56*bb618362Schristos# the main user entry line.
578dbcf02cSchristos
588dbcf02cSchristos# Phase 1 users
598dbcf02cSchristos"user"		MD5	"password"
608dbcf02cSchristos"test user"	MD5	"secret"
618dbcf02cSchristos"example user"	TLS
628dbcf02cSchristos"DOMAIN\user"	MSCHAPV2	"password"
638dbcf02cSchristos"gtc user"	GTC	"password"
648dbcf02cSchristos"pax user"	PAX	"unknown"
658dbcf02cSchristos"pax.user@example.com"	PAX	0123456789abcdef0123456789abcdef
668dbcf02cSchristos"psk user"	PSK	"unknown"
678dbcf02cSchristos"psk.user@example.com"	PSK	0123456789abcdef0123456789abcdef
688dbcf02cSchristos"sake.user@example.com"	SAKE	0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
698dbcf02cSchristos"ttls"		TTLS
708dbcf02cSchristos"not anonymous"	PEAP
718dbcf02cSchristos# Default to EAP-SIM and EAP-AKA based on fixed identity prefixes
728dbcf02cSchristos"0"*		AKA,TTLS,TLS,PEAP,SIM
738dbcf02cSchristos"1"*		SIM,TTLS,TLS,PEAP,AKA
748dbcf02cSchristos"2"*		AKA,TTLS,TLS,PEAP,SIM
758dbcf02cSchristos"3"*		SIM,TTLS,TLS,PEAP,AKA
768dbcf02cSchristos"4"*		AKA,TTLS,TLS,PEAP,SIM
778dbcf02cSchristos"5"*		SIM,TTLS,TLS,PEAP,AKA
78ad61743eSadam"6"*		AKA'
79ad61743eSadam"7"*		AKA'
80ad61743eSadam"8"*		AKA'
818dbcf02cSchristos
828dbcf02cSchristos# Wildcard for all other identities
838dbcf02cSchristos*		PEAP,TTLS,TLS,SIM,AKA
848dbcf02cSchristos
858dbcf02cSchristos# Phase 2 (tunnelled within EAP-PEAP or EAP-TTLS) users
868dbcf02cSchristos"t-md5"		MD5	"password"	[2]
878dbcf02cSchristos"DOMAIN\t-mschapv2"	MSCHAPV2	"password"	[2]
888dbcf02cSchristos"t-gtc"		GTC	"password"	[2]
898dbcf02cSchristos"not anonymous"	MSCHAPV2	"password"	[2]
908dbcf02cSchristos"user"		MD5,GTC,MSCHAPV2	"password"	[2]
918dbcf02cSchristos"test user"	MSCHAPV2	hash:000102030405060708090a0b0c0d0e0f	[2]
928dbcf02cSchristos"ttls-user"	TTLS-PAP,TTLS-CHAP,TTLS-MSCHAP,TTLS-MSCHAPV2	"password"	[2]
938dbcf02cSchristos
948dbcf02cSchristos# Default to EAP-SIM and EAP-AKA based on fixed identity prefixes in phase 2
958dbcf02cSchristos"0"*		AKA	[2]
968dbcf02cSchristos"1"*		SIM	[2]
978dbcf02cSchristos"2"*		AKA	[2]
988dbcf02cSchristos"3"*		SIM	[2]
998dbcf02cSchristos"4"*		AKA	[2]
1008dbcf02cSchristos"5"*		SIM	[2]
101ad61743eSadam"6"*		AKA'	[2]
102ad61743eSadam"7"*		AKA'	[2]
103ad61743eSadam"8"*		AKA'	[2]
104