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

PHP & Base de données Discussion :

Stockage sécurisé clé de chiffement asymétrique / symétrique ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Août 2017
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Entrepreneur

    Informations forums :
    Inscription : Août 2017
    Messages : 119
    Par défaut Stockage sécurisé clé de chiffement asymétrique / symétrique ?
    Bonjour à tous,

    J'ai cru comprendre que par les dires de certaines personnes qu'il ne faut pas stocker les clés de chiffrement sur la même base de données ou le même serveur, savez vous comment faire s'il vous plaît ? Je vais utiliser sodium.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Effectivement en règle général c'est déconseillé. Puisque si le serveur vient à être compromis , si les données son cryptées mais que la clé est facilement accessible ca ne sert à rien.

    La problématique étant que si on stock la clé ailleurs , comment sécuriser la connexion qui permet de récupérer la clé ? C'est un peu le serpent qui se mort la queue.

    * L'idéal, c'est de ne pas avoir la totalité de la clé. Par exemple une partie de la clé est commune à tous les utilisateurs et elle est ensuite complétée par une partie que seule l'utilisateur connais. L'inconvénient c'est que tu n'as toi même pas accès aux données.
    * La solution suivante c'est d'utiliser les capacités matérielles. Par exemple les modules TPM pour stocker la clé. Ce n'est, à ma connaissance, pas accessible en PHP
    * On peut aussi imaginer une clé découpée en plusieurs parties. Une partie dans le code PHP , une partie dans un fichier hors racine web , une partie dans la bdd. C'est légèrement mieux que d'avoir la clé à un unique endroit.
    * La dernière solution , stocker la clé dans un fichier en dehors de la racine web. idéalement dans protégée par un mot de passe.

    Un post intéressant sur le sujet : https://security.stackexchange.com/a/48085
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Août 2017
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Entrepreneur

    Informations forums :
    Inscription : Août 2017
    Messages : 119
    Par défaut
    Merci de ton aide Grunk, je ne m'y connais pas en sécurité informatique donc c'est galère.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 419
    Par défaut
    Oui les deux dernières solutions proposées par grunk sont la plupart du temps assez simples à mettre en place. Mais bon à part cela si tu n'y connais rien en sécurité informatique, tu peux aussi avoir des trous de sécurité dans ton code. L'oswap permet d'en apprendre un peu plus. Et puis évidemment fais gérer ton serveur par des professionnels (ou prend un mutualisé chez un hébergeur professionnel), la gestion serveur est un métier qui ne s'improvise pas.

  5. #5
    Membre actif
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Août 2017
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Entrepreneur

    Informations forums :
    Inscription : Août 2017
    Messages : 119
    Par défaut
    Merci Abciweb. J'ai pris un hébergement web mutualisé chez Hostinger. Je m'étais rendu compte que je comptais faire des trucs qu'il est mieux de laisser à une entreprise de faire, du coup Hostinger là, étant donné à quel point je suis nul en sécurité.

    J'ai un administrateur réseau dans ma team, pas encore dispo pour l'instant. A par ça actuellement il y'a que moi sur le backend. J'ai aussi vue qu'une des autres solutions était de mettre la base de données sur un serveur différent du serveur hébergeant le site web https://security.stackexchange.com/q...encryption-key dans le point 5 de la réponse donné par une personne.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 419
    Par défaut
    Citation Envoyé par Coeur De Roses Voir le message
    J'ai aussi vue qu'une des autres solutions était de mettre la base de données sur un serveur différent du serveur hébergeant le site web.
    Ce n'est pas toujours possible, notamment pour les serveurs mutualisés type OVH, et pour des raisons de sécurité précisément, ils peuvent ainsi mieux maîtriser tout le processus de connexion au serveur de base de données.

    Après dans la pratique les serveurs de base de données gérés par les hébergeurs (dans les hébergements mutualisés) se font très rarement pirater directement. Ils ont des pros qui se renseignent en permanence sur les nouvelles formes d'attaque, des processus de surveillance automatisés, des sauvegardes automatiques sur différents serveurs etc. La plupart du temps les pirates exploitent des failles dans le code des fichiers, processus d'authentification, injection sql etc. C'est pour cette raison que les sites Wordpress sont souvent visés car le code est open source et il suffit donc d'utiliser un module qui a une faille et qui n'est pas (ou plus) mis à jour pour se faire pirater son site.

    Pour dire que si tu es développeur ton principal travail est la sécurité du code (injections sql... cf oswap), les contrôles de données côté serveur, token dans les formulaires, le process d'authentification si tu as un espace administrateur, utilisation de https et non pas http, etc. Si tu ne connais pas bien tous les aspects tu peux aussi utiliser un framework, symfony (mais long à maîtriser) ou autre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/03/2019, 16h00
  2. Réponses: 2
    Dernier message: 20/11/2016, 20h12
  3. stockage sécurisé d'une chaine de connexion en .net
    Par Pol63 dans le forum Windows Forms
    Réponses: 22
    Dernier message: 07/12/2012, 12h09
  4. une image symétrique ou asymétrique
    Par Tomas.Image dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 02/11/2012, 11h18
  5. Stockage de High scores sécurisé
    Par Risike dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 25/05/2008, 10h12

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