@@ -124,4 +124,68 @@ following:
124124 initial input with SHA512 first.
125125|=======================
126126
127+ Furthermore, {es} supports authentication via securely-generated high entropy tokens,
128+ for instance <<security-api-create-api-key,API keys>>.
129+ Analogous to passwords, only the tokens' hashes are stored. Since the tokens are guaranteed
130+ to have sufficiently high entropy to resist offline attacks, secure salted hash functions are supported
131+ in addition to the password-hashing algorithms mentioned above.
127132
133+ You can configure the algorithm for API key stored credential hashing
134+ by setting the <<static-cluster-setting,static>>
135+ `xpack.security.authc.api_key.hashing.algorithm` setting to one of the
136+ following
137+
138+ [[secure-token-hashing-algorithms]]
139+ .Secure token hashing algorithms
140+ |=======================
141+ | Algorithm | | | Description
142+
143+ | `ssha256` | | | Uses a salted `sha-256` algorithm. (default)
144+ | `bcrypt` | | | Uses `bcrypt` algorithm with salt generated in 1024 rounds.
145+ | `bcrypt4` | | | Uses `bcrypt` algorithm with salt generated in 16 rounds.
146+ | `bcrypt5` | | | Uses `bcrypt` algorithm with salt generated in 32 rounds.
147+ | `bcrypt6` | | | Uses `bcrypt` algorithm with salt generated in 64 rounds.
148+ | `bcrypt7` | | | Uses `bcrypt` algorithm with salt generated in 128 rounds.
149+ | `bcrypt8` | | | Uses `bcrypt` algorithm with salt generated in 256 rounds.
150+ | `bcrypt9` | | | Uses `bcrypt` algorithm with salt generated in 512 rounds.
151+ | `bcrypt10` | | | Uses `bcrypt` algorithm with salt generated in 1024 rounds.
152+ | `bcrypt11` | | | Uses `bcrypt` algorithm with salt generated in 2048 rounds.
153+ | `bcrypt12` | | | Uses `bcrypt` algorithm with salt generated in 4096 rounds.
154+ | `bcrypt13` | | | Uses `bcrypt` algorithm with salt generated in 8192 rounds.
155+ | `bcrypt14` | | | Uses `bcrypt` algorithm with salt generated in 16384 rounds.
156+ | `pbkdf2` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
157+ pseudorandom function using 10000 iterations.
158+ | `pbkdf2_1000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
159+ pseudorandom function using 1000 iterations.
160+ | `pbkdf2_10000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
161+ pseudorandom function using 10000 iterations.
162+ | `pbkdf2_50000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
163+ pseudorandom function using 50000 iterations.
164+ | `pbkdf2_100000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
165+ pseudorandom function using 100000 iterations.
166+ | `pbkdf2_500000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
167+ pseudorandom function using 500000 iterations.
168+ | `pbkdf2_1000000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
169+ pseudorandom function using 1000000 iterations.
170+ | `pbkdf2_stretch` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
171+ pseudorandom function using 10000 iterations, after hashing the
172+ initial input with SHA512 first.
173+ | `pbkdf2_stretch_1000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
174+ pseudorandom function using 1000 iterations, after hashing the
175+ initial input with SHA512 first.
176+ | `pbkdf2_stretch_10000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
177+ pseudorandom function using 10000 iterations, after hashing the
178+ initial input with SHA512 first.
179+ | `pbkdf2_stretch_50000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
180+ pseudorandom function using 50000 iterations, after hashing the
181+ initial input with SHA512 first.
182+ | `pbkdf2_stretch_100000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
183+ pseudorandom function using 100000 iterations, after hashing the
184+ initial input with SHA512 first.
185+ | `pbkdf2_stretch_500000` | | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
186+ pseudorandom function using 500000 iterations, after hashing the
187+ initial input with SHA512 first.
188+ | `pbkdf2_stretch_1000000`| | | Uses `PBKDF2` key derivation function with `HMAC-SHA512` as a
189+ pseudorandom function using 1000000 iterations, after hashing the
190+ initial input with SHA512 first.
191+ |=======================
0 commit comments