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é Discussion :

Cryptage de document


Sujet :

Sécurité

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut Cryptage de document
    Bonjour,

    Je souhaiterai mettre en place un système permettant à des gens d'envoyer des fichiers et de les stocker sur un serveur. L'interface sera en PHP

    Je voudrai, pour des raisons de sécurité, crypter ces fichiers de sorte qu'ils ne soient lisibles que par le propriétaire et personne d'autre (y compris moi même).

    J'avais pensé à utiliser un système de clé avec openssl. J'ai généré une clé privé sur le serveur et je créé une clé publique à l'inscription de l'utilisateur que je lui transmet à la fin de l'inscription.
    Sauf que ce fonctionnement fait que c'est la clé publique qui crypte le fichier et la clé privé et décrypte. Et c'est moi qui est la clé privé.

    Auriez vous une solution qui me permette de faire ce que je veux ?


    Merci de vos réponses.

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Il suffit de faire un script qui s'execute en local sur la machine des clients, qui cree une clef privee, que le client DOIT stocker quelque part.
    A chaque envoie de fichier, le code demande le droit d'acces a la clef pour chiffrage, puis chiffre (AES, 3-DES, ...), puis envoie.

    Ainsi, tu n'as jamais la clef, les documents sont securises.

    Pour le decodage, vu que tu vas utiliser un chiffrement symetrique, il suffit de prendre la meme clef.

    ATTENTION : en cas de perte de la clef, impossible de decrypter le document.

    Amelioration : generer la clef a partir d'un mot de passe. Ainsi, on ne demande plus la clef, mais le mot de passe a l'utilisateur, ce qui permet de recalculer la clef a chaque fois. Par contre, il faut faire attention a la generation de la clef, pour ne pas introduire de faille dans le cryptage.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut
    Bonjour

    Merci de la réponse.

    Oui effectivement, la gestion est plus simple s'il y a un programme coté client. Mais là je parle d'une application internet. Donc tout doit se passer côté serveur. La seule chose que je peux faire c'est envoyer la clé au client mais c'est bien le serveur qui doit la générer.

    J'ai trouvé gnupg qui est géré par PHP qui m'a l'air intéressant.

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par gannher Voir le message
    Bonjour

    Merci de la réponse.

    Oui effectivement, la gestion est plus simple s'il y a un programme coté client. Mais là je parle d'une application internet. Donc tout doit se passer côté serveur. La seule chose que je peux faire c'est envoyer la clé au client mais c'est bien le serveur qui doit la générer.

    J'ai trouvé gnupg qui est géré par PHP qui m'a l'air intéressant.
    Euh, et les clients legers ? Les clients lourds ? Le javascript dans une page ? Le PHP interprete cote client ?

    Si tu veux envoyer la clef au client, sans pouvoir connaitre la clef a un moment, tu as un soucis de conception, et il n'y aura pas de solution.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut
    Hum si ce n'est pas possible je pense que je vais faire de façon plus simple :

    Je vais générer une chaine aléatoire assez longue qui servira à gnupg de passphrase pour chiffrer les fichiers.
    Ce n'est pas une clé mais c'est mieux que rien.

    Merci

  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Je pense qu'il doit etre possible de trouver des codes Javascript que tu pourrais mettre dans la page client qui, a partir d'un mot de passe, gerent une clef de chiffrement. Bien sur, ca demande un peu de recherche, et je ne saurai pas bien t'aider la dessus...

    Ainsi, en cas de doute, le client peut verifier dans le code source de la page que le chiffrement est bien fait, et que ce ne sont bien que des donnees chiffrees qui sont envoyees.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut
    Oui ça existe : http://www.hanewin.net/encrypt/

    Cependant on ne peut crypter que le contenu des champs d'un formulaire et non pas un fichier (PDF ou autre) tout simplement car javascript n'a pas le droit de lire les fichiers du disque dur.

    Je vais donc mettre en place une liaison HTTPS pour un transfert sécurisé entre le client et mon serveur et sur mon serveur les fichiers seront crypter à l'aide d'une passphrase que j'aurai préalablement envoyé au client. Celui-ci devra me soumettre cette passphrase chaque fois qu'il se connectera pour que ses fichiers puissent être décrypter.

    Merci.

  8. #8
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par gannher Voir le message
    Cependant on ne peut crypter que le contenu des champs d'un formulaire et non pas un fichier (PDF ou autre) tout simplement car javascript n'a pas le droit de lire les fichiers du disque dur.
    Hum, j'avais oublie ce leger detail... qui est pourtant la base de la securite...

    Donc si tes clients sont sous Windows, tu as les controles ActiveX pour faire ce que tu veux, mais ca te coupe une partie de la population.

    Sinon, effectivement, je crains que tu n'aies pas d'autre solution que celle que tu envisages.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Cryptage Document Word
    Par Abdelmadjid dans le forum Delphi
    Réponses: 0
    Dernier message: 22/09/2014, 12h40
  2. Certificat électronique et cryptage de document
    Par Pipus dans le forum Sécurité
    Réponses: 1
    Dernier message: 24/01/2011, 20h55
  3. documentation de cryptage html javaScript
    Par zamoud dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/08/2010, 09h05
  4. Certificats clients pour cryptage document
    Par biniou14 dans le forum Sécurité
    Réponses: 1
    Dernier message: 10/06/2008, 13h11
  5. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28

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