URL: https://linuxfr.org/users/anonyme/journaux/qraidcode-stocker-des-donnees-securisee-sur-qrcodes Title: QRaidCODE, stocker des données sécurisée sur qrcodes Authors: Anonyme Date: 2014年10月25日T16:57:19+02:00 License: CC By-SA Tags: qrcode, docker, reed-solomon, stockage, sauvegarde, chiffrement et sécurité Score: 24 Il y a [un peu plus d'un an de ça](https://goldy.furry.fr/article8/presentation-de-qraidcode), j'ai travaillé sur une application web de stockage de données sur qrcode utilisant un système proche du Raid des disques dur permettant de proposer à l'utilisateur de stocker des données sur une série de qrcode et de pouvoir n'utiliser qu'une fraction de ces qrcodes pour récupéré ses données. À l'époque, il s'agissait d'une application web qu'il était compliqué de déployer car nécessitant quelques binaires et notamment une version patché de [zbarimg](http://zbar.sourceforge.net/), j'avais l'idée de porter l'application en nodejs et faire une interface avec nodewebkit, mais je n'ai pas trouvé le temps et la motivation. Malgré ma fainéantise, docker me permet aujourd'hui de distribuer une version libre et fonctionnelle de l'application et de la proposer à tout un chacun pour jouer avec. La genèse du projet était de trouver un moyen de stocker des données importante sur le long terme comme un portefeuille de cryptomonnaie, une clé privé, etc, de permettre de distribuer le stockage des données entre plusieurs lieux ou personnes et de pouvoir récupérer ces données après une longue période de temps alors même qu'une fraction des qrcodes aurait été perdue. Les données sont chiffrées sur les qrcodes et il n'est pas possible d'accéder partiellement aux données avec un seul qrcode. D'un point de vu technique, il s'agit des mêmes algorithmes mis en œuvre dans le RAID 6, à savoir Reed-solomon, le développement de ce projet m'a été très formateur d'un point de vu mathématique, les corps de Galois utilisés pour calculer les données de parités ont des propriétés étonnantes. L'[implémentation d'origine en PHP](https://github.com/cmehay/qraidcode_php) est disponible sur github, le projet est lourd car il est livré avec des matrices pré-calculées afin d'accélérer le codage et le décodage des données. Le [Dockerfile](https://github.com/cmehay/qraidcode_docker) est également disponible sur github et un [container](https://registry.hub.docker.com/u/goldy/qraidcode/) précompilé de l'application sur le hub docker. Il existe quelques limitations actuellement, il n'est pas possible de créer plus de 256 qrcodes (255 dans l'implémentation actuelle, un bug dont je n'ai pas identifié l'origine se produit lorsque l'on cherche à décoder 256 qrcodes), et la taille des données que l'on peut stocker au maximum n'est pas très importante (740 096 octets sans parités), une version permettant d'aller jusqu'à 65 536 qrcodes est définit mais pas encore implémentée (les matrices nécessaires au calcul prendrait plus de 4Go de ram et le temps de calcul pourrait être très important, limitant sont intérêt). Le format est spécifié sur [le billet](https://goldy.furry.fr/article8/presentation-de-qraidcode) que j'avais publié l'année dernière. Il existe [une démo](https://qraidcode.furry.fr) sur un serveur pas très costaux avec un certificat auto-signé (ne pas l'utiliser avec des données sensibles). Si vous décidez d'héberger une instance derrière un proxy inverse, prenez garde au timeout qui peuvent se produire lors de la manipulation d'un nombre important de qrcodes. La licence du projet est la MIT licence. Toutes les contributions et commentaires sont les bienvenues bien entendu :)

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