PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 30/10/2015 11:47:15

Crypto06
Membre

vecteur initialisation (iv) de la fonction pgp_sym_encrypt()

Bonjour,

je suis entrant d'essayer l'extension PGCRYPTO  qui m'a l'air pas mal. sauf que je ne sais pas comment faire fonctionner, en utilisant pgp_sym_encrypt(), l'option s2k-mode qui est normalement d’après la documentation est configurer avec la valeur 3 donc avec "sel" incrémentation aléatoire sauf qu'on pratique les tests que j'ai effectués ne sont pas concluants, le chiffrement de deux séquences identiques donne le même chiffré !!

Aussi, je vaudrai savoir comment quel est le mécanisme utilisé pour sauvegarder les clés quand on utilise ce genre de fonctions. y-a-il des précaution à prendre ou quels sont les faiblesses de ce système.

Merci par avance à toute réponse ou réflexion à partager.
Bonne journée/soirée

Hors ligne

#2 03/11/2015 12:21:52

Marc Cousin
Membre

Re : vecteur initialisation (iv) de la fonction pgp_sym_encrypt()

Bonjour,

C'est très bizarre, je n'ai pas le problème:

marc=# select pgp_sym_encrypt('toto','cle');
                                                                pgp_sym_encrypt                                                                 
------------------------------------------------------------------------------------------------------------------------------------------------
 \xc30d0407030271c9e426a82f26ef65d23501f45457dca9ef04c56ac2dceb69c0e4062a658eba5e02b5b93af221327adfa0899cbf291ce2cf09f1b6c465ef054020b2a111a561
(1 row)

marc=# select pgp_sym_encrypt('toto','cle');
                                                                pgp_sym_encrypt                                                                 
------------------------------------------------------------------------------------------------------------------------------------------------
 \xc30d04070302befe0b273098906d62d23501e973a24a4e3cad0e65e0b9ce3d8b9f3929a1f6e0632efbde1e7de59bf78cee2eec772eb8eddf182700386719ec5d903038684013
(1 row)

Pouvez-vous donner un exemple qui montre le problème ?

Hors ligne

#3 05/11/2015 18:34:55

Crypto06
Membre

Re : vecteur initialisation (iv) de la fonction pgp_sym_encrypt()

Bonjour Marc, Bonjour à toute et à tous

Je vous remercie de m'avoir permet de voir mon erreur. en faisant le teste dans un terminal effectivement ça fonctionne a merveille.
J'ai vérifier ma requête dans le code et il y avais bien une erreur vu que j’utilisais la valeur calculer la première fois pour  dans les champs suivants qui correspondais à la même entrée.
Ce point corrigé ça donne un bon résultat comme ci-dessous:

"Marc";"\303.\004\011\003\002\220\0347\003}\312)\ (...)"
"Cousin";"\303.\004\011\003\002\032\210'\340\263\ (...)"
"Crypto";"\303.\004\011\003\002-\363\214;U\346\ (...)"
"Crypto";"\303.\004\011\003\002\321\250\014\014\ (...)"

donc c'est OK. Merci encore.

Par contre avez vous une idée sur la 2eme partie de ma question qui parle de précautions à prendre avec ce système. (où se fait la sauvegarde des clé de chiffrement...)
Est ce un mécanisme certifié efficace pour une application en environnement de production.

Merci par avance.

Dernière modification par Crypto06 (05/11/2015 18:35:35)

Hors ligne

#4 05/11/2015 19:15:00

Marc Cousin
Membre

Re : vecteur initialisation (iv) de la fonction pgp_sym_encrypt()

Il n'y a pas de mécanisme magique pour les clés avec ce système. Il faut que vous gardiez la clé à un endroit «sûr», ce qui ne veut rien dire du tout smile

Évitez au moins de l'avoir sur le serveur de données. Au minimum sur le serveur applicatif. Après, on peut faire des choses comme ne l'avoir qu'en mémoire, avec un admin qui doit fournir le mot de passe si on redémarre le serveur. Mais il va bien falloir à un moment où à un autre que le client ait cette clé pour chiffrer et déchiffrer, vu que là on travaille avec une clé symétrique.

Hors ligne

Pied de page des forums