Comment crypter efficacement les données de ma bd ?
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Comment crypter efficacement les données de ma bd ?

by
DavidD4
Created on 2017-08-25 18:41:34 (edited on 2024-09-04 13:36:22) in Hébergements Web

Bonjour,

Nous développons un site avec Symfony 3 et nous devons héberger dans une BD MySQL des données confidentielles (hôpital).

Plusieurs questions :

1) Quelle(s) méthode(s) me conseillez-vous ?
2) Est-ce que MySQL est à proscrire niveau sécurité ?
3) Est-ce qu'une adresse du genre https serait intéressant ?
4) J'ai entendu parler d'un cryptage avec clé de cryptage, ça vous dit quelques chose ?
5) Est-ce que OVH pourrait me proposer un hébergement qui permettrait une sécurité accrue ?



Merci d'avance pour votre aide.


7 Replies ( Latest reply on 2017-08-26 17:35:14 by
JBGO
)

Bonjour,

déjà vous avez pas le droit de stocker des données de santé sur un mutu.

Cordialement, janus57

Bonjour Janus57,

Merci pour ta réponse rapide.

On va prendre un dédié justement...

ça apporte quoi exactement un dédié ? plus difficile à configurer ?

Merci pour l'aide et agréable soirée.

Bonjour,

marche pas non plus un seule produit chez OVH est compatible avec les données de santé : https://www.ovh.com/fr/private-cloud/healthcare/

Cordialement, janus57

Bonjour,

Le problème est que crypter la base de donnés ne sert pas forcément à grand chose..
Si le site est piraté le pirate aura forcément les fichiers permettant de décrypter la base de données.

Après regarde des fonctions de cryptage dans php comme mcrypt.

Mais vu que la fonction est incluse dans php ce sera aisé pour quelqu'un qui vole la BDD de la décrypter.

Ou alors vous écrivez vous même votre algorithme de cryptage /chiffrement. Ainsi il devra vous voler aussi l'algorithme que vous avez ecrit pour décrypter le texte.


Ou alors vous écrivez vous même votre algorithme de cryptage /chiffrement. Ainsi il devra vous voler aussi l'algorithme que vous avez ecrit pour décrypter le texte.


Même cela ce n'est pas bon, si on pirate le code php, on a accès à l'algorithme. Il faut au contraire que l'algorithme soit public, et que tout le secret réside dans le mot de passe. Et donc évidemment il ne faut pas que ce mot de passe soit ni dans le php ni dans quelque fichier de config que ce soit (ce qui est le cas des CMS lambda). Il faut que le mot de passe soit saisi par l'utilisateur lors de la connexion (et donc il faut soit que les pages de connexion soient statiques, soit qu'elles accèdent une autre base de donnée).

Merci à tous pour vos réponses.
On est occupé à se demander si on ne va pas opter pour une BD SQL Server...

Il semblerait que ça soit bien plus sécurisé qu'une bd MySQL ?

Vous conseillez web ou standard ?

Attention, il ne s'agit pas d'un projet pour un hôpital, mais les données en sont toutes aussi sensibles...

Merci encore pour l'aide.


Il semblerait que ça soit bien plus sécurisé qu'une bd MySQL ?


Pas forcément.. Pourquoi penses tu cela ?

Après dans tous les cas, si le site en php a une faille, il sera possible de récupérer la base de donnés..


Après dans tous les cas, si le site en php a une faille, il sera possible de récupérer la base de donnés..

Certainement. Donc la sécurité ? ? ?


mcrypt


C'est quand même développé avec Symfony 3....

J'en sais rien je ne connais pas symnofy....
Mais de toute façon ça change quoi au problème ?

> On est occupé à se demander si on ne va pas opter pour une BD SQL Server...
> Il semblerait que ça soit bien plus sécurisé qu'une bd MySQL ?

Aucune différence, si le site a une faille majeure, ça réagira pareil (ou faille système).

> C'est quand même développé avec Symfony 3....

Et ? :) Ça reste de l'informatique, des problèmes de sécurité peuvent survenir, que ce soit au sein du framework que le code développé par dessus.

> Après regarde des fonctions de cryptage dans php comme mcrypt.

Petite remarque là dessus, cette bibliothèque est dépréciée en PHP 7.1 et sera supprimée sous PHP 8 (RFC : https://wiki.php.net/rfc/mcrypt-viking-funeral). Elle est remplacée sous PHP 7.2 par la lib Sodium / OpenSSL.

Dans tous les cas, quelque soit la taille du site ou du nombre de visites, s'il s'agit de données médicales à caractère confidentielles, il faut obligatoirement que l'infrastructure soit certifiée (article L. 1111-8, http://esante.gouv.fr/actus/services/agrement-des-hebergeurs-de-donnees-de-sante-publication-du-referentiel-de, http://www.dsih.fr/article/2483/hebergement-de-donnees-de-sante-ce-qui-va-changer.html).

Chiffrer / déchiffrer une base de données coûte cher en ressources et ne résous pas tous les problèmes car une personne ayant un accès au serveur aura toujours la possibilité de la déchiffrer et récupérer les données. L'infrastructure complète doit répondre à de nombreuses normes strictes régulièrement vérifiées par des organismes agréés (d'où la solution médicale d'OVH qui a pris beaucoup de temps à émerger).