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

VB.NET Discussion :

améliorer la sécurité de mon application, comment?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spring.time
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 294
    Par défaut améliorer la sécurité de mon application, comment?
    Salut,

    svp, est ce que vous pouvez m'aider sur la sécurité de mon application, que j'aimerais la partager sur un réseau local.

    est ce que je dois crypter les mots de passe des utilisateurs, par sql server ou au niveau de l'application (vb.net), ou dois je crypter la chaîne de connexion?
    et comment ?

    c'est la première fois que je vais mettre en place une application qui doit etre utilisée par différents utilisateurs via un réseau local, est ce que, au niveau de serveur, que vais installer sql server pour l’accès à la BD, et l’exécutable de l’application sur chaque poste des clients, c'est bien cela?

    merci

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Crypter (ou hasher) les mots de passe. Ne pas les sauver en clair dans la db. Avoir une connections sécurisée entre le client et la db. Et crypter la chaîne de connexion. Avec ça c'est déjà bien. Ça s'arrêtera pas un hacker expérimenté, mais j'imagine que tu n'as pas de secrets d'État.

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    On peut rajouter qu'il faut utiliser des requêtes SQL paramétrées afin de se prémunir un minimum contre les attaques par injection. Cela dit, ce n'est pas non plus un remède miracle.

    Il est aussi recommandé de bien valider les saisies utilisateurs, côté serveur comme côté client.

    Il existement beaucoup d'autres conseils à prendre en compte. Microsoft a publié il y a déjà quelques temps un guide appelé "Patterns & Practices" qui recense les best practices...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre éclairé Avatar de spring.time
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 294
    Par défaut
    Bonjour,

    je vous remercie beaucoup,

    pour le cryptage, j'ai remarqué qu'il existe sur visual studio des méthodes comme
    Security.Cryptography.SHA256Managed et Security.Cryptography.MD5CryptoServiceProvider

    je les ai testé, on me généré des codes composés de chiffres et de lettres.
    lequel à utiliser?

    par exemple, lorsqu'un utilisateur crée son compte sur l'application, je vais d'abord le crypter selon une de ces 2 méthodes, puis j'enregistre le texte chiffré sur la base de donnée, dans la colonne dédiée aux mots de passe.
    et si l'utilisateur entre son mot de passe pour acceder à son espace dans l'application, je vais crypter le mot de passe saisi et je le compare avec celui qui est sauvegarder dans la base.c'est bien cela?


    et comment crypter la chaine de connexion?

    est ce que vous pouvez me suggérez des techniques ?

    merci

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par spring.time Voir le message
    pour le cryptage, j'ai remarqué qu'il existe sur visual studio des méthodes comme
    Security.Cryptography.SHA256Managed et Security.Cryptography.MD5CryptoServiceProvider

    je les ai testé, on me généré des codes composés de chiffres et de lettres.
    lequel à utiliser?
    Il vaut mieux utiliser SHA256, car il est considéré comme plus fort que MD5. Il suffit d'une petite recherche Google pour s'en rendre compte.

    Citation Envoyé par spring.time Voir le message
    par exemple, lorsqu'un utilisateur crée son compte sur l'application, je vais d'abord le crypter selon une de ces 2 méthodes, puis j'enregistre le texte chiffré sur la base de donnée, dans la colonne dédiée aux mots de passe.
    et si l'utilisateur entre son mot de passe pour acceder à son espace dans l'application, je vais crypter le mot de passe saisi et je le compare avec celui qui est sauvegarder dans la base.c'est bien cela?
    Oui c'est bien ça ! Tu compares les 2 hash, et s'ils sont identiques c'est que c'est le bon mot de passe.

    Citation Envoyé par spring.time Voir le message
    et comment crypter la chaine de connexion?
    Ce lien te fournira des exemples de ce que tu cherches à faire : http://msdn.microsoft.com/en-us/library/ms254494(v=vs.100).aspx
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    Membre éclairé Avatar de spring.time
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 294
    Par défaut
    merci

    vous avez dit que l'algorithme SHA256 est plus consistant que celui de MD5, mais dans quel cote?
    j'ai pu trouvé un bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ' Pour convertir le mot de passe en tableau de byte:
            Dim encoder As New System.Text.UnicodeEncoding
            ' On obtient un tableau à partir du mot de passe entré:
            Dim password() As Byte = encoder.GetBytes(T_m.Text)
            ' Pour crypter le mot de passe:
            Dim sha As New Security.Cryptography.SHA256Managed
            'MD5CryptoServiceProvider
            ' On obtient le mot de passe crypté:
            Dim PassSHA() As Byte = sha.ComputeHash(password)
            ' T_r.Text = CType(PassSHA, String)
            Dim r As String
            r = BitConverter.ToString(PassSHA)
            T_r.Text = r
    que vous en dites?


    lorsque je compare le mot de passe déjà crypté avec ce qui est saisi,est ce qu'il y ' a un risque de le sniffer et de lui appliquer le décryptage avec SHA256?

    concernant le chiffrement de la chaine de connexion, que pourriez vous me suggérer?
    merci

Discussions similaires

  1. Changer contexte de sécurité de mon application.
    Par turican2 dans le forum Débuter
    Réponses: 4
    Dernier message: 04/05/2010, 11h43
  2. [CF][PPC] Comment déployer mon application ?
    Par jeepnet dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 20/03/2007, 18h19
  3. comment diviser mon application access en 2 partie
    Par Soulghard dans le forum Access
    Réponses: 4
    Dernier message: 10/01/2006, 10h26
  4. Comment faire générer du rtf par mon application?
    Par nickylarson dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/08/2003, 09h35

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