Bonjour,
J’ai un projet de programmation réseau à faire qui consiste a établir une connexion sécurisée entre deux parties d’un réseau. J’ai a peu près un mois pour le faire.
Je pense que les trois étapes sont
- authentification (A est bien A est B est bien B)
- échange de clés de chiffrement
- chiffrement de données et échange.
Ma question concerne l’étape 2 (Je ne me suis pas encore penche sur la 1ere )
Dans un premier temps, je dois choisir la méthode Diffie Hellman pour l'échange des clés de chiffrement. Je peux utiliser openssl pour la création des paramètres.
J’ai pensé a ce pseudo protocole :
- B attend la connexion (socket, bind, listen ...)
- A se connecte a B
- (étape authentification ... ?? )
- A calcule ses paramètres DH et les donne a B
- B en déduit ses paramètres DH et les renvoie a A
- A et B calculent la clé privée de cryptage
- Echange des données cryptées par un algo plus rapide utilisant la cle calculee.
Tout d’abord … est-ce que je pars sur la bonne voie ?
Ensuite une question plus concrète concerne openssl. Je viens de faire des exercices sur l’utilisation de openssl pour la création des clés en ligne de commande sous linux. Par exemple pour créer les clés privées - publiques pour RSA :
Mais comment je peux utiliser cette commande dans un programme en C ?openssl genrsa -out ma_cle_privee.pem 1024
openssl rsa -pubout -in ma_cle_privee.pem -out ma_cle_publique.pem
Merci pour les conseils.
NB : je sais que « DVP.com ne fait pas les devoirs ». Je ne fais que demander des conseils.
Merci : )
Partager