IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Encryption de mot de passe, best practice


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Par défaut Encryption de mot de passe, best practice
    Bonjour,

    Je travaille présentement avec un vieux logiciel codé en VB6 qui roule en SQL2000. Nous allons par contre le migrer très bientôt en SQL 2008.

    Je dois modifier le logiciel afin de demander un code d'usager et un mot de passe pour une nouvelle connection sur une machine AS/400. J'aimerais éviter que les usagers aient à entrer une nouvelle fois le mot de passe. Je regarde donc pour crypter le mot de passe et le sauver dans une BD SQL.

    C'était ma mise en situation.

    Voici ce que j'ai trouvé en SQL.

    Je me suis créée une table avec un champ varbinary(128) dans lequel je voudrais sauvegarder le mot de passe crypté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE [dbo].[AccesUsager](
    	[CodeUsager] [char](10) NOT NULL,
    	[Acces] [varbinary](128) NOT NULL,
    	[NoCie] [int] NOT NULL,
    	[Admin] [bit] NOT NULL,
     CONSTRAINT [PK_AccesUsager] PRIMARY KEY CLUSTERED 
    (
    	[CodeUsager] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    Et voici mon code cryptage en SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE CERTIFICATE MonCertificat
       ENCRYPTION BY PASSWORD = 'MaCle'
       WITH SUBJECT = 'Accès AS/400 pour Picsou', 
       EXPIRY_DATE = '12/31/2049';
     
    CREATE SYMMETRIC KEY ClePicsou WITH ALGORITHM = AES_256
    	ENCRYPTION BY CERTIFICATE MonCertificat
     
    OPEN SYMMETRIC KEY ClePicsou
    	DECRYPTION BY CERTIFICATE MonCertificat WITH PASSWORD = 'MaCle'
     
    UPDATE AccesUsager
    SET Acces = ENCRYPTBYKEY(Key_GUID('ClePicsou'), 'ABC123')
     
    SELECT CONVERT(varchar, DecryptByKey(Acces)) AS 'Valeur Décrypté'
    FROM AccesUsager
    Tout fonctionne, le select retourne bien mon string 'ABC123'.

    Première question : que pensez vous de mon code ? Est-ce que l'utilisation de l'algorithm AES_256 est ok ?

    Deuxième question : Dans les fait, mes deux ligne de CREATE, je n'ai pas besoin de les refaire ad vitam eternam n'est-ce pas? Un coup mon certificat et ma clé de créé, c'est fait?

    Troisième Question et la plus importante : Qu'est-ce que je fais avec ma clé? Je veux dire, au niveau de mon code VB6, si je veux encrypter et décrypter mon mot de passe pour le passer en paramètre dans mon connection string, j'ai besoin de la clé. Je la hardcode dans mon code ? C'est quoi le meilleur moyen de fonctionner ?

    Merci beaucoup pour vos informations !

  2. #2
    Membre éclairé Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Par défaut
    Bon eh bien on annule tout cela, mon employeur veut que je demande à chaque fois le username et le password de l'usager.

    Dommage, je m'amusais bien avec ces nouvelles fonctionalités de SQL...

Discussions similaires

  1. Encrypter un mot de passe en MD5
    Par ruyeken dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 20/02/2013, 19h56
  2. [AC-2010] Encrypter un mot de passe avant de le mettre à jour dans la table
    Par toumack dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/12/2012, 12h50
  3. [Securité] Encrypter/décrypter un mot de passe
    Par lenoil dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/12/2008, 18h18
  4. Encrypter un mot de passe
    Par loukili81 dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2007, 14h29
  5. MySQL encrypt et changement de mot de passe
    Par Michaël dans le forum Requêtes
    Réponses: 6
    Dernier message: 27/11/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo