SlideShare une entreprise Scribd logo
USTL - Licence et Master Informatique                                                        2006-2007
                          Principes et Algorithmes de Cryptographie

                          TP : RSA et certificats avec openSSL

1     Pr´sentation de openSSL
        e
1.1     Protocole SSL
    Le protocole SSL (Secure Socket Layer) a ´t´ d´velopp´ par la soci´t´ Netscape Communications
                                                   ee e         e            ee
Corporation pour permettre aux applications client/serveur de communiquer de fa¸on s´curis´e. TLS
                                                                                         c    e     e
(Transport Layer Security) est une ´volution de SSL r´alis´e par l’IETF.
                                      e                   e e
    La version 3 de SSL est utilis´e par les navigateurs tels Netscape et Microsoft Internet Explorer depuis
                                  e
leur version 4.
    SSL est un protocole qui s’intercale entre TCP/IP et les applications qui s’appuient sur TCP. Une
session SSL se d´roule en deux temps
                 e
    1. une phase de poign´e de mains (handshake) durant laquelle le client et le serveur s’identifient,
                          e
       conviennent du syst`me de chiffrement et d’une cl´ qu’ils utiliseront par la suite.
                          e                            e
    2. la phase de communication proprement dite durant laquelle les donn´es ´chang´es sont compress´es,
                                                                         e e       e                e
       chiffr´es et sign´es.
            e          e
    L’identification durant la poign´e de mains est assur´e ` l’aide de certificats X509.
                                   e                    e a

1.2     openSSL
    openSSL est une boˆ ` outils cryptographiques impl´mentant les protocoles SSL et TLS qui offre
                      ıte a                           e
    1. une biblioth`que de programmation en C permettant de r´aliser des applications client/serveur
                    e                                        e
       s´curis´es s’appuyant sur SSL/TLS.
        e     e
    2. une commande en ligne (openssl) permettant
       – la cr´ation de cl´s RSA, DSA (signature)
              e           e
       – la cr´ation de certificats X509
              e
       – le calcul d’empreintes (MD5, SHA, RIPEMD160, ...)
       – le chiffrement et d´chiffrement (DES, IDEA, RC2, RC4, Blowfish, ...)
                             e
       – la r´alisation de tests de clients et serveurs SSL/TLS
             e
       – la signature et le chiffrement de courriers (S/MIME)
    Pour connaˆ toutes les fonctionnalit´s de openSSL : man openssl.
               ıtre                     e
    La syntaxe g´n´rale de la commande openssl est
                 e e
$ o p e n s s l <commande> <o p t i o n s >

   (le $ est le prompt du shell)
   Dans le texte qui suit, les commandes invoquant openssl supposent que cette commande est dans
votre PATH.


2     Chiffrement sym´trique avec openSSL
                    e
    Voir le TP num´ro 2 ici.
                  e


3     RSA avec openSSL
3.1     G´n´ration d’une paire de cl´s
         e e                        e
    On peut g´n´rer une paire de cl´s RSA avec la commande genrsa de openSSL.
             e e                   e
$ o p e n s s l g e n r s a −out <f i c h i e r > < t a i l l e >




                                                            1
o` fichier est un nom de fichier de sauvegarde de la cl´, et taille et la taille souhait´e (exprim´e en bits)
 u                                                   e                                e         e
du modulus de la cl´.
                   e
    Par exemple, pour g´n´rer une paire de cl´s de 1024 bits, stock´e dans le fichier maCle.pem, on tape
                       e e                   e                     e
la commande
$ o p e n s s l g e n r s a −out maCle . pem 1024

    Le fichier obtenu est un fichier au format PEM (Privacy Enhanced Mail, format en base 64), dont
voici un exemple
$ c a t maCle . pem
−−−−−BEGIN RSA PRIVATE KEY −−−−−
MIICXAIBAAKBgQCveVjLltevTC5kSAiTYjHMVuAR80DHMLWCp3BOVZ49eXwraXxO
7AfKWpA5g0wFZgZNERIfFYaCnvaQDQA+9BRIfsSSr3oSw0My5SD6eg15v0VmJmvP
d8LgBypJHbr6f5MXWqntvzp0Qvg6ddeNpUIrqkkh4uDfHFDWqyrkQUCvKwIDAQAB
AoGANchUrfnq28DWy0fE0R+cscvC292Z8jN8vrIBWxEk8iSlKU0om6v+a0g8wlP6
3 gC6V66uxjY7xxdf7SD+/UykVl4PGFymhLtywSdGlgec3tLgBtV3ytJFilAVDBij
LzQwUegCO4zt1JWYc6vvaVdNyQSaGIIeYGsNDWEYlOtDSlkCQQDVRn9JS15G8p+H
4Z0PbU9ZQg2L1u9/SD/kELVe3Kx1fdHulxH0v8V2AgPdXA29Nhi+TxUtC+V8CMc2
KXmAvFsHAkEA0qBDmjHMDPwcGaqbQ2lymYQIGlZ5TLQFA98Dey2uE+CB6pmS/ e /Z
ilu1IaasuE3vBzXfB /JU7DUkV++JQ7TtvQJBAL2s5dUch2sXqlOhjhpDP/eE7CE6
9WLAsbm2Nmd4YJRZYtQLXPfLeeSapC9BCCMHsnfGQ3H9i4mFEQ6VUi7w1Q8CQAQa
pVaS09QI8Y86eM4GdvowzWud9b0d4N8jcFDtIfA3NrDYjzmte8KraMsgEUuCET9F
uHPSL/9uRagE/dq44s0CQCMQU4PMqkMtwzCFsV8ZqLmkDPn1binIAwRLYFcsQRDt
gTi6rycz3Pk1hCVzBfyMd8zwqpwKmR5FoOXuJEv+mVg=
−−−−−END RSA PRIVATE KEY −−−−−


3.2      Visualisation des cl´s RSA
                             e
   La commande rsa permet de visualiser le contenu d’un fichier au format PEM contenant une paire
de cl´s RSA.
     e
$ o p e n s s l r s a −i n <f i c h i e r > −t e x t −noout

L’option -text demande l’affichage d´cod´ de la paire de cl´s. L’option -noout supprime la sortie nor-
                                  e    e                 e
malement produite par la commande rsa.
    Par exemple
$ o p e n s s l r s a −i n maCle . pem −t e x t −noout
P r i v a t e −Key : ( 1 0 2 4 b i t )
modulus :
        0 0 : a f : 7 9 : 5 8 : cb : 9 6 : d7 : a f : 4 c : 2 e : 6 4 : 4 8 : 0 8 : 9 3 : 6 2 :
        3 1 : c c : 5 6 : e0 : 1 1 : f 3 : 4 0 : c7 : 3 0 : b5 : 8 2 : a7 : 7 0 : 4 e : 5 5 :
        9 e : 3 d : 7 9 : 7 c : 2 b : 6 9 : 7 c : 4 e : e c : 0 7 : ca : 5 a : 9 0 : 3 9 : 8 3 :
        4c :05:66:06:4 d :11:12:1 f :15:86:82:9 e : f6 :90:0 d :
        0 0 : 3 e : f 4 : 1 4 : 4 8 : 7 e : c4 : 9 2 : a f : 7 a : 1 2 : c3 : 4 3 : 3 2 : e5 :
        2 0 : f a : 7 a : 0 d : 7 9 : b f : 4 5 : 6 6 : 2 6 : 6 b : c f : 7 7 : c2 : e0 : 0 7 :
        2 a : 4 9 : 1 d : ba : f a : 7 f : 9 3 : 1 7 : 5 a : a9 : ed : b f : 3 a : 7 4 : 4 2 :
        f 8 : 3 a : 7 5 : d7 : 8 d : a5 : 4 2 : 2 b : aa : 4 9 : 2 1 : e2 : e0 : d f : 1 c :
        5 0 : d6 : ab : 2 a : e4 : 4 1 : 4 0 : a f : 2 b
p u b l i c E x p o n e n t : 65537 ( 0 x10001 )
privateExponent :
        3 5 : c8 : 5 4 : ad : f 9 : ea : db : c0 : d6 : cb : 4 7 : c4 : d1 : 1 f : 9 c :
        b1 : cb : c2 : db : dd : 9 9 : f 2 : 3 3 : 7 c : be : b2 : 0 1 : 5 b : 1 1 : 2 4 :
        f 2 : 2 4 : a5 : 2 9 : 4 d : 2 8 : 9 b : ab : f e : 6 b : 4 8 : 3 c : c2 : 5 3 : f a :
        de : 0 0 : ba : 5 7 : ae : ae : c6 : 3 6 : 3 b : c7 : 1 7 : 5 f : ed : 2 0 : f e :
        f d : 4 c : a4 : 5 6 : 5 e : 0 f : 1 8 : 5 c : a6 : 8 4 : bb : 7 2 : c1 : 2 7 : 4 6 :
        9 6 : 0 7 : 9 c : de : d2 : e0 : 0 6 : d5 : 7 7 : ca : d2 : 4 5 : 8 a : 5 0 : 1 5 :
        0 c : 1 8 : a3 : 2 f : 3 4 : 3 0 : 5 1 : e8 : 0 2 : 3 b : 8 c : ed : d4 : 9 5 : 9 8 :
        7 3 : ab : e f : 6 9 : 5 7 : 4 d : c9 : 0 4 : 9 a : 1 8 : 8 2 : 1 e : 6 0 : 6 b : 0 d :


                                                                         2
0d : 6 1 : 1 8 : 9 4 : eb : 4 3 : 4 a : 5 9
prime1 :
    0 0 : d5 : 4 6 : 7 f : 4 9 : 4 b : 5 e : 4 6 : f 2 : 9 f : 8 7 : e1 : 9 d : 0 f : 6 d :
    4 f : 5 9 : 4 2 : 0 d : 8 b : d6 : e f : 7 f : 4 8 : 3 f : e4 : 1 0 : b5 : 5 e : dc :
    ac : 7 5 : 7 d : d1 : e e : 9 7 : 1 1 : f 4 : b f : c5 : 7 6 : 0 2 : 0 3 : dd : 5 c :
    0d : bd : 3 6 : 1 8 : be : 4 f : 1 5 : 2 d : 0 b : e5 : 7 c : 0 8 : c7 : 3 6 : 2 9 :
    7 9 : 8 0 : bc : 5 b : 0 7
prime2 :
    0 0 : d2 : a0 : 4 3 : 9 a : 3 1 : c c : 0 c : f c : 1 c : 1 9 : aa : 9 b : 4 3 : 6 9 :
    7 2 : 9 9 : 8 4 : 0 8 : 1 a : 5 6 : 7 9 : 4 c : b4 : 0 5 : 0 3 : d f : 0 3 : 7 b : 2 d :
    ae : 1 3 : e0 : 8 1 : ea : 9 9 : 9 2 : f d : e f : d9 : 8 a : 5 b : b5 : 2 1 : a6 :
    ac : b8 : 4 d : e f : 0 7 : 3 5 : d f : 0 7 : f 2 : 5 4 : e c : 3 5 : 2 4 : 5 7 : e f :
    8 9 : 4 3 : b4 : ed : bd
exponent1 :
    0 0 : bd : ac : e5 : d5 : 1 c : 8 7 : 6 b : 1 7 : aa : 5 3 : a1 : 8 e : 1 a : 4 3 :
    3 f : f 7 : 8 4 : e c : 2 1 : 3 a : f 5 : 6 2 : c0 : b1 : b9 : b6 : 3 6 : 6 7 : 7 8 :
    6 0 : 9 4 : 5 9 : 6 2 : d4 : 0 b : 5 c : f 7 : cb : 7 9 : e4 : 9 a : a4 : 2 f : 4 1 :
    0 8 : 2 3 : 0 7 : b2 : 7 7 : c6 : 4 3 : 7 1 : f d : 8 b : 8 9 : 8 5 : 1 1 : 0 e : 9 5 :
    5 2 : 2 e : f 0 : d5 : 0 f
exponent2 :
    0 4 : 1 a : a5 : 5 6 : 9 2 : d3 : d4 : 0 8 : f 1 : 8 f : 3 a : 7 8 : c e : 0 6 : 7 6 :
    f a : 3 0 : cd : 6 b : 9 d : f 5 : bd : 1 d : e0 : d f : 2 3 : 7 0 : 5 0 : ed : 2 1 :
    f 0 : 3 7 : 3 6 : b0 : d8 : 8 f : 3 9 : ad : 7 b : c2 : ab : 6 8 : cb : 2 0 : 1 1 :
    4b : 8 2 : 1 1 : 3 f : 4 5 : b8 : 7 3 : d2 : 2 f : f f : 6 e : 4 5 : a8 : 0 4 : f d :
    da : b8 : e2 : cd
coefficient :
    2 3 : 1 0 : 5 3 : 8 3 : c c : aa : 4 3 : 2 d : c3 : 3 0 : 8 5 : b1 : 5 f : 1 9 : a8 :
    b9 : a4 : 0 c : f 9 : f 5 : 6 e : 2 9 : c8 : 0 3 : 0 4 : 4 b : 6 0 : 5 7 : 2 c : 4 1 :
    1 0 : ed : 8 1 : 3 8 : ba : a f : 2 7 : 3 3 : dc : f 9 : 3 5 : 8 4 : 2 5 : 7 3 : 0 5 :
    f c : 8 c : 7 7 : c c : f 0 : aa : 9 c : 0 a : 9 9 : 1 e : 4 5 : a0 : e5 : e e : 2 4 :
    4b : f e : 9 9 : 5 8

   Les diff´rents ´l´ments de la cl´ sont affich´s en hexad´cimal (hormis l’exposant public). On peut distin-
           e     ee               e           e          e
guer le modulus, l’exposant public (qui par d´faut est toujours 655371 ), l’exposant priv´, les nombres pre-
                                              e                                          e
miers facteurs du modulus, plus trois autres nombres qui servent ` optimiser l’algorithme de d´chiffrement.
                                                                 a                              e

Exercice 1 : Donnez une explication du choix de la valeur 65537 pour exposant public par d´faut.
                                                                                          e

3.3       Chiffrement d’un fichier de cl´s RSA
                                      e
    Il n’est pas prudent de laisser une paire de cl´ en clair (surtout la partie priv´e). Avec la commande
                                                   e                                 e
rsa, il est possible de chiffrer une paire de cl´s2 . Pour cela trois options sont possibles qui pr´cisent
                                                e                                                    e
l’algorithme de chiffrement sym´trique ` utiliser : -des, -des3 et -idea.
                                 e       a
$ o p e n s s l r s a −i n maCle . pem −d e s 3 −out maCle . pem
w r i t i n g RSA key
Enter PEM p a s s p h r a s e :
V e r i f y i n g − Enter PEM p a s s p h r a s e :

Une phrase de passe est demand´e deux fois pour g´n´rer une cl´ sym´trique prot´geant l’acc`s ` la cl´.
                              e                  e e          e    e           e           e a       e

Exercice 2 : Avec la commande cat observez le contenu du fichier maCle.pem. Utilisez ` nouveau
                                                                                    a
la commande rsa pour visualiser le contenu de la cl´.
                                                   e
   1 openssl n’autorise que deux exposants publics : 65537 (valeur par d´faut) ou 3 obtenu avec ’option -3
                                                                         e
   2 Il
      est possible de chiffrer le fichier lors de sa g´n´ration. Il suffit de mettre l’une des trois options -des, -des3, -idea
                                                    e e
dans la ligne de commande genrsa.




                                                                      3
3.4     Exportation de la partie publique
    La partie publique d’une paire de cl´s RSA est publique, et ` ce titre peut ˆtre communiqu´e `
                                           e                           a                e               e a
n’importe qui. Le fichier maCle.pem contient la partie priv´e de la cl´, et ne peut donc pas ˆtre communiqu´
                                                          e          e                      e             e
tel quel (mˆme s’il est chiffr´). Avec l’option -pubout on peut exporter la partie publique d’une cl´.
           e                 e                                                                        e
$ o p e n s s l r s a −i n maCle . pem −pubout −out maClePublique . pem


Exercice 3 :
Q 1 . Notez le contenu du fichier maClePublique.pem. Remarquez les marqueurs de d´but et de fin.
                                                                                    e
Q 2 . Avec la commande rsa visualisez la cl´ publique. Attention vous devez pr´ciser l’option -pubin,
                                              e                               e
puisque seule la partie publique figure dans le fichier maClePublique.pem.

3.5     Chiffrement/d´chiffrement de donn´es avec RSA
                    e                  e
     On peut chiffrer des donn´es avec une cl´ RSA. Pour cela on utilise la commande rsautl
                             e              e
$ o p e n s s l r s a u t l −e n c r y p t −i n < f i c h i e r e n t r e e > −i n k e y <c l e > −out < f i c h i e r s o r t i e >

o`
 u
     – fichier entree est le fichier des donn´es ` chiffrer. Attention, le fichier des donn´es ` chiffrer ne doit
                                             e a                                       e a
       pas avoir une taille excessive (ne doit pas d´passer 116 octets pour une cl´ de 1024 bits).
                                                    e                              e
     – cle est le fichier contenant la cl´ RSA. Si ce fichier ne contient que la parte publique de la cl´, il
                                        e                                                               e
       faut rajouter l’option -pubin.
     – fichier sortie est le fichier de donn´es chiffr´.
                                            e         e
    Pour d´chiffrer on remplace l’option -encrypt par -decrypt. Le fichier contenant la cl´ doit obliga-
          e                                                                             e
toirement contenir la partie priv´e.
                                 e

Exercice 4 : Chiffrez le fichier de votre choix avec le syst`me sym´trique de votre choix. Chiffrez la
                                                          e      e
cl´ ou le mot de passe utilis´(e) avec la cl´ publique de votre destinataire (demandez-lui sa cl´ publique
  e                          e              e                                                   e
si vous ne l’avez pas). Envoyez-lui le mot de passe chiffr´ ainsi que le fichier chiffr´.
                                                          e                         e

Exercice 5 : Il s’agit de d´chiffrer le fichier cryptogram13. Pour cela vous devez r´cup´rer les fichiers
                           e                                                      e   e
suivants (attention la plupart de ces fichiers sont des fichiers binaires)
    – le fichier cryptogram13 (fichier binaire) a ´t´ obtenu en chiffrant un texte avec openssl et la
                                                   ee
      commande enc. Le syst`me de chiffrement sym´trique utilis´ est BlowFish en mode CBC ;
                              e                       e            e
    – la cl´ BlowFish a ´t´ d´riv´e ` partir d’un mot de passe dont voici la version chiffr´e ;
           e            ee e e a                                                          e
    – la cl´ priv´e RSA qui a servi ` chiffrer le mot de passe ;
           e     e                  a
    – le mot de passe prot´geant la cl´ RSA, cod´ en base 64, est VVNUTC1GSUwtUEFD .
                           e          e           e

3.6     Signature de fichiers
   Il n’est possible de signer que de petits documents. Pour signer un gros document on calcule d’abord
une empreinte de ce document. La commande dgst permet de le faire.
$ o p e n s s l d g s t <hachage> −out <empreinte > < f i c h i e r e n t r e e >

o` hachage est une fonction de hachage. Avec openssl, plusieurs fonctions de hachage sont propos´es
 u                                                                                                    e
dont
   – MD5 (option -md5), qui calcule des empreintes de 128 bits,
   – SHA1 (option -sha1), qui calcule des empreintes de 160 bits,
   – RIPEMD160 (option -ripemd160), qui calcule des empreintes de 160 bits.
   Signer un document revient ` signer son empreinte. Pour cela, on utilise l’option -sign de la commande
                              a
rsautl
$ o p e n s s l r s a u t l −s i g n    −i n <empreinte > −i n k e y <c l e > −out <s i g n a t u r e >

     et pour v´rifier la signature
              e




                                                            4
$ o p e n s s l r s a u t l −v e r i f y   −i n <s i g n a t u r e > −pubin −i n k e y <c l e >
−out <empreinte >

il reste ensuite ` v´rifier que l’empreinte ainsi produite est la mˆme que celle que l’on peut calculer.
                 a e                                              e
L’option -pubin indique que la cl´ utilis´e pour la v´rification est la partie publique de la cl´ utilis´e
                                   e      e           e                                        e       e
pour la signature.

Exercice 6 : Signez le fichier de votre choix, pui v´rifiez la signature.
                                                   e

Exercice 7 : Des deux fichiers suivants, lequel a bien ´t´ sign´ avec la partie priv´e de cette cle ?
                                                      ee      e                    e
    – fichier 1, signature 1
    – fichier 2, signature 2


4      Certificats
    Vous allez maintenant ´laborer un certificat pour votre cl´ publique. Puis, vous verrez comment utiliser
                           e                                  e
les cl´s certifi´es pour signer et/ou chiffrer des courriers ´lectoniques.
      e        e                                           e

4.1     G´n´ration de la paire de cl´s
         e e                        e
Exercice 8 : G´n´rez votre paire de cl´s RSA d’une taille de 1024 bits, prot´g´e par un mot de passe
              e e                     e                                     e e
(cf g´n´ration d’une paire de cl´s). Dans la suite, on suppose nomm´ maCle.pem le fichier contenant votre
     e e                        e                                  e
paire de cl´s RSA. Ce fichier est prot´g´ par le mot de passe fourni lors de la g´n´ration.
           e                           e e                                      e e

Exercice 9 : Cr´ez un fichier ne contenant que la partie publique de votre cl´ RSA (cf Exportation
                     e                                                        e
de la cl´ publique). Dans la suite, on suppose ce fichier nomm´ maClePublique.pem.
        e                                                    e

4.2     Cr´ation d’une requˆte de certificats
          e                e
    Maintenant que vous disposez d’une cl´ RSA, vous allez ´tablir une requˆte pour obtenir un certificat.
                                          e                e                 e
    Outre la cl´ publique du sujet, un certificat contient un certain nombre d’informations concernant
                e
l’identit´ de son propri´taire :
         e               e
    – Pays (C),
       ´
    – Etat ou province (ST)
    – Ville ou localit´ (L)
                      e
    – Organisation (O)
    – Unit´ (OU)
            e
    – Nom (CN)
    – Email
    Toutes ces informations et d’autres encore sont demand´es lors de la cr´ation de la requˆte. Un fichier
                                                          e                e                e
de configuration (req.cnf) peut-ˆtre d´fini qui propose les informations ` apporter dans le certificat avec
                                  e     e                                a
des valeurs par d´faut.
                  e
    On ´tablit une requˆte avec la commande req de openssl.
       e               e
$ o p e n s s l r e q −c o n f i g r e q . c n f −new −key maCle . pem −out maRequete . pem

    Le fichier produit maRequete.pem est aussi au format PEM.
$ c a t maRequete . pem
−−−−−BEGIN CERTIFICATE REQUEST  −−−−−
MIIB/zCCAWgCAQAwgb4xCzAJBgNVBAYTAkZSMRIwEAYDVQQIEwlOb3JkICg1OSkx
GjAYBgNVBAcTEVZpbGxlbmV1dmUgZCdBc2NxMR4wHAYDVQQKExVVbml2ZXJzaXRl
IGRlIExpbGxlIDExGTAXBgNVBAsTEExpY2VuY2UgUHJvIERBMkkxGjAYBgNVBAMT
EUVyaWMgV2Vncnp5bm93c2tpMSgwJgYJKoZIhvcNAQkBFhlFcmljLldlZ3J6eW5v
d3NraUBsaWZsLmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCveVjLltev
TC5kSAiTYjHMVuAR80DHMLWCp3BOVZ49eXwraXxO7AfKWpA5g0wFZgZNERIfFYaC
nvaQDQA+9BRIfsSSr3oSw0My5SD6eg15v0VmJmvPd8LgBypJHbr6f5MXWqntvzp0
Qvg6ddeNpUIrqkkh4uDfHFDWqyrkQUCvKwIDAQABoAAwDQYJKoZIhvcNAQEEBQAD


                                                          5
gYEAHOwGNN6A8d4EhjfXCRvC2fhIjt7i6jxfkHKBkHpm2yNBBDHQwiv+O/Y0MeNh
I r a+y8KUMjeImsSiH4731sfgA6ycm+6JoDV7n6z8tzN5QMGsw7V3ErduskayKP4T
j a+BMImEcDwlr+KuRO704rGeiAG7pvtDGcDcj2Mex68ki94=
−−−−−END CERTIFICATE REQUEST  −−−−−

   On peut consulter les informations contenues dans la requˆte avec la commande
                                                            e
$ o p e n s s l r e q −c o n f i g r e q . c n f −i n maRequete . pem −t e x t −noout
C e r t i f i c a t e Request :
       Data :
                V e r s i o n : 0 ( 0 x0 )
                S u b j e c t : C=FR, ST=Nord ( 5 9 ) , L=V i l l e n e u v e d ’ Ascq , O=U n i v e r s i t e de L i l l e 1 , OU=L i
                S u b j e c t P u b l i c Key I n f o :
                        P u b l i c Key Algorithm : r s a E n c r y p t i o n
                        RSA P u b l i c Key : ( 1 0 2 4 b i t )
                                Modulus ( 1 0 2 4 b i t ) :
                                        0 0 : a f : 7 9 : 5 8 : cb : 9 6 : d7 : a f : 4 c : 2 e : 6 4 : 4 8 : 0 8 : 9 3 : 6 2 :
                                        3 1 : c c : 5 6 : e0 : 1 1 : f 3 : 4 0 : c7 : 3 0 : b5 : 8 2 : a7 : 7 0 : 4 e : 5 5 :
                                        9 e : 3 d : 7 9 : 7 c : 2 b : 6 9 : 7 c : 4 e : e c : 0 7 : ca : 5 a : 9 0 : 3 9 : 8 3 :
                                        4c :05:66:06:4 d :11:12:1 f :15:86:82:9 e : f6 :90:0 d :
                                        0 0 : 3 e : f 4 : 1 4 : 4 8 : 7 e : c4 : 9 2 : a f : 7 a : 1 2 : c3 : 4 3 : 3 2 : e5 :
                                        2 0 : f a : 7 a : 0 d : 7 9 : b f : 4 5 : 6 6 : 2 6 : 6 b : c f : 7 7 : c2 : e0 : 0 7 :
                                        2 a : 4 9 : 1 d : ba : f a : 7 f : 9 3 : 1 7 : 5 a : a9 : ed : b f : 3 a : 7 4 : 4 2 :
                                        f 8 : 3 a : 7 5 : d7 : 8 d : a5 : 4 2 : 2 b : aa : 4 9 : 2 1 : e2 : e0 : d f : 1 c :
                                        5 0 : d6 : ab : 2 a : e4 : 4 1 : 4 0 : a f : 2 b
                                Exponent : 65537 ( 0 x10001 )
                Attributes :
                        a0 : 0 0
       S i g n a t u r e Algorithm : md5WithRSAEncryption
                1 c : e c : 0 6 : 3 4 : de : 8 0 : f 1 : de : 0 4 : 8 6 : 3 7 : d7 : 0 9 : 1 b : c2 : d9 : f 8 : 4 8 :
                8 e : de : e2 : ea : 3 c : 5 f : 9 0 : 7 2 : 8 1 : 9 0 : 7 a : 6 6 : db : 2 3 : 4 1 : 0 4 : 3 1 : d0 :
                c2 : 2 b : f e : 3 b : f 6 : 3 4 : 3 1 : e3 : 6 1 : 2 2 : b6 : be : cb : c2 : 9 4 : 3 2 : 3 7 : 8 8 :
                9 a : c4 : a2 : 1 f : 8 e : f 7 : d6 : c7 : e0 : 0 3 : ac : 9 c : 9 b : e e : 8 9 : a0 : 3 5 : 7 b :
                9 f : ac : f c : b7 : 3 3 : 7 9 : 4 0 : c1 : ac : c3 : b5 : 7 7 : 1 2 : b7 : 6 e : b2 : 4 6 : b2 :
                2 8 : f e : 1 3 : 8 d : a f : 8 1 : 3 0 : 8 9 : 8 4 : 7 0 : 3 c : 2 5 : a f : e2 : ae : 4 4 : e e : f 4 :
                e2 : b1 : 9 e : 8 8 : 0 1 : bb : a6 : f b : 4 3 : 1 9 : c0 : dc : 8 f : 6 3 : 1 e : c7 : a f : 2 4 :
                8b : de


Exercice 10 : Explliquez les diff´rents ´l´ments contenus dans cette requˆte. La cl´ priv´e du sujet
                                e      ee                               e         e     e
y figure–t–elle ?

4.3     Demande de signature de certificat
   Une fois que vous avez ´tabli une requete de certificat, il vous reste ` contacter une autorit´ de certi-
                           e                                             a                      e
fication qui vous d´livrera un certificat sign´, apr`s avoir proc´d´ (normalement) ` quelques v´rifications
                  e                         e     e            e e                 a           e
vous concernant.

L’autorit´ de certification P`re Ubu Vous jouerez dans ce TP le rˆle de l’autorit´ de certification.
           e                     e                                         o             e
Pour cela il vous faut un certificat d’autorit´ de certification, ainsi qu’une paire de cl´s. Afin de ne pas
                                               e                                        e
multiplier les autorit´s, vous utilisereztous la tr`s notable autorit´ P`re Ubu dont vous trouverez ici le
                      e                            e                 e e
certificat et la paire de cl´s RSA.
                           e
   Un certificat produit par openssl est un fichier au format PEM.
$ c a t u n C e r t i f . pem
−−−−−BEGIN CERTIFICATE−−−−−

      ....

−−−−−END CERTIFICATE−−−−−


                                                         6
Pour visualiser le contenu d’un certificat
$ o p e n s s l x509 −i n u n C e r t i f . pem −t e x t −noout


Exercice 11 : Apr`s avoir r´cup´r´ le certificat de l’autorit´, ainsi que sa paire de cl´s RSA, cherchez
                        e        e    ee                            e                  e
quelle est la date d’expiration du certificat et la taille de la cl´.
                                                                  e

Cr´ation d’un certificat Pour cr´er et signer un certificat ` partir d’une requˆte maRequete.pem,
   e                                e                     a                  e
l’autorit´ invoque la commande x509
         e
$ o p e n s s l x509 −days 10
                −C A s e r i a l PereUbu . s r l −CA P e r e U b u C e r t i f . pem −CAkey PereUbuCle . pem
                −i n maRequete . pem −r e q −out monCertif . pem

    dans laquelle PereUbu.srl est un fichier contenant le num´ro de s´rie du prochain certificat ` signer
                                                               e      e                         a
(ce fichier est un fichier texte contenant une ligne donnant un nombre cod´ avec un nombre pair de chiffres
                                                                        e
hexad´cimaux), et l’option -days d´termine la dur´e de validit´ du certificat (ici 10 jours).
      e                              e               e          e

Exercice 12 : Cr´´z un certificat pour votre cl´ publique. (Lors de la signature du certificat, la
                ee                            e
commande x509 invite l’autorit´ certifiante ` donner son mot de passe. Le mot de passe de P`re Ubu
                                e            a                                                  e
ne devrait pas vous ˆtre inconnu, puisqu’il s’agit DU mot du P`re Ubu (celui prononc´ au tout d´but
                     e                                          e                         e        e
d’Ubu Roi). N´anmoins, le voici cod´ en base 64 bWVyZHJlCg== S’il le faut, utilisez la commande openssl
              e                    e
base64 -d pour le d´coder.)
                     e
   Puis contrˆlez le contenu du certificat obtenu avec les options appropri´es de la commande x509.
             o                                                             e

V´rification de certificats On peut v´rifier la validit´ d’un certificat avec la commande verify. Pour
  e                                          e              e
v´rifier la validit´ d’un certificat, il est n´cessaire de disposer du certificat de l’autorit´ qui l’a ´mis.
 e                e                         e                                              e         e
$ o p e n s s l v e r i f y −C A f i l e P e r e U b u C e r t i f . pem   monCertif . pem


4.4     Signature et chiffrement de courriers ´lectroniques
                                             e
   Lorsque vous disposez d’une paire de cl´s publique/priv´e, et d’un certificat qui les accompagne, et
                                              e                e
qui atteste de votre adresse ´lectronique, il vous est possible, entre autres choses, de signer vos mails, et
                             e
de recevoir des mails chiffr´s de la part de vos correspondants qui disposent de votre certificat.
                           e

4.4.1    Avec openssl
Signature de courriers Vous disposez d’un certificat monCertif.pem, d’une cl´ priv´e maCle.pem
                                                                               e    e
et vous voulez envoyer un courrier sign´ dont le contenu est dans le fichier blabla.txt ` l’adresse
                                       e                                               a
haha@palotin.pl. En supposant que tous les fichiers se trouvent dans le r´pertoire courant, il suffit
                                                                         e
d’invoquer la commande
$ o p e n s s l smime −s i g n −i n b l a b l a . t x t −t e x t 
                −s i g n e r monCertif . pem −i n k e y maCle . pem
                −from moi@palotin . p l −t o haha@palotin . p l −s u b j e c t ” c o u r r i e r s i g n e ” 

    Il est bien videmment possible de rediriger la sortie de la comande pr´c´dente vers un fichier (avec
                                                                          e e
l’option -out par exemple), ou vers la commande mail.

V´rification de courriers sign´s Pour v´rifier un courrier sign´, il faut disposer du certificat que
   e                              e          e                      e
l’´metteur a utilis´ pour signer, ainsi que celui de l’autorit´ ayant ´mis ce certificat. On invoque la
  e                e                                          e       e
commande
$ o p e n s s l smime − v e r i f y −i n c o u r r i e r . s i g n e 
                      −s i g n e r s o n C e r t i f . pem 
                      −C A f i l e P e r e U b u C e r t i f . pem




                                                                7
Chiffrement de courriers Pour envoyer un courrier chiffr´, par exemple avec du Triple-DES, ` un
                                                              e                           a
destinataire dont on dispose d’un certificat sonCertif.pem, il suffit d’invoquer la commande
$ o p e n s s l smime −e n c r y p t −i n b l a b l a . t x t −t e x t 
                −from moi@palotin . p l −t o haha@palotin . p l −s u b j e c t ” c o u r r i e r c h i f f r ´ ” 
                                                                                                             e
                −d e s 3 s o n C e r t i f . pem

    Il est bien videmment possible de rediriger la sortie de la comande pr´c´dente vers un fichier (avec
                                                                          e e
l’option -out par exemple), ou vers la commande mail.

D´chiffrement de courriers Pour d´chiffrer un courrier chiffr´
 e                              e                         e
$ o p e n s s l smime −d e c r y p t −i n c o u r r i e r . c h i f f r e −r e c i p s o n C e r t i f . pem −i n k e y maCle . pem

o` maCle.pem est ma cl´ priv´e RSA, et sonCertif.pem est le certificat de l’´metteur.
 u                    e     e                                              e

Remarque Lorsqu’on chiffre un courrier ´lectronique, il faut s’assurer que le destinataire est en mesure
                                            e
de le d´chiffrer, autrement dit que le logiciel du destinataire est en mesure de le faire.
       e

4.4.2    Avec Mozilla
    La premi`re chose ` faire pour pouvoir ´changer des courriers sign´s et/ou chiffr´s avec Mozilla
             e          a                     e                          e             e
est d’importer votre certificat et votre cl´ priv´e que vous venez d’obtenir dans la base de donn´es de
                                          e     e                                               e
certificats g´r´es par votre navigateur.
            ee

La base de donn´es de certificats Vous pouvez consulter cette base de donn´es par le menu
                    e                                                                   e
Edition/Preferences.
   Vous pouvez alors consulter
   – vos certificats (a priori aucun),
   – ceux des personnes dont vous en avez obtenu un,
   – ceux de serveurs WEB s´curis´s que vous avez eu l’occasion de rencontrer,
                               e    e
   – et enfin, ceux des autorit´s de certification que vous connaissez (il y en a plusieurs dizaines norma-
                               e
     lement, mais cette liste ne contient pas le P`re Ubu)
                                                  e

Importation d’un certificat Pour importer votre certificat dans votre base de donn´es, il faut cr´er
                                                                                    e           e
d’abord une enveloppe PKCS#12. Il s’agit d’une norme de fichier adopt´e pour ”ficeler” ensemble un ou
                                                                    e
plusieurs certificats et cl´s.
                          e
    Pour cr´er une enveloppe PKCS#12 contenant votre certificat, votre cl´ priv´e, et le certificat de
            e                                                           e     e
l’autorit´ ayant sign´ le votre, il suffit d’invoquer la commande
         e           e
$ o p e n s s l pkcs12 −e x p o r t −i n monCertif . pem 
                −i n k e y maCle . pem − c e r t f i l e P e r e U b u C e r t i f . pem 
                −name ”EW” −caname ” Pere Ubu” −out monEnveloppe . p12

   Un mot de passe prot´geant cette enveloppe vous est demand´.
                       e                                     e
   Une fois cette enveloppe r´alis´e, il reste ` importer tout cela dans la base de donn´es de certificats
                              e e              a                                        e
de votre navigateur. Pour cela passez par le menu s´curit´. Un mot de passe vous sera demand´ pour la
                                                     e     e                                    e
base de donn´es, puis celui que vous avez utilis´ pour prot´ger l’enveloppe PKCS#12.
             e                                   e           e
    Cela r´alis´, vous devez voir maintenant votre certificat dans la liste des votres. Demandez ` le
           e e                                                                                  a
visualiser, puis ` le v´rifier. Votre certificat n’est pas valide car ...
                 a     e

Acceptation de l’autorit´ P`re Ubu
                        e e                     ... l’autorit´ P`re Ubu n’est pas accept´e par votre navigateur.
                                                             e e                        e
    Pour que P`re Ubu soit accept´ vous devez ´diter son certificat (depuis la liste des certificats d’autorit´s
               e                  e            e                                                            e
signataires) et cocher la case concernant l’acceptation de cette autorit´ pour les emails.
                                                                        e
   V´rifiez maintenant votre certificat.
    e
   V´rifiez aussi la signature du mail de mercredi dernier.
    e




                                                           8
Envoyer un courrier sign´ Pour envoyer un courrier sign´, il suffit de cocher la cas ad´quate qui
                            e                                  e                            e
apparaˆ lorsqu’on coche la case s´curit´ (en bas ` gauche) de la fenˆtre de composition du mail.
      ıt                         e     e         a                  e

Envoyer un mail chiffr´ Pour envoyer un courrier chiffr´, il suffit de faire la mˆme chose. ATTEN-
                        e                                  e                 e
TION, vous devez poss´der un certificat valide de votre destinataire.
                     e




                                               9

Contenu connexe

En vedette

La veille de Red Guy du 23.10.13 - La conso barjot
La veille de Red Guy du 23.10.13 - La conso barjotLa veille de Red Guy du 23.10.13 - La conso barjot
La veille de Red Guy du 23.10.13 - La conso barjot
Red Guy
 
La veille de Red Guy du 09.10.13 - Les écoles de marques
La veille de Red Guy du 09.10.13 - Les écoles de marquesLa veille de Red Guy du 09.10.13 - Les écoles de marques
La veille de Red Guy du 09.10.13 - Les écoles de marques
Red Guy
 
INSEGURIDAD EN LAS TRANSACCIONES POR INTERNET
INSEGURIDAD EN LAS TRANSACCIONES POR INTERNETINSEGURIDAD EN LAS TRANSACCIONES POR INTERNET
INSEGURIDAD EN LAS TRANSACCIONES POR INTERNET
squirrelll
 
La mine de Mopanie en Zambie - Florian Gomart
La mine de Mopanie en Zambie - Florian GomartLa mine de Mopanie en Zambie - Florian Gomart
La mine de Mopanie en Zambie - Florian Gomart
Publish What You Pay
 
Els drets humans_3a_generacio
Els drets humans_3a_generacioEls drets humans_3a_generacio
Els drets humans_3a_generacio
mplaya4
 
¿ Compras lo que quieres ?
¿ Compras lo que quieres ?¿ Compras lo que quieres ?
¿ Compras lo que quieres ?
Cova Linares
 
Aprendamos a leer y a escribir utilizando herramientas
Aprendamos a leer y  a escribir  utilizando herramientasAprendamos a leer y  a escribir  utilizando herramientas
Aprendamos a leer y a escribir utilizando herramientas
Mariluz Ascuntar
 
Bloque cierre
Bloque cierreBloque cierre
Bloque cierre
Eliecer Cedano
 
Plateforme
PlateformePlateforme
Plateforme
CADEUL
 
Faq Dreambox
Faq DreamboxFaq Dreambox
Faq Dreambox
Sais Abdelkrim
 
La veille de red guy du 06.02.13 l'ux
La veille de red guy du 06.02.13   l'uxLa veille de red guy du 06.02.13   l'ux
La veille de red guy du 06.02.13 l'ux
Red Guy
 
LA LUZ
LA LUZ LA LUZ
LA LUZ
Cova Linares
 
Neotion Box 2000 Fr
Neotion Box 2000 FrNeotion Box 2000 Fr
Neotion Box 2000 Fr
Sais Abdelkrim
 
Loyaller en la panaderia Que Rico
Loyaller en la panaderia Que RicoLoyaller en la panaderia Que Rico
Loyaller en la panaderia Que Rico
Duncan Espiga
 
Hipercom hungary trend book xmas 2012 vs 2013 fr
Hipercom hungary trend book xmas 2012 vs 2013 frHipercom hungary trend book xmas 2012 vs 2013 fr
Hipercom hungary trend book xmas 2012 vs 2013 fr
HIPERCOM
 
Evangile Et Eglise
Evangile Et EgliseEvangile Et Eglise
Evangile Et Eglise
Sais Abdelkrim
 
Analyse statistique sur DOTA
Analyse statistique sur DOTAAnalyse statistique sur DOTA
Analyse statistique sur DOTA
Banville Julien
 

En vedette (18)

La veille de Red Guy du 23.10.13 - La conso barjot
La veille de Red Guy du 23.10.13 - La conso barjotLa veille de Red Guy du 23.10.13 - La conso barjot
La veille de Red Guy du 23.10.13 - La conso barjot
 
La veille de Red Guy du 09.10.13 - Les écoles de marques
La veille de Red Guy du 09.10.13 - Les écoles de marquesLa veille de Red Guy du 09.10.13 - Les écoles de marques
La veille de Red Guy du 09.10.13 - Les écoles de marques
 
INSEGURIDAD EN LAS TRANSACCIONES POR INTERNET
INSEGURIDAD EN LAS TRANSACCIONES POR INTERNETINSEGURIDAD EN LAS TRANSACCIONES POR INTERNET
INSEGURIDAD EN LAS TRANSACCIONES POR INTERNET
 
La mine de Mopanie en Zambie - Florian Gomart
La mine de Mopanie en Zambie - Florian GomartLa mine de Mopanie en Zambie - Florian Gomart
La mine de Mopanie en Zambie - Florian Gomart
 
Els drets humans_3a_generacio
Els drets humans_3a_generacioEls drets humans_3a_generacio
Els drets humans_3a_generacio
 
¿ Compras lo que quieres ?
¿ Compras lo que quieres ?¿ Compras lo que quieres ?
¿ Compras lo que quieres ?
 
Aprendamos a leer y a escribir utilizando herramientas
Aprendamos a leer y  a escribir  utilizando herramientasAprendamos a leer y  a escribir  utilizando herramientas
Aprendamos a leer y a escribir utilizando herramientas
 
Bloque cierre
Bloque cierreBloque cierre
Bloque cierre
 
Plateforme
PlateformePlateforme
Plateforme
 
Faq Dreambox
Faq DreamboxFaq Dreambox
Faq Dreambox
 
La veille de red guy du 06.02.13 l'ux
La veille de red guy du 06.02.13   l'uxLa veille de red guy du 06.02.13   l'ux
La veille de red guy du 06.02.13 l'ux
 
LA LUZ
LA LUZ LA LUZ
LA LUZ
 
Neotion Box 2000 Fr
Neotion Box 2000 FrNeotion Box 2000 Fr
Neotion Box 2000 Fr
 
Loyaller en la panaderia Que Rico
Loyaller en la panaderia Que RicoLoyaller en la panaderia Que Rico
Loyaller en la panaderia Que Rico
 
2015
20152015
2015
 
Hipercom hungary trend book xmas 2012 vs 2013 fr
Hipercom hungary trend book xmas 2012 vs 2013 frHipercom hungary trend book xmas 2012 vs 2013 fr
Hipercom hungary trend book xmas 2012 vs 2013 fr
 
Evangile Et Eglise
Evangile Et EgliseEvangile Et Eglise
Evangile Et Eglise
 
Analyse statistique sur DOTA
Analyse statistique sur DOTAAnalyse statistique sur DOTA
Analyse statistique sur DOTA
 

Similaire à Tp certif

Rapport tp openssl
Rapport  tp  opensslRapport  tp  openssl
Rapport tp openssl
Yacoubou Salifou Bouraima
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
dihiaselma
 
Hackerspace jan-2013
Hackerspace jan-2013Hackerspace jan-2013
Hackerspace jan-2013
Hackfest Communication
 
cours-ADLINISTRATION DUN RXO SOUS LINUX.pdf
cours-ADLINISTRATION DUN RXO SOUS LINUX.pdfcours-ADLINISTRATION DUN RXO SOUS LINUX.pdf
cours-ADLINISTRATION DUN RXO SOUS LINUX.pdf
GodefroyCheumaniTche1
 
gRPC, échange à haute fréquence !
gRPC, échange à haute fréquence !gRPC, échange à haute fréquence !
gRPC, échange à haute fréquence !
David Caramelo
 
Utiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou dockerUtiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou docker
Logilab
 
Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…
Romy Duhem-Verdière
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .Net
Yann Schwartz
 
formation-administration-reseau-linux.pdf
formation-administration-reseau-linux.pdfformation-administration-reseau-linux.pdf
formation-administration-reseau-linux.pdf
ssusere8c939
 
Mieux travailler le css avec sass compass
Mieux travailler le css avec sass compassMieux travailler le css avec sass compass
Mieux travailler le css avec sass compass
Innobec
 
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
Carles Sistare
 
Guide pratique openssl sous debian
Guide pratique openssl sous debianGuide pratique openssl sous debian
Guide pratique openssl sous debian
yahyaf10
 
0375 presentation-reseaux-voip
0375 presentation-reseaux-voip0375 presentation-reseaux-voip
0375 presentation-reseaux-voip
charliepy
 
Formation python
Formation pythonFormation python
Formation python
Thierry Gayet
 
SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101
Benoit Fillon
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
ATPENSC-Group
 

Similaire à Tp certif (18)

Rapport tp openssl
Rapport  tp  opensslRapport  tp  openssl
Rapport tp openssl
 
Dijkstra kshortest
Dijkstra kshortestDijkstra kshortest
Dijkstra kshortest
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
Hackerspace jan-2013
Hackerspace jan-2013Hackerspace jan-2013
Hackerspace jan-2013
 
Php seance1
Php seance1Php seance1
Php seance1
 
cours-ADLINISTRATION DUN RXO SOUS LINUX.pdf
cours-ADLINISTRATION DUN RXO SOUS LINUX.pdfcours-ADLINISTRATION DUN RXO SOUS LINUX.pdf
cours-ADLINISTRATION DUN RXO SOUS LINUX.pdf
 
gRPC, échange à haute fréquence !
gRPC, échange à haute fréquence !gRPC, échange à haute fréquence !
gRPC, échange à haute fréquence !
 
Utiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou dockerUtiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou docker
 
Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…Cascade et héritage : concevoir, organiser, optimiser…
Cascade et héritage : concevoir, organiser, optimiser…
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .Net
 
formation-administration-reseau-linux.pdf
formation-administration-reseau-linux.pdfformation-administration-reseau-linux.pdf
formation-administration-reseau-linux.pdf
 
Mieux travailler le css avec sass compass
Mieux travailler le css avec sass compassMieux travailler le css avec sass compass
Mieux travailler le css avec sass compass
 
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
 
Guide pratique openssl sous debian
Guide pratique openssl sous debianGuide pratique openssl sous debian
Guide pratique openssl sous debian
 
0375 presentation-reseaux-voip
0375 presentation-reseaux-voip0375 presentation-reseaux-voip
0375 presentation-reseaux-voip
 
Formation python
Formation pythonFormation python
Formation python
 
SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
 

Dernier

Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
Sékou Oumar SYLLA
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
dokposeverin
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
lebaobabbleu
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
lebaobabbleu
 
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
Faga1939
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
M2i Formation
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 

Dernier (15)

Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
 
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 

Tp certif

  • 1. USTL - Licence et Master Informatique 2006-2007 Principes et Algorithmes de Cryptographie TP : RSA et certificats avec openSSL 1 Pr´sentation de openSSL e 1.1 Protocole SSL Le protocole SSL (Secure Socket Layer) a ´t´ d´velopp´ par la soci´t´ Netscape Communications ee e e ee Corporation pour permettre aux applications client/serveur de communiquer de fa¸on s´curis´e. TLS c e e (Transport Layer Security) est une ´volution de SSL r´alis´e par l’IETF. e e e La version 3 de SSL est utilis´e par les navigateurs tels Netscape et Microsoft Internet Explorer depuis e leur version 4. SSL est un protocole qui s’intercale entre TCP/IP et les applications qui s’appuient sur TCP. Une session SSL se d´roule en deux temps e 1. une phase de poign´e de mains (handshake) durant laquelle le client et le serveur s’identifient, e conviennent du syst`me de chiffrement et d’une cl´ qu’ils utiliseront par la suite. e e 2. la phase de communication proprement dite durant laquelle les donn´es ´chang´es sont compress´es, e e e e chiffr´es et sign´es. e e L’identification durant la poign´e de mains est assur´e ` l’aide de certificats X509. e e a 1.2 openSSL openSSL est une boˆ ` outils cryptographiques impl´mentant les protocoles SSL et TLS qui offre ıte a e 1. une biblioth`que de programmation en C permettant de r´aliser des applications client/serveur e e s´curis´es s’appuyant sur SSL/TLS. e e 2. une commande en ligne (openssl) permettant – la cr´ation de cl´s RSA, DSA (signature) e e – la cr´ation de certificats X509 e – le calcul d’empreintes (MD5, SHA, RIPEMD160, ...) – le chiffrement et d´chiffrement (DES, IDEA, RC2, RC4, Blowfish, ...) e – la r´alisation de tests de clients et serveurs SSL/TLS e – la signature et le chiffrement de courriers (S/MIME) Pour connaˆ toutes les fonctionnalit´s de openSSL : man openssl. ıtre e La syntaxe g´n´rale de la commande openssl est e e $ o p e n s s l <commande> <o p t i o n s > (le $ est le prompt du shell) Dans le texte qui suit, les commandes invoquant openssl supposent que cette commande est dans votre PATH. 2 Chiffrement sym´trique avec openSSL e Voir le TP num´ro 2 ici. e 3 RSA avec openSSL 3.1 G´n´ration d’une paire de cl´s e e e On peut g´n´rer une paire de cl´s RSA avec la commande genrsa de openSSL. e e e $ o p e n s s l g e n r s a −out <f i c h i e r > < t a i l l e > 1
  • 2. o` fichier est un nom de fichier de sauvegarde de la cl´, et taille et la taille souhait´e (exprim´e en bits) u e e e du modulus de la cl´. e Par exemple, pour g´n´rer une paire de cl´s de 1024 bits, stock´e dans le fichier maCle.pem, on tape e e e e la commande $ o p e n s s l g e n r s a −out maCle . pem 1024 Le fichier obtenu est un fichier au format PEM (Privacy Enhanced Mail, format en base 64), dont voici un exemple $ c a t maCle . pem −−−−−BEGIN RSA PRIVATE KEY −−−−− MIICXAIBAAKBgQCveVjLltevTC5kSAiTYjHMVuAR80DHMLWCp3BOVZ49eXwraXxO 7AfKWpA5g0wFZgZNERIfFYaCnvaQDQA+9BRIfsSSr3oSw0My5SD6eg15v0VmJmvP d8LgBypJHbr6f5MXWqntvzp0Qvg6ddeNpUIrqkkh4uDfHFDWqyrkQUCvKwIDAQAB AoGANchUrfnq28DWy0fE0R+cscvC292Z8jN8vrIBWxEk8iSlKU0om6v+a0g8wlP6 3 gC6V66uxjY7xxdf7SD+/UykVl4PGFymhLtywSdGlgec3tLgBtV3ytJFilAVDBij LzQwUegCO4zt1JWYc6vvaVdNyQSaGIIeYGsNDWEYlOtDSlkCQQDVRn9JS15G8p+H 4Z0PbU9ZQg2L1u9/SD/kELVe3Kx1fdHulxH0v8V2AgPdXA29Nhi+TxUtC+V8CMc2 KXmAvFsHAkEA0qBDmjHMDPwcGaqbQ2lymYQIGlZ5TLQFA98Dey2uE+CB6pmS/ e /Z ilu1IaasuE3vBzXfB /JU7DUkV++JQ7TtvQJBAL2s5dUch2sXqlOhjhpDP/eE7CE6 9WLAsbm2Nmd4YJRZYtQLXPfLeeSapC9BCCMHsnfGQ3H9i4mFEQ6VUi7w1Q8CQAQa pVaS09QI8Y86eM4GdvowzWud9b0d4N8jcFDtIfA3NrDYjzmte8KraMsgEUuCET9F uHPSL/9uRagE/dq44s0CQCMQU4PMqkMtwzCFsV8ZqLmkDPn1binIAwRLYFcsQRDt gTi6rycz3Pk1hCVzBfyMd8zwqpwKmR5FoOXuJEv+mVg= −−−−−END RSA PRIVATE KEY −−−−− 3.2 Visualisation des cl´s RSA e La commande rsa permet de visualiser le contenu d’un fichier au format PEM contenant une paire de cl´s RSA. e $ o p e n s s l r s a −i n <f i c h i e r > −t e x t −noout L’option -text demande l’affichage d´cod´ de la paire de cl´s. L’option -noout supprime la sortie nor- e e e malement produite par la commande rsa. Par exemple $ o p e n s s l r s a −i n maCle . pem −t e x t −noout P r i v a t e −Key : ( 1 0 2 4 b i t ) modulus : 0 0 : a f : 7 9 : 5 8 : cb : 9 6 : d7 : a f : 4 c : 2 e : 6 4 : 4 8 : 0 8 : 9 3 : 6 2 : 3 1 : c c : 5 6 : e0 : 1 1 : f 3 : 4 0 : c7 : 3 0 : b5 : 8 2 : a7 : 7 0 : 4 e : 5 5 : 9 e : 3 d : 7 9 : 7 c : 2 b : 6 9 : 7 c : 4 e : e c : 0 7 : ca : 5 a : 9 0 : 3 9 : 8 3 : 4c :05:66:06:4 d :11:12:1 f :15:86:82:9 e : f6 :90:0 d : 0 0 : 3 e : f 4 : 1 4 : 4 8 : 7 e : c4 : 9 2 : a f : 7 a : 1 2 : c3 : 4 3 : 3 2 : e5 : 2 0 : f a : 7 a : 0 d : 7 9 : b f : 4 5 : 6 6 : 2 6 : 6 b : c f : 7 7 : c2 : e0 : 0 7 : 2 a : 4 9 : 1 d : ba : f a : 7 f : 9 3 : 1 7 : 5 a : a9 : ed : b f : 3 a : 7 4 : 4 2 : f 8 : 3 a : 7 5 : d7 : 8 d : a5 : 4 2 : 2 b : aa : 4 9 : 2 1 : e2 : e0 : d f : 1 c : 5 0 : d6 : ab : 2 a : e4 : 4 1 : 4 0 : a f : 2 b p u b l i c E x p o n e n t : 65537 ( 0 x10001 ) privateExponent : 3 5 : c8 : 5 4 : ad : f 9 : ea : db : c0 : d6 : cb : 4 7 : c4 : d1 : 1 f : 9 c : b1 : cb : c2 : db : dd : 9 9 : f 2 : 3 3 : 7 c : be : b2 : 0 1 : 5 b : 1 1 : 2 4 : f 2 : 2 4 : a5 : 2 9 : 4 d : 2 8 : 9 b : ab : f e : 6 b : 4 8 : 3 c : c2 : 5 3 : f a : de : 0 0 : ba : 5 7 : ae : ae : c6 : 3 6 : 3 b : c7 : 1 7 : 5 f : ed : 2 0 : f e : f d : 4 c : a4 : 5 6 : 5 e : 0 f : 1 8 : 5 c : a6 : 8 4 : bb : 7 2 : c1 : 2 7 : 4 6 : 9 6 : 0 7 : 9 c : de : d2 : e0 : 0 6 : d5 : 7 7 : ca : d2 : 4 5 : 8 a : 5 0 : 1 5 : 0 c : 1 8 : a3 : 2 f : 3 4 : 3 0 : 5 1 : e8 : 0 2 : 3 b : 8 c : ed : d4 : 9 5 : 9 8 : 7 3 : ab : e f : 6 9 : 5 7 : 4 d : c9 : 0 4 : 9 a : 1 8 : 8 2 : 1 e : 6 0 : 6 b : 0 d : 2
  • 3. 0d : 6 1 : 1 8 : 9 4 : eb : 4 3 : 4 a : 5 9 prime1 : 0 0 : d5 : 4 6 : 7 f : 4 9 : 4 b : 5 e : 4 6 : f 2 : 9 f : 8 7 : e1 : 9 d : 0 f : 6 d : 4 f : 5 9 : 4 2 : 0 d : 8 b : d6 : e f : 7 f : 4 8 : 3 f : e4 : 1 0 : b5 : 5 e : dc : ac : 7 5 : 7 d : d1 : e e : 9 7 : 1 1 : f 4 : b f : c5 : 7 6 : 0 2 : 0 3 : dd : 5 c : 0d : bd : 3 6 : 1 8 : be : 4 f : 1 5 : 2 d : 0 b : e5 : 7 c : 0 8 : c7 : 3 6 : 2 9 : 7 9 : 8 0 : bc : 5 b : 0 7 prime2 : 0 0 : d2 : a0 : 4 3 : 9 a : 3 1 : c c : 0 c : f c : 1 c : 1 9 : aa : 9 b : 4 3 : 6 9 : 7 2 : 9 9 : 8 4 : 0 8 : 1 a : 5 6 : 7 9 : 4 c : b4 : 0 5 : 0 3 : d f : 0 3 : 7 b : 2 d : ae : 1 3 : e0 : 8 1 : ea : 9 9 : 9 2 : f d : e f : d9 : 8 a : 5 b : b5 : 2 1 : a6 : ac : b8 : 4 d : e f : 0 7 : 3 5 : d f : 0 7 : f 2 : 5 4 : e c : 3 5 : 2 4 : 5 7 : e f : 8 9 : 4 3 : b4 : ed : bd exponent1 : 0 0 : bd : ac : e5 : d5 : 1 c : 8 7 : 6 b : 1 7 : aa : 5 3 : a1 : 8 e : 1 a : 4 3 : 3 f : f 7 : 8 4 : e c : 2 1 : 3 a : f 5 : 6 2 : c0 : b1 : b9 : b6 : 3 6 : 6 7 : 7 8 : 6 0 : 9 4 : 5 9 : 6 2 : d4 : 0 b : 5 c : f 7 : cb : 7 9 : e4 : 9 a : a4 : 2 f : 4 1 : 0 8 : 2 3 : 0 7 : b2 : 7 7 : c6 : 4 3 : 7 1 : f d : 8 b : 8 9 : 8 5 : 1 1 : 0 e : 9 5 : 5 2 : 2 e : f 0 : d5 : 0 f exponent2 : 0 4 : 1 a : a5 : 5 6 : 9 2 : d3 : d4 : 0 8 : f 1 : 8 f : 3 a : 7 8 : c e : 0 6 : 7 6 : f a : 3 0 : cd : 6 b : 9 d : f 5 : bd : 1 d : e0 : d f : 2 3 : 7 0 : 5 0 : ed : 2 1 : f 0 : 3 7 : 3 6 : b0 : d8 : 8 f : 3 9 : ad : 7 b : c2 : ab : 6 8 : cb : 2 0 : 1 1 : 4b : 8 2 : 1 1 : 3 f : 4 5 : b8 : 7 3 : d2 : 2 f : f f : 6 e : 4 5 : a8 : 0 4 : f d : da : b8 : e2 : cd coefficient : 2 3 : 1 0 : 5 3 : 8 3 : c c : aa : 4 3 : 2 d : c3 : 3 0 : 8 5 : b1 : 5 f : 1 9 : a8 : b9 : a4 : 0 c : f 9 : f 5 : 6 e : 2 9 : c8 : 0 3 : 0 4 : 4 b : 6 0 : 5 7 : 2 c : 4 1 : 1 0 : ed : 8 1 : 3 8 : ba : a f : 2 7 : 3 3 : dc : f 9 : 3 5 : 8 4 : 2 5 : 7 3 : 0 5 : f c : 8 c : 7 7 : c c : f 0 : aa : 9 c : 0 a : 9 9 : 1 e : 4 5 : a0 : e5 : e e : 2 4 : 4b : f e : 9 9 : 5 8 Les diff´rents ´l´ments de la cl´ sont affich´s en hexad´cimal (hormis l’exposant public). On peut distin- e ee e e e guer le modulus, l’exposant public (qui par d´faut est toujours 655371 ), l’exposant priv´, les nombres pre- e e miers facteurs du modulus, plus trois autres nombres qui servent ` optimiser l’algorithme de d´chiffrement. a e Exercice 1 : Donnez une explication du choix de la valeur 65537 pour exposant public par d´faut. e 3.3 Chiffrement d’un fichier de cl´s RSA e Il n’est pas prudent de laisser une paire de cl´ en clair (surtout la partie priv´e). Avec la commande e e rsa, il est possible de chiffrer une paire de cl´s2 . Pour cela trois options sont possibles qui pr´cisent e e l’algorithme de chiffrement sym´trique ` utiliser : -des, -des3 et -idea. e a $ o p e n s s l r s a −i n maCle . pem −d e s 3 −out maCle . pem w r i t i n g RSA key Enter PEM p a s s p h r a s e : V e r i f y i n g − Enter PEM p a s s p h r a s e : Une phrase de passe est demand´e deux fois pour g´n´rer une cl´ sym´trique prot´geant l’acc`s ` la cl´. e e e e e e e a e Exercice 2 : Avec la commande cat observez le contenu du fichier maCle.pem. Utilisez ` nouveau a la commande rsa pour visualiser le contenu de la cl´. e 1 openssl n’autorise que deux exposants publics : 65537 (valeur par d´faut) ou 3 obtenu avec ’option -3 e 2 Il est possible de chiffrer le fichier lors de sa g´n´ration. Il suffit de mettre l’une des trois options -des, -des3, -idea e e dans la ligne de commande genrsa. 3
  • 4. 3.4 Exportation de la partie publique La partie publique d’une paire de cl´s RSA est publique, et ` ce titre peut ˆtre communiqu´e ` e a e e a n’importe qui. Le fichier maCle.pem contient la partie priv´e de la cl´, et ne peut donc pas ˆtre communiqu´ e e e e tel quel (mˆme s’il est chiffr´). Avec l’option -pubout on peut exporter la partie publique d’une cl´. e e e $ o p e n s s l r s a −i n maCle . pem −pubout −out maClePublique . pem Exercice 3 : Q 1 . Notez le contenu du fichier maClePublique.pem. Remarquez les marqueurs de d´but et de fin. e Q 2 . Avec la commande rsa visualisez la cl´ publique. Attention vous devez pr´ciser l’option -pubin, e e puisque seule la partie publique figure dans le fichier maClePublique.pem. 3.5 Chiffrement/d´chiffrement de donn´es avec RSA e e On peut chiffrer des donn´es avec une cl´ RSA. Pour cela on utilise la commande rsautl e e $ o p e n s s l r s a u t l −e n c r y p t −i n < f i c h i e r e n t r e e > −i n k e y <c l e > −out < f i c h i e r s o r t i e > o` u – fichier entree est le fichier des donn´es ` chiffrer. Attention, le fichier des donn´es ` chiffrer ne doit e a e a pas avoir une taille excessive (ne doit pas d´passer 116 octets pour une cl´ de 1024 bits). e e – cle est le fichier contenant la cl´ RSA. Si ce fichier ne contient que la parte publique de la cl´, il e e faut rajouter l’option -pubin. – fichier sortie est le fichier de donn´es chiffr´. e e Pour d´chiffrer on remplace l’option -encrypt par -decrypt. Le fichier contenant la cl´ doit obliga- e e toirement contenir la partie priv´e. e Exercice 4 : Chiffrez le fichier de votre choix avec le syst`me sym´trique de votre choix. Chiffrez la e e cl´ ou le mot de passe utilis´(e) avec la cl´ publique de votre destinataire (demandez-lui sa cl´ publique e e e e si vous ne l’avez pas). Envoyez-lui le mot de passe chiffr´ ainsi que le fichier chiffr´. e e Exercice 5 : Il s’agit de d´chiffrer le fichier cryptogram13. Pour cela vous devez r´cup´rer les fichiers e e e suivants (attention la plupart de ces fichiers sont des fichiers binaires) – le fichier cryptogram13 (fichier binaire) a ´t´ obtenu en chiffrant un texte avec openssl et la ee commande enc. Le syst`me de chiffrement sym´trique utilis´ est BlowFish en mode CBC ; e e e – la cl´ BlowFish a ´t´ d´riv´e ` partir d’un mot de passe dont voici la version chiffr´e ; e ee e e a e – la cl´ priv´e RSA qui a servi ` chiffrer le mot de passe ; e e a – le mot de passe prot´geant la cl´ RSA, cod´ en base 64, est VVNUTC1GSUwtUEFD . e e e 3.6 Signature de fichiers Il n’est possible de signer que de petits documents. Pour signer un gros document on calcule d’abord une empreinte de ce document. La commande dgst permet de le faire. $ o p e n s s l d g s t <hachage> −out <empreinte > < f i c h i e r e n t r e e > o` hachage est une fonction de hachage. Avec openssl, plusieurs fonctions de hachage sont propos´es u e dont – MD5 (option -md5), qui calcule des empreintes de 128 bits, – SHA1 (option -sha1), qui calcule des empreintes de 160 bits, – RIPEMD160 (option -ripemd160), qui calcule des empreintes de 160 bits. Signer un document revient ` signer son empreinte. Pour cela, on utilise l’option -sign de la commande a rsautl $ o p e n s s l r s a u t l −s i g n −i n <empreinte > −i n k e y <c l e > −out <s i g n a t u r e > et pour v´rifier la signature e 4
  • 5. $ o p e n s s l r s a u t l −v e r i f y −i n <s i g n a t u r e > −pubin −i n k e y <c l e > −out <empreinte > il reste ensuite ` v´rifier que l’empreinte ainsi produite est la mˆme que celle que l’on peut calculer. a e e L’option -pubin indique que la cl´ utilis´e pour la v´rification est la partie publique de la cl´ utilis´e e e e e e pour la signature. Exercice 6 : Signez le fichier de votre choix, pui v´rifiez la signature. e Exercice 7 : Des deux fichiers suivants, lequel a bien ´t´ sign´ avec la partie priv´e de cette cle ? ee e e – fichier 1, signature 1 – fichier 2, signature 2 4 Certificats Vous allez maintenant ´laborer un certificat pour votre cl´ publique. Puis, vous verrez comment utiliser e e les cl´s certifi´es pour signer et/ou chiffrer des courriers ´lectoniques. e e e 4.1 G´n´ration de la paire de cl´s e e e Exercice 8 : G´n´rez votre paire de cl´s RSA d’une taille de 1024 bits, prot´g´e par un mot de passe e e e e e (cf g´n´ration d’une paire de cl´s). Dans la suite, on suppose nomm´ maCle.pem le fichier contenant votre e e e e paire de cl´s RSA. Ce fichier est prot´g´ par le mot de passe fourni lors de la g´n´ration. e e e e e Exercice 9 : Cr´ez un fichier ne contenant que la partie publique de votre cl´ RSA (cf Exportation e e de la cl´ publique). Dans la suite, on suppose ce fichier nomm´ maClePublique.pem. e e 4.2 Cr´ation d’une requˆte de certificats e e Maintenant que vous disposez d’une cl´ RSA, vous allez ´tablir une requˆte pour obtenir un certificat. e e e Outre la cl´ publique du sujet, un certificat contient un certain nombre d’informations concernant e l’identit´ de son propri´taire : e e – Pays (C), ´ – Etat ou province (ST) – Ville ou localit´ (L) e – Organisation (O) – Unit´ (OU) e – Nom (CN) – Email Toutes ces informations et d’autres encore sont demand´es lors de la cr´ation de la requˆte. Un fichier e e e de configuration (req.cnf) peut-ˆtre d´fini qui propose les informations ` apporter dans le certificat avec e e a des valeurs par d´faut. e On ´tablit une requˆte avec la commande req de openssl. e e $ o p e n s s l r e q −c o n f i g r e q . c n f −new −key maCle . pem −out maRequete . pem Le fichier produit maRequete.pem est aussi au format PEM. $ c a t maRequete . pem −−−−−BEGIN CERTIFICATE REQUEST −−−−− MIIB/zCCAWgCAQAwgb4xCzAJBgNVBAYTAkZSMRIwEAYDVQQIEwlOb3JkICg1OSkx GjAYBgNVBAcTEVZpbGxlbmV1dmUgZCdBc2NxMR4wHAYDVQQKExVVbml2ZXJzaXRl IGRlIExpbGxlIDExGTAXBgNVBAsTEExpY2VuY2UgUHJvIERBMkkxGjAYBgNVBAMT EUVyaWMgV2Vncnp5bm93c2tpMSgwJgYJKoZIhvcNAQkBFhlFcmljLldlZ3J6eW5v d3NraUBsaWZsLmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCveVjLltev TC5kSAiTYjHMVuAR80DHMLWCp3BOVZ49eXwraXxO7AfKWpA5g0wFZgZNERIfFYaC nvaQDQA+9BRIfsSSr3oSw0My5SD6eg15v0VmJmvPd8LgBypJHbr6f5MXWqntvzp0 Qvg6ddeNpUIrqkkh4uDfHFDWqyrkQUCvKwIDAQABoAAwDQYJKoZIhvcNAQEEBQAD 5
  • 6. gYEAHOwGNN6A8d4EhjfXCRvC2fhIjt7i6jxfkHKBkHpm2yNBBDHQwiv+O/Y0MeNh I r a+y8KUMjeImsSiH4731sfgA6ycm+6JoDV7n6z8tzN5QMGsw7V3ErduskayKP4T j a+BMImEcDwlr+KuRO704rGeiAG7pvtDGcDcj2Mex68ki94= −−−−−END CERTIFICATE REQUEST −−−−− On peut consulter les informations contenues dans la requˆte avec la commande e $ o p e n s s l r e q −c o n f i g r e q . c n f −i n maRequete . pem −t e x t −noout C e r t i f i c a t e Request : Data : V e r s i o n : 0 ( 0 x0 ) S u b j e c t : C=FR, ST=Nord ( 5 9 ) , L=V i l l e n e u v e d ’ Ascq , O=U n i v e r s i t e de L i l l e 1 , OU=L i S u b j e c t P u b l i c Key I n f o : P u b l i c Key Algorithm : r s a E n c r y p t i o n RSA P u b l i c Key : ( 1 0 2 4 b i t ) Modulus ( 1 0 2 4 b i t ) : 0 0 : a f : 7 9 : 5 8 : cb : 9 6 : d7 : a f : 4 c : 2 e : 6 4 : 4 8 : 0 8 : 9 3 : 6 2 : 3 1 : c c : 5 6 : e0 : 1 1 : f 3 : 4 0 : c7 : 3 0 : b5 : 8 2 : a7 : 7 0 : 4 e : 5 5 : 9 e : 3 d : 7 9 : 7 c : 2 b : 6 9 : 7 c : 4 e : e c : 0 7 : ca : 5 a : 9 0 : 3 9 : 8 3 : 4c :05:66:06:4 d :11:12:1 f :15:86:82:9 e : f6 :90:0 d : 0 0 : 3 e : f 4 : 1 4 : 4 8 : 7 e : c4 : 9 2 : a f : 7 a : 1 2 : c3 : 4 3 : 3 2 : e5 : 2 0 : f a : 7 a : 0 d : 7 9 : b f : 4 5 : 6 6 : 2 6 : 6 b : c f : 7 7 : c2 : e0 : 0 7 : 2 a : 4 9 : 1 d : ba : f a : 7 f : 9 3 : 1 7 : 5 a : a9 : ed : b f : 3 a : 7 4 : 4 2 : f 8 : 3 a : 7 5 : d7 : 8 d : a5 : 4 2 : 2 b : aa : 4 9 : 2 1 : e2 : e0 : d f : 1 c : 5 0 : d6 : ab : 2 a : e4 : 4 1 : 4 0 : a f : 2 b Exponent : 65537 ( 0 x10001 ) Attributes : a0 : 0 0 S i g n a t u r e Algorithm : md5WithRSAEncryption 1 c : e c : 0 6 : 3 4 : de : 8 0 : f 1 : de : 0 4 : 8 6 : 3 7 : d7 : 0 9 : 1 b : c2 : d9 : f 8 : 4 8 : 8 e : de : e2 : ea : 3 c : 5 f : 9 0 : 7 2 : 8 1 : 9 0 : 7 a : 6 6 : db : 2 3 : 4 1 : 0 4 : 3 1 : d0 : c2 : 2 b : f e : 3 b : f 6 : 3 4 : 3 1 : e3 : 6 1 : 2 2 : b6 : be : cb : c2 : 9 4 : 3 2 : 3 7 : 8 8 : 9 a : c4 : a2 : 1 f : 8 e : f 7 : d6 : c7 : e0 : 0 3 : ac : 9 c : 9 b : e e : 8 9 : a0 : 3 5 : 7 b : 9 f : ac : f c : b7 : 3 3 : 7 9 : 4 0 : c1 : ac : c3 : b5 : 7 7 : 1 2 : b7 : 6 e : b2 : 4 6 : b2 : 2 8 : f e : 1 3 : 8 d : a f : 8 1 : 3 0 : 8 9 : 8 4 : 7 0 : 3 c : 2 5 : a f : e2 : ae : 4 4 : e e : f 4 : e2 : b1 : 9 e : 8 8 : 0 1 : bb : a6 : f b : 4 3 : 1 9 : c0 : dc : 8 f : 6 3 : 1 e : c7 : a f : 2 4 : 8b : de Exercice 10 : Explliquez les diff´rents ´l´ments contenus dans cette requˆte. La cl´ priv´e du sujet e ee e e e y figure–t–elle ? 4.3 Demande de signature de certificat Une fois que vous avez ´tabli une requete de certificat, il vous reste ` contacter une autorit´ de certi- e a e fication qui vous d´livrera un certificat sign´, apr`s avoir proc´d´ (normalement) ` quelques v´rifications e e e e e a e vous concernant. L’autorit´ de certification P`re Ubu Vous jouerez dans ce TP le rˆle de l’autorit´ de certification. e e o e Pour cela il vous faut un certificat d’autorit´ de certification, ainsi qu’une paire de cl´s. Afin de ne pas e e multiplier les autorit´s, vous utilisereztous la tr`s notable autorit´ P`re Ubu dont vous trouverez ici le e e e e certificat et la paire de cl´s RSA. e Un certificat produit par openssl est un fichier au format PEM. $ c a t u n C e r t i f . pem −−−−−BEGIN CERTIFICATE−−−−− .... −−−−−END CERTIFICATE−−−−− 6
  • 7. Pour visualiser le contenu d’un certificat $ o p e n s s l x509 −i n u n C e r t i f . pem −t e x t −noout Exercice 11 : Apr`s avoir r´cup´r´ le certificat de l’autorit´, ainsi que sa paire de cl´s RSA, cherchez e e ee e e quelle est la date d’expiration du certificat et la taille de la cl´. e Cr´ation d’un certificat Pour cr´er et signer un certificat ` partir d’une requˆte maRequete.pem, e e a e l’autorit´ invoque la commande x509 e $ o p e n s s l x509 −days 10 −C A s e r i a l PereUbu . s r l −CA P e r e U b u C e r t i f . pem −CAkey PereUbuCle . pem −i n maRequete . pem −r e q −out monCertif . pem dans laquelle PereUbu.srl est un fichier contenant le num´ro de s´rie du prochain certificat ` signer e e a (ce fichier est un fichier texte contenant une ligne donnant un nombre cod´ avec un nombre pair de chiffres e hexad´cimaux), et l’option -days d´termine la dur´e de validit´ du certificat (ici 10 jours). e e e e Exercice 12 : Cr´´z un certificat pour votre cl´ publique. (Lors de la signature du certificat, la ee e commande x509 invite l’autorit´ certifiante ` donner son mot de passe. Le mot de passe de P`re Ubu e a e ne devrait pas vous ˆtre inconnu, puisqu’il s’agit DU mot du P`re Ubu (celui prononc´ au tout d´but e e e e d’Ubu Roi). N´anmoins, le voici cod´ en base 64 bWVyZHJlCg== S’il le faut, utilisez la commande openssl e e base64 -d pour le d´coder.) e Puis contrˆlez le contenu du certificat obtenu avec les options appropri´es de la commande x509. o e V´rification de certificats On peut v´rifier la validit´ d’un certificat avec la commande verify. Pour e e e v´rifier la validit´ d’un certificat, il est n´cessaire de disposer du certificat de l’autorit´ qui l’a ´mis. e e e e e $ o p e n s s l v e r i f y −C A f i l e P e r e U b u C e r t i f . pem monCertif . pem 4.4 Signature et chiffrement de courriers ´lectroniques e Lorsque vous disposez d’une paire de cl´s publique/priv´e, et d’un certificat qui les accompagne, et e e qui atteste de votre adresse ´lectronique, il vous est possible, entre autres choses, de signer vos mails, et e de recevoir des mails chiffr´s de la part de vos correspondants qui disposent de votre certificat. e 4.4.1 Avec openssl Signature de courriers Vous disposez d’un certificat monCertif.pem, d’une cl´ priv´e maCle.pem e e et vous voulez envoyer un courrier sign´ dont le contenu est dans le fichier blabla.txt ` l’adresse e a haha@palotin.pl. En supposant que tous les fichiers se trouvent dans le r´pertoire courant, il suffit e d’invoquer la commande $ o p e n s s l smime −s i g n −i n b l a b l a . t x t −t e x t −s i g n e r monCertif . pem −i n k e y maCle . pem −from moi@palotin . p l −t o haha@palotin . p l −s u b j e c t ” c o u r r i e r s i g n e ” Il est bien videmment possible de rediriger la sortie de la comande pr´c´dente vers un fichier (avec e e l’option -out par exemple), ou vers la commande mail. V´rification de courriers sign´s Pour v´rifier un courrier sign´, il faut disposer du certificat que e e e e l’´metteur a utilis´ pour signer, ainsi que celui de l’autorit´ ayant ´mis ce certificat. On invoque la e e e e commande $ o p e n s s l smime − v e r i f y −i n c o u r r i e r . s i g n e −s i g n e r s o n C e r t i f . pem −C A f i l e P e r e U b u C e r t i f . pem 7
  • 8. Chiffrement de courriers Pour envoyer un courrier chiffr´, par exemple avec du Triple-DES, ` un e a destinataire dont on dispose d’un certificat sonCertif.pem, il suffit d’invoquer la commande $ o p e n s s l smime −e n c r y p t −i n b l a b l a . t x t −t e x t −from moi@palotin . p l −t o haha@palotin . p l −s u b j e c t ” c o u r r i e r c h i f f r ´ ” e −d e s 3 s o n C e r t i f . pem Il est bien videmment possible de rediriger la sortie de la comande pr´c´dente vers un fichier (avec e e l’option -out par exemple), ou vers la commande mail. D´chiffrement de courriers Pour d´chiffrer un courrier chiffr´ e e e $ o p e n s s l smime −d e c r y p t −i n c o u r r i e r . c h i f f r e −r e c i p s o n C e r t i f . pem −i n k e y maCle . pem o` maCle.pem est ma cl´ priv´e RSA, et sonCertif.pem est le certificat de l’´metteur. u e e e Remarque Lorsqu’on chiffre un courrier ´lectronique, il faut s’assurer que le destinataire est en mesure e de le d´chiffrer, autrement dit que le logiciel du destinataire est en mesure de le faire. e 4.4.2 Avec Mozilla La premi`re chose ` faire pour pouvoir ´changer des courriers sign´s et/ou chiffr´s avec Mozilla e a e e e est d’importer votre certificat et votre cl´ priv´e que vous venez d’obtenir dans la base de donn´es de e e e certificats g´r´es par votre navigateur. ee La base de donn´es de certificats Vous pouvez consulter cette base de donn´es par le menu e e Edition/Preferences. Vous pouvez alors consulter – vos certificats (a priori aucun), – ceux des personnes dont vous en avez obtenu un, – ceux de serveurs WEB s´curis´s que vous avez eu l’occasion de rencontrer, e e – et enfin, ceux des autorit´s de certification que vous connaissez (il y en a plusieurs dizaines norma- e lement, mais cette liste ne contient pas le P`re Ubu) e Importation d’un certificat Pour importer votre certificat dans votre base de donn´es, il faut cr´er e e d’abord une enveloppe PKCS#12. Il s’agit d’une norme de fichier adopt´e pour ”ficeler” ensemble un ou e plusieurs certificats et cl´s. e Pour cr´er une enveloppe PKCS#12 contenant votre certificat, votre cl´ priv´e, et le certificat de e e e l’autorit´ ayant sign´ le votre, il suffit d’invoquer la commande e e $ o p e n s s l pkcs12 −e x p o r t −i n monCertif . pem −i n k e y maCle . pem − c e r t f i l e P e r e U b u C e r t i f . pem −name ”EW” −caname ” Pere Ubu” −out monEnveloppe . p12 Un mot de passe prot´geant cette enveloppe vous est demand´. e e Une fois cette enveloppe r´alis´e, il reste ` importer tout cela dans la base de donn´es de certificats e e a e de votre navigateur. Pour cela passez par le menu s´curit´. Un mot de passe vous sera demand´ pour la e e e base de donn´es, puis celui que vous avez utilis´ pour prot´ger l’enveloppe PKCS#12. e e e Cela r´alis´, vous devez voir maintenant votre certificat dans la liste des votres. Demandez ` le e e a visualiser, puis ` le v´rifier. Votre certificat n’est pas valide car ... a e Acceptation de l’autorit´ P`re Ubu e e ... l’autorit´ P`re Ubu n’est pas accept´e par votre navigateur. e e e Pour que P`re Ubu soit accept´ vous devez ´diter son certificat (depuis la liste des certificats d’autorit´s e e e e signataires) et cocher la case concernant l’acceptation de cette autorit´ pour les emails. e V´rifiez maintenant votre certificat. e V´rifiez aussi la signature du mail de mercredi dernier. e 8
  • 9. Envoyer un courrier sign´ Pour envoyer un courrier sign´, il suffit de cocher la cas ad´quate qui e e e apparaˆ lorsqu’on coche la case s´curit´ (en bas ` gauche) de la fenˆtre de composition du mail. ıt e e a e Envoyer un mail chiffr´ Pour envoyer un courrier chiffr´, il suffit de faire la mˆme chose. ATTEN- e e e TION, vous devez poss´der un certificat valide de votre destinataire. e 9