[ Historique
|
Principes ( Algorithme
asymétrique à clé privée , Algorithme
symétrique à clé publique et privée , Signatures
digitales, Certifications ,Un
mot sur les clés) |
Quelques
algorithmes ( Présentation
, DES , RSA, IDEA
, DSS, DH,
CAST) | 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 ;-)