dimanche 10 janvier 2010

Protéger votre clef USB avec une carte à puce

Nous avons vu dans l'article précédent qu'il était possible de protéger sa clef USB en encryptant les données stockées sur la clef en utilisant un mot de passe.

Le mot de passe correspond à une authentification à 1 facteur (ce que je sais). Mais il est aussi possible de renforcer cette authentification en une authentification à 2 facteurs (ce que je possède et ce que je sais). Comment? Et bien tout simplement en utilisant une carte à puce.
Avec une carte à puce pour s'authentifier il est nécessaire d'avoir la carte à puce (ce que je possède) et de connaître le PIN code (ce que je sais). Ce type d'authentification correspond à ce que l'on appelle une authentification forte.
Dans l'article précédent nous avions utilisé TrueCrypt. Eh bien, TrueCrypt permet également d'utiliser une carte à puce à condition que l'on puisse communiquer avec elle en utilisant le protocole PKCS#11.



Qu'est-ce que PKCS#11?

PKCS#11 est une API définissant une interface générique pour périphérique cryptographique. La carte à puce est un périphérique cryptographique et les fabricants de carte ont implémenté cette API pour communiquer avec leurs propres cartes.

C'est la carte à puce de Gemalto (et plus précisément la carte .NET) que nous allons utiliser pour nous authentifier avec TrueCrypt.


Que faire pour communiquer avec la carte à puce Gemalto .NET en PKCS#11?

Il est nécessaire de se procurer une carte à puce (voir le site Web Store Gemalto à l'adresse suivante: http://store.gemalto.com/)

Puis on doit installer la librairie PKCS#11 que l'on peut télécharger à l'adresse suivante:
.NET PKCS#11 Library for Windows OS. Vous trouverez également à l'adresse suivante une documentation qui décrit comment utiliser la carte .NET dans un environnement Windows en utilisant PKCS#11 (Gemalto .NET Smart Cards PKCS#11 Library for Windows User Guide).

La librairie PKCS#11 est stockée sur la clef USB. Ce qui nous évite de devoir installer la librairie PKCS#11 sur chaque machine.

Comment paramétrer TrueCrypt pour utiliser une carte à puce ?
Comme dans l'article précédent, le fichier "protégé" est stocké sur la clef USB.


Vous trouverez ci-dessous les différentes étapes à suivre pour configurer TrueCrypt:
  • Settings / Security Tokens pour ajouter un accès PKCS#11à la carte à puce. Il est nécessaire de préciser le chemin permettant d'accéder à la librairie PKCS#11 de la carte Gemalto .NET

  • Volume password. On doit sélectionner "Keyfiles" pour permettre l'utilisation de la carte à puce. Le choix du mot de passe est alors facultatif.

  • Keyfiles... / Generate Random Keyfile... permet de générer un fichier au contenu aléatoire que nous allons ensuite stocker dans la carte à puce. C'est ce fichier qui sera nécessaire pour ouvrir le disque "protégé". L'accès à ce fichier ne sera permis que par la saisie d'un code PIN.

  • Keyfiles... / Add token Files permet de stocker le fichier sur la carte à puce. Dans notre cas le nom du fichier est smartcard_keyfile. Ce fichier doit ensuite être sélectionné pour apparaître dans la liste Keyfile sous la forme token://slot/0/file/smartcard_keyfile.

Comment utiliser votre disque "protégé" avec PStart?

Vous trouverez ci-dessous les différentes étapes à suivre pour configurer PStart:

  • Ouverture de votre disque "protégé" par carte à puce en utilisant les commandes en ligne de TrueCrypt. Il est nécessaire de configurer PStart pour ouvrir le disque "protégé" en utilisant la commande en ligne de TrueCrypt suivante:

TrueCrypt\TrueCrypt.exe /q /v smartcard_container /e /k token://slot/0/file/smartcard_keyfile /tokenlib \TrueCrypt\PKCS114NET\gtop11dotnet.dll

avec:

/v smartcard_container donne le nom du fichier "protégé" correspondant au disque

/tokenlib indique l'emplacement de la librairie PKCS#11 stockée sur la clef USB

/k indique l'emplacement du keyfile appelé smartcard_keyfile et stocké sur une carte à puce

Pour plus d'informations sur la configuration de PStart vous pouvez vous référer à l'article suivant: Transformer votre clef USB en bureau "mobile"! .

  • Saisie du PIN code pour permettre l'accès au disque "protégé"

  • Fermeture de votre disque "protégé"

Il est nécessaire de configurer PStart pour fermer le disque "protégé" en utilisant la commande en ligne de TrueCrypt suivante:

TrueCrypt\TrueCrypt.exe /q /d /f /s

Note: TrueCrypt en mode portable nécessite que l'utilisateur ait les droits "administrateur" sur sa machine. L'alternative consiste à installer TrueCrypt directement sur la machine de l'utilisateur.

Source: TrueCrypt Encryption Software est téléchargeable sur http://www.truecrypt.org/downloads. PStart est téléchargeable sur http://www.pegtop.de/start/.

dimanche 3 janvier 2010

Encrypter vos clefs USB avec TrueCrypt

Si comme moi vous transportez des informations privées voire confidentielles sur votre clef USB, vous allez aimer ce que nous propose TrueCrypt: protéger le contenu de votre clef USB en l'encryptant.



L'encryptage de votre clef peut s'avérer très utile en cas de perte de votre clef, ou dans le cas où vous connectez votre clef sur une machine corrompue, ou bien dans le cas où tout simplement vous prêtez votre clef USB à un collègue de travail pour lui transmettre des informations, mais vous ne souhaitez pas qu'il voit vos informations confidentielles.


Comment faire pour encrypter votre clef USB?

Grâce à TrueCrypt nous allons créer un fichier sur votre clef USB qui sera vu par notre ordinateur comme un disque. Vous pourrez ainsi copier, supprimer vos fichiers confidentiels sur ce disque "protégé". Bien entendu l'accès au disque ne sera possible qu'à partir du moment où vous aurez saisi votre mot de passe.


Quelles sont les principales étapes de la configuration de votre disque "protégé"?
  • Copie de TrueCrypt sur votre clef USB (version portable de TrueCrypt)

Vous pouvez télécharger TrueCrypt et choisir l'option d'extraction des fichiers sur votre clef USB au lieu de choisir l'option d'installation. Vous pouvez alors lancer TrueCrypt en mode portable en exécutant "TrueCrypt.exe".

  • Création du fichier sur votre clef USB



  • Choix de la méthode d'encryptage


  • Choix du mot de passe


  • Association de votre fichier à un disque de votre ordinateur

Il est nécessaire de sauvegarder le fichier "protégé" dans le répertoire d'installation de TrueCrypt (ici le répertoire d'installation est TrueCrypt). Dans la suite le fichier "protégé" est nommé "fichier_encrypte".


Comment utiliser votre disque "protégé" avec PStart?

  • Ouverture de votre disque "protégé" en utilisant les commandes en ligne de TrueCrypt

Il est nécessaire de configurer PStart pour ouvrir le disque "protégé" en utilisant la commande en ligne de TrueCrypt suivante:

TrueCrypt\TrueCrypt.exe /q /v fichier_encrypte /e

Pour plus d'informations sur la configuration de PStart vous pouvez vous référer à l'article suivant: Transformer votre clef USB en bureau "mobile"! .

  • Saisie du mot de passe

  • Fermeture de votre disque "protégé"

Il est nécessaire de configurer PStart pour fermer le disque "protégé" en utilisant la commande en ligne de TrueCrypt suivante:

TrueCrypt\TrueCrypt.exe /q /d /f /s



Note: TrueCrypt en mode portable nécessite que l'utilisateur ait les droits "administrateur" sur sa machine. L'alternative consiste à installer TrueCrypt directement sur la machine de l'utilisateur.


Source: TrueCrypt Encryption Software est téléchargeable sur http://www.truecrypt.org/downloads. PStart est téléchargeable sur http://www.pegtop.de/start/. Merci à G. (alias glando) pour l'idée d'utiliser les commandes en ligne de TrueCrypt.

dimanche 13 décembre 2009

Le code source Java en libre service!

Si vous pensez que votre code Java est toujours obfusqué (et bien obfusqué) et que de toutes les façons on y trouve jamais d'informations confidentielles, alors cette article n'est pas pour vous.
Sinon, vous trouverez peut être dans cet article quelques informations intéressantes.

Tout d'abord un bref rappel!


Le reverse engineering est une technique permettant de reconstituer le code source d'une application à partir de sa forme compilée telle que livrée à ses clients par un éditeur. La possession du code source permet de connaître le fonctionnement précis d'une application.


Une personne malveillante peut grâce à cette technique connaître les algorithmes utilisés par son concurrent et lui voler ses secrets. Outre les algorithmes, les identifiants de connexion à des ressources (bases de données, annuaires...) sont là aussi accessibles, d'où le risque de vol de mot de passe et d'accès frauduleux à des ressources protégées.


Face aux risques liés au reverse engineering quelles techniques permettent de cacher le code source d'une application ? L'une d'elles est l'obfuscation qui transforme le code source avant compilation de manière à le rendre illisible pour l'être humain.

L'aspect général du code source d'une application peut être obfusqué de la manière suivante:


  • renommage de tous les identifiants

  • suppression des commentaires

  • élagage des déclarations d'API non utilisées

  • suppression des règles de style (comme l'indentation)

  • cryptage des chaînes de caractères pour cacher leur valeur.


Démonstration par l'image au travers d'un exemple... à suivre (plus ou moins)!





Voici quelques obfuscateurs (c'est une liste non exhaustive):




Le décompilateur Mocha peut être téléchargé ICI.


Le décompilateur Java Sothink peut être téléchargé ICI.




A bientôt...

dimanche 6 décembre 2009

Transformer votre clef USB en bureau "mobile"!

L'objectif de cet article est de vous montrer comment transformer votre clef USB en bureau mobile. Mais qu'est-ce qu'un bureau mobile? C'est la possibilité d'installer sur votre clef USB vos applications préférées et ainsi de pouvoir les utiliser sur n'importe quel ordinateur.


Cette approche est dans le même esprit que le "cloud computing" dans la mesure où elle vous permet d'accèder à vos applicatifs préférés à tout moment (je sais la comparaison est cavalière et j'espère que les puristes me pardonneront ce raccourci). Tandis que le "cloud computing" met à votre disposition les applications sur internet (Word, Photoshop,...), votre clef USB, transformée en bureau mobile, vous permet également d'accèder à vos applicatifs préalablement installés sur votre clef.


La premier application qui vient à l'esprit est le Single Sign On, i.e. la possibilité de stocker vos associations dans un applicatif sécurisé par un mot de passe. Vous pouvez ainsi accèder à vos sites web favoris sans avoir à entrer l'URL, le nom de l'utilisateur et le mot de passe à chaque session. Parmi les nombreux applicatifs qui permettent cette fonctionnalité on trouve Roboform et Keypass. Dans notre vidéo nous décrivons l'installation et l'utilisation de Roboform.


Mais il existe de nombreux autres applicatifs disponibles dans des domaines très variés. Certains de ces applicatifs se trouvent sur le site PortableApps. Dans notre vidéo nous installons et configurons PStart et FirefoxPortable. PStart permet de lister les applications installées sur votre clef USB et de choisir celle que vous souhaitez exécuter. Quant à FirefoxPortable, c'est la version "légére" de Firefox qui vous permet d'utiliser votre propre browser pour surfer sur internet avec vos favoris et vos plug-ins.


La cerise sur le gâteau est de pouvoir lancer automatiquement votre application préférée dés l'insertion de votre clef USB. Mais cette fonctionnalité est parfois désactivée en entreprise et disparaît totalement avec l'arrivée de Windows 7 (pour des raisons de sécurité: cf les articles du blog à ce sujet "Plus d'Autorun dans Windows 7...!" et "La clef USB: le maillon faible ? ").


La solution consiste à installer l' "USB Grabber" (outil gratuit proposé par Prox-IA) qui permet de configurer les applicatifs à lancer à l'insertion de la clef USB. "USB Grabber" permet également de créer des raccourcis sur votre bureau. La vidéo nous montre l'installation et la configuration d' "USB Grabber".



On ne peut parler de mobilité et des clefs USB sans parler du format U3.



L'U3 ou Smart Drive est un format de clé USB comprenant une plate-forme logicielle spéciale qui permet aux développeurs d'écrire des applications spécialement conçues pour fonctionner depuis une clé de ce type. Une application U3 est dite portable car elle peut être utilisée sur différents ordinateurs sans nécessiter une installation sur chacun d'entre eux : le programme ainsi que ses données et sa configuration sont stockés sur la clé et non sur les ordinateurs hôtes.

SanDisk et M-Systems ont créé un mini-environnement avec une sorte de menu de démarrage appelé LaunchPad qui ne fonctionne que sous Windows. Celui-ci permet aux utilisateurs de lancer les applications installées sur la clé et de configurer leur « clé intelligente ». Un site web dédié aux clés U3 permet aux propriétaires d'une de ces clés de télécharger de nouvelles applications portables.

Les clés U3 sont compatibles avec Microsoft Windows Vista à partir de la version 1.4 du LaunchPad.





A bientôt...

Partager avec...