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

Langage Delphi Discussion :

Stockage mot de passe [dcpcrypt]


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut Stockage mot de passe [dcpcrypt]
    Bonsoir ^^,

    J'ai créé un composant pour accéder au service amazone et faire des requêtes. Amazone m'a fourni mes identifiants pour me reconnaître. Mon problème est que j'aimerai protéger ces identifiants.
    Je pensais crypter mes identifiants pour les mettre dans un fichier ini et ensuite les decrypter dans mon application mais ...

    J'utilise ce code pour crypter mes identifiants

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var
        i: integer;
        Cipher: TDCP_rc4;
        KeyStr: string;
      begin
        KeyStr:= '';
        if InputQuery('Passphrase','Enter passphrase',KeyStr) then  // get the passphrase
        begin
          Cipher:= TDCP_rc4.Create(Self);
          Cipher.InitStr(KeyStr,TDCP_sha1);         // initialize the cipher with a hash of the passphrase
          edtFinal.Text := Cipher.EncryptString(edtSource.Text);
          Cipher.Burn;
          Cipher.Free;
        end;
    Mais où stocker de nouveau mot de pass maintenant ... J'ai l'impression de tourner en rond ou de pas comprendre le mécanisme pour crypter quelque chose.

    Merci de m'aider

  2. #2
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    tu veux enregister plusieurs identifiants/mots de passe dans un fichier inifile?
    écris une section pour chaque identifiant

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Ce que je ne comprends pas c'est que j'ai crypté mes identifiants, il n'y a aucun problème. Sauf que j'ai du utilisé un mot de pass pour crypter mon identifiant.
    Pour le décrypter je dois utiliser le mot de pass.
    Je stocke en clair dans mon application ce mot de pass pour décrypter. Sauf que si quelqu'un décompile mon application j'imagine qu'il pourra récupérer le mot de pass pour décrypter l'identifiant dans le fichier ini.

    Quel est l'intérêt d'avoir crypter alors ?

  4. #4
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    un mot de passe ne doit jamais enregistrer sur le pc c'est son hash !

    http://www.developpez.net/forums/d39...-chaine-texte/
    ne le mes pas dans une property publiées ,constante utilise une petite opération xor

    tu veux éviter d' entrer a chaque fois le mot de passe ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Ba oui je me doute bien qu'il faut surtout pas stocker le mot de pass en clair.
    Mais je ne veux pas resaisir le mot de pass à chaque fois que l'utilisateur lance mon application. En Faite, je ne veux pas que l'utilisateur connaisse le mot de pass pour décrypter la chaîne dans le fichier ini.

  6. #6
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    attention :

    une somme (hash) n'est pas un chiffrement (cryptage).
    une somme est irreversible,
    le chiffrement est reversible par contre.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    ok mais est ce que cette méthode marche bien pour réutiliser mon identifiant crypté ?

    KeyStr contient le mot de pass qui a servi a crypté l'identifiant amazone.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
        i: integer;
        Cipher: TDCP_rc4;
        KeyStr: string;
        IDAmazone : string;
      begin
        KeyStr:= 'Mon mot de pass';
        Cipher:= TDCP_rc4.Create(Self);
        Cipher.InitStr(KeyStr,TDCP_sha1);
        IDAmazone := Cipher.DecryptString('Identifiant amazone crypté');
        Cipher.Burn;
        Cipher.Free;
        end;

  8. #8
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    Moi j'utilise une clef variable basé sur d'autre infos de l'utilisateur, genre longeur nom * x ... + date machin ...
    comme sa le crackeur doit analyser toutes la procédure pour comprendre comment obtenir la clef.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    J'essaye de vous comprendre mais j'ai du mal ...
    Je vais essayer de reformuler, c'est peut etre moi qui vous explique nimporte comment.

    J'ai un compte à moi chez amazone avec un identifiant et une clé de sécurité que je ne dois pas divulguer. Je fais des requêtes sur leur service pour récupérer des données sur des albums de musique.
    Je construis un url en clair avec ma clé secrète et ensuite je hash l'url et amazone me renvoit un fichier xml que j'analyse.

    Je ne veux pas que l'utilisateur ait à rentrer ma clé secrète, c'est ridicule. Mais j'ai besoin de la crypter dans les sources de mon programme et ensuite de la décrypter lorsque je construis mon url.

    Vous avez une idée de comment faire ?

  10. #10
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    En Faite, je ne veux pas que l'utilisateur connaisse le mot de passe pour décrypter la chaîne dans le fichier ini.
    comment savez-vous que ces requêtes ne seraient pas interceptés en plus lorsque tu utilise un inifile tu révèle leur endroit ... tu peux les mettre a la fin dune fichier bmp utilisé comme un splash et de de repartir le mot de passe sur le fichier
    autre solution avec le php les mots de passes des connections BDD sont enregistrées sur des fichiers sur le serveur avec des droites d'accès ... avec cette méthode tu peux contrôler toutes les requêtes empêcher autres ....
    pour qui suit tu pose une vieille question: comment protéger mon programme contre la copie,piratage,crack...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Daccord si je comprends bien, y a pas vraiment de solution idéale à mon problème faut faire à sa sauce.
    A propos de la technique que tu proposes avec l'image, et ce que tu connaitrai un composant capable de s'approcher de ca ? Je cherche quelque chose de gratuit.

  12. #12
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    je ne te pousse pas pour utiliser les techniques citées si j'étais a ta place je vais choisir la deuxième malgré elle un p mais aucun identifiant sera livrais avec l'exe en plus j'ai le contrôle sur les requêtes si observe une activité douteuse je peux bloqué l'accès avec certain IP identifiant...

    il existe des SGBD qui offrent un option pour cryptage essaie de scruter cette piste

    désolé si ma intervention a empêcher d'autre membres pour venir ici

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Tu m'as mi sur le bon chemin avec les sgdb. Mon application utilise une base de donnée en local, elle n'est pas du tout connu mais elle propose un outils pour crypté les données dans différents algorithmes.

    Je dois entrer un mot de passe et le valider dans mon application dans la propriété du composant pour se connecter à ma base.

    C'est suffisant de creer une table et d'y mettre mes identifiants et mes mots de passe ?

    Je ne cherche pas une protection absolue ce n'est pas mon but ni celui de mon projet mais je veux un minimum préserver ma vie privée ^^.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Mon problème est résolu merci Montor.

    J'ai utilisé l'idée avec la base de donnée et j'ai désassembler mon programme pour retrouver le mot de pass et la chaîne n'y est pas en clair.
    C'est suffisant pour ce que je veux mais j'imagine que ca doit être facile à retrouver pour des personnes expérimentés mais bon c'est pas des informations top secrête non plus ^^.

    J'ai trouvé le bon milieu.
    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Avis stockage mots de passe
    Par SebastianPx dans le forum Sécurité
    Réponses: 1
    Dernier message: 15/07/2009, 11h44
  2. Auto connexion sans stockage mot de passe
    Par K20 dans le forum Sécurité
    Réponses: 4
    Dernier message: 27/10/2008, 21h01
  3. Stockage mot de passe
    Par tnarol dans le forum Windows
    Réponses: 4
    Dernier message: 12/03/2007, 20h58
  4. [10gR2] Stockage de mots de passe
    Par hotkebab99 dans le forum Oracle
    Réponses: 7
    Dernier message: 10/02/2006, 15h01
  5. stockage de mot de passe. ASP contre md5
    Par christel1982 dans le forum ASP
    Réponses: 15
    Dernier message: 02/12/2005, 08h45

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