Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configurable password hashing algorithm/cost #31234

Merged
merged 31 commits into from
Jun 28, 2018

Commits on Jun 10, 2018

  1. Make password hashing algorithm/cost configurable

    for the stored passwords of users for the realms that this applies
    (native, reserved). Replaces predefined choice of bcrypt with
    cost factor 10.
    
    This also introduces PBKDF2 with configurable cost
    (number of iterations) as an algorithm option for password hashing
    both for storing passwords and for the user cache.
    jkakavas committed Jun 10, 2018
    Configuration menu
    Copy the full SHA
    a02c3dd View commit details
    Browse the repository at this point in the history
  2. Rework and test default cost

    jkakavas committed Jun 10, 2018
    Configuration menu
    Copy the full SHA
    feafc97 View commit details
    Browse the repository at this point in the history
  3. Remove irrelevant test

    jkakavas committed Jun 10, 2018
    Configuration menu
    Copy the full SHA
    ac10583 View commit details
    Browse the repository at this point in the history
  4. Remove * import

    jkakavas committed Jun 10, 2018
    Configuration menu
    Copy the full SHA
    99a7f1c View commit details
    Browse the repository at this point in the history
  5. Fix a few more tests

    jkakavas committed Jun 10, 2018
    Configuration menu
    Copy the full SHA
    f97d866 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2018

  1. Configuration menu
    Copy the full SHA
    3625713 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2018

  1. Addresses feedback

    - Password hashes validation algorighm selection takes into
      consideration the stored hash prefix instead of the relevant
      x-pack security settting.
    - Removes explicit cost factor setting
    - Whitelists a number of algorithn+cost options for brypt and
      pbkdf2
    - Removes HasherFactory in favor of an ENUM with singletons
    jkakavas committed Jun 14, 2018
    Configuration menu
    Copy the full SHA
    3635c11 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ede105f View commit details
    Browse the repository at this point in the history
  3. Adjust tests

    jkakavas committed Jun 14, 2018
    Configuration menu
    Copy the full SHA
    5577013 View commit details
    Browse the repository at this point in the history
  4. Remove unecessary setting constructor

    Provide sane default while calling resolve() instead
    jkakavas committed Jun 14, 2018
    Configuration menu
    Copy the full SHA
    3ef1ea1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    47f911f View commit details
    Browse the repository at this point in the history
  6. remove unused imports

    jkakavas committed Jun 14, 2018
    Configuration menu
    Copy the full SHA
    4fad6cf View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2018

  1. fix leftover test

    jkakavas committed Jun 15, 2018
    Configuration menu
    Copy the full SHA
    51ee743 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3305765 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6d28ef0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ef3dc4c View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2018

  1. Configuration menu
    Copy the full SHA
    038bc6a View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2018

  1. Configuration menu
    Copy the full SHA
    0ab9cb0 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2018

  1. Addresses feedback

    jkakavas committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5e537fe View commit details
    Browse the repository at this point in the history
  2. Address feedback

    jkakavas committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    44949ca View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2018

  1. Address feedback

    - Remove SaltProvider and replace it with a private method using
      SecureRandom
    - Refrain from creating String objects with the hash value during
      verification
    - Add javadocs where appropriate
    - Replace Setting constructor check with a bootstrap check for
      available and allowed password hashing algorithms
    jkakavas committed Jun 25, 2018
    Configuration menu
    Copy the full SHA
    15cbf2d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    17d4028 View commit details
    Browse the repository at this point in the history
  3. Remove unused imports

    jkakavas committed Jun 25, 2018
    Configuration menu
    Copy the full SHA
    e2f429a View commit details
    Browse the repository at this point in the history
  4. Address feedback

    jkakavas committed Jun 25, 2018
    Configuration menu
    Copy the full SHA
    af85aeb View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2018

  1. remove now invalid test

    jkakavas committed Jun 26, 2018
    Configuration menu
    Copy the full SHA
    8cd5ae2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c0d33a9 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2018

  1. Address feedback

    - Adds a check for the algorithm of the hash of incoming change
      password requests
    - Move the check for the allowed hashing algorithms back to the
      setting validator
    jkakavas committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    0f19d47 View commit details
    Browse the repository at this point in the history
  2. Fix checkstyle

    jkakavas committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    622a204 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2018

  1. Addresses final feedback

    jkakavas committed Jun 28, 2018
    Configuration menu
    Copy the full SHA
    918301c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bb85c20 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b18203c View commit details
    Browse the repository at this point in the history