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

SL & STL C++ Discussion :

Proteger un fichier - cryptage - certificat


Sujet :

SL & STL C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut Proteger un fichier - cryptage - certificat
    Bonjour,

    J'ai ecris une api (en C++) qui doit appeler une url.

    Cette url pouvant etre change regulierement et pour eviter d'avoir a recompiler le programme a chaque fois elle se trouve dans un fichier en clair.

    J'aurais besoin d'etre sur que ce fichier n'a ete modifie que par une personne autorise.

    Existe t il une librairie qui permette de le faire ? (a l'aide de certificat par exemple). Ou en passant pas un calcul d'empreinte mais comment proteger cette empreinte et la mettre a jour?

    D'avance merci


    PS mon api doit tourner aussi bien sous windows, linux (redhat , suse), que solaris

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hello xian21,

    Je ne connais pas assez bien les API particulières pour savoir si elles sont faciles à utiliser en C++ et portables, mais en principe, tu as besoin d'une signature numérique. Il te faut donc:
    1. Générer une paire clef publique/clef privée.
    2. Signer le fichier en question avec ta clef privée que tu gardes chez toi.
    3. Vérifier la signature du fichier avec la clef publique que tu intègres dans le programme.

    Wikipedia t'en dira plus sur le sujet.

    Bon courage,

    Carl

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Tu peux peut-être jeter un oeil sur OpenSSL.

    MAT.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    Citation Envoyé par xian21 Voir le message
    J'aurais besoin d'etre sur que ce fichier n'a ete modifie que par une personne autorise.
    Des droits d'accès appropriés?

    Citation Envoyé par xian21 Voir le message
    PS mon api doit tourner aussi bien sous windows, linux (redhat , suse), que solaris
    Pour les Un*x : chmod og-w lefichier

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Salut,

    Merci pour les reponses.
    Acutellement je me dirige effectivement vers l'utilisation de Openssl:
    Cryptage puis signature du fichier a proteger (avec openssl enc et openssl dgst)

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    Citation Envoyé par xian21 Voir le message
    Acutellement je me dirige effectivement vers l'utilisation de Openssl:
    Cryptage puis signature du fichier a proteger (avec openssl enc et openssl dgst)
    Tu parles bien de "sécurité" anti-neuneu là, ou bien de sécurité solide non-contournable?

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Securiser au maximum mais comme je suis emmerder par le fait que le programme doit pouvoir tourner sur suse, redhat, sun et windows (pour l'instant...) le chmod c'est un peu mort pour moi.

    D ou utilisation de certificat.
    Mais je suis ouvert a toutes suggestions.

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    Citation Envoyé par 5hdumatin Voir le message
    en principe, tu as besoin d'une signature numérique. Il te faut donc:
    1. Générer une paire clef publique/clef privée.
    2. Signer le fichier en question avec ta clef privée que tu gardes chez toi.
    3. Vérifier la signature du fichier avec la clef publique que tu intègres dans le programme.
    Si quelqu'un modifie l'URL, qu'est-ce qui l'empêche de modifier aussi la clef publique?

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Pour modifier cette url il faudra deja avoir les droits admin sur la machine et etre capable de recompiler le programme. Donc le chmod est deja quelque part inclus ...

    L'acces aux serveurs sur lequel tourne ces apis est difficilement accessible pour le "commun" des mortels.

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    Citation Envoyé par xian21 Voir le message
    Pour modifier cette url il faudra deja avoir les droits admin sur la machine et etre capable de recompiler le programme.
    Il existe des outils pour modifier les fichiers compilés il me semble. (On les appelle aussi éditeurs de liens. ) Il me semble que le format ELF a été conçu pour ça (être éditable).

    Pas forcément besoin de recompiler/d'avoir les sources.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par corrector Voir le message
    Si quelqu'un modifie l'URL, qu'est-ce qui l'empêche de modifier aussi la clef publique?
    Alors il faut définir un peu mieux le besoin. Xian21, si tu as juste besoin que ton programme puisse détecter un changement inopiné dans un fichier de configuration, la signature est une solution.

    Si tu as besoin de rendre physiquement impossible la modification du fichier, tu dois avoir le contrôle absolu de la machine sur laquelle l'application fonctionne, pour t'assurer qu'aucun utilisateur ne peut acquérir les droits permettant de le modifier.

    Tout dépend de ce que tu cherches à faire exactement. Au passage, corrector, si tu peux modifier l'exécutable, tu peux aussi simplement sauter la lecture de l'URL dans un fichier et en utiliser une que tu ajoutes en dur dans le programme.

    Carl

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    Citation Envoyé par 5hdumatin Voir le message
    Alors il faut définir un peu mieux le besoin.
    Je pense aussi!

    Citation Envoyé par 5hdumatin Voir le message
    Si tu as besoin de rendre physiquement impossible la modification du fichier, tu dois avoir le contrôle absolu de la machine sur laquelle l'application fonctionne, pour t'assurer qu'aucun utilisateur ne peut acquérir les droits permettant de le modifier.

    Tout dépend de ce que tu cherches à faire exactement. Au passage, corrector, si tu peux modifier l'exécutable, tu peux aussi simplement sauter la lecture de l'URL dans un fichier et en utiliser une que tu ajoutes en dur dans le programme.
    Et si on ne peut pas modifier l'exécutable, je veux dire si c'est impossible, pas seulement plus difficile que de modifier un fichier texte, c'est bien que tu as "le contrôle absolu de la machine sur laquelle l'application fonctionne".

  13. #13
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Bon en fait je disais que je souhaitais juste modifier une url parce que ca m'evitait d'expliquer plus en detail le projet. (rien de secret juste un gros poil dans la main :p )

    A priori la personne qui installera l'api aura le controle totale sur sa machine. Je ne sais pas exactement ou il sera installe mais apriori dans des entreprises ou des banques.

    Le fichier que je dois verifier est un certificat qui contient la liste des certificats des serveurs autorises a repondre a l'api. Pour proteger ce certificat on calcule son empreinte. Le probleme c'est que tous les 2 ans minimum ce certificat va changer. Et je me vois mal repasser sur je ne sais combien de serveurs pour recompiler l'api a chaque fois que l'empreinte change. (ce qui est le cas jusqu'a present)

    Donc mon but est de proteger cette empreinte tout en rendant facile sa diffusion (en meme temps que les nouveaux certificats etc...)

    Normalement une fois installe cet api et ces certificats ne devrait pas etre modifiable par n'importe qui si l'admin a bien blinde son serveur.
    Mais vu que l'envoye des nouveaux certificats se fera par mail ( a priori ) il faudra bien verifier d'une facon ou d'une autre qu'il n'a pas ete intercepte en cours de route...

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    En fait tu veux faire de la "sécurité en profondeur", j'ai bien compris?

  15. #15
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    oui

Discussions similaires

  1. Proteger un fichier - cryptage - certificat
    Par xian21 dans le forum C++
    Réponses: 3
    Dernier message: 22/02/2008, 14h37
  2. proteger mes fichiers Access
    Par psyko72 dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/09/2007, 12h52
  3. [Système] Proteger des fichiers en telechargement ?
    Par ronando dans le forum Langage
    Réponses: 20
    Dernier message: 29/09/2006, 17h56
  4. interdire de tuer un processus & proteger des fichiers
    Par .:dev:. dans le forum Windows
    Réponses: 2
    Dernier message: 30/06/2006, 11h33
  5. peut-on proteger un fichier xml en ecriture?
    Par link256 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 25/05/2006, 12h43

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