Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

champ type password

5 réponses
Avatar
christophe
Bonjour,

je recherche une methode ou un conseil.

voila j'ai une table de login et password clients.
Tous les developpeurs peuvent aller sur cette table car elle possede
plusieurs informations or nous aimerions que le champ password soit masqué
style ***** pour certains logins d'acces, en clair pour d'autres (admin) ?

y'a t'il un moyen simple de mettre ça en oeuvre ?

5 réponses

Avatar
Gilles TOURREAU
Le Wed, 26 Sep 2007 18:22:58 +0200, christophe
a écrit:

Bonjour,

je recherche une methode ou un conseil.

voila j'ai une table de login et password clients.
Tous les developpeurs peuvent aller sur cette table car elle possede
plusieurs informations or nous aimerions que le champ password soit
masqué style ***** pour certains logins d'acces, en clair pour d'autres
(admin) ?

y'a t'il un moyen simple de mettre ça en oeuvre ?



Pour plus de sécurité, il faut crypter/décrypter le mot de passe au niveau
application...

Ce qui transite au niveau réseau (requête SQL) et ce qui est stocké dans
la base doit toujours être crypté...

Grosso-modo pour authentifier quelqu'un :

Vous récuperez le mot de passe de l'utilisateur dans la BD :
MotPasseCryptéBD = SELECT MotPasse FROM MaTable WHERE Login = 'toto';
Vous comparez au niveau client si :
Crypter(MotPasseSaisie) = MotPasseCryptéBD

Si oui, c'est OK...

Pour la fonction de cryptage/décryptage, choisissez ce que vous voulez
(hachage ou via un clé).
Si vous choisissez le système avec une clé prenez comme clé le mot de
passe lui-même...

Si vous souhaitez que les administrateurs puisse voir tous les mots de
passe (méthode déconseillé), il faudra forcement utiliser une clé de même
valeur pour tous les mots de passe...
Attention, si qqn trouve la clé, il pourra récuperer tous les mots de
passe de tout le monde ! (Chose qui n'est pas possible dans le système
précédent)...

Si pour des raisons de sécurité vous souhaitez :
- changez d'algo
- ou la longueur mini des mots de passe

Ajoutez tout simplement une colonne dans la table des logins "TypeAlgo" ou
"LongueurMini" ou vous stockez le nom de l'algo ou la longueur mini du mot
de passe.
Au niveau application et à l'authentification, vérifiez que ces
informations et mettez à jour le mot de passe...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Christophe
c'est malheureusement pas aussi simple que ca !

dans cette table elle est enrichie par plusieurs type de canaux !

j'ai parfois des clients qui me donne eux memes leurs listes de login et
password.
les developpeurs n'ont donc pas a voir ces valeurs, si on utilise votre
technique ils peuvent donc récupérer le mot de passe.
hors les 3/4 de nos appli sont des site web, ils peuvent donc y acceder de
l'exterieur.

l'interet de ma demande c'est que seul les dba ou des personnes abilites
pourrais eux voir les mots de passe.
c'est pour cette raison que je voudrais cacher ce champ aux dev et que seul
la base renvoi ok ou pas !

Ch.



"Gilles TOURREAU" a écrit dans le message de
news:
Le Wed, 26 Sep 2007 18:22:58 +0200, christophe
a écrit:

Bonjour,

je recherche une methode ou un conseil.

voila j'ai une table de login et password clients.
Tous les developpeurs peuvent aller sur cette table car elle possede
plusieurs informations or nous aimerions que le champ password soit
masqué style ***** pour certains logins d'acces, en clair pour d'autres
(admin) ?

y'a t'il un moyen simple de mettre ça en oeuvre ?



Pour plus de sécurité, il faut crypter/décrypter le mot de passe au niveau
application...

Ce qui transite au niveau réseau (requête SQL) et ce qui est stocké dans
la base doit toujours être crypté...

Grosso-modo pour authentifier quelqu'un :

Vous récuperez le mot de passe de l'utilisateur dans la BD :
MotPasseCryptéBD = SELECT MotPasse FROM MaTable WHERE Login = 'toto';
Vous comparez au niveau client si :
Crypter(MotPasseSaisie) = MotPasseCryptéBD

Si oui, c'est OK...

Pour la fonction de cryptage/décryptage, choisissez ce que vous voulez
(hachage ou via un clé).
Si vous choisissez le système avec une clé prenez comme clé le mot de
passe lui-même...

Si vous souhaitez que les administrateurs puisse voir tous les mots de
passe (méthode déconseillé), il faudra forcement utiliser une clé de même
valeur pour tous les mots de passe...
Attention, si qqn trouve la clé, il pourra récuperer tous les mots de
passe de tout le monde ! (Chose qui n'est pas possible dans le système
précédent)...

Si pour des raisons de sécurité vous souhaitez :
- changez d'algo
- ou la longueur mini des mots de passe

Ajoutez tout simplement une colonne dans la table des logins "TypeAlgo" ou
"LongueurMini" ou vous stockez le nom de l'algo ou la longueur mini du mot
de passe.
Au niveau application et à l'authentification, vérifiez que ces
informations et mettez à jour le mot de passe...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Avatar
Fred
Dans : news:,
christophe disait :
Bonjour,



Bonjour,

je recherche une methode ou un conseil.

voila j'ai une table de login et password clients.
Tous les developpeurs peuvent aller sur cette table car elle possede
plusieurs informations or nous aimerions que le champ password soit
masqué style ***** pour certains logins d'acces, en clair pour
d'autres (admin) ?
y'a t'il un moyen simple de mettre ça en oeuvre ?



Si les mots de passe sont stockés dans un cryptage réversible (SQL
Server possède des fonctions pour cela dont le nom commence par Decrypt
ou Encrypt) alors dans ce cas, je penserais à l'ajout d'une colonne
calculée dans la table sur laquelle tu positionnes des droits d'accès
adéquats.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
christophe
ok j'ai vu cela on est en train de reflechir à une autre methode du style
non reversible est reinit en cas de perte du password.

toutefois je ne connais pas la methode pour cacher ou mettre des droits
differents seulement sur une colonne d'une table. ou puis je trouver de
l'info la dessus ?


"Fred" a écrit dans le message de
news:%
Dans : news:,
christophe disait :
Bonjour,



Bonjour,

je recherche une methode ou un conseil.

voila j'ai une table de login et password clients.
Tous les developpeurs peuvent aller sur cette table car elle possede
plusieurs informations or nous aimerions que le champ password soit
masqué style ***** pour certains logins d'acces, en clair pour
d'autres (admin) ?
y'a t'il un moyen simple de mettre ça en oeuvre ?



Si les mots de passe sont stockés dans un cryptage réversible (SQL Server
possède des fonctions pour cela dont le nom commence par Decrypt ou
Encrypt) alors dans ce cas, je penserais à l'ajout d'une colonne calculée
dans la table sur laquelle tu positionnes des droits d'accès adéquats.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)


Avatar
Gilles TOURREAU
Le Wed, 26 Sep 2007 23:39:57 +0200, Christophe
a écrit:

c'est malheureusement pas aussi simple que ca !

dans cette table elle est enrichie par plusieurs type de canaux !

j'ai parfois des clients qui me donne eux memes leurs listes de login et
password.
les developpeurs n'ont donc pas a voir ces valeurs, si on utilise votre
technique ils peuvent donc récupérer le mot de passe.
hors les 3/4 de nos appli sont des site web, ils peuvent donc y acceder
de l'exterieur.

l'interet de ma demande c'est que seul les dba ou des personnes abilites
pourrais eux voir les mots de passe.
c'est pour cette raison que je voudrais cacher ce champ aux dev et que
seul la base renvoi ok ou pas !

Ch.



"Gilles TOURREAU" a écrit dans le message de
news:
Le Wed, 26 Sep 2007 18:22:58 +0200, christophe
a écrit:

Bonjour,

je recherche une methode ou un conseil.

voila j'ai une table de login et password clients.
Tous les developpeurs peuvent aller sur cette table car elle possede
plusieurs informations or nous aimerions que le champ password soit
masqué style ***** pour certains logins d'acces, en clair pour
d'autres (admin) ?

y'a t'il un moyen simple de mettre ça en oeuvre ?



Pour plus de sécurité, il faut crypter/décrypter le mot de passe au
niveau application...

Ce qui transite au niveau réseau (requête SQL) et ce qui est stocké
dans la base doit toujours être crypté...

Grosso-modo pour authentifier quelqu'un :

Vous récuperez le mot de passe de l'utilisateur dans la BD :
MotPasseCryptéBD = SELECT MotPasse FROM MaTable WHERE Login = 'toto';
Vous comparez au niveau client si :
Crypter(MotPasseSaisie) = MotPasseCryptéBD

Si oui, c'est OK...

Pour la fonction de cryptage/décryptage, choisissez ce que vous voulez
(hachage ou via un clé).
Si vous choisissez le système avec une clé prenez comme clé le mot de
passe lui-même...

Si vous souhaitez que les administrateurs puisse voir tous les mots de
passe (méthode déconseillé), il faudra forcement utiliser une clé de
même valeur pour tous les mots de passe...
Attention, si qqn trouve la clé, il pourra récuperer tous les mots de
passe de tout le monde ! (Chose qui n'est pas possible dans le système
précédent)...

Si pour des raisons de sécurité vous souhaitez :
- changez d'algo
- ou la longueur mini des mots de passe

Ajoutez tout simplement une colonne dans la table des logins "TypeAlgo"
ou "LongueurMini" ou vous stockez le nom de l'algo ou la longueur mini
du mot de passe.
Au niveau application et à l'authentification, vérifiez que ces
informations et mettez à jour le mot de passe...

Cordialement

-- Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr






Bonjour,

Dans ce cas fait tout cela au niveau d'une procédure stockée.
Comme l'as dis Fredo, tu peux utiliser certaines fonctions Decrypt et
Crypt de SQL Server...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr