Ven 19/07/2013 - Actualités

Xavier
Administrateur du site
Messages : 817
Enregistré le : mer. 22 juin 2011 18:25

Ven 19/07/2013 - Actualités

Message non lu par Xavier »

Protection des Identifiants


Il est désormais possible de vérifier le mot de passe saisi, utile si celui-ci est compliqué :
PasswordCheck.png
L'intégration du cryptage dans les Identifiants est terminée.
A l'ouverture, si le mot de passe n'a pas été saisi, les dossiers non protégés sont accessibles, mais cliquer sur un dossier protégé déclenche la demande de mot de passe :
Locked.png
Après sa saisie, tous les dossiers cryptés sont accessibles, ils restent identifiables grâce à leur icône contenant une marque rouge :
Unlocked.png
Si le dossier parent est crypté, il n'est pas possible de décrypter un dossier enfant :
PopupMenu.png

Problème de fond

XMo a écrit : Dans XT4 :
  • Il n'y a qu'un seul fichier représentant un arbre de données hiérarchisées.
  • Par contre, la granularité du cryptage est le dossier, ce qui fait que l'arbre est potentiellement partiellement crypté.
  • Afin de permettre d'accéder aux dossiers non cryptés sans avoir à saisir le mot de passe, il a été nécessaire d'implémenter un système opposé : XT4 manipule donc en mémoire les données telles qu'elles sont stockées sur disque, et les décrypte lorsque c'est nécessaire. C'était LA décision qui était si difficile à prendre.
Cette décision n'a finalement peut être pas été la bonne. Il n'y a pas de problèmes avec les Properties grâce aux services GetProp et SetProp qui centralisent le cryptage, mais l'accès aux Texts cryptés a demandé de brancher du décryptage puis recryptage à une quinzaine d'endroits. Et il n'y a pas vraiment de factorisation possible sur ces Texts qui doivent être utilisables librement par chaque outil. Il n'est pas envisageable de reproduire cela dans tous les autres outils, dont le monstrueux Agenda. Bref, après ce premier outil cryptable, il s'avère que manipuler un arbre partiellement crypté et devoir décrypter/recrypter les données à chaque accès est particulièrement fastidieux.

Cette version va être sauvegardée, mais un prototype de cryptage hybride "XT3-XT4" va être tenté :
  • On autorise toujours la lecture d'un fichier partiellement crypté sans demande de mot de passe, et libre accès aux données non cryptées (mode XT4).
  • Par contre, dès l'accès à un dossier crypté et la saisie du mot de passe, la totalité des données cryptées est décryptée une fois pour toutes. Elles le restent même quand l'utilisateur verrouille l'application (mode XT3). Les outils ne manipulent donc que des données décryptées, leur seule contribution est la demande de mot de passe lors de l'accès à un dossier crypté.
Les impacts sur les performances seront à priori :
  • Petit lag à la première saisie du mot de passe, car décryptage récursif de toutes les données cryptées.
  • Par la suite, aucun lag lors de l'accès aux données protégées durant la session.
  • Si le mot depasse a été saisi et donc si les données sont décryptées en mémoire, petit lag à chaque sauvegarde des données, car l'arbre des données devra être dupliqué, l'arbre copié sera recrypté (partiellement) avant son écriture sur disque.
  • Actuellement, en mode XT4 pur, chaque accès aux données protégées provoque un micro-lag puisqu'elles sont décryptées puis recryptées en temps réel.
  • Impossible de prévoir lequel de ces deux mode sera le plus confortable à l'utilisation.
Côté développements, il faudra rajouter du code dans le Noyau pour gérer cela, mais cela devra être moins coûteux que de brancher le cryptage lors de chaque accès aux données de chaque outil.

Il ne devrait pas y avoir de différences de comportement "fonctionnel" par rapport à ce qui a été mise en place pour les Identifiants, les mêmes règles seront appliquées.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Denis
Messages : 180
Enregistré le : jeu. 23 juin 2011 09:21

Re: Ven 19/07/2013 - Actualités

Message non lu par Denis »

En effet, pas pratique. Du coup ton mode hybride parait la bonne solution. Mais c'est sans doute en l'implémentant + l'utilisant que tu sauras vraiment
Répondre