Bonjour à tous,
Depuis plusieurs semaines, je travaille sur un nouveau plugin permettant d’ajouter le chiffrement OMEMO (XEP-0384) directement dans le client Spark.
L’objectif n’était pas simplement d’ajouter une couche de chiffrement, mais de proposer une intégration native dans l’interface de Spark, sans ouvrir une seconde fenêtre de discussion.
Aujourd’hui, le projet est suffisamment avancé pour être présenté à la communauté.
Fonctionnalités actuelles
-
Chiffrement OMEMO de bout en bout.
-
Intégration directement dans les conversations Spark.
-
Cadenas d’activation OMEMO dans chaque discussion.
-
Découverte automatique des appareils OMEMO.
-
Publication automatique des appareils.
-
Établissement automatique des sessions OMEMO.
-
Chiffrement automatique des messages.
-
Déchiffrement automatique des messages reçus.
-
Compatible Spark 3.0.2.
-
Basé sur Smack 4.4.6.
-
Tests d’interopérabilité réalisés avec Monal (iOS).
L’utilisateur continue d’utiliser Spark normalement. Lorsqu’OMEMO est activé, les conversations deviennent simplement chiffrées.
Distribution
Le plugin est disponible sous forme de binaire sur GitHub.
Je tiens également à remercier les équipes d’Ignite Realtime ainsi que les développeurs de Smack pour le travail réalisé autour de Spark et de l’écosystème XMPP.
Merci d’avance à toutes les personnes qui prendront le temps de tester le plugin et de partager leurs retours !
LinkedIn:
https://www.linkedin.com/company/avhiral
David Pilato
Directeur Général – AVHIRAL
Cybersecurity • Secure Communications • XMPP Security
avhiral-omemo.jar (1,4 Mo)
1 Like
Merci David !
C’est une excellente nouvelle ! La demande de fonctionnalité SPARK-1866 est enregistrée dans JIRA et si vous l’avez déjà implémentée, ce serait formidable.
Pourriez-vous partager le code source du dépôt GitHub ? Si vous acceptez de le publier sous licence Apache 2, je pourrai intégrer le plugiciel à la distribution Spark.
L’application aTalk pour Android est également basée sur la bibliothèque Smack et intègre la dernière version d’OMEMO. Son auteur a soumis de nombreuses demandes d’extraction à Smack, mais aucune n’a encore été fusionnée (Issues · igniterealtime/Smack · GitHub). J’aimerais donc copier et migrer le code d’aTalk pour la prochaine version.
La prochaine version de Spark nécessitera Java 11 comme prérequis minimal et Smack 4.5. Les anciens plugiciels ne seront donc pas compatibles. Si vous pouvez partager le code, je pourrai le migrer vers la dernière version de Spark.
English
Thank you, David!
This is a great news, the JIRA has the feature request SPARK-1866 and if you already implemented it then this would be just great.
Could you share source code in the repository on GitHub? If you are fine to make it under the Apache 2 license then I can include the plugin to the Spark distribution.
The aTalk for Android is also based on the Smack library and it has the latest OMEMO implemented. Its author sent many PRs to the Smack but non of them were merged yet Issues · igniterealtime/Smack · GitHub
So I wanted to copy and migrate the code from the aTalk in next release.
The upcoming Spark version will use the Java 11 as minimal requirement and the Smack 4.5 so old plugins won’t work. If you can share the code then I can migrate it to the latest Spark.
Je prépare un autre plugin pour utiliser spark en téléphone & visio, mais assez complexe.
J’ai mis à jour le GitHub l’archive ZIP (sources) :
Le plugin fonctionne en communication de Spark vers un téléphone avec l’appli “Conversations” sur Android, ou “Siskin IM” sur Iphone, en faite le chiffrage OMEMO est synchronisé.