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
C'est la raison pour
laquelle se construit actuellement une "architecture de confiance" se donnant
comme objectif
ð La garantie de l'intégrité du message
Néanmoins seule la certification comme nous le verrons plus loin apporte une garantie sérieuse
les moyens en cours de mise en place reposent sur 2 principes2 la signature électronique, les certificats, "l'Infrastructure à Clés Publiques" (ICP ou PKI)
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
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é)
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é.
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.2 Confidentialité: chiffrement avec la clé publique du destinataire
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é .2.1.3 Intégrité, authentification et confidentialité: le double chiffrement
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,
Albert publie
alors M et 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,
Une des techniques les plus connues est dite RSA (Du nom de ses inventeurs: Rivest, Shamir et Adelman). |
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).2.2 Dans les faits c'est un peu plus compliqué : le "condensé" ou "hachis" et les "clés de session"
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"
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)2.2.1 Pour l'Intégrité et identification de l'émetteur le "condensé" ou "hachis"
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
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étriques2.2.2 Pour la confidentialité les "clés de session", clés de cryptage symé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 |
Nous n'avons pas pour autant résolu toutes nos difficultés:2.3 Principe de l'architecture de confiance : comment être certain que la clé publique est bien celle d'Albert?
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)
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 suspendus2.3.1 L'Autorité de Certification (AC), tiers de confiance
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é :
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) |
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.2 L'autorité d'enregistrement
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 fin2.3.3 Les Autorités d'horodatage et d'archivage
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
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ème2.3.4 L'architecture de confiance ICP (infrastructure de clés publiques) ou PKI (Public Key Infrastructures)
Le processus de signature est donc finalement le suivant :
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
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 manuscrite2.4 Vers une valeur juridique aussi forte que le papier, aux niveaux mondial, européen et national
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