Accueil > Informatique > Signature numérique et certificat électronique

Signature numérique et certificat électronique

Dans le cadre de votre vie professionnelle, voir privée, vous êtes surement amené (ou dans un futur proche, vous serez surement amené) à recevoir de plus en plus de contrats sous forme électronique (format .pdf en général) : par exemple, un contrat de location à l’étranger ou un changement de contrat avec votre banque.

Comme vous l’avez remarqué, il assez fastidieux, voir absolument contraignant, d’imprimer les dits contrats, de les signer, puis de les envoyer par la poste avec accusé de réception.

Heureusement pour vous, depuis mars 2000, la loi française permet de signer électroniquement les documents, avec la même valeur juridique qu’une signature manuscrite (après je ne suis pas allé voir dans les détails).

La Loi c’est bien beau, mais comment cela se passe en en théorie?

En pratique la signature électronique doit remplir cinq critères : la signature doit être authentique (permet de retrouver l’identité du signataire), infalsifiable, non réutilisable (impossible de la déplacer sur un autre document), inaltérable (impossibilité de modifier le document signé) et irrévocable (impossibilité de nier la signature).

Concrètement, cela passe par de la cryptographie asymétrique : je ne vais pas vous raconter une histoire avec Alice et Bob (je comprends pas la manie de ces deux là à toujours vouloir échanger des messages pendant les explications sur la cryptographie et la sécurité), donc pour faire simple, à une message M, on applique une fonction f, dite fonction de hachage (MD5, SHA-1).

Cette fonction est généralement utilisée pour donner une empreinte, i.e. un identifiant à un message, en partant du fait que les collisions seront peu nombreuses (une collision, au passage, c’est quand deux messages M ont la même image par f, i.e. f non injective) et cela permet de gagner du temps/de l’argent (en gros vous lisez le nom du message plutôt que le message en entier pour l’identifier). Donc on fait s=f(M). Ce hash s, envoyé avec le message, permet donc de vérifier l’intégrité du message : vous recevez Mr et s, vous calculez f(Mr). si f(Mr)=s, le message n’a pas été modifié.

Cependant, cela ne garantit pas l’émetteur du message. Pour vérifier par qui a été envoyé/signé le message, on utilise un système clé publique/clé privée. L’émetteur crypte le hash avec sa clé privée c(s), et le destinataire décrypte avec la clé publique d(c(s))=s. En gros, je possède un seul cadenas, et j’envoie les clés à mes amis. Le hash envoyé porte un cadenas, si la clé de mon ami correspond au cadenas, c’est que je suis effectivement l’expéditeur.

Voilà pour la théorie.

Comment cela se passe t’il en pratique ?

En pratique, on utilise concrètement des certificats électroniques, dont le standard est X509.

Comme vous ne connaissez pas forcément la personne (le site, etc) avec qui vous voulez échanger, il est à priori assez compliqué d’échanger les clés ab initio. Pour cela vous allez faire appel à une tierce personne en qui vous avez confiance, l’autorité de certification (AC), qui va distribuer et vérifier des cartes d’identités : les certificats électroniques.

Quand Alice rencontre Bob (nous y voila, damn it), Alice demande ses papiers à Bob et vice versa, et ils vérifient tous deux auprès de la Police (autorité de certification), que les cartes d’identités sont conformes (je sais c’est une drôle de rencontre). Dans les faits, Alice et Bob utilisent le certificat de l’AC pour vérifier que leurs certificats respectifs sont intègres (même principe qu’expliqué ci-dessus).

Il existe différents types de certificats avec différents niveaux de sécurité (4 classes) : cela va de la simple vérification de validité d’un email, jusqu’à la vérification physique d’identité par l’autorité de certification.

Qui sont les autorités de certification ?

Les autorités de certification sont en général des entreprises privées (Verisign, GlobalSign, CertEurope, etc), des organismes publics (chambre  de commerce et de l’industrie, greffes des tribunaux de commerce, l’état espagnol ou belge, etc), des associations (CAcert), ou bien de simples particuliers, voir vous même dans le cadre de l’auto-signature.

La confiance dans un certificat dépend intrinsèquement de l’autorité de certification qui le délivre. Un certificat délivré par une autorité « publique » (celles citées précédemment) a plus de crédit que celui que je pourrais vous délivrer moi même. D’ailleurs, généralement, lors de votre navigation sur le web, si avez accédez à un site sécurisé, dont le certificat n’est pas valide ou dont vous ne connaissez pas l’autorité racine, votre navigateur vous renvoie un message d’alerte.

Avec quoi sont créés les certificats électroniques ?

Bonne question. Il ne s’agit pas d’une boite (complètement) opaque. Les certificats électroniques respectent un standard : le plus souvent le standard X509.

Pour créer simplement ces certificats, vous pouvez utiliser OpenSSL, le couteau suisse de votre ordinateur pour les questions de cryptographie : il sert pour tout, le plus souvent de façon transparente, par exemple lorsque vous vous connectez à un site en https (http sécurisé, via ssl), ou à votre boite mail avec le protocole imaps (imap via ssl).

Vous pouvez trouver des détails sur la création de certificats ici ou .

Vous pouvez trouver des infos simples et claires sur le SSL ici.

Dans quel cadre un certificat électronique est utile ?

Les certificats numériques sont utiles, vraiment utiles et vous vous en servez très fréquemment, et le plus souvent de façon transparente : par exemple lorsque vous vous connectez sur le site de votre banque, ou un site de e-commerce en https, etc. Il peuvent aussi être utilisés dans le cadre d’une authentification forte, ou pour signer des documents comme nous l’évoquions précédemment.

Comment se procurer un certificat?

Actuellement, ces moyens de signature numérique ne concernent majoritairement que les entreprises, et ils sont onéreux : pour se procurer un certificat, il faut faire une demande à une autorité de certification (AC).

Si par chance, vous êtes une entreprise, vous pouvez vous procurer un certificat auprès de la chambre  de commerce et de l’industrie (ChamberSign), auprès des greffes des tribunaux de commerce, ou auprès d’une entreprise privée (VerisignGlobalSignCertEurope, etc).

Si par malheur, vous êtes un particulier, ça se corse pour vous, et en plus ça risque de vous couter un bras si vous faites appel à une entreprise privée.

Contrairement à d’autres pays européens, l’Etat Français ne distribue pas encore de certificats électroniques à ses citoyens : en revanche, la Belgique et l’Espagne ont déjà instauré des cartes d’identité numériques, comportant un puce avec deux certificats électroniques X509, qui permettent à tous citoyens belges et espagnols de signer électroniquement et de s’authentifier en ligne (ceux-ci nécessitent cependant un lecteur de carte à puce).

Avec le développement des télé-services au sein de nos administrations (déclaration en ligne des revenus, etc), et l’augmentation du besoin d’identification forte sur le web et via les outils numériques, il probable que lors la prochaine décennie on voit l’arrivée de nouvelles cartes d’identité comprenant des certificats d’authentification délivrés par l’Etat.

En outre, il est cependant important de rappeler qu’un projet de carte d’identité électronique nommé INES (Identité Nationale Electronique Sécurisée) avait été élaboré en France dès 2003 : cependant celle ci devait aussi comporter des données biométriques et cela avait provoqué une levée de boucliers, et entrainé la suspension du projet.

Comment créer son propre certificat, ou être soi même autorité de certification ?

En attendant, vous pouvez créer vous même vos propres certificats (auto-signés) en utilisant OpenSSL, ou vous déclarer autorité de certification au sein de votre organisme, de votre institution, de votre entreprise ou de votre école si l’usage reste interne. Encore une fois je vous renvois ici ou .

Si le sujet vous intéresse, je vous conseille de lire un document du CNRS rédigé par Carine Bernard à propos de la signature électronique ici.

Publicités
  1. fil
    19 mai 2010 à 19:28

    Merci du trackback l’ami !

    Ton article est super complet ! bravo !

    J’aimerais bien aussi avoir le temps de faire des articles aussi bien formalisé que toi, mais le temps me manque … idem pour tenir a jour et updater mon blog… tellement de choses a écrire et si peut de temps pour le faire …

    Merci et bon courage pour tes prochains articles !!!

    fil

  2. Ermite67
    10 décembre 2010 à 10:40

    Merci beaucoup pour cet article très complet et superbement écrit.
    Je voudrai apporter une petite précision sur la phrase suivante:

    <>

    Au niveau belge en tous cas, ceci n’est pas tout à fait exacte malheureusement.

    Cela est bien dommage car il me semble que nous avons, comme vous le dite si bien, tout ce qu’il faut pour le faire, MAIS pourquoi faire simple lorsque l’on peut faire compliquer ? Notre office national de sécurité social (ONSS) vient tout juste de développer une nouvelle interface pour que les employeurs puissent envoyer leurs déclarations (DMFA -> Déclarations multifonctionnelles) via SFTP. Les fichiers doivent être signés numériquement mais cela ne semble pas possible avec la signature de la carte d’identité électronique : Il serait impossible d’exporter la clé !!

    La réponse de l’ONSS à ce sujet :
    <>

    Bref…débrouillez-vous !!

    Pourquoi alors créer des cartes d’identité électronique si c’est pour ne pas pouvoir utiliser la clé qui se trouve sur la puce ???
    Mais peut-être que quelqu’un connait un moyen d’exporter la clé d’une carte d’identité belge ?? Peut-être l’objet d’un prochain article ? 🙂

    • Claudiu
      5 mars 2012 à 19:07

      Bonjour,
      C’est normal que la clé privée de signature ne puisse pas être exportée dans une carte d’identité. En effet, on ne signe pas avec un certificat électronique mais avec une clé privée qui doit rester sous l’usage exclusif du signataire (ne doit pas être communiquée à qq d’autre). Dans le système de signature dite « numérique », c’est la clée publique attachée au certificat électronique qui permet au tiers de valider la signature et d’authentifier le signataire. La puce d’une carte d’identité joue le rôle d’un vertibale « coffre fort » personnel qui permet de proteger l’utilisation de votre clé de signature ! J’ai défendu la carte d’identité belge 🙂 Pour d’autres informations vous pouvez voir aussi
      http://www.almetis.com/fr/questions-frequemment-posees-faq.html

  3. Ermite67
    10 décembre 2010 à 10:44

    Suite de message précédent, car les extraits de phrases ont été coupés.
    La phrase dont je voulais donner précision:
    – la Belgique et l’Espagne ont déjà instauré des cartes d’identité numériques, comportant un puce avec deux certificats électroniques X509, qui permettent à tous citoyens belges et espagnols de signer électroniquement et de s’authentifier en ligne (ceux-ci nécessitent cependant un lecteur de carte à puce). »

    La réponse de l’ONSS à ce sujet :
    – La carte d’identité peut convenir pour créer un canal SFTP mais vous ne pourrez pas utiliser avec l’OPEN SSL.
    Nous ne donnons pas de support pour la création du Fichier Signature au départ de la carte d’identité, il est nécessaire de vous renseigner auprès d’une maison de soft si un programme existe ou peut-être le développer vous même afin de pouvoir créer votre fichier signature.

  4. 1 avril 2014 à 03:13

    Tout a fait le genre d’idee dont je me fesait sur le sujet, merci encore pour ce bon billet.

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :