Archive

Archive for avril 2010

Logiciel libre, Open Source, GNU et autres joyeusetés.

Entre logiciel libre, Open Source, GNU, GPL, gratuiciel, etc, on a vite fait de se perdre. Pour ne pas perdre le Nord, et s’y retrouver un peu dans ce bazar, je vous propose de clarifier un peu le tout.

Pour commencer, qu’est ce que le logiciel libre ?

Le logiciel libre c’est un logiciel dont l’utilisation, l’étude, la modification, la copie et la diffusion sont autorisées sans contreparties.

schéma explicatif du logiciel libre

Pour garantir ces droits, en se basant le droit d’auteur, ces logiciels sont publiés sous des licences (autorisation unilatérale) dites libres : celles ci peuvent être de deux types : copyleft ou non-copyleft (par jeu de mot avec copyright). Une licence copyleft implique que ces droits soient préservés pour les logiciels dérivés. Une exemple populaire et bien connu est la licence GNU General Public License. Au contraire, la licence non-copyleft (comme la licence BSD par exemple) n’impose aucune restriction sur l’utilisation du logiciel, que ce soit vers des logiciels dérivés libres ou propriétaires.

Classification des licences

Par ailleurs, la liberté d’étude et de modification supposent implicitement d’avoir accès au code source du programme. Un logiciel libre est donc un logiciel Open Source.

Mais Open Source ne signifie pas seulement accès au code source : un logiciel définit comme Open Source doit répondre à 10 critères précis dont la libre redistribution, l’accès au code, la liberté de modification et de logiciels dérivés, la non restriction à un produit ou la neutralité technologique (vous trouverez la définition complète ici).

Mais alors où sont les différences entre logiciel libre et logiciel Open Source ?

Les différences sont faibles, voir techniquement infimes. Elles viennent historiquement d’une scission au sein de la communauté du logiciel libre, et donc d’une différence entre les définitions de la Free Software Foundation (crée par Richard Stallman autour du projet GNU) et de l’Open Source Initiative (autour du mouvement Open Source). Pour ne pas vous mentir, il s’agit en fait d’une belle petite guerre de paroisses.

Puisque on en parle, GNU c’est quoi ?

Pour rappel, le projet GNU est un projet de développement d’un système d’exploitation complet (type Unix) qui soit un logiciel libre. D’ailleurs, GNU est un acronyme signifiant GNU’s Not Unix.

Par opposition au logiciel libre, qu’est ce qu’un logiciel propriétaire ?

Un logiciel est dit propriétaire, ou privateur ou fermé si il ne respecte pas les 5 libertés de logiciel libre , à savoir utilisation, étude, modification, copie, diffusion.

Mais quel est le lien avec les logiciels gratuits et commerciaux ?

Et bien en fait, il n’y en a pas directement. De facto, l’accès aux sources, la libre utilisation, copie et diffusion font du logiciel libre un logiciel le plus souvent accessible gratuitement. On peut cependant rencontrer toutes les configurations : un logiciel libre dont l’accès (le support CD, clé USB, les services associés) est payant (par exemple la distribution RedHat de linux), un logiciel libre gratuit, un logiciel propriétaire gratuit (freeware), et une logiciel propriétaire et payant. Il faut bien comprendre que les concepts antinomiques sont libre/propriétaire (sur le terrain de la propriété intellectuelle et des libertés) et gratuit/payant (sur le terrain de la distribution et des aspects économiques), et que ceux ci ne se recoupent pas.

Pourquoi utiliser des logiciels libres ?

L’avantage du logiciel libre ne réside pas fondamentalement dans ses qualités techniques, mais avant tout dans les libertés qu’il permet. Le logiciel libre est, dans son aspect éthique, un bien commun crée dans l’intérêt général, et non pour servir des intérêts privés.

Au delà de cela, ce sont les communautés d’utilisateurs et de développeurs qui font la force d’un logiciel libre : ils assurent un suivi, des mises à jours, la sécurité avec la correction des failles et des bogues; il existe par ailleurs une large base d’utilisateur-testeur, aidant à l’amélioration du logiciel, et une relation utilisateur-développeur d’entraide. La force de cette communauté renforce la qualité technique du logiciel : plus de gens pour tester, vérifier, modifier, corriger et améliorer le code.

Une autre force des logiciels libres populaires (comme Mozilla Firefox, Thunderbird, et bien d’autres) est qu’ils sont le plus souvent disponibles sur de multiples plateformes (Windows, Mac OS X, GNU/Linux, etc).

Par ailleurs, dans la majorité des cas, les logiciels libres sont tournés vers les formats ouverts, qui ont une « vocation universelle » d’interopérabilité : plus de galère, entre vos différents ordis sous des OS différents si vous utilisez les mêmes programmes.

Mais comment les logiciels libres sont financés ?

Il faut aussi garder à l’esprit que le développement de logiciel à un coût : cela va s’en dire dans le cadre d’entreprises employant des programmeurs professionnels mais c’est aussi valable dans les cas où il s’agit de communautés de bénévoles. Dans ce dernier exemple de développement de logiciels libres, le fonctionnement des associations et des organisations, la promotion des produits, etc, ont un coût. Cela soulève de façon intéressante la problématique du modèle économique du logiciel libre et Open Source, et celui des SSLL (Sociétés de services en logiciels libres) : leurs modèles économiques sont avant tout liés à la notion de service comme la vente d’un savoir-faire et d’une expertise plutôt que à un droit d’usage sur un logiciel. Pour résumer le financement des logiciels libres se basent sur plusieurs aspects comme les services aux professionnels et aux particuliers (support, expertise, besoins spécifiques), les services en ligne, le mécénat, les bounties, la publicité et les dons.

Si le sujet vous intéresse et que vous voulez en savoir plus, je vous recommande de consulter le site de l’April (Association Pour la Recherche en Informatique Libre), association qui promeut et défend le logiciel libre.

Gérer son identité numérique sur internet

Après vous avoir parlé d’anonymat sur le web, voilà que je vais vous parler d’identité numérique.

Les deux notions sont loin d’être contradictoires, elles sont même complémentaires : à l’ère du numérique, il est tout aussi important de protéger vos informations personnelles et de maitriser des outils qui garantissent votre sécurité et vos libertés (anonymat, échange de fichiers, communications) que de pouvoir se promouvoir et partager (idées, tweets, photos, liens, CV, etc).

Pour cela, il faut gérer consciencieusement son identité numérique, c’est à dire choisir ce que l’on veut partager de sa vie privée et professionnelle, le circonscrire, et surtout choisir ce que l’on ne désire pas partager ou voir révéler aux yeux de tous. Cela peut vite relever de la quadrature du cercle si on ne fait pas preuve d’un peu de méthode.

Avant tout, vous devez identifier et cibler vos besoins : qu’est ce que je veux partager, pourquoi, et avec qui. Votre formation, vos activités, vous goûts, vos publications, vos relations, vos connaissances, vos réseaux, vos photos, etc, sont autant d’informations qui regroupées peuvent servir votre image. Cependant, elles peuvent aussi servir contre vous : le Figaro titrait en 2009 « Usurpation d’identité : plus de 210 000 victimes par an« . Plus encore, reliées entre elles, elles permettent de construire des graphes sociaux et relationnels, ce qui permet de décrire les positions sociales des individus et leur préoccupations : ce n’est pas sans intérêt marketing, commercial, voir policier (lire l’article du Monde ici).

Une fois identifiés vos besoins et cernées les limites de votre vie privée, choisissez vos canaux de diffusion. Blog, microblogging, réseaux sociaux, réseaux sociaux professionnels, sites de CV On Line, sites personnels, sites de photos, sites d’upload, serveurs de clés… Les moyens et les canaux sont nombreux, voir divers et variés : ils répondent à des besoins différents et sont souvent complémentaires.

Schéma résumant les différents supports de l'identité numérique sur le Web

Parmi les dizaines de comptes que vous possédez, je vous conseille d’en dresser une liste rigoureuse et de les relier entre eux. Une page centrale renvoyant vers toutes les autres est un point clé : par exemple, une page de blog qui renvoie vers toutes vos pages publiques. Cela permet à celui qui s’intéresse à vous (un internaute, un ami, un lecteur, un recruteur, votre patron, la DCRI …) de s’y retrouver, et cela vous permet de gérer l’information que vous diffusez. Par exemple, faites un tour sur Facebook, Twitter, LinkedIn, etc et vérifiez vos paramètres de confidentialité. N’y a t’il pas une photo de vous en train de sortir d’un bar à 4 pattes qui traine? Faites le ménage. Contrôlez votre information plutôt que de la subir.

Pour conclure, l’e-réputation est votre carte de visite de demain, il est bon de la soigner, sans cependant la travestir (vos informations seront vérifiées tôt ou tard, ou pas). Pour en savoir plus, sur la construction d’une identité numérique, je vous conseille l’excellent site You On The Web et son e-guide. Je vous recommande par ailleurs l’article du Monde « Vers une vie privée en réseau » de Jean-Marc Manach qui traite de la vie privée sur Internet.

Comment rester anonyme sur internet

Tout le monde laisse des traces sur internet . Entre autres, votre ip, votre dns, vos cookies, votre historique, votre navigateur et votre système d’exploitation sont facilement accessibles. Vous ne me croyez pas? Allez voir ici ou . Alors pour ce qui est du reste, il faudrait commencer à s’inquiéter…

Pour rester « relativement » anonyme, il existe deux solutions simples. Vous pouvez utiliser un proxy, ou bien utiliser Tor.

Utilisation d’un proxy :

Un proxy (serveur mandataire) est un relais entre vous et le serveur cible sur lequel vous voulez vous connecter. Il relaye vos paquets, et le serveur ne voit que lui. Vous pouvez en trouver une longue liste ici. Cependant, il garantit assez peu votre anonymat car les données sont le plus souvent transmises en clair, le proxy sait tout de vous (man in the middle) et en plus un simple code exécuté (du javascript par exemple) sur le client (vous) peut permettre de récupérer les données précédemment masquées (les entêtes que l’on veut cacher). Une démarche similaire peut consister à passer par un serveur VPN (virtual private network) mais ne modifie pas la liste des inconvénients. Pour plus d’information sur les VPN, je vous conseille ce site.

Pour éviter ces complications, vous pouvez par exemple utiliser Tor.

Logo de Tor

Utilisation de Tor :

Tor est un réseau de tunnels virtuels. Il permet de prendre un chemin détourné (routage sur plusieurs noeuds) pour se rendre sur un site web (i.e de dissimuler les entêtes, notre problème précédent) et en plus de crypter tous les paquets que vous envoyez entre vous et l’avant dernier noeud. En résumé, Tor vous protège de l’analyse de traffic. Il doit s’utiliser en complément d’outils gestion des cookies (qui peuvent vous trahir) par exemple le proxy web Privoxy. Cependant le simple fait d’installer Tor ne vous protège pas comme par magie. Il faut configurer les applications pour qu’elles utilisent Tor. Utiliser Firefox et TorButton est une bonne combinaison pour naviguer tranquille (cela va cependant désactiver les extensions javascript, flash, etc qui peuvent révéler des informations sur vous comme votre ip).

Pour en savoir plus sur Tor, je vous recommande le site officiel http://www.torproject.org/.

Bonne navigation.

Catégories :Sécurité, Web Étiquettes : , , , , ,

Comment crypter facilement ses données

La cryptographie et le chiffrage des données ne sont pas seulement réservés aux professionnels, aux entreprises, aux chercheurs ou aux geeks. Le chiffrage est accessible à tous, il est facile à mettre en oeuvre et facile à utiliser. Il permet de protéger ses données sensibles ou tout simplement votre vie privée. Il faut toujours garder à l’esprit qu’envoyer un mail via internet est comparable à envoyer une carte postale par la poste. Niveau confidentialité, c’est pas le top.

Pour chiffrer vos documents, il existe des solutions simples et efficaces, accessibles à l’utilisateur lambda. Je me propose ici de vous présenter quelques unes de ces solutions.

Le chiffrement symétrique par AES (Advanced Encryption Standard) :

AES est un algorithme de chiffrement symétrique, c’est à dire à clé secrète. Un logiciel très pratique, gratuit, et open source, et multiplateforme qui implémente l’algorithme AES en 256-bits est aescrypt. Il est téléchargeable ici sur le site de l’éditeur.

Une fois installé, il s’utilise très simplement en ligne de commande (non non ne prenez pas peur) via un terminal (mac, linux, unix) ou une invite de commande (windows). Rassurez vous le site propose aussi une petite interface graphique pour les frileux.

Pour chiffrer, il suffit de taper la commande suivante (-e pour chiffrer, -p pour le mot de passe, suivi du nom du fichier) :

aescrypt -e -p passwordcle secretsdevictor.rtf

On obtient alors un fichier chiffrer pour l’extension .aes :

secretsdevictor.rtf.aes

Pour déchiffrer, il suffit de taper la commande avec -d (pour déchiffrer) :

aescrypt -d -p passwordcle secretsdevictor.rtf.aes

Voilà vous savez désormais chiffrer un fichier. Pensez à transmettre la clé de votre fichier à son destinataire par un moyen sûr.

Vous pouvez aussi utiliser directement la librairie OpenSSL pour crypter/décrypter via AES. Il suffit de taper la ligne suivante sous un UnixLike disposant de la bibliothèque OpenSSL (avec -e pour crypter et -d pour décrypter).

openssl aes-256-cbc -e -a -salt -in secrets.rtf -out secrets.rtf.aes

Je vous conseille aussi de consulter l’article Wikipédia Mode d’opération (cryptographie) si vous êtes intéréssé par les différences entre ecb, cbc, etc (et aussi pour comprendre les faiblesses de ecb).

Chiffrement avancé d’un disque, d’une partition ou d’une partition système :

Un des meilleurs logiciels de chiffrement à la volée, multi-plateformes, gratuits et dont le code est accessible (mais non libre) est certainement TrueCrypt. Il permet de créer un disque virtuel chiffré, ou de chiffrer une partition ou un périphérique (disque dur externe, clé usb). Il supporte plusieurs algorithmes de chiffrement (AES, Serpent, Twofish). Si vous êtes rebutés par les exemples précédents et/ou que vous cherchez une solution pour le chiffrement à la volée de partitions, ce soft est fait pour vous. Vous pouvez le télécharger ici.

Logo de GnuPG

Le chiffrement asymétrique avec GnuPG (OpenPGP) :

GnuPG est un logiciel qui permet de transmettre des messages signés et/ou chiffrés. Il se base sur de la cryptographie asymétrique, i.e un principe de clé publique et de clé privée. En gros, je vous donne un cadenas ouvert mais je garde le clé. Lorsque vous m’envoyez un message, vous cadenassez le message, et moi seul peut l’ouvrir.

Vous trouverez tout le nécessaire pour installer GnuPG sur ce site. Celui ci peut s’utiliser en ligne de commande ou vous pouvez ajouter des extensions à vos clients mails pour intégrer directement GnuPG, par exemple Enigmail pour Thunderbird.

Une fois installé, vous devez générer les clés, avant de pouvoir chiffrer. Le plus simple encore c’est d’ouvrir un terminal (mac, linux) et taper :

gpg --gen-key

Vous devez ensuite spécifier le type de clé (par défaut (1) DSA and ElGamal) , la taille de la clé (1024, 2048 bits), la durée de validité de la clé, vos informations utilisateur (votre nom, qui servira d’identificateur pour la clé, votre adresse email et un commentaire) et enfin la passphrase (le mot de passe de votre clé). Pendant la génération de clés, faites autres choses, n’importe quoi (bougez la sourie, tapez au clavier, écoutez une chanson, ouvrez des fichiers), cela aide à la génération de nombres aléatoires.

Vous pouvez afficher les clés générées en tapant :

gpg --list-key

Vous devez ensuite communiquer votre clé publique à vos correspondants (via un serveur de clé PGP par exemple). Pour cela, vous devez l’exporter :

gpg --export --armor

Vous pouvez désormais recevoir des messages chiffrés, ou signer vos messages via votre client et les extensions ou en utilisant :

gpg --d message.asc (pour déchiffrer)
gpg -s -u victor -a fichierdumessage (pour signer en tant que victor)

Pour envoyer des messages chiffrés, vous devez récupérer les clés de vos correspondants et les ajouter à votre trousseau.

Pour importer la clé de Marc par exemple (fichier cleducopainmarc) tapez:

gpg --import cleducopainmarc

Enfin, après ce laborieux travail, vous pouvez désormais envoyer un message chiffré à Marc via votre client mail (Thunderbird, Evolution, Mail) à l’aide de leurs extensions ou en tapant :

gpg -r Marc -e -a messagepourmarc

Je vous rassure toute la partie génération et/ou importation de clés peut se faire via des interfaces adaptées à vos OS respectifs (par exemple pour mac vous pouvez installer la suite disponible ici).

Pour plus d’informations sur gpg, je vous conseille de lire le HowTo de Julien Francoz.

Premiers pas!

Cher lecteur, bonjour.

Ce blog a pour but de partager des astuces et des conseils liés à la sécurité informatique, à la protection des informations et de la vie privée sur le web et d’aider à la construction d’une identité numérique.

Catégories :Divers