Mot de passe salé

4.0
Mot de passe salé
0
Tags: #<Tag:0x00007f4a0fe9c6d0>

(Sébastien Hardy) #1

Bonjour,

Peut on gérer des mots de passe salé dans Simplicité ?
Feature ? via paramètre système ?

Merci,

Sébastien


(François Genestin) #2

Il suffit d’ajouter “NaCl” à la fin du mot de passe lors du preSave.


(Sébastien Hardy) #3

Je n’ai pas compris la réponse ? c’est pour toi, vous allez le mettre dans le socle ?
Ou pour moi ?

Comment le “NaCi” intervient pour saler le mot de passe ?


(David AZOULAY) #4

Relis tes cours de chimie ;-)

Plus sérieusement, merci de preciser ton besoin. Mais comme déjà discuté pour les besoins “avancés” en termes d’ident/authent il vaut mieux se servir d’un identity provider externe (SAML, Oauth2, etc.)


(François Genestin) #5

Si la question concerne la validation du mot de passe pour vérifier s’il contient du sel, il faut utiliser les GrantHooks :

GrantHooks.validatePassword = function(g, pwd) {
    if (pwd.indexOf("NaCl") < 0) return "A good password must contain salt!";
};

https://www.simplicite.io/resources/documentation/01-core/grant-code-hooks.md


(Sébastien Hardy) #6

La question est :
Peut-on faire du SSHA et non pas du SHA ?
En chimie, est-ce que SHA + NaCl = SSHA ?
;-)


(François Genestin) #7

Non je crois que “SHA + NaCl = SHA-1” en terme MessageDigest java

Voir le param system HASH_PASSWORD, par défaut c’est MD5:HEX, mais tu peux utiliser SHA-1 au lieu de MD5.


Password hashing algorithm and encoding: <algorithm>:<encoding> or none for no password hashing.

  • Algorithm values: MD5, SHA-1, SHA-256, SHA-512
  • Encoding values: HEX (hexadecimal) or BASE64 (base 64)

Warning: Hashing algorithm and encoding must be consistent with configured authentication module.


(Sébastien Hardy) #8

Ok vous ne faites que du hashage et pas de hashage + Salage, c’est bien ça ?

cf : https://howtodoinjava.com/security/how-to-generate-secure-password-hash-md5-sha-pbkdf2-bcrypt-examples/#md5-salt


(François Genestin) #9

Je ne crois pas car SHA me semblait suffisant car sans grande probabilité de collision de hash, je laisse @david vérifier.

Sinon on ajoutera une option de salage dans le paramètre du style <algorithm>:<encoding>:SALT


(David AZOULAY) #10

Dans quel contexte aurais-tu besoin de cette évolution ?

Je repose la question car ce n’est fondamentalement pas le rôle de Simplicité de gérer des identifications/authentification “avancées” à l’heure où se généralisent les IdP privés/publics utilisant les protocoles du marché (SAML, OAuth2, …)

Autrement dit, demander à Simplicité de se substituer à de telles solutions est un contre emploi pour ne pas dire un contre sens


(Sébastien Hardy) #11

En phase avec toi, dans un contexte ou on alimente un open ldap en compte utilisateur. L’openldap ne prennant en compte que des mots de passe salés.


(David AZOULAY) #12

Dans ce cas c’est au LDAP de gérer le hashage du mot de passe. Ce n’est pas au client LDAP de le faire.