|
« Pour vivre heureux, vivons cachés » La stéganographie est l'art de la dissimulation. Les méthodes :
Point fort : applicable à de nombreuses situations. Point faible : réside dans la transmission et la diffusion de l'information. Source : Stéganographie |
OutGuess est un outil de stéganographie qui permet de cacher l'insertion d'une information. Installation d'OutGuess :
Insérer un message secret dans une image :
|
|
Comparaison visuelle entre l'image originale et de l'image stéganographiée :
Récupérer le message secret inséré dans l'image :
$ outguess -r imgOutguess-out.jpg secret.txt
Reading imgOutguess-out.jpg....
Extracting usable bits: 28973 bits
Steg retrieve: seed: 201, len: 16
$ cat secret.txt
Message secret.
Comparaison de la taille des images :
$ ls -lh imgOutguess* | awk '{ print $5,$9 }'
57K imgOutguess.jpg
29K imgOutguess-out.jpg
Source : OutGuess http://www.outguess.org/
.
La cryptologie est la science du secret.
Alice et Bob (R. Rivest, 1978) cherchent à communiquer de manière sûre en utilisant un cryptosystème , composé de :
Ève joue le rôle d'attaquant :
Rappel :
La cryptographie est la science du chiffrement des messages.
Le chiffrement des messages a pour but d'assurer :
Les champs de la cryptographie :
Source : Cryptographie http://fr.wikipedia.org/wiki/Cryptographie
.
La cryptanalyse est la science du décryptage d'un cryptogramme.
Les champs :
Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) consiste à utiliser la même clé pour le chiffrement et le déchiffrement.
Point fort : rapidité du chiffrement et du déchiffrement.
Point faible : l'échange des clés et le nombre de clés.
Pour un groupe de personnes utilisant un cryptosystème à clés secrètes, il est nécessaire de distribuer clés.
Pour un groupe de 10 personnes, on obtient 45 clés.
Chiffrement de transposition, chiffrement par permutation ou anagramme.
Un alphabet de taille .
Un message de taille .
Une clé .
Un cryptogramme de taille .
Un chiffrement par transposition de longueur de bloc induit permutations.
permutations. permutations.
Cryptanalyse : attaque à texte clair connu (KPA, Known-Plaintext Attack).
Constantes du chiffrement par transposition :
Au Vème s. av. J.-C., les Spartiates utilisent la scytale. Un exemple d'utilisation de la scytale : Le cryptogramme :
Cryptanalyse :
Finalement, on obtient le texte clair :
Source : Scytale |
|
Les types de chiffrement par substitution :
Le chiffrement mono-alphabétique remplace chaque lettre du texte clair par une autre lettre de l'alphabet.
Une clé est un entier non nul.
En arithmétique modulaire, pour tout , on a :
Cryptanalyse du chiffrement mono-alphabétique :
Pour un alphabet de lettres, on dispose de translations.
À l'origine, le chiffre de César utilise un alphabet de 31 caractères (l'alphabet latin, l'espace, la virgule, le point et le point d'interogation) et la clé secrète . Un exemple de chiffre de César : La clé secrète . Chiffrement d'un texte clair en cryptogramme :
Déchiffrement du cryptogramme :
|
|
Graphe d'analyse de fréquence La clé secrète : . Source : Fréquence des lettres |
Le chiffrement poly-alphabétique remplace chaque lettre du message par une autre lettre d'un alphabet indiqué par une lettre de la clé.
Point fort : l'analyse de fréquence est inefficace.
Point faible : difficulté de son utilisation manuelle.
Un alphabet de taille .
Un message de taille .
Une clé de taille .
Un cryptogramme de taille .
La suite des occurrences des lettres de .
Pour tout , on a :
En 1586, le chiffre de Vigenère est découvert; et sera cassé par C. Babbage en 1854. Un exemple du chiffre de Vigenère : La clé secrète : clesecrete Chiffrement d'un texte clair en cryptogramme :
Déchiffrement du cryptogramme :
Note : l'agent Clarisse Starling devine l'anagramme « sulfate de fer » :) |
|
Méthode | Test de Kasiski | Test de Friedman |
---|---|---|
1 déterminer le type de chiffrement | ok | |
2 déterminer la taille de la clé | ok | ok |
3 déterminer la clé | ok | |
4 vérification du résultat du déchiffrement |
Attaque par force brute : on a possibilités.
Le test de Kasiski permet de déterminer la taille de la clé . Le test de Kasiski suppose que deux n-grammes identiques du texte clair seront chiffrés avec la même partie de la clé, lorsque la distance entre ces n-grammes est . La taille de la clé est un diviseur du des distances entre deux n-grammes identiques, avec . Méthode :
|
Exemple d'un calcul de distance :
|
KQOWE FVJPU JUUNU KGLME KJINM WUXFQ MKJBG WRLFN FGHUD WUU MB SVLPS NCMUE KQC TE SWR EE K OYSS IWCTU AXYOT APXPL WPNTC GOJBG FQHTD WXIZA YG FFN SXCSE YNCTS SPNTU JNYTG GWZGR WUU NE JUUQE APYME KQHUI DUXFP GUYTS MTFFS H NUOC ZGM RU WEYTR GKMEE DCTVR ECFBD JQCUS WVBPN LGOYL SKMTE FVJJT WWMFM WPNME MTMHR SPXFS SKFFS T NUOC ZGMDO EOY EE K CPJR GPMUR SKHFR SEIUE VGOYC WXIZA YG OSA ANYDO EOYJL WUNHA MEBFE LXYVL WNOJN SIOFR WUCCE SWKVI D GMU C GOCRU WGNMA AFFVN SIUDE KQHCE UCPFC MPVSU DGAVE MNYMA MVLFM AOYFN TQCUA FVFJN XKLNE IWCWO DCCUL WRIFT W GMU S WOVMA TNYBU HTCOC WFYTN MGYTQ MKBBN LGFBT WOJFT WGNTE JKNEE DCLDH WTVBU VGFBI JG |
Toutes les distances sont divibles par . |
Le test de Friedman repose sur la fréquence des lettres.
Il donne des informations sur :
L'indice de coïncidence est la probabilité d'obtenir deux lettres identiques.
L'indice de coïncidence d'un message :
Approche probabiliste : pour chacune des lettres de l'alphabet , la probabilité d'obtenir deux lettres identiques est la probabilité d'obtenir l'une d'entre elle est , puis la probabilité d'obtenir de nouveau cette lettre .
Approche combinatoire : pour chacune des lettres de l'alphabet , il existe façons de choisir 2 lettres identiques parmi , et il existe façons de choisir 2 lettres parmi . Finalement, la probabilité d'obtenir deux lettres identiques .
L'indice de coïncidence d'une langue :
où la probabilité d'occurrence de la lettre doit être connue. La probabilité d'obtenir deux fois une même lettre est .
; ; ;
Le nombre de paires de lettres chiffrées avec la même lettre de la clé :
Il existe choix pour la première lettre, il reste choix pour la seconde lettre; aussi chaque paire de lettre a été comptée 2 fois. Sinon, on peut partir de .
Le nombre de paires de lettres chiffrées avec une lettre différente de la clé :
Il existe choix pour la première lettre, il reste choix pour la seconde lettre; aussi chaque paire de lettre a été comptée 2 fois. Sinon, on peut partir de : on a .
Le nombre de paires de lettres dans un texte :
Le nombre de paires de lettres identiques dans un texte :
Finalement, on obtient l'indice de coïncidence poly-alphabétique :
Si l'IC du cryptogramme est peu différent de l'IC du texte clair, alors le chiffrement est une transposition ou est mono-alphabétique; car la fréquence des caractères est conservée : . Si l'IC du cryptogramme est très différent de celui du texte clair, alors il est vraisemblable que le chiffrement soit poly-alphabétique : . A.N. : et . |
|
et A.N. : et |
|
Création d'une matrice de dimension :
|
Pour , on a donc très probablement. |
Supposons que nous connaissons la taille de la clé …
Pour trouver la clé :
La machine Enigma est inventée en 1918 par A. Scherbius. Les cryptologues britanniques, dont Alan Turing, construisent la Bombe dont l'objectif est de casser les chiffres d'Enigma. Points forts : nombre de clés presque infini, et la réversibilité. Points faibles : recherche de bigrammes, de mots probables, bulletin météo, une unique clé pour un réseau. Enigma et UNIX : la commande
Source : Cryptanalyse d'Enigma |
|
Complexité théorique d'un mot de passe de longueur avec un alphabet de taille :
La robustesse d'un mot de passe :
Comparatif entre la complexité d'un mot de passe et la taille d'une clé :
l | N | Clé | Complexité | Commentaire de l'ANSSI |
---|---|---|---|---|
8 | 70 | 49 | très faible | taille usuelle |
12 | 90 | 78 | faible | taille minimale pour des mots de passe ergonomiques. |
16 | 36 | 82 | moyen | taille pour des mots de passe plus sûrs. |
20 | 90 | 130 | fort | force équivalente à la plus petite taille de clé de l’algorithme AES (128 bits). |
Source : Calculer la ’force’ d’un mot de passe http://www.securite-informatique.gouv.fr/gp_article728.html
.
1 Création : choisir une méthode et une phrase
2 Étendre l'alphabet puis associer le mot de passe à un accès
3 Règles d'utilisation :
Données aléatoires : nombre , ; OEIS (On-Line Encyclopedia of Integer Sequences, |
|
« Sésame, ouvre-toi ! » JTR (John The Ripper) est un outil permettant aux administrateurs système de trouver les mots de passe faibles. La commande Elle utilise 4 modes dont les principaux sont :
Source : John the Ripper password cracker |
|
Johnny est une interface graphique pour John The Ripper.
Installation de Johnny :
$ wget http://openwall.info/wiki/_media/john/johnny_1.1.3_i386.deb
$ sudo dpkg --install johnny_1.1.3_i386.deb
L'interface graphique Johnny :
Source : Johnny - GUI for John the Ripper http://openwall.info/wiki/john/johnny
.
GnuPG (GNU Privacy Guard) est un outil permettant de sécuriser les communications et le stockage de données. Installation du paquet
Pour chiffrer le fichier
Pour déchiffrer le fichier
Source : GPG |
|
GPA (Gnu Privacy Assistant) est une interface graphique utilisateur pour GnuPG.
Installation de GPA :
$ sudo apt-get install gpa
L'interface graphique GPA :
Source : GPA http://www.gnupg.org/related_software/gpa/index.fr.html
.
La cryptographie asymétrique, ou cryptographie à clé publique, est fondée sur l'existence des fonctions à sens unique et à brèche secrète.
Les fonctions à sens unique ("clé publique") sont telles qu'une fois appliquées à un message, il est extrêmement difficile de retrouver le message original.
L'existence d'une brèche secrète ("clé privée") permet cependant à la personne qui a conçu la fonction à sens unique de déchiffrer facilement le cryptogramme grâce à un élément d'information qu'elle possède : la clé privé.
Point faible : l'échange de la clé publique sur un canal non sécurisé.
Pour se prémunir contre ce risque on fait généralement appel à une infrastructure à clés publiques.
L'algorithme RSA (1975) :
L'algorithme RSA repose sur une fonction a sens unique ou plutôt une fonction très difficilement réversible.
Facile :
Difficile : où .
La taille des clés RSA devraient aujourd'hui être au minimum de 1024 bits. En 2005, le nombre RSA-200, un nombre de 663 bits a été factorisé.
OpenSSL est une boîte à outils qui implémente les protocoles Secure Sockets Layer (SSL v2/v3) et Transport Layer Security (TLS v1); c'est aussi une librairie dédiée à la cryptographie. La bibliothèque permet de réaliser des applications client/serveur sécurisées s'appuyant sur SSL/TLS. La commande en ligne (
Source : OpenSSL: The Open Source toolkit for SSL/TLS |
|
CACert Créer un compte CACert (http://www.cacert.org). Enregistrer son nom de domaine. La clé privée RSA et le certificat CSR Créer une clé privée RSA (Rivest, Shamir et Adleman)
Le certificat X.509 Rendez-vous ensuite sur votre compte CACert, et cliquez sur
CACert demande alors de confirmer la demande de certificat pour le domaine. Enfin, CACert envoie, sur la page Web et par email, le certificat X.509 :
C’est le certificat Vérifier l’information du certificat X.509 :
Le certificat PEM (Privacy Enhanced Mail) La dernière étape consiste à créer un fichier d'extension On récupére la clé privée RSA non protégée :
On concatène la clé privée RSA non protégée et le certificat :
Source : The Open–source PKI Book
|
|
XCA (X509 Certification Authority) est une interface graphique utilisateur pour la création de clés RSA, DSA et ECC, les certificats, les signatures, les listes de révocations.
Installation de XCA :
$ sudo apt-get install xca
L'interface graphique XCA :
Source : XCA http://xca.hohnstaedt.de/
.