Issue 8575 - Argon2 Password hashing contrib module
Summary: Argon2 Password hashing contrib module
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: contrib (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: 2.4.50
Assignee: Ondřej Kuzník
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-26 13:36 UTC by simon@slevermann.de
Modified: 2020-04-28 16:56 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description simon@slevermann.de 2017-01-26 13:36:57 UTC
Full_Name: Simon Levermann
Version: 
OS: 
URL: ftp://ftp.openldap.org/incoming/simon-levermann-170126.patch
Submission from: (NULL) (2001:638:708:f002:deab:9ae4:7f07:d350)


This patch adds a password hashing module for the argon2 function to the
contrib/slapd-modules/passwd/ modules. Argon2 is a relatively new hash function
which has won the Password Hashing Competition (https://password-hashing.net)

The attached patch file is derived from OpenLDAP Software. All of the
modifications to OpenLDAP Software represented in the following patch(es) were
developed by Simon Levermann simon@slevermann.de. I have not assigned rights
and/or interest in this work to any party.

I, Simon Levermann, hereby place the following modifications to OpenLDAP
Software (and only these modifications) into the public domain. Hence, these
modifications may be freely used and/or redistributed for any purpose with or
without attribution and/or other notice.
Comment 1 Quanah Gibson-Mount 2017-03-04 00:07:51 UTC
--On Thursday, January 26, 2017 1:36 PM +0000 simon@slevermann.de wrote:

> This patch adds a password hashing module for the argon2 function to the
> contrib/slapd-modules/passwd/ modules. Argon2 is a relatively new hash
> function which has won the Password Hashing Competition
> (https://password-hashing.net)

Discussed with Simon in IRC, he is going to look at making the 
modifications necessary so that this module can also use libsodium.

--Quanah

--

Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>


Comment 2 Quanah Gibson-Mount 2017-03-17 16:48:55 UTC
moved from Incoming to Contrib
Comment 3 Raphael Geissert 2019-01-31 15:17:02 UTC
Hi,

Is there any progress on a libsodium-based module? Or is there any
chance that the current version be integrated as-is ("one is better
than none")?

Regards,
-- 
Raphael Geissert

Comment 4 simon@slevermann.de 2019-01-31 15:20:14 UTC
Hi,

I have essentially given up on doing this, because I no longer work for 
the employer that had me work on this, and at the time I did, I never 
got the thing done. The code itself worked when I tried it, but it has 
the caveat of not being configurable. I never quite found out how to 
properly implement configuration of a module that isn't an overlay, so I 
never got that done. Feel free to adjust the existing code, it should be 
adaptable to libsodium relatively easily.

Cheers,

Simon

Am 31.01.2019 um 16:17 schrieb Raphael Geissert:
> Hi,
>
> Is there any progress on a libsodium-based module? Or is there any
> chance that the current version be integrated as-is ("one is better
> than none")?
>
> Regards,

Comment 5 Ondřej Kuzník 2019-11-11 17:47:52 UTC
On Thu, Jan 31, 2019 at 03:20:22PM +0000, simon@slevermann.de wrote:
> Hi,
> 
> I have essentially given up on doing this, because I no longer work for 
> the employer that had me work on this, and at the time I did, I never 
> got the thing done. The code itself worked when I tried it, but it has 
> the caveat of not being configurable. I never quite found out how to 
> properly implement configuration of a module that isn't an overlay, so I 
> never got that done. Feel free to adjust the existing code, it should be 
> adaptable to libsodium relatively easily.

An implementation using libsodium is now available at
https://github.com/mistotebe/openldap/tree/its8575-argon

Not configurable yet as to what parameters are chosen when a plaintext
password is being hashed, however.

Regards,

-- 
Ondřej Kuzník
Senior Software Engineer
Symas Corporation                       http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP

Comment 6 Ondřej Kuzník 2019-11-12 10:39:24 UTC
On Mon, Nov 11, 2019 at 05:48:05PM +0000, ondra@mistotebe.net wrote:
> An implementation using libsodium is now available at
> https://github.com/mistotebe/openldap/tree/its8575-argon
> 
> Not configurable yet as to what parameters are chosen when a plaintext
> password is being hashed, however.

That branch now supports parameters being passed in at module load time.
It won't help slappasswd as that one doesn't know how to pass parameters
to modules but that is a different issue.

-- 
Ondřej Kuzník
Senior Software Engineer
Symas Corporation                       http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP

Comment 7 Quanah Gibson-Mount 2020-03-23 02:17:22 UTC
Ondrej, please update the bug's status as appropriate, thanks!
Comment 8 Ondřej Kuzník 2020-03-23 16:24:50 UTC
Committed to master at af5ed7c6e27d596dbed440c9a20c2f28f125f846 and previous