Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
666 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Crypter un champ en BDD (mais ce n'est pas une question bdd)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Crypter un champ en BDD (mais ce n'est pas une question bdd)

n°2286121
Peuwi
Posté le 04-08-2016 à 10:48:44  profilanswer
 

Bonjour,
 
- j'ai besoin de crypter un champ dans une BDD postgres. (une sorte de mot de passe)
- Je ne peux pas faire un hashage, car j'ai besoin d'avoir la donnée en clair. (ce n'est pas une vérification de mot de passe)
- Je souhaite le crypter pour que la prod ne puisse par voir "en clair" cette valeur.
- J'aimerais éviter de chiffrer toute la BDD avec un certificat authentifiant le client de la BDD, ce qui serait rapidement un truc à emmerdes maximum, ce serait too much, et j'aurais bien du mal à le justifier.
 
Ca, c'est pour le besoin.
Pour un début de solution, j'imaginerais :
- une petite clé inscrite en dur dans l'application. (il faut la clé applicative + la valeur en bdd, cette double sécurité me suffirait)
- une moulinette qui transforme mon champ en un autre truc, dans un sens et dans l'autre.  (intuitivement, un modulo suffit) L'idéal, ce serait d'utiliser une fonction java toute bête qui existe déjà et qui fait ca bien
 
Le problème étant très commun (enfin, moins commun qu'une vérification de mot de passe quand même), je suppose que des solutions standard existent.
 
Je vous remercie d'avance ! :)

Message cité 2 fois
Message édité par Peuwi le 04-08-2016 à 10:49:30
mood
Publicité
Posté le 04-08-2016 à 10:48:44  profilanswer
 

n°2286122
skoizer
tripoux et tête de veau
Posté le 04-08-2016 à 11:13:57  profilanswer
 

je pense que la rubrique adéquate aurait été "Programmation"
il y a une rubrique SQL, tu devrais trouver des interlocuteurs.


---------------
Plus tu essaies de rentrer dans le moule, plus tu ressembles à une tarte.
n°2286123
Je@nb
In ze cloud
Posté le 04-08-2016 à 14:17:29  profilanswer
 

Ce sujet a été déplacé de la catégorie Systèmes & Réseaux Pro vers la categorie Programmation par Je@nb


---------------
Mon blog - - WikINSA, le wiki des insaliens
n°2286146
LeRiton
skishop-lelex.com
Posté le 04-08-2016 à 16:18:30  profilanswer
 

Sans en savoir plus sur tes données d'entrée (jeu de caractères notamment) et ton besoin de confidentialité (si je ne peux pas lire la valeur en clair mais que déduire la méthode de cryptage est trivial, ça passe ?), difficile d'en dire plus.

 
Peuwi a écrit :


- une moulinette qui transforme mon champ en un autre truc, dans un sens et dans l'autre.  (intuitivement, un modulo suffit) L'idéal, ce serait d'utiliser une fonction java toute bête qui existe déjà et qui fait ca bien

 

Base64 si ce que j'évoque plus haut n'est pas un problème.


Message édité par LeRiton le 04-08-2016 à 16:21:22

---------------
SkiShop Lélex, location de ski, snowboard, snowscoot & VTT sur le domaine Mijoux / Lélex (Jura)
n°2286151
Peuwi
Posté le 04-08-2016 à 16:45:14  profilanswer
 

Bonjour,
merci !
Le jeu de caractère, c'est un mot de passe, donc, UTF-8 limité aux caractères imprimables.
Après, si cela devient important, on peut aussi limiter à un ensemble plus restreint. (je veux dire, on est pas censé choisir des mots de passe en araméen)
Effectivement, le laisser simplement en base64 serait pas mal ...
Par contre, je préfèrerais une solution où on ne peut pas décoder à partir de la seule information de la BDD.

n°2286194
LeRiton
skishop-lelex.com
Posté le 05-08-2016 à 08:19:45  profilanswer
 

Dans ce cas pars sur de l'AES.
Regarde du côté des classes Cipher et PBEKeySpec (PBE pour Password Based Encryption).


---------------
SkiShop Lélex, location de ski, snowboard, snowscoot & VTT sur le domaine Mijoux / Lélex (Jura)
n°2286199
TotalRecal​l
Posté le 05-08-2016 à 09:55:34  profilanswer
 

Oui, pourquoi pas un bête AES ? C'est extrêmement robuste (à condition de protéger la clé évidemment) et dispo dans tous les langages. Il faut juste faire gaffe à bien supporter l'encoding de la valeur soumise en entrée.
 
Ca parle de base64 au dessus, je me demande bien pourquoi vu que c'est juste une façon d'encoder des informations pour maitriser le charset mais en aucun cas une solution de cryptage vu qu'il n'y a aucune notion de clé. Donc pour un mot de passe c'est pourri.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2286203
LeRiton
skishop-lelex.com
Posté le 05-08-2016 à 10:50:51  profilanswer
 

TotalRecall a écrit :

Ca parle de base64 au dessus, je me demande bien pourquoi vu que c'est juste une façon d'encoder des informations pour maitriser le charset mais en aucun cas une solution de cryptage vu qu'il n'y a aucune notion de clé. Donc pour un mot de passe c'est pourri.


 

Peuwi a écrit :

- Je ne peux pas faire un hashage, car j'ai besoin d'avoir la donnée en clair. (ce n'est pas une vérification de mot de passe)
- Je souhaite le crypter pour que la prod ne puisse par voir "en clair" cette valeur.
[...]
- une moulinette qui transforme mon champ en un autre truc, dans un sens et dans l'autre.  (intuitivement, un modulo suffit) L'idéal, ce serait d'utiliser une fonction java toute bête qui existe déjà et qui fait ca bien


J'ai commencé par Base64 parce que le besoin initial n'était pas de la protection mais de l'obfuscation  [:cosmoschtroumpf]


---------------
SkiShop Lélex, location de ski, snowboard, snowscoot & VTT sur le domaine Mijoux / Lélex (Jura)
n°2286205
Peuwi
Posté le 05-08-2016 à 11:05:01  profilanswer
 

Et bien, voilà, merci pour votre réponse !
Effectivement, du coup, c'est une solution purement dev.
Ca semble tout bête,  
http://www.abricocotier.fr/16333-c [...] 28-en-java
donc, j'imagine que je peux demander cela facilement :)
Merci !


Message édité par Peuwi le 05-08-2016 à 11:07:22
n°2286230
TotalRecal​l
Posté le 05-08-2016 à 20:13:11  profilanswer
 

LeRiton a écrit :


J'ai commencé par Base64 parce que le besoin initial n'était pas de la protection mais de l'obfuscation  [:cosmoschtroumpf]


Désolé mais un chiffrage par modulo, xor or tout ce que tu veux de basique c'est déjà du cryptage contrairement à la base64 qui est réversible sans aucune donnée externe comme je disais et qui en plus visuellement se reconnait super facilement.

 

Même si je vois bien où tu voulais en venir ça n'est pas pareil : pour moi un mot de passe en base64 c'est aussi dangereux qu'un mot de passe en clair.

Message cité 1 fois
Message édité par TotalRecall le 05-08-2016 à 20:14:32

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
mood
Publicité
Posté le 05-08-2016 à 20:13:11  profilanswer
 

n°2286231
LeRiton
skishop-lelex.com
Posté le 05-08-2016 à 20:59:08  profilanswer
 

TotalRecall a écrit :


Même si je vois bien où tu voulais en venir ça n'est pas pareil : pour moi un mot de passe en base64 c'est aussi dangereux qu'un mot de passe en clair.


Complètement d'accord.
Pour moi l'objectif c'était pas de protéger un mot de passe mais d'empêcher Marcel de la MOA qui a accès à la prod de connaître les mots de passe de ses collègues. Dans ce sens, Base64 comme n'importe quoi d'autre conviendrait.


---------------
SkiShop Lélex, location de ski, snowboard, snowscoot & VTT sur le domaine Mijoux / Lélex (Jura)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Crypter un champ en BDD (mais ce n'est pas une question bdd)

 

Sujets relatifs
[SQL] Question sur une requêteVBS question débutant
Comment utiliser ce script ? "question de débutant"[Divers] Question sur la possibilité d'export automatisé d'emails
Question sur rubyproblème liste déroulante avec BDD
[php] petite question svpConseil techno visualisation/modif BDD via du web
crystal report - sql pour tester valeur d'un champptite question php-AJAX
Plus de sujets relatifs à : Crypter un champ en BDD (mais ce n'est pas une question bdd)



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR