Travaux pratiques sur l API Openssl



Documents pareils
Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Du 03 au 07 Février 2014 Tunis (Tunisie)

Sécurité WebSphere MQ V 5.3

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

M2-RADIS Rezo TP13 : VPN

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

Cours 14. Crypto. 2004, Marc-André Léger

Une introduction à SSL

Sécurisation des accès au CRM avec un certificat client générique

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Modèle de sécurité de la Grille. Farida Fassi Master de Physique Informatique Rabat, Maroc May 2011

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Architectures PKI. Sébastien VARRETTE

TP 2 : Chiffrement par blocs

Réaliser un inventaire Documentation utilisateur

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Utilisation des certificats X.509v3

Les certfcats. Installation de openssl

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Installation et utilisation d'un certificat

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

Livre blanc. Sécuriser les échanges

DISTANT ACESS. Emna TRABELSI (RT3) Chourouk CHAOUCH (RT3) Rabab AMMAR (RT3) Rania BEN MANSOUR (RT3) Mouafek BOUZIDI (RT3)

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

Devoir Surveillé de Sécurité des Réseaux

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Guide de démarrage du canal de transfert FTP

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Sécurité du Système d Information. Mini PKI

Chiffrement et authentification

«La Sécurité des Transactions et des Echanges Electroniques»

TrustedBird, un client de messagerie de confiance

La sécurité dans les grilles

Introduction à la sécurité informatique

Protocole industriels de sécurité. S. Natkin Décembre 2000

Installation d OpenVPN

Introduction. Littéralement : «Services de gestion des droits liés à l Active Directory» ADRMS Windows Serveur 2008 un nouveau rôle

Signature électronique. Romain Kolb 31/10/2008

Autorité de certification

FORMATIONS

Les certificats numériques

Protocoles d authentification

MANUEL D UTILISATEUR. Mettre en place un canal SFTP. Version 13

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

SSL ET IPSEC. Licence Pro ATC Amel Guetat

WEB-II, Compléments sous la forme de rapport de travaux pratiques. Stève Galeuchet & Florian Seuret. Massimiliano Babino

La citadelle électronique séminaire du 14 mars 2002

SSL - TLS. Histoire, fonctionnement Sécurité et failles

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Guide Numériser vers FTP

ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND

Manuel d'utilisation d'apimail V3

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

La sécurité dans un réseau Wi-Fi

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

La sécurité des réseaux. 9e cours 2014 Louis Salvail

A B A C U S DESCRIPTIF D'INSTALLATION SAAS ABAWEB. septembre 2014 / OM / COB. Version 5.5

Gestion des Clés Publiques (PKI)

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Certificats (électroniques) : Pourquoi? Comment?

Programmation Réseau SSH et TLS (aka SSL)

Domino, Lotus, WorkPlace sont des marques déposées IBM. Windows est une marque déposée Microsoft.

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Étape 1 : gérer les certificats

Documentation Honolulu 14 (1)

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

HASH LOGIC. Web Key Server. Solution de déploiement des certificats à grande échelle. A quoi sert le Web Key Server? A propos de HASHLOGIC

LP ASUR - Sécurité. Introduction à la Sécurité des Systèmes d'information. Florent Autréau - florent@mataru.com 28 Mai 2013

Procédure d'installation

PRODUCTION ASSOCIEE. Le réseau de la M2L est organisé VLANs et comporte des commutateurs de niveau 2 et des routeurs.

PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé

Le protocole sécurisé SSL

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Serveur mail sécurisé

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Fonctionnement des PKI Architecture PKI

Déploiement d'une Infrastructure de Gestion de Clés publiques libre

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

Modernisation et développement d applications IBM i Stratégies, technologies et outils. Volubis.fr

Mise en place d un serveur HTTPS sous Windows 2000

Intégration e-commerce. Version 0.5

La sécurité des Réseaux Partie 7 PKI

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

Transcription:

Travaux pratiques sur l API Openssl Ces travaux pratiques sont basés sur Openssl. Openssl est l Api de crypto la plus répandue. Elle est open source avec licence GPL. On trouvera toutes les informations la concernant à l adresse : http://www.openssl.org A titre d exemple Openssl intègre également le protocole SSL. C est cette même distribution qu intègre le serveur Apache pour offrir les services SSL. Openssl offre un mode commande où l on peut interagir avec l API. C est ce mode que l on utilisera tout simplement en tapant openssl. Malheureusement la documentation est suffisamment pauvre. Pour accéder à l usage des différentes commandes, il suffira lorsqu on est sur openssl de taper le nom de la commande suivie de help. L objectif de ces travaux pratiques est de vous familiariser avec les services de base de la sécurité. Notamment le chiffrement symétrique, le chiffrement asymétrique, le hachage, la signature numérique et sa vérification, et la certification. Il vous ait demandé dans un premier temps de suivre pas à pas les exercices qui vous sont proposés et par la suite vous avez quartier libre pour les exercices qui vous feront plaisir. Notation toutes les commandes et arguments associés seront notés dans la suite en italique gras (exemple : openssl> enc -in msg - out msge -e -des3 ) 1

Chiffrement symétrique La commande qui vous permet d utiliser le chiffrement symétrique est la commande enc (en tapant enc help vous aurez toutes les options associées) Question 1 : Soit un fichier donné fic_nom_eleve (choisissez un fichier qui contient des données textuelles). Ecrire la commande qui permet de le chiffrer et produit ainsi un fichier fic_nom_eleve.enc On peut alors vérifier que le message fic_nom_eleve.enc est bien inintelligible... Ce même message est transmis à votre camarade qui pourra également le déchiffrer. On peut alors vérifier que le message ainsi déchiffré est bien identique à fic_nom_eleve... Il vous est bien sûr de comprendre l ensemble des manipulations associées. Il vous est demandé de diversifier les algorithmes. D utiliser également l option a pour produire un fichier chiffrer lisible donc codé en base64 (lisible ne veut pas dire en clair). Solution : openssl enc -in fichier -out fichier.enc -e -des3 openssl enc -in fichier.enc -out fichier.dec -d -des3 Leur demander de diversifier leurs algorithmes. D utiliser par exemple l option a pour produire un fichier lisible donc codé en base64 Question 2 : Donner des éléments temporels comparatifs entre les opérations de chiffrement et de déchiffrement et ensuite entre différents algorithmes (conseil : choisissez un fichier avec une taille conséquente) Solution : timeout openssl enc -in fichier -out fichier.enc -e -des3 timeout openssl enc -in fichier.enc -out fichier.dec -d -des3 Idem avec rc4, idea, des3 et Question 3 : Pourquoi quand on applique deux fois la commande enc une fois au fichier en clair et une fois au fichier chiffré on obtient pas un résultat en clair. 2

Réponse : Au fichier chiffré on rajoute des entêtes qui ne font pas partie des données. Ainsi qu on applique deux fois de suite la commande avec l option e il chiffre et les données et les entêtes. Quand on utile l option d il applique la même fonction sauf qu il extrait du chiffrement les données structurelles. Chiffrement asymétrique Exercice 1 : Génération de cle privée/public RSA : Le format de sortie par défaut est du PEM (Privacy Enhanced Mail). A l aide de l option outform ou -inform on peut cahnger le format. Deux formats sont supportés par cette option PEM et DER) openssl OpenSSL> genrsa (cette commande prend en entrée les paramètres positionés dans le fichier openssl.cnf) OpenSSL> genrsa -help OpenSSL> genrsa 1024 OpenSSL> genrsa -out key 1024 OpenSSL> genrsa -des3 -out key 1024 (la clé privé est chiffré avec un triple DES) * creer un fichier nomme "rand.txt" contenant n'importe quoi... OpenSSL> genrsa -des3 -out key -rand rand.txt 1024 Verification de cle privee RSA : OpenSSL> rsa -in key OpenSSL> rsa -in key -check OpenSSL> rsa -in key -check -modulus OpenSSL> rsa -in key -check -modulus -text Generation de cle publique RSA : OpenSSL> rsa -in key -pubout -out pubkey Verification de cle publique RSA : OpenSSL> rsa -pubin -in pubkey -text Certification EXERCICE 2 Création d'un CA et de deux clients MIME : *créer newcerts, serial et index.txt CA : Génération de la clé privé/public du CA dans le fichier ca.key Tous les fichiers ainsi générés sont au format PEM. OpenSSL> genrsa -out ca.key -des3 1024 OpenSSL> rsa -pubout -check -text -in ca.key 3

Génération d un certificat autosigné. Le fichier de configuration openssl.cnf doit être dans le même répertoire. Le fichier ca.pem contient le certificat du CA. OpenSSL> req -x509 -new -key ca.key -out ca.pem -days 365 -config openssl.txt -extensions CA_MIME Visualisation dans un format lisible le contenu du certificat. OpenSSL> x509 -in ca.pem -purpose -text Génération des certificats pour les Clients MIME. Il s agit ici bien entendu d usager donc de certificat d identité : OpenSSL> genrsa -out cl.key -des3 1024 Génération d une requête de certificat au format PKCS#10 qui sera par la suite soumise au CA pour signature et produire ainsi un certificat d usager. Vous remarquerez les options positionnées pour cette rubrique concerne des key usage pour un client de messagerie OpenSSL> req -new -key cl.key -out cl.crs -config openssl.txt -extensions CLIENT_MIME Le CA va par la suite siggner la requête soumise. Trivial de déduire les différents paramètres!! OpenSSL> ca -config openssl.txt -extensions CLIENT_MIME -cert ca.pem -keyfile ca.key -out cl.pem -infiles cl.crs No comment!! OpenSSL> x509 -in cl.pem -purpose -text Idem pour le deuxième client : OpenSSL> genrsa -out cl2.key -des3 1024 OpenSSL> req -new -key cl2.key -out cl2.crs -config openssl.txt -extensions CLIENT_MIME OpenSSL> ca -config openssl.txt -extensions CLIENT_MIME -cert ca.pem -keyfile ca.key -out cl2.pem -infiles cl2.crs OpenSSL> x509 -in cl2.pem -purpose -text Chiffrement d'un message envoyer de cl a cl2 OpenSSL> smime -encrypt -in msg.txt -des3 -out mail cl2.pem OpenSSL> smime -decrypt -in mail -recip cl2.pem -inkey cl2.key -out maild Pour que l exercice soit attrayant les élèves doivent s amuser à s échanger leur certificat. Et ainsi s échanger des fichiers chiffrés. 4

Signature Exercice 3 : Faire idem exercice 2 mais en incluant la signature dans la commande smime. Intégration ou importation du certificat au sein du client de messagerie (UA). Exercice 4 : Mettre votre clé privé et certificat au format pkcs#12 et l intégrer à votre messagerie pour signer et déchiffrer. Intégrer les certificats des autres usagers pour leur envoyer des messages chiffrés. Il est nécessaire d exporter le certificat client au format PKCS#12, format encapsulant à la fois le certificat signé et la clé privée. Cette exportation du format PEM vers le format PKCS#12 (extension p12) se fait avec la commande pkcs12 Exemple avec la commande pkcs12 : Openssl>pkcs12 -export -inkey client-mime.key -in client-mime.pem -out clientmime.p12 -name "Certificat Client-mime" Deux mots de passe seront demandés au cours de cette manipulation : le premier est le mot de passe protégeant la clé privée client-mime.key, le second est le mot de passe qui protégera le certificat au format PKCS#12. Ce dernier sera demandé lors de l importation du certificat dans le client de messagerie. L option name permet de spécifier quel sera le nom désignant le certificat client dans le client de messagerie. Une fois ce fichier généré, il faut l importer via le client de messagerie. Bon courage!!! 5