URL: https://linuxfr.org/news/cloud-kee-pass-version-meme-pas-encore-alpha Title: Cloud Kee Pass - version « même pas encore alpha » Authors: ondex2 Jarvis, Ontologia, palm123, Nicolas Casanova et jcr83 Date: 2014年02月04日T20:15:53+01:00 License: CC By-SA Tags: firefox Score: 13 Tout le monde a un jour eu quelques difficultés de se souvenir d'un de ses mots de passe. Cloud Kee Pass est un nouveau projet personnel permettant de stocker ceux-ci de manière sécurisée. NdM : merci à ondex2 pour son journal. ---- [Journal à l'origine de la dépêche](http://linuxfr.org/users/ondex2/journaux/cloud-kee-pass-version-meme-pas-encore-alpha) ---- Plop à tous ! Je travaille depuis 2 mois à une petite application web, et je pense qu’il est temps de publier les sources car elle devient utilisable. # Problématique # Comme tous les gens sensés, j’utilise un mot de passe par site Internet/application/clé SSH/... Mais comme j’ai une mémoire de poisson rouge, j’ai besoin d’un « truc » pour se souvenir à ma place de tous ces mots de passe. Pendant longtemps, j’ai utilisé un logiciel propriétaire bien connu qui était disponible sur mon iOrdinateur et mon iTéléphone (ouais, je sais, çapucépalibre). Ce logiciel exportait une version HTML que je pouvais rsync’er de manière régulière sur mon serveur. Ce logiciel, aussi bien soit il, a deux inconvénients majeurs selon moi : pas possible d’éditer en ligne (application web) et pas de synchronisation automatique entre ordinateur et smartphone sauf à passer par Dropbox ou iNuage (hors de questions pour moi). # Solution # J’ai donc décidé de développer ma petite solution maison. Pour commencer, j’ai choisi d’utiliser un format de stockage bien connu et largement utilisé : KeePass Database (format KeePass 2). Pour ce format de fichier, je peux utiliser le logiciel approprié sur mon iOrdinateur et j’ai trouvé une chouette application pour mon iTéléphone. Tout ça enregistre directement sur un partage Webdav sur mon serveur, donc pour la synchronisation, c’est parfait. Il reste donc la partie application web à développer. ☞ https://github.com/rledisez/CloudKeePass (TADA !) # État actuel # La lecture du fichier me semble opérationnelle, je n’ai pas rencontré de bug majeur. Il reste quelques fonctionnalités à implémenter (ex: téléchargement des binaires intégrés au fichier), mais pour un usage classique, ça fonctionne déjà très bien. Le déchiffrement par clé n’est pas possible. Le code existe, mais comme il n’est pas testé, je masque la fonctionnalité dans l’interface. L’édition n’est pas encore implémentée, même pas un tout petit peu (oui, c’était quand même l’une des raisons pour lesquelles j’ai commencé ce projet). C’est testé avec Chromium, Firefox et Safari. Quand j’aurai le temps, je monterai une VM Windows pour tester IE 10. IE 9 et antérieur, passez votre chemin (faut pas pousser quand même). # Comment ça marche # L’application web est en pur JavaScript, développée avec le framework SproutCore. J’utilise des bibliothèques JS bien connues en plus de SproutCore : CryptoJS, jDataview/jParser, ZeroClipboard, zlib.js et une implémentation de Salsa20. J’ai développé le déchiffrement du fichier KDB (KeePass Database) en utilisant ces bibliothèques. Le déchiffrement se fait dans un WebWorker pour ne pas geler le navigateur pendant l’opération qui peut prendre quelques secondes. Pour copier un mot de passe il faut cliquer dessus. Cela se fait via ZeroClipboard qui pose un applet Flash invisible au dessus du mot de passe. Je n’aime pas l’idée de passer par Flash, mais c’est infaisable en pur JS. # Comment tester # Vous pouvez récupérer les sources sur github et les compiler après avoir installé SproutCore (http://sproutcore.com/install/). Il ne vous reste plus qu’à mettre en ligne le résultat de la compilation (http://wiki.sproutcore.com/w/page/12412888/Deployment-Introduction) Vous pouvez aussi utiliser la version que j’ai généreusement mise en ligne pour vous : http://web.ledisez.net/CloudKeePass/ Une fois l’application chargée dans votre navigateur, entrez l’URL de votre fichier KDB ou glissez-le de votre disque dur vers le champ URL. Tapez votre passphrase et amusez vous. (note : les entêtes CORS peuvent vous jouer des tours... C’est pas ma faute, corrigez la conf de votre serveur) Une fois l’application chargée dans votre navigateur, AUCUNE requête n’est envoyée vers le serveur hébergeant l’application (bon, des fois une image qui n’était pas encore chargée, mais promis, rien de plus) Si vous voulez utiliser un fichier de test, utilisez celui ci : URL : http://web.ledisez.net/Test.kdbx Passphrase : azerty # Et après ? # Ben finir d’implémenter toutes les fonctions de lecture, bien débugger et sortir la version alpha 0.1. En vrac : * s’occuper des TODO et des FIXME * téléchargement des fichiers embarqués * activer la traduction * peaufiner le glisser/déposer sur la page de login * optimiser l’ensemble (c’est assez lent je trouve) Ensuite, travailler sur l’édition du fichier avec deux possibilités : 1. Le fichier provient d’une URL, alors il faut vérifier si le fichier est sur un partage Webdav et mettre à jour le fichier 2. Le fichier vient du disque dur par glisser-déposer, alors il faut générer un téléchargement du nouveau fichier Ca fait beaucoup de boulot encore, et comme toujours, les contributions sont les bienvenues. Merci de votre attention, vous pouvez éteindre votre ordinateur et reprendre une activité normale.

AltStyle によって変換されたページ (->オリジナル) /