Authentification “autonome”
Ce ticket se sépare en deux parties couvrant les besoins à plus long terme.
Remontée de données
L'application doit pouvoir stocker les données sur un serveur distant en utilisant une connexion ssh.
-
La remontée de données peut être configurée en fournissant avant le build :
- les données de connexion ssh :
- url du serveur ssh
- nom d'utilisateur sur le serveur
- informations d'authentification
- une clé privée de l'utilisateur
- et/ou mot de passe de l'utilisateur
- chiffrage des données
- GPG
- clé publique du serveur pour un chiffrage gpg (embarquée)
- clé privée de l'application pour déchiffrage gpg (conservée par les chercheurs)
- ou mot de passe pour l'ouverture d'un fichier zip
- GPG
- les données de connexion ssh :
- La connexion au serveur se fait en ssh de préférence avec une clé privée mais permet l'utilisation d'un mot de passe
-
Chiffrage des données
- Les données sont chiffrées localement avant envoi sur le serveur de préférence en utilisant une librairie open source permettant le chiffrage/déchiffrage indépendamment de l'application (GPG est à privilégier).
- Pour faciliter le travail de chercheurs non informaticiens un fichier zip avec mot de passe peut être utilisé
-
Envoi des données : lors de la connexion au serveur, les fichiers présents sont listés pour savoir quels fichiers locaux ont déjà été envoyés. On envoie ceux qui ne sont pas encore présents.
- Idéalement une clé de hashage permet d'assurer la présence d'un fichier sur le serveur.
Redescente de données
- Une liste de comptes peut être envoyée à la tablette
- Un test complet peut être envoyé à la tablette Pour cela l'application recherchera dans un dossier spécifier du serveur (éventuellement lié à la version de l'application) et déchiffrera localement les données json chiffrées.