Jean-Michel YOLIN                                                                                                                                                                Paris le 3 juillet 2001

la signature électronique
comment ça marche, combien ça coute, à quoi ça sert



 
 

Authentification, Intégrité, Confidentialité, Non Répudiation:

la Signature Electronique mode d'emploi

Internet est un outil dont l'un des usages principaux dans le monde économique consiste à effectuer des transactions: achat-vente, rédaction de contrat, échange d'informations confidentielles, conduite de projet, , actes juridiques, procédures administratives, règlement des obligations fiscales (obligatoire pour le paiement de la TVA (téléTVA) pour les entreprises de plus de 100MF de CA depuis juin 2001)

La sécurité des transactions doit donc être garantie

1 Votre correspondant est-il ce qu'il prétend être? vos échanges n'ont-ils pas été altérés? Lus par un tiers?: vers une architecture de confiance permettant de donner une valeur juridique aux échanges
 
Efficace, universel et bon marché, Internet n'a pas été conçu au départ pour cet objectif et présente des risques en matière de sécurité
Il est donc difficile de conférer une valeur juridique certaine aux transactions conclues via Internet (un achat risque d'être répudié, la valeur d'un acte conclu par un échange électronique peut être contestée)

C'est la raison pour laquelle se construit actuellement une "architecture de confiance" se donnant comme objectif
 

ð L'authentification des parties à l'échange
ð La garantie de l'intégrité du message
ð La possibilité d'assurer si nécessaire la confidentialité du message
ð L'horodatage et l'archivage par un tiers de confiance
ð Et in fine la possibilité technique de réunir les preuves de l'accord des parties et de permettre légalement de considérer un acte électronique comme ayant la même valeur juridique que s'il avait été matérialisé sur du papier, ce qui permet en particulier de lui conférer un caractère définitif (non répudiation)
Pour ce qui concerne le site sur lequel vous êtes est-il ce qu'il prétend être? :Les sites en ."fr" apportent de ce côté une certaine sécurité car l'attribution du nom de domaine ne se fait qu'après des vérifications analogues à celles pratiquées jusqu'à présent pour les sites minitel
Pour les sites déclarés auprès de l'Internic, http://ds2.internic.net/ds/webfinder/WebFinder.html vous permet de connaître la liste de tous les noms de domaine déposés par une société
Inversement http://ds2.internic.net/wp/whois.html vous fournit les coordonnées du possesseur d'un site (en particulier les "com", mais ces informations ne font que reprendre les déclarations et ne sont pas vérifiées
Sans oublier www.internic.comqui fournit une information plus riche sur les sites enregistrés

Néanmoins seule la certification comme nous le verrons plus loin apporte une garantie sérieuse

2 la signature électronique, les certificats, "l'Infrastructure à Clés Publiques" (ICP ou PKI)

les moyens en cours de mise en place reposent sur 2 principes 2.1 le principe des clés dites "asymétriques" : Intégrité, authentification, confidentialité, non répudiation

Des algorithmes mathématiques permettent de produire des paires de clé de cryptage (que nous appellerons P et S) possédant la caractéristique suivante
 

un message crypté avec la clé P ne peut être décrypté que par la clé S et vice versa.
Il est "impossible" avec l'une des 2 clés de calculer l'autre dans des délais "raisonnables"

Chaque partenaire de l'échange crée donc une telle paire de clés composée (une bi-clé)

2.1.1 Intégrité et identification de l'émetteur, chiffrement à l'aide de la clé secrète de l'émetteur: la signature

Un message crypté avec la clef secrète de Albert est déchiffré par n'importe qui avec la clef publique d'Albert. Ce message ne peut provenir que d'Albert on a la garantie de son identité (authentification)

Son contenu n'a pu être altéré car il aurait fallu pour cela être capable après l'avoir décrypté avec la clé publique de le recrypter avec la clé secrète (on dit aussi qu'il est "signé électroniquement par Albert") : on a la garantie d'intégrité.

2.1.2 Confidentialité: chiffrement avec la clé publique du destinataire
Un message crypté avec la clef publique de Bernard n'est déchiffrable que par celui-ci au moyen de sa clef secrète : on garantit ainsi la confidentialité de l'échange.
2.1.3 Intégrité, authentification et confidentialité: le double chiffrement
Un message crypté successivement par la clef secrète d'Albert et la clef publique de Bertrand ne peut être lu que par Bertrand qui peut en outre être assuré que le message provient bien d'Albert et n'a pu être altéré .

Une signature électronique peut être apposée sur tout type de document numérisé: message, fichier texte, photo, vidéo, morceau de musique ou un programme informatique

2.1.4 Principe du théorème d'Euler:
théorème d'Euler
Soit 2 nombres premiers A et B et M leur produit : M=A*B
Alors le produit (A-1)*(B-1) que nous appellerons K a la propriété suivante: quel que soit le nombre X, si on multiplie celui-ci K fois par lui-même (on "l'élève à la puissance K") le résultat est égal à 1 + un nombre multiple de M 
(pour les mathématiciens "XK= 1 modulo M"). en fait cette propriété n'est vraie que si X n'est multiple ni de A ni de B mais la probabilité en est quasi nulle puisqu'il s'agit de nombres comportant plusieurs centaines de chiffres décimaux (typiquement M est un nombre qui nécessite 300 chiffres pour l'écrire)

Pour calculer une paire de clés opérationnelle on commence donc par choisir 2 nombres premiers A et B, 
Puis on prend 2 nombres S et P (les clés secrètes et publiques) tels que S*P-1 soit un multiple de K donc S*P=nK+1. Les clés S et P sont des nombres gigantesques nécessitant 150 à 300 chiffres pour les écrire (il suffit de 31 chiffres pour numéroter les grains de sable du Sahara1(*), un milliard de milliards de Saharas ne nécessiteraient encore que moins de 50 chiffres pour en numéroter les grains de sable...)

Albert publie alors M et P
Il crypte son texte T en le multipliant S fois par lui-même (TS) et il obtient un résultat T' qu'il transmet
Bertrand lors de la réception va à son tour multiplier T' P fois par lui même et il obtient T" qui est égal au message initial multiplié (S*P) fois par lui même soit (T"= TS*P )

Mais nous avons choisi S et P tels que S*P= nK+1 : or le théorème d'Euler nous dit que lorsque nous multiplions un nombre quelconque K fois par lui même on obtient 1 + un multiple de M, donc le message T" est égal au message initial + un multiple de M, 
Il suffit donc de diviser T" par M et le reste de cette division est le message initial T
(Pour les mathématiciens : T"= TS*P = TnK+1 = T * TnK or TnK = 1 modulo M donc T" = T modulo M)

Une des techniques les plus connues est dite RSA (Du nom de ses inventeurs: Rivest, Shamir et Adelman).

2.2 Dans les faits c'est un peu plus compliqué : le "condensé" ou "hachis" et les "clés de session"
Sur le plan pratique le cryptage asymétrique consomme une puissance de calcul considérable: il faut multiplier le texte à crypter, qui peut être représenté par un nombre, plusieurs centaines de fois par lui-même (voir plus haut le principe du théorème d'Euler).

L'utilisation des clés asymétriques au texte proprement dit entraînerait des temps de calcul prohibitifs, aussi ne les utilise-t-on que pour des messages très courts, "condensats" ou "clés de session"

2.2.1 Pour l'Intégrité et identification de l'émetteur le "condensé" ou "hachis"
Albert utilise préalablement un algorithme mathématique qui "hache" ou "condense" le texte de façon telle que la modification d'un seul élément du message initial produit un "hachis" ou "condensat" différent. Ce procédé doit être irréversible (impossibilité de reconstituer le message)

Il crypte celui-ci avec sa clé secrète et transmet à Bertrand son message en clair avec le condensat crypté

Bertrand décrypte ce condensat avec la clé publique d'Albert et le compare avec celui qu'il calcule lui-même avec l'algorithme de hachage à partir du message reçu en clair:

Si les 2 textes sont identiques il pourra en conclure que le message provient bien d'Albert et qu'il n'a pas été altéré en cours de route

2.2.2 Pour la confidentialité les "clés de session", clés de cryptage symétriques
Il existe des clés de cryptage symétriques (les 2 protagonistes de l'échange disposent de la même clé) qui nécessitent des puissances de calcul environ 1000 fois plus légères, à difficulté de décryptage identique, que les clés asymétriques

Le problème posé par leur utilisation repose bien évidemment sur la difficulté d'échanger ces clés confidentiellement au début de la transmission et c'est là qu'interviennent les clés asymétriques :

Quelques standards de cryptage et protocoles méritent d'être mentionnés:
Pour les algorithmes asymétriques RSA, Elgamal, PGP (pretty Good Privacy créé par Philippe Zimmermann www.pgp.com), DSA et Diffie-Hellman pour l'échange des clés
Pour les algorithmes de hachage : MD2, MD5 ou SHA-1
Pour les algorithmes symétriques DES et triple DES (Data Encryption Standard, qui devrait être remplacé par l'algorithme Belge Rijndael à la suite d'une sévère compétition internationale), CAST, IDEA, RC2, RC4, RC5
Notons encore TLS-SSL (Secure Socket Layer) pour la sécurisation des sessions (paiements on-line), S-MIME pour l'e-mail, , ISAKMP/IKE SSH et le protocole IPSec pour protéger les transmissions (VPN).
La norme X509 définit le format des certificats, la norme X500 celui des annuaires contenant ces certificats et les clés publiques associées et LDAP (Lightweight Directory Access Protocol) les modalités d'utilisation de ces répertoires
2.3 Principe de l'architecture de confiance : comment être certain que la clé publique est bien celle d'Albert?
Nous n'avons pas pour autant résolu toutes nos difficultés:

Si Bertrand ne connaît pas personnellement Albert comment être certain qu'il est bien celui qu'il prétend être: c'est ce besoin d'identification des personnes qui a conduit à mettre en chantier une "architecture de confiance" constituée de "notaires" (autorités de certification et autorités d'enregistrement)

2.3.1 L'Autorité de Certification (AC), tiers de confiance
Elle délivre un certificat attestant de l'identité correspondant à une clé publique, ce certificat est signé par la clé secrète de cette Autorité ce qui permet de s'assurer de son authenticité. Ce certificat peut être révoqué et il a une durée de validité déterminée. L'AC doit donc également gérer les listes de certificats expirés, révoqués ou suspendus

Elle assure la conservation des clés publiques de ses abonnés

Son rôle est alors de permettre à 2 personnes qui ne se connaissent pas mais sont toutes deux connues par l'AC d'effectuer une transaction en toute confiance : c'est un tiers de confiance

La valeur du certificat délivré (ou son niveau) dépend bien évidemment de la précision des contrôles effectués par cette autorité :

au final une signature devrait coûter un prix voisin de celui d'une lettre recommandée (moins de 10 euros)
 
Pour obtenir le certificat Chambersign utilisé pour les transactions fiscales ou commerciales il faut notamment présenter physiquement à la CCI les documents établissant l'identité de l'entreprise, l'identité de la personne considérée ainsi que les pouvoirs de celle-ci à engager sa société vis à vis des tiers
De nombreux autres organismes sont sur les rangs: Certinomis (la Poste), Certplus et bien entendu l'Etat pour ses fonctionnaires
Au niveau mondial l'entreprise leader est une start-up Verisign www.verisign.com qui contrôlerait 90% du marché. Ce marché est estimé à 500 millions de $ en 2001 avec un taux de croissance de 66% par an(IDC/SG Cowen Equity Research/les Echos du 11/4/01)
2.3.2 L'autorité d'enregistrement
Pour des raisons de commodité l'autorité de certification peut se reposer sur une autorité d'enregistrement, plus proche du client, pour procéder aux "contrôles d'identité"
2.3.3 Les Autorités d'horodatage et d'archivage
Un des éléments essentiels d'un acte juridique est la date à laquelle celui-ci a été conclu: des Autorités d'Horodatage sont prévues à cette fin

De même il est important pour certains documents que leur conservation puisse en être effectuée par des tiers: des Autorités d'archivage ont été créées à cette fin

Ces différentes "Autorités" peuvent être exercées par le même organisme privé ou public ou par des organismes distincts

2.3.4 L'architecture de confiance ICP (infrastructure de clés publiques) ou PKI (Public Key Infrastructures)
Bien entendu la difficulté réside dans le nombre, forcément important d'Autorités de Certification dans le monde. Deux principes ont été établis pour résoudre ce problème 2.3.5 Une complexité qui heureusement n'est pas perceptible au niveau de l'utilisateur...

Le processus de signature est donc finalement le suivant :

L'usage de la clé secrète est protégé par un mot de passe mais elle gagne néanmoins à être conservée sur une mémoire amovible (disquette ou mieux encore, carte à puce) pour ne pas pouvoir être piratée par une intrusion sur votre disque dur. Elle n'est pas liée à une machine ce qui permet une utilisation "nomade"

Certains pensent que la véritable solution ergonomique repose sur le téléphone mobile, sa carte SIM et les messages SMS

Heureusement tous ces processus sont transparents pour l'utilisateur et, une fois le paramétrage réalisé en un clic sur l'icône idoine (en général un cadenas), puis sur une "case à cocher", permettent de signer et éventuellement de crypter le message

....... et en sens inverse décryptage et vérifications sont faits automatiquement

2.4 Vers une valeur juridique aussi forte que le papier, aux niveaux mondial, européen et national
A coté du travail technique et organisationnel une intense activité a été déployée au niveau international pour conférer à la signature électronique une valeur probante juridique équivalente à la signature manuscrite

1996 au niveau mondial la Commission des Nations Unies pour le Droit Commercial International (CNUDCI) a commencé à élaborer une loi de référence : ce projet devrait être prochainement définitivement adopté

1999 au niveau européen : c'est la directive du 12 décembre 1999 qui définit les règles à respecter par la signature électronique pour qu'elle bénéficie d'une reconnaissance juridique. Elle précise la notion de "signature électronique avancée", plus exigeante en terme de "contrôle d'identité" et de sécurité des processus de cryptage employés http://europa.eu.int/comm/internal_market/en/media/sign

2000 au niveau national : c'est le 13 mars 2000 que la loi a modifié notre Code Civil redéfinit la notion même de signature ( www.internet-juridique.net/cryptographie/preuve.html):

"la signature nécessaire à la perfection d'un acte juridique identifie celui qui l'appose. Elle manifeste le consentement des parties aux obligations qui découlent de cet acte"

Elle renvoie à 2 Décrets qui formalisent les exigences d'un procédé de signature électronique afin que celui-ci puisse être considéré conforme à ce principe. Un premier décret a été pris le 30 mars 2001, il précise en particulier les notions de signature "avancée" et "sécurisée" et de logiciel "certifié", de certificat "qualifié", de prestataire "accrédité", tout en s'efforçant de rester au niveau des principes pour ne pas figer la technologie (ainsi pourront être ultérieurement intégrés des paramètres biométriques (photo, fond de rétine, signature manuscrite dynamique, empreinte digitale, ADN,...)

Ce décret renvoie lui-même à des arrêtés devant préciser les modalités techniques et organisationnelles, notamment la mise en place d'un comité de certification voir www.internet.gouv.fr/francais/textesref/pagsi2/signelect

Ne doutons pas que ces textes seront complétés par une abondante jurisprudence (homonymes, responsabilité civile et pénale des prestataires, ...)


1 en comptant large: on suppose que le Sahara fait 10.000Km sur 10.000Km, que l'épaisseur du sable est de 10 Km et qu'il y a 1000 grains de sable par millimètre cube