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

Sécurité Java Discussion :

Protéger ou crypter des données


Sujet :

Sécurité Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 3
    Par défaut Protéger ou crypter des données
    Bonjour à tous,

    j'aimerais trouver un moyen efficace me permettant de pouvoir crypter des données sensibles (username, mot de passe, adresse IP, ect). Je sauvegarde ces données dans un fichier quelconque. Ces données cryptées doivent pouvoir être utilisables par mon application java.

    Une solution consiste à crypter ces données par les divers algorithmes existant. Pour se faire, il faut un "secret" qui permet de crypter/décrypter les données. Mon problème actuellement, c'est que je ne sais pas où stocker ce "secret". En effet, si je le mets en code dure dans mon application java, une personne pourrait décompiler la classe pour y trouver ce secret. Même si j'obfusce le code.

    La question est : par quel moyen est-il possible de crypter des données dans un fichier ou les cacher par un autre moyen, sans qu'un "secret" ne se retrouve dans le code?

    Merci d'avance pour votre attention,

    Jean

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Sujet maintes fois abordé...
    Il n'y a aucun moyen 100% fiable en local.
    Si tu as la possibilité, utilises un serveur distant pour le stockage, même si ce n'est pas non plus LA solution absolue.

    Une chose très importante à prendre en compte : ne jamais utiliser toute la flotte nord-atlantique pour tuer un moustique. Tu ne dois pas sur-sécuriser tes données par rapport aux risques de hack car il y aurait perte de temps et complexité de ton application.
    Il faut trouver un juste milieu. Tu dois aussi voir à qui s'adresse ton application et quel est l'importance des données à protéger.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    Oui comme dit dinobogan, pourquoi sortir la grosse artillerie si on veut juste protéger des recettes de cuisine personelles.
    Le plus simple est bien sûr de demander à l'utilisateur un mot de passe, ce mot de passe permettant de déchiffrer le fichier où sont stockées les données sensibles. Ca ne requiert aucune connexion à un quelconque server et le secret n'est stocké nulle part en dur. Bien sûr comme toujours le mot de passe peut être trop simple, écrit dans un fichier en clair à côté de programme de lancement de l'appli etc. mais là c'est de la responsabilité individuelle des gens et tout dépend de leur "éducation" et sensibilisation aux risques.
    Ensuite la question à se poser pour le server est : de qui veux-je protéger ces données ?
    D'un utilisateur non autorisé ? dans quel cas le mot de passe de l'utilisateur autorisé est le mieux.
    Ou de l'utilisateur. ? Par exemple je ne veux pas qu'il ait accès au mot de passe de la base de données de mon server car il pourrait faire du dégât dedans. Dans un tel cas, l'utilisateur du logiciel ne doit à aucun moment avoir accès au secret, et donc la solution de l'appli qui demande une clef au server est mieux. Avec un bémol : si n'importe quelle appli peut recevoir la clef du server, alors n'importe qui qui prendrait la peine de décompiler ton code pour trouver un mot de passe y aura accés, car il verra l'adresse du server et il lui suffirait de simuler la requête de ton application au server pour recevoir la clef.
    Ce problème qui répond à un question toute simple est en réalité très complexe.

    Je vais couper court à mpon texte (comme on dit ici "lange Rede, kurzer Sinn"), et il faudrait en fait que tu nous dises de qui tu veux protéger les ressources (mot de passe, adresse IP, etc...), ce qui nous permettrait de mieux t'orienter et t'aider.

    A plus

  4. #4
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    @George7 et dinobogan

    +1

    Et on dit pas crypter mais chiffrer.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Oui et j'ai fait attention ce coup ci, j'ai pas envie de le recopier encore 100 fois

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 3
    Par défaut
    Merci de vos suggestions, je vais méditer dessus ;-)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 53
    Par défaut
    D'un point de vue sécurité, dans le cas particuliers des mots de passe, il vaut mieux utiliser un "hashage" qu'un chiffrage réversible.

    Le but étant juste de pouvoir vérifier que l'utilisateur a bien entré le bon mot de passe, il n'est pas nécessaire de pouvoir le retrouver. Il suffit de comparer les hashages.

  8. #8
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Le hashage est ok à condition de le coupler avec un salage sinon c'est trop faible de nos jours.

    Le 2ème problème c'est dans le cas où tu voudrais stocker ce mot de passe pour ne pas avoir à le redemander à l'utilisateur comme pour un mot de passe d'accès à une BDD. Là ta solution ne marche pas.

    EDIT : C'est pas moi le -1 :p

  9. #9
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Le hashage est ok à condition de le coupler avec un salage sinon c'est trop faible de nos jours.
    En principe il suffit de hasher plus gros.... Mais c'est vrai que les outils n'aident pas beaucoup à le faire.

    Citation Envoyé par Marco46 Voir le message
    Le 2ème problème c'est dans le cas où tu voudrais stocker ce mot de passe pour ne pas avoir à le redemander à l'utilisateur comme pour un mot de passe d'accès à une BDD. Là ta solution ne marche pas.
    Normalement cette fonctionnalité-là, il ne faut pas la proposer. Si ton service ne connais pas le mdp d'accès à la BDD, c'est qu'il n'a pas à le connaître, et il va devoir faire sans.

    Voir APIs d'authentification Facebook, MySpace, Yahoo, Google, Flickr, et en fait à peu près tout.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Crypter des données.
    Par heliy dans le forum SAP
    Réponses: 1
    Dernier message: 01/05/2011, 02h11
  2. Crypter des données
    Par 64XAVIER64 dans le forum Sécurité
    Réponses: 21
    Dernier message: 03/06/2009, 17h16
  3. Crypter des données
    Par baya1 dans le forum Langage
    Réponses: 1
    Dernier message: 29/06/2007, 22h28
  4. [Sécurité] Crypter des données
    Par 12_darte_12 dans le forum Langage
    Réponses: 1
    Dernier message: 26/05/2006, 13h33

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