Difference between revisions of "Password Hash"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(Overview)
(Contributors)
Line 1: Line 1:
 
== Status  ==
 
== Status  ==
 
== Contributors  ==
 
== Contributors  ==
 +
 +
Adaxa Pty Ltd (Paul Bowden)
 +
 
== Overview  ==
 
== Overview  ==
  

Revision as of 23:32, 7 June 2013

Status

Contributors

Adaxa Pty Ltd (Paul Bowden)

Overview

from ... http://sourceforge.net/p/adempiere/contributions/212/

User passwords should be stored in a non-recoverable form in case the database is compromised:

http://www.h-online.com/security/features/Storing-passwords-in-uncrackable-form-1255576.html

Adaxa has implemented password hashing based on the recommendations in

https://www.owasp.org/index.php/Hashing_Java

using a random salt and hashing with 1000 rounds of the SHA-512 algorithm.

Pushed to contribution_adaxa

http://adempiere.hg.sourceforge.net/hgweb/adempiere/contribution_adaxa/rev/6d9090d8a9f6

Testing and comments welcomed.


Notes: 1) added column "salt" to ad_user

2) increased length of ad_user.password to 1024 (see 5)

3) added/changed passwords will automatically be saved in hashed form

4) code will still authenticate plain-text/encrypted passwords

5) if password column is encrypted then stored hashes will be encrypted (redundant but the easiest way to achieve backwards compatibility)

6) Added process "Hash Passwords" to convert all existing user passwords -- backup first!

Purpose

References

Design Considerations

Assumptions

Dependencies

Constraints

Glossary

Functional Requirements

User roles & profiles

Business process definition

User stories

Functional requirements based on business processes

User Interface Mockups

Acceptance criteria

QA and test cases

Development infrastructure

Technical Requirements

Data Requirements

Non-Functional Requirements

Open Discussion Items

Closed Discussion Items