Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5016517

Replace plaintext passwords by hashed passwords for out-of-the-box JMX Agent

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 5.0, 9, 10
    • Fix Version/s: 10
    • Component/s: core-svc

      Description


      Name: mc120937 Date: 03/18/2004


      Currently, user/password are stored in cleartext in jmxremote.password
      file. jmxmreote.password file must be read-only by owner only.

      Hashing the password is a good refinement scheme and will
      also allow sharing of a password file by multiple users
      of a group.

      --------------------------------------
      Vincent Ryan wrote:

      Here are some details on the password hashing mechanism
      that's used in the prototype:

         http://developer.netscape.com/docs/technote/ldap/pass_sha.html

      The Salted Secure Hash Algorithm (SSHA) mechanism is the default password
      storage mechanism used in our LDAP Directory Server product today:

         http://docs.sun.com/source/816-6700-10/aci.html#14932

      The one-way hash protects against password disclosure, the salt protects
      against pre-computed-hash dictionary attacks.

      ------------------------

      Changes included:
      * Replace plaintext passwords by hashed passwords

      ======================================================================

        Issue Links

          Activity

          Hide
          alanb Alan Bateman added a comment -
          BT2:EVALUATION


          5016508 will introduce a pluggable authentication mechanism and the currently
          file based authentication will be converted into a JAAS login module. If
          a hashed password file, or alternative authentication solution (LDAP for
          example) is required then these can be configured using properties.
          ###@###.### 2004-03-22
          Show
          alanb Alan Bateman added a comment - BT2:EVALUATION 5016508 will introduce a pluggable authentication mechanism and the currently file based authentication will be converted into a JAAS login module. If a hashed password file, or alternative authentication solution (LDAP for example) is required then these can be configured using properties. ###@###.### 2004-03-22
          Hide
          hb Harsha Wardhana B added a comment - - edited
          One plausible solution would be to let the user provide password in clear text and during authentication process replace clear text password with its hash. Passwords will be in cleartext only till first login or when passsword is changed. For subsequent logins, hash of the password will be compared.

          Hashed password string must be follow format [<salt>] [<Base64 Encoded hash>] in order to distinguish it from clear text string. This is required to know if user-supplied password must be hashed or not before validation. This helps during first login or when password has been changed and serve as marker that clear text password must be replaced by its hash.

          This solution is simple and backward compatible and does not require running any tools or pre-setup from user. This solution may not work if password file is write-protected. We can put a recommendation in release notes and JMX guide to grant appropriate permissions so that java process can read/write the password file
          Show
          hb Harsha Wardhana B added a comment - - edited One plausible solution would be to let the user provide password in clear text and during authentication process replace clear text password with its hash. Passwords will be in cleartext only till first login or when passsword is changed. For subsequent logins, hash of the password will be compared. Hashed password string must be follow format [<salt>] [<Base64 Encoded hash>] in order to distinguish it from clear text string. This is required to know if user-supplied password must be hashed or not before validation. This helps during first login or when password has been changed and serve as marker that clear text password must be replaced by its hash. This solution is simple and backward compatible and does not require running any tools or pre-setup from user. This solution may not work if password file is write-protected. We can put a recommendation in release notes and JMX guide to grant appropriate permissions so that java process can read/write the password file
          Hide
          rriggs Roger Riggs added a comment -
          Telling a sysadmin to write a few lines of code is very unfriendly, even if it is done with python or other accessible scriptable language.
          Show
          rriggs Roger Riggs added a comment - Telling a sysadmin to write a few lines of code is very unfriendly, even if it is done with python or other accessible scriptable language.
          Hide
          hgupdate HG Updates added a comment -
          URL: http://hg.openjdk.java.net/jdk/hs/rev/364207a23251
          User: hb
          Date: 2017-11-28 15:40:20 +0000
          Show
          hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk/hs/rev/364207a23251 User: hb Date: 2017-11-28 15:40:20 +0000
          Hide
          hgupdate HG Updates added a comment -
          URL: http://hg.openjdk.java.net/jdk/jdk/rev/364207a23251
          User: jwilhelm
          Date: 2017-12-07 09:00:22 +0000
          Show
          hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk/jdk/rev/364207a23251 User: jwilhelm Date: 2017-12-07 09:00:22 +0000

            People

            • Assignee:
              hb Harsha Wardhana B
              Reporter:
              mchung Mandy Chung
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported:
                Indexed: