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

JavaScript Discussion :

Masquer un script


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2007
    Messages : 5
    Par défaut Masquer un script
    Bonjour à tous,

    Je souhaite stocker mes mots de passe au sein d'une base de donnée stockée sur un serveur après les avoir cryptés en JavaScript.
    En consultation le serveur transmet les mots de passe cryptés et un scripts les décrypte localement.

    Tout fonctionne bien sauf que les scripts transmis par le serveur peuvent être consultés, ce qui ruine le cryptage!

    D'où ma question : Peut-on masque le contenu d'un script ?

    Merci d'avance pour vos réponses

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Non, tu ne peux pas.
    Tu peux au pire l'obfusquer mais ça ne résistera pas à quelqu'un ayant un minimum de connaissances.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Tu as pensé au cryptage à sens unique type hash (SHA2 par exemple) ?

    A la saisie du mot de passe, il est crypté côté serveur et comparé avec le hash en base de données.

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Règle de sécurité N°1
    la vérification ne se fait jamais côté client uniquement côté serveur.

    A+JYT

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    la vérification du mot de passe ne se fait jamais côté client uniquement côté serveur.

    Du reste, le mieux c'est de valider à la fois côté client et côté serveur, pour prévenir les erreurs classiques de saisie et accompagner l'utilisateur dans la saisie avant soumission du formulaire. Combiner praticité et sécurité, en somme.

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    je ne suis pas d'accord tout ce que tu peux mettre côté client pour aider l'utilisateur est une source d'information pertinente pour aider le hacker à passer outre ta protection.

    une étude anglaise révélait il y a quelque mois qu'un système dont les mots de passe sont contraint (par ex présence de signe @#... + au moins une majuscule + aumoins une minuscule) était au final moins sécurisé qu'un système sans contrainte.

    l'étude faisait remarquer que les système sans aucune contrainte sur le mots de passe étaient ceux ou avait été trouvé les mots de passe les plus facile à craquer.
    Mais rammené rapport mot de passe craqués/mot de passe définis les système sans contraintes se sont tous mieux placé que ceux avec une ou plusieurs contrainte.
    Mieux plus les contraintes étaient précises moins bon était le score.

    il va sans dire que cette expérience à été mené sans connaitre à l'avance les contraintes.
    ces résultat s'explique de façons logique s'il y a une règle qui défini les mots de passes alors plus on s'approche de cette règle (devine) plus on peut trouver de mots de passes.

    Cette expérience montre que sans donner aucune informations au hacker le simple fait que côté serveur il y ait une règle diminue le niveau de sécurité.
    Je pense donc que donner la moindre information au client sur la façon dont la sécurité est faite est pire que tout.
    pour moi c'est comme garder quelque chose dans un lieu sécurisé. s'il n'existe aucune information sur le lieu, le conteneur et la façon d'y accéder il sera très difficile de récupérer cette chose et ceux même si au final le système de sécurité était simple.
    à contrario si la localisation est connue que le type de conteneur est connu et que le principe du système de sécurité est connu aussi sofistiqué soit-il il y a un risque de pénétration.

    toute information est à priori bonne à prendre pour parcer une sécurité. donc moins on en donne mieux c'est. si le client n'a à ce propos aucune intélligence le hacker ne poura pas ce servir de cette intelligence pour comprendre la protection. de même pour les erreurs. si à chaque tentative le système réponds par la négative sans aucune autre information il est impossible pour le hacker de savoir s'il progresse ou pas.

    pour moi le pb du MdP en clair est un faut pb.
    sur le web tu peux crypter de façon injective ou bijective le mot de passe côté client et envoyer le résultat ou au contraire envoyer le MdP

    dans un cas comme dans l'autre le hacker à accès à ta page client donc à ton cryptage. et le point d'entrée n'est pas le formulaire mais la requête HTTP
    pour le hacker envoyer un MdP dans une requête HTTP ou le résultat d'un Cryptage c'est pareil. il n'y a aucune différence.

    A+JYT

  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    C'est pour ça que j'ai rajouté et souligné mot de passe dans ta phrase

    Je parlais des autres champs: email, date de naissance, tout ce qui peut être pré-validé côté client.

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Chauvety Voir le message
    Je souhaite stocker mes mots de passe au sein d'une base de donnée stockée sur un serveur après les avoir cryptés en JavaScript.
    En consultation le serveur transmet les mots de passe cryptés et un scripts les décrypte localement.

    Tout fonctionne bien sauf que les scripts transmis par le serveur peuvent être consultés, ce qui ruine le cryptage!

    D'où ma question : Peut-on masque le contenu d'un script ?
    J'ai fait un système de ce genre. Le principe est que mes scripts ne contiennent pas la clé de décryptage. Elle est quelque part sur mon téléphone, une clé USB, et un autre espace de stockage en ligne, pour que je ne risque pas de la perdre. Mais elle n'est pas dans les script. Je dois aller la chercher et la copier/coller à chaque fois que je veux accéder à mes données.

    (Je ne donnerai pas d'URL parce que je ne suis pas formé en crypto et j'ignore si j'ai introduit une faiblesse par manque de connaissance.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. masquer le terminal pendant execution script shell ?
    Par narcis60floyjo dans le forum Linux
    Réponses: 7
    Dernier message: 22/04/2009, 11h10
  2. Comment masquer les erreurs de script dans un WebBrowser ?
    Par mont5piques dans le forum Web & réseau
    Réponses: 2
    Dernier message: 11/05/2008, 17h32
  3. [DOM] masquer élément créé dans le script
    Par grinder59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/09/2007, 11h57
  4. Réponses: 10
    Dernier message: 26/08/2005, 08h17
  5. [FLASH MX] Masquer un calque en Action Script
    Par khayyam90 dans le forum Flash
    Réponses: 3
    Dernier message: 08/06/2005, 23h08

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