FUNIX

Mettez un manchot dans votre PC



Un mot sur la cryptographie
Historique |   PrincipesAlgorithme asymétrique à clé privée  , Algorithme symétrique à clé publique et privée , Signatures digitalesCertifications ,Un mot sur les clés) | Quelques algorithmes  (  Présentation   , DES , RSAIDEADSS, DHCAST)  | Et la loi française dans tout ça ?   ( Présentation  , Le décret 99-199 du 17 mars 99 , Le décret 99-200 du 17 mars 99 , Conclusion ) | Quelques liens intéressants| Le cryptage par dissimulation   ]

Un mot sur la cryptographie

Sécurité

Historique

Depuis la nuit des temps, les hommes ont cherché à crypter des messages afin que s'ils venaient à tomber entre des mains « ennemis » ne puissent pas être relus. Ainsi Jules César pour communiquer avec ses généraux, utilisait un système de codage, mais bien avant lui, les égyptiens aussi cryptaient leurs hiéroglyphes.
Pendant des millénaires, la cryptologie n'a concerné qu'un faible nombre de personnes, principalement les gouvernements,l'armée et les services secrets. Ainsi il y a encore peu, la cryptologie était considéré comme une arme de guerre, dans beaucoup de pays, y compris les Etats Unis et la France.
Avec l'avènement des réseaux et d'internet, du commerce électronique, la cryptologie a connu un essor considérable dans tous les milieux, la législation a su s'adapter, même s'il reste des progrès à faire notamment en France.
Sont présentés dans cette page les grands principes des logiciels de cryptographie qu'on trouve sur internet, ainsi que les algorithmes associés, sans toutefois rentrer dans le détail.

Principes

Algorithme symétrique à clé privé

L'envoyeur crypte son message avec une clé privée, il file le message et la clé privée au destinataire qui peut le décrypter en s'aidant de la clé. Gros inconvénient du système, il ne faut pas que la clé privée puisse tomber dans des mains tiers.

Algorithme asymétrique à clé publique

L'algorithme symétrique à clé privé n'est absolument pas adapté à internet, il est en effet très risqué d'envoyer sur le réseau sa clé privée sans qu'elle puisse être interceptée par des personnes tierces et pourtant cette échange de clé est nécessaire pour pouvoir décrypter le message.
On contourne le problème en créant deux clés, une clé secrète et une clé publique, la première ne doit en aucun cas être communiquée, alors que la deuxième peut être largement diffusée. Il existe une relation entre les deux clés, un texte crypté avec une clé publique ne peut être décrypter qu'avec la clé privée correspondante.
Le principe de fonctionnement est le suivant, soit A qui veut envoyer un message à B. B envoie sa clé publique à A, A crypte le message en utilisant la clé publique de B, B reçoit le message et le décrypte avec sa clé privée. B est le seul à pouvoir décrypter le message, vu qu'il est le seul à détenir la clé privée nécessaire au déchiffrement.

Voilà pour le principe, en détail, lors du chiffrement d'un message, on passe par les étapes:
- création d'une clé de session spécifique au message
- utilisation d'un algorithme particulier pour chiffrer le message en utilisant la clé de session
- utilisation d'un autre algorithme pour chiffrer la clé de session avec la clé publique du destinataire
- le message est chiffré paré à être envoyé
Côté destinataire, on aura :
- appel à un algorithme pour déchiffrer la clé de session avec la clé secrète
- appel à l'autre algorithme pour déchiffrer le message avec la clé de session

NOTE Les restrictions de la loi Française sur les logiciels de cryptographie portent sur la clé de session.

Signatures digitales

De même qu'en encryptant un message avec la clé publique du destinaire, on peut aussi crypter un message en utilisant sa clé privée, dans ce cas n'importe qui pourra déchiffrer le message dès lors qu'il possédera la clé publique correspondante. Vous me direz alors, qu'elle est l'intérêt de crypter un message avec sa clé privée, puisque tout le monde peut le décrypter avec la clé publique qu'on a largement diffusée. En fait à défaut de confidentialité, ça permet de s'authentifier parfaitement, en effet on est le seul capable de générer un message avec la clé privée et déchiffrable avec la clé publique. C'est en quelque sorte une sorte de signature digitale.

Certifications

Quand B reçoit une clé publique de A, il n'est pas sûr que ce soit réellement A qui l'ait envoyé. B a évidemment la possibilité de demander à A qu'il lui envoie sa signature, en la décryptant avec sa clé publique B pourra alors le confondre.
B et A ont encore une autre possibilité, A va faire authentifier sa clé publique par une autorité, qu'on appellera autorité de certification. Cette autorité va récupérer un document venant de A contenant par exemple une signature avec nom, prénom, email et la clé publique de A. L'autorité va certifier l'authenticité de ce document en le signant, ce document signé est le certificat de A. En pratique le certificat de A sera chiffré par l?'autorité de certification en utilisant la clé secrète de l'autorité. Le déchiffrement se fera en utilisant la clé publique de l'autorité de certification connue de tous.
En conséquence si on reçoit un certificat de A et qu'on arrive à le décrypter avec la clé publique de l'autorité de certification, et qu'on obtient donc la signature et la clé publique de A, c'est qu'on a bien affaire à A.

Un mot sur les clés

La clé est une valeur qu'on va utiliser dans un algorithme de cryptographie pour crypter ou décrypter un texte. La clé se caractérise par une taille exprimée en bits, plus le nombre de bits est important plus le risque que le texte soit déchiffré à notre insu est faible

Quelques algorithmes

Présentation

On distingue les algorithmes de gestion de clés, ceux qui servent à crypter la clé publique avec la clé de session et les algorithmes qui cryptent les messages avec la clé de session.

DES

DES (Data Encryption Standard) est un algorithme à clé privée qui a été créé par IBM en 1977. Il a été initialement développé pour les banques. Il est encore très utilisé.
On trouve aussi le triple-DES, c'est à dire qu'on applique l'algo DES trois fois, en utilisant donc trois clés privées différentes.
Le DES ainsi que le triple-DES sont libres de droits.
Sert à crypter les données.

RSA

RSA (Rivest Shamir Adleman nom de ses créateurs) a été créé en 1977, c?est un algorithme asymétrique à clé publique. Il est devenu un standard dans le domaine.
Pour info RSA n'est pas libre, le brevet logiciel appartient à la société américaine RSA Data Security, en d'autres termes pour qu'une appli puisse l'utiliser léditeur doit reverser des droits à la boîte. Néanmoins le 20 septembre 2000, RSA tombe dans le domaine public.
A noter que RSA repose sur une hypothèse, en clair il repose sur une théorie qui est peut être fausse, mais ça pour l'instant personne ne l'a encore démontré.
RSA n'est pas un algo pour crypter mais sert à la gestion des clés.

IDEA

L'algorithme IDEA (International Data Encryption Algorithm) est apparu en 1990, c'est un algorithme très résistants aux attaques, bien mieux que DES. Par contre IDEA est loin d'être libre, tout éditeur de logiciel voulant l'utiliser doit verser des droits à la société Ascom Systec.
IDEA sert à crypter les données.

DSS

Standard de signature numérique utilisant l'algorithme DSA. Le DSA est utilisé pour générer une signature digitale qui permet d'?authentifier l'origine d'un document. La clé privée est utilisée dans la génération de la signature et la clé publique dans la vérification de la signature.
Cet algorithme est libre de droits.

DH (Diffie Hellman)

Premier algorithme basé sur les clés publiques et privées inventé en 1976. Le RSA en est directement issu. Cet algorithme est aujourd'hui libre de droits.
DH n'est pas utilisé pour crypter des messages mais pour la gestion de clés.

CAST

IDEA est équivalent à CAST, il sert à crypter les données

Et la loi française dans tout ça

Présentation

Les logiciels de cryptage ne sont pas libres d'utilisation en France. Deux décrets fixent l'utilisation des moyens de cryptographie en France:

- le décret 99-200 du 17 mars 1999 sur les moyens de cryptographie dispensés de toute formalité préalable pour l'utilisateur(pas de nécessité de demander une autorisation)
- le décret 99-199 du 17 mars 1999 sur les moyens de cryptographie nécessitant un déclaration préalable auprès des autorités compétentes.

Avant d'aller plus loin, à chaque fois qu'on fait mention de clé dans ces décrets, on parle de la clé de session, celle qui sert à chiffrer les données.

Le décret 99-200

Sont libres d'utilisation les logiciels:
- les logiciels dont l'algo utilise une la clé inférieure à 40bits
- les logiciels dont l'algo utilise une clé inférieure à 128 bits à condition que: (soit une condition, soit l'autre)
    * l'éditeur du logiciel ait fait une déclaration
    * logiciels utilisés dans un cadre privé exclusivement

Le décret 99-199

Nécessitent une déclaration préalable pour l'utilisateur:
- les logiciels dont l'algo utilise une clé inférieure à 128 bits

Ce dernier décret porte donc sur les logiciels non déclarés par l'éditeur et utilisés dans un cadre non-privé (commercial, entreprise, ...).

Conclusion

A la lecture de ceci, il est interdit en France de se servir des logiciels qui utilisent une clé de session supérieure à 128bits. Dans le cadre privé, vous pouvez utiliser n'importe quel logiciel, déclaré ou non par l'éditeur, dès lors que la clé de session ne dépasse pas 128bits. Dans le cadre de l'entreprise, vous pouvez utiliser les logiciels commerciaux de cryptographie déclarés en France, vous pouvez trouver la liste sur le site du SCSSI.
Les restrictions ne concernent que la clé qui chiffre les données et donc garantit la confidentialité des données, par contre vous n'avez pas de limites pour tout ce qui concerne les fonctions de signature et d'intégriter des données.

Quelques liens intéressants

Si vous voulez en savoir plus sur la cryptologie, voici quelques liens intéressants sur le sujet, n'hésitez pas à m'en proposer d'autres si vous les jugez digne d'intérêt.

En français

www.multimania.com/marief Un très bon site sur l'histoire de la cryptographie à travers les siècles, en plus de l'histoire, on apprend le mécanisme de fonctionnement de RSA, DES, à visiter donc pour en savoir plus.

cryptologie.free.fr  ce site distille des infos intéressantes sur le sujet et des conseils sur l'utilisation des logiciels de cryptographie, avec ce site on a un bon panorama des outils logiciels fonctionnant principalement sous windows.

www.dmi.ens.fr/%7Epornin/faq-cle.html une très bonne doc sur les clés, à lire notamment le chapitre sur l'"énergie" à dépenser pour casser une clé.

www.scssi.gouv.fr Site officiel du Service Central de la Sécurité des Systèmes d'Information, c'est l'organisme en France dépendant directement du Premier Ministrer qui est en charge de toutes les affaires de cryptologie en France (agréement, expertise, ...). A lire sur le site, tout le rappel des textes de lois, la FAQ, les logiciels commerciaux de cryptographie autorisés en France.

En anglais

www.counterpane.com/crypto-gram.html site de référence en anglais si vous voulez avoir des infos détaillés sur les algo de cryptographie mais aussi sur l'actualité du moment dans le domaine. Ne pas rater la page de liens sur les cours en crypto qu'on peut trouver sur le net, une mine !

www.mach5.com/crypto/algorithms.html site avec une tonne de liens sur le fonctionnement des algos (malheureusement quelques liens morts).

csrc.nist.gov/cryptval/ d'autres infos détaillées sur les algos

Le cryptage par dissimulation

Il existe une autre méthode de cryptage qui ne fait appel à aucun algorithme (ou presque) et autrement plus subtile, c'est le cryptage par dissimulation, il consiste à cacher un message dans un texte en clair tout à fait anodin. Un exemple très célèbre est une lettre que Georges Sand, qui comme chacun le sait est une femme, adresse à Alfred de Musset :

Je suis très émue de vous dire que j'ai
bien compris l'autre soir que vous aviez
toujours une envie folle de me faire
danser. Je garde le souvenir de votre
baiser et je voudrais bien que ce soit là
une preuve que je puisse être aimée par
vous. Je suis prête à vous montrer mon
affection toute désintéressée et sans
calcul, et si vous voulez me voir aussi
vous dévoiler sans artifice mon âme toute
nue, venez me faire une visite. Nous
causerons en amis, franchement. Je vous
prouverai que je suis la femme sincère,
capable de vous offrir l'affection la plus
profonde comme la plus étroite en amitié,
en un mot la meilleure preuve dont vous
puissiez rêver, puisque votre âme est
libre. Pensez que la solitude où j'habite
est bien longue, bien dure et souvent
difficile. Ainsi, en y songeant, j'ai l'âme
grosse. Accourez donc vite et venez me la
faire oublier par l'amour où je veux me
mettre.

Alors ? Allez, c'est pas difficile, commencer à lire la première ligne puis sauter une ligne pour lire la suivante et ainsi de suite ;-)
 
 

[Retour page d'accueil FUNIX] [Retour haut de la page]