Chiffrement et Stéganographie

De Korben Wiki
Aller à : navigation, rechercher
To win a war.jpg


Arton2.png

Introduction

Le chiffrement consiste à protéger par cryptographie ses fichiers ou une partition de son disque dur, ou sa communication numérique (courriel, messagerie instantanée, téléphonie).

Citation de Philip Zimmermann, l'inventeur de PGP : "If privacy is outlawed, only outlaws will have privacy". En français: "Si l'intimité est déclarée hors-la-loi, seuls les hors-la-loi auront une intimité".

Dans un environnement post-orwellien où de nombreux États jusqu'ici qualifiés de démocratiques cèdent à la tentation d'une surveillance des échanges privés, la cryptographie est appelée à prendre une importance croissante. La prise de conscience par le plus grand nombre de la disparition du secret des communications privées peut entraîner une généralisation du chiffrement, y compris parmi les braves gens et pour les contenus non confidentiels, qui aurait pour effet collatéral de transformer le web en un magma chiffré et insurveillable (tout le monde cachette ses enveloppes depuis toujours, désormais on chiffrera aussi son courriel).

Un exemple en Belgique : Vos emails conservés deux ans (pour la justice et la police).

Voyez aussi l'article Mots de passe statiques.

Il est important d'avoir des notions en cryptographie quantique.


Dissimulation d'url

La plupart des proxies anonymes brouillent les URL avant de les transmettre, les soustrayant ainsi à un filtrage simple.

Outils


Chiffrement de fichiers

  • GPG (GnuPG) permet de chiffrer des fichiers.
    • Sous Ubuntu: un simple clic droit sur un fichier permet de le chiffrer, à condition qu'une paire de clefs publique/privée ait été créé. Il suffit d'entrer son mot de passe GPG. Tutoriel GPG pour Ubuntu en français, sur Ubuntu-fr.org.
    • Sous Windows: WinPT permet de faire de même, toujours à condition qu'une paire de clefs publique/privée ait été créé. Tutoriel WinPT pour Windows: en allemand ici, à venir en français.

Attention, PGP peut être cracké (est ce le cas pour GPG?):

Outils

Intégrer du chiffrement dans vos applications

"Keyczar is an open source cryptographic toolkit designed to make it easier and safer for developers to use cryptography in their applications. Keyczar supports authentication and encryption with both symmetric and asymmetric keys."

Traduction maison: "Keyczar est un kit d'outils de chiffrement open source conçu dans le but de rendre plus facile et plus sûre l'utilisation du chiffrement par les développeurs dans leurs applications. Keycsar permet l'authentification et le chiffrement à l'aide de clefs symétriques ou asymétriques."

Article KeyCzar, la boite à outil de Google pour aider les développeurs à intégrer du cryptage dans leurs applications du blog Korben.


Chiffrement de disque / clé USB / système

Il est possible de chiffrer des disques durs entiers (même les partitions système) :

Outils


Stéganographie

la stéganographie est l'art de la dissimulation: l'objet de la stéganographie est de faire passer inaperçu un message dans un autre objet.

Outils

Saurez-vous découvrir le contenu caché (sans chiffrement) dans l'image ci-contre ?

À noter : à côté des outils de stéganographie, il existe aussi des outils automatisés (et coûteux) de détection de données stéganographiques. Nul doute que la Haute Autorité de Détection des Opérations Potentiellement Interdites en disposera.


Chiffrement du courrier électronique

« Peut-être pensez-vous que le courrier électronique que vous recevez est assez légitime pour que le chiffrement ne se justifie pas. Si vous êtes vraiment un citoyen au dessus de tout soupçon, pourquoi n’envoyez-vous pas toujours votre correspondance papier sur des cartes postales ? Pourquoi ne vous soumettez-vous pas aux tests de consommation de drogue sur simple demande ? Pourquoi exigez-vous un mandat de perquisition pour laisser la police fouiller votre maison ? Essayez-vous de cacher quelque chose ? Si vous cachez votre courrier dans des enveloppes, cela signifie-t-il que vous êtes un [élément] subversif ou un trafiquant de drogue, ou peut-être un paranoïaque aigu ? Est-ce que les citoyens honnêtes ont un quelconque besoin de chiffrer leurs e-mails ? » Philip Zimmermann Source

À titre d'exemple, la version chiffrée et signée du paragraphe ci-dessus :

-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.12 (MingW32)

hQIOAxobf7OG6R7YEAgA6X1vMYbEzPN7T96+/nOtejPyexL6IZHAKBRotdQ7FHPu
RzKZElpM/b+KayEU8XmqdxcnsTi3ksGEDwxDWeoqF7jvCmzWJb2FlB6iXhtMVxi4
VtDPU6n/kymB2ms1HeOwnFy7+94tFBOXDdjEA1yWTyBDGgYSmfILtzsawoH/WgWb
FsQOUK+0B2EqIj3TFSspSlEQQGlB54LOKTtPKHfS9ign7CkPH/PF/TkyL/fkba8t
nnqyXI2X46FRJA5NNDqbDoiwV7oKG7VI7KmHWFFtAiSRI1XAhyGS/PouFjIKCGS2
CAMtqA4376fVsHfU8RB51gXMf91tYC5W0fHi46Q2tAgA61u8As0AsKt/XMf6PFy2
OIojr4yEEqeuZNGZ3ul1FqhkyD2h12eB6v1rU/L3FZKZvSwEUoH6CyA7xj02nvK2
mLd9cw3o3PbupNAcC+UlXiT/8KvcVwaxnHm3uFj2pH341LC8GqejXtPmzZ2Y+SJf
0IEOZ6BJPunKybNnPzs+FQY7OCE8/k6ctxC2BL0sYlbijkm1OLWoAQ3Ayqiel7AB
bbldiS79a5dAJW6VLaaXJE7cke2jMusvUJCiY82/UP+34OdpGC7Vdf5Anlotzxa0
kcBUaejtBpBBZaGKaxhA6JSEIq/pfg+1elGRc5Np4AqiQMkFAxZxHhfJAuHAVLVU
jtLpASjKprYwVzkX9ymCDXL7OoBjhEz0ZfYCfaehnK3JSxTvR1oALtmVxzG2igGS
Nz5nvVvmXgn4x2cpyTxXbkghZ0dMkTGclN1md8mFjcDTf5hlg6J9C7yuvIpOCAE/
bR4PnsGUTeFQyjSC44//Oi+FxyzCQzkMGNa2yHk/+hQPijZ7znjLHQEMZxrZDSx2
xjajnVU33UdhZuGig1Q7YZdU87qhjT+34PgcrG3WyeRS02XGvh86452dR5OBXCkO
DEwZNgbPJ1VOJkj05z+aPmYrn+k2Qndu3xrfKa+G6AJtIHpNkCAp4+yFsvSVPHlZ
ufNZWwHuRo7jv5o13Eyoo4E4EgCp/a/B8pt7R3/F2LZPbXMDxcCCVHP0SaI9Tt8o
dUktgC2/8GXbCHFkacsfr7iazdjXcjmgZUC/WorkAzg6Jb1JSF6ySkMW4t8vBdOH
wfS9BiyST3ziDSiSSt+87/vg8eyoqiIFkHp/Z39L8K0/7q0/kvlX+zssW/5Y2Li6
zxw9icra7a4nBYqbkSm9rPjZ+++q5G7O2oLQsQc6XM6yh8sCVD0wKWouqq6GPq1o
VqfXd9OP5mMvGP+t8PrSIhE7T2eKYrt2cxtkd1lx8tkPNaJK6XSkAN7iCcKAiWIB
XlBRrg8zvq4qhe1eZFJIMUEgNX2ipxIEB/BOwi9MqEDdSZF72hIx6dDB7i4QXBvB
OWXHYvfZInsSLaF5Jh7wAPnh/qYg72i3liIO3wYI/hxOvBNalbP4nSIoTfjq8tDu
3xWR1G/PKllePpqUVF8ZRQhuIMwnIfmuQKyvKqc3YsrygAn+Sqv6D9Mgb0xlzn0c
WwQuPA7Ey5TBw3lN5kFs
=5Ris
-----END PGP MESSAGE-----

Logiciels

  • Comment chiffrer vos e-mailsNB : ce document, qui date de 2006, est une référence très bien faite et très utile, mais il mentionne un produit qui a cessé d'exister. PGP Freeware 8.0 a fait place à PGP Desktop Home, vendu au prix de 91 €
  • GPG est une méthode de chiffrement et de signature de contenu basée sur une paire de clés publique/privée. Voir aussi les limitations de GPG.
  • WinPT (Windows Privacy Tray) est une application fonctionnant sous Windows qui permet de signer et/ou chiffrer le contenu du bloc-note ou un fichier en utilisant GPG.
  • TrustedBird, un fork de Thunderbird, créé par la gendarmerie nationale française, un peu dans la même logique que BitBox sorte de Firefox dans une machine virtuelle créé par le gouvernement allemand. Prudence dans les 2 cas, rien ne dit qu'il n'y a pas de discrète backdoor mise dedans par le gouvernement, même si le logiciel est libre, les binaires ne peuvent pas être constamment auditées ...

Extensions

  • Enigmail est une extension pour Mozilla Thunderbird qui permet d'utiliser facilement GnuPG pour chiffrer et signer ses courriels. Tutoriel pour les utilisateurs de Thunderbird sous GNU/Linux (Ubuntu en l'occurence). Tutoriel pour les utilisateurs de Thunderbird sous Windows.
  • Thunderbrige ThunderBridge est une extension pour Thunderbird, permettant de transmettre des courriels directement (par voie P2P) tout en contournant les serveurs de messagerie extérieurs. Il s'agit d'une extension pour le logiciel Thunderbird.
  • FireGPG est une extension pour Firefox qui vous permet de chiffrer ou signer les emails envoyés à partir d'un webmail. Il s'intègre parfaitement dans gmail (FireGPG a temporairement des problèmes de compatibilité avec Gmail ; une solution est annoncée pour fin août 2009). Tutoriel pour débuter avec. Autre tutoriel pour FireGPG. Attention: La dernière version fonctionnelle de cette extension, abandonnée par son auteur, est sauvegardée ici. Attention, il faut refuser les mises à jour: elles n'ont pas d'autre objet que de remplacer la version fonctionnelle par une version inopérante.
  • Autres extensions:
    • TorBirdy est un domaine dans lequel il a travaillé lui-même Jacob Appelbaum et comme on peut l'imaginer, nous allons prendre la totalité du trafic Thunderbird travers le réseau Tor, c'est à dire, nous pouvons faire les connexions anonymes pour préserver notre vie privée et secret de nos communications. Une fois que nous l'avons installé, lorsque nous écrivons un nouveau message, nous pouvons voir, dans le coin inférieur droit de la fenêtre, un message qui indique si l'envoi à travers Tor est activé (ou désactivé) de sorte que, si nécessaire, , juste avant d'activer l'envoyer toute communication. En outre, nous utilisons les contrôles réseau Tor pour tous les nouveaux messages sont publiés aussi bien pour les comptes de messagerie spécifiques à tous les comptes que vous avez configurés.
    • ShowIP, comme peut-être nous pouvons déduire de son nom, est une extension qui permet de voir directement l'adresse IP source du message que nous avons devant nous. Et ce que nous voulons voir l'adresse IP source d'un message électronique? Grâce à ces informations et les fonctionnalités qui sont inclus dans cette extension, nous pouvons savoir qui est responsable de cette adresse ou, par exemple, où il se trouve géographiquement ou comme un test traceroute. Attention: Lisez la politique de confidentialité du module car il envoie des informations!
    • Confirmez-Adresse est une extension qui est utile de garder à l'esprit pour s'assurer que les messages sont envoyés au bon destinataire. Quels sont les messages atteignent leur destinataire? Il n'est pas rare, à l'occasion, recevoir des messages qui ne sont pas pour nous, et que, cependant, viens à notre boîte de réception fruit de l'oubli, la hâte et fonctions Saisie semi-automatique. Avec l'idée que les destinataires des messages sont correctes, cette extension va demander une confirmation avant d'envoyer des messages et nous vous confirmerons les bénéficiaires de ceux-ci (avant qu'ils ne soient envoyés). Si nous voulons que cette même fonctionnalité, mais avec un peu moins de formalité, avec Check and Send insérer un avertissement avant d'envoyer n'importe quel message (nous rappelant de tout revoir avant de donner le bouton submit), mais, pour être vraiment efficace, il faut lire le message et faire ce que nous avons recommandé plutôt que de le contourner comme si nous étions un automate.
    • Identité Sélecteur d'extension peut être intéressant si vous gérez plusieurs comptes de messagerie à partir de notre client de bureau et, par exemple, il est arrivé à l'occasion que nous avons répondu à un message (ou ont envoyé un nouveau message) à partir d'un compte erroné (par exemple, nominatifs utilisant notre propre lieu d'utiliser un compte générique). Merci à cette extension lorsque nous allons à envoyer un nouveau message sera sélectionné en tant qu'étape préliminaire, le compte de messagerie à partir duquel envoyer (pour sûr que je expédier le compte correct).
    • Détecteur Spoof est une extension très utile pour nous avertir d'un e-mail de phishing ou malveillant car il nous aidera à détecter les cas d'usurpation des adresses mail, soit par courrier électronique spoofing. Cette extension permettra de vérifier si les messages que nous recevons sont, d'où ils disent qu'ils sont, c'est à dire, le serveur source avec le bloc de domaine qui disent procéder. Attention, au 13 Nov 2012, aucun commentaire n'a été fait sur ce module. Soyez donc méfiant à son sujet.

Source.

Services web

  • Mobrien propose un service en ligne d'envoi de courriels chiffrés. Aucune installation nécessaire, mais ça ne convient que pour de courts messages sans pièce jointe. (NB : ce service ne semble plus exister ce 25 décembre 2009)
  • LockBin est un service similaire (il vous faudra transmettre le mot de passe à votre correspondant par un autre canal).

Tutoriels

  • Explication sur le fonctionnement du chiffrement et des signatures (cas de RSA) pour la messagerie.


Cryptographie pour les téléphones mobiles

Les logiciels de cryptographie pour la téléphonie mobile se développent. En voici plusieurs:

  • Comment chiffrer ses communications téléphoniques ?: Si vous cherchez un moyen de sécuriser vos appels téléphoniques en les chiffrant, je vous invite à télécharger et installer la version beta de Discretio sur votre téléphone Android. Mise au point par la société française MBDSYS (salut Nikita !), cette application (non backdoorée par le FBI) est open source et gratuite. (...) Bien que cela ne concerne que les appels, la société compte bien faire évoluer son outil vers le chiffrement de nouvelles fonctionnalité comme les SMS, messages vocaux, les appels visio...etc.
  • Zfone de Philip Zimmermann (qui dirige le projet) est un logiciel NON libre, aujourd'hui centré sur la VOIP "classique" (sur PC). Une évolution pour la téléphonie mobile est envisagée.
  • D'autre part Symbian (filiale de Nokia) a annoncé dès 2007 avoir choisi la plate-forme PGP pour sécuriser les échanges par téléphonie mobile. Aucune suite concrète à ce jour.
  • Le projet sourceforge "mPGP", qui promettait beaucoup, est en hibernation depuis des années.

Chiffrement de SMS (ou "textos")

  • CryptoSMS est une application opensource (licence GPL) permettant d'échanger des textos chiffrés entre des téléphones mobiles disposant de J2ME (Java mobile). Les deux correspondants doivent avoir installé l'application. Il s'agit d'une cryptographie originale utilisant des clefs dérivées de courbes elliptiques. L'application utilise un carnet d'adresses caché distinct du répertoire général du téléphone. Liste des téléphones supportés
Traduction française de l'introduction du manuel d'utilisation :
CryptoSMS repose sur le concept de doubles clefs publiques/privées. Pour chiffrer un message à l'intention d'un destinataire, il vous faut disposer de sa clef publique. Sans cela, CryptoSMS ne vous permettra pas de lui envoyer un SMS. Ceci élimine le risque d'envoyer un SMS en clair en croyant l'avoir chiffré. Seule votre clef publique sera transmise en clair. Après importation de la clef publique d'un correspondant, tout SMS envoyé à son numéro sera automatiquement chiffré avant d'être émis.
La réception d'un SMS chiffré est similaire à la réception d'un SMS ordinaire : vous ne devez plus saisir un mot ou une phrase de passe. Le message chiffré sera automatiquement déchiffré au moyen de votre clef privée. La saisie de votre mot ou phrase de passe n'est requise qu'au démarrage de l'application ou après expiration du délai d'inactivité.
Cette version de CryptoSMS supporte la vérification d'empreinte pour authentifier les clefs publiques reçues.


  • Atelier "Confidences par sms" de La Cantine (uniquement pour les développeurs, regarder les "slides" pour voir ce qui est programmé sur l'écran durant la séance). Cet atelier propose l’implémentation de communications chiffrées sur réseau GSM, en commençant par les SMS. L’équivalent pour les communications vocales serait un plus, dont l’utilisation de l’Openmoko Freerunner en boitier dédié pourrait en faciliter la réalisation.

PGP/GnuPG pour Symbian

Sauf erreur, l'unique portage pour Symbian de la cryptographie PGP était l'application (aujourd'hui en déshérence) de Zenobyte. Elle fonctionnait sur les anciens communicateurs Nokia 9200, 9300 et 9500. Aucune mise à jour pour les versions actuelles (S60) de Symbian.

Les possesseurs de ces anciens communicateurs pourront trouver ici la dernière version publiée. Même si elle est aujourd'hui obsolète, cette application a eu l'immense mérite d'apporter la preuve que la cryptographie PGP est compatible avec les modestes ressources d'un terminal mobile.

Erreur lors de la création de la miniature : Fichier manquant
PGP for Symbian
Expérience en cours : Je teste l'utilisation d'une ancienne version MS-DOS de PGP en ligne de commande, installée sur un Nokia E90 (Symbian s60v3) avec l'émulateur s60DosBox. C'est assez acrobatique mais c'est faisable ça fonctionne. Si ça devient satisfaisant d'un point de vue pratique, je publierai un tuto ici.

Conclusion de l'expérience : Les limitations de la DosBox (voir discussion) ne permettent pas d'écrire des batches interactifs satisfaisants. Pas de véritable tuto donc, mais en attendant la publication d'une vraie application de cryptographie pour Symbian, il est démontré que l'on peut faire tourner pgp 2.6.3i sur une machine Symbian S60. Il faut pour cela :

  • Installer s60DosBox et ses binary dependencies
  • Installer par simple décompression PGP 2.6.3i dans un sous-dossier ad hoc ("PGP" par exemple) du dossier de la DosBox
  • Ajouter dans la section "autoexec.bat" du fichier "dosbox.conf" les lignes suivantes :
PATH = z:\;c:\pgp;
SET PGPPATH=C:\PGP
set tz=-9
  • Adapter le fichier "config.txt" de PGP en ajoutant ou en décommentant quelques lignes :
MyName = "votre nom"
Language = fr
CharSet = cp850
ArmorLines = 24
Armor = on          # Use -a flag for ASCII armor whenever applicable
TextMode = on       # Attempt to use -t option where applicable
ClearSig = off      # Use ASCII armor even for unencrypted signed messages
Verbose = 2         # Verbose diagnostic messages
ShowPass = on       # Echo password when user types it
Interactive = on    # Interactively prompt the user when adding keys (-ka)
EncryptToSelf = on  # Encrypt all messages with your own public key
TZFix = -9
  • Confectionner quelques batches basiques tels que :
ch.bat (chiffrer)
echo Chiffrer
echo Argument 1 : "Que chiffrer" Argument 2 : "Pour qui chiffrer"
echo Exemple : ch message.txt destinataire@email.com
pgp -e %1 %2
de.bat (déchiffrer)
echo Déchiffrer
echo Argument unique : "Que déchiffrer"
echo Exemple : de message.asc
pgp -d %1
si.bat (signer avec chiffrement)
echo Signer avec chiffrement
echo Arg1 = "Quoi" Arg2 = "PourQui" Arg3 = "ParQui"
echo Exemple : si message destinataire auteur
pgp -se %1 %2 -u %3
...etc. D'autres batches peuvent être construits sur ces modèles en se référant à la documentation pgpdoc1.txt et pgp­doc2.txt (four­nie avec PGP 2.6.3i).
  • Entretenir sur le PC un miroir du dossier PGP de la machine Symbian et y gérer ses trousseaux de clefs.
  • N'envisager que le chiffrement et le déchiffrement de fichiers de taille modeste (disons 100 Ko)
  • Renoncer à signer des documents, la DosBox ne sachant pas gérer la date et l'heure.
  • Les clefs de type "RSA Legacy" sont acceptées, mais pas les clefs plus récentes de type "DH/DSS" ou "DSA" (par exemple celles issues de PGP version 8.xx et ultérieures ou de GnuPG 2.xx). Si vous avez une de ces clefs, il faudra en créer une du type requis au moyen de PGP 2.6.3i et la certifier par votre clef principale. C'est tant mieux comme ça : en cas de compromission de la clef réservée à votre confidentialité déportée sur un terminal mobile, votre clef principale ne sera pas affectée.
  • Bien que cette astuce constitue un progrès appréciable pour l’univers Symbian, qui manque dramatiquement de solutions efficaces en matière de cryptographie et d’authentification, elle n'est qu'une solution d’attente jusqu’à l’apparition d’outils modernes et complets : ce que veulent les utilisateurs, c’est une solution complètement interopérable avec les normes actuelles, c’est-à-dire les algorithmes à haute robustesse (AES, DSA etc.) auxquels RSA a laissé la place, et complètement intégrée au système d’exploitation Symbian, avec possibilité d’appel direct à partir des applications de courriel, de messagerie instantanée, de SMS et de bureautique.

Lecture très utile (en anglais facile)

PuTTY for Symbian OS

Article déplacé => Authentification SSH par clef RSA


Chiffrement de contenu

SSL

Voir HTTPS et SSL/TLS et Auto-signer son certificat SSL. Attention SSL n'est pas parfait bien que ce soit une solution sécurisée.

JCryption - Chiffrer des formulaires sans SSL

Pour chiffrer l'envoi de formulaires sur un site web, il n'existe jusqu'à présent que les certificats SSL.

Mais une librairie javascript baptisée JCryption permet de chiffrer un formulaire en RSA2048 bits sans utiliser de SSL. Il n'y a pas la couche authentification, mais la couche chiffrement est déjà un bon début. Le script est basé sur JQuery et d'autres librairies RSA. Jscryption

Chiffrer un serveur et un site internet

Outils

  • La carte à puce de la Fellowship: La carte à puce de la Fellowship a un design unique qui est personnalisé pour vous avec votre nom et votre numéro de membre de la Fellowship. En outre, il y a trois sous-clés OpenPGP sur la carte :
    • une clé de signature, utilisée pour signer les courriels, documents et autres données ;
    • une clé de chiffrement utilisée pour déchiffrer les courriels et données entrants ;
    • une clé d'authentification, non employée pour les actions habituelles de GnuPG, qui permet d'utiliser les fonctions de logiciels tels que SSH ou des modules PAM avec la carte à puce afin de sécuriser vos connexions locales et distantes.