MEGA : le dossier

Kim Dotcom l'avait annoncé, la vraie première différence de MEGA sera dans le chiffrement des donnés côté client. Tout comme Wuala indique le faire, ou comme vous pouvez vous même le mettre en place sur d'autres services via EncFS ou BoxCryptor (voir notre dossier), vos données sont tout d'abord rendues illisibles puis envoyées sur les serveurs.

Une manière de se protéger en cas de faille de sécurité, mais aussi de s'assurer qu'aucun employé de MEGA ou qu'aucune personne pouvant avoir un jour accès à vos données ne pourra lire les fichiers que vous avez mis en ligne. Cela empêchera par contre aussi la diffusion sous forme de streaming, qui plaisait tant dans l'ex-Megaupload.

La question du chiffrement côté client revient sur le devant de la scène

Dans le cas de Dropbox par exemple, c'est un chiffrement symétrique AES-256 qui est utilisé côté serveur. Cela signifie que Dropbox dispose des clefs de vos fichiers et peut donc y accéder s'il le souhaite. Si le service indique clairement dans ses conditions d'utilisation et sa politique de sécurité que cela ne sera jamais le cas, tout repose sur la confiance que vous accordez à la société, à ses partenaires et au pays dont il dépend légalement.

Chiffrement symétrique

Chiffrement symétrique / Crédits : Roumanet - Wikipédia

  

Si pour vos photos de vacances cela est n'est pas un problème, pour une PME qui stocke des données confidentielles, cela est une autre affaire. Reste qu'il faudra voir si une telle entité choisira un prestataire au passé sulfureux comme MEGA pour une telle pratique, ce qui en l'état actuel des choses semble peu probable. Il faudra sans doute que le site montre patte blanche pendant un certain temps avant de pouvoir éventuellement voir arriver de tels clients.

MEGA : une combinaison de chiffrement symétrique et asymétrique

Dans la pratique, chacun de vos fichiers et dossiers sont protégés via un algorithme de chiffrement symétrique, l'AES-128. Un choix justifié par l'équipe par le besoin de trouver un bon compromis entre sécurité et puissance de nos machines. Il faut dire que tout passe actuellement par le langage Javascript, qui n'est pas forcément celui qui exploite nos CPU ou leurs capacités de la manière la plus efficace. Mais les développeurs indiquent qu'ils exploiteront l'API HTML5 WebCrypto dès que possible, celle-ci devant être plus performante. Notez que dans le cas des fichiers, aux 128 bits de la clef se rajoutent 64 bits supplémentaires permettent de vérifier l'intégrité et 64 autres qui sont une composante aléatoire.

Ainsi, seule la personne disposant de la clef d'un fichier (unique pour chacun) sera capable de le télécharger. Par défaut, ce sera uniquement vous, mais vous aurez la possibilité de la partager comme nous le verrons un peu plus loin. L'ensemble des clefs est stocké au sein de votre compte sur les serveurs de MEGA mais protégé par une clef principale (Master key). Elle-même est chiffrée, sa clef étant une empreinte (hash) calculée à l'aide de votre login et de votre mot de passe.

  MEGA politique confidentialité

Mais tout cela peut paraître complexe et MEGA se veut simple et cherche à rendre l'ensemble le plus transparent possible pour l'utilisateur. Sachez seulement que si vous perdez le mot de passe de votre compte, il sera impossible d'accéder à vos fichiers puisqu'il a été utilisé pour les protéger. Il sera aussi impossible d'en changer ou de le récupérer via un formulaire pour le moment, et le service ne pourra rien faire pour vous aider, n'ayant pas accès à vos données en clair. Cela devrait néanmoins changer rapidement.

On regrettera au passage qu'il soit impossible de fermer un compte pour le moment, ou même de révoquer les accès précédent, afin de pouvoir éviter tout problème si votre mot de passe venait à être découvert.

Le chiffrement asymétrique utilisé pour la communication et le partage des dossiers

Dès votre première connexion, c'est une paire de clefs de chiffrement asymétrique qui sera créée. Là encore, MEGA a décidé de ne pas choisir l'algorithme le plus lourd puisque c'est le RSA 2048 bits qui est utilisé. Vos clefs seront une combinaison des informations que vous avez fourni lors de votre première connexion, mais aussi d'une part aléatoire renforcée par le comportement de votre clavier et de votre souris pendant sa création. Un point qui a été vite critiqué, mais sur lequel MEGA promet qu'il sera bientôt possible de renforcer les choses si l'utilisateur le souhaite.

Une telle pratique n'a rien de nouveau puisqu'elle est déjà utilisée pour la signature et le chiffrement des e-mails via OpenPGP ou S/MIME par exemple, mais aussi dans le cadre du protocole de communications Off-The-Record (OTR) qui peut être utilisé avec certains clients (Pidgin OTRJitsiGibberbot...) afin de protéger les discussions via Facebook Messenger, Google Talk, WLM... Dans MEGA, ce sera utilisé notamment pour le partage de dossiers et la communication avec des tiers, comme nous l'étudierons plus loin.

Chiffrement asymétrique

Chiffrement asymétrique / Crédits :  Roumanet - Wikipédia

Pour rappel, dans le cadre de la cryptographie asymétrique vous disposez d'une clef privée et d'une clef publique. La première est précieuse et ne doit pas être divulguée. C'est elle qui vous permet de déchiffrer les données de manière à être le seul à pouvoir y accéder par la suite, mais aussi de signer un contenu afin que l'on puisse vérifier que vous en êtes l'auteur.

Une clef publique a par contre vocation à être largement distribuée puisqu'elle permet à un tiers de chiffrer des données afin que vous soyez le seul à pouvoir les lire, mais aussi d'authentifier la source d'un contenu. Ainsi, si vous signez un message, votre clef publique permettra de vérifier que vous en êtes à l'origine. Pour plus de détails sur ces procédures, vous pouvez consulter cette page.

Votre mot de passe devient vital, attention aux clefs stockées dans votre navigateur

Comme précédemment, ces clefs sont stockées sur les serveurs de MEGA et la privée est protégée par la master key. Lorsque vous vous connectez à votre compte MEGA depuis un navigateur, cette paire de clefs est donc récupérée et stockée au sein du Session Storage. Une zone qui sera détruite à la fermeture de votre fenêtre.

MEGA Session Storage Keys

Les paramètres privk et pubk contiennent votre paire de clefs

Attention néanmoins, celle-ci peut être récupérée par n'importe qui ayant accès à votre machine lorsque vous êtes connecté. Prenez donc toujours garde à vous déconnecter et à fermer toutes vos fenêtres MEGA avant de quitter votre poste. Un souci qui est inhérent au fonctionnement à l'intérieur d'un navigateur et que l'on espère voir disparaître avec l'arrivée des premières applications que ce soit pour PC fixe, smartphone ou tablette.

MEGA vous promet la sécurité, mais est-elle au rendez-vous ?

On pourrait aussi imaginer que MEGA vous fournisse votre clef privée puis vous demande de la fournir de manière récurrente. Mais cela pourrait largement complexifier les choses et favoriser les cas de perte de cette clef. Il s'agit là encore sans doute de faire un choix entre la sécurité la plus complexe et le confort d'utilisation.

Quoi qu'il en soit, il sera intéressant de voir les analyses qui seront faites dans les jours à venir par les différents experts. Certains mettent déjà en cause les bibliothèques Javascript utilisées par MEGA ou même le niveau du chiffrement utilisé (et sa part aléatoire qui serait moins complexe qu'annoncé). D'autres trouvent déjà des failles XSS au sein du site...

L'équipe de développement a rapidement corrigé les premiers soucis remonté puis répondu en détail aux différentes critiques. On s'étonne tout de même qu'une analyse plus sérieuse n'ait pas été effectuée en amont, même si le fait de ne pas compiler / minifier le code Javascript utilisé aide aux différentes analyses.

par David Legrand Publiée le 23/01/2013 à 09:09